@palmares/schemas 0.2.14 → 0.2.15

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.
Files changed (51) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/src/adapter/index.d.ts +6 -0
  3. package/dist/src/adapter/index.d.ts.map +1 -1
  4. package/dist/src/index.cjs +18 -13
  5. package/dist/src/index.d.ts +24 -15
  6. package/dist/src/index.d.ts.map +1 -1
  7. package/dist/src/index.js +15 -10
  8. package/dist/src/model.cjs +13 -8
  9. package/dist/src/model.d.ts +7 -7
  10. package/dist/src/model.d.ts.map +1 -1
  11. package/dist/src/model.js +13 -8
  12. package/dist/src/schema/array.cjs +13 -8
  13. package/dist/src/schema/array.d.ts +25 -29
  14. package/dist/src/schema/array.d.ts.map +1 -1
  15. package/dist/src/schema/array.js +13 -8
  16. package/dist/src/schema/boolean.cjs +13 -8
  17. package/dist/src/schema/boolean.d.ts +23 -21
  18. package/dist/src/schema/boolean.d.ts.map +1 -1
  19. package/dist/src/schema/boolean.js +13 -8
  20. package/dist/src/schema/datetime.cjs +13 -8
  21. package/dist/src/schema/datetime.d.ts +23 -21
  22. package/dist/src/schema/datetime.d.ts.map +1 -1
  23. package/dist/src/schema/datetime.js +13 -8
  24. package/dist/src/schema/index.cjs +13 -8
  25. package/dist/src/schema/index.js +13 -8
  26. package/dist/src/schema/number.cjs +13 -8
  27. package/dist/src/schema/number.d.ts +24 -21
  28. package/dist/src/schema/number.d.ts.map +1 -1
  29. package/dist/src/schema/number.js +13 -8
  30. package/dist/src/schema/object.cjs +13 -8
  31. package/dist/src/schema/object.d.ts +23 -20
  32. package/dist/src/schema/object.d.ts.map +1 -1
  33. package/dist/src/schema/object.js +13 -8
  34. package/dist/src/schema/schema.cjs +13 -8
  35. package/dist/src/schema/schema.d.ts +34 -31
  36. package/dist/src/schema/schema.d.ts.map +1 -1
  37. package/dist/src/schema/schema.js +13 -8
  38. package/dist/src/schema/string.cjs +13 -8
  39. package/dist/src/schema/string.d.ts +26 -24
  40. package/dist/src/schema/string.d.ts.map +1 -1
  41. package/dist/src/schema/string.js +13 -8
  42. package/dist/src/schema/types.d.ts +40 -17
  43. package/dist/src/schema/types.d.ts.map +1 -1
  44. package/dist/src/schema/union.cjs +13 -8
  45. package/dist/src/schema/union.d.ts +25 -23
  46. package/dist/src/schema/union.d.ts.map +1 -1
  47. package/dist/src/schema/union.js +13 -8
  48. package/dist/src/types.d.ts +3 -8
  49. package/dist/src/types.d.ts.map +1 -1
  50. package/package.json +4 -3
  51. package/dist/tsconfig.types.tsbuildinfo +0 -1
