functional-models 2.0.1 → 2.0.2

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/interfaces.d.ts CHANGED
@@ -4,11 +4,19 @@ declare type Nullable<T> = T | null;
4
4
  declare type Maybe<T> = T | undefined | null;
5
5
  declare type Arrayable<T> = T | readonly T[];
6
6
  declare type MaybeLazy<T> = Maybe<Promise<T>>;
7
- declare type JsonAble = Arrayable<{
7
+ declare type UnWrapPromises<T> = {
8
+ readonly [P in keyof T]: Awaited<T[P]>;
9
+ };
10
+ declare type JsonObj = {
8
11
  readonly [s: string]: JsonAble | null;
9
- }> | readonly (number | string | boolean)[] | number | string | boolean;
12
+ };
13
+ declare type NoFunctions<T> = RemoveType<T, (...args: readonly any[]) => any>;
14
+ declare type TypedJsonObj<T extends FunctionalModel> = {
15
+ readonly [P in keyof NoFunctions<UnWrapPromises<T>>]: JsonAble;
16
+ };
17
+ declare type JsonAble = Arrayable<JsonObj> | readonly (number | string | boolean)[] | number | string | boolean | null;
10
18
  declare type VeryPrimitivesTypes = null | string | number | boolean;
11
- declare type toObj = () => Promise<JsonAble>;
19
+ declare type toObj<T extends FunctionalModel> = () => Promise<TypedJsonObj<T>>;
12
20
  declare type ValueIsOfType<T, V> = {
13
21
  readonly [P in keyof T as T[P] extends V ? P : never]: T[P];
14
22
  };
@@ -16,7 +24,7 @@ declare type ModelMethod<T extends FunctionalModel = FunctionalModel, TModel ext
16
24
  declare type ModelMethodClient = (...args: readonly any[]) => any;
17
25
  declare type ModelMethods<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = ValueIsOfType<T, ModelMethod | ModelMethod<T> | ModelMethod<T, TModel>>;
18
26
  declare type ModelMethodGetters<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = {
19
- readonly [P in keyof T as T[P] extends ModelMethod | ModelMethod<T> | ModelMethod<T, TModel> ? P : never]: ModelMethodClient;
27
+ readonly [P in keyof T as T[P] extends ModelMethod<T, TModel> | ModelMethod<T> | ModelMethod ? P : never]: ModelMethodClient;
20
28
  };
21
29
  declare type ModelInstanceMethod<T extends FunctionalModel = FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>> = (instance: TModelInstance, model: TModel, ...args: readonly any[]) => any;
22
30
  declare type ModelInstanceMethodClient = (...args: readonly any[]) => any;
@@ -27,7 +35,7 @@ declare type NotModelMethods<T extends FunctionalModel, TModel extends Model<T>
27
35
  declare type InstanceMethodGetters<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = {
28
36
  readonly [P in keyof NotModelMethods<T, TModel> as NotModelMethods<T, TModel>[P] extends ModelInstanceMethod | ModelInstanceMethod<T, TModel> | ModelInstanceMethod<T, TModel, any> ? P : never]: ModelInstanceMethodClient;
29
37
  };
30
- declare type ModelMethodTypes<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = ModelMethod | ModelMethod<T> | ModelInstanceMethod | ModelInstanceMethod<T> | ModelInstanceMethod<T, TModel> | ModelInstanceMethod<T, TModel, any>;
38
+ declare type ModelMethodTypes<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = ModelMethod | ModelMethod<T> | ModelMethod<T, TModel> | ModelInstanceMethod | ModelInstanceMethod<T> | ModelInstanceMethod<T, TModel> | ModelInstanceMethod<T, TModel, any>;
31
39
  declare type InstanceMethods<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = ValueIsOfType<T, ModelInstanceMethod | ModelInstanceMethod<T> | ModelInstanceMethod<T, TModel>>;
