functional-models 2.1.13 → 3.0.0

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/validation.js CHANGED
@@ -12,24 +12,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.optionalValidator = exports.objectValidator = exports.isObject = exports.multiValidator = exports.referenceTypeMatch = exports.TYPE_PRIMITIVES = exports.isValid = exports.arrayType = exports.createModelValidator = exports.createPropertyValidator = exports.emptyValidator = exports.aggregateValidator = exports.meetsRegex = exports.minTextLength = exports.maxTextLength = exports.choices = exports.minNumber = exports.maxNumber = exports.isRequired = exports.isArray = exports.isDate = exports.isType = exports.isInteger = exports.isString = exports.isBoolean = exports.isNumber = void 0;
15
+ exports.isValidUuid = exports.optionalValidator = exports.objectValidator = exports.isObject = exports.multiValidator = exports.referenceTypeMatch = exports.isValid = exports.arrayType = exports.createModelValidator = exports.createPropertyValidator = exports.emptyValidator = exports.aggregateValidator = exports.meetsRegex = exports.minTextLength = exports.maxTextLength = exports.choices = exports.minNumber = exports.maxNumber = exports.isRequired = exports.isArray = exports.isDate = exports.isType = exports.isInteger = exports.isString = exports.isBoolean = exports.isNumber = void 0;
16
16
  const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
17
17
  const merge_1 = __importDefault(require("lodash/merge"));
18
18
  const flatMap_1 = __importDefault(require("lodash/flatMap"));
19
+ const types_1 = require("./types");
19
20
  const utils_1 = require("./utils");
20
21
  const multiValidator = (validators) => {
21
22
  const flow = (0, utils_1.flowFindFirst)(validators);
22
23
  return flow;
23
24
  };
24
25
  exports.multiValidator = multiValidator;
25
- const TYPE_PRIMITIVES = {
26
- boolean: 'boolean',
27
- string: 'string',
28
- object: 'object',
29
- number: 'number',
30
- integer: 'integer',
31
- };
32
- exports.TYPE_PRIMITIVES = TYPE_PRIMITIVES;
33
26
  const filterEmpty = (array) => {
34
27
  return array.filter(x => x);
35
28
  };
@@ -66,13 +59,13 @@ exports.isString = isString;
66
59
  const isArray = _trueOrError((v) => Array.isArray(v), 'Value is not an array');
67
60
  exports.isArray = isArray;
68
61
  const PRIMITIVE_TO_SPECIAL_TYPE_VALIDATOR = {
69
- [TYPE_PRIMITIVES.boolean]: isBoolean,
70
- [TYPE_PRIMITIVES.string]: isString,
71
- [TYPE_PRIMITIVES.integer]: isInteger,
72
- [TYPE_PRIMITIVES.number]: isNumber,
62
+ [types_1.PrimitiveValueType.boolean]: isBoolean,
63
+ [types_1.PrimitiveValueType.string]: isString,
64
+ [types_1.PrimitiveValueType.integer]: isInteger,
65
+ [types_1.PrimitiveValueType.number]: isNumber,
66
+ [types_1.PrimitiveValueType.object]: isObject,
73
67
  };
74
68
  const arrayType = (type) => (value) => {
75
- // @ts-ignore
76
69
  const arrayError = isArray(value);
77
70
  if (arrayError) {
78
71
  return arrayError;
@@ -82,7 +75,6 @@ const arrayType = (type) => (value) => {
82
75
  if (acc) {
83
76
  return acc;
84
77
  }
85
- // @ts-ignore
86
78
  return validator(v);
87
79
  }, undefined);
88
80
  };
