functional-models 2.0.2 → 2.0.6
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 +34 -35
- package/interfaces.js.map +1 -1
- package/models.js.map +1 -1
- package/package.json +1 -1
- package/properties.d.ts +1048 -15
- package/properties.js +9 -6
- package/properties.js.map +1 -1
- package/validation.d.ts +53 -5
- package/validation.js.map +1 -1
package/interfaces.d.ts
CHANGED
|
@@ -32,16 +32,16 @@ declare type RemoveType<T, TRemove> = {
|
|
|
32
32
|
readonly [P in keyof T as T[P] extends TRemove ? never : P]: T[P];
|
|
33
33
|
};
|
|
34
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;
|
|
35
|
+
declare type InstanceMethodGetters<T extends FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>> = {
|
|
36
|
+
readonly [P in keyof NotModelMethods<T, TModel> as NotModelMethods<T, TModel>[P] extends ModelInstanceMethod | ModelInstanceMethod<T, TModel> | ModelInstanceMethod<T, TModel, TModelInstance> | ModelInstanceMethod<T, TModel, any> ? P : never]: ModelInstanceMethodClient;
|
|
37
37
|
};
|
|
38
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>>;
|
|
39
|
+
declare type InstanceMethods<T extends FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>> = ValueIsOfType<T, ModelInstanceMethod | ModelInstanceMethod<T> | ModelInstanceMethod<T, TModel> | ModelInstanceMethod<T, TModel, TModelInstance>>;
|
|
40
40
|
declare type PropertyGetters<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = {
|
|
41
41
|
readonly [Property in keyof T as T[Property] extends ModelMethodTypes<T, TModel> ? never : Property]: () => T[Property];
|
|
42
42
|
};
|
|
43
43
|
declare type FunctionalModel = ({
|
|
44
|
-
readonly [s: string]: Arrayable<number> | Promise<number> | Arrayable<string> | Arrayable<boolean> | Arrayable<null> | Arrayable<FunctionalModel> | Arrayable<Date> | Arrayable<undefined> |
|
|
44
|
+
readonly [s: string]: Arrayable<number> | Promise<number> | Arrayable<string> | Arrayable<boolean> | Arrayable<null> | Arrayable<FunctionalModel> | Arrayable<Date> | Arrayable<undefined> | ModelReference<any> | ModelInstanceMethod | ModelMethod;
|
|
45
45
|
} & {
|
|
46
46
|
readonly id?: PrimaryKeyType;
|
|
47
47
|
});
|
|
@@ -60,32 +60,31 @@ declare type ModelErrors<T extends FunctionalModel, TModel extends Model<T> = Mo
|
|
|
60
60
|
} & {
|
|
61
61
|
readonly overall?: readonly string[] | undefined;
|
|
62
62
|
};
|
|
63
|
-
declare type PropertyValidatorComponentTypeAdvanced<TValue, TModel extends
|
|
64
|
-
declare type
|
|
65
|
-
declare type PropertyValidatorComponentSync<T extends FunctionalModel> = PropertyValidatorComponentTypeAdvanced<any, T>;
|
|
63
|
+
declare type PropertyValidatorComponentTypeAdvanced<TValue, T extends FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>> = (value: TValue, instance: TModelInstance, instanceData: T | JsonAble, configurations: ValidatorConfiguration) => ValidationErrorResponse;
|
|
64
|
+
declare type PropertyValidatorComponentSync<T extends FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>> = PropertyValidatorComponentTypeAdvanced<any, T, TModel, TModelInstance>;
|
|
66
65
|
declare type ValuePropertyValidatorComponent<T extends Arrayable<FunctionalValue>> = (value: T) => ValidationErrorResponse;
|
|
67
|
-
declare type PropertyValidatorComponentAsync<T extends FunctionalModel> = (value: Arrayable<FunctionalValue>, instance:
|
|
68
|
-
declare type PropertyValidatorComponent<T extends FunctionalModel> = PropertyValidatorComponentSync<T> | PropertyValidatorComponentAsync<T>;
|
|
69
|
-
declare type PropertyValidator<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = (instance:
|
|
70
|
-
declare type ModelValidatorComponent<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = (instance:
|
|
71
|
-
declare type ValueGetter<
|
|
72
|
-
declare type PropertyInstance<
|
|
66
|
+
declare type PropertyValidatorComponentAsync<T extends FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>> = (value: Arrayable<FunctionalValue>, instance: TModelInstance, instanceData: T | JsonAble, configurations: ValidatorConfiguration) => Promise<ValidationErrorResponse>;
|
|
67
|
+
declare type PropertyValidatorComponent<T extends FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>> = PropertyValidatorComponentSync<T, TModel, TModelInstance> | PropertyValidatorComponentAsync<T, TModel, TModelInstance>;
|
|
68
|
+
declare type PropertyValidator<T extends FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>> = (instance: TModelInstance, instanceData: T | JsonAble, configurations: ValidatorConfiguration) => Promise<ValidationErrors>;
|
|
69
|
+
declare type ModelValidatorComponent<T extends FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>> = (instance: TModelInstance, instanceData: T | JsonAble, configurations: ValidatorConfiguration) => Promise<ModelError>;
|
|
70
|
+
declare type ValueGetter<TValue extends Arrayable<FunctionalValue>, T extends FunctionalModel = FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>> = () => MaybePromise<TValue | TModelInstance>;
|
|
71
|
+
declare type PropertyInstance<TValue extends Arrayable<FunctionalValue>, T extends FunctionalModel = FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>> = {
|
|
73
72
|
readonly getConfig: () => object;
|
|
74
73
|
readonly getChoices: () => readonly VeryPrimitivesTypes[];
|
|
75
|
-
readonly getDefaultValue: () =>
|
|
76
|
-
readonly getConstantValue: () =>
|
|
74
|
+
readonly getDefaultValue: () => TValue;
|
|
75
|
+
readonly getConstantValue: () => TValue;
|
|
77
76
|
readonly getPropertyType: () => string;
|
|
78
|
-
readonly createGetter: (value:
|
|
79
|
-
readonly getValidator:
|
|
77
|
+
readonly createGetter: (value: TValue) => ValueGetter<TValue, T, TModel, TModelInstance>;
|
|
78
|
+
readonly getValidator: (valueGetter: ValueGetter<TValue, T, TModel, TModelInstance>) => PropertyValidator<TModel>;
|
|
80
79
|
};
|
|
81
80
|
declare type PropertiesList<T extends FunctionalModel> = {
|
|
82
81
|
readonly [P in keyof T as T[P] extends Arrayable<FunctionalValue> ? P : never]: PropertyInstance<any>;
|
|
83
82
|
};
|
|
84
|
-
interface
|
|
85
|
-
readonly getReferencedId: (instanceValues:
|
|
86
|
-
readonly getReferencedModel: () =>
|
|
83
|
+
interface ModelReferencePropertyInstance<T extends FunctionalModel, TProperty extends Arrayable<FunctionalValue>, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>> extends PropertyInstance<TProperty> {
|
|
84
|
+
readonly getReferencedId: (instanceValues: ModelReference<T, TModel, TModelInstance>) => Maybe<PrimaryKeyType>;
|
|
85
|
+
readonly getReferencedModel: () => TModel;
|
|
87
86
|
}
|
|
88
|
-
declare type
|
|
87
|
+
declare type ModelReference<T extends FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>> = TModelInstance | ModelInstanceInputData<T> | PrimaryKeyType;
|
|
89
88
|
declare type DefaultPropertyValidators = {
|
|
90
89
|
readonly required?: boolean;
|
|
91
90
|
readonly isInteger?: boolean;
|
|
@@ -109,20 +108,20 @@ declare type PropertyConfigContents<T extends Arrayable<FunctionalValue>> = {
|
|
|
109
108
|
readonly autoNow?: boolean;
|
|
110
109
|
readonly fetcher?: ModelFetcher;
|
|
111
110
|
};
|
|
112
|
-
declare type ModelFetcher = <T extends FunctionalModel>
|
|
111
|
+
declare type ModelFetcher = <T extends FunctionalModel, TModel extends Model<T> = Model<T>>(model: TModel, primaryKey: PrimaryKeyType) => Promise<ModelInstance<T, TModel>> | Promise<ModelInstanceInputData<T>> | Promise<null> | Promise<undefined>;
|
|
113
112
|
declare type PropertyConfig<T extends Arrayable<FunctionalValue>> = (PropertyConfigContents<T> & DefaultPropertyValidators) | undefined;
|
|
114
113
|
declare type PrimaryKeyPropertyInstanceType = PropertyInstance<string> | PropertyInstance<number>;
|
|
115
114
|
declare type PrimaryKeyType = string | number;
|
|
116
|
-
declare type ModelDefinition<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = {
|
|
115
|
+
declare type ModelDefinition<T extends FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>> = {
|
|
117
116
|
readonly getPrimaryKeyName?: () => string;
|
|
118
117
|
readonly properties: PropertiesList<T> & {
|
|
119
118
|
readonly id?: PrimaryKeyPropertyInstanceType;
|
|
120
119
|
};
|
|
121
120
|
readonly modelMethods?: ModelMethods<T, TModel>;
|
|
122
|
-
readonly instanceMethods?: InstanceMethods<T, TModel>;
|
|
121
|
+
readonly instanceMethods?: InstanceMethods<T, TModel, TModelInstance>;
|
|
123
122
|
readonly modelValidators?: readonly ModelValidatorComponent<T, TModel>[];
|
|
124
123
|
};
|
|
125
|
-
declare type ModelFactory = <T extends FunctionalModel, TModel extends Model<T> = Model<T>>(modelName: string, modelDefinition: ModelDefinition<T, TModel>, options?: OptionalModelOptions<T, TModel>) => TModel;
|
|
124
|
+
declare type ModelFactory = <T extends FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>>(modelName: string, modelDefinition: ModelDefinition<T, TModel, TModelInstance>, options?: OptionalModelOptions<T, TModel, TModelInstance>) => TModel;
|
|
126
125
|
declare type CreateParams<T extends FunctionalModel> = ModelInstanceInputData<T> | (ModelInstanceInputData<T> & {
|
|
127
126
|
readonly id?: PrimaryKeyType;
|
|
128
127
|
});
|
|
@@ -135,8 +134,8 @@ declare type Model<T extends FunctionalModel> = {
|
|
|
135
134
|
readonly create: (data: CreateParams<T>) => ModelInstance<T>;
|
|
136
135
|
readonly methods: ModelMethodGetters<T>;
|
|
137
136
|
};
|
|
138
|
-
declare type
|
|
139
|
-
readonly [s: string]: () =>
|
|
137
|
+
declare type ModelReferenceFunctions = {
|
|
138
|
+
readonly [s: string]: () => ModelReference<any>;
|
|
140
139
|
};
|
|
141
140
|
declare type PropertyValidators<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = {
|
|
142
141
|
readonly [s: string]: PropertyValidator<T, TModel>;
|
|
@@ -146,7 +145,7 @@ declare type ModelInstance<T extends FunctionalModel, TModel extends Model<T> =
|
|
|
146
145
|
readonly id: () => MaybePromise<PrimaryKeyType>;
|
|
147
146
|
};
|
|
148
147
|
readonly methods: InstanceMethodGetters<T, TModel>;
|
|
149
|
-
readonly references:
|
|
148
|
+
readonly references: ModelReferenceFunctions;
|
|
150
149
|
readonly toObj: toObj<T>;
|
|
151
150
|
readonly getPrimaryKeyName: () => string;
|
|
152
151
|
readonly getPrimaryKey: () => PrimaryKeyType;
|
|
@@ -156,16 +155,16 @@ declare type ModelInstance<T extends FunctionalModel, TModel extends Model<T> =
|
|
|
156
155
|
};
|
|
157
156
|
declare type ValueRequired<T extends Arrayable<FunctionalValue>> = NonNullable<T>;
|
|
158
157
|
declare type ValueOptional<T extends Arrayable<FunctionalValue>> = Maybe<T>;
|
|
159
|
-
declare type ValueOptionalR<T extends FunctionalModel> = ValueOptional<
|
|
160
|
-
declare type ValueRequiredR<T extends FunctionalModel> = ValueRequired<
|
|
158
|
+
declare type ValueOptionalR<T extends FunctionalModel> = ValueOptional<ModelReference<T>>;
|
|
159
|
+
declare type ValueRequiredR<T extends FunctionalModel> = ValueRequired<ModelReference<T>>;
|
|
161
160
|
declare type IsAsync<T extends Arrayable<FunctionalValue>> = Promise<T>;
|
|
162
161
|
declare type PropertyModifier<T extends Arrayable<FunctionalValue>> = ValueRequired<T> | ValueOptional<T> | T;
|
|
163
|
-
declare type ModelOptions<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = {
|
|
164
|
-
readonly instanceCreatedCallback: Nullable<Arrayable<(instance:
|
|
162
|
+
declare type ModelOptions<T extends FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>> = {
|
|
163
|
+
readonly instanceCreatedCallback: Nullable<Arrayable<(instance: TModelInstance) => void>>;
|
|
165
164
|
readonly [s: string]: any;
|
|
166
165
|
};
|
|
167
|
-
declare type OptionalModelOptions<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = {
|
|
168
|
-
readonly instanceCreatedCallback?: Nullable<Arrayable<(instance:
|
|
166
|
+
declare type OptionalModelOptions<T extends FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>> = {
|
|
167
|
+
readonly instanceCreatedCallback?: Nullable<Arrayable<(instance: TModelInstance) => void>>;
|
|
169
168
|
readonly [s: string]: any;
|
|
170
169
|
} | undefined;
|
|
171
|
-
export { MaybeFunction, Maybe, MaybePromise, Nullable, Arrayable, MaybeLazy, JsonAble, toObj, ModelInstance, Model, PropertyValidatorComponent, PropertyValidatorComponentSync, PropertyValidatorComponentAsync,
|
|
170
|
+
export { MaybeFunction, Maybe, MaybePromise, Nullable, Arrayable, MaybeLazy, JsonAble, toObj, ModelInstance, Model, PropertyValidatorComponent, PropertyValidatorComponentSync, PropertyValidatorComponentAsync, PropertyValidator, ModelValidatorComponent, PropertyInstance, PropertyConfig, FunctionalValue, ValueGetter, ModelReference, ModelDefinition, ModelOptions, ModelMethod, OptionalModelOptions, ModelReferencePropertyInstance, PropertyGetters, PropertyValidators, PropertyValidatorComponentTypeAdvanced, ModelInstanceMethod, FunctionalModel, ModelInstanceInputData, ModelMethodGetters, InstanceMethodGetters, ModelReferenceFunctions, 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":";;AAweA,kCAAkC"}
|
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,GAGK,EAAE,CAAC,CAAC;IAC/B,uBAAuB,EAAE,IAAI;CAC9B,CAAC,CAAA;AAEF,MAAM,eAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
|