@rpcbase/server 0.600.0 → 0.602.0
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/{email-Co1GNjlT.js → email-CK8NNDQY.js} +48 -24
- package/dist/email-CK8NNDQY.js.map +1 -0
- package/dist/email.d.ts +9 -0
- package/dist/email.d.ts.map +1 -1
- package/dist/fileReferences-Ca0tivFd.js +101 -0
- package/dist/fileReferences-Ca0tivFd.js.map +1 -0
- package/dist/{handler-Fk-5fOSm.js → handler-BUTqP40B.js} +2 -2
- package/dist/{handler-Fk-5fOSm.js.map → handler-BUTqP40B.js.map} +1 -1
- package/dist/{handler-C92_gJkX.js → handler-BgcIWWMc.js} +2 -2
- package/dist/{handler-C92_gJkX.js.map → handler-BgcIWWMc.js.map} +1 -1
- package/dist/{handler-CapJTGzc.js → handler-CqSlSCdd.js} +215 -57
- package/dist/handler-CqSlSCdd.js.map +1 -0
- package/dist/{handler-BqlcQ9sE.js → handler-LRLmxrsg.js} +69 -24
- package/dist/handler-LRLmxrsg.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +148 -4
- package/dist/index.js.map +1 -1
- package/dist/initServer.d.ts.map +1 -1
- package/dist/notifications.js +2 -2
- package/dist/postProcessors-iffHvje4.js.map +1 -1
- package/dist/rts/index.js +1 -1
- package/dist/{schemas-B2fUvgYo.js → schemas-POKnVn0c.js} +58 -2
- package/dist/schemas-POKnVn0c.js.map +1 -0
- package/dist/serviceWorker.d.ts +7 -0
- package/dist/serviceWorker.d.ts.map +1 -0
- package/dist/{shared-DfrVDSp0.js → shared-Zt17vuAT.js} +54 -2
- package/dist/shared-Zt17vuAT.js.map +1 -0
- package/dist/uploads/api/file-uploads/fileReferences.d.ts +42 -0
- package/dist/uploads/api/file-uploads/fileReferences.d.ts.map +1 -0
- package/dist/uploads/api/file-uploads/handlers/completeUpload.d.ts.map +1 -1
- package/dist/uploads/api/file-uploads/handlers/initUpload.d.ts.map +1 -1
- package/dist/uploads/api/file-uploads/imageVariantsPostProcessor.d.ts.map +1 -1
- package/dist/uploads/api/file-uploads/index.d.ts +23 -0
- package/dist/uploads/api/file-uploads/index.d.ts.map +1 -1
- package/dist/uploads/api/file-uploads/postProcessors.d.ts +2 -0
- package/dist/uploads/api/file-uploads/postProcessors.d.ts.map +1 -1
- package/dist/uploads/api/file-uploads/shared.d.ts +21 -0
- package/dist/uploads/api/file-uploads/shared.d.ts.map +1 -1
- package/dist/uploads/api/files/handlers/deleteFile.d.ts.map +1 -1
- package/dist/uploads/api/files/handlers/getFile.d.ts.map +1 -1
- package/dist/uploads/worker.js +3 -2
- package/dist/uploads/worker.js.map +1 -1
- package/dist/uploads.js +2 -2
- package/package.json +1 -1
- package/dist/email-Co1GNjlT.js.map +0 -1
- package/dist/handler-BqlcQ9sE.js.map +0 -1
- package/dist/handler-CapJTGzc.js.map +0 -1
- package/dist/schemas-B2fUvgYo.js.map +0 -1
- package/dist/shared-DfrVDSp0.js.map +0 -1
package/dist/initServer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initServer.d.ts","sourceRoot":"","sources":["../src/initServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"initServer.d.ts","sourceRoot":"","sources":["../src/initServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AA+BrC,KAAK,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AA0EtD,eAAO,MAAM,UAAU,GAAU,KAAK,WAAW,EAAE,WAAW,SAAS;;EAoFtE,CAAA"}
|
package/dist/notifications.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { i as sendEmail } from "./email-CK8NNDQY.js";
|
|
2
2
|
import { models } from "@rpcbase/db";
|
|
3
3
|
import { randomUUID } from "node:crypto";
|
|
4
4
|
//#region src/notifications/routes.ts
|
|
5
|
-
var routes = Object.entries({ .../* #__PURE__ */ Object.assign({ "./api/notifications/handler.ts": () => import("./handler-
|
|
5
|
+
var routes = Object.entries({ .../* #__PURE__ */ Object.assign({ "./api/notifications/handler.ts": () => import("./handler-BgcIWWMc.js") }) }).reduce((acc, [path, mod]) => {
|
|
6
6
|
acc[path.replace("./api/", "@rpcbase/server/notifications/api/")] = mod;
|
|
7
7
|
return acc;
|
|
8
8
|
}, {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postProcessors-iffHvje4.js","names":["queue","UploadPostProcessorContext","tenantId","uploadId","fileId","filename","mimeType","clientMimeType","totalSize","isPublic","userId","ownerKeyHash","inlineProcessors","metadata","Record","UploadPostProcessor","id","version","match","ctx","process","Promise","processorsById","Object","create","uploadPostProcessorTaskName","normalizeProcessorId","value","trim","normalizeProcessorVersion","undefined","Number","isInteger","registerUploadPostProcessor","processor","normalizedId","Error","normalizedVersion","registerUploadProcessor","unregisterUploadPostProcessor","unregisterUploadProcessor","clearUploadPostProcessors","keys","clearUploadProcessors","getUploadPostProcessors","values","getUploadProcessors","runUploadPostProcessors","processors","length","error","console","processorId","processorVersion","stage","isUploadPostProcessorTaskRegistered","registerUploadPostProcessorTask","registerTask","payload","enqueueUploadPostProcessors","add","attempts","backoff","type","delay","removeOnComplete","removeOnFail"],"sources":["../src/uploads/api/file-uploads/postProcessors.ts"],"sourcesContent":["import { queue } from \"@rpcbase/worker\"\n\n\nexport type UploadPostProcessorContext = {\n tenantId: string\n uploadId: string\n fileId: string\n filename: string\n mimeType: string\n clientMimeType: string\n totalSize: number\n isPublic?: boolean\n userId?: string\n ownerKeyHash?: string\n inlineProcessors: string[]\n metadata: Record<string, unknown>\n}\n\nexport type UploadPostProcessor = {\n id: string\n version?: number\n match?: (ctx: UploadPostProcessorContext) => boolean\n process: (ctx: UploadPostProcessorContext) => Promise<unknown> | unknown\n}\n\nconst processorsById: Record<string, UploadPostProcessor> = Object.create(null)\nexport const uploadPostProcessorTaskName = \"rb-upload-post-processors\"\n\nconst normalizeProcessorId = (value: unknown): string => (typeof value === \"string\" ? value.trim() : \"\")\n\nconst normalizeProcessorVersion = (value: unknown): number | undefined => {\n if (typeof value !== \"number\") return undefined\n if (!Number.isInteger(value) || value < 1) return undefined\n return value\n}\n\nexport const registerUploadPostProcessor = (processor: UploadPostProcessor): void => {\n const normalizedId = normalizeProcessorId(processor.id)\n if (!normalizedId) {\n throw new Error(\"Upload post processor id is required.\")\n }\n\n const normalizedVersion = normalizeProcessorVersion(processor.version)\n\n processorsById[normalizedId] = {\n ...processor,\n id: normalizedId,\n ...(normalizedVersion ? { version: normalizedVersion } : {}),\n }\n}\n\nexport const registerUploadProcessor = registerUploadPostProcessor\n\nexport const unregisterUploadPostProcessor = (id: string): void => {\n const normalizedId = normalizeProcessorId(id)\n if (!normalizedId) return\n delete processorsById[normalizedId]\n}\n\nexport const unregisterUploadProcessor = unregisterUploadPostProcessor\n\nexport const clearUploadPostProcessors = (): void => {\n for (const id of Object.keys(processorsById)) {\n delete processorsById[id]\n }\n}\n\nexport const clearUploadProcessors = clearUploadPostProcessors\n\nexport const getUploadPostProcessors = (): UploadPostProcessor[] => Object.values(processorsById)\n\nexport const getUploadProcessors = getUploadPostProcessors\n\nexport const runUploadPostProcessors = async (ctx: UploadPostProcessorContext): Promise<void> => {\n const processors = getUploadPostProcessors()\n if (!processors.length) return\n\n for (const processor of processors) {\n if (processor.match) {\n try {\n if (!processor.match(ctx)) continue\n } catch (error) {\n console.error(\"Upload post processor failed\", {\n processorId: processor.id,\n processorVersion: processor.version,\n tenantId: ctx.tenantId,\n uploadId: ctx.uploadId,\n fileId: ctx.fileId,\n stage: \"match\",\n error,\n })\n continue\n }\n }\n\n try {\n await processor.process(ctx)\n } catch (error) {\n console.error(\"Upload post processor failed\", {\n processorId: processor.id,\n processorVersion: processor.version,\n tenantId: ctx.tenantId,\n uploadId: ctx.uploadId,\n fileId: ctx.fileId,\n stage: \"process\",\n error,\n })\n }\n }\n}\n\nlet isUploadPostProcessorTaskRegistered = false\n\nexport const registerUploadPostProcessorTask = (): void => {\n if (isUploadPostProcessorTaskRegistered) return\n\n queue.registerTask(uploadPostProcessorTaskName, async (payload) => {\n await runUploadPostProcessors(payload as UploadPostProcessorContext)\n })\n isUploadPostProcessorTaskRegistered = true\n}\n\nexport const enqueueUploadPostProcessors = async (ctx: UploadPostProcessorContext): Promise<void> => {\n await queue.add(uploadPostProcessorTaskName, ctx, {\n attempts: 3,\n backoff: { type: \"exponential\", delay: 5_000 },\n removeOnComplete: true,\n removeOnFail: false,\n })\n}\n"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"postProcessors-iffHvje4.js","names":["queue","UploadAccessScope","UploadPostProcessorContext","tenantId","uploadId","fileId","filename","mimeType","clientMimeType","totalSize","isPublic","accessScope","userId","ownerKeyHash","inlineProcessors","metadata","Record","UploadPostProcessor","id","version","match","ctx","process","Promise","processorsById","Object","create","uploadPostProcessorTaskName","normalizeProcessorId","value","trim","normalizeProcessorVersion","undefined","Number","isInteger","registerUploadPostProcessor","processor","normalizedId","Error","normalizedVersion","registerUploadProcessor","unregisterUploadPostProcessor","unregisterUploadProcessor","clearUploadPostProcessors","keys","clearUploadProcessors","getUploadPostProcessors","values","getUploadProcessors","runUploadPostProcessors","processors","length","error","console","processorId","processorVersion","stage","isUploadPostProcessorTaskRegistered","registerUploadPostProcessorTask","registerTask","payload","enqueueUploadPostProcessors","add","attempts","backoff","type","delay","removeOnComplete","removeOnFail"],"sources":["../src/uploads/api/file-uploads/postProcessors.ts"],"sourcesContent":["import { queue } from \"@rpcbase/worker\"\n\nimport type { UploadAccessScope } from \"./shared\"\n\n\nexport type UploadPostProcessorContext = {\n tenantId: string\n uploadId: string\n fileId: string\n filename: string\n mimeType: string\n clientMimeType: string\n totalSize: number\n isPublic?: boolean\n accessScope?: UploadAccessScope\n userId?: string\n ownerKeyHash?: string\n inlineProcessors: string[]\n metadata: Record<string, unknown>\n}\n\nexport type UploadPostProcessor = {\n id: string\n version?: number\n match?: (ctx: UploadPostProcessorContext) => boolean\n process: (ctx: UploadPostProcessorContext) => Promise<unknown> | unknown\n}\n\nconst processorsById: Record<string, UploadPostProcessor> = Object.create(null)\nexport const uploadPostProcessorTaskName = \"rb-upload-post-processors\"\n\nconst normalizeProcessorId = (value: unknown): string => (typeof value === \"string\" ? value.trim() : \"\")\n\nconst normalizeProcessorVersion = (value: unknown): number | undefined => {\n if (typeof value !== \"number\") return undefined\n if (!Number.isInteger(value) || value < 1) return undefined\n return value\n}\n\nexport const registerUploadPostProcessor = (processor: UploadPostProcessor): void => {\n const normalizedId = normalizeProcessorId(processor.id)\n if (!normalizedId) {\n throw new Error(\"Upload post processor id is required.\")\n }\n\n const normalizedVersion = normalizeProcessorVersion(processor.version)\n\n processorsById[normalizedId] = {\n ...processor,\n id: normalizedId,\n ...(normalizedVersion ? { version: normalizedVersion } : {}),\n }\n}\n\nexport const registerUploadProcessor = registerUploadPostProcessor\n\nexport const unregisterUploadPostProcessor = (id: string): void => {\n const normalizedId = normalizeProcessorId(id)\n if (!normalizedId) return\n delete processorsById[normalizedId]\n}\n\nexport const unregisterUploadProcessor = unregisterUploadPostProcessor\n\nexport const clearUploadPostProcessors = (): void => {\n for (const id of Object.keys(processorsById)) {\n delete processorsById[id]\n }\n}\n\nexport const clearUploadProcessors = clearUploadPostProcessors\n\nexport const getUploadPostProcessors = (): UploadPostProcessor[] => Object.values(processorsById)\n\nexport const getUploadProcessors = getUploadPostProcessors\n\nexport const runUploadPostProcessors = async (ctx: UploadPostProcessorContext): Promise<void> => {\n const processors = getUploadPostProcessors()\n if (!processors.length) return\n\n for (const processor of processors) {\n if (processor.match) {\n try {\n if (!processor.match(ctx)) continue\n } catch (error) {\n console.error(\"Upload post processor failed\", {\n processorId: processor.id,\n processorVersion: processor.version,\n tenantId: ctx.tenantId,\n uploadId: ctx.uploadId,\n fileId: ctx.fileId,\n stage: \"match\",\n error,\n })\n continue\n }\n }\n\n try {\n await processor.process(ctx)\n } catch (error) {\n console.error(\"Upload post processor failed\", {\n processorId: processor.id,\n processorVersion: processor.version,\n tenantId: ctx.tenantId,\n uploadId: ctx.uploadId,\n fileId: ctx.fileId,\n stage: \"process\",\n error,\n })\n }\n }\n}\n\nlet isUploadPostProcessorTaskRegistered = false\n\nexport const registerUploadPostProcessorTask = (): void => {\n if (isUploadPostProcessorTaskRegistered) return\n\n queue.registerTask(uploadPostProcessorTaskName, async (payload) => {\n await runUploadPostProcessors(payload as UploadPostProcessorContext)\n })\n isUploadPostProcessorTaskRegistered = true\n}\n\nexport const enqueueUploadPostProcessors = async (ctx: UploadPostProcessorContext): Promise<void> => {\n await queue.add(uploadPostProcessorTaskName, ctx, {\n attempts: 3,\n backoff: { type: \"exponential\", delay: 5_000 },\n removeOnComplete: true,\n removeOnFail: false,\n })\n}\n"],"mappings":";;AA4BA,IAAMwB,iBAAsDC,OAAOC,OAAO,IAAI;AAC9E,IAAaC,8BAA8B;AAE3C,IAAMC,wBAAwBC,UAA4B,OAAOA,UAAU,WAAWA,MAAMC,KAAK,IAAI;AAErG,IAAMC,6BAA6BF,UAAuC;CACxE,IAAI,OAAOA,UAAU,UAAU,OAAOG,KAAAA;CACtC,IAAI,CAACC,OAAOC,UAAUL,KAAK,KAAKA,QAAQ,GAAG,OAAOG,KAAAA;CAClD,OAAOH;AACT;AAEA,IAAaM,+BAA+BC,cAAyC;CACnF,MAAMC,eAAeT,qBAAqBQ,UAAUlB,EAAE;CACtD,IAAI,CAACmB,cACH,MAAM,IAAIC,MAAM,uCAAuC;CAGzD,MAAMC,oBAAoBR,0BAA0BK,UAAUjB,OAAO;CAErEK,eAAea,gBAAgB;EAC7B,GAAGD;EACHlB,IAAImB;EACJ,GAAIE,oBAAoB,EAAEpB,SAASoB,kBAAkB,IAAI,CAAC;CAC5D;AACF;AAEA,IAAaC,0BAA0BL;AAEvC,IAAaM,iCAAiCvB,OAAqB;CACjE,MAAMmB,eAAeT,qBAAqBV,EAAE;CAC5C,IAAI,CAACmB,cAAc;CACnB,OAAOb,eAAea;AACxB;AAEA,IAAaK,4BAA4BD;AAEzC,IAAaE,kCAAwC;CACnD,KAAK,MAAMzB,MAAMO,OAAOmB,KAAKpB,cAAc,GACzC,OAAOA,eAAeN;AAE1B;AAEA,IAAa2B,wBAAwBF;AAErC,IAAaG,gCAAuDrB,OAAOsB,OAAOvB,cAAc;AAEhG,IAAawB,sBAAsBF;AAEnC,IAAaG,0BAA0B,OAAO5B,QAAmD;CAC/F,MAAM6B,aAAaJ,wBAAwB;CAC3C,IAAI,CAACI,WAAWC,QAAQ;CAExB,KAAK,MAAMf,aAAac,YAAY;EAClC,IAAId,UAAUhB,OACZ,IAAI;GACF,IAAI,CAACgB,UAAUhB,MAAMC,GAAG,GAAG;EAC7B,SAAS+B,OAAO;GACdC,QAAQD,MAAM,gCAAgC;IAC5CE,aAAalB,UAAUlB;IACvBqC,kBAAkBnB,UAAUjB;IAC5BhB,UAAUkB,IAAIlB;IACdC,UAAUiB,IAAIjB;IACdC,QAAQgB,IAAIhB;IACZmD,OAAO;IACPJ;GACF,CAAC;GACD;EACF;EAGF,IAAI;GACF,MAAMhB,UAAUd,QAAQD,GAAG;EAC7B,SAAS+B,OAAO;GACdC,QAAQD,MAAM,gCAAgC;IAC5CE,aAAalB,UAAUlB;IACvBqC,kBAAkBnB,UAAUjB;IAC5BhB,UAAUkB,IAAIlB;IACdC,UAAUiB,IAAIjB;IACdC,QAAQgB,IAAIhB;IACZmD,OAAO;IACPJ;GACF,CAAC;EACH;CACF;AACF;AAEA,IAAIK,sCAAsC;AAE1C,IAAaC,wCAA8C;CACzD,IAAID,qCAAqC;CAEzCzD,MAAM2D,aAAahC,6BAA6B,OAAOiC,YAAY;EACjE,MAAMX,wBAAwBW,OAAqC;CACrE,CAAC;CACDH,sCAAsC;AACxC;AAEA,IAAaI,8BAA8B,OAAOxC,QAAmD;CACnG,MAAMrB,MAAM8D,IAAInC,6BAA6BN,KAAK;EAChD0C,UAAU;EACVC,SAAS;GAAEC,MAAM;GAAeC,OAAO;EAAM;EAC7CC,kBAAkB;EAClBC,cAAc;CAChB,CAAC;AACH"}
|
package/dist/rts/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import { randomUUID } from "node:crypto";
|
|
|
4
4
|
import { buildAbilityFromSession } from "@rpcbase/db/acl";
|
|
5
5
|
import { WebSocketServer } from "ws";
|
|
6
6
|
//#region src/rts/routes.ts
|
|
7
|
-
var routes = Object.entries({ .../* #__PURE__ */ Object.assign({ "./api/changes/handler.ts": () => import("../handler-
|
|
7
|
+
var routes = Object.entries({ .../* #__PURE__ */ Object.assign({ "./api/changes/handler.ts": () => import("../handler-BUTqP40B.js") }) }).reduce((acc, [path, mod]) => {
|
|
8
8
|
acc[path.replace("./api/", "@rpcbase/server/rts/api/")] = mod;
|
|
9
9
|
return acc;
|
|
10
10
|
}, {});
|
|
@@ -1989,6 +1989,24 @@ var $ZodEnum = /*@__PURE__*/ $constructor("$ZodEnum", (inst, def) => {
|
|
|
1989
1989
|
return payload;
|
|
1990
1990
|
};
|
|
1991
1991
|
});
|
|
1992
|
+
var $ZodLiteral = /*@__PURE__*/ $constructor("$ZodLiteral", (inst, def) => {
|
|
1993
|
+
$ZodType.init(inst, def);
|
|
1994
|
+
if (def.values.length === 0) throw new Error("Cannot create literal schema with no valid values");
|
|
1995
|
+
const values = new Set(def.values);
|
|
1996
|
+
inst._zod.values = values;
|
|
1997
|
+
inst._zod.pattern = new RegExp(`^(${def.values.map((o) => typeof o === "string" ? escapeRegex(o) : o ? escapeRegex(o.toString()) : String(o)).join("|")})$`);
|
|
1998
|
+
inst._zod.parse = (payload, _ctx) => {
|
|
1999
|
+
const input = payload.value;
|
|
2000
|
+
if (values.has(input)) return payload;
|
|
2001
|
+
payload.issues.push({
|
|
2002
|
+
code: "invalid_value",
|
|
2003
|
+
values: def.values,
|
|
2004
|
+
input,
|
|
2005
|
+
inst
|
|
2006
|
+
});
|
|
2007
|
+
return payload;
|
|
2008
|
+
};
|
|
2009
|
+
});
|
|
1992
2010
|
var $ZodTransform = /*@__PURE__*/ $constructor("$ZodTransform", (inst, def) => {
|
|
1993
2011
|
$ZodType.init(inst, def);
|
|
1994
2012
|
inst._zod.optin = "optional";
|
|
@@ -3125,6 +3143,27 @@ var enumProcessor = (schema, _ctx, json, _params) => {
|
|
|
3125
3143
|
if (values.every((v) => typeof v === "string")) json.type = "string";
|
|
3126
3144
|
json.enum = values;
|
|
3127
3145
|
};
|
|
3146
|
+
var literalProcessor = (schema, ctx, json, _params) => {
|
|
3147
|
+
const def = schema._zod.def;
|
|
3148
|
+
const vals = [];
|
|
3149
|
+
for (const val of def.values) if (val === void 0) {
|
|
3150
|
+
if (ctx.unrepresentable === "throw") throw new Error("Literal `undefined` cannot be represented in JSON Schema");
|
|
3151
|
+
} else if (typeof val === "bigint") if (ctx.unrepresentable === "throw") throw new Error("BigInt literals cannot be represented in JSON Schema");
|
|
3152
|
+
else vals.push(Number(val));
|
|
3153
|
+
else vals.push(val);
|
|
3154
|
+
if (vals.length === 0) {} else if (vals.length === 1) {
|
|
3155
|
+
const val = vals[0];
|
|
3156
|
+
json.type = val === null ? "null" : typeof val;
|
|
3157
|
+
if (ctx.target === "draft-04" || ctx.target === "openapi-3.0") json.enum = [val];
|
|
3158
|
+
else json.const = val;
|
|
3159
|
+
} else {
|
|
3160
|
+
if (vals.every((v) => typeof v === "number")) json.type = "number";
|
|
3161
|
+
if (vals.every((v) => typeof v === "string")) json.type = "string";
|
|
3162
|
+
if (vals.every((v) => typeof v === "boolean")) json.type = "boolean";
|
|
3163
|
+
if (vals.every((v) => v === null)) json.type = "null";
|
|
3164
|
+
json.enum = vals;
|
|
3165
|
+
}
|
|
3166
|
+
};
|
|
3128
3167
|
var customProcessor = (_schema, ctx, _json, _params) => {
|
|
3129
3168
|
if (ctx.unrepresentable === "throw") throw new Error("Custom types cannot be represented in JSON Schema");
|
|
3130
3169
|
};
|
|
@@ -3980,6 +4019,23 @@ function _enum(values, params) {
|
|
|
3980
4019
|
...normalizeParams(params)
|
|
3981
4020
|
});
|
|
3982
4021
|
}
|
|
4022
|
+
var ZodLiteral = /*@__PURE__*/ $constructor("ZodLiteral", (inst, def) => {
|
|
4023
|
+
$ZodLiteral.init(inst, def);
|
|
4024
|
+
ZodType.init(inst, def);
|
|
4025
|
+
inst._zod.processJSONSchema = (ctx, json, params) => literalProcessor(inst, ctx, json, params);
|
|
4026
|
+
inst.values = new Set(def.values);
|
|
4027
|
+
Object.defineProperty(inst, "value", { get() {
|
|
4028
|
+
if (def.values.length > 1) throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");
|
|
4029
|
+
return def.values[0];
|
|
4030
|
+
} });
|
|
4031
|
+
});
|
|
4032
|
+
function literal(value, params) {
|
|
4033
|
+
return new ZodLiteral({
|
|
4034
|
+
type: "literal",
|
|
4035
|
+
values: Array.isArray(value) ? value : [value],
|
|
4036
|
+
...normalizeParams(params)
|
|
4037
|
+
});
|
|
4038
|
+
}
|
|
3983
4039
|
var ZodTransform = /*@__PURE__*/ $constructor("ZodTransform", (inst, def) => {
|
|
3984
4040
|
$ZodTransform.init(inst, def);
|
|
3985
4041
|
ZodType.init(inst, def);
|
|
@@ -4146,6 +4202,6 @@ function superRefine(fn, params) {
|
|
|
4146
4202
|
return /* @__PURE__ */ _superRefine(fn, params);
|
|
4147
4203
|
}
|
|
4148
4204
|
//#endregion
|
|
4149
|
-
export {
|
|
4205
|
+
export { number as a, string as c, literal as i, unknown as l, array as n, object as o, boolean as r, record as s, _enum as t };
|
|
4150
4206
|
|
|
4151
|
-
//# sourceMappingURL=schemas-
|
|
4207
|
+
//# sourceMappingURL=schemas-POKnVn0c.js.map
|