functional-models 3.7.0 → 3.8.1

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.
@@ -0,0 +1,2 @@
1
+ import { DatabaseKeyPropertyConfig, PrimaryKeyGenerator } from './types.js';
2
+ export declare const getPrimaryKeyGenerator: <TValue extends string | number>(config?: DatabaseKeyPropertyConfig<TValue>) => PrimaryKeyGenerator;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPrimaryKeyGenerator = void 0;
4
+ const types_js_1 = require("../types.js");
5
+ const utils_js_1 = require("../utils.js");
6
+ const _getModelIdPropertyType = (config = {}) => {
7
+ return config.dataType || types_js_1.PropertyType.UniqueId;
8
+ };
9
+ const getPrimaryKeyGenerator = (config = {}) => {
10
+ const custom = config.primaryKeyGenerator;
11
+ if (custom) {
12
+ return custom;
13
+ }
14
+ const idType = _getModelIdPropertyType(config);
15
+ switch (idType) {
16
+ case types_js_1.PropertyType.Integer:
17
+ return () => Promise.resolve((0, utils_js_1.getRandomValues)()[0]);
18
+ default: {
19
+ return () => Promise.resolve((0, utils_js_1.createUuid)());
20
+ }
21
+ }
22
+ };
23
+ exports.getPrimaryKeyGenerator = getPrimaryKeyGenerator;
24
+ //# sourceMappingURL=internal-libs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal-libs.js","sourceRoot":"","sources":["../../src/orm/internal-libs.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,0CAAyD;AAOzD,MAAM,uBAAuB,GAAG,CAC9B,SAAyC,EAAE,EACnB,EAAE;IAC1B,OAAO,MAAM,CAAC,QAAQ,IAAI,uBAAY,CAAC,QAAQ,CAAA;AACjD,CAAC,CAAA;AAEM,MAAM,sBAAsB,GAAG,CACpC,SAA4C,EAAE,EACzB,EAAE;IACvB,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAA;IACzC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAA;IACf,CAAC;IACD,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAA;IAC9C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,uBAAY,CAAC,OAAO;YACvB,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAA,0BAAe,GAAE,CAAC,CAAC,CAAE,CAAC,CAAA;QACrD,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAA,qBAAU,GAAE,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAfY,QAAA,sBAAsB,0BAelC"}
@@ -1,18 +1,18 @@
1
- import { DateValueType, PropertyConfig, Arrayable, DataValue, MaybeFunction, ModelType, DataDescription } from '../types';
2
- import { OrmPropertyConfig } from './types';
1
+ import { DateValueType, PropertyConfig, Arrayable, DataValue, MaybeFunction, ModelType, DataDescription, ModelInstance, PropertyType } from '../types';
2
+ import { OrmPropertyConfig, DatabaseKeyPropertyConfig } from './types';
3
3
  /**
4
4
  * A property that automatically updates whenever the model instance is saved.
5
5
  * @param config
6
6
  */
