functional-models 1.1.22 → 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 +65 -55
- package/interfaces.js.map +1 -1
- package/methods.d.ts +5 -3
- package/methods.js +7 -7
- package/methods.js.map +1 -1
- package/models.js +1 -1
- package/models.js.map +1 -1
- package/package.json +1 -1
- package/properties.d.ts +26 -2
- package/properties.js +3 -2
- package/properties.js.map +1 -1
- package/serialization.d.ts +26 -2
- package/serialization.js +2 -2
- package/serialization.js.map +1 -1
- package/validation.d.ts +101 -5
- package/validation.js.map +1 -1
package/interfaces.d.ts
CHANGED
|
@@ -4,53 +4,71 @@ 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
|
|
8
|
-
readonly [
|
|
9
|
-
}
|
|
7
|
+
declare type UnWrapPromises<T> = {
|
|
8
|
+
readonly [P in keyof T]: Awaited<T[P]>;
|
|
9
|
+
};
|
|
10
|
+
declare type JsonObj = {
|
|
11
|
+
readonly [s: string]: JsonAble | null;
|
|
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<
|
|
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
|
};
|
|
15
|
-
declare type
|
|
16
|
-
|
|
23
|
+
declare type ModelMethod<T extends FunctionalModel = FunctionalModel, TModel extends Model<T> = Model<T>> = (model: TModel, ...args: readonly any[]) => any;
|
|
24
|
+
declare type ModelMethodClient = (...args: readonly any[]) => any;
|
|
25
|
+
declare type ModelMethods<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = ValueIsOfType<T, ModelMethod | ModelMethod<T> | ModelMethod<T, TModel>>;
|
|
26
|
+
declare type ModelMethodGetters<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = {
|
|
27
|
+
readonly [P in keyof T as T[P] extends ModelMethod<T, TModel> | ModelMethod<T> | ModelMethod ? P : never]: ModelMethodClient;
|
|
17
28
|
};
|
|
18
|
-
declare type
|
|
19
|
-
|
|
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;
|
|
30
|
+
declare type ModelInstanceMethodClient = (...args: readonly any[]) => any;
|
|
31
|
+
declare type RemoveType<T, TRemove> = {
|
|
32
|
+
readonly [P in keyof T as T[P] extends TRemove ? never : P]: T[P];
|
|
20
33
|
};
|
|
21
|
-
declare type
|
|
22
|
-
declare type
|
|
23
|
-
readonly [
|
|
34
|
+
declare type NotModelMethods<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = RemoveType<T, ModelMethod | ModelMethod<T> | ModelMethod<T, TModel>>;
|
|
35
|
+
declare type InstanceMethodGetters<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = {
|
|
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;
|
|
24
37
|
};
|
|
25
|
-
declare type FunctionalModel =
|
|
26
|
-
|
|
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>;
|
|
39
|
+
declare type InstanceMethods<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = ValueIsOfType<T, ModelInstanceMethod | ModelInstanceMethod<T> | ModelInstanceMethod<T, TModel>>;
|
|
40
|
+
declare type PropertyGetters<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = {
|
|
41
|
+
readonly [Property in keyof T as T[Property] extends ModelMethodTypes<T, TModel> ? never : Property]: () => T[Property];
|
|
27
42
|
};
|
|
28
|
-
declare type
|
|
43
|
+
declare type FunctionalModel = ({
|
|
44
|
+
readonly [s: string]: Arrayable<number> | Promise<number> | Arrayable<string> | Arrayable<boolean> | Arrayable<null> | Arrayable<FunctionalModel> | Arrayable<Date> | Arrayable<undefined> | ReferenceValueType<any> | ModelInstanceMethod | ModelMethod;
|
|
45
|
+
} & {
|
|
46
|
+
readonly id?: PrimaryKeyType;
|
|
47
|
+
});
|
|
48
|
+
declare type FunctionalValue = MaybePromise<JsonAble | (() => FunctionalValue) | Arrayable<null> | Arrayable<undefined> | Arrayable<Date> | Arrayable<FunctionalModel> | Arrayable<{
|
|
29
49
|
readonly [s: string]: JsonAble;
|
|
30
50
|
}>>;
|
|
31
|
-
declare type ModelInstanceInputData<T extends FunctionalModel> =
|
|
32
|
-
readonly [P in keyof T as T[P] extends ModelMethodTypes<T> ? never : P]: T[P];
|
|
33
|
-
} | JsonAble;
|
|
51
|
+
declare type ModelInstanceInputData<T extends FunctionalModel> = RemoveType<T, (...args: readonly any[]) => any> | UnWrapPromises<T> | TypedJsonObj<T>;
|
|
34
52
|
declare type ValidatorConfiguration = {
|
|
35
53
|
readonly [s: string]: any;
|
|
36
54
|
};
|
|
37
55
|
declare type ValidationErrorResponse = string | undefined;
|
|
38
56
|
declare type ValidationErrors = readonly string[];
|
|
39
57
|
declare type ModelError = string | undefined;
|
|
40
|
-
declare type ModelErrors<T extends FunctionalModel> = {
|
|
41
|
-
readonly [Property in keyof T as T[Property] extends ModelMethodTypes<T> ? never : Property]: readonly string[] | undefined;
|
|
58
|
+
declare type ModelErrors<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = {
|
|
59
|
+
readonly [Property in keyof T as T[Property] extends ModelMethodTypes<T, TModel> ? never : Property]: readonly string[] | undefined;
|
|
42
60
|
} & {
|
|
43
61
|
readonly overall?: readonly string[] | undefined;
|
|
44
62
|
};
|
|
45
|
-
declare type PropertyValidatorComponentTypeAdvanced<TValue, TModel extends FunctionalModel> = (value: TValue, instance: ModelInstance<TModel>, instanceData: TModel | JsonAble, configurations: ValidatorConfiguration) => ValidationErrorResponse;
|
|
46
|
-
declare type PropertyValidatorComponentType<TValue> = (value: TValue, instance: ModelInstance<any>, instanceData: FunctionalModel | JsonAble, configurations: ValidatorConfiguration) => ValidationErrorResponse;
|
|
63
|
+
declare type PropertyValidatorComponentTypeAdvanced<TValue, TModel extends FunctionalModel> = (value: TValue, instance: ModelInstance<TModel, any>, instanceData: TModel | JsonAble, configurations: ValidatorConfiguration) => ValidationErrorResponse;
|
|
64
|
+
declare type PropertyValidatorComponentType<TValue> = (value: TValue, instance: ModelInstance<any, any>, instanceData: FunctionalModel | JsonAble, configurations: ValidatorConfiguration) => ValidationErrorResponse;
|
|
47
65
|
declare type PropertyValidatorComponentSync<T extends FunctionalModel> = PropertyValidatorComponentTypeAdvanced<any, T>;
|
|
48
66
|
declare type ValuePropertyValidatorComponent<T extends Arrayable<FunctionalValue>> = (value: T) => ValidationErrorResponse;
|
|
49
|
-
declare type PropertyValidatorComponentAsync<T extends FunctionalModel> = (value: Arrayable<FunctionalValue>, instance: ModelInstance<T>, instanceData: T | JsonAble, configurations: ValidatorConfiguration) => Promise<ValidationErrorResponse>;
|
|
67
|
+
declare type PropertyValidatorComponentAsync<T extends FunctionalModel> = (value: Arrayable<FunctionalValue>, instance: ModelInstance<T, any>, instanceData: T | JsonAble, configurations: ValidatorConfiguration) => Promise<ValidationErrorResponse>;
|
|
50
68
|
declare type PropertyValidatorComponent<T extends FunctionalModel> = PropertyValidatorComponentSync<T> | PropertyValidatorComponentAsync<T>;
|
|
51
|
-
declare type PropertyValidator<T extends FunctionalModel> = (instance: ModelInstance<T>, instanceData: T | JsonAble, configurations: ValidatorConfiguration) => Promise<ValidationErrors>;
|
|
52
|
-
declare type ModelValidatorComponent<T extends FunctionalModel> = (instance: ModelInstance<T>, instanceData: T | JsonAble, configurations: ValidatorConfiguration) => Promise<ModelError>;
|
|
53
|
-
declare type ValueGetter<T extends Arrayable<FunctionalValue>> = () => MaybePromise<T | ModelInstance<any>>;
|
|
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>;
|
|
71
|
+
declare type ValueGetter<T extends Arrayable<FunctionalValue>> = () => MaybePromise<T | ModelInstance<any, any>>;
|
|
54
72
|
declare type PropertyInstance<T extends Arrayable<FunctionalValue>> = {
|
|
55
73
|
readonly getConfig: () => object;
|
|
56
74
|
readonly getChoices: () => readonly VeryPrimitivesTypes[];
|
|
@@ -60,14 +78,14 @@ declare type PropertyInstance<T extends Arrayable<FunctionalValue>> = {
|
|
|
60
78
|
readonly createGetter: (value: T) => ValueGetter<T>;
|
|
61
79
|
readonly getValidator: <TModel extends FunctionalModel>(valueGetter: ValueGetter<T>) => PropertyValidator<TModel>;
|
|
62
80
|
};
|
|
63
|
-
declare type PropertiesList<T> = {
|
|
81
|
+
declare type PropertiesList<T extends FunctionalModel> = {
|
|
64
82
|
readonly [P in keyof T as T[P] extends Arrayable<FunctionalValue> ? P : never]: PropertyInstance<any>;
|
|
65
83
|
};
|
|
66
84
|
interface ReferencePropertyInstance<T extends FunctionalModel, TProperty extends Arrayable<FunctionalValue>> extends PropertyInstance<TProperty> {
|
|
67
85
|
readonly getReferencedId: (instanceValues: ReferenceValueType<T>) => Maybe<PrimaryKeyType>;
|
|
68
86
|
readonly getReferencedModel: () => Model<T>;
|
|
69
87
|
}
|
|
70
|
-
declare type ReferenceValueType<T extends FunctionalModel> = ModelInstance<T> | ModelInstanceInputData<T> | PrimaryKeyType;
|
|
88
|
+
declare type ReferenceValueType<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = ModelInstance<T, TModel> | ModelInstanceInputData<T> | PrimaryKeyType;
|
|
71
89
|
declare type DefaultPropertyValidators = {
|
|
72
90
|
readonly required?: boolean;
|
|
73
91
|
readonly isInteger?: boolean;
|
|
@@ -91,22 +109,20 @@ declare type PropertyConfigContents<T extends Arrayable<FunctionalValue>> = {
|
|
|
91
109
|
readonly autoNow?: boolean;
|
|
92
110
|
readonly fetcher?: ModelFetcher;
|
|
93
111
|
};
|
|
94
|
-
declare type ModelFetcher = (model: Model<
|
|
112
|
+
declare type ModelFetcher = <T extends FunctionalModel>(model: Model<T>, primaryKey: PrimaryKeyType) => Promise<ModelInstance<T, Model<T>> | ModelInstanceInputData<T> | null | undefined>;
|
|
95
113
|
declare type PropertyConfig<T extends Arrayable<FunctionalValue>> = (PropertyConfigContents<T> & DefaultPropertyValidators) | undefined;
|
|
96
114
|
declare type PrimaryKeyPropertyInstanceType = PropertyInstance<string> | PropertyInstance<number>;
|
|
97
115
|
declare type PrimaryKeyType = string | number;
|
|
98
|
-
declare type
|
|
99
|
-
declare type InstanceMethods<T extends FunctionalModel> = ValueIsOfType<T, ModelInstanceMethod | ModelInstanceMethodTyped<T>>;
|
|
100
|
-
declare type ModelDefinition<T extends FunctionalModel> = {
|
|
116
|
+
declare type ModelDefinition<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = {
|
|
101
117
|
readonly getPrimaryKeyName?: () => string;
|
|
102
118
|
readonly properties: PropertiesList<T> & {
|
|
103
119
|
readonly id?: PrimaryKeyPropertyInstanceType;
|
|
104
120
|
};
|
|
105
|
-
readonly
|
|
106
|
-
readonly
|
|
107
|
-
readonly modelValidators?: readonly ModelValidatorComponent<T>[];
|
|
121
|
+
readonly modelMethods?: ModelMethods<T, TModel>;
|
|
122
|
+
readonly instanceMethods?: InstanceMethods<T, TModel>;
|
|
123
|
+
readonly modelValidators?: readonly ModelValidatorComponent<T, TModel>[];
|
|
108
124
|
};
|
|
109
|
-
declare type ModelFactory = <T extends FunctionalModel>(modelName: string, modelDefinition: ModelDefinition<T>, options?: OptionalModelOptions<T>) =>
|
|
125
|
+
declare type ModelFactory = <T extends FunctionalModel, TModel extends Model<T> = Model<T>>(modelName: string, modelDefinition: ModelDefinition<T, TModel>, options?: OptionalModelOptions<T, TModel>) => TModel;
|
|
110
126
|
declare type CreateParams<T extends FunctionalModel> = ModelInstanceInputData<T> | (ModelInstanceInputData<T> & {
|
|
111
127
|
readonly id?: PrimaryKeyType;
|
|
112
128
|
});
|
|
@@ -122,21 +138,21 @@ declare type Model<T extends FunctionalModel> = {
|
|
|
122
138
|
declare type ReferenceFunctions = {
|
|
123
139
|
readonly [s: string]: () => ReferenceValueType<any>;
|
|
124
140
|
};
|
|
125
|
-
declare type PropertyValidators<T extends FunctionalModel> = {
|
|
126
|
-
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>;
|
|
127
143
|
};
|
|
128
|
-
declare type ModelInstance<T extends FunctionalModel> = {
|
|
129
|
-
readonly get: PropertyGetters<T> & {
|
|
144
|
+
declare type ModelInstance<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = {
|
|
145
|
+
readonly get: PropertyGetters<T, TModel> & {
|
|
130
146
|
readonly id: () => MaybePromise<PrimaryKeyType>;
|
|
131
147
|
};
|
|
132
|
-
readonly methods: InstanceMethodGetters<T>;
|
|
148
|
+
readonly methods: InstanceMethodGetters<T, TModel>;
|
|
133
149
|
readonly references: ReferenceFunctions;
|
|
134
|
-
readonly toObj: toObj
|
|
150
|
+
readonly toObj: toObj<T>;
|
|
135
151
|
readonly getPrimaryKeyName: () => string;
|
|
136
152
|
readonly getPrimaryKey: () => PrimaryKeyType;
|
|
137
|
-
readonly validators: PropertyValidators<T>;
|
|
138
|
-
readonly validate: (options?: {}) => Promise<ModelErrors<T>>;
|
|
139
|
-
readonly getModel: () =>
|
|
153
|
+
readonly validators: PropertyValidators<T, TModel>;
|
|
154
|
+
readonly validate: (options?: {}) => Promise<ModelErrors<T, TModel>>;
|
|
155
|
+
readonly getModel: () => TModel;
|
|
140
156
|
};
|
|
141
157
|
declare type ValueRequired<T extends Arrayable<FunctionalValue>> = NonNullable<T>;
|
|
142
158
|
declare type ValueOptional<T extends Arrayable<FunctionalValue>> = Maybe<T>;
|
|
@@ -144,18 +160,12 @@ declare type ValueOptionalR<T extends FunctionalModel> = ValueOptional<Reference
|
|
|
144
160
|
declare type ValueRequiredR<T extends FunctionalModel> = ValueRequired<ReferenceValueType<T>>;
|
|
145
161
|
declare type IsAsync<T extends Arrayable<FunctionalValue>> = Promise<T>;
|
|
146
162
|
declare type PropertyModifier<T extends Arrayable<FunctionalValue>> = ValueRequired<T> | ValueOptional<T> | T;
|
|
147
|
-
declare type
|
|
148
|
-
|
|
149
|
-
declare type ModelMethodClient = (...args: readonly any[]) => any;
|
|
150
|
-
declare type ModelInstanceMethodTyped<T extends FunctionalModel> = (instance: ModelInstance<T>, args?: readonly any[]) => any;
|
|
151
|
-
declare type ModelInstanceMethod = ModelInstanceMethodTyped<any>;
|
|
152
|
-
declare type ModelInstanceMethodClient = (...args: readonly any[]) => any;
|
|
153
|
-
declare type ModelOptions<T extends FunctionalModel> = {
|
|
154
|
-
readonly instanceCreatedCallback: Nullable<Arrayable<(instance: ModelInstance<T>) => void>>;
|
|
163
|
+
declare type ModelOptions<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = {
|
|
164
|
+
readonly instanceCreatedCallback: Nullable<Arrayable<(instance: ModelInstance<T, TModel>) => void>>;
|
|
155
165
|
readonly [s: string]: any;
|
|
156
166
|
};
|
|
157
|
-
declare type OptionalModelOptions<T extends FunctionalModel> = {
|
|
158
|
-
readonly instanceCreatedCallback?: Nullable<Arrayable<(instance: ModelInstance<T>) => void>>;
|
|
167
|
+
declare type OptionalModelOptions<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = {
|
|
168
|
+
readonly instanceCreatedCallback?: Nullable<Arrayable<(instance: ModelInstance<T, TModel>) => void>>;
|
|
159
169
|
readonly [s: string]: any;
|
|
160
170
|
} | undefined;
|
|
161
|
-
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,
|
|
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":";;
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;AAscA,kCAAkC"}
|
package/methods.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare
|
|
3
|
-
declare
|
|
1
|
+
import { ModelInstanceMethod, ModelInstance, FunctionalModel, Model, ModelMethod } from './interfaces';
|
|
2
|
+
declare type InstanceMethodInput<T extends FunctionalModel, TModel extends Model<T>> = (instance: ModelInstance<T, TModel>, model: TModel, ...args: readonly any[]) => any;
|
|
3
|
+
declare type MethodInput<T extends FunctionalModel, TModel extends Model<T>> = (model: TModel, ...args: readonly any[]) => any;
|
|
4
|
+
declare function WrapperInstanceMethod<T extends FunctionalModel, TModel extends Model<T> = Model<T>>(method: InstanceMethodInput<T, TModel>): ModelInstanceMethod<T, TModel>;
|
|
5
|
+
declare function WrapperModelMethod<T extends FunctionalModel, TModel extends Model<T> = Model<T>>(method: MethodInput<T, TModel>): ModelMethod<T, TModel>;
|
|
4
6
|
export { WrapperInstanceMethod, WrapperModelMethod };
|
package/methods.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WrapperModelMethod = exports.WrapperInstanceMethod = void 0;
|
|
4
|
-
|
|
5
|
-
const r = (instance, ...args) => {
|
|
6
|
-
return method(instance,
|
|
4
|
+
function WrapperInstanceMethod(method) {
|
|
5
|
+
const r = (instance, model, ...args) => {
|
|
6
|
+
return method(instance, model, args);
|
|
7
7
|
};
|
|
8
8
|
return r;
|
|
9
|
-
}
|
|
9
|
+
}
|
|
10
10
|
exports.WrapperInstanceMethod = WrapperInstanceMethod;
|
|
11
|
-
|
|
11
|
+
function WrapperModelMethod(method) {
|
|
12
12
|
const r = (model, ...args) => {
|
|
13
|
-
return method(model,
|
|
13
|
+
return method(model, args);
|
|
14
14
|
};
|
|
15
15
|
return r;
|
|
16
|
-
}
|
|
16
|
+
}
|
|
17
17
|
exports.WrapperModelMethod = WrapperModelMethod;
|
|
18
18
|
//# sourceMappingURL=methods.js.map
|
package/methods.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../src/methods.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../src/methods.ts"],"names":[],"mappings":";;;AAkBA,SAAS,qBAAqB,CAG5B,MAAsC;IACtC,MAAM,CAAC,GAAmC,CACxC,QAAkC,EAClC,KAAa,EACb,GAAG,IAAoB,EACvB,EAAE;QACF,OAAO,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACtC,CAAC,CAAA;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAeQ,sDAAqB;AAb9B,SAAS,kBAAkB,CAGzB,MAA8B;IAC9B,MAAM,CAAC,GAA2B,CAChC,KAAa,EACb,GAAG,IAAoB,EACvB,EAAE;QACF,OAAO,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC5B,CAAC,CAAA;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAE+B,gDAAkB"}
|
package/models.js
CHANGED
|
@@ -79,7 +79,7 @@ const BaseModel = (modelName, modelDefinition, options) => {
|
|
|
79
79
|
const methods = Object.entries(modelDefinition.instanceMethods || {}).reduce((acc, [key, func]) => {
|
|
80
80
|
return (0, merge_1.default)(acc, {
|
|
81
81
|
[key]: (...args) => {
|
|
82
|
-
return func(instance, ...args);
|
|
82
|
+
return func(instance, model, ...args);
|
|
83
83
|
},
|
|
84
84
|
});
|
|
85
85
|
}, {});
|
package/models.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":";;;;;;AAAA,yDAAgC;AAChC,mDAA4C;AAC5C,6CAAmD;AACnD,6CAAuC;AAsBvC,MAAM,eAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/properties.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReferenceValueType, Model, PropertyInstance, FunctionalValue, PropertyConfig, MaybeFunction, Arrayable, ReferencePropertyInstance,
|
|
1
|
+
import { ReferenceValueType, ModelInstance, PrimaryKeyType, Model, PropertyInstance, FunctionalValue, PropertyConfig, MaybeFunction, Arrayable, ReferencePropertyInstance, JsonAble, PropertyModifier } from './interfaces';
|
|
2
2
|
declare const Property: <T extends Arrayable<FunctionalValue>>(type: string, config?: PropertyConfig<T>, additionalMetadata?: {}) => PropertyInstance<T>;
|
|
3
3
|
declare const DateProperty: <TModifier extends PropertyModifier<string | Date>>(config?: PropertyConfig<TModifier>, additionalMetadata?: {}) => PropertyInstance<TModifier>;
|
|
4
4
|
declare const ArrayProperty: <T extends FunctionalValue>(config?: {}, additionalMetadata?: {}) => PropertyInstance<readonly T[]>;
|
|
@@ -12,5 +12,29 @@ declare const ConstantValueProperty: <TModifier extends PropertyModifier<Functio
|
|
|
12
12
|
declare const EmailProperty: <TModifier extends PropertyModifier<string>>(config?: PropertyConfig<TModifier>, additionalMetadata?: {}) => PropertyInstance<TModifier>;
|
|
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
|
-
declare const ReferenceProperty: <T extends
|
|
15
|
+
declare const ReferenceProperty: <T extends {
|
|
16
|
+
readonly [s: string]: string | number | boolean | readonly string[] | (any & {
|
|
17
|
+
readonly id?: PrimaryKeyType | undefined;
|
|
18
|
+
}) | readonly number[] | Promise<number> | readonly boolean[] | readonly null[] | readonly (any & {
|
|
19
|
+
readonly id?: PrimaryKeyType | undefined;
|
|
20
|
+
})[] | Date | readonly Date[] | readonly undefined[] | ModelInstance<any, Model<any>> | {
|
|
21
|
+
readonly [x: string]: any;
|
|
22
|
+
} | {
|
|
23
|
+
readonly [x: string]: any;
|
|
24
|
+
} | import("./interfaces").TypedJsonObj<any> | import("./interfaces").ModelInstanceMethod<any & {
|
|
25
|
+
readonly id?: PrimaryKeyType | undefined;
|
|
26
|
+
}, Model<any & {
|
|
27
|
+
readonly id?: PrimaryKeyType | undefined;
|
|
28
|
+
}>, ModelInstance<any & {
|
|
29
|
+
readonly id?: PrimaryKeyType | undefined;
|
|
30
|
+
}, Model<any & {
|
|
31
|
+
readonly id?: PrimaryKeyType | undefined;
|
|
32
|
+
}>>> | import("./interfaces").ModelMethod<any & {
|
|
33
|
+
readonly id?: PrimaryKeyType | undefined;
|
|
34
|
+
}, Model<any & {
|
|
35
|
+
readonly id?: PrimaryKeyType | undefined;
|
|
36
|
+
}>> | null | undefined;
|
|
37
|
+
} & {
|
|
38
|
+
readonly id?: PrimaryKeyType | undefined;
|
|
39
|
+
}, TModifier extends PropertyModifier<ReferenceValueType<T, Model<T>>>>(model: MaybeFunction<Model<T>>, config?: PropertyConfig<TModifier>, additionalMetadata?: {}) => ReferencePropertyInstance<T, TModifier>;
|
|
16
40
|
export { Property, UniqueId, DateProperty, ArrayProperty, ReferenceProperty, IntegerProperty, TextProperty, ConstantValueProperty, NumberProperty, ObjectProperty, EmailProperty, BooleanProperty, };
|
package/properties.js
CHANGED
|
@@ -173,10 +173,11 @@ const ReferenceProperty = (model, config = {}, additionalMetadata = {}) => {
|
|
|
173
173
|
return instanceValues[primaryKey];
|
|
174
174
|
};
|
|
175
175
|
const lazyLoadMethod = (instanceValues) => __awaiter(void 0, void 0, void 0, function* () {
|
|
176
|
-
const valueIsModelInstance = instanceValues &&
|
|
176
|
+
const valueIsModelInstance = instanceValues &&
|
|
177
|
+
instanceValues.getPrimaryKeyName;
|
|
177
178
|
const _getInstanceReturn = (objToUse) => {
|
|
178
179
|
// We need to determine if the object we just got is an actual model instance to determine if we need to make one.
|
|
179
|
-
const objIsModelInstance =
|
|
180
|
+
const objIsModelInstance = objToUse && objToUse.getPrimaryKeyName;
|
|
180
181
|
// @ts-ignore
|
|
181
182
|
const instance = objIsModelInstance
|
|
182
183
|
? objToUse
|
package/properties.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../src/properties.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yDAAgC;AAChC,6CAUqB;AACrB,2CAA4C;AAC5C,iCAAkC;AAClC,mCAAoC;AAsBpC,MAAM,WAAW,GACf,wIAAwI,CAAA;AAE1I,MAAM,gCAAgC,GAAG,
|
|
1
|
+
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../src/properties.ts"],"names":[],"mappings":"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"}
|
package/serialization.d.ts
CHANGED
|
@@ -1,3 +1,27 @@
|
|
|
1
|
-
import { PropertyGetters, toObj } from './interfaces';
|
|
2
|
-
declare const toJsonAble:
|
|
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) => () =>
|
|
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
|
package/serialization.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yDAAgC;
|
|
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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ModelInstance, Model, ModelValidatorComponent, PropertyValidatorComponent, PropertyValidatorComponentSync, PropertyValidatorComponentTypeAdvanced, JsonAble, PropertyValidator, PropertyConfig, MaybeFunction, PropertyValidators, ValueGetter, Arrayable, FunctionalValue, ModelErrors, ValidatorConfiguration, ValuePropertyValidatorComponent, ValidationErrors } from './interfaces';
|
|
2
2
|
declare const TYPE_PRIMITIVES: {
|
|
3
3
|
boolean: string;
|
|
4
4
|
string: string;
|
|
@@ -21,9 +21,105 @@ declare const maxNumber: (max: Number) => ValuePropertyValidatorComponent<number
|
|
|
21
21
|
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
|
-
declare const referenceTypeMatch: <TModel extends
|
|
25
|
-
|
|
24
|
+
declare const referenceTypeMatch: <TModel extends {
|
|
25
|
+
readonly [s: string]: string | number | boolean | readonly string[] | (any & {
|
|
26
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
27
|
+
}) | readonly number[] | Promise<number> | readonly boolean[] | readonly null[] | readonly (any & {
|
|
28
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
29
|
+
})[] | Date | readonly Date[] | readonly undefined[] | ModelInstance<any, Model<any>> | {
|
|
30
|
+
readonly [x: string]: any;
|
|
31
|
+
} | {
|
|
32
|
+
readonly [x: string]: any;
|
|
33
|
+
} | import("./interfaces").TypedJsonObj<any> | import("./interfaces").ModelInstanceMethod<any & {
|
|
34
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
35
|
+
}, Model<any & {
|
|
36
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
37
|
+
}>, ModelInstance<any & {
|
|
38
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
39
|
+
}, Model<any & {
|
|
40
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
41
|
+
}>>> | import("./interfaces").ModelMethod<any & {
|
|
42
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
43
|
+
}, Model<any & {
|
|
44
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
45
|
+
}>> | null | undefined;
|
|
46
|
+
} & {
|
|
47
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
48
|
+
}>(referencedModel: MaybeFunction<Model<TModel>>) => PropertyValidatorComponentTypeAdvanced<ModelInstance<TModel, any>, TModel>;
|
|
49
|
+
declare const aggregateValidator: <T extends {
|
|
50
|
+
readonly [s: string]: string | number | boolean | readonly string[] | (any & {
|
|
51
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
52
|
+
}) | readonly number[] | Promise<number> | readonly boolean[] | readonly null[] | readonly (any & {
|
|
53
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
54
|
+
})[] | Date | readonly Date[] | readonly undefined[] | ModelInstance<any, Model<any>> | {
|
|
55
|
+
readonly [x: string]: any;
|
|
56
|
+
} | {
|
|
57
|
+
readonly [x: string]: any;
|
|
58
|
+
} | import("./interfaces").TypedJsonObj<any> | import("./interfaces").ModelInstanceMethod<any & {
|
|
59
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
60
|
+
}, Model<any & {
|
|
61
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
62
|
+
}>, ModelInstance<any & {
|
|
63
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
64
|
+
}, Model<any & {
|
|
65
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
66
|
+
}>>> | import("./interfaces").ModelMethod<any & {
|
|
67
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
68
|
+
}, Model<any & {
|
|
69
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
70
|
+
}>> | null | undefined;
|
|
71
|
+
} & {
|
|
72
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
73
|
+
}>(value: any, methodOrMethods: PropertyValidatorComponent<T> | readonly PropertyValidatorComponent<T>[]) => PropertyValidator<T, Model<T>>;
|
|
26
74
|
declare const emptyValidator: PropertyValidatorComponentSync<any>;
|
|
27
|
-
declare const createPropertyValidator: <T extends Arrayable<FunctionalValue>>(valueGetter: ValueGetter<T>, config: PropertyConfig<T>) => <TModel extends
|
|
28
|
-
|
|
75
|
+
declare const createPropertyValidator: <T extends Arrayable<FunctionalValue>>(valueGetter: ValueGetter<T>, config: PropertyConfig<T>) => <TModel extends {
|
|
76
|
+
readonly [s: string]: string | number | boolean | readonly string[] | (any & {
|
|
77
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
78
|
+
}) | readonly number[] | Promise<number> | readonly boolean[] | readonly null[] | readonly (any & {
|
|
79
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
80
|
+
})[] | Date | readonly Date[] | readonly undefined[] | ModelInstance<any, Model<any>> | {
|
|
81
|
+
readonly [x: string]: any;
|
|
82
|
+
} | {
|
|
83
|
+
readonly [x: string]: any;
|
|
84
|
+
} | import("./interfaces").TypedJsonObj<any> | import("./interfaces").ModelInstanceMethod<any & {
|
|
85
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
86
|
+
}, Model<any & {
|
|
87
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
88
|
+
}>, ModelInstance<any & {
|
|
89
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
90
|
+
}, Model<any & {
|
|
91
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
92
|
+
}>>> | import("./interfaces").ModelMethod<any & {
|
|
93
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
94
|
+
}, Model<any & {
|
|
95
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
96
|
+
}>> | null | undefined;
|
|
97
|
+
} & {
|
|
98
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
99
|
+
}>(instance: ModelInstance<TModel, any>, instanceData: JsonAble | TModel, propertyConfiguration: ValidatorConfiguration) => Promise<ValidationErrors>;
|
|
100
|
+
declare const createModelValidator: <T extends {
|
|
101
|
+
readonly [s: string]: string | number | boolean | readonly string[] | (any & {
|
|
102
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
103
|
+
}) | readonly number[] | Promise<number> | readonly boolean[] | readonly null[] | readonly (any & {
|
|
104
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
105
|
+
})[] | Date | readonly Date[] | readonly undefined[] | ModelInstance<any, Model<any>> | {
|
|
106
|
+
readonly [x: string]: any;
|
|
107
|
+
} | {
|
|
108
|
+
readonly [x: string]: any;
|
|
109
|
+
} | import("./interfaces").TypedJsonObj<any> | import("./interfaces").ModelInstanceMethod<any & {
|
|
110
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
111
|
+
}, Model<any & {
|
|
112
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
113
|
+
}>, ModelInstance<any & {
|
|
114
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
115
|
+
}, Model<any & {
|
|
116
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
117
|
+
}>>> | import("./interfaces").ModelMethod<any & {
|
|
118
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
119
|
+
}, Model<any & {
|
|
120
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
121
|
+
}>> | null | undefined;
|
|
122
|
+
} & {
|
|
123
|
+
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
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>>;
|
|
29
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":";;;;;;;;;;;;;;;AAAA,6DAAoC;AACpC,yDAAgC;AAChC,6DAAoC;AAuBpC,MAAM,eAAe,GAAG;IACtB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CACnB,CAAA;
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
|