@@ -432,6 +432,7 @@ var Schema = class _Schema {
432
432
  static {
433
433
  __name(this, "Schema");
434
434
  }
435
+ "~standard";
435
436
  $$type = "$PSchema";
436
437
  fieldType = "schema";
437
438
  // Those functions will assume control of the validation process on adapters, instead of the schema.
@@ -614,7 +615,10 @@ var Schema = class _Schema {
614
615
  const shouldCallToInternalDuringParse = hasToInternalCallback && (options.toInternalToBubbleUp?.length === 0 || Array.isArray(options.toInternalToBubbleUp) === false);
615
616
  const hasNoErrors = parseResult.errors === void 0 || (parseResult.errors || []).length === 0;
616
617
  await Promise.all(this.__refinements.map(async (refinement) => {
617
- const errorOrNothing = await Promise.resolve(refinement(parseResult.parsed));
618
+ const errorOrNothing = await Promise.resolve(refinement({
619
+ value: parseResult.parsed,
620
+ context: options.context
621
+ }));
618
622
  if (typeof errorOrNothing === "undefined") return;
619
623
  parseResult.errors.push({
620
624
  isValid: false,
@@ -647,8 +651,6 @@ var Schema = class _Schema {
647
651
  * ```
648
652
  *
649
653
  * @param refinementCallback - The callback that will be called to validate the value.
650
- * @param options - Options for the refinement.
651
- * @param options.isAsync - Whether the callback is async or not. Defaults to true.
652
654
  */
653
655
  refine(refinementCallback) {
654
656
  this.__refinements.push(refinementCallback);
@@ -903,17 +905,19 @@ var Schema = class _Schema {
903
905
  * @returns An object with the property isValid, if the value is valid, the function `save` will be present.
904
906
  * If the value is invalid, the property errors will be present.
905
907
  */
906
- async validate(value, context) {
908
+ async validate(value, context = {}) {
907
909
  const { errors, parsed } = await this.__parse(value, [], {
908
910
  context
909
911
  });
910
912
  if ((errors || []).length > 0) return {
911
913
  isValid: false,
912
- errors
914
+ errors,
915
+ save: void 0
913
916
  };
914
917
  return {
915
918
  isValid: true,
916
- save: /* @__PURE__ */ __name(async () => this._save.bind(this)(parsed, context), "save")
919
+ save: /* @__PURE__ */ __name(async () => this._save.bind(this)(parsed, context), "save"),
920
+ errors: void 0
917
921
  };
918
922
  }
919
923
  /**
@@ -926,8 +930,9 @@ var Schema = class _Schema {
926
930
  */
927
931
  async _save(value, context) {
928
932
  if (this.__saveCallback) {
929
- const result = await this.__saveCallback(value, context);
930
- return this.data(result);
933
+ let result = this.__saveCallback(value);
934
+ if (typeof result === "function") result = result(context);
935
+ return this.data(result instanceof Promise ? await result : result);
931
936
  }
932
937
  return this.data(value);
933
938
  }
@@ -1,7 +1,11 @@
1
+ import type { ArraySchema } from './array';
1
2
  import type { BooleanSchema } from './boolean';
3
+ import type { DatetimeSchema } from './datetime';
4
+ import type { NumberSchema } from './number';
2
5
  import type { ObjectSchema } from './object';
3
6
  import type { Schema } from './schema';
4
7
  import type { StringSchema } from './string';
8
+ import type { UnionSchema } from './union';
5
9
  import type { SchemaAdapter } from '../adapter';
6
10
  import type { FieldAdapter } from '../adapter/fields';
7
11
  import type { ErrorCodes } from '../adapter/types';
@@ -10,10 +14,12 @@ import type { Validator } from '../validators/utils';
10
14
  export type OnlyFieldAdaptersFromSchemaAdapter = keyof {
11
15
  [key in keyof SchemaAdapter as SchemaAdapter[key] extends FieldAdapter ? key : never]: SchemaAdapter[key];
12
16
  };
13
- export type DefinitionsOfSchemaType = {
17
+ export type AllSchemaTypes = ArraySchema<any, any, any> | BooleanSchema<any, any> | ObjectSchema<any, any, any> | Schema<any, any> | StringSchema<any, any> | DatetimeSchema<any, any> | UnionSchema<any, any, any> | NumberSchema<any, any>;
18
+ export type DefinitionsOfSchemaType<TSchemaAdapter extends SchemaAdapter = SchemaAdapter> = {
14
19
  schemaType: 'array' | 'object' | 'string' | 'number' | 'boolean' | 'union' | 'datetime' | 'field' | 'datetime';
15
- schemaAdapter: SchemaAdapter;
16
- hasSave?: boolean;
20
+ schemaAdapter: TSchemaAdapter;
21
+ context: any;
22
+ hasSave: boolean;
17
23
  };
18
24
  export type ValidationFallbackCallbackType = Validator['fallbacks'][number];
19
25
  export type ValidationFallbackCallbackReturnType = {
@@ -32,8 +38,26 @@ export type ValidationFallbackReturnType = {
32
38
  name: string;
33
39
  callback: ValidationFallbackCallbackType;
34
40
  };
35
- type TypesOfSchema = Schema extends Schema<infer TType, any> ? TType : never;
36
- type ExtractTypeFromSchemaByTypeOfSchema<TSchema extends Schema, TTypeToExtract extends keyof TypesOfSchema = 'input'> = TSchema extends Schema<{
41
+ export type TypesOfSchema<TSchema = Schema> = TSchema extends Schema<infer TType, any> | ArraySchema<infer TType, any, any> | UnionSchema<infer TType, any, any> | NumberSchema<infer TType, any> | StringSchema<infer TType, any> | ObjectSchema<infer TType, any, any> | BooleanSchema<infer TType, any> | DatetimeSchema<infer TType, any> ? TType : never;
42
+ export type ExtractTypeFromSchemaByTypeOfSchema<TSchema extends AllSchemaTypes, TTypeToExtract extends keyof TypesOfSchema = 'input'> = TSchema extends Schema<{
43
+ input: infer TInputType;
44
+ validate: infer TValidateType;
45
+ internal: infer TInternalType;
46
+ output: infer TOutputType;
47
+ representation: infer TRepresentationType;
48
+ }, any> | ArraySchema<{
49
+ input: infer TInputType;
50
+ validate: infer TValidateType;
51
+ internal: infer TInternalType;
52
+ output: infer TOutputType;
53
+ representation: infer TRepresentationType;
54
+ }, any, any> | UnionSchema<{
55
+ input: infer TInputType;
56
+ validate: infer TValidateType;
57
+ internal: infer TInternalType;
58
+ output: infer TOutputType;
59
+ representation: infer TRepresentationType;
60
+ }, any, any> | NumberSchema<{
37
61
  input: infer TInputType;
38
62
  validate: infer TValidateType;
39
63
  internal: infer TInternalType;
@@ -57,23 +81,22 @@ type ExtractTypeFromSchemaByTypeOfSchema<TSchema extends Schema, TTypeToExtract
57
81
  internal: infer TInternalType;
58
82
  output: infer TOutputType;
59
83
  representation: infer TRepresentationType;
84
+ }, any> | DatetimeSchema<{
85
+ input: infer TInputType;
86
+ validate: infer TValidateType;
87
+ internal: infer TInternalType;
88
+ output: infer TOutputType;
89
+ representation: infer TRepresentationType;
60
90
  }, any> ? TTypeToExtract extends 'input' ? TInputType : TTypeToExtract extends 'validate' ? TValidateType : TTypeToExtract extends 'internal' ? TInternalType : TTypeToExtract extends 'output' ? TOutputType : TRepresentationType : never;
61
- export type ExtractTypeFromObjectOfSchemas<TData extends Record<string, Schema>, TTypeToExtract extends keyof TypesOfSchema = 'input'> = {
91
+ export type ExtractTypeFromObjectOfSchemas<TData extends Record<string, Schema<any, any>>, TTypeToExtract extends keyof TypesOfSchema = 'input'> = {
62
92
  [key in keyof TData as undefined extends ExtractTypeFromSchemaByTypeOfSchema<TData[key], TTypeToExtract> ? never : key]: ExtractTypeFromSchemaByTypeOfSchema<TData[key], TTypeToExtract>;
63
93
  } & {
64
94
  [key in keyof TData as undefined extends ExtractTypeFromSchemaByTypeOfSchema<TData[key], TTypeToExtract> ? key : never]?: ExtractTypeFromSchemaByTypeOfSchema<TData[key], TTypeToExtract>;
65
95
  };
66
- export type ExtractTypeFromUnionOfSchemas<TSchemas extends readonly Schema[] = [], TType extends 'input' | 'output' | 'representation' | 'internal' | 'validate' = 'input'> = TSchemas extends readonly [infer TFirstSchema, ...infer TRestOfSchemas] ? TFirstSchema extends Schema<{
67
- input: infer TInput;
68
- internal: infer TInternal;
69
- output: infer TOutput;
70
- representation: infer TRepresentation;
71
- validate: infer TValidate;
72
- }> ? (TType extends 'output' ? TOutput : TType extends 'representation' ? TRepresentation : TType extends 'internal' ? TInternal : TType extends 'validate' ? TValidate : TInput) | ExtractTypeFromUnionOfSchemas<TRestOfSchemas extends readonly Schema[] ? TRestOfSchemas : [], TType> : unknown : never;
73
- export type ExtractTypeFromArrayOfSchemas<TSchemas extends readonly [Schema, ...Schema[]] | [[Schema]], TTypeToExtract extends keyof TypesOfSchema = 'input', TResult extends any[] = []> = TSchemas extends readonly [infer TSchema, ...infer TRestSchemas] ? TSchema extends Schema ? TRestSchemas extends readonly [Schema, ...Schema[]] ? ExtractTypeFromArrayOfSchemas<TRestSchemas, TTypeToExtract, [
96
+ export type ExtractTypeFromUnionOfSchemas<TSchemas extends readonly AllSchemaTypes[] = [], TType extends 'input' | 'output' | 'representation' | 'internal' | 'validate' = 'input'> = TSchemas extends readonly [infer TFirstSchema, ...infer TRestOfSchemas] ? TFirstSchema extends AllSchemaTypes ? ExtractTypeFromSchemaByTypeOfSchema<TFirstSchema, TType> | ExtractTypeFromUnionOfSchemas<TRestOfSchemas extends readonly Schema[] ? TRestOfSchemas : [], TType> : unknown : never;
97
+ export type ExtractTypeFromArrayOfSchemas<TSchemas extends readonly [AllSchemaTypes, ...AllSchemaTypes[]] | [[AllSchemaTypes]], TTypeToExtract extends keyof TypesOfSchema = 'input', TResult extends any[] = []> = TSchemas extends readonly [infer TSchema, ...infer TRestSchemas] ? TSchema extends AllSchemaTypes ? TRestSchemas extends readonly [AllSchemaTypes, ...AllSchemaTypes[]] ? ExtractTypeFromArrayOfSchemas<TRestSchemas, TTypeToExtract, [
74
98
  ...TResult,
75
99
  ExtractTypeFromSchemaByTypeOfSchema<TSchema, TTypeToExtract>
76
- ]> : [...TResult, ExtractTypeFromSchemaByTypeOfSchema<TSchema, TTypeToExtract>] : TSchemas extends [[infer TSchema]] ? TSchema extends Schema ? ExtractTypeFromSchemaByTypeOfSchema<TSchema, TTypeToExtract>[] : never : never : never;
77
- export type ExtractUnionTypesFromSchemas<TSchemas extends readonly Schema<any, any>[]> = TSchemas[number] extends Schema<infer TType, any> ? TType : never;
78
- export {};
100
+ ]> : [...TResult, ExtractTypeFromSchemaByTypeOfSchema<TSchema, TTypeToExtract>] : TSchemas extends [[infer TSchema]] ? TSchema extends AllSchemaTypes ? ExtractTypeFromSchemaByTypeOfSchema<TSchema, TTypeToExtract>[] : never : never : never;
101
+ export type ExtractUnionTypesFromSchemas<TSchemas extends readonly AllSchemaTypes[]> = TypesOfSchema<TSchemas[number]>;
79
102
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/schema/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/schema/types.ts"],"names":[],"mappings":"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"}
@@ -450,6 +450,7 @@ var Schema = class _Schema {
450
450
  static {
451
451
  __name(this, "Schema");
452
452
  }
453
+ "~standard";
453
454
  $$type = "$PSchema";
454
455
  fieldType = "schema";
455
456
  // Those functions will assume control of the validation process on adapters, instead of the schema.
@@ -632,7 +633,10 @@ var Schema = class _Schema {
632
633
  const shouldCallToInternalDuringParse = hasToInternalCallback && (options.toInternalToBubbleUp?.length === 0 || Array.isArray(options.toInternalToBubbleUp) === false);
633
634
  const hasNoErrors = parseResult.errors === void 0 || (parseResult.errors || []).length === 0;
634
635
  await Promise.all(this.__refinements.map(async (refinement) => {
635
- const errorOrNothing = await Promise.resolve(refinement(parseResult.parsed));
636
+ const errorOrNothing = await Promise.resolve(refinement({
637
+ value: parseResult.parsed,
638
+ context: options.context
639
+ }));
636
640
  if (typeof errorOrNothing === "undefined") return;
637
641
  parseResult.errors.push({
638
642
  isValid: false,
@@ -665,8 +669,6 @@ var Schema = class _Schema {
665
669
  * ```
666
670
  *
667
671
  * @param refinementCallback - The callback that will be called to validate the value.
668
- * @param options - Options for the refinement.
669
- * @param options.isAsync - Whether the callback is async or not. Defaults to true.
670
672
  */
671
673
  refine(refinementCallback) {
672
674
  this.__refinements.push(refinementCallback);
@@ -921,17 +923,19 @@ var Schema = class _Schema {
921
923
  * @returns An object with the property isValid, if the value is valid, the function `save` will be present.
922
924
  * If the value is invalid, the property errors will be present.
923
925
  */
924
- async validate(value, context) {
926
+ async validate(value, context = {}) {
925
927
  const { errors, parsed } = await this.__parse(value, [], {
926
928
  context
927
929
  });
928
930
  if ((errors || []).length > 0) return {
929
931
  isValid: false,
930
- errors
932
+ errors,
933
+ save: void 0
931
934
  };
932
935
  return {
933
936
  isValid: true,
934
- save: /* @__PURE__ */ __name(async () => this._save.bind(this)(parsed, context), "save")
937
+ save: /* @__PURE__ */ __name(async () => this._save.bind(this)(parsed, context), "save"),
938
+ errors: void 0
935
939
  };
936
940
  }
937
941
  /**
@@ -944,8 +948,9 @@ var Schema = class _Schema {
944
948
  */
945
949
  async _save(value, context) {
946
950
  if (this.__saveCallback) {
947
- const result = await this.__saveCallback(value, context);
948
- return this.data(result);
951
+ let result = this.__saveCallback(value);
952
+ if (typeof result === "function") result = result(context);
953
+ return this.data(result instanceof Promise ? await result : result);
949
954
  }
950
955
  return this.data(value);
951
956
  }
@@ -1,5 +1,6 @@
1
1
  import { Schema } from './schema';
2
- import type { DefinitionsOfSchemaType, ExtractTypeFromUnionOfSchemas } from './types';
2
+ import type { AllSchemaTypes, DefinitionsOfSchemaType, ExtractTypeFromUnionOfSchemas } from './types';
3
+ import type { SchemaAdapter } from '../adapter';
3
4
  import type { FieldAdapter } from '../adapter/fields';
4
5
  import type { Narrow } from '@palmares/core';
5
6
  export declare class UnionSchema<TType extends {
@@ -14,7 +15,7 @@ export declare class UnionSchema<TType extends {
14
15
  validate: unknown;
15
16
  internal: unknown;
16
17
  representation: unknown;
17
- }, TDefinitions extends DefinitionsOfSchemaType = DefinitionsOfSchemaType, TSchemas extends readonly [Schema<any, any>, Schema<any, any>, ...Schema<any, any>[]] = [
18
+ }, TDefinitions extends DefinitionsOfSchemaType = DefinitionsOfSchemaType<SchemaAdapter & Palmares.PSchemaAdapter>, TSchemas extends readonly [Schema<any, any>, Schema<any, any>, ...Schema<any, any>[]] = [
18
19
  Schema<any, any>,
19
20
  Schema<any, any>,
20
21
  ...Schema<any, any>[]
@@ -24,7 +25,7 @@ export declare class UnionSchema<TType extends {
24
25
  message: string;
25
26
  check: (value: TType['input']) => boolean;
26
27
  };
27
- protected __schemas: Set<Schema<any, DefinitionsOfSchemaType>>;
28
+ protected __schemas: Set<Schema<any, DefinitionsOfSchemaType<SchemaAdapter & Palmares.PSchemaAdapter>>>;
28
29
  constructor(schemas: TSchemas);
29
30
  protected __transformToAdapter(options: Parameters<Schema['__transformToAdapter']>[0]): Promise<ReturnType<FieldAdapter['translate']>>;
30
31
  /**
@@ -49,18 +50,18 @@ export declare class UnionSchema<TType extends {
49
50
  * @param options - Options for the refinement.
50
51
  * @param options.isAsync - Whether the callback is async or not. Defaults to true.
51
52
  */
52
- refine(refinementCallback: (value: TType['input']) => Promise<void | undefined | {
53
+ refine<TRefinementCallback extends (args: {
54
+ value: TType['input'];
55
+ context: TDefinitions['context'];
56
+ }) => Promise<void | undefined | {
53
57
  code: string;
54
58
  message: string;
55
- }> | void | undefined | {
56
- code: string;
57
- message: string;
58
- }): UnionSchema<{
59
- input: TType["input"];
60
- validate: TType["validate"];
61
- internal: TType["internal"];
62
- output: TType["output"];
63
- representation: TType["representation"];
59
+ }>>(refinementCallback: TRefinementCallback): UnionSchema<{
60
+ input: TType['input'];
61
+ validate: TType['validate'];
62
+ internal: TType['internal'];
63
+ output: TType['output'];
64
+ representation: TType['representation'];
64
65
  }, TDefinitions, TSchemas>;
65
66
  /**
66
67
  * Allows the value to be either undefined or null.
@@ -264,14 +265,15 @@ export declare class UnionSchema<TType extends {
264
265
  *
265
266
  * @returns The schema.
266
267
  */
267
- onSave(callback: <TContext = any>(value: TType['internal'], context: TContext) => Promise<TType['output']> | TType['output']): UnionSchema<{
268
- input: TType["input"];
269
- validate: TType["validate"];
270
- internal: TType["internal"];
271
- output: TType["output"];
272
- representation: TType["representation"];
273
- }, TDefinitions & {
268
+ onSave<TSave extends ((value: TType['internal']) => (context: any) => Promise<TType['output']>) | ((value: TType['internal']) => Promise<TType['output']>)>(callback: TSave): UnionSchema<{
269
+ input: TType['input'];
270
+ validate: TType['validate'];
271
+ internal: TType['internal'];
272
+ output: TType['output'];
273
+ representation: TType['representation'];
274
+ }, Omit<TDefinitions, 'hasSave' | 'context'> & {
274
275
  hasSave: true;
276
+ context: ReturnType<TSave> extends (context: any) => any ? Parameters<ReturnType<TSave>>[0] : any;
275
277
  }, TSchemas>;
276
278
  /**
277
279
  * This function is used to add a default value to the schema. If the value is either undefined or null, the default
@@ -463,20 +465,20 @@ export declare class UnionSchema<TType extends {
463
465
  *
464
466
  * @returns The schema with a new return type.
465
467
  */
466
- toValidate<TValidate>(toValidateCallback: (value: TType['input']) => Promise<TValidate> | TValidate): UnionSchema<{
468
+ toValidate<TValidate>(toValidateCallback: (value: TType['input'], context: TDefinitions['context']) => Promise<TValidate> | TValidate): UnionSchema<{
467
469
  input: TType["input"];
468
470
  validate: TValidate;
469
471
  internal: TType["internal"];
470
472
  output: TType["output"];
471
473
  representation: TType["representation"];
472
474
  }, TDefinitions, TSchemas>;
473
- static new<TSchemas extends readonly [Schema<any, any>, Schema<any, any>, ...Schema<any, any>[]], TDefinitions extends DefinitionsOfSchemaType = DefinitionsOfSchemaType>(schemas: Narrow<TSchemas>): UnionSchema<{
475
+ static new<TSchemas extends readonly [AllSchemaTypes, AllSchemaTypes, ...AllSchemaTypes[]], TDefinitions extends DefinitionsOfSchemaType = DefinitionsOfSchemaType<SchemaAdapter & Palmares.PSchemaAdapter>>(schemas: Narrow<TSchemas>): UnionSchema<{
474
476
  input: ExtractTypeFromUnionOfSchemas<TSchemas, 'input'>;
475
477
  internal: ExtractTypeFromUnionOfSchemas<TSchemas, 'internal'>;
476
478
  output: ExtractTypeFromUnionOfSchemas<TSchemas, 'output'>;
477
479
  representation: ExtractTypeFromUnionOfSchemas<TSchemas, 'representation'>;
478
480
  validate: ExtractTypeFromUnionOfSchemas<TSchemas, 'validate'>;
479
- }>;
481
+ }, TDefinitions>;
480
482
  }
481
483
  export declare const union: typeof UnionSchema.new;
482
484
  //# sourceMappingURL=union.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../../src/schema/union.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../../src/schema/union.ts"],"names":[],"mappings":"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"}
@@ -425,6 +425,7 @@ var Schema = class _Schema {
425
425
  static {
426
426
  __name(this, "Schema");
427
427
  }
428
+ "~standard";
428
429
  $$type = "$PSchema";
429
430
  fieldType = "schema";
430
431
  // Those functions will assume control of the validation process on adapters, instead of the schema.
@@ -607,7 +608,10 @@ var Schema = class _Schema {
607
608
  const shouldCallToInternalDuringParse = hasToInternalCallback && (options.toInternalToBubbleUp?.length === 0 || Array.isArray(options.toInternalToBubbleUp) === false);
608
609
  const hasNoErrors = parseResult.errors === void 0 || (parseResult.errors || []).length === 0;
609
610
  await Promise.all(this.__refinements.map(async (refinement) => {
610
- const errorOrNothing = await Promise.resolve(refinement(parseResult.parsed));
611
+ const errorOrNothing = await Promise.resolve(refinement({
612
+ value: parseResult.parsed,
613
+ context: options.context
614
+ }));
611
615
  if (typeof errorOrNothing === "undefined") return;
612
616
  parseResult.errors.push({
613
617
  isValid: false,
@@ -640,8 +644,6 @@ var Schema = class _Schema {
640
644
  * ```
641
645
  *
642
646
  * @param refinementCallback - The callback that will be called to validate the value.
643
- * @param options - Options for the refinement.
644
- * @param options.isAsync - Whether the callback is async or not. Defaults to true.
645
647
  */
646
648
  refine(refinementCallback) {
647
649
  this.__refinements.push(refinementCallback);
@@ -896,17 +898,19 @@ var Schema = class _Schema {
896
898
  * @returns An object with the property isValid, if the value is valid, the function `save` will be present.
897
899
  * If the value is invalid, the property errors will be present.
898
900
  */
899
- async validate(value, context) {
901
+ async validate(value, context = {}) {
900
902
  const { errors, parsed } = await this.__parse(value, [], {
901
903
  context
902
904
  });
903
905
  if ((errors || []).length > 0) return {
904
906
  isValid: false,
905
- errors
907
+ errors,
908
+ save: void 0
906
909
  };
907
910
  return {
908
911
  isValid: true,
909
- save: /* @__PURE__ */ __name(async () => this._save.bind(this)(parsed, context), "save")
912
+ save: /* @__PURE__ */ __name(async () => this._save.bind(this)(parsed, context), "save"),
913
+ errors: void 0
910
914
  };
911
915
  }
912
916
  /**
@@ -919,8 +923,9 @@ var Schema = class _Schema {
919
923
  */
920
924
  async _save(value, context) {
921
925
  if (this.__saveCallback) {
922
- const result = await this.__saveCallback(value, context);
923
- return this.data(result);
926
+ let result = this.__saveCallback(value);
927
+ if (typeof result === "function") result = result(context);
928
+ return this.data(result instanceof Promise ? await result : result);
924
929
  }
925
930
  return this.data(value);
926
931
  }
@@ -1,5 +1,6 @@
1
1
  import type { SchemaAdapter } from './adapter';
2
2
  import type { Schema } from './schema/schema';
3
+ import type { AllSchemaTypes, ExtractTypeFromSchemaByTypeOfSchema } from './schema/types';
3
4
  import type { ValidatorTypes } from './validators/types';
4
5
  export type MaybePromise<T> = T | Promise<T>;
5
6
  export type SchemasSettingsType = {
@@ -26,7 +27,7 @@ export type SupportedSchemas = 'number' | 'object' | 'union' | 'string' | 'array
26
27
  * - 'internal' - The data after it's transformed for the `toSave` callback.
27
28
  * - 'validate' - The data for `toValidate` callback.
28
29
  */
29
- export type Infer<TSchema extends Schema<any, any>,
30
+ export type Infer<TSchema extends AllSchemaTypes,
30
31
  /**
31
32
  * - 'input' - The data passed to `.parse` and `.validate` functions.
32
33
  * - 'output' - (use `'representation'` to get the data format you are
@@ -36,11 +37,5 @@ export type Infer<TSchema extends Schema<any, any>,
36
37
  * - 'internal' - The data after it's transformed for the `toSave` callback.
37
38
  * - 'validate' - The data for `toValidate` callback.
38
39
  */
39
- TType extends 'input' | 'output' | 'representation' | 'internal' | 'validate' = 'input'> = TSchema extends Schema<{
40
- input: infer TInput;
41
- internal: infer TInternal;
42
- output: infer TOutput;
43
- representation: infer TRepresentation;
44
- validate: infer TValidate;
45
- }, any> ? TType extends 'output' ? TOutput : TType extends 'representation' ? TRepresentation : TType extends 'internal' ? TInternal : TType extends 'validate' ? TValidate : TInput : never;
40
+ TType extends 'input' | 'output' | 'representation' | 'internal' | 'validate' = 'input'> = ExtractTypeFromSchemaByTypeOfSchema<TSchema, TType>;
46
41
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7C,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,EAAE,OAAO,aAAa,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,UAAU,IAAI;KAC7C,IAAI,IAAI,MAAM,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK;QACpE,IAAI,EAAE,cAAc,CAAC;QACrB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;KAChF;CACF,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;AAE3G;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,KAAK,CACf,OAAO,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC;AAChC;;;;;;;;GAQG;AACH,KAAK,SAAS,OAAO,GAAG,QAAQ,GAAG,gBAAgB,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,IAEvF,OAAO,SAAS,MAAM,CACpB;IACE,KAAK,EAAE,MAAM,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,OAAO,CAAC;IACtB,cAAc,EAAE,MAAM,eAAe,CAAC;IACtC,QAAQ,EAAE,MAAM,SAAS,CAAC;CAC3B,EACD,GAAG,CACJ,GACG,KAAK,SAAS,QAAQ,GACpB,OAAO,GACP,KAAK,SAAS,gBAAgB,GAC5B,eAAe,GACf,KAAK,SAAS,UAAU,GACtB,SAAS,GACT,KAAK,SAAS,UAAU,GACtB,SAAS,GACT,MAAM,GACd,KAAK,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,mCAAmC,EAAE,MAAM,gBAAgB,CAAC;AAC1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7C,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,EAAE,OAAO,aAAa,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,UAAU,IAAI;KAC7C,IAAI,IAAI,MAAM,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK;QACpE,IAAI,EAAE,cAAc,CAAC;QACrB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;KAChF;CACF,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;AAE3G;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,KAAK,CACf,OAAO,SAAS,cAAc;AAC9B;;;;;;;;GAQG;AACH,KAAK,SAAS,OAAO,GAAG,QAAQ,GAAG,gBAAgB,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,IACrF,mCAAmC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@palmares/schemas",
3
- "version": "0.2.14",
3
+ "version": "0.2.15",
4
4
  "description": "This defines a default schema definition for validation of data, it abstract popular schema validation libraries like zod, yup, valibot and others\"",
5
5
  "main": "./dist/src/index.cjs",
6
6
  "module": "./dist/src/index.js",
@@ -35,9 +35,10 @@
35
35
  },
36
36
  "homepage": "https://github.com/palmaresHQ/palmares#readme",
37
37
  "dependencies": {
38
- "@palmares/databases": "0.2.14",
38
+ "@standard-schema/spec": "^1.0.0",
39
39
  "@palmares/core": "0.2.6",
40
- "@palmares/server": "0.2.7"
40
+ "@palmares/server": "0.3.0",
41
+ "@palmares/databases": "0.2.14"
41
42
  },
42
43
  "scripts": {
43
44
  "clear": "rimraf ./dist",