UNPKG

2.57 kBSource Map (JSON)View Raw
1{"version":3,"file":"defineAkteFiles.js","sources":["../../src/defineAkteFiles.ts"],"sourcesContent":["import {\n\tAkteFiles,\n\ttype FilesBulkDataFn,\n\ttype FilesDataFn,\n\ttype FilesDefinition,\n} from \"./AkteFiles\";\n\nimport type { Empty } from \"./types\";\n\n/**\n * Creates an Akte files instance.\n *\n * @example\n * \tconst posts = defineAkteFiles().from({\n * \t\tpath: \"/posts/:slug\",\n * \t\tbulkData() {\n * \t\t\treturn {\n * \t\t\t\t\"/posts/foo\": {},\n * \t\t\t\t\"/posts/bar\": {},\n * \t\t\t\t\"/posts/baz\": {},\n * \t\t\t};\n * \t\t},\n * \t\trender(context) {\n * \t\t\treturn \"...\";\n * \t\t},\n * \t});\n *\n * @typeParam TGlobalData - Global data the Akte files expects.\n * @typeParam TParams - Parameters the Akte files expects.\n * @typeParam TData - Data the Akte files expects (inferred by default)\n * @returns A factory to create the Akte files from.\n */\nexport const defineAkteFiles = <\n\tTGlobalData,\n\tTParams extends string[] | Empty = Empty,\n\tTData = Empty,\n>(): {\n\t/**\n\t * Creates an Akte files instance from a definition.\n\t *\n\t * @param definition - The definition to create the instance from.\n\t * @returns The created Akte files.\n\t */\n\tfrom: <\n\t\t_TGlobalData extends TGlobalData,\n\t\t_TParams extends TParams extends Empty\n\t\t\t? _TDataFn extends FilesDataFn<_TGlobalData, string[], unknown>\n\t\t\t\t? Exclude<keyof Parameters<_TDataFn>[0][\"params\"], Symbol | number>[]\n\t\t\t\t: string[]\n\t\t\t: TParams,\n\t\t_TData extends TData extends Empty\n\t\t\t? _TDataFn extends FilesDataFn<_TGlobalData, string[], unknown>\n\t\t\t\t? Awaited<ReturnType<_TDataFn>>\n\t\t\t\t: _TBulkDataFn extends FilesBulkDataFn<_TGlobalData, unknown>\n\t\t\t\t? Awaited<ReturnType<_TBulkDataFn>>[keyof Awaited<\n\t\t\t\t\t\tReturnType<_TBulkDataFn>\n\t\t\t\t >]\n\t\t\t\t: undefined\n\t\t\t: TData,\n\t\t_TDataFn extends FilesDataFn<_TGlobalData, string[], unknown> | undefined,\n\t\t_TBulkDataFn extends _TDataFn extends FilesDataFn<\n\t\t\t_TGlobalData,\n\t\t\tstring[],\n\t\t\tunknown\n\t\t>\n\t\t\t? FilesBulkDataFn<_TGlobalData, Awaited<ReturnType<_TDataFn>>> | undefined\n\t\t\t: FilesBulkDataFn<_TGlobalData, unknown> | undefined,\n\t>(\n\t\tdefinition: FilesDefinition<_TGlobalData, _TParams, _TData>,\n\t) => AkteFiles<_TGlobalData, _TParams, _TData>;\n} => {\n\treturn {\n\t\tfrom: (definition) => {\n\t\t\treturn new AkteFiles(definition);\n\t\t},\n\t};\n};\n"],"names":[],"mappings":";AAgCO,MAAM,kBAAkB,MAsC3B;AACI,SAAA;AAAA,IACN,MAAM,CAAC,eAAc;AACb,aAAA,IAAI,UAAU,UAAU;AAAA,IAChC;AAAA,EAAA;AAEF;"}
\No newline at end of file