7
- declare const LastModifiedDateProperty: (config?: PropertyConfig<DateValueType>) => Readonly<{
7
+ export declare const LastModifiedDateProperty: (config?: PropertyConfig<DateValueType>) => Readonly<{
8
8
  getConfig: () => object;
9
9
  getChoices: () => readonly import("../types").ChoiceTypes[];
10
10
  getDefaultValue: () => DateValueType | undefined;
11
11
  getConstantValue: () => DateValueType | undefined;
12
- getPropertyType: () => import("../types").PropertyType | string;
12
+ getPropertyType: () => PropertyType | string;
13
13
  createGetter: (value: DateValueType, modelData: Readonly<{
14
14
  [s: string]: any;
15
- }>, modelInstance: import("../types").ModelInstance<Readonly<{
15
+ }>, modelInstance: ModelInstance<Readonly<{
16
16
  [s: string]: any;
17
17
  }>, object, object>) => import("../types").ValueGetter<DateValueType, Readonly<{
18
18
  [s: string]: any;
@@ -24,38 +24,21 @@ declare const LastModifiedDateProperty: (config?: PropertyConfig<DateValueType>)
24
24
  [s: string]: any;
25
25
  }>>;
26
26
  }>;
27
- /**
28
- * A property that represents a key in a database.
29
- * By default it is a "uuid" type, but if you want to use an arbitrary string, or an integer type you can set the `dataType` property.
30
- * @interface
31
- */
32
- type DatabaseKeyPropertyConfig<TValue extends string | number> = PropertyConfig<TValue> & Readonly<{
33
- /**
34
- * Sets the type of the foreign key.
35
- * @default 'uuid'
36
- */
37
- dataType?: 'uuid' | 'string' | 'integer';
38
- /**
39
- * If true, the key will be automatically generated if not provided. Only applies to uuids.
40
- * @default true
41
- */
42
- auto?: boolean;
43
- }>;
44
27
  /**
45
28
  * A property that represents a foreign key to another model in a database.
46
29
  * By default it is a "uuid" type, but if you want to use an arbitrary string, or an integer type you can set the `dataType` property.
47
30
  * NOTE: auto is ignored in config.
48
31
  * @param config - Additional configurations.
49
32
  */
50
- declare const ForeignKeyProperty: <TValue extends string | number, TModel extends DataDescription>(model: MaybeFunction<ModelType<TModel>>, config?: DatabaseKeyPropertyConfig<TValue>) => (Readonly<{
33
+ export declare const ForeignKeyProperty: <TValue extends string | number, TModel extends DataDescription>(model: MaybeFunction<ModelType<TModel>>, config?: Omit<DatabaseKeyPropertyConfig<TValue>, "auto" | "primaryKeyGenerator">) => (Readonly<{
51
34
  getConfig: () => object;
52
35
  getChoices: () => readonly import("../types").ChoiceTypes[];
53
36
  getDefaultValue: () => string | undefined;
54
37
  getConstantValue: () => string | undefined;
55
- getPropertyType: () => import("../types").PropertyType | string;
38
+ getPropertyType: () => PropertyType | string;
56
39
  createGetter: (value: string, modelData: Readonly<{
57
40
  [s: string]: any;
58
- }>, modelInstance: import("../types").ModelInstance<Readonly<{
41
+ }>, modelInstance: ModelInstance<Readonly<{
59
42
  [s: string]: any;
60
43
  }>, object, object>) => import("../types").ValueGetter<string, Readonly<{
61
44
  [s: string]: any;
@@ -71,10 +54,10 @@ declare const ForeignKeyProperty: <TValue extends string | number, TModel extend
71
54
  getChoices: () => readonly import("../types").ChoiceTypes[];
72
55
  getDefaultValue: () => number | undefined;
73
56
  getConstantValue: () => number | undefined;
74
- getPropertyType: () => import("../types").PropertyType | string;
57
+ getPropertyType: () => PropertyType | string;
75
58
  createGetter: (value: number, modelData: Readonly<{
76
59
  [s: string]: any;
77
- }>, modelInstance: import("../types").ModelInstance<Readonly<{
60
+ }>, modelInstance: ModelInstance<Readonly<{
78
61
  [s: string]: any;
79
62
  }>, object, object>) => import("../types").ValueGetter<number, Readonly<{
80
63
  [s: string]: any;
@@ -89,15 +72,22 @@ declare const ForeignKeyProperty: <TValue extends string | number, TModel extend
89
72
  getReferencedId: (instanceValues: TValue) => TValue;
90
73
  getReferencedModel: () => ModelType<TModel>;
91
74
  };
92
- declare const PrimaryKeyProperty: <TValue extends string | number>(config?: DatabaseKeyPropertyConfig<TValue>) => Readonly<{
75
+ /**
76
+ * A property that represents a primary key in a database.
77
+ * By default it is a "uuid" type, but if you want to use an arbitrary string, or an integer type you can set the `dataType` property.
78
+ * Includes an optional primaryKeyGenerator function that can be used to generate a primary key. This can allow primary keys that are generated at runtime, or grabbed from a database.
79
+ * @param config - Additional configurations.
80
+ * @returns
81
+ */
82
+ export declare const PrimaryKeyProperty: <TValue extends string | number>(config?: DatabaseKeyPropertyConfig<TValue>) => Readonly<{
93
83
  getConfig: () => object;
94
84
  getChoices: () => readonly import("../types").ChoiceTypes[];
95
85
  getDefaultValue: () => string | undefined;
96
86
  getConstantValue: () => string | undefined;
97
- getPropertyType: () => import("../types").PropertyType | string;
87
+ getPropertyType: () => PropertyType | string;
98
88
  createGetter: (value: string, modelData: Readonly<{
99
89
  [s: string]: any;
100
- }>, modelInstance: import("../types").ModelInstance<Readonly<{
90
+ }>, modelInstance: ModelInstance<Readonly<{
101
91
  [s: string]: any;
102
92
  }>, object, object>) => import("../types").ValueGetter<string, Readonly<{
103
93
  [s: string]: any;
@@ -113,10 +103,10 @@ declare const PrimaryKeyProperty: <TValue extends string | number>(config?: Data
113
103
  getChoices: () => readonly import("../types").ChoiceTypes[];
114
104
  getDefaultValue: () => number | undefined;
115
105
  getConstantValue: () => number | undefined;
116
- getPropertyType: () => import("../types").PropertyType | string;
106
+ getPropertyType: () => PropertyType | string;
117
107
  createGetter: (value: number, modelData: Readonly<{
118
108
  [s: string]: any;
119
- }>, modelInstance: import("../types").ModelInstance<Readonly<{
109
+ }>, modelInstance: ModelInstance<Readonly<{
120
110
  [s: string]: any;
121
111
  }>, object, object>) => import("../types").ValueGetter<number, Readonly<{
122
112
  [s: string]: any;
@@ -132,5 +122,4 @@ declare const PrimaryKeyProperty: <TValue extends string | number>(config?: Data
132
122
  * Creates an orm based property config.
133
123
  * @param config - Additional configurations.
134
124
  */
135
- declare const ormPropertyConfig: <T extends Arrayable<DataValue>>(config?: OrmPropertyConfig<T>) => PropertyConfig<T>;
136
- export { ormPropertyConfig, LastModifiedDateProperty, ForeignKeyProperty, PrimaryKeyProperty, };
125
+ export declare const ormPropertyConfig: <T extends Arrayable<DataValue>>(config?: OrmPropertyConfig<T>) => PropertyConfig<T>;
package/orm/properties.js CHANGED
@@ -3,11 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.PrimaryKeyProperty = exports.ForeignKeyProperty = exports.LastModifiedDateProperty = exports.ormPropertyConfig = void 0;
6
+ exports.ormPropertyConfig = exports.PrimaryKeyProperty = exports.ForeignKeyProperty = exports.LastModifiedDateProperty = void 0;
7
7
  const merge_1 = __importDefault(require("lodash/merge"));
8
8
  const identity_1 = __importDefault(require("lodash/identity"));
9
+ const types_1 = require("../types");
9
10
  const properties_1 = require("../properties");
10
11
  const validation_1 = require("./validation");
12
+ const internal_libs_1 = require("./internal-libs");
11
13
  const _defaultPropertyConfig = {
12
14
  unique: undefined,
13
15
  };
@@ -34,12 +36,12 @@ const ForeignKeyProperty = (model, config = {}) => {
34
36
  return model;
35
37
  };
36
38
  const _getProperty = () => {
37
- if (config.dataType === 'uuid') {
39
+ if (config.dataType === types_1.PropertyType.UniqueId) {
38
40
  return (0, properties_1.UuidProperty)((0, merge_1.default)(config, {
39
41
  autoNow: false,
40
42
  }));
41
43
  }
42
- if (config.dataType === 'integer') {
44
+ if (config.dataType === types_1.PropertyType.Integer) {
43
45
  return (0, properties_1.IntegerProperty)(config);
44
46
  }
45
47
  return (0, properties_1.TextProperty)(config);
@@ -53,18 +55,39 @@ const ForeignKeyProperty = (model, config = {}) => {
53
55
  });
54
56
  };
55
57
  exports.ForeignKeyProperty = ForeignKeyProperty;
58
+ /**
59
+ * A property that represents a primary key in a database.
60
+ * By default it is a "uuid" type, but if you want to use an arbitrary string, or an integer type you can set the `dataType` property.
61
+ * Includes an optional primaryKeyGenerator function that can be used to generate a primary key. This can allow primary keys that are generated at runtime, or grabbed from a database.
62
+ * @param config - Additional configurations.
63
+ * @returns
64
+ */
56
65
  const PrimaryKeyProperty = (config = {}) => {
57
66
  const _getProperty = () => {
58
67
  const auto = config.auto === undefined ? true : config.auto ? true : false;
59
- if (config.dataType === 'uuid') {
68
+ const lazyLoadMethod = (value, modelData, instance) => {
69
+ if (config.primaryKeyGenerator) {
70
+ return config.primaryKeyGenerator(value, modelData, instance);
71
+ }
72
+ if (auto) {
73
+ return (0, internal_libs_1.getPrimaryKeyGenerator)(config)(value, modelData, instance);
74
+ }
75
+ return value;
76
+ };
77
+ if (config.dataType === types_1.PropertyType.UniqueId) {
60
78
  return (0, properties_1.UuidProperty)((0, merge_1.default)(config, {
61
79
  autoNow: auto,
80
+ lazyLoadMethod,
62
81
  }));
63
82
  }
64
- if (config.dataType === 'integer') {
65
- return (0, properties_1.IntegerProperty)(config);
83
+ if (config.dataType === types_1.PropertyType.Integer) {
84
+ return (0, properties_1.IntegerProperty)((0, merge_1.default)(config, {
85
+ lazyLoadMethod,
86
+ }));
66
87
  }
67
- return (0, properties_1.TextProperty)(config);
88
+ return (0, properties_1.TextProperty)((0, merge_1.default)(config, {
89
+ lazyLoadMethod,
90
+ }));
68
91
  };
69
92
  return _getProperty();
70
93
  };
@@ -1 +1 @@
1
- {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../src/orm/properties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../src/orm/properties.ts"],"names":[],"mappings":"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"}
package/orm/types.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { Arrayable, DataValue, Maybe, ModelInstance, ModelType, DataDescription, PrimaryKeyType, MinimalModelDefinition, PropertyConfig, ValidatorContext, ToObjectResult, ModelInstanceFetcher, ModelFactoryOptions } from '../types';
1
+ import { Arrayable, DataValue, Maybe, ModelInstance, ModelType, DataDescription, PrimaryKeyType, MinimalModelDefinition, PropertyConfig, ValidatorContext, ToObjectResult, ModelInstanceFetcher, ModelFactoryOptions, CreateParams, PropertyType } from '../types';
2
2
  /**
3
3
  * Equals symbols for doing database matching
4
4
  */
5
- declare enum EqualitySymbol {
5
+ export declare enum EqualitySymbol {
6
6
  eq = "=",
7
7
  lt = "<",
8
8
  lte = "<=",
@@ -13,7 +13,7 @@ declare enum EqualitySymbol {
13
13
  /**
14
14
  * The value types that map to database types.
15
15
  */
16
- declare enum DatastoreValueType {
16
+ export declare enum DatastoreValueType {
17
17
  string = "string",
18
18
  number = "number",
19
19
  date = "date",
@@ -23,7 +23,7 @@ declare enum DatastoreValueType {
23
23
  /**
24
24
  * A list of allowable equality symbols.
25
25
  */
26
- declare const AllowableEqualitySymbols: EqualitySymbol[];
26
+ export declare const AllowableEqualitySymbols: EqualitySymbol[];
27
27
  /**
28
28
  * A function that can save.
29
29
  */
@@ -39,16 +39,16 @@ type DeleteMethod<TModelExtensions extends object = object, TModelInstanceExtens
39
39
  /**
40
40
  * A function that allows overriding the save functionality for a specific model.
41
41
  */
42
- type SaveOverride<TModelExtensions extends object = object, TModelInstanceExtensions extends object = object> = <TData extends DataDescription>(existingSave: SaveMethod<TModelExtensions, TModelInstanceExtensions>, instance: ModelInstance<TData, TModelExtensions, TModelInstanceExtensions>) => Promise<OrmModelInstance<TData, TModelExtensions, TModelInstanceExtensions>>;
42
+ export type SaveOverride<TModelExtensions extends object = object, TModelInstanceExtensions extends object = object> = <TData extends DataDescription>(existingSave: SaveMethod<TModelExtensions, TModelInstanceExtensions>, instance: ModelInstance<TData, TModelExtensions, TModelInstanceExtensions>) => Promise<OrmModelInstance<TData, TModelExtensions, TModelInstanceExtensions>>;
43
43
  /**
44
44
  * A function that allows overriding the delete functionality for a specific model.
45
45
  */
46
- type DeleteOverride<TModelExtensions extends object = object, TModelInstanceExtensions extends object = object> = <TData extends DataDescription>(existingDelete: DeleteMethod<TModelExtensions, TModelInstanceExtensions>, instance: ModelInstance<TData, TModelExtensions, TModelInstanceExtensions>) => Promise<void>;
46
+ export type DeleteOverride<TModelExtensions extends object = object, TModelInstanceExtensions extends object = object> = <TData extends DataDescription>(existingDelete: DeleteMethod<TModelExtensions, TModelInstanceExtensions>, instance: ModelInstance<TData, TModelExtensions, TModelInstanceExtensions>) => Promise<void>;
47
47
  /**
48
48
  * A result of an ORM search.
49
49
  * @interface
50
50
  */
51
- type OrmSearchResult<TData extends DataDescription, TModelExtensions extends object = object, TModelInstanceExtensions extends object = object> = Readonly<{
51
+ export type OrmSearchResult<TData extends DataDescription, TModelExtensions extends object = object, TModelInstanceExtensions extends object = object> = Readonly<{
52
52
  /**
53
53
  * A list of instances
54
54
  */
@@ -62,7 +62,7 @@ type OrmSearchResult<TData extends DataDescription, TModelExtensions extends obj
62
62
  * ORM based ModelFactory extensions.
63
63
  * @interface
64
64
  */
65
- type OrmModelFactoryOptionsExtensions<TModelExtensions extends object = object, TModelInstanceExtensions extends object = object> = Readonly<{
65
+ export type OrmModelFactoryOptionsExtensions<TModelExtensions extends object = object, TModelInstanceExtensions extends object = object> = Readonly<{
66
66
  /**
67
67
  * Optional: The save function to override.
68
68
  */
@@ -76,7 +76,7 @@ type OrmModelFactoryOptionsExtensions<TModelExtensions extends object = object,
76
76
  * Extensions to the Model type
77
77
  * @interface
78
78
  */
79
- type OrmModelExtensions<TModelExtensions extends object = object, TModelInstanceExtensions extends object = object> = Readonly<{
79
+ export type OrmModelExtensions<TModelExtensions extends object = object, TModelInstanceExtensions extends object = object> = Readonly<{
80
80
  /**
81
81
  * Save the model
82
82
  * @param instance - The instance to save.
@@ -126,7 +126,7 @@ type OrmModelExtensions<TModelExtensions extends object = object, TModelInstance
126
126
  * Instance overrides that give it ORM functions.
127
127
  * @interface
128
128
  */
129
- type OrmModelInstanceExtensions<TModelExtensions extends object = object, TModelInstanceExtensions extends object = object> = Readonly<{
129
+ export type OrmModelInstanceExtensions<TModelExtensions extends object = object, TModelInstanceExtensions extends object = object> = Readonly<{
130
130
  /**
131
131
  * Save this model.
132
132
  */
@@ -153,12 +153,12 @@ type OrmModelConfigurations = Readonly<{
153
153
  * A minimum orm model definition
154
154
  * @interface
155
155
  */
156
- type MinimumOrmModelDefinition<TData extends DataDescription> = MinimalModelDefinition<TData> & OrmModelConfigurations;
156
+ export type MinimumOrmModelDefinition<TData extends DataDescription> = MinimalModelDefinition<TData> & OrmModelConfigurations;
157
157
  /**
158
158
  * A model factory that produces ORM based models.
159
159
  *
160
160
  */
161
- type OrmModelFactory<TModelExtensions extends object = object, TModelInstanceExtensions extends object = object, TModelOptionsExtensions extends object = object> = <TData extends DataDescription>(
161
+ export type OrmModelFactory<TModelExtensions extends object = object, TModelInstanceExtensions extends object = object, TModelOptionsExtensions extends object = object> = <TData extends DataDescription>(
162
162
  /**
163
163
  * The model definition for the model
164
164
  */
@@ -171,7 +171,7 @@ options?: ModelFactoryOptions<TData, OrmModelFactoryOptionsExtensions<TModelExte
171
171
  * A search result from a datastore
172
172
  * @interface
173
173
  */
174
- type DatastoreSearchResult<T extends DataDescription> = Readonly<{
174
+ export type DatastoreSearchResult<T extends DataDescription> = Readonly<{
175
175
  /**
176
176
  * An array of objects that represent the data from the datastore.
177
177
  */
@@ -185,17 +185,17 @@ type DatastoreSearchResult<T extends DataDescription> = Readonly<{
185
185
  * A model that has ORM functions attached.
186
186
  * @interface
187
187
  */
188
- type OrmModel<TData extends DataDescription, TModelExtensions extends object = object, TModelInstanceExtensions extends object = object> = ModelType<TData, OrmModelExtensions<TModelExtensions, TModelInstanceExtensions>, OrmModelInstanceExtensions<TModelExtensions, TModelInstanceExtensions>>;
188
+ export type OrmModel<TData extends DataDescription, TModelExtensions extends object = object, TModelInstanceExtensions extends object = object> = ModelType<TData, OrmModelExtensions<TModelExtensions, TModelInstanceExtensions>, OrmModelInstanceExtensions<TModelExtensions, TModelInstanceExtensions>>;
189
189
  /**
190
190
  * A Model Instance with ORM functions attached.
191
191
  * @interface
192
192
  */
193
- type OrmModelInstance<TData extends DataDescription, TModelExtensions extends object = object, TModelInstanceExtensions extends object = object> = ModelInstance<TData, OrmModelExtensions<TModelExtensions, TModelInstanceExtensions>, OrmModelInstanceExtensions<TModelExtensions, TModelInstanceExtensions>>;
193
+ export type OrmModelInstance<TData extends DataDescription, TModelExtensions extends object = object, TModelInstanceExtensions extends object = object> = ModelInstance<TData, OrmModelExtensions<TModelExtensions, TModelInstanceExtensions>, OrmModelInstanceExtensions<TModelExtensions, TModelInstanceExtensions>>;
194
194
  /**
195
195
  * An interface that describes a datastore. By implementing this interface, databases can be swapped.
196
196
  * @interface
197
197
  */
198
- type DatastoreAdapter = Readonly<{
198
+ export type DatastoreAdapter = Readonly<{
199
199
  /**
200
200
  * Saving a model.
201
201
  * @param instance
@@ -246,7 +246,7 @@ type DatastoreAdapter = Readonly<{
246
246
  * A search that describes a property and its value.
247
247
  * @interface
248
248
  */
249
- type PropertyQuery = Readonly<{
249
+ export type PropertyQuery = Readonly<{
250
250
  /**
251
251
  * Distinguishes this as a property query.
252
252
  */
@@ -275,7 +275,7 @@ type PropertyQuery = Readonly<{
275
275
  /**
276
276
  * A property search for a string value.
277
277
  */
278
- type StringPropertyQuery = PropertyQuery & {
278
+ export type StringPropertyQuery = PropertyQuery & {
279
279
  valueType: DatastoreValueType.string;
280
280
  equalitySymbol: EqualitySymbol.eq | EqualitySymbol.ne;
281
281
  options: PropertyOptions;
@@ -284,7 +284,7 @@ type StringPropertyQuery = PropertyQuery & {
284
284
  * A search that looks at dated objects after the given date.
285
285
  * @interface
286
286
  */
287
- type DatesAfterQuery = Readonly<{
287
+ export type DatesAfterQuery = Readonly<{
288
288
  /**
289
289
  * Distinguishes this query
290
290
  */
@@ -315,7 +315,7 @@ type DatesAfterQuery = Readonly<{
315
315
  * A search query that looks at dates before the given date.
316
316
  * @interface
317
317
  */
318
- type DatesBeforeQuery = Readonly<{
318
+ export type DatesBeforeQuery = Readonly<{
319
319
  /**
320
320
  * Distinguishes this query
321
321
  */
@@ -346,7 +346,7 @@ type DatesBeforeQuery = Readonly<{
346
346
  * Additional configurations for ORM based properties.
347
347
  * @interface
348
348
  */
349
- type OrmPropertyConfig<T extends Arrayable<DataValue>> = PropertyConfig<T> & Readonly<{
349
+ export type OrmPropertyConfig<T extends Arrayable<DataValue>> = PropertyConfig<T> & Readonly<{
350
350
  /**
351
351
  * Validator: Checks to make sure that there is only one instance in a datastore that has this property's value.
352
352
  * NOTE: The value is a property KEY. Not true or false.
@@ -357,7 +357,7 @@ type OrmPropertyConfig<T extends Arrayable<DataValue>> = PropertyConfig<T> & Rea
357
357
  * Additional context that is provided for ORM based instance.
358
358
  * @interface
359
359
  */
360
- type OrmValidatorContext = Readonly<{
360
+ export type OrmValidatorContext = Readonly<{
361
361
  /**
362
362
  * IMPORTANT: Sometimes you do not want to do any ORM based validation because of speed.
363
363
  * This disables any orm based validation, and only runs non-orm validation.
@@ -367,7 +367,7 @@ type OrmValidatorContext = Readonly<{
367
367
  /**
368
368
  * Options for a property query.
369
369
  */
370
- type PropertyOptions = {
370
+ export type PropertyOptions = {
371
371
  /**
372
372
  * Is this a case sensitive search?
373
373
  */
@@ -398,7 +398,7 @@ type PropertyOptions = {
398
398
  * that can retrieve referenced models as needed. See {@see "functional-models.ModelReference"}
399
399
  * @interface
400
400
  */
401
- type Orm = {
401
+ export type Orm = {
402
402
  /**
403
403
  * A model factory that can produce {@link OrmModel}
404
404
  */
@@ -411,19 +411,19 @@ type Orm = {
411
411
  /**
412
412
  * The sort order.
413
413
  */
414
- declare enum SortOrder {
414
+ export declare enum SortOrder {
415
415
  asc = "asc",
416
416
  dsc = "dsc"
417
417
  }
418
418
  /**
419
419
  * The number of instances to receive back from a query.
420
420
  */
421
- type MaxMatchStatement = number;
421
+ export type MaxMatchStatement = number;
422
422
  /**
423
423
  * Defines how a sort should happen. Which column and what order.
424
424
  * @interface
425
425
  */
426
- type SortStatement = {
426
+ export type SortStatement = {
427
427
  /**
428
428
  * The property's key/name. Also could be a "column"
429
429
  */
@@ -436,12 +436,12 @@ type SortStatement = {
436
436
  /**
437
437
  * Pagination can be anything.
438
438
  */
439
- type PaginationQuery = any;
439
+ export type PaginationQuery = any;
440
440
  /**
441
441
  * A query to a search function.
442
442
  * @interface
443
443
  */
444
- type OrmSearch = {
444
+ export type OrmSearch = {
445
445
  /**
446
446
  * Optional: A number of max records to return.
447
447
  */
@@ -462,15 +462,15 @@ type OrmSearch = {
462
462
  /**
463
463
  * Statements that make up the meat of QueryTokens
464
464
  */
465
- type Query = PropertyQuery | DatesAfterQuery | DatesBeforeQuery | StringPropertyQuery;
465
+ export type Query = PropertyQuery | DatesAfterQuery | DatesBeforeQuery | StringPropertyQuery;
466
466
  /**
467
467
  * A token type that links two queries together.
468
468
  */
469
- type BooleanQuery = 'AND' | 'OR';
469
+ export type BooleanQuery = 'AND' | 'OR';
470
470
  /**
471
471
  * A generic structure of querys.
472
472
  */
473
- type QueryTokens = readonly QueryTokens[][] | readonly QueryTokens[] | BooleanQuery | Query;
473
+ export type QueryTokens = readonly QueryTokens[][] | readonly QueryTokens[] | BooleanQuery | Query;
474
474
  /**
475
475
  * Builder functions that are not property related.
476
476
  * @interface
@@ -501,7 +501,7 @@ type NonQueryBuilder = Readonly<{
501
501
  * An in between or ending type to a builder creating a SearchQuery
502
502
  * @interface
503
503
  */
504
- type BuilderV2Link = NonQueryBuilder & Readonly<{
504
+ export type BuilderV2Link = NonQueryBuilder & Readonly<{
505
505
  /**
506
506
  * Links together two or more {@link Query} or complex queries.
507
507
  */
@@ -515,17 +515,17 @@ type BuilderV2Link = NonQueryBuilder & Readonly<{
515
515
  * A function that can either take a builder or raw QueryTokens[] and create a sub-query.
516
516
  * @param builder - Can be either a BuilderV2 or a hand written Query
517
517
  **/
518
- type SubBuilderFunction = (builder: QueryBuilder) => Omit<OrmSearch, 'take' | 'sort' | 'page'> | (QueryBuilder | BuilderV2Link);
518
+ export type SubBuilderFunction = (builder: QueryBuilder) => Omit<OrmSearch, 'take' | 'sort' | 'page'> | (QueryBuilder | BuilderV2Link);
519
519
  /**
520
520
  * A search builder is a structured way to create a complex query.
521
521
  * @interface
522
522
  */
523
- type QueryBuilder = InnerBuilderV2 & NonQueryBuilder;
523
+ export type QueryBuilder = InnerBuilderV2 & NonQueryBuilder;
524
524
  /**
525
525
  * A builder for version 3.0 search queries.
526
526
  * @interface
527
527
  */
528
- type InnerBuilderV2 = {
528
+ export type InnerBuilderV2 = {
529
529
  /**
530
530
  * Creates a query that has nested property queries.
531
531
  * @param subBuilderFunc - A function that can return a Builder
@@ -561,4 +561,36 @@ type InnerBuilderV2 = {
561
561
  */
562
562
  property: (key: string, value: any, options?: Partial<PropertyOptions>) => BuilderV2Link;
563
563
  };
564
- export { PropertyQuery, SortStatement, DatesAfterQuery, DatesBeforeQuery, PaginationQuery, MaxMatchStatement, OrmModel, OrmModelInstance, DatastoreAdapter, OrmModelFactory, SaveOverride, DeleteOverride, OrmPropertyConfig, DatastoreSearchResult, OrmValidatorContext, OrmSearchResult, EqualitySymbol, DatastoreValueType, AllowableEqualitySymbols, PropertyOptions, Orm, OrmModelExtensions, OrmModelInstanceExtensions, OrmModelFactoryOptionsExtensions, MinimumOrmModelDefinition, QueryBuilder, BuilderV2Link, SubBuilderFunction, OrmSearch, Query, BooleanQuery, QueryTokens, InnerBuilderV2, SortOrder, StringPropertyQuery, };
564
+ /**
565
+ * The types of primary key properties.
566
+ */
567
+ export type PrimaryKeyPropertyType = PropertyType.UniqueId | PropertyType.Text | PropertyType.Integer;
568
+ /**
569
+ * A function that can generate a primary key for a model.
570
+ * @param model - The model to generate a primary key for.
571
+ * @returns A promise that resolves to the primary key.
572
+ */
573
+ export type PrimaryKeyGenerator = <TValue extends string | number, TData extends DataDescription>(value: TValue, modelData: CreateParams<TData>, instance: ModelInstance<TData>) => Promise<PrimaryKeyType>;
574
+ /**
575
+ * A property that represents a key in a database.
576
+ * By default it is a "uuid" type, but if you want to use an arbitrary string, or an integer type you can set the `dataType` property.
577
+ * @interface
578
+ */
579
+ export type DatabaseKeyPropertyConfig<TValue extends string | number> = PropertyConfig<TValue> & Readonly<{
580
+ /**
581
+ * Sets the type of the key.
582
+ * @default PrimaryKeyDataType.Uuid
583
+ */
584
+ dataType?: PrimaryKeyPropertyType;
585
+ /**
586
+ * If true, the key will be automatically generated if not provided. Only applies to uuids and integers
587
+ * @default true
588
+ */
589
+ auto?: boolean;
590
+ /**
591
+ * Optional: A custom primary key generator function to use for models. If the property type is UniqueId (default) then this will produce random UUID. If the property type is a number, a random number will be generated.
592
+ * If using a SQL-like database that uses numbers, its HIGHLY recommended to get a number from the database itself.
593
+ */
594
+ primaryKeyGenerator?: PrimaryKeyGenerator;
595
+ }>;
596
+ export {};
package/orm/types.js CHANGED
@@ -33,8 +33,7 @@ var DatastoreValueType;
33
33
  /**
34
34
  * A list of allowable equality symbols.
35
35
  */
36
- const AllowableEqualitySymbols = Object.values(EqualitySymbol);
37
- exports.AllowableEqualitySymbols = AllowableEqualitySymbols;
36
+ exports.AllowableEqualitySymbols = Object.values(EqualitySymbol);
38
37
  /**
39
38
  * The sort order.
40
39
  */
package/orm/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/orm/types.ts"],"names":[],"mappings":";;;AAgBA;;GAEG;AACH,IAAK,cAaJ;AAbD,WAAK,cAAc;IACjB,SAAS;IACT,0BAAQ,CAAA;IACR,YAAY;IACZ,0BAAQ,CAAA;IACR,wBAAwB;IACxB,4BAAU,CAAA;IACV,eAAe;IACf,0BAAQ,CAAA;IACR,2BAA2B;IAC3B,4BAAU,CAAA;IACV,eAAe;IACf,2BAAS,CAAA;AACX,CAAC,EAbI,cAAc,8BAAd,cAAc,QAalB;AAED;;GAEG;AACH,IAAK,kBAMJ;AAND,WAAK,kBAAkB;IACrB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,mCAAa,CAAA;IACb,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;AACrB,CAAC,EANI,kBAAkB,kCAAlB,kBAAkB,QAMtB;AAED;;GAEG;AACH,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;AAixB5D,4DAAwB;AA1M1B;;GAEG;AACH,IAAK,SAGJ;AAHD,WAAK,SAAS;IACZ,wBAAW,CAAA;IACX,wBAAW,CAAA;AACb,CAAC,EAHI,SAAS,yBAAT,SAAS,QAGb"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/orm/types.ts"],"names":[],"mappings":";;;AAkBA;;GAEG;AACH,IAAY,cAaX;AAbD,WAAY,cAAc;IACxB,SAAS;IACT,0BAAQ,CAAA;IACR,YAAY;IACZ,0BAAQ,CAAA;IACR,wBAAwB;IACxB,4BAAU,CAAA;IACV,eAAe;IACf,0BAAQ,CAAA;IACR,2BAA2B;IAC3B,4BAAU,CAAA;IACV,eAAe;IACf,2BAAS,CAAA;AACX,CAAC,EAbW,cAAc,8BAAd,cAAc,QAazB;AAED;;GAEG;AACH,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,mCAAa,CAAA;IACb,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;AACrB,CAAC,EANW,kBAAkB,kCAAlB,kBAAkB,QAM7B;AAED;;GAEG;AACU,QAAA,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;AAwkBrE;;GAEG;AACH,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,wBAAW,CAAA;AACb,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "functional-models",
3
- "version": "3.7.0",
3
+ "version": "3.8.1",
4
4
  "description": "Functional models is ooey gooey framework for building and using awesome models EVERYWHERE.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -86,9 +86,10 @@
86
86
  "dependencies": {
87
87
  "async-lock": "^1.3.0",
88
88
  "get-random-values": "^1.2.2",
89
- "lodash": "^4.17.21",
89
+ "lodash": "^4.17.23",
90
90
  "modern-async": "^2.0.4",
91
91
  "openapi-types": "^12.1.3",
92
+ "uuid": "^13.0.0",
92
93
  "zod": "^4.1.11"
93
94
  }
94
95
  }
package/properties.d.ts CHANGED
@@ -10,7 +10,7 @@ import { ModelReferenceType, ModelInstance, ModelType, PropertyInstance, DataVal
10
10
  * @typeParam TModelExtensions - Any additional model extensions
11
11
  * @typeParam TModelInstanceExtensions - Any additional model instance extensions
12
12
  */
13
- declare const Property: <TValue extends Arrayable<DataValue>, TData extends DataDescription = Readonly<{
13
+ export declare const Property: <TValue extends Arrayable<DataValue>, TData extends DataDescription = Readonly<{
14
14
  [s: string]: any;
15
15
  }>, TModelExtensions extends object = object, TModelInstanceExtensions extends object = object>(propertyType: PropertyType | string, config?: PropertyConfig<TValue>, additionalMetadata?: {}) => PropertyInstance<TValue, TData, TModelExtensions, TModelInstanceExtensions>;
16
16
  /**
@@ -36,7 +36,7 @@ type DatePropertyConfig<T extends Arrayable<DataValue>> = {
36
36
  * @param config - A configuration that enables overriding of date formatting
37
37
  * @param additionalMetadata
38
38
  */
39
- declare const DateProperty: (config?: DatePropertyConfig<DateValueType>, additionalMetadata?: {}) => Readonly<{
39
+ export declare const DateProperty: (config?: DatePropertyConfig<DateValueType>, additionalMetadata?: {}) => Readonly<{
40
40
  getConfig: () => object;
41
41
  getChoices: () => readonly import("./types").ChoiceTypes[];
42
42
  getDefaultValue: () => DateValueType | undefined;
@@ -61,7 +61,7 @@ declare const DateProperty: (config?: DatePropertyConfig<DateValueType>, additio
61
61
  * @param config - A configuration that enables overriding of date and time formatting
62
62
  * @param additionalMetadata
63
63
  */
64
- declare const DatetimeProperty: (config?: DatePropertyConfig<DateValueType>, additionalMetadata?: {}) => Readonly<{
64
+ export declare const DatetimeProperty: (config?: DatePropertyConfig<DateValueType>, additionalMetadata?: {}) => Readonly<{
65
65
  getConfig: () => object;
66
66
  getChoices: () => readonly import("./types").ChoiceTypes[];
67
67
  getDefaultValue: () => DateValueType | undefined;
@@ -86,7 +86,7 @@ declare const DatetimeProperty: (config?: DatePropertyConfig<DateValueType>, add
86
86
  * @param config
87
87
  * @param additionalMetadata
88
88
  */
89
- declare const ArrayProperty: <T extends DataValue>(config?: {}, additionalMetadata?: {}) => Readonly<{
89
+ export declare const ArrayProperty: <T extends DataValue>(config?: {}, additionalMetadata?: {}) => Readonly<{
90
90
  getConfig: () => object;
91
91
  getChoices: () => readonly import("./types").ChoiceTypes[];
92
92
  getDefaultValue: () => readonly T[] | undefined;
@@ -112,7 +112,7 @@ declare const ArrayProperty: <T extends DataValue>(config?: {}, additionalMetada
112
112
  * @param config
113
113
  * @param additionalMetadata
114
114
  */
115
- declare const SingleTypeArrayProperty: <TValue extends Omit<PrimitiveValueType, "object">>(valueType: TValue, config?: {}, additionalMetadata?: {}) => Readonly<{
115
+ export declare const SingleTypeArrayProperty: <TValue extends Omit<PrimitiveValueType, "object">>(valueType: TValue, config?: {}, additionalMetadata?: {}) => Readonly<{
116
116
  getConfig: () => object;
117
117
  getChoices: () => readonly import("./types").ChoiceTypes[];
118
118
  getDefaultValue: () => readonly TValue[] | undefined;
@@ -137,7 +137,7 @@ declare const SingleTypeArrayProperty: <TValue extends Omit<PrimitiveValueType,
137
137
  * @param config
138
138
  * @param additionalMetadata
139
139
  */
140
- declare const ObjectProperty: <TObject extends Readonly<Record<string, JsonAble>>>(config?: {}, additionalMetadata?: {}) => Readonly<{
140
+ export declare const ObjectProperty: <TObject extends Readonly<Record<string, JsonAble>>>(config?: {}, additionalMetadata?: {}) => Readonly<{
141
141
  getConfig: () => object;
142
142
  getChoices: () => readonly import("./types").ChoiceTypes[];
143
143
  getDefaultValue: () => TObject | undefined;
@@ -162,7 +162,7 @@ declare const ObjectProperty: <TObject extends Readonly<Record<string, JsonAble>
162
162
  * @param config - Additional Configurations
163
163
  * @param additionalMetadata - Additional Metadata
164
164
  */
165
- declare const TextProperty: (config?: PropertyConfig<string>, additionalMetadata?: {}) => Readonly<{
165
+ export declare const TextProperty: (config?: PropertyConfig<string>, additionalMetadata?: {}) => Readonly<{
166
166
  getConfig: () => object;
167
167
  getChoices: () => readonly import("./types").ChoiceTypes[];
168
168
  getDefaultValue: () => string | undefined;
@@ -187,7 +187,7 @@ declare const TextProperty: (config?: PropertyConfig<string>, additionalMetadata
187
187
  * @param config - Additional configurations
188
188
  * @param additionalMetadata - Additional metadata
189
189
  */
190
- declare const BigTextProperty: (config?: PropertyConfig<string>, additionalMetadata?: {}) => Readonly<{
190
+ export declare const BigTextProperty: (config?: PropertyConfig<string>, additionalMetadata?: {}) => Readonly<{
191
191
  getConfig: () => object;
192
192
  getChoices: () => readonly import("./types").ChoiceTypes[];
193
193
  getDefaultValue: () => string | undefined;
@@ -212,7 +212,7 @@ declare const BigTextProperty: (config?: PropertyConfig<string>, additionalMetad
212
212
  * @param config
213
213
  * @param additionalMetadata
214
214
  */
215
- declare const IntegerProperty: (config?: PropertyConfig<number>, additionalMetadata?: {}) => Readonly<{
215
+ export declare const IntegerProperty: (config?: PropertyConfig<number>, additionalMetadata?: {}) => Readonly<{
216
216
  getConfig: () => object;
217
217
  getChoices: () => readonly import("./types").ChoiceTypes[];
218
218
  getDefaultValue: () => number | undefined;
@@ -238,7 +238,7 @@ declare const IntegerProperty: (config?: PropertyConfig<number>, additionalMetad
238
238
  * @param config
239
239
  * @param additionalMetadata
240
240
  */
241
- declare const YearProperty: (config?: PropertyConfig<number>, additionalMetadata?: {}) => Readonly<{
241
+ export declare const YearProperty: (config?: PropertyConfig<number>, additionalMetadata?: {}) => Readonly<{
242
242
  getConfig: () => object;
243
243
  getChoices: () => readonly import("./types").ChoiceTypes[];
244
244
  getDefaultValue: () => number | undefined;
@@ -263,7 +263,7 @@ declare const YearProperty: (config?: PropertyConfig<number>, additionalMetadata
263
263
  * @param config
264
264
  * @param additionalMetadata
265
265
  */
266
- declare const NumberProperty: (config?: PropertyConfig<number>, additionalMetadata?: {}) => Readonly<{
266
+ export declare const NumberProperty: (config?: PropertyConfig<number>, additionalMetadata?: {}) => Readonly<{
267
267
  getConfig: () => object;
268
268
  getChoices: () => readonly import("./types").ChoiceTypes[];
269
269
  getDefaultValue: () => number | undefined;
@@ -290,7 +290,7 @@ declare const NumberProperty: (config?: PropertyConfig<number>, additionalMetada
290
290
  * @param config
291
291
  * @param additionalMetadata
292
292
  */
293
- declare const ConstantValueProperty: <TDataValue extends Arrayable<DataValue>>(valueType: PropertyType | string, value: TDataValue, config?: PropertyConfig<TDataValue>, additionalMetadata?: {}) => Readonly<{
293
+ export declare const ConstantValueProperty: <TDataValue extends Arrayable<DataValue>>(valueType: PropertyType | string, value: TDataValue, config?: PropertyConfig<TDataValue>, additionalMetadata?: {}) => Readonly<{
294
294
  getConfig: () => object;
295
295
  getChoices: () => readonly import("./types").ChoiceTypes[];
296
296
  getDefaultValue: () => TDataValue | undefined;
@@ -315,7 +315,7 @@ declare const ConstantValueProperty: <TDataValue extends Arrayable<DataValue>>(v
315
315
  * @param config
316
316
  * @param additionalMetadata
317
317
  */
318
- declare const EmailProperty: (config?: PropertyConfig<string>, additionalMetadata?: {}) => Readonly<{
318
+ export declare const EmailProperty: (config?: PropertyConfig<string>, additionalMetadata?: {}) => Readonly<{
319
319
  getConfig: () => object;
320
320
  getChoices: () => readonly import("./types").ChoiceTypes[];
321
321
  getDefaultValue: () => string | undefined;
@@ -340,7 +340,7 @@ declare const EmailProperty: (config?: PropertyConfig<string>, additionalMetadat
340
340
  * @param config
341
341
  * @param additionalMetadata
342
342
  */
343
- declare const BooleanProperty: (config?: PropertyConfig<boolean>, additionalMetadata?: {}) => Readonly<{
343
+ export declare const BooleanProperty: (config?: PropertyConfig<boolean>, additionalMetadata?: {}) => Readonly<{
344
344
  getConfig: () => object;
345
345
  getChoices: () => readonly import("./types").ChoiceTypes[];
346
346
  getDefaultValue: () => boolean | undefined;
@@ -366,7 +366,7 @@ declare const BooleanProperty: (config?: PropertyConfig<boolean>, additionalMeta
366
366
  * @param config - Additional configurations. NOTE: required is ALWAYS true.
367
367
  * @param additionalMetadata - Any additional metadata.
368
368
  */
369
- declare const PrimaryKeyUuidProperty: (config?: PropertyConfig<string>, additionalMetadata?: {}) => Readonly<{
369
+ export declare const PrimaryKeyUuidProperty: (config?: PropertyConfig<string>, additionalMetadata?: {}) => Readonly<{
370
370
  getConfig: () => object;
371
371
  getChoices: () => readonly import("./types").ChoiceTypes[];
372
372
  getDefaultValue: () => string | undefined;
@@ -393,7 +393,7 @@ declare const PrimaryKeyUuidProperty: (config?: PropertyConfig<string>, addition
393
393
  * @param config - Additional configurations.
394
394
  * @param additionalMetadata - Any additional metadata.
395
395
  */
396
- declare const UuidProperty: (config?: PropertyConfig<string>, additionalMetadata?: {}) => Readonly<{
396
+ export declare const UuidProperty: (config?: PropertyConfig<string>, additionalMetadata?: {}) => Readonly<{
397
397
  getConfig: () => object;
398
398
  getChoices: () => readonly import("./types").ChoiceTypes[];
399
399
  getDefaultValue: () => string | undefined;
@@ -430,7 +430,7 @@ declare const UuidProperty: (config?: PropertyConfig<string>, additionalMetadata
430
430
  * @param config
431
431
  * @param additionalMetadata
432
432
  */
433
- declare const ModelReferenceProperty: <T extends DataDescription>(model: MaybeFunction<ModelType<T>>, config?: PropertyConfig<ModelReferenceType<T>>, additionalMetadata?: {}) => ModelReferencePropertyInstance<T, ModelReferenceType<T, object, object>, object, object>;
433
+ export declare const ModelReferenceProperty: <T extends DataDescription>(model: MaybeFunction<ModelType<T>>, config?: PropertyConfig<ModelReferenceType<T>>, additionalMetadata?: {}) => ModelReferencePropertyInstance<T, ModelReferenceType<T, object, object>, object, object>;
434
434
  /**
435
435
  * The full implementation of a ModelReference, useful for typing certain extended functionalities.
436
436
  * For a full description see {@link ModelReferenceProperty}
@@ -438,7 +438,7 @@ declare const ModelReferenceProperty: <T extends DataDescription>(model: MaybeFu
438
438
  * @param config
439
439
  * @param additionalMetadata
440
440
  */
441
- declare const AdvancedModelReferenceProperty: <T extends DataDescription, TModelExtensions extends object = object, TModelInstanceExtensions extends object = object>(model: MaybeFunction<ModelType<T, TModelExtensions, TModelInstanceExtensions>>, config?: PropertyConfig<ModelReferenceType<T, TModelExtensions, TModelInstanceExtensions>>, additionalMetadata?: {}) => ModelReferencePropertyInstance<T, ModelReferenceType<T, TModelExtensions, TModelInstanceExtensions>, TModelExtensions, TModelInstanceExtensions>;
441
+ export declare const AdvancedModelReferenceProperty: <T extends DataDescription, TModelExtensions extends object = object, TModelInstanceExtensions extends object = object>(model: MaybeFunction<ModelType<T, TModelExtensions, TModelInstanceExtensions>>, config?: PropertyConfig<ModelReferenceType<T, TModelExtensions, TModelInstanceExtensions>>, additionalMetadata?: {}) => ModelReferencePropertyInstance<T, ModelReferenceType<T, TModelExtensions, TModelInstanceExtensions>, TModelExtensions, TModelInstanceExtensions>;
442
442
  /**
443
443
  * A property for Denormalizing. This represents a complex value that has been simplified for ease of use.
444
444
  * One common use is for creating "Display Values" in a GUI. This process can be extremely expensive, such as having to
@@ -452,7 +452,7 @@ declare const AdvancedModelReferenceProperty: <T extends DataDescription, TModel
452
452
  * @param config - A Config
453
453
  * @param additionalMetadata _ Any additional metadata.
454
454
  */
455
- declare const DenormalizedProperty: <TValue extends DataValue, T extends DataDescription>(propertyType: string, calculate: CalculateDenormalization<TValue, T>, config?: PropertyConfig<TValue>, additionalMetadata?: {}) => Readonly<{
455
+ export declare const DenormalizedProperty: <TValue extends DataValue, T extends DataDescription>(propertyType: string, calculate: CalculateDenormalization<TValue, T>, config?: PropertyConfig<TValue>, additionalMetadata?: {}) => Readonly<{
456
456
  getConfig: () => object;
457
457
  getChoices: () => readonly import("./types").ChoiceTypes[];
458
458
  getDefaultValue: () => TValue | undefined;
@@ -480,7 +480,7 @@ declare const DenormalizedProperty: <TValue extends DataValue, T extends DataDes
480
480
  * @param config - Any configs
481
481
  * @param additionalMetadata - Optional Metadata
482
482
  */
483
- declare const DenormalizedTextProperty: <T extends DataDescription>(calculate: CalculateDenormalization<string, T>, config?: PropertyConfig<string>, additionalMetadata?: {}) => Readonly<{
483
+ export declare const DenormalizedTextProperty: <T extends DataDescription>(calculate: CalculateDenormalization<string, T>, config?: PropertyConfig<string>, additionalMetadata?: {}) => Readonly<{
484
484
  getConfig: () => object;
485
485
  getChoices: () => readonly import("./types").ChoiceTypes[];
486
486
  getDefaultValue: () => string | undefined;
@@ -508,7 +508,7 @@ declare const DenormalizedTextProperty: <T extends DataDescription>(calculate: C
508
508
  * @param config - Any configs
509
509
  * @param additionalMetadata - Optional Metadata
510
510
  */
511
- declare const DenormalizedNumberProperty: <T extends DataDescription>(calculate: CalculateDenormalization<number, T>, config?: PropertyConfig<number>, additionalMetadata?: {}) => Readonly<{
511
+ export declare const DenormalizedNumberProperty: <T extends DataDescription>(calculate: CalculateDenormalization<number, T>, config?: PropertyConfig<number>, additionalMetadata?: {}) => Readonly<{
512
512
  getConfig: () => object;
513
513
  getChoices: () => readonly import("./types").ChoiceTypes[];
514
514
  getDefaultValue: () => number | undefined;
@@ -536,7 +536,7 @@ declare const DenormalizedNumberProperty: <T extends DataDescription>(calculate:
536
536
  * @param config - Any configs
537
537
  * @param additionalMetadata - Optional Metadata
538
538
  */
539
- declare const DenormalizedIntegerProperty: <T extends DataDescription>(calculate: CalculateDenormalization<number, T>, config?: PropertyConfig<number>, additionalMetadata?: {}) => Readonly<{
539
+ export declare const DenormalizedIntegerProperty: <T extends DataDescription>(calculate: CalculateDenormalization<number, T>, config?: PropertyConfig<number>, additionalMetadata?: {}) => Readonly<{
540
540
  getConfig: () => object;
541
541
  getChoices: () => readonly import("./types").ChoiceTypes[];
542
542
  getDefaultValue: () => number | undefined;
@@ -572,7 +572,7 @@ declare const DenormalizedIntegerProperty: <T extends DataDescription>(calculate
572
572
  * @param config
573
573
  * @param additionalMetadata
574
574
  */
575
- declare const NaturalIdProperty: (propertyKeys: readonly string[], joiner: string, config?: PropertyConfig<string>, additionalMetadata?: {}) => Readonly<{
575
+ export declare const NaturalIdProperty: (propertyKeys: readonly string[], joiner: string, config?: PropertyConfig<string>, additionalMetadata?: {}) => Readonly<{
576
576
  getConfig: () => object;
577
577
  getChoices: () => readonly import("./types").ChoiceTypes[];
578
578
  getDefaultValue: () => string | undefined;
@@ -592,4 +592,4 @@ declare const NaturalIdProperty: (propertyKeys: readonly string[], joiner: strin
592
592
  [s: string]: any;
593
593
  }>>;
594
594
  }>;
595
- export { Property, NaturalIdProperty, DateProperty, DatetimeProperty, ArrayProperty, ModelReferenceProperty, AdvancedModelReferenceProperty, IntegerProperty, TextProperty, ConstantValueProperty, NumberProperty, ObjectProperty, EmailProperty, BooleanProperty, DenormalizedProperty, DenormalizedIntegerProperty, DenormalizedNumberProperty, DenormalizedTextProperty, BigTextProperty, YearProperty, PrimaryKeyUuidProperty, SingleTypeArrayProperty, UuidProperty, };
595
+ export {};
package/properties.js CHANGED
@@ -12,7 +12,7 @@ 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.UuidProperty = exports.SingleTypeArrayProperty = exports.PrimaryKeyUuidProperty = exports.YearProperty = exports.BigTextProperty = exports.DenormalizedTextProperty = exports.DenormalizedNumberProperty = exports.DenormalizedIntegerProperty = exports.DenormalizedProperty = exports.BooleanProperty = exports.EmailProperty = exports.ObjectProperty = exports.NumberProperty = exports.ConstantValueProperty = exports.TextProperty = exports.IntegerProperty = exports.AdvancedModelReferenceProperty = exports.ModelReferenceProperty = exports.ArrayProperty = exports.DatetimeProperty = exports.DateProperty = exports.NaturalIdProperty = exports.Property = void 0;
15
+ exports.NaturalIdProperty = exports.DenormalizedIntegerProperty = exports.DenormalizedNumberProperty = exports.DenormalizedTextProperty = exports.DenormalizedProperty = exports.AdvancedModelReferenceProperty = exports.ModelReferenceProperty = exports.UuidProperty = exports.PrimaryKeyUuidProperty = exports.BooleanProperty = exports.EmailProperty = exports.ConstantValueProperty = exports.NumberProperty = exports.YearProperty = exports.IntegerProperty = exports.BigTextProperty = exports.TextProperty = exports.ObjectProperty = exports.SingleTypeArrayProperty = exports.ArrayProperty = exports.DatetimeProperty = exports.DateProperty = exports.Property = void 0;
16
16
  const merge_1 = __importDefault(require("lodash/merge"));
17
17
  const get_1 = __importDefault(require("lodash/get"));
18
18
  const validation_1 = require("./validation");
@@ -114,7 +114,7 @@ const isDate = (value) => {
114
114
  * @param config - A configuration that enables overriding of date formatting
115
115
  * @param additionalMetadata
116
116
  */
117
- const DateProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Date, (0, merge_1.default)({
117
+ const DateProperty = (config = {}, additionalMetadata = {}) => (0, exports.Property)(types_1.PropertyType.Date, (0, merge_1.default)({
118
118
  lazyLoadMethod: (value) => {
119
119
  if (isDate(value)) {
120
120
  if (config.formatFunction) {
@@ -138,7 +138,7 @@ exports.DateProperty = DateProperty;
138
138
  * @param config - A configuration that enables overriding of date and time formatting
139
139
  * @param additionalMetadata
140
140
  */
141
- const DatetimeProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Datetime, (0, merge_1.default)({
141
+ const DatetimeProperty = (config = {}, additionalMetadata = {}) => (0, exports.Property)(types_1.PropertyType.Datetime, (0, merge_1.default)({
142
142
  lazyLoadMethod: (value) => {
143
143
  if (isDate(value)) {
144
144
  if (config.formatFunction) {
@@ -162,7 +162,7 @@ exports.DatetimeProperty = DatetimeProperty;
162
162
  * @param config
163
163
  * @param additionalMetadata
164
164
  */
165
- const ArrayProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Array, Object.assign(Object.assign({ defaultValue: [] }, config), { isArray: true }), additionalMetadata);
165
+ const ArrayProperty = (config = {}, additionalMetadata = {}) => (0, exports.Property)(types_1.PropertyType.Array, Object.assign(Object.assign({ defaultValue: [] }, config), { isArray: true }), additionalMetadata);
166
166
  exports.ArrayProperty = ArrayProperty;
167
167
  /**
168
168
  * A property that is an array, but only of a single value type. This is an {@link ArrayProperty} but with a validator for the type.
@@ -170,7 +170,7 @@ exports.ArrayProperty = ArrayProperty;
170
170
  * @param config
171
171
  * @param additionalMetadata
172
172
  */
173
- const SingleTypeArrayProperty = (valueType, config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Array, Object.assign(Object.assign({ defaultValue: [] }, config), { isArray: true, validators: (0, lib_1.mergeValidators)(config,
173
+ const SingleTypeArrayProperty = (valueType, config = {}, additionalMetadata = {}) => (0, exports.Property)(types_1.PropertyType.Array, Object.assign(Object.assign({ defaultValue: [] }, config), { isArray: true, validators: (0, lib_1.mergeValidators)(config,
174
174
  // @ts-ignore
175
175
  (0, validation_1.arrayType)(valueType)) }), additionalMetadata);
176
176
  exports.SingleTypeArrayProperty = SingleTypeArrayProperty;
@@ -179,7 +179,7 @@ exports.SingleTypeArrayProperty = SingleTypeArrayProperty;
179
179
  * @param config
180
180
  * @param additionalMetadata
181
181
  */
182
- const ObjectProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Object, (0, merge_1.default)(config, {
182
+ const ObjectProperty = (config = {}, additionalMetadata = {}) => (0, exports.Property)(types_1.PropertyType.Object, (0, merge_1.default)(config, {
183
183
  validators: (0, lib_1.mergeValidators)(config, (0, validation_1.isType)('object')),
184
184
  }), additionalMetadata);
185
185
  exports.ObjectProperty = ObjectProperty;
@@ -188,7 +188,7 @@ exports.ObjectProperty = ObjectProperty;
188
188
  * @param config - Additional Configurations
189
189
  * @param additionalMetadata - Additional Metadata
190
190
  */
191
- const TextProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Text, (0, merge_1.default)(config, {
191
+ const TextProperty = (config = {}, additionalMetadata = {}) => (0, exports.Property)(types_1.PropertyType.Text, (0, merge_1.default)(config, {
192
192
  isString: true,
193
193
  validators: (0, lib_1.mergeValidators)(config, ...(0, lib_1.getCommonTextValidators)(config)),
194
194
  }), additionalMetadata);
@@ -198,7 +198,7 @@ exports.TextProperty = TextProperty;
198
198
  * @param config - Additional configurations
199
199
  * @param additionalMetadata - Additional metadata
200
200
  */
201
- const BigTextProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.BigText, (0, merge_1.default)(config, {
201
+ const BigTextProperty = (config = {}, additionalMetadata = {}) => (0, exports.Property)(types_1.PropertyType.BigText, (0, merge_1.default)(config, {
202
202
  isString: true,
203
203
  validators: (0, lib_1.mergeValidators)(config, ...(0, lib_1.getCommonTextValidators)(config)),
204
204
  }), additionalMetadata);
@@ -208,7 +208,7 @@ exports.BigTextProperty = BigTextProperty;
208
208
  * @param config
209
209
  * @param additionalMetadata
210
210
  */
211
- const IntegerProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Integer, (0, merge_1.default)(config, {
211
+ const IntegerProperty = (config = {}, additionalMetadata = {}) => (0, exports.Property)(types_1.PropertyType.Integer, (0, merge_1.default)(config, {
212
212
  isInteger: true,
213
213
  validators: (0, lib_1.mergeValidators)(config, ...(0, lib_1.getCommonNumberValidators)(config)),
214
214
  }), additionalMetadata);
@@ -219,7 +219,7 @@ exports.IntegerProperty = IntegerProperty;
219
219
  * @param config
220
220
  * @param additionalMetadata
221
221
  */
222
- const YearProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Integer, (0, merge_1.default)(config, {
222
+ const YearProperty = (config = {}, additionalMetadata = {}) => (0, exports.Property)(types_1.PropertyType.Integer, (0, merge_1.default)(config, {
223
223
  isInteger: true,
224
224
  validators: (0, lib_1.mergeValidators)(config, ...(0, lib_1.getCommonNumberValidators)(config), (0, validation_1.minNumber)(0), (0, validation_1.maxNumber)(MAX_YEAR)),
225
225
  }), additionalMetadata);
@@ -229,7 +229,7 @@ exports.YearProperty = YearProperty;
229
229
  * @param config
230
230
  * @param additionalMetadata
231
231
  */
232
- const NumberProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Number, (0, merge_1.default)(config, {
232
+ const NumberProperty = (config = {}, additionalMetadata = {}) => (0, exports.Property)(types_1.PropertyType.Number, (0, merge_1.default)(config, {
233
233
  isNumber: true,
234
234
  validators: (0, lib_1.mergeValidators)(config, ...(0, lib_1.getCommonNumberValidators)(config)),
235
235
  }), additionalMetadata);
@@ -241,7 +241,7 @@ exports.NumberProperty = NumberProperty;
241
241
  * @param config
242
242
  * @param additionalMetadata
243
243
  */
244
- const ConstantValueProperty = (valueType, value, config = {}, additionalMetadata = {}) => Property(valueType, (0, merge_1.default)(config, {
244
+ const ConstantValueProperty = (valueType, value, config = {}, additionalMetadata = {}) => (0, exports.Property)(valueType, (0, merge_1.default)(config, {
245
245
  value,
246
246
  }), additionalMetadata);
247
247
  exports.ConstantValueProperty = ConstantValueProperty;
@@ -250,7 +250,7 @@ exports.ConstantValueProperty = ConstantValueProperty;
250
250
  * @param config
251
251
  * @param additionalMetadata
252
252
  */
253
- const EmailProperty = (config = {}, additionalMetadata = {}) => TextProperty((0, merge_1.default)(config, {
253
+ const EmailProperty = (config = {}, additionalMetadata = {}) => (0, exports.TextProperty)((0, merge_1.default)(config, {
254
254
  type: types_1.PropertyType.Email,
255
255
  validators: (0, lib_1.mergeValidators)(config, (0, validation_1.meetsRegex)(EMAIL_REGEX)),
256
256
  }), additionalMetadata);
@@ -260,7 +260,7 @@ exports.EmailProperty = EmailProperty;
260
260
  * @param config
261
261
  * @param additionalMetadata
262
262
  */
263
- const BooleanProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Boolean, (0, merge_1.default)(config, {
263
+ const BooleanProperty = (config = {}, additionalMetadata = {}) => (0, exports.Property)(types_1.PropertyType.Boolean, (0, merge_1.default)(config, {
264
264
  isBoolean: true,
265
265
  }), additionalMetadata);
266
266
  exports.BooleanProperty = BooleanProperty;
@@ -270,7 +270,7 @@ exports.BooleanProperty = BooleanProperty;
270
270
  * @param config - Additional configurations. NOTE: required is ALWAYS true.
271
271
  * @param additionalMetadata - Any additional metadata.
272
272
  */
273
- const PrimaryKeyUuidProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.UniqueId, (0, merge_1.default)(config, {
273
+ const PrimaryKeyUuidProperty = (config = {}, additionalMetadata = {}) => (0, exports.Property)(types_1.PropertyType.UniqueId, (0, merge_1.default)(config, {
274
274
  required: true,
275
275
  isString: true,
276
276
  validators: (0, lib_1.mergeValidators)(config, validation_1.isValidUuid),
@@ -289,7 +289,7 @@ exports.PrimaryKeyUuidProperty = PrimaryKeyUuidProperty;
289
289
  * @param config - Additional configurations.
290
290
  * @param additionalMetadata - Any additional metadata.
291
291
  */
292
- const UuidProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.UniqueId, (0, merge_1.default)(config, {
292
+ const UuidProperty = (config = {}, additionalMetadata = {}) => (0, exports.Property)(types_1.PropertyType.UniqueId, (0, merge_1.default)(config, {
293
293
  isString: true,
294
294
  validators: (0, lib_1.mergeValidators)(config, config.required ? validation_1.isValidUuid : (0, validation_1.optionalValidator)(validation_1.isValidUuid)),
295
295
  lazyLoadMethod: (value) => {
@@ -319,7 +319,7 @@ exports.UuidProperty = UuidProperty;
319
319
  * @param config
320
320
  * @param additionalMetadata
321
321
  */
322
- const ModelReferenceProperty = (model, config = {}, additionalMetadata = {}) => AdvancedModelReferenceProperty(model, config, additionalMetadata);
322
+ const ModelReferenceProperty = (model, config = {}, additionalMetadata = {}) => (0, exports.AdvancedModelReferenceProperty)(model, config, additionalMetadata);
323
323
  exports.ModelReferenceProperty = ModelReferenceProperty;
324
324
  /**
325
325
  * The full implementation of a ModelReference, useful for typing certain extended functionalities.
@@ -394,7 +394,7 @@ const AdvancedModelReferenceProperty = (model, config = {}, additionalMetadata =
394
394
  }
395
395
  return _getId(instanceValues)();
396
396
  });
397
- const p = (0, merge_1.default)(Property(types_1.PropertyType.ModelReference, (0, merge_1.default)({}, config, {
397
+ const p = (0, merge_1.default)((0, exports.Property)(types_1.PropertyType.ModelReference, (0, merge_1.default)({}, config, {
398
398
  validators,
399
399
  lazyLoadMethodAtomic,
400
400
  }), additionalMetadata), {
@@ -418,7 +418,7 @@ exports.AdvancedModelReferenceProperty = AdvancedModelReferenceProperty;
418
418
  * @param additionalMetadata _ Any additional metadata.
419
419
  */
420
420
  const DenormalizedProperty = (propertyType, calculate, config = {}, additionalMetadata = {}) => {
421
- const property = Property(propertyType, (0, merge_1.default)(config, {
421
+ const property = (0, exports.Property)(propertyType, (0, merge_1.default)(config, {
422
422
  isDenormalized: true,
423
423
  lazyLoadMethodAtomic: (value, modelData, modelInstance) => __awaiter(void 0, void 0, void 0, function* () {
424
424
  if (value !== undefined) {
@@ -438,7 +438,7 @@ exports.DenormalizedProperty = DenormalizedProperty;
438
438
  * @param config - Any configs
439
439
  * @param additionalMetadata - Optional Metadata
440
440
  */
441
- const DenormalizedTextProperty = (calculate, config = {}, additionalMetadata = {}) => DenormalizedProperty(types_1.PropertyType.Text, calculate, (0, merge_1.default)(config, {
441
+ const DenormalizedTextProperty = (calculate, config = {}, additionalMetadata = {}) => (0, exports.DenormalizedProperty)(types_1.PropertyType.Text, calculate, (0, merge_1.default)(config, {
442
442
  isString: true,
443
443
  validators: (0, lib_1.mergeValidators)(config, ...(0, lib_1.getCommonTextValidators)(config)),
444
444
  }), additionalMetadata);
@@ -449,7 +449,7 @@ exports.DenormalizedTextProperty = DenormalizedTextProperty;
449
449
  * @param config - Any configs
450
450
  * @param additionalMetadata - Optional Metadata
451
451
  */
452
- const DenormalizedNumberProperty = (calculate, config = {}, additionalMetadata = {}) => DenormalizedProperty(types_1.PropertyType.Number, calculate, (0, merge_1.default)(config, {
452
+ const DenormalizedNumberProperty = (calculate, config = {}, additionalMetadata = {}) => (0, exports.DenormalizedProperty)(types_1.PropertyType.Number, calculate, (0, merge_1.default)(config, {
453
453
  isNumber: true,
454
454
  validators: (0, lib_1.mergeValidators)(config, ...(0, lib_1.getCommonNumberValidators)(config)),
455
455
  }), additionalMetadata);
@@ -460,7 +460,7 @@ exports.DenormalizedNumberProperty = DenormalizedNumberProperty;
460
460
  * @param config - Any configs
461
461
  * @param additionalMetadata - Optional Metadata
462
462
  */
463
- const DenormalizedIntegerProperty = (calculate, config = {}, additionalMetadata = {}) => DenormalizedProperty(types_1.PropertyType.Integer, calculate, (0, merge_1.default)(config, {
463
+ const DenormalizedIntegerProperty = (calculate, config = {}, additionalMetadata = {}) => (0, exports.DenormalizedProperty)(types_1.PropertyType.Integer, calculate, (0, merge_1.default)(config, {
464
464
  isInteger: true,
465
465
  validators: (0, lib_1.mergeValidators)(config, ...(0, lib_1.getCommonNumberValidators)(config)),
466
466
  }), additionalMetadata);
@@ -479,7 +479,7 @@ exports.DenormalizedIntegerProperty = DenormalizedIntegerProperty;
479
479
  * @param config
480
480
  * @param additionalMetadata
481
481
  */
482
- const NaturalIdProperty = (propertyKeys, joiner, config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Text, (0, merge_1.default)(config, {
482
+ const NaturalIdProperty = (propertyKeys, joiner, config = {}, additionalMetadata = {}) => (0, exports.Property)(types_1.PropertyType.Text, (0, merge_1.default)(config, {
483
483
  isString: true,
484
484
  validators: (0, lib_1.mergeValidators)(config, ...(0, lib_1.getCommonTextValidators)(config)),
485
485
  lazyLoadMethodAtomic: (value, model, modelInstance) => __awaiter(void 0, void 0, void 0, function* () {
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/utils.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ declare const getRandomValues: () => Uint8Array;
1
2
  declare const createUuid: () => string;
2
3
  declare const toTitleCase: (string: string) => string;
3
4
  declare const loweredTitleCase: (string: string) => string;
@@ -7,4 +8,4 @@ declare const createHeadAndTail: (values: readonly string[], joiner: string) =>
7
8
  declare const flowFindFirst: <T, TResult>(funcs: ((t: T) => undefined | TResult)[]) => (input: T) => string | TResult;
8
9
  declare const memoizeSync: <T, A extends Array<any>>(method: (...args: A) => T) => (...args: A) => T;
9
10
  declare const memoizeAsync: <T, A extends Array<any>>(method: (...args: A) => T) => (...args: A) => Promise<T>;
10
- export { loweredTitleCase, toTitleCase, createUuid, isPromise, createHeadAndTail, singularize, flowFindFirst, memoizeSync, memoizeAsync, };
11
+ export { getRandomValues, loweredTitleCase, toTitleCase, createUuid, isPromise, createHeadAndTail, singularize, flowFindFirst, memoizeSync, memoizeAsync, };
package/utils.js CHANGED
@@ -12,7 +12,7 @@ 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.memoizeAsync = exports.memoizeSync = exports.flowFindFirst = exports.singularize = exports.createHeadAndTail = exports.isPromise = exports.createUuid = exports.toTitleCase = exports.loweredTitleCase = void 0;
15
+ exports.memoizeAsync = exports.memoizeSync = exports.flowFindFirst = exports.singularize = exports.createHeadAndTail = exports.isPromise = exports.createUuid = exports.toTitleCase = exports.loweredTitleCase = exports.getRandomValues = void 0;
16
16
  // @ts-ignore
17
17
  const get_random_values_1 = __importDefault(require("get-random-values"));
18
18
  const async_lock_1 = __importDefault(require("async-lock"));
@@ -33,6 +33,7 @@ const getRandomValues = () => {
33
33
  }
34
34
  return (0, get_random_values_1.default)(array);
35
35
  };
36
+ exports.getRandomValues = getRandomValues;
36
37
  const createUuid = () => {
37
38
  // @ts-ignore
38
39
  // eslint-disable-next-line no-magic-numbers,require-unicode-regexp
package/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}