@imolko/ultra-v8n 1.0.3-beta → 1.0.6-beta
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/README.md +3 -1
- package/package.json +3 -2
- package/dist-node/errors/builtin-codes.d.ts +0 -51
- package/dist-node/errors/builtin-codes.d.ts.map +0 -1
- package/dist-node/errors/builtin-codes.js +0 -65
- package/dist-node/errors/builtin-codes.js.map +0 -1
- package/dist-node/errors/builtin.errors.d.ts +0 -243
- package/dist-node/errors/builtin.errors.d.ts.map +0 -1
- package/dist-node/errors/builtin.errors.js +0 -109
- package/dist-node/errors/builtin.errors.js.map +0 -1
- package/dist-node/errors/index.d.ts +0 -11
- package/dist-node/errors/index.d.ts.map +0 -1
- package/dist-node/errors/index.js +0 -27
- package/dist-node/errors/index.js.map +0 -1
- package/dist-node/errors/parse-error.decorator.d.ts +0 -19
- package/dist-node/errors/parse-error.decorator.d.ts.map +0 -1
- package/dist-node/errors/parse-error.decorator.js +0 -51
- package/dist-node/errors/parse-error.decorator.js.map +0 -1
- package/dist-node/errors/v8n-built-in-parse-error-class-factory.d.ts +0 -15
- package/dist-node/errors/v8n-built-in-parse-error-class-factory.d.ts.map +0 -1
- package/dist-node/errors/v8n-built-in-parse-error-class-factory.js +0 -9
- package/dist-node/errors/v8n-built-in-parse-error-class-factory.js.map +0 -1
- package/dist-node/errors/v8n-custom-parse-error-class-factory.d.ts +0 -15
- package/dist-node/errors/v8n-custom-parse-error-class-factory.d.ts.map +0 -1
- package/dist-node/errors/v8n-custom-parse-error-class-factory.js +0 -9
- package/dist-node/errors/v8n-custom-parse-error-class-factory.js.map +0 -1
- package/dist-node/errors/v8n-issue-integration.d.ts +0 -7
- package/dist-node/errors/v8n-issue-integration.d.ts.map +0 -1
- package/dist-node/errors/v8n-issue-integration.js +0 -3
- package/dist-node/errors/v8n-issue-integration.js.map +0 -1
- package/dist-node/errors/v8n-issue-params.d.ts +0 -7
- package/dist-node/errors/v8n-issue-params.d.ts.map +0 -1
- package/dist-node/errors/v8n-issue-params.js +0 -3
- package/dist-node/errors/v8n-issue-params.js.map +0 -1
- package/dist-node/errors/v8n-issue.d.ts +0 -16
- package/dist-node/errors/v8n-issue.d.ts.map +0 -1
- package/dist-node/errors/v8n-issue.js +0 -3
- package/dist-node/errors/v8n-issue.js.map +0 -1
- package/dist-node/errors/v8n-parse-base-error.d.ts +0 -9
- package/dist-node/errors/v8n-parse-base-error.d.ts.map +0 -1
- package/dist-node/errors/v8n-parse-base-error.js +0 -32
- package/dist-node/errors/v8n-parse-base-error.js.map +0 -1
- package/dist-node/errors/v8n-parser-error-class-factory.d.ts +0 -35
- package/dist-node/errors/v8n-parser-error-class-factory.d.ts.map +0 -1
- package/dist-node/errors/v8n-parser-error-class-factory.js +0 -52
- package/dist-node/errors/v8n-parser-error-class-factory.js.map +0 -1
- package/dist-node/index.d.ts +0 -7
- package/dist-node/index.d.ts.map +0 -1
- package/dist-node/index.js +0 -23
- package/dist-node/index.js.map +0 -1
- package/dist-node/utils/convert-zod-issue-to-v8n-error.d.ts +0 -11
- package/dist-node/utils/convert-zod-issue-to-v8n-error.d.ts.map +0 -1
- package/dist-node/utils/convert-zod-issue-to-v8n-error.js +0 -93
- package/dist-node/utils/convert-zod-issue-to-v8n-error.js.map +0 -1
- package/dist-node/utils/index.d.ts +0 -3
- package/dist-node/utils/index.d.ts.map +0 -1
- package/dist-node/utils/index.js +0 -19
- package/dist-node/utils/index.js.map +0 -1
- package/dist-node/utils/is-object-json.d.ts +0 -8
- package/dist-node/utils/is-object-json.d.ts.map +0 -1
- package/dist-node/utils/is-object-json.js +0 -20
- package/dist-node/utils/is-object-json.js.map +0 -1
- package/dist-node/utils/message-template.d.ts +0 -30
- package/dist-node/utils/message-template.d.ts.map +0 -1
- package/dist-node/utils/message-template.js +0 -59
- package/dist-node/utils/message-template.js.map +0 -1
- package/dist-node/utils/zod-switch.d.ts +0 -11
- package/dist-node/utils/zod-switch.d.ts.map +0 -1
- package/dist-node/utils/zod-switch.js +0 -49
- package/dist-node/utils/zod-switch.js.map +0 -1
- package/dist-node/utils/zod-wrapper.d.ts +0 -15
- package/dist-node/utils/zod-wrapper.d.ts.map +0 -1
- package/dist-node/utils/zod-wrapper.js +0 -66
- package/dist-node/utils/zod-wrapper.js.map +0 -1
- package/dist-node/validatable-fn.type.d.ts +0 -10
- package/dist-node/validatable-fn.type.d.ts.map +0 -1
- package/dist-node/validatable-fn.type.js +0 -3
- package/dist-node/validatable-fn.type.js.map +0 -1
- package/dist-node/validate-zod-schema.d.ts +0 -25
- package/dist-node/validate-zod-schema.d.ts.map +0 -1
- package/dist-node/validate-zod-schema.js +0 -43
- package/dist-node/validate-zod-schema.js.map +0 -1
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.V8nMessageTemplate = void 0;
|
|
4
|
-
class V8nMessageTemplate {
|
|
5
|
-
static regex = /(\$+)(\{\s*(\w+)\s*\})/g;
|
|
6
|
-
/**
|
|
7
|
-
* Interpolamos el template con los valores pasados.
|
|
8
|
-
* En caso de que no se encuentre un valor para una llave, se deja el valor original.
|
|
9
|
-
* Para controlar la forma de escape del signo $, solo se considera el signo $ que aparece delante de ${}.
|
|
10
|
-
* En la cercanía de una expresión ${}, cada par de $ que aparecen delante son sustituidos por un solo $.
|
|
11
|
-
* Y si la cantidad de $ es impar, se interpola la expresión ${} y se reduce la cantidad de $ a la mitad.
|
|
12
|
-
* Si la cantidad de $ es par, se reduce la cantidad de $ a la mitad y no se interpola la expresión ${}.
|
|
13
|
-
*
|
|
14
|
-
* Si el objeto de valores contiene { abc: "xyz" }, al interpolar, se deben obtener los siguientes valores:
|
|
15
|
-
* Ejemplo: ${abc} -> xyz
|
|
16
|
-
* Ejemplo: $${abc} -> ${abc}
|
|
17
|
-
* Ejemplo: $$${abc} -> $xyz
|
|
18
|
-
* Ejemplo: $$$${abc} -> $${abc}
|
|
19
|
-
* Ejemplo: $$$$${abc} -> $$xyz
|
|
20
|
-
* Ejemplo: $$$$$${abc} -> $$${abc}
|
|
21
|
-
* Y así sucesivamente.
|
|
22
|
-
*/
|
|
23
|
-
static interpolate(template, values) {
|
|
24
|
-
const matches = template.matchAll(this.regex);
|
|
25
|
-
let result = '';
|
|
26
|
-
let lastIndex = 0;
|
|
27
|
-
for (const match of matches) {
|
|
28
|
-
if (match) {
|
|
29
|
-
const [fullMatch, $, brackedKey, key] = match;
|
|
30
|
-
if ($.length % 2 === 0) {
|
|
31
|
-
result += template.substring(lastIndex, match.index) + '$'.repeat($.length / 2) + brackedKey;
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
const value = values[key];
|
|
35
|
-
if (value !== undefined) {
|
|
36
|
-
result += template.substring(lastIndex, match.index) + '$'.repeat(($.length - 1) / 2) + (typeof value !== 'string' ? JSON.stringify(value) : value);
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
result += template.substring(lastIndex, match.index) + '$'.repeat(1 + (($.length - 1) / 2)) + brackedKey;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
const matchIndex = match.index === undefined ? 0 : match.index;
|
|
43
|
-
lastIndex = matchIndex + fullMatch.length;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
result += template.substring(lastIndex);
|
|
47
|
-
return result;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Evalua si el string incluye informacion de template.
|
|
51
|
-
* @param template El string que se quiere evcaluar si incluye informacion de template.
|
|
52
|
-
* @returns Si el string incluye informacion de template.
|
|
53
|
-
*/
|
|
54
|
-
static hasVariable(template) {
|
|
55
|
-
return this.regex.test(template);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
exports.V8nMessageTemplate = V8nMessageTemplate;
|
|
59
|
-
//# sourceMappingURL=message-template.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"message-template.js","sourceRoot":"","sources":["../../src/utils/message-template.ts"],"names":[],"mappings":";;;AAAA,MAAa,kBAAkB;IACrB,MAAM,CAAU,KAAK,GAAG,yBAAyB,CAAC;IAC1D;;;;;;;;;;;;;;;;OAgBG;IACI,MAAM,CAAC,WAAW,CAAC,QAAgB,EAAE,MAAkC;QAC5E,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC9C,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC;gBAC/F,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBACtJ,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;oBAC3G,CAAC;gBACH,CAAC;gBACD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC/D,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;YAC5C,CAAC;QAEH,CAAC;QACD,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,WAAW,CAAC,QAAgB;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;;AApDH,gDAqDC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { z, ZodType, ZodTypeAny } from 'zod';
|
|
2
|
-
export interface ZodSwitchDef<T extends ZodTypeAny, B extends ZodTypeAny = ZodType<unknown>> extends z.ZodTypeDef {
|
|
3
|
-
getSchema: (value: B['_output']) => T;
|
|
4
|
-
base: B;
|
|
5
|
-
typeName: 'ZodSwitch';
|
|
6
|
-
}
|
|
7
|
-
export declare class ZodSwitch<T extends ZodTypeAny, B extends ZodTypeAny> extends ZodType<T['_output'], ZodSwitchDef<T, B>, T['_input']> {
|
|
8
|
-
_parse(input: z.ParseInput): z.ParseReturnType<any>;
|
|
9
|
-
static create<T extends ZodTypeAny, B extends ZodTypeAny>(base: B, getSchema: (value: B['_output']) => T): ZodSwitch<T, B>;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=zod-switch.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zod-switch.d.ts","sourceRoot":"","sources":["../../src/utils/zod-switch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAE7C,MAAM,WAAW,YAAY,CAC3B,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CACvC,SAAQ,CAAC,CAAC,UAAU;IACpB,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,WAAW,CAAC;CACvB;AACD,qBAAa,SAAS,CACpB,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,UAAU,CACpB,SAAQ,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9D,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC;IAgCnD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,UAAU,EACtD,IAAI,EAAE,CAAC,EACP,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACpC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;CAOnB"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ZodSwitch = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
class ZodSwitch extends zod_1.ZodType {
|
|
6
|
-
_parse(input) {
|
|
7
|
-
const { ctx } = this._processInputParams(input);
|
|
8
|
-
if (ctx.common.async) {
|
|
9
|
-
const handleAsync = async () => {
|
|
10
|
-
const inResult = await this._def.base._parseAsync({
|
|
11
|
-
data: ctx.data,
|
|
12
|
-
path: ctx.path,
|
|
13
|
-
parent: ctx,
|
|
14
|
-
});
|
|
15
|
-
if (inResult.status !== 'valid')
|
|
16
|
-
return zod_1.z.INVALID;
|
|
17
|
-
return this._def.getSchema(inResult.value)._parseAsync({
|
|
18
|
-
data: inResult.value,
|
|
19
|
-
path: ctx.path,
|
|
20
|
-
parent: ctx,
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
return handleAsync();
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
const inResult = this._def.base._parseSync({
|
|
27
|
-
data: ctx.data,
|
|
28
|
-
path: ctx.path,
|
|
29
|
-
parent: ctx,
|
|
30
|
-
});
|
|
31
|
-
if (inResult.status !== 'valid')
|
|
32
|
-
return zod_1.z.INVALID;
|
|
33
|
-
return this._def.getSchema(inResult.value)._parseSync({
|
|
34
|
-
data: inResult.value,
|
|
35
|
-
path: ctx.path,
|
|
36
|
-
parent: ctx,
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
static create(base, getSchema) {
|
|
41
|
-
return new ZodSwitch({
|
|
42
|
-
base,
|
|
43
|
-
getSchema,
|
|
44
|
-
typeName: 'ZodSwitch',
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
exports.ZodSwitch = ZodSwitch;
|
|
49
|
-
//# sourceMappingURL=zod-switch.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zod-switch.js","sourceRoot":"","sources":["../../src/utils/zod-switch.ts"],"names":[],"mappings":";;;AAAA,6BAA6C;AAU7C,MAAa,SAGX,SAAQ,aAAsD;IAC9D,MAAM,CAAC,KAAmB;QACxB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;gBAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;oBAChD,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,MAAM,EAAE,GAAG;iBACZ,CAAC,CAAC;gBACH,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO;oBAAE,OAAO,OAAC,CAAC,OAAO,CAAC;gBAClD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC;oBACrD,IAAI,EAAE,QAAQ,CAAC,KAAK;oBACpB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,MAAM,EAAE,GAAG;iBACZ,CAAC,CAAC;YACL,CAAC,CAAC;YACF,OAAO,WAAW,EAAE,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;gBACzC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO;gBAAE,OAAO,OAAC,CAAC,OAAO,CAAC;YAClD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC;gBACpD,IAAI,EAAE,QAAQ,CAAC,KAAK;gBACpB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CACX,IAAO,EACP,SAAqC;QAErC,OAAO,IAAI,SAAS,CAAC;YACnB,IAAI;YACJ,SAAS;YACT,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAC;IACL,CAAC;CACF;AA9CD,8BA8CC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
/**
|
|
3
|
-
* Se encarga de ejecutar una función en tryCatch
|
|
4
|
-
* y convierte el resultado en un ZodTransform.
|
|
5
|
-
*
|
|
6
|
-
* Si el resultado es exitoso devuelve el valor de la función.
|
|
7
|
-
*
|
|
8
|
-
* Si el resultado genera un error, agrega el error como
|
|
9
|
-
* error custom en el contexto de Zod.
|
|
10
|
-
*
|
|
11
|
-
* @param fn función que se quiere aplicar en el try catch
|
|
12
|
-
* @returns valor de la función o llamada al ctx.addIssue
|
|
13
|
-
*/
|
|
14
|
-
export declare const zodWrapper: <ValueType, ReturnType>(fn: (value: ValueType) => ReturnType) => (value: ValueType, ctx: z.RefinementCtx) => ReturnType;
|
|
15
|
-
//# sourceMappingURL=zod-wrapper.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zod-wrapper.d.ts","sourceRoot":"","sources":["../../src/utils/zod-wrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsCxB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,8BAGjB,CAAC,KAAK,EAAE,SAAS,KAAK,UAAU,aAAa,SAAS,OAAO,EAAE,aAAa,KAAG,UAUpF,CAAA"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.zodWrapper = void 0;
|
|
4
|
-
const ultra_result_1 = require("@imolko/ultra-result");
|
|
5
|
-
const __1 = require("..");
|
|
6
|
-
const zod_1 = require("zod");
|
|
7
|
-
const extractLastWord = (path) => {
|
|
8
|
-
return path.split('/').pop() || '';
|
|
9
|
-
};
|
|
10
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
11
|
-
const convertErrorToIssue = (rawError) => {
|
|
12
|
-
if (rawError instanceof __1.V8nParseBaseError) {
|
|
13
|
-
const code = extractLastWord(rawError.type);
|
|
14
|
-
const serialized = JSON.stringify({
|
|
15
|
-
code,
|
|
16
|
-
message: { ...rawError }
|
|
17
|
-
});
|
|
18
|
-
const zodIssue = {
|
|
19
|
-
code: 'custom',
|
|
20
|
-
message: serialized,
|
|
21
|
-
path: [],
|
|
22
|
-
};
|
|
23
|
-
return zodIssue;
|
|
24
|
-
}
|
|
25
|
-
if (rawError instanceof ultra_result_1.ErrorBase) {
|
|
26
|
-
const result = {
|
|
27
|
-
code: 'custom',
|
|
28
|
-
message: rawError.title,
|
|
29
|
-
params: { ...rawError },
|
|
30
|
-
path: []
|
|
31
|
-
};
|
|
32
|
-
return result;
|
|
33
|
-
}
|
|
34
|
-
const defaultIssue = {
|
|
35
|
-
code: 'custom',
|
|
36
|
-
message: rawError.message,
|
|
37
|
-
path: []
|
|
38
|
-
};
|
|
39
|
-
return defaultIssue;
|
|
40
|
-
};
|
|
41
|
-
/**
|
|
42
|
-
* Se encarga de ejecutar una función en tryCatch
|
|
43
|
-
* y convierte el resultado en un ZodTransform.
|
|
44
|
-
*
|
|
45
|
-
* Si el resultado es exitoso devuelve el valor de la función.
|
|
46
|
-
*
|
|
47
|
-
* Si el resultado genera un error, agrega el error como
|
|
48
|
-
* error custom en el contexto de Zod.
|
|
49
|
-
*
|
|
50
|
-
* @param fn función que se quiere aplicar en el try catch
|
|
51
|
-
* @returns valor de la función o llamada al ctx.addIssue
|
|
52
|
-
*/
|
|
53
|
-
const zodWrapper = (fn) => (value, ctx) => {
|
|
54
|
-
try {
|
|
55
|
-
const result = fn(value);
|
|
56
|
-
return result;
|
|
57
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
58
|
-
}
|
|
59
|
-
catch (error) {
|
|
60
|
-
const issue = convertErrorToIssue(error);
|
|
61
|
-
ctx.addIssue(issue);
|
|
62
|
-
return zod_1.z.NEVER;
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
exports.zodWrapper = zodWrapper;
|
|
66
|
-
//# sourceMappingURL=zod-wrapper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zod-wrapper.js","sourceRoot":"","sources":["../../src/utils/zod-wrapper.ts"],"names":[],"mappings":";;;AAAA,uDAAiD;AACjD,0BAAiD;AACjD,6BAAwB;AAExB,MAAM,eAAe,GAAG,CAAC,IAAY,EAAU,EAAE;IAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;AACrC,CAAC,CAAA;AAED,8DAA8D;AAC9D,MAAM,mBAAmB,GAAG,CAAC,QAAa,EAAY,EAAE;IACtD,IAAI,QAAQ,YAAY,qBAAiB,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,IAAI;YACJ,OAAO,EAAE,EAAC,GAAG,QAAQ,EAAC;SACvB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAa;YACzB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,IAAI,EAAE,EAAE;SACT,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,QAAQ,YAAY,wBAAS,EAAE,CAAC;QAClC,MAAM,MAAM,GAAa;YACvB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,QAAQ,CAAC,KAAK;YACvB,MAAM,EAAE,EAAC,GAAG,QAAQ,EAAC;YACrB,IAAI,EAAE,EAAE;SACT,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,YAAY,GAAa;QAC7B,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,IAAI,EAAE,EAAE;KACT,CAAA;IACD,OAAO,YAAY,CAAC;AACtB,CAAC,CAAA;AAED;;;;;;;;;;;GAWG;AACI,MAAM,UAAU,GAAG,CAGxB,EAAoC,EAAE,EAAE,CAAC,CAAC,KAAgB,EAAE,GAAoB,EAAc,EAAE;IAChG,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACzB,OAAO,MAAoB,CAAC;QAC9B,8DAA8D;IAC9D,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACzC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,OAAC,CAAC,KAAK,CAAC;IAChB,CAAC;AACH,CAAC,CAAA;AAbY,QAAA,UAAU,cAatB"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { Validation } from '@imolko/ultra-result';
|
|
3
|
-
/**
|
|
4
|
-
* Define la forma o tipo de una funcion que puede ser decorada con el decorador v8nparse
|
|
5
|
-
*/
|
|
6
|
-
export type ValidatableFn<E = any, T = any> = (...args: any[]) => Validation<E, T>;
|
|
7
|
-
type ArrayOfLengthOne<T> = [T];
|
|
8
|
-
export type ValidatableOneParameterFn<RulesType extends z.ZodSchema, Errors, Type> = (...args: ArrayOfLengthOne<z.input<RulesType>>) => Validation<Errors, Type>;
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=validatable-fn.type.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validatable-fn.type.d.ts","sourceRoot":"","sources":["../src/validatable-fn.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD;;GAEG;AAEH,MAAM,MAAM,aAAa,CAAC,CAAC,GAAC,GAAG,EAAE,CAAC,GAAC,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/E,KAAK,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAG/B,MAAM,MAAM,yBAAyB,CAAC,SAAS,SAAS,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validatable-fn.type.js","sourceRoot":"","sources":["../src/validatable-fn.type.ts"],"names":[],"mappings":""}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ZodSchema, ZodTypeDef } from 'zod';
|
|
2
|
-
import { Validation } from '@imolko/ultra-result';
|
|
3
|
-
/**z
|
|
4
|
-
* Dado un zodSchema y un contenido, se encarga
|
|
5
|
-
* de parsear el contenido con el zodSchema
|
|
6
|
-
* y devuelve un Validation.
|
|
7
|
-
*
|
|
8
|
-
* Permite utilizar los schemas de zod para definir las reglas,
|
|
9
|
-
* y utilizar Validation para entregar el resultado.
|
|
10
|
-
*
|
|
11
|
-
* Se recomienda establecer los tipos en la llamada a la función
|
|
12
|
-
* ya que no se pueden inferir directamente
|
|
13
|
-
*
|
|
14
|
-
* Si se presentan issues con el parseo de Zod, se convierten en errores
|
|
15
|
-
* y se devuelve un invalid con dichos errores.
|
|
16
|
-
*
|
|
17
|
-
* Si no se presentan issues con el parseo de zod,
|
|
18
|
-
* se devuelve un valid con el resultado del parseo
|
|
19
|
-
*
|
|
20
|
-
* @param zSchema: schema que se quiere validar
|
|
21
|
-
* @param content: contenido que se quiere parsear
|
|
22
|
-
* @returns Validation<ErrorType, ReturnType>
|
|
23
|
-
*/
|
|
24
|
-
export declare const validateZodSchema: <ErrorType, ReturnType, ContentPayload = unknown>(zSchema: ZodSchema<ReturnType, ZodTypeDef, ContentPayload>, content: ContentPayload) => Validation<ErrorType, ReturnType>;
|
|
25
|
-
//# sourceMappingURL=validate-zod-schema.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate-zod-schema.d.ts","sourceRoot":"","sources":["../src/validate-zod-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACtD,OAAO,EAAa,UAAU,EAAkB,MAAM,sBAAsB,CAAC;AAI7E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,iBAAiB,6DAA8D,UAAU,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,WAAW,cAAc,KAAG,WAAW,SAAS,EAAE,UAAU,CAYxM,CAAA"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateZodSchema = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
const ultra_result_1 = require("@imolko/ultra-result");
|
|
6
|
-
const convert_zod_issue_to_v8n_error_1 = require("./utils/convert-zod-issue-to-v8n-error");
|
|
7
|
-
/**z
|
|
8
|
-
* Dado un zodSchema y un contenido, se encarga
|
|
9
|
-
* de parsear el contenido con el zodSchema
|
|
10
|
-
* y devuelve un Validation.
|
|
11
|
-
*
|
|
12
|
-
* Permite utilizar los schemas de zod para definir las reglas,
|
|
13
|
-
* y utilizar Validation para entregar el resultado.
|
|
14
|
-
*
|
|
15
|
-
* Se recomienda establecer los tipos en la llamada a la función
|
|
16
|
-
* ya que no se pueden inferir directamente
|
|
17
|
-
*
|
|
18
|
-
* Si se presentan issues con el parseo de Zod, se convierten en errores
|
|
19
|
-
* y se devuelve un invalid con dichos errores.
|
|
20
|
-
*
|
|
21
|
-
* Si no se presentan issues con el parseo de zod,
|
|
22
|
-
* se devuelve un valid con el resultado del parseo
|
|
23
|
-
*
|
|
24
|
-
* @param zSchema: schema que se quiere validar
|
|
25
|
-
* @param content: contenido que se quiere parsear
|
|
26
|
-
* @returns Validation<ErrorType, ReturnType>
|
|
27
|
-
*/
|
|
28
|
-
const validateZodSchema = (zSchema, content) => {
|
|
29
|
-
try {
|
|
30
|
-
const result = zSchema.parse(content);
|
|
31
|
-
return (0, ultra_result_1.valid)(result);
|
|
32
|
-
}
|
|
33
|
-
catch (zodError) {
|
|
34
|
-
/** Si el error no es del tipo ZodError, no se puede parsear */
|
|
35
|
-
if (!(zodError instanceof zod_1.ZodError)) {
|
|
36
|
-
throw zodError;
|
|
37
|
-
}
|
|
38
|
-
const issues = zodError.issues.map(convert_zod_issue_to_v8n_error_1.convertZodIssueToV8nError);
|
|
39
|
-
return (0, ultra_result_1.invalid)(issues);
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
exports.validateZodSchema = validateZodSchema;
|
|
43
|
-
//# sourceMappingURL=validate-zod-schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate-zod-schema.js","sourceRoot":"","sources":["../src/validate-zod-schema.ts"],"names":[],"mappings":";;;AAAA,6BAAsD;AACtD,uDAA6E;AAE7E,2FAAmF;AAEnF;;;;;;;;;;;;;;;;;;;;GAoBG;AACI,MAAM,iBAAiB,GAAG,CAAkD,OAA0D,EAAE,OAAuB,EAAqC,EAAE;IAC3M,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,IAAA,oBAAK,EAAa,MAAoB,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,QAAQ,EAAE,CAAC;QAClB,+DAA+D;QAC/D,IAAI,CAAC,CAAC,QAAQ,YAAY,cAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,QAAQ,CAAC;QACjB,CAAC;QACD,MAAM,MAAM,GAAmC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,0DAAyB,CAAC,CAAA;QAC7F,OAAO,IAAA,sBAAO,EAAY,MAAgC,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC,CAAA;AAZY,QAAA,iBAAiB,qBAY7B"}
|