functional-models 1.1.17 → 1.1.21

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
@@ -34,33 +34,36 @@ declare type ModelInstanceInputData<T extends FunctionalModel> = {
34
34
  declare type ValidatorConfiguration = {
35
35
  readonly [s: string]: any;
36
36
  };
37
- declare type PropertyValidatorComponentTypeAdvanced<TValue, TModel extends FunctionalModel> = (value: TValue, instance: ModelInstance<TModel>, instanceData: FunctionalModel) => string | undefined;
38
- declare type PropertyValidatorComponentType<TValue> = (value: TValue, instance: ModelInstance<any>, instanceData: FunctionalModel, configurations: ValidatorConfiguration) => string | undefined;
39
- declare type PropertyValidatorComponentSync = PropertyValidatorComponentType<any>;
40
- declare type PropertyValidatorComponentAsync = (value: Arrayable<FunctionalModel>, instance: ModelInstance<any>, instanceData: FunctionalModel, configurations: ValidatorConfiguration) => Promise<string | undefined>;
41
- declare type PropertyValidatorComponent = PropertyValidatorComponentSync | PropertyValidatorComponentAsync;
42
- declare type PropertyValidator = (instance: ModelInstance<any>, instanceData: FunctionalModel, configurations: ValidatorConfiguration) => Promise<ValidationErrors>;
43
- declare type ValidationError = string | undefined;
44
- declare type ValidationErrors = readonly ValidationError[];
45
- declare type ModelError = string;
46
- declare type ModelErrors = {
47
- readonly [s: string]: readonly ModelError[];
48
- };
49
- declare type ModelComponentValidator = (instance: ModelInstance<any>, instanceData: FunctionalModel, configurations: ValidatorConfiguration) => Promise<ValidationErrors>;
50
- declare type ValueGetter = () => MaybePromise<Arrayable<FunctionalType>> | MaybePromise<ModelInstance<any>>;
37
+ declare type ValidationErrorResponse = string | undefined;
38
+ declare type ValidationErrors = readonly string[];
39
+ 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;
42
+ } & {
43
+ readonly overall?: readonly string[] | undefined;
44
+ };
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;
47
+ declare type PropertyValidatorComponentSync<T extends FunctionalModel> = PropertyValidatorComponentTypeAdvanced<any, T>;
48
+ declare type ValuePropertyValidatorComponent<T extends Arrayable<FunctionalType>> = (value: T) => ValidationErrorResponse;
49
+ declare type PropertyValidatorComponentAsync<T extends FunctionalModel> = (value: Arrayable<FunctionalType>, instance: ModelInstance<T>, instanceData: T | JsonAble, configurations: ValidatorConfiguration) => Promise<ValidationErrorResponse>;
50
+ 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<FunctionalType>> = () => MaybePromise<T | ModelInstance<any>>;
51
54
  declare type PropertyInstance<T extends Arrayable<FunctionalType>> = {
52
55
  readonly getConfig: () => object;
53
56
  readonly getChoices: () => readonly VeryPrimitivesTypes[];
54
57
  readonly getDefaultValue: () => T;
55
58
  readonly getConstantValue: () => T;
56
59
  readonly getPropertyType: () => string;
57
- readonly createGetter: (value: T) => ValueGetter;
58
- readonly getValidator: (valueGetter: ValueGetter) => PropertyValidator;
60
+ readonly createGetter: (value: T) => ValueGetter<T>;
61
+ readonly getValidator: <TModel extends FunctionalModel>(valueGetter: ValueGetter<T>) => PropertyValidator<TModel>;
59
62
  };
60
63
  declare type PropertiesList<T> = {
61
64
  readonly [P in keyof T as T[P] extends Arrayable<FunctionalType> ? P : never]: PropertyInstance<any>;
62
65
  };