@@ -188,9 +180,9 @@ const aggregateValidator = (value, methodOrMethods) => {
188
180
  const toDo = Array.isArray(methodOrMethods)
189
181
  ? methodOrMethods
190
182
  : [methodOrMethods];
191
- const _aggregativeValidator = (instance, instanceData, propertyConfiguration) => __awaiter(void 0, void 0, void 0, function* () {
183
+ const _aggregativeValidator = (instanceData, propertyConfiguration) => __awaiter(void 0, void 0, void 0, function* () {
192
184
  const values = yield Promise.all(toDo.map(method => {
193
- return method(value, instance, instanceData, propertyConfiguration);
185
+ return method(value, instanceData, propertyConfiguration);
194
186
  }));
195
187
  return filterEmpty(values);
196
188
  });
@@ -225,7 +217,7 @@ const CONFIG_TO_VALIDATE_METHOD = () => ({
225
217
  choices: _boolChoice(choices),
226
218
  });
227
219
  const createPropertyValidator = (valueGetter, config) => {
228
- const _propertyValidator = (instance, instanceData, propertyConfiguration) => __awaiter(void 0, void 0, void 0, function* () {
220
+ const _propertyValidator = (instanceData, propertyConfiguration) => __awaiter(void 0, void 0, void 0, function* () {
229
221
  return Promise.resolve().then(() => __awaiter(void 0, void 0, void 0, function* () {
230
222
  const configToValidateMethod = CONFIG_TO_VALIDATE_METHOD();
231
223
  if (!config) {
@@ -249,9 +241,7 @@ const createPropertyValidator = (valueGetter, config) => {
249
241
  return [];
250
242
  }
251
243
  const validator = aggregateValidator(value, validators);
252
- const errors = yield validator(
253
- // @ts-ignore
254
- instance, instanceData, propertyConfiguration);
244
+ const errors = yield validator(instanceData, propertyConfiguration);
255
245
  return [...new Set((0, flatMap_1.default)(errors))];
256
246
  }));
257
247
  });
@@ -266,23 +256,26 @@ const createModelValidator = (validators, modelValidators) => {
266
256
  }
267
257
  const keysAndFunctions = Object.entries(validators);
268
258
  const instanceData = yield instance.toObj();
269
- const propertyValidationErrors = yield Promise.all(keysAndFunctions.map(([key, validator]) => __awaiter(void 0, void 0, void 0, function* () {
270
- return [
271
- key,
272
- yield validator(instance, instanceData, propertyConfiguration),
273
- ];
259
+ const propertyValidationErrors = yield Promise.all(keysAndFunctions.map((_a) => __awaiter(void 0, [_a], void 0, function* ([key, validator]) {
260
+ return [key, yield validator(instanceData, propertyConfiguration)];
274
261
  })));
275
262
  const modelValidationErrors = (yield Promise.all(modelValidators
276
- ? modelValidators.map(validator => validator(instance, instanceData, propertyConfiguration))
263
+ ? modelValidators.map(validator => {
264
+ return validator(instance, instanceData, propertyConfiguration);
265
+ })
277
266
  : [])).filter(x => x);
278
267
  const propertyErrors = propertyValidationErrors
279
268
  .filter(([, errors]) => Boolean(errors) && errors.length > 0)
280
269
  .reduce((acc, [key, errors]) => {
281
270
  return (0, merge_1.default)(acc, { [String(key)]: errors });
282
271
  }, {});
283
- return modelValidationErrors.length > 0
272
+ const final = modelValidationErrors.length > 0
284
273
  ? (0, merge_1.default)(propertyErrors, { overall: modelValidationErrors })
285
274
  : propertyErrors;
275
+ if ((0, isEmpty_1.default)(final)) {
276
+ return undefined;
277
+ }
278
+ return final;
286
279
  }));
287
280
  });
288
281
  return _modelValidator;
@@ -352,4 +345,13 @@ const optionalValidator = (validator) => {
352
345
  };
353
346
  };
354
347
  exports.optionalValidator = optionalValidator;
348
+ const UUID_VALIDATOR = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/iu;
349
+ const isValidUuid = (uuid) => {
350
+ const stringError = isString(uuid);
351
+ if (stringError) {
352
+ return stringError;
353
+ }
354
+ return meetsRegex(UUID_VALIDATOR, 'g', 'Invalid UUID format')(uuid);
355
+ };
356
+ exports.isValidUuid = isValidUuid;
355
357
  //# sourceMappingURL=validation.js.map
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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"}
package/constants.d.ts DELETED
@@ -1,14 +0,0 @@
1
- declare enum PROPERTY_TYPES {
2
- UniqueId = "UniqueId",
3
- DateProperty = "DateProperty",
4
- ArrayProperty = "ArrayProperty",
5
- ReferenceProperty = "ReferenceProperty",
6
- IntegerProperty = "IntegerProperty",
7
- TextProperty = "TextProperty",
8
- ConstantValueProperty = "ConstantValueProperty",
9
- NumberProperty = "NumberProperty",
10
- ObjectProperty = "ObjectProperty",
11
- EmailProperty = "EmailProperty",
12
- BooleanProperty = "BooleanProperty"
13
- }
14
- export { PROPERTY_TYPES };
package/constants.js DELETED
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PROPERTY_TYPES = void 0;
4
- var PROPERTY_TYPES;
5
- (function (PROPERTY_TYPES) {
6
- PROPERTY_TYPES["UniqueId"] = "UniqueId";
7
- PROPERTY_TYPES["DateProperty"] = "DateProperty";
8
- PROPERTY_TYPES["ArrayProperty"] = "ArrayProperty";
9
- PROPERTY_TYPES["ReferenceProperty"] = "ReferenceProperty";
10
- PROPERTY_TYPES["IntegerProperty"] = "IntegerProperty";
11
- PROPERTY_TYPES["TextProperty"] = "TextProperty";
12
- PROPERTY_TYPES["ConstantValueProperty"] = "ConstantValueProperty";
13
- PROPERTY_TYPES["NumberProperty"] = "NumberProperty";
14
- PROPERTY_TYPES["ObjectProperty"] = "ObjectProperty";
15
- PROPERTY_TYPES["EmailProperty"] = "EmailProperty";
16
- PROPERTY_TYPES["BooleanProperty"] = "BooleanProperty";
17
- })(PROPERTY_TYPES || (PROPERTY_TYPES = {}));
18
- exports.PROPERTY_TYPES = PROPERTY_TYPES;
19
- //# sourceMappingURL=constants.js.map
package/constants.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,IAAK,cAYJ;AAZD,WAAK,cAAc;IACjB,uCAAqB,CAAA;IACrB,+CAA6B,CAAA;IAC7B,iDAA+B,CAAA;IAC/B,yDAAuC,CAAA;IACvC,qDAAmC,CAAA;IACnC,+CAA6B,CAAA;IAC7B,iEAA+C,CAAA;IAC/C,mDAAiC,CAAA;IACjC,mDAAiC,CAAA;IACjC,iDAA+B,CAAA;IAC/B,qDAAmC,CAAA;AACrC,CAAC,EAZI,cAAc,KAAd,cAAc,QAYlB;AAEQ,wCAAc"}
package/interfaces.d.ts DELETED
@@ -1,147 +0,0 @@
1
- type MaybeFunction<T> = T | (() => T);
2
- type MaybePromise<T> = T | Promise<T>;
3
- type Nullable<T> = T | null;
4
- type Maybe<T> = T | undefined | null;
5
- type Arrayable<T> = T | readonly T[];
6
- type MaybeLazy<T> = Maybe<Promise<T>>;
7
- type JsonObj = Readonly<{
8
- [s: string]: JsonAble | null;
9
- }>;
10
- type TypedJsonObj<T extends FunctionalModel> = {
11
- readonly [P in keyof T]: JsonAble;
12
- };
13
- type JsonAble = Arrayable<JsonObj> | readonly (number | string | boolean)[] | number | string | boolean | null;
14
- type VeryPrimitivesTypes = null | string | number | boolean;
15
- type toObj<T extends FunctionalModel> = () => Promise<TypedJsonObj<T>>;
16
- type PropertyGetters<T extends FunctionalModel> = {
17
- readonly [Property in keyof T]: () => T[Property];
18
- };
19
- type FunctionalModel = Readonly<{
20
- [s: string]: Arrayable<number> | Promise<number> | Arrayable<string> | Arrayable<boolean> | Arrayable<null> | Arrayable<FunctionalModel> | Arrayable<Date> | Arrayable<undefined> | ModelReference<any> | Arrayable<JsonAble>;
21
- }> & Readonly<{
22
- id?: PrimaryKeyType;
23
- }>;
24
- type FunctionalValue = MaybePromise<Arrayable<JsonAble> | (() => FunctionalValue) | Arrayable<null> | Arrayable<undefined> | Arrayable<Date> | Arrayable<FunctionalModel>>;
25
- type ValidatorConfiguration = Readonly<{
26
- [s: string]: any;
27
- }>;
28
- type ValidationErrorResponse = string | undefined;
29
- type ValidationErrors = readonly string[];
30
- type ModelError = string | undefined;
31
- type ModelErrors<T extends FunctionalModel> = {
32
- readonly [Property in keyof T]: readonly string[] | undefined;
33
- } & Readonly<{
34
- overall?: readonly string[] | undefined;
35
- }>;
36
- 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;
37
- type PropertyValidatorComponentSync<T extends FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>> = PropertyValidatorComponentTypeAdvanced<any, T, TModel, TModelInstance>;
38
- type ValuePropertyValidatorComponent<T extends Arrayable<FunctionalValue>> = (value: T) => ValidationErrorResponse;
39
- 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>;
40
- 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>;
41
- 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>;
42
- 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>;
43
- 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>;
44
- type PropertyInstance<TValue extends Arrayable<FunctionalValue>, T extends FunctionalModel = FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>> = Readonly<{
45
- getConfig: () => object;
46
- getChoices: () => readonly VeryPrimitivesTypes[];
47
- getDefaultValue: () => TValue;
48
- getConstantValue: () => TValue;
49
- getPropertyType: () => string;
50
- createGetter: (value: TValue, modelData: T, modelInstance: TModelInstance) => ValueGetter<TValue, T, TModel, TModelInstance>;
51
- getValidator: (valueGetter: ValueGetter<TValue, T, TModel, TModelInstance>) => PropertyValidator<T, TModel, TModelInstance>;
52
- }>;
53
- type PropertiesList<T extends FunctionalModel> = {
54
- readonly [P in keyof T as T[P] extends Arrayable<FunctionalValue> ? P : never]: PropertyInstance<any>;
55
- };
56
- 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> {
57
- readonly getReferencedId: (instanceValues: ModelReference<T, TModel, TModelInstance>) => Maybe<PrimaryKeyType>;
58
- readonly getReferencedModel: () => TModel;
59
- }
60
- type ModelReference<T extends FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>> = T | TModelInstance | TypedJsonObj<T> | PrimaryKeyType;
61
- type DefaultPropertyValidators = Readonly<{
62
- required?: boolean;
63
- isInteger?: boolean;
64
- isNumber?: boolean;
65
- isString?: boolean;
66
- isArray?: boolean;
67
- isBoolean?: boolean;
68
- }>;
69
- type PropertyConfigContents<T extends Arrayable<FunctionalValue>> = Readonly<{
70
- type?: string;
71
- defaultValue?: T;
72
- isDenormalized?: boolean;
73
- value?: T;
74
- choices?: readonly VeryPrimitivesTypes[];
75
- lazyLoadMethod?: <TData extends FunctionalModel>(value: T, modelData: TData) => T | MaybeLazy<T>;
76
- valueSelector?: (instanceValue: MaybePromise<T>) => T;
77
- validators?: readonly PropertyValidatorComponent<any>[];
78
- maxLength?: number;
79
- minLength?: number;
80
- maxValue?: number;
81
- minValue?: number;
82
- autoNow?: boolean;
83
- fetcher?: ModelFetcher;
84
- }>;
85
- type ModelFetcher = <T extends FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>>(model: TModel, primaryKey: PrimaryKeyType) => Promise<T | TModelInstance | TypedJsonObj<T>> | Promise<null> | Promise<undefined>;
86
- type PropertyConfig<T extends Arrayable<FunctionalValue>> = (PropertyConfigContents<T> & DefaultPropertyValidators) | undefined;
87
- type PrimaryKeyPropertyInstanceType = PropertyInstance<string> | PropertyInstance<number>;
88
- type PrimaryKeyType = string | number;
89
- type ModelDefinition<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = Readonly<{
90
- getPrimaryKeyName?: () => string;
91
- properties: {
92
- id?: PrimaryKeyPropertyInstanceType;
93
- } & PropertiesList<T>;
94
- modelValidators?: readonly ModelValidatorComponent<T, TModel>[];
95
- singularName?: string;
96
- displayName?: string;
97
- }>;
98
- type ModelFactory = <T extends FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>>(pluralName: string, modelDefinition: ModelDefinition<T, TModel>, options?: OptionalModelOptions<T, TModel, TModelInstance>) => TModel;
99
- type CreateParams<T extends FunctionalModel> = T | TypedJsonObj<T> | (TypedJsonObj<T> & Readonly<{
100
- id?: PrimaryKeyType;
101
- }>);
102
- type Model<T extends FunctionalModel> = Readonly<{
103
- getName: () => string;
104
- getSingularName: () => string;
105
- getDisplayName: () => string;
106
- getPrimaryKeyName: () => string;
107
- getModelDefinition: () => ModelDefinition<T>;
108
- getPrimaryKey: (t: T | TypedJsonObj<T>) => PrimaryKeyType;
109
- getOptions: () => object & ModelOptions<T>;
110
- create: (data: CreateParams<T>) => ModelInstance<T>;
111
- }>;
112
- type ModelReferenceFunctions = Readonly<{
113
- [s: string]: () => Maybe<PrimaryKeyType>;
114
- }>;
115
- type PropertyValidators<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = Readonly<{
116
- id?: PropertyValidator<T, TModel>;
117
- }> & Readonly<{
118
- [s: string]: PropertyValidator<T, TModel>;
119
- }>;
120
- type ModelInstance<T extends FunctionalModel, TModel extends Model<T> = Model<T>> = Readonly<{
121
- get: PropertyGetters<T> & {
122
- id?: () => MaybePromise<PrimaryKeyType>;
123
- };
124
- references: ModelReferenceFunctions;
125
- toObj: toObj<T>;
126
- getPrimaryKeyName: () => string;
127
- getPrimaryKey: () => PrimaryKeyType;
128
- validators: PropertyValidators<T, TModel>;
129
- validate: (options?: object) => Promise<ModelErrors<T>>;
130
- getModel: () => TModel;
131
- }>;
132
- type ValueRequired<T extends Arrayable<FunctionalValue>> = NonNullable<T>;
133
- type ValueOptional<T extends Arrayable<FunctionalValue>> = Maybe<T>;
134
- type ValueRequiredR<T extends FunctionalModel> = ValueRequired<ModelReference<T>>;
135
- type ValueOptionalR<T extends FunctionalModel> = ValueOptional<ModelReference<T>>;
136
- type IsAsync<T extends Arrayable<FunctionalValue>> = Promise<T>;
137
- type PropertyModifier<T extends Arrayable<FunctionalValue>> = ValueRequired<T> | ValueOptional<T> | T;
138
- type ModelOptions<T extends FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>> = Readonly<{
139
- instanceCreatedCallback: Nullable<Arrayable<(instance: TModelInstance) => void>>;
140
- [s: string]: any;
141
- }>;
142
- type OptionalModelOptions<T extends FunctionalModel, TModel extends Model<T> = Model<T>, TModelInstance extends ModelInstance<T, TModel> = ModelInstance<T, TModel>> = Readonly<{
143
- instanceCreatedCallback?: Nullable<Arrayable<(instance: TModelInstance) => void>>;
144
- [s: string]: any;
145
- }> | undefined;
146
- type CalculateDenormalization<T extends FunctionalValue, TModel extends FunctionalModel> = (modelData: TModel, modelInstance: ModelInstance<TModel>) => MaybePromise<T | undefined>;
147
- export { MaybeFunction, Maybe, MaybePromise, Nullable, Arrayable, MaybeLazy, JsonAble, toObj, ModelInstance, Model, PropertyValidatorComponent, PropertyValidatorComponentSync, PropertyValidatorComponentAsync, PropertyValidator, ModelValidatorComponent, PropertyInstance, PropertyConfig, FunctionalValue, ValueGetter, ModelReference, ModelDefinition, ModelOptions, OptionalModelOptions, ModelReferencePropertyInstance, PropertyGetters, PropertyValidators, PropertyValidatorComponentTypeAdvanced, FunctionalModel, ModelReferenceFunctions, ModelErrors, PrimaryKeyType, ModelFactory, ModelFetcher, CreateParams, ValidatorConfiguration, ValuePropertyValidatorComponent, ValueRequired, ValueOptional, PropertyModifier, ValidationErrors, ModelError, IsAsync, TypedJsonObj, JsonObj, ValueRequiredR, ValueOptionalR, CalculateDenormalization, };
package/interfaces.js DELETED
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /* eslint-enable no-unused-vars */
4
- //# sourceMappingURL=interfaces.js.map
package/interfaces.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;AA0YA,kCAAkC"}
package/lazy.d.ts DELETED
@@ -1,3 +0,0 @@
1
- declare const lazyValueSync: (method: (...args: any[]) => any) => (...args: readonly any[]) => any;
2
- declare const lazyValue: (method: (...args: any[]) => any) => (...args: readonly any[]) => Promise<any>;
3
- export { lazyValue, lazyValueSync };
package/lazy.js DELETED
@@ -1,51 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.lazyValueSync = exports.lazyValue = void 0;
16
- const async_lock_1 = __importDefault(require("async-lock"));
17
- const utils_1 = require("./utils");
18
- const lazyValueSync = (method) => {
19
- /* eslint-disable functional/no-let */
20
- let value = undefined;
21
- let called = false;
22
- return (...args) => {
23
- if (!called) {
24
- called = true;
25
- value = method(...args);
26
- }
27
- return value;
28
- };
29
- /* eslint-enable functional/no-let */
30
- };
31
- exports.lazyValueSync = lazyValueSync;
32
- const lazyValue = (method) => {
33
- const key = (0, utils_1.createUuid)();
34
- const lock = new async_lock_1.default();
35
- /* eslint-disable functional/no-let */
36
- let value = undefined;
37
- let called = false;
38
- return (...args) => __awaiter(void 0, void 0, void 0, function* () {
39
- return lock.acquire(key, () => __awaiter(void 0, void 0, void 0, function* () {
40
- if (!called) {
41
- called = true;
42
- value = yield method(...args);
43
- // eslint-disable-next-line require-atomic-updates
44
- }
45
- return value;
46
- }));
47
- });
48
- /* eslint-enable functional/no-let */
49
- };
50
- exports.lazyValue = lazyValue;
51
- //# sourceMappingURL=lazy.js.map
package/lazy.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"lazy.js","sourceRoot":"","sources":["../src/lazy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4DAAkC;AAClC,mCAAoC;AAEpC,MAAM,aAAa,GAAG,CAAC,MAA+B,EAAE,EAAE;IACxD,sCAAsC;IACtC,IAAI,KAAK,GAAQ,SAAS,CAAA;IAC1B,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,OAAO,CAAC,GAAG,IAAoB,EAAE,EAAE;QACjC,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,IAAI,CAAA;YACb,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA;SACxB;QAED,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IACD,qCAAqC;AACvC,CAAC,CAAA;AAsBmB,sCAAa;AApBjC,MAAM,SAAS,GAAG,CAAC,MAA+B,EAAE,EAAE;IACpD,MAAM,GAAG,GAAG,IAAA,kBAAU,GAAE,CAAA;IACxB,MAAM,IAAI,GAAG,IAAI,oBAAS,EAAE,CAAA;IAC5B,sCAAsC;IACtC,IAAI,KAAK,GAAQ,SAAS,CAAA;IAC1B,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,OAAO,CAAO,GAAG,IAAoB,EAAE,EAAE;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAS,EAAE;YAClC,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,GAAG,IAAI,CAAA;gBACb,KAAK,GAAG,MAAM,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA;gBAC7B,kDAAkD;aACnD;YAED,OAAO,KAAK,CAAA;QACd,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC,CAAA,CAAA;IACD,qCAAqC;AACvC,CAAC,CAAA;AAEQ,8BAAS"}
package/methods.d.ts DELETED
@@ -1,6 +0,0 @@
1
- import { ModelInstanceMethod, ModelInstance, FunctionalModel, Model, ModelMethod } from './interfaces';
2
- type InstanceMethodInput<T extends FunctionalModel, TModel extends Model<T>> = (instance: ModelInstance<T, TModel>, model: TModel, ...args: readonly any[]) => any;
3
- 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>;
6
- export { WrapperInstanceMethod, WrapperModelMethod };
package/methods.js DELETED
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WrapperModelMethod = exports.WrapperInstanceMethod = void 0;
4
- function WrapperInstanceMethod(method) {
5
- const r = (instance, model, ...args) => {
6
- return method(instance, model, args);
7
- };
8
- return r;
9
- }
10
- exports.WrapperInstanceMethod = WrapperInstanceMethod;
11
- function WrapperModelMethod(method) {
12
- const r = (model, ...args) => {
13
- return method(model, args);
14
- };
15
- return r;
16
- }
17
- exports.WrapperModelMethod = WrapperModelMethod;
18
- //# sourceMappingURL=methods.js.map
package/methods.js.map DELETED
@@ -1 +0,0 @@
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"}