@palmares/schemas 0.2.13 → 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 +17 -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
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @palmares/schemas
2
2
 
3
+ ## 0.2.15
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [bfe2d46]
8
+ - Updated dependencies [58e5187]
9
+ - Updated dependencies [fa22823]
10
+ - Updated dependencies [8bd331a]
11
+ - @palmares/server@0.3.0
12
+
13
+ ## 0.2.14
14
+
15
+ ### Patch Changes
16
+
17
+ - Updated dependencies [f0003db]
18
+ - @palmares/databases@0.2.14
19
+
3
20
  ## 0.2.13
4
21
 
5
22
  ### Patch Changes
@@ -25,4 +25,10 @@ export declare class SchemaAdapter {
25
25
  code: ErrorCodes;
26
26
  }>;
27
27
  }
28
+ declare global {
29
+ namespace Palmares {
30
+ interface PSchemaAdapter {
31
+ }
32
+ }
33
+ }
28
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapter/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,qBAAa,aAAa;IACxB,MAAM,SAAqB;IAC3B,IAAI,EAAG,MAAM,CAAC;IACd,KAAK,EAAG,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAG,kBAAkB,CAAC;IAC5B,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,eAAe,EAAE,GAAG,CAAC;IAGf,WAAW,CACf,MAAM,EAAE,GAAG,EACX,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAC1B,IAAI,EAAE,UAAU,CAAC;KAClB,CAAC;CAGH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapter/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,qBAAa,aAAa;IACxB,MAAM,SAAqB;IAC3B,IAAI,EAAG,MAAM,CAAC;IACd,KAAK,EAAG,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAG,kBAAkB,CAAC;IAC5B,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,eAAe,EAAE,GAAG,CAAC;IAGf,WAAW,CACf,MAAM,EAAE,GAAG,EACX,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAC1B,IAAI,EAAE,UAAU,CAAC;KAClB,CAAC;CAGH;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,QAAQ,CAAC;QACjB,UAAU,cAAc;SAAG;KAC5B;CACF"}
@@ -19,8 +19,8 @@ var __copyProps = (to, from, except, desc) => {
19
19
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
20
 
21
21
  // src/index.ts
22
- var src_exports = {};
23
- __export(src_exports, {
22
+ var index_exports = {};
23
+ __export(index_exports, {
24
24
  ArrayFieldAdapter: () => ArrayFieldAdapter,
25
25
  ArraySchema: () => ArraySchema,
26
26
  BooleanFieldAdapter: () => BooleanFieldAdapter,
@@ -46,7 +46,7 @@ __export(src_exports, {
46
46
  compile: () => compile,
47
47
  datetime: () => datetime,
48
48
  datetimeFieldAdapter: () => datetimeFieldAdapter,
49
- default: () => src_default,
49
+ default: () => index_default,
50
50
  fieldAdapter: () => fieldAdapter,
51
51
  getDefaultAdapter: () => getDefaultAdapter,
52
52
  getSchemasWithDefaultAdapter: () => getSchemasWithDefaultAdapter,
@@ -63,7 +63,7 @@ __export(src_exports, {
63
63
  union: () => union,
64
64
  unionFieldAdapter: () => unionFieldAdapter
65
65
  });
66
- module.exports = __toCommonJS(src_exports);
66
+ module.exports = __toCommonJS(index_exports);
67
67
 
68
68
  // src/exceptions.ts
69
69
  var SchemaAdapterNotImplementedError = class extends Error {
@@ -568,6 +568,7 @@ var Schema = class _Schema {
568
568
  static {
569
569
  __name(this, "Schema");
570
570
  }
571
+ "~standard";
571
572
  $$type = "$PSchema";
572
573
  fieldType = "schema";
573
574
  // Those functions will assume control of the validation process on adapters, instead of the schema.
@@ -750,7 +751,10 @@ var Schema = class _Schema {
750
751
  const shouldCallToInternalDuringParse = hasToInternalCallback && (options.toInternalToBubbleUp?.length === 0 || Array.isArray(options.toInternalToBubbleUp) === false);
751
752
  const hasNoErrors = parseResult.errors === void 0 || (parseResult.errors || []).length === 0;
752
753
  await Promise.all(this.__refinements.map(async (refinement) => {
753
- const errorOrNothing = await Promise.resolve(refinement(parseResult.parsed));
754
+ const errorOrNothing = await Promise.resolve(refinement({
755
+ value: parseResult.parsed,
756
+ context: options.context
757
+ }));
754
758
  if (typeof errorOrNothing === "undefined") return;
755
759
  parseResult.errors.push({
756
760
  isValid: false,
@@ -783,8 +787,6 @@ var Schema = class _Schema {
783
787
  * ```
784
788
  *
785
789
  * @param refinementCallback - The callback that will be called to validate the value.
786
- * @param options - Options for the refinement.
787
- * @param options.isAsync - Whether the callback is async or not. Defaults to true.
788
790
  */
789
791
  refine(refinementCallback) {
790
792
  this.__refinements.push(refinementCallback);
@@ -1039,17 +1041,19 @@ var Schema = class _Schema {
1039
1041
  * @returns An object with the property isValid, if the value is valid, the function `save` will be present.
1040
1042
  * If the value is invalid, the property errors will be present.
1041
1043
  */
1042
- async validate(value, context) {
1044
+ async validate(value, context = {}) {
1043
1045
  const { errors, parsed } = await this.__parse(value, [], {
1044
1046
  context
1045
1047
  });
1046
1048
  if ((errors || []).length > 0) return {
1047
1049
  isValid: false,
1048
- errors
1050
+ errors,
1051
+ save: void 0
1049
1052
  };
1050
1053
  return {
1051
1054
  isValid: true,
1052
- save: /* @__PURE__ */ __name(async () => this._save.bind(this)(parsed, context), "save")
1055
+ save: /* @__PURE__ */ __name(async () => this._save.bind(this)(parsed, context), "save"),
1056
+ errors: void 0
1053
1057
  };
1054
1058
  }
1055
1059
  /**
@@ -1062,8 +1066,9 @@ var Schema = class _Schema {
1062
1066
  */
1063
1067
  async _save(value, context) {
1064
1068
  if (this.__saveCallback) {
1065
- const result = await this.__saveCallback(value, context);
1066
- return this.data(result);
1069
+ let result = this.__saveCallback(value);
1070
+ if (typeof result === "function") result = result(context);
1071
+ return this.data(result instanceof Promise ? await result : result);
1067
1072
  }
1068
1073
  return this.data(value);
1069
1074
  }
@@ -6364,7 +6369,7 @@ function schemaHandler(input, output) {
6364
6369
  __name(schemaHandler, "schemaHandler");
6365
6370
 
6366
6371
  // src/index.ts
6367
- var src_default = schemasDomain;
6372
+ var index_default = schemasDomain;
6368
6373
  function getSchemasWithDefaultAdapter() {
6369
6374
  return {
6370
6375
  number: /* @__PURE__ */ __name(() => NumberSchema.new(), "number"),
@@ -11,7 +11,7 @@ import { StringSchema, string } from './schema/string';
11
11
  import { UnionSchema, union } from './schema/union';
12
12
  import type { DefinitionsOfSchemaType, ExtractTypeFromObjectOfSchemas } from './schema/types';
13
13
  import type { Narrow } from '@palmares/core';
14
- import type { Model, ModelFields } from '@palmares/databases';
14
+ import type { InferModel, Model, ModelFields } from '@palmares/databases';
15
15
  export { FieldAdapter, fieldAdapter } from './adapter/fields';
16
16
  export { NumberFieldAdapter, numberFieldAdapter } from './adapter/fields/number';
17
17
  export { ObjectFieldAdapter, objectFieldAdapter } from './adapter/fields/object';
@@ -42,6 +42,7 @@ export declare function getSchemasWithDefaultAdapter<TAdapter extends SchemaAdap
42
42
  schemaAdapter: TAdapter;
43
43
  schemaType: "number";
44
44
  hasSave: false;
45
+ context: any;
45
46
  }>;
46
47
  string: () => StringSchema<{
47
48
  input: string;
@@ -53,14 +54,9 @@ export declare function getSchemasWithDefaultAdapter<TAdapter extends SchemaAdap
53
54
  schemaAdapter: TAdapter;
54
55
  schemaType: "string";
55
56
  hasSave: false;
57
+ context: any;
56
58
  }>;
57
- array: <TSchemas extends readonly [Schema, ...Schema[]] | [[Schema]]>(...schemas: TSchemas) => TSchemas extends [[Schema<{
58
- input: any;
59
- validate: any;
60
- internal: any;
61
- output: any;
62
- representation: any;
63
- }, DefinitionsOfSchemaType>]] ? ArraySchema<{
59
+ array: <TSchemas extends readonly [Schema, ...Schema[]] | [[Schema]]>(...schemas: TSchemas) => TSchemas extends [[import("./schema/types").AllSchemaTypes]] ? ArraySchema<{
64
60
  input: import("./schema/types").ExtractTypeFromArrayOfSchemas<TSchemas, "input", []>;
65
61
  validate: import("./schema/types").ExtractTypeFromArrayOfSchemas<TSchemas, "validate", []>;
66
62
  internal: import("./schema/types").ExtractTypeFromArrayOfSchemas<TSchemas, "internal", []>;
@@ -70,6 +66,7 @@ export declare function getSchemasWithDefaultAdapter<TAdapter extends SchemaAdap
70
66
  schemaAdapter: TAdapter;
71
67
  schemaType: "array";
72
68
  hasSave: false;
69
+ context: any;
73
70
  }, TSchemas> : ArraySchema<{
74
71
  input: import("./schema/types").ExtractTypeFromArrayOfSchemas<TSchemas, "input", []>;
75
72
  validate: import("./schema/types").ExtractTypeFromArrayOfSchemas<TSchemas, "validate", []>;
@@ -80,6 +77,7 @@ export declare function getSchemasWithDefaultAdapter<TAdapter extends SchemaAdap
80
77
  schemaAdapter: TAdapter;
81
78
  schemaType: "array";
82
79
  hasSave: false;
80
+ context: any;
83
81
  }, TSchemas> & {
84
82
  maxLength: never;
85
83
  minLength: never;
@@ -94,6 +92,7 @@ export declare function getSchemasWithDefaultAdapter<TAdapter extends SchemaAdap
94
92
  schemaAdapter: TAdapter;
95
93
  schemaType: "boolean";
96
94
  hasSave: false;
95
+ context: any;
97
96
  }>;
98
97
  object: <TData extends Record<any, Schema<any, any>>>(data: TData) => ObjectSchema<{
99
98
  input: ExtractTypeFromObjectOfSchemas<TData, "input">;
@@ -105,6 +104,7 @@ export declare function getSchemasWithDefaultAdapter<TAdapter extends SchemaAdap
105
104
  schemaAdapter: TAdapter;
106
105
  schemaType: "object";
107
106
  hasSave: false;
107
+ context: any;
108
108
  }, TData>;
109
109
  union: <TSchemas extends readonly [Schema<any, any>, Schema<any, any>, ...Schema<any, any>[]]>(...schemas: Narrow<TSchemas>) => UnionSchema<{
110
110
  input: import("./schema/types").ExtractTypeFromUnionOfSchemas<TSchemas, "input">;
@@ -112,7 +112,12 @@ export declare function getSchemasWithDefaultAdapter<TAdapter extends SchemaAdap
112
112
  output: import("./schema/types").ExtractTypeFromUnionOfSchemas<TSchemas, "output">;
113
113
  representation: import("./schema/types").ExtractTypeFromUnionOfSchemas<TSchemas, "representation">;
114
114
  validate: import("./schema/types").ExtractTypeFromUnionOfSchemas<TSchemas, "validate">;
115
- }, DefinitionsOfSchemaType, [Schema<any, any>, Schema<any, any>, ...Schema<any, any>[]]>;
115
+ }, {
116
+ schemaAdapter: TAdapter;
117
+ schemaType: "union";
118
+ hasSave: false;
119
+ context: any;
120
+ }, [Schema<any, any>, Schema<any, any>, ...Schema<any, any>[]]>;
116
121
  datetime: () => DatetimeSchema<{
117
122
  input: Date;
118
123
  validate: Date;
@@ -123,6 +128,7 @@ export declare function getSchemasWithDefaultAdapter<TAdapter extends SchemaAdap
123
128
  schemaAdapter: TAdapter;
124
129
  schemaType: "datetime";
125
130
  hasSave: false;
131
+ context: any;
126
132
  }>;
127
133
  /**
128
134
  * Different from other models, this function is a factory function that returns either an ObjectSchema or
@@ -210,18 +216,18 @@ export declare function getSchemasWithDefaultAdapter<TAdapter extends SchemaAdap
210
216
  *
211
217
  * @returns - If you pass the `many` option as true, we return an ArraySchema, otherwise we return an ObjectSchema.
212
218
  */
213
- modelSchema: <TModel extends ReturnType<typeof Model>, const TOmit extends readonly (keyof ModelFields<InstanceType<TModel>>)[] | undefined[] = undefined[], const TShow extends readonly (keyof ModelFields<InstanceType<TModel>>)[] | undefined[] = undefined[], TMany extends boolean = false, TFields extends Record<any, Schema<any, DefinitionsOfSchemaType>> | undefined = undefined, TAllModelFields = ModelFields<InstanceType<TModel>>, TFieldsOnModel = TOmit extends undefined[] ? TShow extends undefined[] ? TAllModelFields : Pick<TAllModelFields, TShow[number] extends keyof TAllModelFields ? TShow[number] : never> : Omit<TAllModelFields, TOmit[number] extends keyof TAllModelFields ? TOmit[number] : never>, TReturnType extends {
219
+ modelSchema: <TModel extends ReturnType<typeof Model>, const TOmit extends readonly (keyof ModelFields<InstanceType<TModel>>)[] | undefined[] = undefined[], const TShow extends readonly (keyof ModelFields<InstanceType<TModel>>)[] | undefined[] = undefined[], TMany extends boolean = false, TFields extends Record<any, Schema<any, DefinitionsOfSchemaType>> | undefined = undefined, TAllModelFieldsRead = InferModel<InstanceType<TModel>, "read">, TAllModelFieldsCreate = InferModel<InstanceType<TModel>, "create">, TFieldsOnModelRead = TOmit extends undefined[] ? TShow extends undefined[] ? TAllModelFieldsRead : Pick<TAllModelFieldsRead, TShow[number] extends keyof TAllModelFieldsRead ? TShow[number] : never> : Omit<TAllModelFieldsRead, TOmit[number] extends keyof TAllModelFieldsRead ? TOmit[number] : never>, TFieldsOnModelCreateOrUpdate = TOmit extends undefined[] ? TShow extends undefined[] ? TAllModelFieldsCreate : Pick<TAllModelFieldsCreate, TShow[number] extends keyof TAllModelFieldsCreate ? TShow[number] : never> : Omit<TAllModelFieldsCreate, TOmit[number] extends keyof TAllModelFieldsCreate ? TOmit[number] : never>, TReturnType extends {
214
220
  input: any;
215
221
  output: any;
216
222
  validate: any;
217
223
  internal: any;
218
224
  representation: any;
219
225
  } = {
220
- input: TFields extends undefined ? TFieldsOnModel : Omit<TFieldsOnModel, keyof ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, "input">> & ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, "input">;
221
- output: TFields extends undefined ? TFieldsOnModel : Omit<TFieldsOnModel, keyof ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, "output">> & ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, "output">;
222
- internal: TFields extends undefined ? TFieldsOnModel : Omit<TFieldsOnModel, keyof ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, "internal">> & ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, "internal">;
223
- representation: TFields extends undefined ? TFieldsOnModel : Omit<TFieldsOnModel, keyof ExtractTypeFromObjectOfSchemas<TFields extends Record<any, Schema<any, DefinitionsOfSchemaType>> ? TFields : {}, "representation">> & ExtractTypeFromObjectOfSchemas<TFields extends Record<any, Schema<any, DefinitionsOfSchemaType>> ? TFields : {}, "representation">;
224
- validate: TFields extends undefined ? TFieldsOnModel : Omit<TFieldsOnModel, keyof ExtractTypeFromObjectOfSchemas<TFields extends Record<any, Schema<any, DefinitionsOfSchemaType>> ? TFields : {}, "validate">> & ExtractTypeFromObjectOfSchemas<TFields extends Record<any, Schema<any, DefinitionsOfSchemaType>> ? TFields : {}, "validate">;
226
+ input: TFields extends undefined ? TFieldsOnModelCreateOrUpdate : Omit<TFieldsOnModelCreateOrUpdate, keyof ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, "input">> & ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, "input">;
227
+ output: TFields extends undefined ? TFieldsOnModelRead : Omit<TFieldsOnModelRead, keyof ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, "output">> & ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, "output">;
228
+ internal: TFields extends undefined ? TFieldsOnModelCreateOrUpdate : Omit<TFieldsOnModelCreateOrUpdate, keyof ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, "internal">> & ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, "internal">;
229
+ representation: TFields extends undefined ? TFieldsOnModelRead : Omit<TFieldsOnModelRead, keyof ExtractTypeFromObjectOfSchemas<TFields extends Record<any, Schema<any, DefinitionsOfSchemaType>> ? TFields : {}, "representation">> & ExtractTypeFromObjectOfSchemas<TFields extends Record<any, Schema<any, DefinitionsOfSchemaType>> ? TFields : {}, "representation">;
230
+ validate: TFields extends undefined ? TFieldsOnModelCreateOrUpdate : Omit<TFieldsOnModelCreateOrUpdate, keyof ExtractTypeFromObjectOfSchemas<TFields extends Record<any, Schema<any, DefinitionsOfSchemaType>> ? TFields : {}, "validate">> & ExtractTypeFromObjectOfSchemas<TFields extends Record<any, Schema<any, DefinitionsOfSchemaType>> ? TFields : {}, "validate">;
225
231
  }>(model: TModel, options?: {
226
232
  ignoreExtraneousFields?: boolean;
227
233
  engineInstance?: string;
@@ -239,6 +245,7 @@ export declare function getSchemasWithDefaultAdapter<TAdapter extends SchemaAdap
239
245
  }, {
240
246
  schemaAdapter: TAdapter;
241
247
  schemaType: "object";
248
+ context: any;
242
249
  hasSave: false;
243
250
  }, [ObjectSchema<{
244
251
  input: TReturnType["input"];
@@ -249,6 +256,7 @@ export declare function getSchemasWithDefaultAdapter<TAdapter extends SchemaAdap
249
256
  }, {
250
257
  schemaAdapter: TAdapter;
251
258
  schemaType: "object";
259
+ context: any;
252
260
  hasSave: false;
253
261
  }, Record<any, any>>]> : ObjectSchema<{
254
262
  input: TReturnType["input"];
@@ -259,6 +267,7 @@ export declare function getSchemasWithDefaultAdapter<TAdapter extends SchemaAdap
259
267
  }, {
260
268
  schemaAdapter: TAdapter;
261
269
  schemaType: "object";
270
+ context: any;
262
271
  hasSave: false;
263
272
  }, Record<any, any>>;
264
273
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -504,6 +504,7 @@ var Schema = class _Schema {
504
504
  static {
505
505
  __name(this, "Schema");
506
506
  }
507
+ "~standard";
507
508
  $$type = "$PSchema";
508
509
  fieldType = "schema";
509
510
  // Those functions will assume control of the validation process on adapters, instead of the schema.
@@ -686,7 +687,10 @@ var Schema = class _Schema {
686
687
  const shouldCallToInternalDuringParse = hasToInternalCallback && (options.toInternalToBubbleUp?.length === 0 || Array.isArray(options.toInternalToBubbleUp) === false);
687
688
  const hasNoErrors = parseResult.errors === void 0 || (parseResult.errors || []).length === 0;
688
689
  await Promise.all(this.__refinements.map(async (refinement) => {
689
- const errorOrNothing = await Promise.resolve(refinement(parseResult.parsed));
690
+ const errorOrNothing = await Promise.resolve(refinement({
691
+ value: parseResult.parsed,
692
+ context: options.context
693
+ }));
690
694
  if (typeof errorOrNothing === "undefined") return;
691
695
  parseResult.errors.push({
692
696
  isValid: false,
@@ -719,8 +723,6 @@ var Schema = class _Schema {
719
723
  * ```
720
724
  *
721
725
  * @param refinementCallback - The callback that will be called to validate the value.
722
- * @param options - Options for the refinement.
723
- * @param options.isAsync - Whether the callback is async or not. Defaults to true.
724
726
  */
725
727
  refine(refinementCallback) {
726
728
  this.__refinements.push(refinementCallback);
@@ -975,17 +977,19 @@ var Schema = class _Schema {
975
977
  * @returns An object with the property isValid, if the value is valid, the function `save` will be present.
976
978
  * If the value is invalid, the property errors will be present.
977
979
  */
978
- async validate(value, context) {
980
+ async validate(value, context = {}) {
979
981
  const { errors, parsed } = await this.__parse(value, [], {
980
982
  context
981
983
  });
982
984
  if ((errors || []).length > 0) return {
983
985
  isValid: false,
984
- errors
986
+ errors,
987
+ save: void 0
985
988
  };
986
989
  return {
987
990
  isValid: true,
988
- save: /* @__PURE__ */ __name(async () => this._save.bind(this)(parsed, context), "save")
991
+ save: /* @__PURE__ */ __name(async () => this._save.bind(this)(parsed, context), "save"),
992
+ errors: void 0
989
993
  };
990
994
  }
991
995
  /**
@@ -998,8 +1002,9 @@ var Schema = class _Schema {
998
1002
  */
999
1003
  async _save(value, context) {
1000
1004
  if (this.__saveCallback) {
1001
- const result = await this.__saveCallback(value, context);
1002
- return this.data(result);
1005
+ let result = this.__saveCallback(value);
1006
+ if (typeof result === "function") result = result(context);
1007
+ return this.data(result instanceof Promise ? await result : result);
1003
1008
  }
1004
1009
  return this.data(value);
1005
1010
  }
@@ -6300,7 +6305,7 @@ function schemaHandler(input, output) {
6300
6305
  __name(schemaHandler, "schemaHandler");
6301
6306
 
6302
6307
  // src/index.ts
6303
- var src_default = schemasDomain;
6308
+ var index_default = schemasDomain;
6304
6309
  function getSchemasWithDefaultAdapter() {
6305
6310
  return {
6306
6311
  number: /* @__PURE__ */ __name(() => NumberSchema.new(), "number"),
@@ -6426,7 +6431,7 @@ export {
6426
6431
  compile,
6427
6432
  datetime,
6428
6433
  datetimeFieldAdapter,
6429
- src_default as default,
6434
+ index_default as default,
6430
6435
  fieldAdapter,
6431
6436
  getDefaultAdapter,
6432
6437
  getSchemasWithDefaultAdapter,
@@ -477,6 +477,7 @@ var Schema = class _Schema {
477
477
  static {
478
478
  __name(this, "Schema");
479
479
  }
480
+ "~standard";
480
481
  $$type = "$PSchema";
481
482
  fieldType = "schema";
482
483
  // Those functions will assume control of the validation process on adapters, instead of the schema.
@@ -659,7 +660,10 @@ var Schema = class _Schema {
659
660
  const shouldCallToInternalDuringParse = hasToInternalCallback && (options.toInternalToBubbleUp?.length === 0 || Array.isArray(options.toInternalToBubbleUp) === false);
660
661
  const hasNoErrors = parseResult.errors === void 0 || (parseResult.errors || []).length === 0;
661
662
  await Promise.all(this.__refinements.map(async (refinement) => {
662
- const errorOrNothing = await Promise.resolve(refinement(parseResult.parsed));
663
+ const errorOrNothing = await Promise.resolve(refinement({
664
+ value: parseResult.parsed,
665
+ context: options.context
666
+ }));
663
667
  if (typeof errorOrNothing === "undefined") return;
664
668
  parseResult.errors.push({
665
669
  isValid: false,
@@ -692,8 +696,6 @@ var Schema = class _Schema {
692
696
  * ```
693
697
  *
694
698
  * @param refinementCallback - The callback that will be called to validate the value.
695
- * @param options - Options for the refinement.
696
- * @param options.isAsync - Whether the callback is async or not. Defaults to true.
697
699
  */
698
700
  refine(refinementCallback) {
699
701
  this.__refinements.push(refinementCallback);
@@ -948,17 +950,19 @@ var Schema = class _Schema {
948
950
  * @returns An object with the property isValid, if the value is valid, the function `save` will be present.
949
951
  * If the value is invalid, the property errors will be present.
950
952
  */
951
- async validate(value, context) {
953
+ async validate(value, context = {}) {
952
954
  const { errors, parsed } = await this.__parse(value, [], {
953
955
  context
954
956
  });
955
957
  if ((errors || []).length > 0) return {
956
958
  isValid: false,
957
- errors
959
+ errors,
960
+ save: void 0
958
961
  };
959
962
  return {
960
963
  isValid: true,
961
- save: /* @__PURE__ */ __name(async () => this._save.bind(this)(parsed, context), "save")
964
+ save: /* @__PURE__ */ __name(async () => this._save.bind(this)(parsed, context), "save"),
965
+ errors: void 0
962
966
  };
963
967
  }
964
968
  /**
@@ -971,8 +975,9 @@ var Schema = class _Schema {
971
975
  */
972
976
  async _save(value, context) {
973
977
  if (this.__saveCallback) {
974
- const result = await this.__saveCallback(value, context);
975
- return this.data(result);
978
+ let result = this.__saveCallback(value);
979
+ if (typeof result === "function") result = result(context);
980
+ return this.data(result instanceof Promise ? await result : result);
976
981
  }
977
982
  return this.data(value);
978
983
  }
@@ -2,7 +2,7 @@ import { ArraySchema } from './schema/array';
2
2
  import { ObjectSchema } from './schema/object';
3
3
  import type { Schema } from './schema/schema';
4
4
  import type { DefinitionsOfSchemaType, ExtractTypeFromObjectOfSchemas } from './schema/types';
5
- import type { Model, ModelFields } from '@palmares/databases';
5
+ import type { InferModel, Model, ModelFields } from '@palmares/databases';
6
6
  /**
7
7
  * Different from other schemas, this function is a factory function that returns either an ObjectSchema or an
8
8
  * ArraySchema. The idea is to build the schema of a model dynamically based on its fields.
@@ -92,18 +92,18 @@ import type { Model, ModelFields } from '@palmares/databases';
92
92
  *
93
93
  * @returns - If you pass the `many` option as true, we return an ArraySchema, otherwise we return an ObjectSchema.
94
94
  */
95
- export declare function modelSchema<TModel extends ReturnType<typeof Model>, const TOmit extends readonly (keyof ModelFields<InstanceType<TModel>>)[] | undefined[] = undefined[], const TShow extends readonly (keyof ModelFields<InstanceType<TModel>>)[] | undefined[] = undefined[], TMany extends boolean = false, TFields extends Record<any, Schema<any, DefinitionsOfSchemaType>> | undefined = undefined, TAllModelFields = ModelFields<InstanceType<TModel>>, TDefinitionsOfSchemaType extends DefinitionsOfSchemaType = DefinitionsOfSchemaType, TFieldsOnModel = TOmit extends undefined[] ? TShow extends undefined[] ? TAllModelFields : Pick<TAllModelFields, TShow[number] extends keyof TAllModelFields ? TShow[number] : never> : Omit<TAllModelFields, TOmit[number] extends keyof TAllModelFields ? TOmit[number] : never>, TReturnType extends {
95
+ export declare function modelSchema<TModel extends ReturnType<typeof Model>, const TOmit extends readonly (keyof ModelFields<InstanceType<TModel>>)[] | undefined[] = undefined[], const TShow extends readonly (keyof ModelFields<InstanceType<TModel>>)[] | undefined[] = undefined[], TMany extends boolean = false, TFields extends Record<any, Schema<any, DefinitionsOfSchemaType>> | undefined = undefined, TAllModelFieldsRead = InferModel<InstanceType<TModel>, 'read'>, TAllModelFieldsCreate = InferModel<InstanceType<TModel>, 'create'>, TDefinitionsOfSchemaType extends DefinitionsOfSchemaType = DefinitionsOfSchemaType, TFieldsOnModelRead = TOmit extends undefined[] ? TShow extends undefined[] ? TAllModelFieldsRead : Pick<TAllModelFieldsRead, TShow[number] extends keyof TAllModelFieldsRead ? TShow[number] : never> : Omit<TAllModelFieldsRead, TOmit[number] extends keyof TAllModelFieldsRead ? TOmit[number] : never>, TFieldsOnModelCreateOrUpdate = TOmit extends undefined[] ? TShow extends undefined[] ? TAllModelFieldsCreate : Pick<TAllModelFieldsCreate, TShow[number] extends keyof TAllModelFieldsCreate ? TShow[number] : never> : Omit<TAllModelFieldsCreate, TOmit[number] extends keyof TAllModelFieldsCreate ? TOmit[number] : never>, TReturnType extends {
96
96
  input: any;
97
97
  output: any;
98
98
  validate: any;
99
99
  internal: any;
100
100
  representation: any;
101
101
  } = {
102
- input: TFields extends undefined ? TFieldsOnModel : Omit<TFieldsOnModel, keyof ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, 'input'>> & ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, 'input'>;
103
- output: TFields extends undefined ? TFieldsOnModel : Omit<TFieldsOnModel, keyof ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, 'output'>> & ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, 'output'>;
104
- internal: TFields extends undefined ? TFieldsOnModel : Omit<TFieldsOnModel, keyof ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, 'internal'>> & ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, 'internal'>;
105
- representation: TFields extends undefined ? TFieldsOnModel : Omit<TFieldsOnModel, keyof ExtractTypeFromObjectOfSchemas<TFields extends Record<any, Schema<any, DefinitionsOfSchemaType>> ? TFields : {}, 'representation'>> & ExtractTypeFromObjectOfSchemas<TFields extends Record<any, Schema<any, DefinitionsOfSchemaType>> ? TFields : {}, 'representation'>;
106
- validate: TFields extends undefined ? TFieldsOnModel : Omit<TFieldsOnModel, keyof ExtractTypeFromObjectOfSchemas<TFields extends Record<any, Schema<any, DefinitionsOfSchemaType>> ? TFields : {}, 'validate'>> & ExtractTypeFromObjectOfSchemas<TFields extends Record<any, Schema<any, DefinitionsOfSchemaType>> ? TFields : {}, 'validate'>;
102
+ input: TFields extends undefined ? TFieldsOnModelCreateOrUpdate : Omit<TFieldsOnModelCreateOrUpdate, keyof ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, 'input'>> & ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, 'input'>;
103
+ output: TFields extends undefined ? TFieldsOnModelRead : Omit<TFieldsOnModelRead, keyof ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, 'output'>> & ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, 'output'>;
104
+ internal: TFields extends undefined ? TFieldsOnModelCreateOrUpdate : Omit<TFieldsOnModelCreateOrUpdate, keyof ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, 'internal'>> & ExtractTypeFromObjectOfSchemas<TFields extends undefined ? {} : TFields, 'internal'>;
105
+ representation: TFields extends undefined ? TFieldsOnModelRead : Omit<TFieldsOnModelRead, keyof ExtractTypeFromObjectOfSchemas<TFields extends Record<any, Schema<any, DefinitionsOfSchemaType>> ? TFields : {}, 'representation'>> & ExtractTypeFromObjectOfSchemas<TFields extends Record<any, Schema<any, DefinitionsOfSchemaType>> ? TFields : {}, 'representation'>;
106
+ validate: TFields extends undefined ? TFieldsOnModelCreateOrUpdate : Omit<TFieldsOnModelCreateOrUpdate, keyof ExtractTypeFromObjectOfSchemas<TFields extends Record<any, Schema<any, DefinitionsOfSchemaType>> ? TFields : {}, 'validate'>> & ExtractTypeFromObjectOfSchemas<TFields extends Record<any, Schema<any, DefinitionsOfSchemaType>> ? TFields : {}, 'validate'>;
107
107
  }>(model: TModel, options?: {
108
108
  ignoreExtraneousFields?: boolean;
109
109
  engineInstance?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"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"}
package/dist/src/model.js CHANGED
@@ -453,6 +453,7 @@ var Schema = class _Schema {
453
453
  static {
454
454
  __name(this, "Schema");
455
455
  }
456
+ "~standard";
456
457
  $$type = "$PSchema";
457
458
  fieldType = "schema";
458
459
  // Those functions will assume control of the validation process on adapters, instead of the schema.
@@ -635,7 +636,10 @@ var Schema = class _Schema {
635
636
  const shouldCallToInternalDuringParse = hasToInternalCallback && (options.toInternalToBubbleUp?.length === 0 || Array.isArray(options.toInternalToBubbleUp) === false);
636
637
  const hasNoErrors = parseResult.errors === void 0 || (parseResult.errors || []).length === 0;
637
638
  await Promise.all(this.__refinements.map(async (refinement) => {
638
- const errorOrNothing = await Promise.resolve(refinement(parseResult.parsed));
639
+ const errorOrNothing = await Promise.resolve(refinement({
640
+ value: parseResult.parsed,
641
+ context: options.context
642
+ }));
639
643
  if (typeof errorOrNothing === "undefined") return;
640
644
  parseResult.errors.push({
641
645
  isValid: false,
@@ -668,8 +672,6 @@ var Schema = class _Schema {
668
672
  * ```
669
673
  *
670
674
  * @param refinementCallback - The callback that will be called to validate the value.
671
- * @param options - Options for the refinement.
672
- * @param options.isAsync - Whether the callback is async or not. Defaults to true.
673
675
  */
674
676
  refine(refinementCallback) {
675
677
  this.__refinements.push(refinementCallback);
@@ -924,17 +926,19 @@ var Schema = class _Schema {
924
926
  * @returns An object with the property isValid, if the value is valid, the function `save` will be present.
925
927
  * If the value is invalid, the property errors will be present.
926
928
  */
927
- async validate(value, context) {
929
+ async validate(value, context = {}) {
928
930
  const { errors, parsed } = await this.__parse(value, [], {
929
931
  context
930
932
  });
931
933
  if ((errors || []).length > 0) return {
932
934
  isValid: false,
933
- errors
935
+ errors,
936
+ save: void 0
934
937
  };
935
938
  return {
936
939
  isValid: true,
937
- save: /* @__PURE__ */ __name(async () => this._save.bind(this)(parsed, context), "save")
940
+ save: /* @__PURE__ */ __name(async () => this._save.bind(this)(parsed, context), "save"),
941
+ errors: void 0
938
942
  };
939
943
  }
940
944
  /**
@@ -947,8 +951,9 @@ var Schema = class _Schema {
947
951
  */
948
952
  async _save(value, context) {
949
953
  if (this.__saveCallback) {
950
- const result = await this.__saveCallback(value, context);
951
- return this.data(result);
954
+ let result = this.__saveCallback(value);
955
+ if (typeof result === "function") result = result(context);
956
+ return this.data(result instanceof Promise ? await result : result);
952
957
  }
953
958
  return this.data(value);
954
959
  }