63
- interface ReferencePropertyInstance<T extends FunctionalModel> extends PropertyInstance<ModelInstance<T> | T | Maybe<PrimaryKeyType>> {
66
+ interface ReferencePropertyInstance<T extends FunctionalModel, TProperty extends Arrayable<FunctionalType>> extends PropertyInstance<TProperty> {
64
67
  readonly getReferencedId: (instanceValues: ReferenceValueType<T>) => Maybe<PrimaryKeyType>;
65
68
  readonly getReferencedModel: () => Model<T>;
66
69
  }
@@ -80,7 +83,7 @@ declare type PropertyConfigContents<T extends Arrayable<FunctionalType>> = {
80
83
  readonly choices?: readonly VeryPrimitivesTypes[];
81
84
  readonly lazyLoadMethod?: (value: T) => MaybeLazy<T>;
82
85
  readonly valueSelector?: (instanceValue: MaybePromise<T>) => T;
83
- readonly validators?: readonly PropertyValidatorComponent[];
86
+ readonly validators?: readonly PropertyValidatorComponent<any>[];
84
87
  readonly maxLength?: number;
85
88
  readonly minLength?: number;
86
89
  readonly maxValue?: number;
@@ -101,7 +104,7 @@ declare type ModelDefinition<T extends FunctionalModel> = {
101
104
  };
102
105
  readonly instanceMethods?: InstanceMethods<T>;
103
106
  readonly modelMethods?: ModelMethods<T>;
104
- readonly modelValidators?: readonly ModelComponentValidator[];
107
+ readonly modelValidators?: readonly ModelValidatorComponent<T>[];
105
108
  };
106
109
  declare type ModelFactory = <T extends FunctionalModel>(modelName: string, modelDefinition: ModelDefinition<T>, options?: OptionalModelOptions<T>) => Model<T>;
107
110
  declare type CreateParams<T extends FunctionalModel> = ModelInstanceInputData<T> | (ModelInstanceInputData<T> & {
@@ -119,8 +122,8 @@ declare type Model<T extends FunctionalModel> = {
119
122
  declare type ReferenceFunctions = {
120
123
  readonly [s: string]: () => ReferenceValueType<any>;
121
124
  };
122
- declare type PropertyValidators = {
123
- readonly [s: string]: PropertyValidator;
125
+ declare type PropertyValidators<T extends FunctionalModel> = {
126
+ readonly [s: string]: PropertyValidator<T>;
124
127
  };
125
128
  declare type ModelInstance<T extends FunctionalModel> = {
126
129
  readonly get: PropertyGetters<T> & {
@@ -131,11 +134,16 @@ declare type ModelInstance<T extends FunctionalModel> = {
131
134
  readonly toObj: toObj;
132
135
  readonly getPrimaryKeyName: () => string;
133
136
  readonly getPrimaryKey: () => PrimaryKeyType;
134
- readonly validators: PropertyValidators;
135
- readonly validate: (options?: {}) => Promise<ModelErrors>;
137
+ readonly validators: PropertyValidators<T>;
138
+ readonly validate: (options?: {}) => Promise<ModelErrors<T>>;
136
139
  readonly getModel: () => Model<T>;
137
140
  };
138
- declare type ModelMethodTyped<T extends FunctionalModel> = (model: Model<T>, args?: readonly any[]) => any;
141
+ declare type ValueRequired<T extends FunctionalType | Arrayable<FunctionalType>> = NonNullable<T>;
142
+ declare type ValueOptional<T extends FunctionalType | Arrayable<FunctionalType>> = Maybe<T>;
143
+ declare type ValueOptionalR<T extends FunctionalModel> = ValueOptional<ReferenceValueType<T>>;
144
+ declare type ValueRequiredR<T extends FunctionalModel> = ValueRequired<ReferenceValueType<T>>;
145
+ declare type PropertyModifier<T extends Arrayable<FunctionalType>> = ValueRequired<T> | ValueOptional<T> | T;
146
+ declare type ModelMethodTyped<T extends FunctionalModel> = (model: Model<T>, ...args: readonly any[]) => any;
139
147
  declare type ModelMethod = ModelMethodTyped<any>;
140
148
  declare type ModelMethodClient = (...args: readonly any[]) => any;
141
149
  declare type ModelInstanceMethodTyped<T extends FunctionalModel> = (instance: ModelInstance<T>, args?: readonly any[]) => any;
@@ -149,4 +157,4 @@ declare type OptionalModelOptions<T extends FunctionalModel> = {
149
157
  readonly instanceCreatedCallback?: Nullable<Arrayable<(instance: ModelInstance<T>) => void>>;
150
158
  readonly [s: string]: any;
151
159
  } | undefined;
152
- export { MaybeFunction, Maybe, MaybePromise, Nullable, Arrayable, MaybeLazy, JsonAble, toObj, ModelInstance, Model, PropertyValidatorComponent, PropertyValidatorComponentSync, PropertyValidatorComponentAsync, PropertyValidatorComponentType, PropertyValidator, ModelComponentValidator, PropertyInstance, PropertyConfig, FunctionalType, ValueGetter, ReferenceValueType, ModelDefinition, ModelOptions, ModelMethod, OptionalModelOptions, ReferencePropertyInstance, PropertyGetters, PropertyValidators, PropertyValidatorComponentTypeAdvanced, ModelInstanceMethod, ModelInstanceMethodTyped, FunctionalModel, ModelInstanceInputData, ModelMethodTyped, ModelMethodGetters, InstanceMethodGetters, ReferenceFunctions, ModelErrors, PrimaryKeyType, ModelFactory, ModelFetcher, CreateParams, ValidatorConfiguration, };
160
+ export { MaybeFunction, Maybe, MaybePromise, Nullable, Arrayable, MaybeLazy, JsonAble, toObj, ModelInstance, Model, PropertyValidatorComponent, PropertyValidatorComponentSync, PropertyValidatorComponentAsync, PropertyValidatorComponentType, PropertyValidator, ModelValidatorComponent, PropertyInstance, PropertyConfig, FunctionalType, ValueGetter, ReferenceValueType, ModelDefinition, ModelOptions, ModelMethod, OptionalModelOptions, ReferencePropertyInstance, PropertyGetters, PropertyValidators, PropertyValidatorComponentTypeAdvanced, ModelInstanceMethod, ModelInstanceMethodTyped, FunctionalModel, ModelInstanceInputData, ModelMethodTyped, ModelMethodGetters, InstanceMethodGetters, ReferenceFunctions, ModelErrors, PrimaryKeyType, ModelFactory, ModelFetcher, CreateParams, ValidatorConfiguration, ValuePropertyValidatorComponent, ValueRequired, ValueOptional, ValueOptionalR, ValueRequiredR, PropertyModifier, ValidationErrors, ModelError, };
package/interfaces.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;AAoVA,kCAAkC"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;AAwXA,kCAAkC"}
package/models.js CHANGED
@@ -86,7 +86,9 @@ const BaseModel = (modelName, modelDefinition, options) => {
86
86
  const getModel = () => model;
87
87
  const toObj = (0, serialization_1.toJsonAble)(loadedInternals.get);
88
88
  const validate = (options = {}) => {
89
- return (0, validation_1.createModelValidator)(loadedInternals.validators, modelDefinition.modelValidators || [])(instance, options);
89
+ return Promise.resolve().then(() => {
90
+ return (0, validation_1.createModelValidator)(loadedInternals.validators, modelDefinition.modelValidators || [])(instance, options);
91
+ });
90
92
  };
91
93
  instance = (0, merge_1.default)(loadedInternals, {
92
94
  getModel,
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":";;;;;;AAAA,yDAAgC;AAChC,mDAA4C;AAC5C,6CAAmD;AACnD,6CAAuC;AAsBvC,MAAM,eAAe,GAAG,GAA+C,EAAE,CAAC,CAAC;IACzE,uBAAuB,EAAE,IAAI;CAC9B,CAAC,CAAA;AAEF,MAAM,eAAe,GAAG,CACtB,OAAiC,EACjC,EAAE;IACF,MAAM,CAAC,GAAoB,IAAA,eAAK,EAAC,EAAE,EAAE,eAAe,EAAE,EAAE,OAAO,CAAC,CAAA;IAChE,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAED,MAAM,6BAA6B,GAAG,CACpC,aAAiC,EACb,EAAE;IACtB,OAAO;QACL,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI;QAC7B,YAAY,EAAE,aAAa,CAAC,YAAY;QACxC,eAAe,EAAE,aAAa,CAAC,eAAe;QAC9C,UAAU,kBACR,EAAE,EAAE,IAAA,qBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAC7B,aAAa,CAAC,UAAU,CAC5B;QACD,eAAe,EAAE,aAAa,CAAC,eAAe;KAC/C,CAAA;AACH,CAAC,CAAA;AAED,MAAM,SAAS,GAAiB,CAC9B,SAAiB,EACjB,eAAmC,EACnC,OAAiC,EACjC,EAAE;IACF;;;;;;OAMG;IACH,6CAA6C;IAC7C,IAAI,KAAK,GAAuB,IAAI,CAAA;IACpC,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IAC3C,eAAe,GAAG,CAAC,eAAe,CAAC,iBAAiB;QAClD,CAAC,CAAC,6BAA6B,CAAC,eAAe,CAAC;QAChD,CAAC,CAAC,eAAe,CAAA;IAEnB,aAAa;IACb,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAA;IACnE,MAAM,aAAa,GAAG,CAAC,CAA4B,EAAE,EAAE;IACrD,aAAa;IACb,CAAC,CAAC,iBAAiB,EAAE,CAAW,CAAA;IAElC,MAAM,MAAM,GAAG,CAAC,cAAyC,EAAE,EAAE;QAC3D,6CAA6C;QAC7C,IAAI,QAAQ,GAA+B,IAAI,CAAA;QAC/C,MAAM,iBAAiB,GAInB;YACF,GAAG,EAAE,EAAwD;YAC7D,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;SACf,CAAA;QACD,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,MAAM,CACvE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE;YACvB,aAAa;YACb,MAAM,cAAc,GAAG,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAA;YACjE,aAAa;YACb,MAAM,iBAAiB,GAAG,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;YAC/D,MAAM,4BAA4B,GAAG;gBACnC,GAAG,EAAE;oBACH,CAAC,GAAG,CAAC,EAAE,cAAc;iBACtB;gBACD,UAAU,EAAE;oBACV,CAAC,GAAG,CAAC,EAAE,iBAAiB;iBACzB;aACF,CAAA;YACD,MAAM,YAAY,GAAG,QAA+C,CAAA;YACpE,MAAM,kBAAkB,GAAG,YAAY,CAAC,eAAe;gBACrD,CAAC,CAAC;oBACE,UAAU,EAAE;wBACV,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CACV,YAAY,CAAC,eAAe;wBAC1B,aAAa;wBACb,cAAc,CAAC,GAAG,CAA4B,CAC/C;qBACJ;iBACF;gBACH,CAAC,CAAC,EAAE,CAAA;YAEN,OAAO,IAAA,eAAK,EAAC,GAAG,EAAE,4BAA4B,EAAE,kBAAkB,CAAC,CAAA;QACrE,CAAC,EACD,iBAAiB,CAClB,CAAA;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAC5B,eAAe,CAAC,eAAe,IAAI,EAAE,CACtC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;YAC5B,OAAO,IAAA,eAAK,EAAC,GAAG,EAAE;gBAChB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAoB,EAAE,EAAE;oBACjC,OAAQ,IAAoC,CAC1C,QAA4B,EAC5B,GAAG,IAAI,CACR,CAAA;gBACH,CAAC;aACF,CAAC,CAAA;QACJ,CAAC,EAAE,EAAE,CAA6B,CAAA;QAElC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,KAAiB,CAAA;QACxC,MAAM,KAAK,GAAG,IAAA,0BAAU,EAAC,eAAe,CAAC,GAAG,CAAC,CAAA;QAC7C,MAAM,QAAQ,GAAG,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE;YAChC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjC,OAAO,IAAA,iCAAoB,EACzB,eAAe,CAAC,UAAU,EAC1B,eAAe,CAAC,eAAe,IAAI,EAAE,CACtC,CAAC,QAA4B,EAAE,OAAO,CAAC,CAAA;YAC1C,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,QAAQ,GAAG,IAAA,eAAK,EAAC,eAAe,EAAE;YAChC,QAAQ;YACR,KAAK;YACL,aAAa,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC;YAClD,iBAAiB;YACjB,QAAQ;YACR,OAAO;SACR,CAAC,CAAA;QAEF,IAAI,UAAU,CAAC,uBAAuB,EAAE;YACtC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,uBAAuB,CAAC;gBAC9D,CAAC,CAAC,UAAU,CAAC,uBAAuB;gBACpC,CAAC,CAAC,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAA;YACxC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAA4B,CAAC,CAAC,CAAA;SACvD;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAA;IAED,MAAM,wBAAwB,GAAG,MAAM,CAAC,OAAO,CAC7C,eAAe,CAAC,YAAY,IAAI,EAAE,CACnC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;QAC5B,OAAO,IAAA,eAAK,EAAC,GAAG,EAAE;YAChB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAoB,EAAE,EAAE;gBACjC,OAAQ,IAA4B,CAAC,KAAiB,EAAE,GAAG,IAAI,CAAC,CAAA;YAClE,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,EAAE,EAAE,CAA0B,CAAA;IAE/B,2DAA2D;IAC3D,KAAK,GAAG,IAAA,eAAK,EACX,EAAE,EACF;QACE,MAAM;QACN,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS;QACxB,kBAAkB,EAAE,GAAG,EAAE,CAAC,eAAe;QACzC,iBAAiB;QACjB,aAAa;QACb,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU;QAC5B,OAAO,EAAE,wBAAwB;KAClC,CACF,CAAA;IACD,OAAO,KAAiB,CAAA;AAC1B,CAAC,CAAA;AAEQ,8BAAS"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "functional-models",
3
- "version": "1.1.17",
3
+ "version": "1.1.21",
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
@@ -1,16 +1,16 @@
1
- import { ModelInstance, Maybe, PrimaryKeyType, Model, PropertyInstance, FunctionalType, PropertyConfig, MaybeFunction, Arrayable, ReferencePropertyInstance, FunctionalModel, JsonAble } from './interfaces';
1
+ import { ReferenceValueType, Model, PropertyInstance, FunctionalType, PropertyConfig, MaybeFunction, Arrayable, ReferencePropertyInstance, FunctionalModel, JsonAble, PropertyModifier } from './interfaces';
2
2
  declare const Property: <T extends Arrayable<FunctionalType>>(type: string, config?: PropertyConfig<T>, additionalMetadata?: {}) => PropertyInstance<T>;
3
- declare const DateProperty: (config?: PropertyConfig<Maybe<Date | string>>, additionalMetadata?: {}) => PropertyInstance<Maybe<string | Date>>;
3
+ declare const DateProperty: <TModifier extends PropertyModifier<string | Date>>(config?: PropertyConfig<TModifier>, additionalMetadata?: {}) => PropertyInstance<TModifier>;
4
4
  declare const ArrayProperty: <T extends FunctionalType>(config?: {}, additionalMetadata?: {}) => PropertyInstance<readonly T[]>;
5
- declare const ObjectProperty: (config?: {}, additionalMetadata?: {}) => PropertyInstance<{
5
+ declare const ObjectProperty: <TModifier extends PropertyModifier<{
6
6
  readonly [s: string]: JsonAble;
7
- }>;
8
- declare const TextProperty: (config?: PropertyConfig<Maybe<string>>, additionalMetadata?: {}) => PropertyInstance<Maybe<string>>;
9
- declare const IntegerProperty: (config?: PropertyConfig<Maybe<number>>, additionalMetadata?: {}) => PropertyInstance<Maybe<number>>;
10
- declare const NumberProperty: (config?: PropertyConfig<Maybe<number>>, additionalMetadata?: {}) => PropertyInstance<Maybe<number>>;
11
- declare const ConstantValueProperty: (value: string, config?: PropertyConfig<Maybe<string>>, additionalMetadata?: {}) => PropertyInstance<Maybe<string>>;
12
- declare const EmailProperty: (config?: PropertyConfig<Maybe<string>>, additionalMetadata?: {}) => PropertyInstance<Maybe<string>>;
13
- declare const BooleanProperty: (config?: PropertyConfig<Maybe<boolean>>, additionalMetadata?: {}) => PropertyInstance<Maybe<boolean>>;
14
- declare const UniqueId: (config?: PropertyConfig<string>, additionalMetadata?: {}) => PropertyInstance<string>;
15
- declare const ReferenceProperty: <T extends FunctionalModel>(model: MaybeFunction<Model<T>>, config?: PropertyConfig<Maybe<PrimaryKeyType> | T | ModelInstance<T>>, additionalMetadata?: {}) => ReferencePropertyInstance<T>;
7
+ }>>(config?: {}, additionalMetadata?: {}) => PropertyInstance<TModifier>;
8
+ declare const TextProperty: <TModifier extends PropertyModifier<string>>(config?: PropertyConfig<TModifier>, additionalMetadata?: {}) => PropertyInstance<TModifier>;
9
+ declare const IntegerProperty: <TModifier extends PropertyModifier<number>>(config?: PropertyConfig<TModifier>, additionalMetadata?: {}) => PropertyInstance<TModifier>;
10
+ declare const NumberProperty: <TModifier extends PropertyModifier<number>>(config?: PropertyConfig<TModifier>, additionalMetadata?: {}) => PropertyInstance<TModifier>;
11
+ declare const ConstantValueProperty: <TModifier extends PropertyModifier<Arrayable<FunctionalType>>>(value: TModifier, config?: PropertyConfig<TModifier>, additionalMetadata?: {}) => PropertyInstance<TModifier>;
12
+ declare const EmailProperty: <TModifier extends PropertyModifier<string>>(config?: PropertyConfig<TModifier>, additionalMetadata?: {}) => PropertyInstance<TModifier>;
13
+ declare const BooleanProperty: <TModifier extends PropertyModifier<boolean>>(config?: PropertyConfig<TModifier>, additionalMetadata?: {}) => PropertyInstance<TModifier>;
14
+ declare const UniqueId: <TModifier extends PropertyModifier<string>>(config?: PropertyConfig<TModifier>, additionalMetadata?: {}) => PropertyInstance<TModifier>;
15
+ declare const ReferenceProperty: <T extends FunctionalModel, TModifier extends PropertyModifier<ReferenceValueType<T>>>(model: MaybeFunction<Model<T>>, config?: PropertyConfig<TModifier>, additionalMetadata?: {}) => ReferencePropertyInstance<T, TModifier>;
16
16
  export { Property, UniqueId, DateProperty, ArrayProperty, ReferenceProperty, IntegerProperty, TextProperty, ConstantValueProperty, NumberProperty, ObjectProperty, EmailProperty, BooleanProperty, };
package/properties.js CHANGED
@@ -13,22 +13,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.BooleanProperty = exports.EmailProperty = exports.ObjectProperty = exports.NumberProperty = exports.ConstantValueProperty = exports.TextProperty = exports.IntegerProperty = exports.ReferenceProperty = exports.ArrayProperty = exports.DateProperty = exports.UniqueId = exports.Property = void 0;
16
- const identity_1 = __importDefault(require("lodash/identity"));
17
16
  const merge_1 = __importDefault(require("lodash/merge"));
18
17
  const validation_1 = require("./validation");
19
18
  const constants_1 = require("./constants");
20
19
  const lazy_1 = require("./lazy");
21
20
  const utils_1 = require("./utils");
22
21
  const EMAIL_REGEX = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/u;
23
- function _getValidatorFromConfigElseEmpty(input,
22
+ const _getValidatorFromConfigElseEmpty = (input,
24
23
  // eslint-disable-next-line no-unused-vars
25
- validatorGetter) {
24
+ validatorGetter) => {
26
25
  if (input !== undefined) {
27
26
  const validator = validatorGetter(input);
28
27
  return validator;
29
28
  }
30
29
  return validation_1.emptyValidator;
31
- }
30
+ };
32
31
  const _mergeValidators = (config, validators) => {
33
32
  return [...validators, ...((config === null || config === void 0 ? void 0 : config.validators) ? config.validators : [])];
34
33
  };
@@ -43,7 +42,7 @@ const Property = (type, config = {}, additionalMetadata = {}) => {
43
42
  const getDefaultValue = () => ((config === null || config === void 0 ? void 0 : config.defaultValue) !== undefined ? config.defaultValue : undefined);
44
43
  const getChoices = () => (config === null || config === void 0 ? void 0 : config.choices) || [];
45
44
  const lazyLoadMethod = (config === null || config === void 0 ? void 0 : config.lazyLoadMethod) || false;
46
- const valueSelector = (config === null || config === void 0 ? void 0 : config.valueSelector) || identity_1.default;
45
+ const valueSelector = (config === null || config === void 0 ? void 0 : config.valueSelector) || (x => x);
47
46
  if (typeof valueSelector !== 'function') {
48
47
  throw new Error(`valueSelector must be a function`);
49
48
  }
@@ -65,10 +64,12 @@ const Property = (type, config = {}, additionalMetadata = {}) => {
65
64
  : typeof instanceValue === 'function'
66
65
  ? instanceValue
67
66
  : () => instanceValue;
68
- return () => {
69
- return valueSelector(method(instanceValue));
67
+ const r = () => {
68
+ const result = method(instanceValue);
69
+ return valueSelector(result);
70
70
  };
71
- }, getValidator: valueGetter => {
71
+ return r;
72
+ }, getValidator: (valueGetter) => {
72
73
  const validator = (0, validation_1.createPropertyValidator)(valueGetter, config);
73
74
  const _propertyValidatorWrapper = (instance, instanceData, propertyConfiguration) => __awaiter(void 0, void 0, void 0, function* () {
74
75
  return validator(instance, instanceData, propertyConfiguration);
@@ -120,8 +121,7 @@ const NumberProperty = (config = {}, additionalMetadata = {}) => Property(consta
120
121
  ]),
121
122
  }), additionalMetadata);
122
123
  exports.NumberProperty = NumberProperty;
123
- const ConstantValueProperty = (value, config = {}, additionalMetadata = {}) => TextProperty((0, merge_1.default)(config, {
124
- type: constants_1.PROPERTY_TYPES.ConstantValueProperty,
124
+ const ConstantValueProperty = (value, config = {}, additionalMetadata = {}) => Property(constants_1.PROPERTY_TYPES.ConstantValueProperty, (0, merge_1.default)(config, {
125
125
  value,
126
126
  }), additionalMetadata);
127
127
  exports.ConstantValueProperty = ConstantValueProperty;
@@ -177,6 +177,7 @@ const ReferenceProperty = (model, config = {}, additionalMetadata = {}) => {
177
177
  const _getInstanceReturn = (objToUse) => {
178
178
  // We need to determine if the object we just got is an actual model instance to determine if we need to make one.
179
179
  const objIsModelInstance = instanceValues && instanceValues.getPrimaryKeyName;
180
+ // @ts-ignore
180
181
  const instance = objIsModelInstance
181
182
  ? objToUse
182
183
  : _getModel().create(objToUse);
@@ -185,6 +186,7 @@ const ReferenceProperty = (model, config = {}, additionalMetadata = {}) => {
185
186
  toObj: _getId(instanceValues),
186
187
  });
187
188
  };
189
+ // @ts-ignore
188
190
  if (valueIsModelInstance) {
189
191
  return _getInstanceReturn(instanceValues);
190
192
  }
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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"}
package/validation.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { FunctionalModel, ModelInstance, Model, ModelComponentValidator, PropertyValidatorComponent, PropertyValidatorComponentType, PropertyValidatorComponentSync, PropertyValidatorComponentTypeAdvanced, PropertyValidator, PropertyConfig, MaybeFunction, PropertyValidators, ValueGetter, Arrayable, FunctionalType, ModelErrors, ValidatorConfiguration } from './interfaces';
1
+ import { FunctionalModel, ModelInstance, Model, ModelValidatorComponent, PropertyValidatorComponent, PropertyValidatorComponentSync, PropertyValidatorComponentTypeAdvanced, JsonAble, PropertyValidator, PropertyConfig, MaybeFunction, PropertyValidators, ValueGetter, Arrayable, FunctionalType, ModelErrors, ValidatorConfiguration, ValuePropertyValidatorComponent, ValidationErrors } from './interfaces';
2
2
  declare const TYPE_PRIMITIVES: {
3
3
  boolean: string;
4
4
  string: string;
@@ -6,24 +6,24 @@ declare const TYPE_PRIMITIVES: {
6
6
  number: string;
7
7
  integer: string;
8
8
  };
9
- declare const isType: (type: string) => PropertyValidatorComponentSync;
10
- declare const isNumber: PropertyValidatorComponentSync;
11
- declare const isInteger: PropertyValidatorComponentSync;
12
- declare const isBoolean: PropertyValidatorComponentSync;
13
- declare const isString: PropertyValidatorComponentSync;
14
- declare const isArray: PropertyValidatorComponentSync;
15
- declare const arrayType: (type: string) => PropertyValidatorComponentSync;
16
- declare const meetsRegex: (regex: string | RegExp, flags?: string | undefined, errorMessage?: string) => PropertyValidatorComponentSync;
17
- declare const choices: (choiceArray: readonly FunctionalType[]) => PropertyValidatorComponentSync;
18
- declare const isDate: PropertyValidatorComponentType<Date>;
19
- declare const isRequired: PropertyValidatorComponentSync;
20
- declare const maxNumber: (max: Number) => PropertyValidatorComponentType<number>;
21
- declare const minNumber: (min: Number) => PropertyValidatorComponentType<number>;
22
- declare const maxTextLength: (max: Number) => PropertyValidatorComponentType<string>;
23
- declare const minTextLength: (min: Number) => PropertyValidatorComponentType<string>;
9
+ declare const isType: <T extends Arrayable<FunctionalType>>(type: string) => ValuePropertyValidatorComponent<T>;
10
+ declare const isNumber: ValuePropertyValidatorComponent<number>;
11
+ declare const isInteger: ValuePropertyValidatorComponent<number>;
12
+ declare const isBoolean: ValuePropertyValidatorComponent<boolean>;
13
+ declare const isString: ValuePropertyValidatorComponent<string>;
14
+ declare const isArray: ValuePropertyValidatorComponent<readonly FunctionalType[]>;
15
+ declare const arrayType: <T extends FunctionalType>(type: string) => ValuePropertyValidatorComponent<readonly T[]>;
16
+ declare const meetsRegex: <T extends FunctionalType>(regex: string | RegExp, flags?: string | undefined, errorMessage?: string) => ValuePropertyValidatorComponent<T>;
17
+ declare const choices: <T extends FunctionalType>(choiceArray: readonly T[]) => ValuePropertyValidatorComponent<T>;
18
+ declare const isDate: ValuePropertyValidatorComponent<Date>;
19
+ declare const isRequired: ValuePropertyValidatorComponent<any>;
20
+ declare const maxNumber: (max: Number) => ValuePropertyValidatorComponent<number>;
21
+ declare const minNumber: (min: Number) => ValuePropertyValidatorComponent<number>;
22
+ declare const maxTextLength: (max: Number) => ValuePropertyValidatorComponent<string>;
23
+ declare const minTextLength: (min: Number) => ValuePropertyValidatorComponent<string>;
24
24
  declare const referenceTypeMatch: <TModel extends FunctionalModel>(referencedModel: MaybeFunction<Model<TModel>>) => PropertyValidatorComponentTypeAdvanced<ModelInstance<TModel>, TModel>;
25
- declare const aggregateValidator: (value: any, methodOrMethods: PropertyValidatorComponent | readonly PropertyValidatorComponent[]) => PropertyValidator;
26
- declare const emptyValidator: PropertyValidatorComponentSync;
27
- declare const createPropertyValidator: <T extends Arrayable<FunctionalType>>(valueGetter: ValueGetter, config: PropertyConfig<T>) => PropertyValidator;
28
- declare const createModelValidator: (validators: PropertyValidators, modelValidators?: readonly ModelComponentValidator[] | undefined) => (instance: ModelInstance<any>, propertyConfiguration: ValidatorConfiguration) => Promise<ModelErrors>;
25
+ declare const aggregateValidator: <T extends FunctionalModel>(value: any, methodOrMethods: PropertyValidatorComponent<T> | readonly PropertyValidatorComponent<T>[]) => PropertyValidator<T>;
26
+ declare const emptyValidator: PropertyValidatorComponentSync<any>;
27
+ declare const createPropertyValidator: <T extends Arrayable<FunctionalType>>(valueGetter: ValueGetter<T>, config: PropertyConfig<T>) => <TModel extends FunctionalModel>(instance: ModelInstance<TModel>, instanceData: JsonAble | TModel, propertyConfiguration: ValidatorConfiguration) => Promise<ValidationErrors>;
28
+ declare const createModelValidator: <T extends FunctionalModel>(validators: PropertyValidators<T>, modelValidators?: readonly ModelValidatorComponent<T>[] | undefined) => (instance: ModelInstance<T>, propertyConfiguration: ValidatorConfiguration) => Promise<ModelErrors<T>>;
29
29
  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 CHANGED
@@ -210,15 +210,15 @@ const emptyValidator = () => undefined;
210
210
  exports.emptyValidator = emptyValidator;
211
211
  const _boolChoice = (method) => (configValue) => {
212
212
  const func = method(configValue);
213
- const validatorWrapper = (value, modelInstance, modelData) => {
214
- return func(value, modelInstance, modelData, {});
213
+ const validatorWrapper = (value, modelInstance, modelData, configurations) => {
214
+ return func(value, modelInstance, modelData, configurations);
215
215
  };
216
216
  return validatorWrapper;
217
217
  };
218
218
  const simpleFuncWrap = (validator) => () => {
219
219
  return validator;
220
220
  };
221
- const CONFIG_TO_VALIDATE_METHOD = {
221
+ const CONFIG_TO_VALIDATE_METHOD = () => ({
222
222
  required: _boolChoice(simpleFuncWrap(isRequired)),
223
223
  isInteger: _boolChoice(simpleFuncWrap(isInteger)),
224
224
  isNumber: _boolChoice(simpleFuncWrap(isNumber)),
@@ -226,32 +226,35 @@ const CONFIG_TO_VALIDATE_METHOD = {
226
226
  isArray: _boolChoice(simpleFuncWrap(isArray)),
227
227
  isBoolean: _boolChoice(simpleFuncWrap(isBoolean)),
228
228
  choices: _boolChoice(choices),
229
- };
229
+ });
230
230
  const createPropertyValidator = (valueGetter, config) => {
231
231
  const _propertyValidator = (instance, instanceData, propertyConfiguration) => __awaiter(void 0, void 0, void 0, function* () {
232
- if (!config) {
233
- config = {};
234
- }
235
- const validators = [
236
- ...Object.entries(config).map(([key, value]) => {
237
- const method = CONFIG_TO_VALIDATE_METHOD[key];
238
- if (method) {
239
- return method(value);
240
- }
241
- return emptyValidator;
242
- }),
243
- ...(config.validators ? config.validators : []),
244
- ].filter(x => x);
245
- const value = yield valueGetter();
246
- const isRequiredValue = config.required
247
- ? true
248
- : validators.includes(isRequired);
249
- if (!value && !isRequiredValue) {
250
- return [];
251
- }
252
- const validator = aggregateValidator(value, validators);
253
- const errors = yield validator(instance, instanceData, propertyConfiguration);
254
- return [...new Set((0, flatMap_1.default)(errors))];
232
+ return Promise.resolve().then(() => __awaiter(void 0, void 0, void 0, function* () {
233
+ const configToValidateMethod = CONFIG_TO_VALIDATE_METHOD();
234
+ if (!config) {
235
+ config = {};
236
+ }
237
+ const validators = [
238
+ ...Object.entries(config).map(([key, value]) => {
239
+ const method = configToValidateMethod[key];
240
+ if (method) {
241
+ return method(value);
242
+ }
243
+ return emptyValidator;
244
+ }),
245
+ ...(config.validators ? config.validators : []),
246
+ ].filter(x => x);
247
+ const value = yield valueGetter();
248
+ const isRequiredValue = config.required
249
+ ? true
250
+ : validators.includes(isRequired);
251
+ if (!value && !isRequiredValue) {
252
+ return [];
253
+ }
254
+ const validator = aggregateValidator(value, validators);
255
+ const errors = yield validator(instance, instanceData, propertyConfiguration);
256
+ return [...new Set((0, flatMap_1.default)(errors))];
257
+ }));
255
258
  });
256
259
  return _propertyValidator;
257
260
  };
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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"}