32
40
  declare type PropertyGetters<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = {
33
41
  readonly [Property in keyof T as T[Property] extends ModelMethodTypes<T, TModel> ? never : Property]: () => T[Property];
@@ -40,9 +48,7 @@ declare type FunctionalModel = ({
40
48
  declare type FunctionalValue = MaybePromise<JsonAble | (() => FunctionalValue) | Arrayable<null> | Arrayable<undefined> | Arrayable<Date> | Arrayable<FunctionalModel> | Arrayable<{
41
49
  readonly [s: string]: JsonAble;
42
50
  }>>;
43
- declare type ModelInstanceInputData<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = {
44
- readonly [P in keyof T as T[P] extends ModelMethodTypes<T, TModel> ? never : P]: T[P];
45
- } | JsonAble;
51
+ declare type ModelInstanceInputData<T extends FunctionalModel> = RemoveType<T, (...args: readonly any[]) => any> | UnWrapPromises<T> | TypedJsonObj<T>;
46
52
  declare type ValidatorConfiguration = {
47
53
  readonly [s: string]: any;
48
54
  };
@@ -60,8 +66,8 @@ declare type PropertyValidatorComponentSync<T extends FunctionalModel> = Propert
60
66
  declare type ValuePropertyValidatorComponent<T extends Arrayable<FunctionalValue>> = (value: T) => ValidationErrorResponse;
61
67
  declare type PropertyValidatorComponentAsync<T extends FunctionalModel> = (value: Arrayable<FunctionalValue>, instance: ModelInstance<T, any>, instanceData: T | JsonAble, configurations: ValidatorConfiguration) => Promise<ValidationErrorResponse>;
62
68
  declare type PropertyValidatorComponent<T extends FunctionalModel> = PropertyValidatorComponentSync<T> | PropertyValidatorComponentAsync<T>;
63
- declare type PropertyValidator<T extends FunctionalModel> = (instance: ModelInstance<T, any>, instanceData: T | JsonAble, configurations: ValidatorConfiguration) => Promise<ValidationErrors>;
64
- declare type ModelValidatorComponent<T extends FunctionalModel> = (instance: ModelInstance<T, any>, instanceData: T | JsonAble, configurations: ValidatorConfiguration) => Promise<ModelError>;
69
+ declare type PropertyValidator<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = (instance: ModelInstance<T, TModel>, instanceData: T | JsonAble, configurations: ValidatorConfiguration) => Promise<ValidationErrors>;
70
+ declare type ModelValidatorComponent<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = (instance: ModelInstance<T, TModel>, instanceData: T | JsonAble, configurations: ValidatorConfiguration) => Promise<ModelError>;
65
71
  declare type ValueGetter<T extends Arrayable<FunctionalValue>> = () => MaybePromise<T | ModelInstance<any, any>>;
66
72
  declare type PropertyInstance<T extends Arrayable<FunctionalValue>> = {
67
73
  readonly getConfig: () => object;
@@ -79,7 +85,7 @@ interface ReferencePropertyInstance<T extends FunctionalModel, TProperty extends
79
85
  readonly getReferencedId: (instanceValues: ReferenceValueType<T>) => Maybe<PrimaryKeyType>;
80
86
  readonly getReferencedModel: () => Model<T>;
81
87
  }
82
- declare type ReferenceValueType<T extends FunctionalModel> = ModelInstance<T, any> | ModelInstanceInputData<T, any> | PrimaryKeyType;
88
+ declare type ReferenceValueType<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = ModelInstance<T, TModel> | ModelInstanceInputData<T> | PrimaryKeyType;
83
89
  declare type DefaultPropertyValidators = {
84
90
  readonly required?: boolean;
85
91
  readonly isInteger?: boolean;
@@ -103,7 +109,7 @@ declare type PropertyConfigContents<T extends Arrayable<FunctionalValue>> = {
103
109
  readonly autoNow?: boolean;
104
110
  readonly fetcher?: ModelFetcher;
105
111
  };
106
- declare type ModelFetcher = (model: Model<any>, primaryKey: PrimaryKeyType) => Promise<ModelInstance<any, any> | ModelInstanceInputData<any, any> | null | undefined>;
112
+ declare type ModelFetcher = <T extends FunctionalModel>(model: Model<T>, primaryKey: PrimaryKeyType) => Promise<ModelInstance<T, Model<T>> | ModelInstanceInputData<T> | null | undefined>;
107
113
  declare type PropertyConfig<T extends Arrayable<FunctionalValue>> = (PropertyConfigContents<T> & DefaultPropertyValidators) | undefined;
108
114
  declare type PrimaryKeyPropertyInstanceType = PropertyInstance<string> | PropertyInstance<number>;
109
115
  declare type PrimaryKeyType = string | number;
@@ -114,10 +120,10 @@ declare type ModelDefinition<T extends FunctionalModel, TModel extends Model<T>
114
120
  };
115
121
  readonly modelMethods?: ModelMethods<T, TModel>;
116
122
  readonly instanceMethods?: InstanceMethods<T, TModel>;
117
- readonly modelValidators?: readonly ModelValidatorComponent<T>[];
123
+ readonly modelValidators?: readonly ModelValidatorComponent<T, TModel>[];
118
124
  };
119
125
  declare type ModelFactory = <T extends FunctionalModel, TModel extends Model<T> = Model<T>>(modelName: string, modelDefinition: ModelDefinition<T, TModel>, options?: OptionalModelOptions<T, TModel>) => TModel;
120
- declare type CreateParams<T extends FunctionalModel, TModel extends Model<T>> = ModelInstanceInputData<T, TModel> | (ModelInstanceInputData<T, TModel> & {
126
+ declare type CreateParams<T extends FunctionalModel> = ModelInstanceInputData<T> | (ModelInstanceInputData<T> & {
121
127
  readonly id?: PrimaryKeyType;
122
128
  });
123
129
  declare type Model<T extends FunctionalModel> = {
@@ -126,25 +132,25 @@ declare type Model<T extends FunctionalModel> = {
126
132
  readonly getModelDefinition: () => ModelDefinition<T>;
127
133
  readonly getPrimaryKey: (t: ModelInstanceInputData<T>) => PrimaryKeyType;
128
134
  readonly getOptions: () => object & ModelOptions<T>;
129
- readonly create: (data: CreateParams<T, any>) => ModelInstance<T, Model<T>>;
135
+ readonly create: (data: CreateParams<T>) => ModelInstance<T>;
130
136
  readonly methods: ModelMethodGetters<T>;
131
137
  };
132
138
  declare type ReferenceFunctions = {
133
139
  readonly [s: string]: () => ReferenceValueType<any>;
134
140
  };
135
- declare type PropertyValidators<T extends FunctionalModel> = {
136
- readonly [s: string]: PropertyValidator<T>;
141
+ declare type PropertyValidators<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = {
142
+ readonly [s: string]: PropertyValidator<T, TModel>;
137
143
  };
138
144
  declare type ModelInstance<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = {
139
- readonly get: PropertyGetters<T> & {
145
+ readonly get: PropertyGetters<T, TModel> & {
140
146
  readonly id: () => MaybePromise<PrimaryKeyType>;
141
147
  };
142
148
  readonly methods: InstanceMethodGetters<T, TModel>;
143
149
  readonly references: ReferenceFunctions;
144
- readonly toObj: toObj;
150
+ readonly toObj: toObj<T>;
145
151
  readonly getPrimaryKeyName: () => string;
146
152
  readonly getPrimaryKey: () => PrimaryKeyType;
147
- readonly validators: PropertyValidators<T>;
153
+ readonly validators: PropertyValidators<T, TModel>;
148
154
  readonly validate: (options?: {}) => Promise<ModelErrors<T, TModel>>;
149
155
  readonly getModel: () => TModel;
150
156
  };
@@ -162,4 +168,4 @@ declare type OptionalModelOptions<T extends FunctionalModel, TModel extends Mode
162
168
  readonly instanceCreatedCallback?: Nullable<Arrayable<(instance: ModelInstance<T, TModel>) => void>>;
163
169
  readonly [s: string]: any;
164
170
  } | undefined;
165
- export { MaybeFunction, Maybe, MaybePromise, Nullable, Arrayable, MaybeLazy, JsonAble, toObj, ModelInstance, Model, PropertyValidatorComponent, PropertyValidatorComponentSync, PropertyValidatorComponentAsync, PropertyValidatorComponentType, PropertyValidator, ModelValidatorComponent, PropertyInstance, PropertyConfig, FunctionalValue, ValueGetter, ReferenceValueType, ModelDefinition, ModelOptions, ModelMethod, OptionalModelOptions, ReferencePropertyInstance, PropertyGetters, PropertyValidators, PropertyValidatorComponentTypeAdvanced, ModelInstanceMethod, FunctionalModel, ModelInstanceInputData, ModelMethodGetters, InstanceMethodGetters, ReferenceFunctions, ModelErrors, PrimaryKeyType, ModelFactory, ModelFetcher, CreateParams, ValidatorConfiguration, ValuePropertyValidatorComponent, ValueRequired, ValueOptional, ValueOptionalR, ValueRequiredR, PropertyModifier, ValidationErrors, ModelError, IsAsync, ModelInstanceMethodClient, ModelMethodClient, };
171
+ export { MaybeFunction, Maybe, MaybePromise, Nullable, Arrayable, MaybeLazy, JsonAble, toObj, ModelInstance, Model, PropertyValidatorComponent, PropertyValidatorComponentSync, PropertyValidatorComponentAsync, PropertyValidatorComponentType, PropertyValidator, ModelValidatorComponent, PropertyInstance, PropertyConfig, FunctionalValue, ValueGetter, ReferenceValueType, ModelDefinition, ModelOptions, ModelMethod, OptionalModelOptions, ReferencePropertyInstance, PropertyGetters, PropertyValidators, PropertyValidatorComponentTypeAdvanced, ModelInstanceMethod, FunctionalModel, ModelInstanceInputData, ModelMethodGetters, InstanceMethodGetters, ReferenceFunctions, ModelErrors, PrimaryKeyType, ModelFactory, ModelFetcher, CreateParams, ValidatorConfiguration, ValuePropertyValidatorComponent, ValueRequired, ValueOptional, ValueOptionalR, ValueRequiredR, PropertyModifier, ValidationErrors, ModelError, IsAsync, ModelInstanceMethodClient, ModelMethodClient, TypedJsonObj, };
package/interfaces.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;AAkbA,kCAAkC"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;AAscA,kCAAkC"}
package/models.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "functional-models",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "description": "A library for creating JavaScript function based models.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
package/properties.d.ts CHANGED
@@ -13,17 +13,15 @@ declare const EmailProperty: <TModifier extends PropertyModifier<string>>(config
13
13
  declare const BooleanProperty: <TModifier extends PropertyModifier<boolean>>(config?: PropertyConfig<TModifier>, additionalMetadata?: {}) => PropertyInstance<TModifier>;
14
14
  declare const UniqueId: <TModifier extends PropertyModifier<string>>(config?: PropertyConfig<TModifier>, additionalMetadata?: {}) => PropertyInstance<TModifier>;
15
15
  declare const ReferenceProperty: <T extends {
16
- readonly [s: string]: string | number | boolean | readonly string[] | {
17
- readonly [s: string]: JsonAble | null;
18
- } | readonly {
19
- readonly [s: string]: JsonAble | null;
20
- }[] | readonly (string | number | boolean)[] | (any & {
16
+ readonly [s: string]: string | number | boolean | readonly string[] | (any & {
21
17
  readonly id?: PrimaryKeyType | undefined;
22
18
  }) | readonly number[] | Promise<number> | readonly boolean[] | readonly null[] | readonly (any & {
23
19
  readonly id?: PrimaryKeyType | undefined;
24
- })[] | Date | readonly Date[] | readonly undefined[] | ModelInstance<any, any> | {
20
+ })[] | Date | readonly Date[] | readonly undefined[] | ModelInstance<any, Model<any>> | {
25
21
  readonly [x: string]: any;
26
- } | import("./interfaces").ModelInstanceMethod<any & {
22
+ } | {
23
+ readonly [x: string]: any;
24
+ } | import("./interfaces").TypedJsonObj<any> | import("./interfaces").ModelInstanceMethod<any & {
27
25
  readonly id?: PrimaryKeyType | undefined;
28
26
  }, Model<any & {
29
27
  readonly id?: PrimaryKeyType | undefined;
@@ -38,5 +36,5 @@ declare const ReferenceProperty: <T extends {
38
36
  }>> | null | undefined;
39
37
  } & {
40
38
  readonly id?: PrimaryKeyType | undefined;
41
- }, TModifier extends PropertyModifier<ReferenceValueType<T>>>(model: MaybeFunction<Model<T>>, config?: PropertyConfig<TModifier>, additionalMetadata?: {}) => ReferencePropertyInstance<T, TModifier>;
39
+ }, TModifier extends PropertyModifier<ReferenceValueType<T, Model<T>>>>(model: MaybeFunction<Model<T>>, config?: PropertyConfig<TModifier>, additionalMetadata?: {}) => ReferencePropertyInstance<T, TModifier>;
42
40
  export { Property, UniqueId, DateProperty, ArrayProperty, ReferenceProperty, IntegerProperty, TextProperty, ConstantValueProperty, NumberProperty, ObjectProperty, EmailProperty, BooleanProperty, };
package/properties.js CHANGED
@@ -177,8 +177,7 @@ const ReferenceProperty = (model, config = {}, additionalMetadata = {}) => {
177
177
  instanceValues.getPrimaryKeyName;
178
178
  const _getInstanceReturn = (objToUse) => {
179
179
  // We need to determine if the object we just got is an actual model instance to determine if we need to make one.
180
- const objIsModelInstance = instanceValues &&
181
- instanceValues.getPrimaryKeyName;
180
+ const objIsModelInstance = objToUse && objToUse.getPrimaryKeyName;
182
181
  // @ts-ignore
183
182
  const instance = objIsModelInstance
184
183
  ? objToUse
package/properties.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"properties.js","sourceRoot":"","sources":["../src/properties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"properties.js","sourceRoot":"","sources":["../src/properties.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,27 @@
1
- import { PropertyGetters, toObj } from './interfaces';
2
- declare const toJsonAble: (keyToFunc: PropertyGetters<any>) => toObj;
1
+ import { PropertyGetters, toObj, TypedJsonObj } from './interfaces';
2
+ declare const toJsonAble: <T extends {
3
+ readonly [s: string]: string | number | boolean | readonly string[] | (any & {
4
+ readonly id?: import("./interfaces").PrimaryKeyType | undefined;
5
+ }) | readonly number[] | Promise<number> | readonly boolean[] | readonly null[] | readonly (any & {
6
+ readonly id?: import("./interfaces").PrimaryKeyType | undefined;
7
+ })[] | Date | readonly Date[] | readonly undefined[] | import("./interfaces").ModelInstance<any, import("./interfaces").Model<any>> | {
8
+ readonly [x: string]: any;
9
+ } | {
10
+ readonly [x: string]: any;
11
+ } | TypedJsonObj<any> | import("./interfaces").ModelInstanceMethod<any & {
12
+ readonly id?: import("./interfaces").PrimaryKeyType | undefined;
13
+ }, import("./interfaces").Model<any & {
14
+ readonly id?: import("./interfaces").PrimaryKeyType | undefined;
15
+ }>, import("./interfaces").ModelInstance<any & {
16
+ readonly id?: import("./interfaces").PrimaryKeyType | undefined;
17
+ }, import("./interfaces").Model<any & {
18
+ readonly id?: import("./interfaces").PrimaryKeyType | undefined;
19
+ }>>> | import("./interfaces").ModelMethod<any & {
20
+ readonly id?: import("./interfaces").PrimaryKeyType | undefined;
21
+ }, import("./interfaces").Model<any & {
22
+ readonly id?: import("./interfaces").PrimaryKeyType | undefined;
23
+ }>> | null | undefined;
24
+ } & {
25
+ readonly id?: import("./interfaces").PrimaryKeyType | undefined;
26
+ }>(keyToFunc: PropertyGetters<T, import("./interfaces").Model<T>>) => toObj<T>;
3
27
  export { toJsonAble };
package/serialization.js CHANGED
@@ -38,12 +38,12 @@ const _getValue = (value) => __awaiter(void 0, void 0, void 0, function* () {
38
38
  }
39
39
  return value;
40
40
  });
41
- const toJsonAble = (keyToFunc) => () => __awaiter(void 0, void 0, void 0, function* () {
41
+ const toJsonAble = (keyToFunc) => () => {
42
42
  return Object.entries(keyToFunc).reduce((acc, [key, value]) => __awaiter(void 0, void 0, void 0, function* () {
43
43
  const realAcc = yield acc;
44
44
  const trueValue = yield _getValue(yield value);
45
45
  return (0, merge_1.default)(realAcc, { [key]: trueValue });
46
46
  }), Promise.resolve({}));
47
- });
47
+ };
48
48
  exports.toJsonAble = toJsonAble;
49
49
  //# sourceMappingURL=serialization.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serialization.js","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yDAAgC;AAGhC,MAAM,SAAS,GAAG,CAAO,KAAU,EAA4B,EAAE;IAC/D,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,OAAO,IAAI,CAAA;KACZ;IACD,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,OAAO,IAAI,CAAA;KACZ;IACD,MAAM,IAAI,GAAG,OAAO,KAAK,CAAA;IACzB,MAAM,UAAU,GAAG,KAAiB,CAAA;IACpC,IAAI,IAAI,KAAK,UAAU,EAAE;QACvB,OAAO,SAAS,CAAC,MAAM,UAAU,EAAE,CAAC,CAAA;KACrC;IACD,gBAAgB;IAChB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAA;IAC3B,IAAI,OAAO,EAAE;QACX,OAAO,SAAS,CAAC,MAAM,OAAO,EAAE,CAAC,CAAA;KAClC;IACD,QAAQ;IACR,MAAM,MAAM,GAAG,KAAa,CAAA;IAC5B,IAAI,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW,EAAE;QAC3C,OAAO,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;KACvC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA,CAAA;AAED,MAAM,UAAU,GACd,CAAC,SAA+B,EAAS,EAAE,CAC3C,GAAS,EAAE;IACT,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAO,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAClE,MAAM,OAAO,GAAG,MAAM,GAAG,CAAA;QACzB,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,MAAM,KAAK,CAAC,CAAA;QAC9C,OAAO,IAAA,eAAK,EAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;IAC7C,CAAC,CAAA,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;AACzB,CAAC,CAAA,CAAA;AAEM,gCAAU"}
1
+ {"version":3,"file":"serialization.js","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yDAAgC;AAShC,MAAM,SAAS,GAAG,CAAO,KAAU,EAA4B,EAAE;IAC/D,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,OAAO,IAAI,CAAA;KACZ;IACD,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,OAAO,IAAI,CAAA;KACZ;IACD,MAAM,IAAI,GAAG,OAAO,KAAK,CAAA;IACzB,MAAM,UAAU,GAAG,KAAiB,CAAA;IACpC,IAAI,IAAI,KAAK,UAAU,EAAE;QACvB,OAAO,SAAS,CAAC,MAAM,UAAU,EAAE,CAAC,CAAA;KACrC;IACD,gBAAgB;IAChB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAA;IAC3B,IAAI,OAAO,EAAE;QACX,OAAO,SAAS,CAAC,MAAM,OAAO,EAAE,CAAC,CAAA;KAClC;IACD,QAAQ;IACR,MAAM,MAAM,GAAG,KAAa,CAAA;IAC5B,IAAI,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW,EAAE;QAC3C,OAAO,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;KACvC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA,CAAA;AAED,MAAM,UAAU,GACd,CAA4B,SAA6B,EAAY,EAAE,CACvE,GAAG,EAAE;IACH,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAO,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAClE,MAAM,OAAO,GAAG,MAAM,GAAG,CAAA;QACzB,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,MAAM,KAAK,CAAC,CAAA;QAC9C,OAAO,IAAA,eAAK,EAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;IAC7C,CAAC,CAAA,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAA6B,CAAA;AACrD,CAAC,CAAA;AAEM,gCAAU"}
package/validation.d.ts CHANGED
@@ -22,17 +22,15 @@ declare const minNumber: (min: Number) => ValuePropertyValidatorComponent<number
22
22
  declare const maxTextLength: (max: Number) => ValuePropertyValidatorComponent<string>;
23
23
  declare const minTextLength: (min: Number) => ValuePropertyValidatorComponent<string>;
24
24
  declare const referenceTypeMatch: <TModel extends {
25
- readonly [s: string]: string | number | boolean | readonly string[] | {
26
- readonly [s: string]: JsonAble | null;
27
- } | readonly {
28
- readonly [s: string]: JsonAble | null;
29
- }[] | readonly (string | number | boolean)[] | (any & {
25
+ readonly [s: string]: string | number | boolean | readonly string[] | (any & {
30
26
  readonly id?: import("./interfaces").PrimaryKeyType | undefined;
31
27
  }) | readonly number[] | Promise<number> | readonly boolean[] | readonly null[] | readonly (any & {
32
28
  readonly id?: import("./interfaces").PrimaryKeyType | undefined;
33
- })[] | Date | readonly Date[] | readonly undefined[] | ModelInstance<any, any> | {
29
+ })[] | Date | readonly Date[] | readonly undefined[] | ModelInstance<any, Model<any>> | {
34
30
  readonly [x: string]: any;
35
- } | import("./interfaces").ModelInstanceMethod<any & {
31
+ } | {
32
+ readonly [x: string]: any;
33
+ } | import("./interfaces").TypedJsonObj<any> | import("./interfaces").ModelInstanceMethod<any & {
36
34
  readonly id?: import("./interfaces").PrimaryKeyType | undefined;
37
35
  }, Model<any & {
38
36
  readonly id?: import("./interfaces").PrimaryKeyType | undefined;
@@ -49,17 +47,15 @@ declare const referenceTypeMatch: <TModel extends {
49
47
  readonly id?: import("./interfaces").PrimaryKeyType | undefined;
50
48
  }>(referencedModel: MaybeFunction<Model<TModel>>) => PropertyValidatorComponentTypeAdvanced<ModelInstance<TModel, any>, TModel>;
51
49
  declare const aggregateValidator: <T extends {
52
- readonly [s: string]: string | number | boolean | readonly string[] | {
53
- readonly [s: string]: JsonAble | null;
54
- } | readonly {
55
- readonly [s: string]: JsonAble | null;
56
- }[] | readonly (string | number | boolean)[] | (any & {
50
+ readonly [s: string]: string | number | boolean | readonly string[] | (any & {
57
51
  readonly id?: import("./interfaces").PrimaryKeyType | undefined;
58
52
  }) | readonly number[] | Promise<number> | readonly boolean[] | readonly null[] | readonly (any & {
59
53
  readonly id?: import("./interfaces").PrimaryKeyType | undefined;
60
- })[] | Date | readonly Date[] | readonly undefined[] | ModelInstance<any, any> | {
54
+ })[] | Date | readonly Date[] | readonly undefined[] | ModelInstance<any, Model<any>> | {
55
+ readonly [x: string]: any;
56
+ } | {
61
57
  readonly [x: string]: any;
62
- } | import("./interfaces").ModelInstanceMethod<any & {
58
+ } | import("./interfaces").TypedJsonObj<any> | import("./interfaces").ModelInstanceMethod<any & {
63
59
  readonly id?: import("./interfaces").PrimaryKeyType | undefined;
64
60
  }, Model<any & {
65
61
  readonly id?: import("./interfaces").PrimaryKeyType | undefined;
@@ -74,20 +70,18 @@ declare const aggregateValidator: <T extends {
74
70
  }>> | null | undefined;
75
71
  } & {
76
72
  readonly id?: import("./interfaces").PrimaryKeyType | undefined;
77
- }>(value: any, methodOrMethods: PropertyValidatorComponent<T> | readonly PropertyValidatorComponent<T>[]) => PropertyValidator<T>;
73
+ }>(value: any, methodOrMethods: PropertyValidatorComponent<T> | readonly PropertyValidatorComponent<T>[]) => PropertyValidator<T, Model<T>>;
78
74
  declare const emptyValidator: PropertyValidatorComponentSync<any>;
79
75
  declare const createPropertyValidator: <T extends Arrayable<FunctionalValue>>(valueGetter: ValueGetter<T>, config: PropertyConfig<T>) => <TModel extends {
80
- readonly [s: string]: string | number | boolean | readonly string[] | {
81
- readonly [s: string]: JsonAble | null;
82
- } | readonly {
83
- readonly [s: string]: JsonAble | null;
84
- }[] | readonly (string | number | boolean)[] | (any & {
76
+ readonly [s: string]: string | number | boolean | readonly string[] | (any & {
85
77
  readonly id?: import("./interfaces").PrimaryKeyType | undefined;
86
78
  }) | readonly number[] | Promise<number> | readonly boolean[] | readonly null[] | readonly (any & {
87
79
  readonly id?: import("./interfaces").PrimaryKeyType | undefined;
88
- })[] | Date | readonly Date[] | readonly undefined[] | ModelInstance<any, any> | {
80
+ })[] | Date | readonly Date[] | readonly undefined[] | ModelInstance<any, Model<any>> | {
89
81
  readonly [x: string]: any;
90
- } | import("./interfaces").ModelInstanceMethod<any & {
82
+ } | {
83
+ readonly [x: string]: any;
84
+ } | import("./interfaces").TypedJsonObj<any> | import("./interfaces").ModelInstanceMethod<any & {
91
85
  readonly id?: import("./interfaces").PrimaryKeyType | undefined;
92
86
  }, Model<any & {
93
87
  readonly id?: import("./interfaces").PrimaryKeyType | undefined;
@@ -104,17 +98,15 @@ declare const createPropertyValidator: <T extends Arrayable<FunctionalValue>>(va
104
98
  readonly id?: import("./interfaces").PrimaryKeyType | undefined;
105
99
  }>(instance: ModelInstance<TModel, any>, instanceData: JsonAble | TModel, propertyConfiguration: ValidatorConfiguration) => Promise<ValidationErrors>;
106
100
  declare const createModelValidator: <T extends {
107
- readonly [s: string]: string | number | boolean | readonly string[] | {
108
- readonly [s: string]: JsonAble | null;
109
- } | readonly {
110
- readonly [s: string]: JsonAble | null;
111
- }[] | readonly (string | number | boolean)[] | (any & {
101
+ readonly [s: string]: string | number | boolean | readonly string[] | (any & {
112
102
  readonly id?: import("./interfaces").PrimaryKeyType | undefined;
113
103
  }) | readonly number[] | Promise<number> | readonly boolean[] | readonly null[] | readonly (any & {
114
104
  readonly id?: import("./interfaces").PrimaryKeyType | undefined;
115
- })[] | Date | readonly Date[] | readonly undefined[] | ModelInstance<any, any> | {
105
+ })[] | Date | readonly Date[] | readonly undefined[] | ModelInstance<any, Model<any>> | {
106
+ readonly [x: string]: any;
107
+ } | {
116
108
  readonly [x: string]: any;
117
- } | import("./interfaces").ModelInstanceMethod<any & {
109
+ } | import("./interfaces").TypedJsonObj<any> | import("./interfaces").ModelInstanceMethod<any & {
118
110
  readonly id?: import("./interfaces").PrimaryKeyType | undefined;
119
111
  }, Model<any & {
120
112
  readonly id?: import("./interfaces").PrimaryKeyType | undefined;
@@ -129,5 +121,5 @@ declare const createModelValidator: <T extends {
129
121
  }>> | null | undefined;
130
122
  } & {
131
123
  readonly id?: import("./interfaces").PrimaryKeyType | undefined;
132
- }, TModel extends Model<T> = Model<T>>(validators: PropertyValidators<T>, modelValidators?: readonly ModelValidatorComponent<T>[] | undefined) => (instance: ModelInstance<T, TModel>, propertyConfiguration: ValidatorConfiguration) => Promise<ModelErrors<T, TModel>>;
124
+ }, TModel extends Model<T> = Model<T>>(validators: PropertyValidators<T, TModel>, modelValidators?: readonly ModelValidatorComponent<T, TModel>[] | undefined) => (instance: ModelInstance<T, TModel>, propertyConfiguration: ValidatorConfiguration) => Promise<ModelErrors<T, TModel>>;
133
125
  export { isNumber, isBoolean, isString, isInteger, isType, isDate, isArray, isRequired, maxNumber, minNumber, choices, maxTextLength, minTextLength, meetsRegex, aggregateValidator, emptyValidator, createPropertyValidator, createModelValidator, arrayType, referenceTypeMatch, TYPE_PRIMITIVES, };
package/validation.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}