ts-ag 1.1.26 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.d.ts +1 -2
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +3 -3
- package/dist/browser.js.map +1 -1
- package/dist/{cli-CoTTeqrl.mjs → cli-DAs6KeZ2.mjs} +1 -3
- package/dist/index.d.mts +48 -39
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +367 -271
- package/dist/index.mjs.map +1 -1
- package/dist/scripts/check-llrt-worker.mjs +642 -0
- package/dist/scripts/ts-alias.mjs +3 -5
- package/dist/scripts/ts-build-config.mjs +40 -18
- package/dist/utils-DLairfc9.mjs +15 -0
- package/dist/worker.d.mts +1076 -0
- package/dist/worker.d.mts.map +1 -0
- package/dist/worker.mjs +1660 -0
- package/dist/worker.mjs.map +1 -0
- package/package.json +10 -3
- package/dist/cli-CoTTeqrl.mjs.map +0 -1
- package/dist/fs-y6bE7U3-.mjs +0 -40
- package/dist/fs-y6bE7U3-.mjs.map +0 -1
- package/dist/scripts/ts-alias.d.mts +0 -31
- package/dist/scripts/ts-alias.d.mts.map +0 -1
- package/dist/scripts/ts-alias.mjs.map +0 -1
- package/dist/scripts/ts-build-config.d.mts +0 -49
- package/dist/scripts/ts-build-config.d.mts.map +0 -1
- package/dist/scripts/ts-build-config.mjs.map +0 -1
package/dist/browser.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as v from "valibot";
|
|
2
1
|
import { GenericSchema, GenericSchemaAsync } from "valibot";
|
|
3
2
|
import { Plugin } from "unified";
|
|
4
3
|
import { APIGatewayProxyEventV2WithLambdaAuthorizer, APIGatewayProxyResultV2, Context } from "aws-lambda";
|
|
@@ -149,7 +148,7 @@ type HTTPMethod$1 = (typeof HTTPMethods$1)[number];
|
|
|
149
148
|
type ApiRequestFunction<API extends ApiEndpoints> = <Path extends API['path'], Method extends Extract<API, {
|
|
150
149
|
path: Path;
|
|
151
150
|
}>['method']>(path: Path, method: Method, input: ApiInput<API, Path, Method>, headers?: HeadersInit) => Promise<ApiResponse<API, Path, Method>>;
|
|
152
|
-
type ApiSchema =
|
|
151
|
+
type ApiSchema = GenericSchema | GenericSchemaAsync;
|
|
153
152
|
/**
|
|
154
153
|
* @returns A function that can be used to make API requests with type safety
|
|
155
154
|
* @example const clientApiRequest = createApiRequest<ApiEndpoints>();
|
package/dist/browser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","names":["Data","Point","line","column","offset","Position","start","end","Literal","Node","value","type","data","position","Parent","children","Data","UnistData","Literal","UnistLiteral","Node","UnistNode","Parent","UnistParent","Properties","Array","PropertyName","ElementContent","ElementContentMap","Comment","Element","Text","comment","element","text","RootContent","RootContentMap","Doctype","doctype","Content","Literals","Nodes","Extract","Root","Parents","data","value","children","CommentData","type","DoctypeData","ElementData","tagName","properties","content","RootData","TextData"],"sources":["../src/lambda/handlerUtils.ts","../src/lambda/client-types.ts","../src/lambda/client.ts","../node_modules/.pnpm/@types+unist@3.0.3/node_modules/@types/unist/index.d.ts","../node_modules/.pnpm/@types+hast@3.0.4/node_modules/@types/hast/index.d.ts","../src/rehype/flat-toc.ts","../src/types/deep.ts","../src/types/safe.ts","../src/utils/valibot.ts","../src/utils/object.ts"],"x_google_ignoreList":[3,4],"mappings":"
|
|
1
|
+
{"version":3,"file":"browser.d.ts","names":["Data","Point","line","column","offset","Position","start","end","Literal","Node","value","type","data","position","Parent","children","Data","UnistData","Literal","UnistLiteral","Node","UnistNode","Parent","UnistParent","Properties","Array","PropertyName","ElementContent","ElementContentMap","Comment","Element","Text","comment","element","text","RootContent","RootContentMap","Doctype","doctype","Content","Literals","Nodes","Extract","Root","Parents","data","value","children","CommentData","type","DoctypeData","ElementData","tagName","properties","content","RootData","TextData"],"sources":["../src/lambda/handlerUtils.ts","../src/lambda/client-types.ts","../src/lambda/client.ts","../node_modules/.pnpm/@types+unist@3.0.3/node_modules/@types/unist/index.d.ts","../node_modules/.pnpm/@types+hast@3.0.4/node_modules/@types/hast/index.d.ts","../src/rehype/flat-toc.ts","../src/types/deep.ts","../src/types/safe.ts","../src/utils/valibot.ts","../src/utils/object.ts"],"x_google_ignoreList":[3,4],"mappings":"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"}
|
package/dist/browser.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { parse, stringify } from "devalue";
|
|
2
|
-
import
|
|
2
|
+
import { parse as parse$1, parseAsync } from "valibot";
|
|
3
3
|
import rehypeParse from "rehype-parse";
|
|
4
4
|
import { unified } from "unified";
|
|
5
5
|
import { isEqual, isObject } from "radash";
|
|
@@ -22,8 +22,8 @@ const bodyMethods = [
|
|
|
22
22
|
];
|
|
23
23
|
const queryMethods = ["GET", "DELETE"];
|
|
24
24
|
async function _apiRequest(path, method, input, schema, environment, apiUrl, headers) {
|
|
25
|
-
if (schema) if (schema.async === true) await
|
|
26
|
-
else
|
|
25
|
+
if (schema) if (schema.async === true) await parseAsync(schema, input);
|
|
26
|
+
else parse$1(schema, input);
|
|
27
27
|
let url = `${apiUrl}${apiUrl.endsWith("/") ? "" : "/"}${path}`;
|
|
28
28
|
if (queryMethods.includes(method)) {
|
|
29
29
|
const params = new URLSearchParams();
|
package/dist/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","names":[],"sources":["../src/lambda/client-types.ts","../src/lambda/client.ts","../src/lambda/handlerUtils.ts","../src/rehype/flat-toc.ts","../src/utils/valibot.ts","../src/utils/object.ts"],"sourcesContent":["import type { ErrorBody, SuccessCode, ErrorCode } from './handlerUtils.js';\n\n// ----------------- Helpers ----------------------\n// Used to easily extract types from ApiEndpoints types\n\n/**\n * Extracts the requestInput type from an API endpoint definition\n * @template E - Union type of all API endpoints\n * @template P - Path string literal type (e.g. 'payments/account')\n * @template M - HTTP method string literal type (e.g. 'GET', 'POST')\n */\nexport type ApiInput<E extends ApiEndpoints, P extends E['path'], M extends E['method']> = Extract<\n E,\n { path: P; method: M }\n>['requestInput'];\n\n/**\n * Extracts the requestOutput type from an API endpoint definition\n * @template E - Union type of all API endpoints\n * @template P - Path string literal type (e.g. 'payments/account')\n * @template M - HTTP method string literal type (e.g. 'GET', 'POST')\n */\nexport type ApiOutput<E extends ApiEndpoints, P extends E['path'], M extends E['method']> = Extract<\n E,\n { path: P; method: M }\n>['requestOutput'];\n\n/**\n * Extracts the response type from an API endpoint definition\n * @template E - Union type of all API endpoints\n * @template P - Path string literal type (e.g. 'payments/account')\n * @template M - HTTP method string literal type (e.g. 'GET', 'POST')\n */\nexport type ApiResponse<E extends ApiEndpoints, P extends E['path'], M extends E['method']> = Extract<\n E,\n { path: P; method: M }\n>['response'];\n\n/**\n * Extracts the sucessful body type from an API endpoint definition\n * @template E - Union type of all API endpoints\n * @template P - Path string literal type (e.g. 'payments/account')\n * @template M - HTTP method string literal type (e.g. 'GET', 'POST')\n */\nexport type ApiSuccessBody<E extends ApiEndpoints, P extends E['path'], M extends E['method']> = Extract<\n Extract<E, { path: P; method: M }>['response'],\n { status: SuccessCode }\n>['json'] extends () => Promise<infer R>\n ? R\n : unknown;\n\n/**\n * Extracts the sucessful body type from an API endpoint definition\n * @template E - Union type of all API endpoints\n * @template P - Path string literal type (e.g. 'payments/account')\n * @template M - HTTP method string literal type (e.g. 'GET', 'POST')\n */\nexport type ApiErrorBody<E extends ApiEndpoints, P extends E['path'], M extends E['method']> = Extract<\n Extract<E, { path: P; method: M }>['response'],\n { status: ErrorCode }\n>['json'] extends () => Promise<infer R>\n ? R\n : unknown;\n\n/**\n * Converts a RawApiGatewayHandler response type to a fetch like response type.\n */\ntype ConvertToFetch<T> = T extends { statusCode: number; body: object; headers: object }\n ? { ok: T['statusCode'] extends SuccessCode ? true : false; json: () => Promise<T['body']>; status: T['statusCode'] }\n : T;\n\nexport type CleanResponse = Omit<Response, 'status' | 'ok' | 'json'>;\nexport type FetchResponse<T extends (...args: any) => any> = ConvertToFetch<Awaited<ReturnType<T>>> & CleanResponse;\n\n// ------------------------ Proper types ------------------\n// This is used by createApiRequest and createFormFunction\n\nexport const HTTPMethods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS', 'HEAD'] as const;\nexport type HTTPMethod = (typeof HTTPMethods)[number];\n\nexport type ApiEndpoints = {\n path: string;\n method: HTTPMethod;\n requestInput: Record<string, any> | null;\n requestOutput: object | null;\n response: FetchResponse<\n // This means we get better types\n () => Promise<\n | { headers: object; statusCode: SuccessCode; body: any }\n | { headers: object; statusCode: ErrorCode; body: ErrorBody }\n >\n >;\n};\n","// import { deserialize } from './deserializer.js';\nimport { parse } from 'devalue';\nimport * as v from 'valibot';\n\nimport type { ApiEndpoints, ApiInput, ApiResponse } from './client-types.js';\n\nconst bodyMethods = ['POST', 'PUT', 'PATCH'] as const;\nconst queryMethods = ['GET', 'DELETE'] as const;\n\nasync function _apiRequest<T = Response>(\n path: string,\n method: 'GET' | 'POST' | 'DELETE',\n input: object | null,\n schema: ApiSchema,\n // This was here because of the deserializer being different in prod\n environment: string | 'production',\n apiUrl: string,\n headers?: HeadersInit\n): Promise<T> {\n if (schema) {\n if (schema.async === true) await v.parseAsync(schema, input);\n else v.parse(schema, input);\n }\n\n let url = `${apiUrl}${apiUrl.endsWith('/') ? '' : '/'}${path}`;\n\n if (queryMethods.includes(method as any)) {\n const params = new URLSearchParams();\n\n for (const [key, value] of Object.entries(input ?? {})) {\n if (Array.isArray(value)) {\n value.forEach((item) => params.append(key, String(item)));\n } else {\n params.append(key, String(value));\n }\n }\n\n const queryString = params.toString();\n if (queryString) url += `?${queryString}`;\n }\n\n headers = { 'Content-Type': 'application/json', ...headers };\n const response = await fetch(url, {\n method,\n headers,\n // oxlint-disable-next-line\n body: bodyMethods.includes(method as any) ? JSON.stringify(input) : undefined,\n credentials: 'include'\n });\n const contentType = response.headers.get('content-type') ?? '';\n\n let retrieved: Promise<string> | false = false;\n response.json = async () => {\n if (retrieved === false) {\n retrieved = response.text();\n }\n\n if (contentType === 'application/devalue') {\n return await parse(await retrieved);\n } else {\n return JSON.parse(await retrieved);\n }\n };\n return response as unknown as T;\n}\n\nconst HTTPMethods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS', 'HEAD'] as const;\ntype HTTPMethod = (typeof HTTPMethods)[number];\n\nexport type ApiRequestFunction<API extends ApiEndpoints> = <\n Path extends API['path'],\n Method extends Extract<API, { path: Path }>['method']\n>(\n path: Path,\n method: Method,\n input: ApiInput<API, Path, Method>,\n headers?: HeadersInit\n) => Promise<ApiResponse<API, Path, Method>>;\n\nexport type ApiSchema = v.GenericSchema | v.GenericSchemaAsync;\n\n/**\n * @returns A function that can be used to make API requests with type safety\n * @example const clientApiRequest = createApiRequest<ApiEndpoints>();\n */\nexport function createApiRequest<API extends ApiEndpoints>(\n schemas: Partial<Record<API['path'], Partial<Record<HTTPMethod, ApiSchema>>>>,\n apiUrl: string,\n env: string\n): ApiRequestFunction<API> {\n return async function apiRequest(path, method, input, headers) {\n const schema = schemas[path]?.[method];\n if (schema === undefined) throw new Error('Schema is undefined in api request');\n\n // if (typeof schema === 'function') {\n // schema = schema();\n // }\n\n return _apiRequest<ApiResponse<API, typeof path, typeof method>>(\n path as string,\n method as 'GET' | 'POST',\n input,\n schema,\n env,\n apiUrl,\n headers\n );\n };\n}\n","import type { APIGatewayProxyResultV2, Context, APIGatewayProxyEventV2WithLambdaAuthorizer } from 'aws-lambda';\nimport { stringify } from 'devalue';\n\nexport type SuccessCode = 200 | 201 | 204;\nexport type ErrorCode = 400 | 401 | 403 | 404 | 409 | 500;\n\nexport type ErrorBody = { message: string; field?: { name: string; value: string } };\n\n/**\n * The error response for the lambda functions to return\n */\nexport type ErrorRawProxyResultV2 = {\n statusCode: ErrorCode;\n headers?: { [header: string]: string } | undefined;\n body?: ErrorBody;\n isBase64Encoded?: boolean | undefined;\n cookies?: string[] | undefined;\n};\n\nexport type OkRawProxyResultV2 = {\n statusCode: SuccessCode;\n headers?: { [header: string]: string } | undefined;\n body?: object | undefined;\n isBase64Encoded?: boolean | undefined;\n cookies?: string[] | undefined;\n};\n/**\n * A type for the raw proxy result - just using an object not a stirng for the body\n */\nexport type RawProxyResultV2 = ErrorRawProxyResultV2 | OkRawProxyResultV2;\n\n// The type of the handler returned from wrapHandler\nexport type APIGatewayHandler<E> = (event: E, context: Context) => Promise<APIGatewayProxyResultV2>;\n\n// The type of the handler passed into wrapHandler\nexport type RawApiGatewayHandler<E extends APIGatewayProxyEventV2WithLambdaAuthorizer<any>> = (\n event: E,\n context: Context\n) => Promise<RawProxyResultV2>;\n\n/**\n * Wraps a handler that returns the body as an object rather than a string.\n *\n * This means you can achieve proper type inference on your handler and have standardised serialisation\n *\n * @example\n```ts\nexport type AuthorizerContext = {\n details: JWTPayload;\n} | null;\n\nexport const wrapHandler = baseWrapHandler<APIGatewayProxyEventV2WithLambdaAuthorizer<AuthorizerContext>>\n\n*/\nexport function wrapHandler<E extends APIGatewayProxyEventV2WithLambdaAuthorizer<any>>(\n handler: RawApiGatewayHandler<E>\n): APIGatewayHandler<E> {\n return async (event: E, context: Context): Promise<APIGatewayProxyResultV2> => {\n const result = await handler(event, context);\n\n if (result.body) {\n const headers = new Headers(result.headers);\n headers.set('Content-Type', 'application/devalue');\n\n return { ...result, headers: Object.fromEntries(headers), body: stringify(result.body) };\n } else {\n return { ...result, body: undefined };\n }\n };\n}\n","import type { Root, RootContent, Element } from 'hast';\nimport rehypeParse from 'rehype-parse';\nimport type { Plugin } from 'unified';\nimport { unified } from 'unified';\nimport type { VFile } from 'vfile';\n\n/**\n * This rehype plugin extracts the headings from the markdown elements but also the raw elements.\n * So we get html headings in the TOC as well\n *\n * It sets the file.data.fm.toc to a flat map of the toc\n */\nexport const extractToc: Plugin<[], Root> = () => {\n return (tree: Root, file: VFile) => {\n const details = tree.children.flatMap(extractDetails);\n if (file.data.fm === undefined) file.data.fm = {};\n // @ts-expect-error its untyped but for svmdex it is there\n file.data.fm.toc = details;\n };\n};\nexport type Toc = TocEntry[];\nexport type TocEntry = { level: number; id: string; value: string };\n\nfunction extractDetails(content: RootContent | { type: 'raw'; value: string }): TocEntry[] {\n if (content.type === 'element' && content.tagName.startsWith('h') && 'id' in content.properties) {\n const value =\n content.children.length === 1 && content.children[0].type === 'text'\n ? content.children[0].value\n : (content.properties.id as string);\n\n return [{ level: parseInt(content.tagName.slice(1)), id: content.properties.id as string, value }];\n } else if (content.type === 'raw') {\n const parsed = parseRaw(content.value);\n return parsed.flatMap(extractDetails);\n }\n return [];\n}\n\n/**\n * Parses raw HTML and returns a flat array of all heading (h1-h6) elements as HAST nodes.\n */\nexport function parseRaw(raw: string): Element[] {\n // Parse the HTML string into a HAST Root node\n const tree = unified()\n .use(rehypeParse, { fragment: true }) // allow parsing HTML fragments\n .parse(raw) as Root;\n\n // Helper function to recursively find heading elements\n function collectHeadings(node: RootContent): Element[] {\n if (node.type === 'element' && /^h[1-6]$/.test(node.tagName)) {\n return [node];\n }\n // Check children recursively\n if ('children' in node && Array.isArray(node.children)) {\n return node.children.flatMap(collectHeadings);\n }\n return [];\n }\n\n // Flatten all headings found in the tree\n return tree.children.flatMap(collectHeadings);\n}\n","import type { GenericSchema, GenericSchemaAsync } from 'valibot';\n\nexport function isSchema(x: unknown): x is GenericSchema {\n return !!x && typeof x === 'object' && 'kind' in x && x['kind'] === 'schema';\n}\n\nexport function unwrap(schema: GenericSchema): GenericSchema {\n // Unwrap common wrappers that simply contain another schema under `wrapped`\n // optional | exactOptional | undefinedable | nullable | nullish | nonNullable | nonNullish | readonly | brand | description | metadata | title | flavor\n // Most of these share `{ type: string; wrapped: GenericSchema }`\n // Guarded unwrap to avoid infinite loops.\n let curr: any = schema as any;\n const seen = new Set<any>();\n while (curr && typeof curr === 'object' && !seen.has(curr) && 'wrapped' in curr && isSchema((curr as any).wrapped)) {\n seen.add(curr);\n curr = (curr as any).wrapped;\n }\n return curr as GenericSchema;\n}\n\nfunction isIntegerKey(s: string): boolean {\n // allow \"0\", \"01\" etc. to index tuples/arrays consistently\n return /^-?\\d+$/.test(s);\n}\n\nexport type GetSchemaByPathOptions = {\n /**\n * When a union/variant cannot be narrowed by the path segment,\n * choose index `preferOption` (default 0). Set to -1 to return undefined instead.\n */\n preferOption?: number;\n};\n\nexport function getSchemaByPath(\n root: GenericSchema | GenericSchemaAsync,\n path: string,\n opts: GetSchemaByPathOptions = {}\n): GenericSchema | undefined {\n if (!isSchema(root)) return undefined;\n if (!path) return root;\n\n const keys = path.split('.');\n let curr: GenericSchema | undefined = root;\n\n for (let i = 0; i < keys.length; i++) {\n if (!curr) return undefined;\n curr = unwrap(curr);\n const seg = keys[i];\n\n // Narrow by schema \"type\"\n const type = (curr as any).type as string | undefined;\n\n switch (type) {\n case 'object': {\n // ObjectSchema has `.entries`\n const entries = (curr as any).entries as Record<string, GenericSchema> | undefined;\n if (!entries) return undefined;\n curr = entries[seg];\n break;\n }\n\n case 'record': {\n // RecordSchema has `.value` for any key\n const value = (curr as any).value as GenericSchema | undefined;\n curr = value;\n break;\n }\n\n case 'array': {\n // ArraySchema has `.item`\n if (!isIntegerKey(seg)) return undefined;\n const item = (curr as any).item as GenericSchema | undefined;\n curr = item;\n break;\n }\n\n case 'tuple': {\n // TupleSchema has `.items` and possibly `.rest`\n if (!isIntegerKey(seg)) return undefined;\n const idx = Number(seg);\n const items = (curr as any).items as GenericSchema[] | undefined;\n const rest = (curr as any).rest as GenericSchema | undefined;\n if (!items) return undefined;\n curr = idx < items.length ? items[idx] : rest;\n break;\n }\n\n case 'union': {\n // UnionSchema has `.options` (array of schemas)\n const options = (curr as any).options as GenericSchema[] | undefined;\n if (!options?.length) return undefined;\n\n // Try to narrow by segment:\n // - if numeric seg: prefer array/tuple options\n // - if string seg: prefer object/record options that contain seg\n const numeric = isIntegerKey(seg);\n\n let next: GenericSchema | undefined;\n\n if (numeric) {\n next =\n options.find((o) => {\n const u = unwrap(o) as any;\n return u?.type === 'array' || u?.type === 'tuple';\n }) ?? options[opts.preferOption ?? 0];\n } else {\n // Prefer object/record with matching key\n next =\n options.find((o) => {\n const u = unwrap(o) as any;\n if (u?.type === 'object') {\n const ent = u.entries as Record<string, GenericSchema> | undefined;\n return !!ent && seg in ent;\n }\n return u?.type === 'record';\n }) ?? options[opts.preferOption ?? 0];\n }\n\n curr = next;\n // Loop continues to use seg against selected option\n i--; // reprocess this segment against the chosen branch\n break;\n }\n\n case 'variant': {\n // Variant (discriminated union) has `.options` too\n const options = (curr as any).options as GenericSchema[] | undefined;\n if (!options?.length) return undefined;\n // Same narrowing as union\n const numeric = isIntegerKey(seg);\n let next: GenericSchema | undefined;\n if (numeric) {\n next =\n options.find((o) => {\n const u = unwrap(o) as any;\n return u?.type === 'array' || u?.type === 'tuple';\n }) ?? options[opts.preferOption ?? 0];\n } else {\n next =\n options.find((o) => {\n const u = unwrap(o) as any;\n if (u?.type === 'object') {\n const ent = u.entries as Record<string, GenericSchema> | undefined;\n return !!ent && seg in ent;\n }\n return u?.type === 'record';\n }) ?? options[opts.preferOption ?? 0];\n }\n curr = next;\n i--;\n break;\n }\n\n default: {\n // If it’s a pipeline schema (`pipe`) or similar wrapper, many expose `.wrapped` and are handled by unwrap.\n // If we end up at a primitive or unknown structure while keys remain, fail.\n return undefined;\n }\n }\n }\n\n return curr ? unwrap(curr) : undefined;\n}\n","import { isEqual, isObject } from 'radash';\n\nimport type { DeepPartial } from '../types/deep.js';\n\n/**\n * Sets the value for an object by its dot path\n * @param obj - any object\n * @param path - the dot path eg. key1.0.1.key2\n * @param value - any value\n * @returns - the modified object\n */\nexport function setByPath<T extends object>(obj: T, path: string, value: any): T {\n const keys = path.split('.');\n let curr: any = obj;\n\n for (let i = 0; i < keys.length - 1; i++) {\n const k = keys[i];\n const next = keys[i + 1];\n // handle array indices like '0'\n if (Number.isInteger(Number(next))) {\n curr[k] ??= [];\n } else {\n curr[k] ??= {};\n }\n curr = curr[k];\n }\n\n curr[keys[keys.length - 1]] = value;\n return obj;\n}\n\n/**\n * Gets the value from an object by its dot path\n * @param obj - any object\n * @param path - the dot path eg. key1.0.1.key2\n * @returns - the value at the given path or undefined\n */\nexport function getByPath<T extends object>(obj: T, path: string): any {\n if (!obj || typeof obj !== 'object') return undefined;\n const keys = path.split('.');\n let curr: any = obj;\n\n for (const k of keys) {\n if (curr == null) return undefined;\n curr = curr[k];\n }\n\n return curr;\n}\n\nconst isPlainRecord = (v: unknown): v is Record<string, unknown> => isObject(v) && !Array.isArray(v);\n\n/**\n * Returns a deep \"patch\" object containing only the fields from `b`\n * that are different from `a`.\n *\n * Behavior:\n * - Only keys from `b` can appear in the result.\n * - New keys in `b` are included.\n * - Changed primitive/array values are included as the value from `b`.\n * - For nested plain objects, it recurses and returns only the differing nested fields.\n * - Arrays are treated as atomic (if different, the whole array from `b` is returned).\n *\n * Typing:\n * - Output is `DeepPartial<B>` because only a subset of `b`'s shape is returned.\n *\n * @template A\n * @template B\n * @param {A} a - Base/original object (can be a different shape than `b`).\n * @param {B} b - Updated object; output keys come from this object.\n * @returns {DeepPartial<B>} Deep partial of `b` containing only differences vs `a`.\n */\nexport const deepDiff = <A extends object, B extends object>(a: A, b: B): DeepPartial<B> => {\n const out: Record<string, unknown> = {};\n\n for (const key of Object.keys(b) as Array<keyof B>) {\n const aVal = (a as any)?.[key];\n const bVal = (b as any)[key];\n\n if (!((key as any) in (a as any))) {\n out[key as any] = bVal;\n continue;\n }\n\n if (isPlainRecord(aVal) && isPlainRecord(bVal)) {\n const nested = deepDiff(aVal, bVal);\n if (Object.keys(nested as any).length) out[key as any] = nested;\n continue;\n }\n\n if (!isEqual(aVal, bVal)) out[key as any] = bVal;\n }\n\n return out as DeepPartial<B>;\n};\n\n/**\n * Deeply prunes `source` to match the *shape* of `shape`.\n *\n * Rules:\n * - Only keys that exist on `shape` are kept.\n * - Pruning is deep for nested plain objects.\n * - Arrays are supported by using the first element of `shape` as the element-shape.\n * - If `shape` is `[]`, returns `[]` (drops all elements).\n * - Primitive values are kept as-is (no type coercion) if the key exists in `shape`.\n * - If `shape` expects an object/array but `source` is not compatible, returns an empty object/array of that shape.\n *\n * @typeParam S - Source object type.\n * @typeParam Sh - Shape object type.\n * @param source - The object to prune.\n * @param shape - The object whose keys/structure are the allowlist.\n * @returns A new value derived from `source`, containing only fields present in `shape`, pruned deeply.\n *\n * @example\n * const source = { a: 1, b: { c: 2, d: 3 }, e: [ { x: 1, y: 2 }, { x: 3, y: 4 } ], z: 9 };\n * const shape = { a: 0, b: { c: 0 }, e: [ { x: 0 } ] };\n * // => { a: 1, b: { c: 2 }, e: [ { x: 1 }, { x: 3 } ] }\n * const out = pruneToShape(source, shape);\n */\nexport function pruneToShape<S, Sh>(source: S, shape: Sh): Sh {\n return pruneAny(source as unknown, shape as unknown) as Sh;\n\n function pruneAny(src: unknown, sh: unknown): unknown {\n // Arrays: use first element as the \"element shape\"\n if (Array.isArray(sh)) {\n if (!Array.isArray(src)) return [];\n if (sh.length === 0) return [];\n const elemShape = sh[0];\n return src.map((v) => pruneAny(v, elemShape));\n }\n\n // Plain objects: keep only keys present on shape, recursively.\n if (isPlainObject(sh)) {\n const out: Record<string, unknown> = {};\n const srcObj = isPlainObject(src) ? (src as Record<string, unknown>) : undefined;\n\n for (const key of Object.keys(sh as Record<string, unknown>)) {\n const shVal = (sh as Record<string, unknown>)[key];\n const srcVal = srcObj ? srcObj[key] : undefined;\n\n if (Array.isArray(shVal) || isPlainObject(shVal)) {\n out[key] = pruneAny(srcVal, shVal);\n } else {\n // Primitive (or function/date/etc in shape): key exists => keep source value as-is\n out[key] = srcVal;\n }\n }\n return out;\n }\n\n // Non-object shape => allowed leaf; just return source leaf as-is.\n return src;\n }\n\n function isPlainObject(v: unknown): v is Record<string, unknown> {\n if (v === null || typeof v !== 'object') return false;\n const proto = Object.getPrototypeOf(v);\n return proto === Object.prototype || proto === null;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser.js","names":[],"sources":["../src/lambda/client-types.ts","../src/lambda/client.ts","../src/lambda/handlerUtils.ts","../src/rehype/flat-toc.ts","../src/utils/valibot.ts","../src/utils/object.ts"],"sourcesContent":["import type { ErrorBody, SuccessCode, ErrorCode } from './handlerUtils.js';\n\n// ----------------- Helpers ----------------------\n// Used to easily extract types from ApiEndpoints types\n\n/**\n * Extracts the requestInput type from an API endpoint definition\n * @template E - Union type of all API endpoints\n * @template P - Path string literal type (e.g. 'payments/account')\n * @template M - HTTP method string literal type (e.g. 'GET', 'POST')\n */\nexport type ApiInput<E extends ApiEndpoints, P extends E['path'], M extends E['method']> = Extract<\n E,\n { path: P; method: M }\n>['requestInput'];\n\n/**\n * Extracts the requestOutput type from an API endpoint definition\n * @template E - Union type of all API endpoints\n * @template P - Path string literal type (e.g. 'payments/account')\n * @template M - HTTP method string literal type (e.g. 'GET', 'POST')\n */\nexport type ApiOutput<E extends ApiEndpoints, P extends E['path'], M extends E['method']> = Extract<\n E,\n { path: P; method: M }\n>['requestOutput'];\n\n/**\n * Extracts the response type from an API endpoint definition\n * @template E - Union type of all API endpoints\n * @template P - Path string literal type (e.g. 'payments/account')\n * @template M - HTTP method string literal type (e.g. 'GET', 'POST')\n */\nexport type ApiResponse<E extends ApiEndpoints, P extends E['path'], M extends E['method']> = Extract<\n E,\n { path: P; method: M }\n>['response'];\n\n/**\n * Extracts the sucessful body type from an API endpoint definition\n * @template E - Union type of all API endpoints\n * @template P - Path string literal type (e.g. 'payments/account')\n * @template M - HTTP method string literal type (e.g. 'GET', 'POST')\n */\nexport type ApiSuccessBody<E extends ApiEndpoints, P extends E['path'], M extends E['method']> = Extract<\n Extract<E, { path: P; method: M }>['response'],\n { status: SuccessCode }\n>['json'] extends () => Promise<infer R>\n ? R\n : unknown;\n\n/**\n * Extracts the sucessful body type from an API endpoint definition\n * @template E - Union type of all API endpoints\n * @template P - Path string literal type (e.g. 'payments/account')\n * @template M - HTTP method string literal type (e.g. 'GET', 'POST')\n */\nexport type ApiErrorBody<E extends ApiEndpoints, P extends E['path'], M extends E['method']> = Extract<\n Extract<E, { path: P; method: M }>['response'],\n { status: ErrorCode }\n>['json'] extends () => Promise<infer R>\n ? R\n : unknown;\n\n/**\n * Converts a RawApiGatewayHandler response type to a fetch like response type.\n */\ntype ConvertToFetch<T> = T extends { statusCode: number; body: object; headers: object }\n ? { ok: T['statusCode'] extends SuccessCode ? true : false; json: () => Promise<T['body']>; status: T['statusCode'] }\n : T;\n\nexport type CleanResponse = Omit<Response, 'status' | 'ok' | 'json'>;\nexport type FetchResponse<T extends (...args: any) => any> = ConvertToFetch<Awaited<ReturnType<T>>> & CleanResponse;\n\n// ------------------------ Proper types ------------------\n// This is used by createApiRequest and createFormFunction\n\nexport const HTTPMethods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS', 'HEAD'] as const;\nexport type HTTPMethod = (typeof HTTPMethods)[number];\n\nexport type ApiEndpoints = {\n path: string;\n method: HTTPMethod;\n requestInput: Record<string, any> | null;\n requestOutput: object | null;\n response: FetchResponse<\n // This means we get better types\n () => Promise<\n | { headers: object; statusCode: SuccessCode; body: any }\n | { headers: object; statusCode: ErrorCode; body: ErrorBody }\n >\n >;\n};\n","// import { deserialize } from './deserializer.js';\nimport { parse } from 'devalue';\nimport { parse as vParse, parseAsync, type GenericSchema, type GenericSchemaAsync } from 'valibot';\n\nimport type { ApiEndpoints, ApiInput, ApiResponse } from './client-types.js';\n\nconst bodyMethods = ['POST', 'PUT', 'PATCH'] as const;\nconst queryMethods = ['GET', 'DELETE'] as const;\n\nasync function _apiRequest<T = Response>(\n path: string,\n method: 'GET' | 'POST' | 'DELETE',\n input: object | null,\n schema: ApiSchema,\n // This was here because of the deserializer being different in prod\n environment: string | 'production',\n apiUrl: string,\n headers?: HeadersInit\n): Promise<T> {\n if (schema) {\n if (schema.async === true) await parseAsync(schema, input);\n else vParse(schema, input);\n }\n\n let url = `${apiUrl}${apiUrl.endsWith('/') ? '' : '/'}${path}`;\n\n if (queryMethods.includes(method as any)) {\n const params = new URLSearchParams();\n\n for (const [key, value] of Object.entries(input ?? {})) {\n if (Array.isArray(value)) {\n value.forEach((item) => params.append(key, String(item)));\n } else {\n params.append(key, String(value));\n }\n }\n\n const queryString = params.toString();\n if (queryString) url += `?${queryString}`;\n }\n\n headers = { 'Content-Type': 'application/json', ...headers };\n const response = await fetch(url, {\n method,\n headers,\n // oxlint-disable-next-line\n body: bodyMethods.includes(method as any) ? JSON.stringify(input) : undefined,\n credentials: 'include'\n });\n const contentType = response.headers.get('content-type') ?? '';\n\n let retrieved: Promise<string> | false = false;\n response.json = async () => {\n if (retrieved === false) {\n retrieved = response.text();\n }\n\n if (contentType === 'application/devalue') {\n return await parse(await retrieved);\n } else {\n return JSON.parse(await retrieved);\n }\n };\n return response as unknown as T;\n}\n\nconst HTTPMethods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS', 'HEAD'] as const;\ntype HTTPMethod = (typeof HTTPMethods)[number];\n\nexport type ApiRequestFunction<API extends ApiEndpoints> = <\n Path extends API['path'],\n Method extends Extract<API, { path: Path }>['method']\n>(\n path: Path,\n method: Method,\n input: ApiInput<API, Path, Method>,\n headers?: HeadersInit\n) => Promise<ApiResponse<API, Path, Method>>;\n\nexport type ApiSchema = GenericSchema | GenericSchemaAsync;\n\n/**\n * @returns A function that can be used to make API requests with type safety\n * @example const clientApiRequest = createApiRequest<ApiEndpoints>();\n */\nexport function createApiRequest<API extends ApiEndpoints>(\n schemas: Partial<Record<API['path'], Partial<Record<HTTPMethod, ApiSchema>>>>,\n apiUrl: string,\n env: string\n): ApiRequestFunction<API> {\n return async function apiRequest(path, method, input, headers) {\n const schema = schemas[path]?.[method];\n if (schema === undefined) throw new Error('Schema is undefined in api request');\n\n // if (typeof schema === 'function') {\n // schema = schema();\n // }\n\n return _apiRequest<ApiResponse<API, typeof path, typeof method>>(\n path as string,\n method as 'GET' | 'POST',\n input,\n schema,\n env,\n apiUrl,\n headers\n );\n };\n}\n","import type { APIGatewayProxyResultV2, Context, APIGatewayProxyEventV2WithLambdaAuthorizer } from 'aws-lambda';\nimport { stringify } from 'devalue';\n\nexport type SuccessCode = 200 | 201 | 204;\nexport type ErrorCode = 400 | 401 | 403 | 404 | 409 | 500;\n\nexport type ErrorBody = { message: string; field?: { name: string; value: string } };\n\n/**\n * The error response for the lambda functions to return\n */\nexport type ErrorRawProxyResultV2 = {\n statusCode: ErrorCode;\n headers?: { [header: string]: string } | undefined;\n body?: ErrorBody;\n isBase64Encoded?: boolean | undefined;\n cookies?: string[] | undefined;\n};\n\nexport type OkRawProxyResultV2 = {\n statusCode: SuccessCode;\n headers?: { [header: string]: string } | undefined;\n body?: object | undefined;\n isBase64Encoded?: boolean | undefined;\n cookies?: string[] | undefined;\n};\n/**\n * A type for the raw proxy result - just using an object not a stirng for the body\n */\nexport type RawProxyResultV2 = ErrorRawProxyResultV2 | OkRawProxyResultV2;\n\n// The type of the handler returned from wrapHandler\nexport type APIGatewayHandler<E> = (event: E, context: Context) => Promise<APIGatewayProxyResultV2>;\n\n// The type of the handler passed into wrapHandler\nexport type RawApiGatewayHandler<E extends APIGatewayProxyEventV2WithLambdaAuthorizer<any>> = (\n event: E,\n context: Context\n) => Promise<RawProxyResultV2>;\n\n/**\n * Wraps a handler that returns the body as an object rather than a string.\n *\n * This means you can achieve proper type inference on your handler and have standardised serialisation\n *\n * @example\n```ts\nexport type AuthorizerContext = {\n details: JWTPayload;\n} | null;\n\nexport const wrapHandler = baseWrapHandler<APIGatewayProxyEventV2WithLambdaAuthorizer<AuthorizerContext>>\n\n*/\nexport function wrapHandler<E extends APIGatewayProxyEventV2WithLambdaAuthorizer<any>>(\n handler: RawApiGatewayHandler<E>\n): APIGatewayHandler<E> {\n return async (event: E, context: Context): Promise<APIGatewayProxyResultV2> => {\n const result = await handler(event, context);\n\n if (result.body) {\n const headers = new Headers(result.headers);\n headers.set('Content-Type', 'application/devalue');\n\n return { ...result, headers: Object.fromEntries(headers), body: stringify(result.body) };\n } else {\n return { ...result, body: undefined };\n }\n };\n}\n","import type { Root, RootContent, Element } from 'hast';\nimport rehypeParse from 'rehype-parse';\nimport type { Plugin } from 'unified';\nimport { unified } from 'unified';\nimport type { VFile } from 'vfile';\n\n/**\n * This rehype plugin extracts the headings from the markdown elements but also the raw elements.\n * So we get html headings in the TOC as well\n *\n * It sets the file.data.fm.toc to a flat map of the toc\n */\nexport const extractToc: Plugin<[], Root> = () => {\n return (tree: Root, file: VFile) => {\n const details = tree.children.flatMap(extractDetails);\n if (file.data.fm === undefined) file.data.fm = {};\n // @ts-expect-error its untyped but for svmdex it is there\n file.data.fm.toc = details;\n };\n};\nexport type Toc = TocEntry[];\nexport type TocEntry = { level: number; id: string; value: string };\n\nfunction extractDetails(content: RootContent | { type: 'raw'; value: string }): TocEntry[] {\n if (content.type === 'element' && content.tagName.startsWith('h') && 'id' in content.properties) {\n const value =\n content.children.length === 1 && content.children[0].type === 'text'\n ? content.children[0].value\n : (content.properties.id as string);\n\n return [{ level: parseInt(content.tagName.slice(1)), id: content.properties.id as string, value }];\n } else if (content.type === 'raw') {\n const parsed = parseRaw(content.value);\n return parsed.flatMap(extractDetails);\n }\n return [];\n}\n\n/**\n * Parses raw HTML and returns a flat array of all heading (h1-h6) elements as HAST nodes.\n */\nexport function parseRaw(raw: string): Element[] {\n // Parse the HTML string into a HAST Root node\n const tree = unified()\n .use(rehypeParse, { fragment: true }) // allow parsing HTML fragments\n .parse(raw) as Root;\n\n // Helper function to recursively find heading elements\n function collectHeadings(node: RootContent): Element[] {\n if (node.type === 'element' && /^h[1-6]$/.test(node.tagName)) {\n return [node];\n }\n // Check children recursively\n if ('children' in node && Array.isArray(node.children)) {\n return node.children.flatMap(collectHeadings);\n }\n return [];\n }\n\n // Flatten all headings found in the tree\n return tree.children.flatMap(collectHeadings);\n}\n","import type { GenericSchema, GenericSchemaAsync } from 'valibot';\n\nexport function isSchema(x: unknown): x is GenericSchema {\n return !!x && typeof x === 'object' && 'kind' in x && x['kind'] === 'schema';\n}\n\nexport function unwrap(schema: GenericSchema): GenericSchema {\n // Unwrap common wrappers that simply contain another schema under `wrapped`\n // optional | exactOptional | undefinedable | nullable | nullish | nonNullable | nonNullish | readonly | brand | description | metadata | title | flavor\n // Most of these share `{ type: string; wrapped: GenericSchema }`\n // Guarded unwrap to avoid infinite loops.\n let curr: any = schema as any;\n const seen = new Set<any>();\n while (curr && typeof curr === 'object' && !seen.has(curr) && 'wrapped' in curr && isSchema((curr as any).wrapped)) {\n seen.add(curr);\n curr = (curr as any).wrapped;\n }\n return curr as GenericSchema;\n}\n\nfunction isIntegerKey(s: string): boolean {\n // allow \"0\", \"01\" etc. to index tuples/arrays consistently\n return /^-?\\d+$/.test(s);\n}\n\nexport type GetSchemaByPathOptions = {\n /**\n * When a union/variant cannot be narrowed by the path segment,\n * choose index `preferOption` (default 0). Set to -1 to return undefined instead.\n */\n preferOption?: number;\n};\n\nexport function getSchemaByPath(\n root: GenericSchema | GenericSchemaAsync,\n path: string,\n opts: GetSchemaByPathOptions = {}\n): GenericSchema | undefined {\n if (!isSchema(root)) return undefined;\n if (!path) return root;\n\n const keys = path.split('.');\n let curr: GenericSchema | undefined = root;\n\n for (let i = 0; i < keys.length; i++) {\n if (!curr) return undefined;\n curr = unwrap(curr);\n const seg = keys[i];\n\n // Narrow by schema \"type\"\n const type = (curr as any).type as string | undefined;\n\n switch (type) {\n case 'object': {\n // ObjectSchema has `.entries`\n const entries = (curr as any).entries as Record<string, GenericSchema> | undefined;\n if (!entries) return undefined;\n curr = entries[seg];\n break;\n }\n\n case 'record': {\n // RecordSchema has `.value` for any key\n const value = (curr as any).value as GenericSchema | undefined;\n curr = value;\n break;\n }\n\n case 'array': {\n // ArraySchema has `.item`\n if (!isIntegerKey(seg)) return undefined;\n const item = (curr as any).item as GenericSchema | undefined;\n curr = item;\n break;\n }\n\n case 'tuple': {\n // TupleSchema has `.items` and possibly `.rest`\n if (!isIntegerKey(seg)) return undefined;\n const idx = Number(seg);\n const items = (curr as any).items as GenericSchema[] | undefined;\n const rest = (curr as any).rest as GenericSchema | undefined;\n if (!items) return undefined;\n curr = idx < items.length ? items[idx] : rest;\n break;\n }\n\n case 'union': {\n // UnionSchema has `.options` (array of schemas)\n const options = (curr as any).options as GenericSchema[] | undefined;\n if (!options?.length) return undefined;\n\n // Try to narrow by segment:\n // - if numeric seg: prefer array/tuple options\n // - if string seg: prefer object/record options that contain seg\n const numeric = isIntegerKey(seg);\n\n let next: GenericSchema | undefined;\n\n if (numeric) {\n next =\n options.find((o) => {\n const u = unwrap(o) as any;\n return u?.type === 'array' || u?.type === 'tuple';\n }) ?? options[opts.preferOption ?? 0];\n } else {\n // Prefer object/record with matching key\n next =\n options.find((o) => {\n const u = unwrap(o) as any;\n if (u?.type === 'object') {\n const ent = u.entries as Record<string, GenericSchema> | undefined;\n return !!ent && seg in ent;\n }\n return u?.type === 'record';\n }) ?? options[opts.preferOption ?? 0];\n }\n\n curr = next;\n // Loop continues to use seg against selected option\n i--; // reprocess this segment against the chosen branch\n break;\n }\n\n case 'variant': {\n // Variant (discriminated union) has `.options` too\n const options = (curr as any).options as GenericSchema[] | undefined;\n if (!options?.length) return undefined;\n // Same narrowing as union\n const numeric = isIntegerKey(seg);\n let next: GenericSchema | undefined;\n if (numeric) {\n next =\n options.find((o) => {\n const u = unwrap(o) as any;\n return u?.type === 'array' || u?.type === 'tuple';\n }) ?? options[opts.preferOption ?? 0];\n } else {\n next =\n options.find((o) => {\n const u = unwrap(o) as any;\n if (u?.type === 'object') {\n const ent = u.entries as Record<string, GenericSchema> | undefined;\n return !!ent && seg in ent;\n }\n return u?.type === 'record';\n }) ?? options[opts.preferOption ?? 0];\n }\n curr = next;\n i--;\n break;\n }\n\n default: {\n // If it’s a pipeline schema (`pipe`) or similar wrapper, many expose `.wrapped` and are handled by unwrap.\n // If we end up at a primitive or unknown structure while keys remain, fail.\n return undefined;\n }\n }\n }\n\n return curr ? unwrap(curr) : undefined;\n}\n","import { isEqual, isObject } from 'radash';\n\nimport type { DeepPartial } from '../types/deep.js';\n\n/**\n * Sets the value for an object by its dot path\n * @param obj - any object\n * @param path - the dot path eg. key1.0.1.key2\n * @param value - any value\n * @returns - the modified object\n */\nexport function setByPath<T extends object>(obj: T, path: string, value: any): T {\n const keys = path.split('.');\n let curr: any = obj;\n\n for (let i = 0; i < keys.length - 1; i++) {\n const k = keys[i];\n const next = keys[i + 1];\n // handle array indices like '0'\n if (Number.isInteger(Number(next))) {\n curr[k] ??= [];\n } else {\n curr[k] ??= {};\n }\n curr = curr[k];\n }\n\n curr[keys[keys.length - 1]] = value;\n return obj;\n}\n\n/**\n * Gets the value from an object by its dot path\n * @param obj - any object\n * @param path - the dot path eg. key1.0.1.key2\n * @returns - the value at the given path or undefined\n */\nexport function getByPath<T extends object>(obj: T, path: string): any {\n if (!obj || typeof obj !== 'object') return undefined;\n const keys = path.split('.');\n let curr: any = obj;\n\n for (const k of keys) {\n if (curr == null) return undefined;\n curr = curr[k];\n }\n\n return curr;\n}\n\nconst isPlainRecord = (v: unknown): v is Record<string, unknown> => isObject(v) && !Array.isArray(v);\n\n/**\n * Returns a deep \"patch\" object containing only the fields from `b`\n * that are different from `a`.\n *\n * Behavior:\n * - Only keys from `b` can appear in the result.\n * - New keys in `b` are included.\n * - Changed primitive/array values are included as the value from `b`.\n * - For nested plain objects, it recurses and returns only the differing nested fields.\n * - Arrays are treated as atomic (if different, the whole array from `b` is returned).\n *\n * Typing:\n * - Output is `DeepPartial<B>` because only a subset of `b`'s shape is returned.\n *\n * @template A\n * @template B\n * @param {A} a - Base/original object (can be a different shape than `b`).\n * @param {B} b - Updated object; output keys come from this object.\n * @returns {DeepPartial<B>} Deep partial of `b` containing only differences vs `a`.\n */\nexport const deepDiff = <A extends object, B extends object>(a: A, b: B): DeepPartial<B> => {\n const out: Record<string, unknown> = {};\n\n for (const key of Object.keys(b) as Array<keyof B>) {\n const aVal = (a as any)?.[key];\n const bVal = (b as any)[key];\n\n if (!((key as any) in (a as any))) {\n out[key as any] = bVal;\n continue;\n }\n\n if (isPlainRecord(aVal) && isPlainRecord(bVal)) {\n const nested = deepDiff(aVal, bVal);\n if (Object.keys(nested as any).length) out[key as any] = nested;\n continue;\n }\n\n if (!isEqual(aVal, bVal)) out[key as any] = bVal;\n }\n\n return out as DeepPartial<B>;\n};\n\n/**\n * Deeply prunes `source` to match the *shape* of `shape`.\n *\n * Rules:\n * - Only keys that exist on `shape` are kept.\n * - Pruning is deep for nested plain objects.\n * - Arrays are supported by using the first element of `shape` as the element-shape.\n * - If `shape` is `[]`, returns `[]` (drops all elements).\n * - Primitive values are kept as-is (no type coercion) if the key exists in `shape`.\n * - If `shape` expects an object/array but `source` is not compatible, returns an empty object/array of that shape.\n *\n * @typeParam S - Source object type.\n * @typeParam Sh - Shape object type.\n * @param source - The object to prune.\n * @param shape - The object whose keys/structure are the allowlist.\n * @returns A new value derived from `source`, containing only fields present in `shape`, pruned deeply.\n *\n * @example\n * const source = { a: 1, b: { c: 2, d: 3 }, e: [ { x: 1, y: 2 }, { x: 3, y: 4 } ], z: 9 };\n * const shape = { a: 0, b: { c: 0 }, e: [ { x: 0 } ] };\n * // => { a: 1, b: { c: 2 }, e: [ { x: 1 }, { x: 3 } ] }\n * const out = pruneToShape(source, shape);\n */\nexport function pruneToShape<S, Sh>(source: S, shape: Sh): Sh {\n return pruneAny(source as unknown, shape as unknown) as Sh;\n\n function pruneAny(src: unknown, sh: unknown): unknown {\n // Arrays: use first element as the \"element shape\"\n if (Array.isArray(sh)) {\n if (!Array.isArray(src)) return [];\n if (sh.length === 0) return [];\n const elemShape = sh[0];\n return src.map((v) => pruneAny(v, elemShape));\n }\n\n // Plain objects: keep only keys present on shape, recursively.\n if (isPlainObject(sh)) {\n const out: Record<string, unknown> = {};\n const srcObj = isPlainObject(src) ? (src as Record<string, unknown>) : undefined;\n\n for (const key of Object.keys(sh as Record<string, unknown>)) {\n const shVal = (sh as Record<string, unknown>)[key];\n const srcVal = srcObj ? srcObj[key] : undefined;\n\n if (Array.isArray(shVal) || isPlainObject(shVal)) {\n out[key] = pruneAny(srcVal, shVal);\n } else {\n // Primitive (or function/date/etc in shape): key exists => keep source value as-is\n out[key] = srcVal;\n }\n }\n return out;\n }\n\n // Non-object shape => allowed leaf; just return source leaf as-is.\n return src;\n }\n\n function isPlainObject(v: unknown): v is Record<string, unknown> {\n if (v === null || typeof v !== 'object') return false;\n const proto = Object.getPrototypeOf(v);\n return proto === Object.prototype || proto === null;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { styleText } from "util";
|
|
1
|
+
import { styleText } from "node:util";
|
|
2
2
|
//#region src/utils/cli.ts
|
|
3
3
|
const colorText = (format, text) => styleText(format, String(text), { validateStream: false });
|
|
4
4
|
//#endregion
|
|
5
5
|
export { colorText as t };
|
|
6
|
-
|
|
7
|
-
//# sourceMappingURL=cli-CoTTeqrl.mjs.map
|
package/dist/index.d.mts
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import * as v from "valibot";
|
|
2
1
|
import { GenericSchema, GenericSchemaAsync, SafeParseResult } from "valibot";
|
|
3
2
|
import * as _$cookie from "cookie";
|
|
4
3
|
import { Result, ResultAsync } from "neverthrow";
|
|
5
4
|
import * as _$_aws_sdk_client_cognito_identity_provider0 from "@aws-sdk/client-cognito-identity-provider";
|
|
6
5
|
import { AdminGetUserCommandOutput, AttributeType, CognitoIdentityProviderClient } from "@aws-sdk/client-cognito-identity-provider";
|
|
7
6
|
import { S3Client } from "@aws-sdk/client-s3";
|
|
7
|
+
import { getSignedUrl as getSignedUrl$1 } from "@aws-sdk/s3-request-presigner";
|
|
8
8
|
import { DynamoDBToolboxError } from "dynamodb-toolbox";
|
|
9
9
|
import { Plugin } from "unified";
|
|
10
|
-
import { styleText } from "util";
|
|
10
|
+
import { styleText } from "node:util";
|
|
11
11
|
import { APIGatewayProxyEventV2WithLambdaAuthorizer, APIGatewayProxyResultV2, APIGatewayRequestAuthorizerEventV2, Context } from "aws-lambda";
|
|
12
|
-
import * as _$_smithy_types0 from "@smithy/types";
|
|
13
12
|
import { PackageJson } from "type-fest";
|
|
14
13
|
|
|
15
14
|
//#region src/lambda/handlerUtils.d.ts
|
|
@@ -158,7 +157,7 @@ type HTTPMethod$1 = (typeof HTTPMethods$1)[number];
|
|
|
158
157
|
type ApiRequestFunction<API extends ApiEndpoints> = <Path extends API['path'], Method extends Extract<API, {
|
|
159
158
|
path: Path;
|
|
160
159
|
}>['method']>(path: Path, method: Method, input: ApiInput<API, Path, Method>, headers?: HeadersInit) => Promise<ApiResponse<API, Path, Method>>;
|
|
161
|
-
type ApiSchema =
|
|
160
|
+
type ApiSchema = GenericSchema | GenericSchemaAsync;
|
|
162
161
|
/**
|
|
163
162
|
* @returns A function that can be used to make API requests with type safety
|
|
164
163
|
* @example const clientApiRequest = createApiRequest<ApiEndpoints>();
|
|
@@ -174,12 +173,12 @@ declare function createApiRequest<API extends ApiEndpoints>(schemas: Partial<Rec
|
|
|
174
173
|
* The separation means that they can be returned from functions that are certainly run inside a lambda fucntion but theyre not the actual return of the lambda.
|
|
175
174
|
* Im not sure it this is optimal behaviour and if not we will migrate to only using the errorResponse function
|
|
176
175
|
*/
|
|
177
|
-
declare
|
|
178
|
-
declare
|
|
179
|
-
declare
|
|
180
|
-
declare
|
|
181
|
-
declare
|
|
182
|
-
declare
|
|
176
|
+
declare function error_lambda_badRequest(message: string, fieldName?: string, fieldValue?: string): type_error_lambda_badRequest;
|
|
177
|
+
declare function error_lambda_unauthorized(message: string): type_error_lambda_unauthorized;
|
|
178
|
+
declare function error_lambda_forbidden(message: string): type_error_lambda_forbidden;
|
|
179
|
+
declare function error_lambda_notFound(message: string, fieldName?: string, fieldValue?: string): type_error_lambda_notFound;
|
|
180
|
+
declare function error_lambda_conflict(message: string, fieldName?: string, fieldValue?: string): type_error_lambda_conflict;
|
|
181
|
+
declare function error_lambda_internal(message: string): type_error_lambda_internal;
|
|
183
182
|
type type_error_lambda_badRequest = {
|
|
184
183
|
type: 'badRequest';
|
|
185
184
|
message: string;
|
|
@@ -301,7 +300,7 @@ declare function response_ok<Body extends {
|
|
|
301
300
|
/**
|
|
302
301
|
* Wraps cookies parse along with the api gateway event with neverthrow
|
|
303
302
|
*/
|
|
304
|
-
declare
|
|
303
|
+
declare function getCookies(event: APIGatewayProxyEventV2WithLambdaAuthorizer<any> | APIGatewayRequestAuthorizerEventV2): Result<_$cookie.Cookies, type_error_lambda_unauthorized>;
|
|
305
304
|
//#endregion
|
|
306
305
|
//#region src/cognito/client.d.ts
|
|
307
306
|
/**
|
|
@@ -335,10 +334,10 @@ type type_userResponse = Omit<AdminGetUserCommandOutput, 'UserAttributes'> & {
|
|
|
335
334
|
/**
|
|
336
335
|
* Performs an AdminGetUserCommand and extracts the user attributes into an object
|
|
337
336
|
*/
|
|
338
|
-
declare
|
|
337
|
+
declare function getUserDetails(a: {
|
|
339
338
|
username: string;
|
|
340
339
|
userPoolId: string;
|
|
341
|
-
})
|
|
340
|
+
}): ResultAsync<type_userResponse, type_error_cognito>;
|
|
342
341
|
/**
|
|
343
342
|
* @returns An object of attributes with their names as keys and values as values.
|
|
344
343
|
*/
|
|
@@ -346,10 +345,10 @@ declare function extractAttributes(attrs: AttributeType[] | undefined): Record<s
|
|
|
346
345
|
/**
|
|
347
346
|
* Performs an AdminGetUserCommand and extracts the user attributes into an object
|
|
348
347
|
*/
|
|
349
|
-
declare
|
|
348
|
+
declare function getUserGroups(a: {
|
|
350
349
|
username: string;
|
|
351
350
|
userPoolId: string;
|
|
352
|
-
})
|
|
351
|
+
}): ResultAsync<_$_aws_sdk_client_cognito_identity_provider0.AdminListGroupsForUserCommandOutput, type_error_cognito>;
|
|
353
352
|
//#endregion
|
|
354
353
|
//#region src/cognito/password.d.ts
|
|
355
354
|
/**
|
|
@@ -367,7 +366,7 @@ declare function computeSecretHash(username: string, clientId: string, clientSec
|
|
|
367
366
|
* @param oldPassword - Current password.
|
|
368
367
|
* @param newPassword - New password to set.
|
|
369
368
|
*/
|
|
370
|
-
declare
|
|
369
|
+
declare function changePassword(accessToken: string, oldPassword: string, newPassword: string): ResultAsync<_$_aws_sdk_client_cognito_identity_provider0.ChangePasswordCommandOutput, type_error_cognito>;
|
|
371
370
|
/**
|
|
372
371
|
* Completes a forgot-password flow by submitting the confirmation code and new password.
|
|
373
372
|
*
|
|
@@ -377,13 +376,13 @@ declare const changePassword: (accessToken: string, oldPassword: string, newPass
|
|
|
377
376
|
* @param a.clientId - Cognito app client ID.
|
|
378
377
|
* @param a.clientSecret - Cognito app client secret.
|
|
379
378
|
*/
|
|
380
|
-
declare
|
|
379
|
+
declare function confirmForgotPassword(a: {
|
|
381
380
|
username: string;
|
|
382
381
|
confirmationCode: string;
|
|
383
382
|
newPassword: string;
|
|
384
383
|
clientId: string;
|
|
385
384
|
clientSecret: string;
|
|
386
|
-
})
|
|
385
|
+
}): ResultAsync<_$_aws_sdk_client_cognito_identity_provider0.ConfirmForgotPasswordCommandOutput, type_error_cognito>;
|
|
387
386
|
/**
|
|
388
387
|
* Confirms a user's signup using the confirmation code sent by Cognito.
|
|
389
388
|
*
|
|
@@ -392,12 +391,12 @@ declare const confirmForgotPassword: (a: {
|
|
|
392
391
|
* @param a.clientId - Cognito app client ID.
|
|
393
392
|
* @param a.clientSecret - Cognito app client secret.
|
|
394
393
|
*/
|
|
395
|
-
declare
|
|
394
|
+
declare function confirmSignup(a: {
|
|
396
395
|
username: string;
|
|
397
396
|
confirmationCode: string;
|
|
398
397
|
clientId: string;
|
|
399
398
|
clientSecret: string;
|
|
400
|
-
})
|
|
399
|
+
}): ResultAsync<_$_aws_sdk_client_cognito_identity_provider0.ConfirmSignUpCommandOutput, type_error_cognito>;
|
|
401
400
|
/**
|
|
402
401
|
* Starts a forgot-password flow by sending a reset code to the user.
|
|
403
402
|
*
|
|
@@ -405,11 +404,11 @@ declare const confirmSignup: (a: {
|
|
|
405
404
|
* @param a.clientId - Cognito app client ID.
|
|
406
405
|
* @param a.clientSecret - Cognito app client secret.
|
|
407
406
|
*/
|
|
408
|
-
declare
|
|
407
|
+
declare function forgotPassword(a: {
|
|
409
408
|
username: string;
|
|
410
409
|
clientId: string;
|
|
411
410
|
clientSecret: string;
|
|
412
|
-
})
|
|
411
|
+
}): ResultAsync<_$_aws_sdk_client_cognito_identity_provider0.ForgotPasswordCommandOutput, type_error_cognito>;
|
|
413
412
|
/**
|
|
414
413
|
* Signs a user in with ADMIN_USER_PASSWORD_AUTH.
|
|
415
414
|
*
|
|
@@ -419,13 +418,23 @@ declare const forgotPassword: (a: {
|
|
|
419
418
|
* @param a.clientSecret - Cognito app client secret.
|
|
420
419
|
* @param a.userPoolId - Cognito user pool ID.
|
|
421
420
|
*/
|
|
422
|
-
declare
|
|
421
|
+
declare function login(a: {
|
|
423
422
|
username: string;
|
|
424
423
|
password: string;
|
|
425
424
|
clientId: string;
|
|
426
425
|
clientSecret: string;
|
|
427
426
|
userPoolId: string;
|
|
428
|
-
})
|
|
427
|
+
}): ResultAsync<_$_aws_sdk_client_cognito_identity_provider0.AdminInitiateAuthCommandOutput, type_error_cognito>;
|
|
428
|
+
/**
|
|
429
|
+
* Sends a GetTokensFromRefreshTokenCommand
|
|
430
|
+
*/
|
|
431
|
+
declare function refreshTokens(a: {
|
|
432
|
+
RefreshToken: string;
|
|
433
|
+
ClientId: string;
|
|
434
|
+
ClientSecret: string;
|
|
435
|
+
DeviceKey?: string | undefined;
|
|
436
|
+
ClientMetaData?: Record<string, string> | undefined;
|
|
437
|
+
}): ResultAsync<_$_aws_sdk_client_cognito_identity_provider0.GetTokensFromRefreshTokenCommandOutput, type_error_cognito>;
|
|
429
438
|
/**
|
|
430
439
|
* Exchanges a refresh token for new tokens.
|
|
431
440
|
*
|
|
@@ -435,19 +444,19 @@ declare const login: (a: {
|
|
|
435
444
|
* @param a.clientSecret - Cognito app client secret.
|
|
436
445
|
* @param a.userPoolId - Cognito user pool ID.
|
|
437
446
|
*/
|
|
438
|
-
declare
|
|
447
|
+
declare function refreshTokensAuth(a: {
|
|
439
448
|
username: string;
|
|
440
449
|
refreshToken: string;
|
|
441
450
|
clientId: string;
|
|
442
451
|
clientSecret: string;
|
|
443
452
|
userPoolId: string;
|
|
444
|
-
})
|
|
453
|
+
}): ResultAsync<_$_aws_sdk_client_cognito_identity_provider0.AdminInitiateAuthCommandOutput, type_error_cognito>;
|
|
445
454
|
/**
|
|
446
455
|
* Globally signs out a user by invalidating all refresh tokens.
|
|
447
456
|
*
|
|
448
457
|
* @param accessToken - Access token for the authenticated user.
|
|
449
458
|
*/
|
|
450
|
-
declare
|
|
459
|
+
declare function logout(accessToken: string): ResultAsync<_$_aws_sdk_client_cognito_identity_provider0.GlobalSignOutCommandOutput, type_error_cognito>;
|
|
451
460
|
/**
|
|
452
461
|
* Completes a NEW_PASSWORD_REQUIRED challenge for users who must set a new password.
|
|
453
462
|
*
|
|
@@ -457,13 +466,13 @@ declare const logout: (accessToken: string) => ResultAsync<_$_aws_sdk_client_cog
|
|
|
457
466
|
* @param a.clientId - Cognito app client ID.
|
|
458
467
|
* @param a.clientSecret - Cognito app client secret.
|
|
459
468
|
*/
|
|
460
|
-
declare
|
|
469
|
+
declare function resetPassword(a: {
|
|
461
470
|
session: string;
|
|
462
471
|
newPassword: string;
|
|
463
472
|
username: string;
|
|
464
473
|
clientId: string;
|
|
465
474
|
clientSecret: string;
|
|
466
|
-
})
|
|
475
|
+
}): ResultAsync<_$_aws_sdk_client_cognito_identity_provider0.RespondToAuthChallengeCommandOutput, type_error_cognito>;
|
|
467
476
|
/**
|
|
468
477
|
* Registers a new user with Cognito and optional custom attributes.
|
|
469
478
|
*
|
|
@@ -473,12 +482,12 @@ declare const resetPassword: (a: {
|
|
|
473
482
|
* @param a.clientSecret - Cognito app client secret.
|
|
474
483
|
* @param a.<attribute> - Any additional user attributes to set.
|
|
475
484
|
*/
|
|
476
|
-
declare
|
|
485
|
+
declare function signUp(a: {
|
|
477
486
|
username: string;
|
|
478
487
|
password: string;
|
|
479
488
|
clientId: string;
|
|
480
489
|
clientSecret: string;
|
|
481
|
-
} & Record<string, unknown>)
|
|
490
|
+
} & Record<string, unknown>): ResultAsync<_$_aws_sdk_client_cognito_identity_provider0.SignUpCommandOutput, type_error_cognito>;
|
|
482
491
|
/**
|
|
483
492
|
* Exchanges an OAuth2 authorization code for Cognito tokens using the token endpoint.
|
|
484
493
|
* See https://docs.aws.amazon.com/cognito/latest/developerguide/token-endpoint.html for request/response fields and grant details.
|
|
@@ -490,13 +499,13 @@ declare const signUp: (a: {
|
|
|
490
499
|
* @param a.cognitoDomain - Cognito domain URL (e.g., your-domain.auth.region.amazoncognito.com).
|
|
491
500
|
* @returns Parsed token payload containing `access_token`, `id_token`, `refresh_token`, token type, and expiry.
|
|
492
501
|
*/
|
|
493
|
-
declare
|
|
502
|
+
declare function verifyOAuthToken(a: {
|
|
494
503
|
code: string;
|
|
495
504
|
redirectUri: string;
|
|
496
505
|
clientId: string;
|
|
497
506
|
clientSecret: string;
|
|
498
507
|
cognitoDomain: string;
|
|
499
|
-
})
|
|
508
|
+
}): ResultAsync<{
|
|
500
509
|
access_token: string;
|
|
501
510
|
id_token: string;
|
|
502
511
|
refresh_token: string;
|
|
@@ -513,12 +522,12 @@ declare const verifyOAuthToken: (a: {
|
|
|
513
522
|
* @param a.cognitoDomain - Cognito domain URL (e.g., your-domain.auth.region.amazoncognito.com).
|
|
514
523
|
* @returns Parsed token payload containing `access_token`, `id_token`, `refresh_token`, token type, and expiry.
|
|
515
524
|
*/
|
|
516
|
-
declare
|
|
525
|
+
declare function refreshOAuthToken(a: {
|
|
517
526
|
clientId: string;
|
|
518
527
|
clientSecret: string;
|
|
519
528
|
cognitoDomain: string;
|
|
520
529
|
refreshToken: string;
|
|
521
|
-
})
|
|
530
|
+
}): ResultAsync<{
|
|
522
531
|
access_token: string;
|
|
523
532
|
id_token: string;
|
|
524
533
|
refresh_token: string | undefined;
|
|
@@ -554,7 +563,7 @@ declare function error_lambda_fromS3(e: type_error_s3, options?: type_error_lamb
|
|
|
554
563
|
declare function is_s3_notFound(error: unknown): boolean;
|
|
555
564
|
//#endregion
|
|
556
565
|
//#region src/s3/signedUrl.d.ts
|
|
557
|
-
declare
|
|
566
|
+
declare function getSignedUrl(...args: Parameters<typeof getSignedUrl$1>): ResultAsync<string, type_error_s3>;
|
|
558
567
|
//#endregion
|
|
559
568
|
//#region src/s3/object.d.ts
|
|
560
569
|
/**
|
|
@@ -564,7 +573,7 @@ declare const getSignedUrl: <InputTypesUnion extends object, InputType extends I
|
|
|
564
573
|
* @param {string} key - The key of the object to retrieve.
|
|
565
574
|
* @returns {Promise<Buffer>} A promise that resolves to the object data as a Buffer.
|
|
566
575
|
*/
|
|
567
|
-
declare
|
|
576
|
+
declare function getObject(bucketName: string, key: string): ResultAsync<Buffer<ArrayBufferLike>, type_error_s3>;
|
|
568
577
|
/**
|
|
569
578
|
* Convenience function to get an object from S3 and return it as a string.
|
|
570
579
|
*/
|
|
@@ -576,7 +585,7 @@ declare function getObjectString(bucketName: string, key: string): ResultAsync<s
|
|
|
576
585
|
* @param {string} key - The key of the object to retrieve.
|
|
577
586
|
* @returns {Promise<Buffer>} A promise that resolves to a boolean.
|
|
578
587
|
*/
|
|
579
|
-
declare
|
|
588
|
+
declare function objectExists(bucketName: string, key: string): ResultAsync<boolean, type_error_s3>;
|
|
580
589
|
//#endregion
|
|
581
590
|
//#region src/dynamo/errors.d.ts
|
|
582
591
|
/** Error wrapper for failures that happen while doing DynamoDB or DynamoDB Toolbox work. */
|
|
@@ -1067,5 +1076,5 @@ declare function getErrorName(error: unknown): string | undefined;
|
|
|
1067
1076
|
//#region src/types/safe.d.ts
|
|
1068
1077
|
type SafeOmit<T, K extends keyof any> = T extends any ? Omit<T, K> : never;
|
|
1069
1078
|
//#endregion
|
|
1070
|
-
export { APIGatewayHandler, ApiEndpoints, ApiErrorBody, ApiInput, ApiOutput, ApiRequestFunction, ApiResponse, ApiSchema, ApiSuccessBody, CleanResponse, DeepOverride, DeepPartial, DeepReadonly, DeepRequired, ErrorBody, ErrorCode, ErrorRawProxyResultV2, FetchResponse, GetSchemaByPathOptions, HTTPMethod, HTTPMethods, LambdaErrorResponse, OkRawProxyResultV2, RawApiGatewayHandler, RawProxyResultV2, SafeOmit, SuccessCode, Toc, TocEntry, changePassword, colorText, computeSecretHash, confirmForgotPassword, confirmSignup, createApiRequest, deepDiff, error_cognito, error_dynamo, error_lambda_badRequest, error_lambda_conflict, error_lambda_forbidden, error_lambda_fromCognito, error_lambda_fromDynamo, error_lambda_fromS3, error_lambda_fromSes, error_lambda_internal, error_lambda_notFound, error_lambda_unauthorized, error_s3, error_ses, exists, extractAttributes, extractToc, forgotPassword, getByPath, getCognitoClient, getCookies, getErrorName, getObject, getObjectString, getS3, getSchemaByPath, getSignedUrl, getUserDetails, getUserGroups, isRecord, isSchema, is_s3_notFound, login, logout, objectExists, parseRaw, pruneToShape, readPackageJson, refreshOAuthToken, refreshTokens, resetPassword, response_error, response_ok, response_valibotError, setByPath, signUp, type_error_cognito, type_error_dynamo, type_error_lambda, type_error_lambda_badRequest, type_error_lambda_conflict, type_error_lambda_forbidden, type_error_lambda_fromCognito_options, type_error_lambda_fromCognito_reason, type_error_lambda_fromDynamo_options, type_error_lambda_fromDynamo_reason, type_error_lambda_fromS3_options, type_error_lambda_fromS3_reason, type_error_lambda_fromSes_options, type_error_lambda_fromSes_reason, type_error_lambda_internal, type_error_lambda_notFound, type_error_lambda_unauthorized, type_error_response, type_error_s3, type_error_ses, type_userResponse, unwrap, verifyOAuthToken, wrapHandler, writeIfDifferent };
|
|
1079
|
+
export { APIGatewayHandler, ApiEndpoints, ApiErrorBody, ApiInput, ApiOutput, ApiRequestFunction, ApiResponse, ApiSchema, ApiSuccessBody, CleanResponse, DeepOverride, DeepPartial, DeepReadonly, DeepRequired, ErrorBody, ErrorCode, ErrorRawProxyResultV2, FetchResponse, GetSchemaByPathOptions, HTTPMethod, HTTPMethods, LambdaErrorResponse, OkRawProxyResultV2, RawApiGatewayHandler, RawProxyResultV2, SafeOmit, SuccessCode, Toc, TocEntry, changePassword, colorText, computeSecretHash, confirmForgotPassword, confirmSignup, createApiRequest, deepDiff, error_cognito, error_dynamo, error_lambda_badRequest, error_lambda_conflict, error_lambda_forbidden, error_lambda_fromCognito, error_lambda_fromDynamo, error_lambda_fromS3, error_lambda_fromSes, error_lambda_internal, error_lambda_notFound, error_lambda_unauthorized, error_s3, error_ses, exists, extractAttributes, extractToc, forgotPassword, getByPath, getCognitoClient, getCookies, getErrorName, getObject, getObjectString, getS3, getSchemaByPath, getSignedUrl, getUserDetails, getUserGroups, isRecord, isSchema, is_s3_notFound, login, logout, objectExists, parseRaw, pruneToShape, readPackageJson, refreshOAuthToken, refreshTokens, refreshTokensAuth, resetPassword, response_error, response_ok, response_valibotError, setByPath, signUp, type_error_cognito, type_error_dynamo, type_error_lambda, type_error_lambda_badRequest, type_error_lambda_conflict, type_error_lambda_forbidden, type_error_lambda_fromCognito_options, type_error_lambda_fromCognito_reason, type_error_lambda_fromDynamo_options, type_error_lambda_fromDynamo_reason, type_error_lambda_fromS3_options, type_error_lambda_fromS3_reason, type_error_lambda_fromSes_options, type_error_lambda_fromSes_reason, type_error_lambda_internal, type_error_lambda_notFound, type_error_lambda_unauthorized, type_error_response, type_error_s3, type_error_ses, type_userResponse, unwrap, verifyOAuthToken, wrapHandler, writeIfDifferent };
|
|
1071
1080
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":["Data","Point","line","column","offset","Position","start","end","Literal","Node","value","type","data","position","Parent","children","Data","UnistData","Literal","UnistLiteral","Node","UnistNode","Parent","UnistParent","Properties","Array","PropertyName","ElementContent","ElementContentMap","Comment","Element","Text","comment","element","text","RootContent","RootContentMap","Doctype","doctype","Content","Literals","Nodes","Extract","Root","Parents","data","value","children","CommentData","type","DoctypeData","ElementData","tagName","properties","content","RootData","TextData"],"sources":["../src/lambda/handlerUtils.ts","../src/lambda/client-types.ts","../src/lambda/client.ts","../src/lambda/errors.ts","../src/lambda/response.ts","../src/lambda/server/authentication.ts","../src/cognito/client.ts","../src/cognito/errors.ts","../src/cognito/user.ts","../src/cognito/password.ts","../src/s3/client.ts","../src/s3/errors.ts","../src/s3/signedUrl.ts","../src/s3/object.ts","../src/dynamo/errors.ts","../src/ses/errors.ts","../node_modules/.pnpm/@types+unist@3.0.3/node_modules/@types/unist/index.d.ts","../node_modules/.pnpm/@types+hast@3.0.4/node_modules/@types/hast/index.d.ts","../src/rehype/flat-toc.ts","../src/utils/valibot.ts","../src/types/deep.ts","../src/utils/object.ts","../src/utils/fs.ts","../src/utils/cli.ts","../src/utils/errors.ts","../src/types/safe.ts"],"x_google_ignoreList":[16,17],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":["Data","Point","line","column","offset","Position","start","end","Literal","Node","value","type","data","position","Parent","children","Data","UnistData","Literal","UnistLiteral","Node","UnistNode","Parent","UnistParent","Properties","Array","PropertyName","ElementContent","ElementContentMap","Comment","Element","Text","comment","element","text","RootContent","RootContentMap","Doctype","doctype","Content","Literals","Nodes","Extract","Root","Parents","data","value","children","CommentData","type","DoctypeData","ElementData","tagName","properties","content","RootData","TextData"],"sources":["../src/lambda/handlerUtils.ts","../src/lambda/client-types.ts","../src/lambda/client.ts","../src/lambda/errors.ts","../src/lambda/response.ts","../src/lambda/server/authentication.ts","../src/cognito/client.ts","../src/cognito/errors.ts","../src/cognito/user.ts","../src/cognito/password.ts","../src/s3/client.ts","../src/s3/errors.ts","../src/s3/signedUrl.ts","../src/s3/object.ts","../src/dynamo/errors.ts","../src/ses/errors.ts","../node_modules/.pnpm/@types+unist@3.0.3/node_modules/@types/unist/index.d.ts","../node_modules/.pnpm/@types+hast@3.0.4/node_modules/@types/hast/index.d.ts","../src/rehype/flat-toc.ts","../src/utils/valibot.ts","../src/types/deep.ts","../src/utils/object.ts","../src/utils/fs.ts","../src/utils/cli.ts","../src/utils/errors.ts","../src/types/safe.ts"],"x_google_ignoreList":[16,17],"mappings":"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"}
|