Skip to content

Commit

Permalink
export axiom types
Browse files Browse the repository at this point in the history
  • Loading branch information
schehata committed Jan 26, 2023
1 parent b7e1249 commit 4973079
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 5 deletions.
11 changes: 10 additions & 1 deletion src/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
export { reportWebVitals } from './webVitals';
export { log, Logger } from './logger';
export { withAxiom, AxiomAPIRequest, AxiomRequest } from './withAxiom';
export {
withAxiom,
withAxiomGetServerSideProps,
AxiomAPIRequest,
AxiomRequest,
AxiomGetServerSideProps,
AxiomApiHandler,
AxiomMiddleware,
AxiomGetServerSidePropsContext,
} from './withAxiom';
9 changes: 5 additions & 4 deletions src/withAxiom.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import {
} from 'next';
import { NextFetchEvent, NextMiddleware, NextRequest } from 'next/server';
import { NextMiddlewareResult } from 'next/dist/server/web/types';
import { ParsedUrlQuery } from 'querystring';
import { Logger, RequestReport } from './logger';
import { Rewrite } from 'next/dist/lib/load-custom-routes';
import { EndpointType } from './shared';
Expand Down Expand Up @@ -133,22 +134,21 @@ export function withAxiomNextApiHandler(handler: AxiomApiHandler): NextApiHandle
};
}

type ParsedUrlQuery = GetServerSidePropsContext['query'];
export type AxiomContext<
export type AxiomGetServerSidePropsContext<
Q extends ParsedUrlQuery = ParsedUrlQuery,
D extends PreviewData = PreviewData
> = GetServerSidePropsContext<Q, D> & { log: Logger };
export type AxiomGetServerSideProps<
P extends { [key: string]: any } = { [key: string]: any },
Q extends ParsedUrlQuery = ParsedUrlQuery,
D extends PreviewData = PreviewData
> = (context: AxiomContext<Q, D>) => Promise<GetServerSidePropsResult<P>>;
> = (context: AxiomGetServerSidePropsContext<Q, D>) => Promise<GetServerSidePropsResult<P>>;

export function withAxiomNextServerSidePropsHandler(handler: AxiomGetServerSideProps): GetServerSideProps {
return async (context) => {
const report: RequestReport = config.generateRequestMeta(context.req);
const logger = new Logger({}, report, false, 'lambda');
const axiomContext = context as AxiomContext;
const axiomContext = context as AxiomGetServerSidePropsContext;
axiomContext.log = logger;

try {
Expand Down Expand Up @@ -239,3 +239,4 @@ export function withAxiom(param: WithAxiomParam) {
return withAxiomNextEdgeFunction(param);
}
}
export const withAxiomGetServerSideProps = withAxiomNextServerSidePropsHandler;

0 comments on commit 4973079

Please sign in to comment.