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/README.md +484 -301
- package/errors.d.ts +2 -5
- package/errors.js.map +1 -1
- package/index.d.ts +6 -7
- package/index.js +24 -20
- package/index.js.map +1 -1
- package/lib.d.ts +15 -4051
- package/lib.js +120 -8
- package/lib.js.map +1 -1
- package/models.d.ts +13 -3
- package/models.js +73 -38
- package/models.js.map +1 -1
- package/package.json +34 -21
- package/properties.d.ts +439 -23639
- package/properties.js +237 -103
- package/properties.js.map +1 -1
- package/serialization.d.ts +2 -2
- package/serialization.js +1 -1
- package/serialization.js.map +1 -1
- package/types.d.ts +692 -0
- package/types.js +45 -0
- package/types.js.map +1 -0
- package/utils.d.ts +4 -2
- package/utils.js +43 -2
- package/utils.js.map +1 -1
- package/validation.d.ts +18 -12164
- package/validation.js +30 -28
- package/validation.js.map +1 -1
- package/constants.d.ts +0 -14
- package/constants.js +0 -19
- package/constants.js.map +0 -1
- package/interfaces.d.ts +0 -147
- package/interfaces.js +0 -4
- package/interfaces.js.map +0 -1
- package/lazy.d.ts +0 -3
- package/lazy.js +0 -51
- package/lazy.js.map +0 -1
- package/methods.d.ts +0 -6
- package/methods.js +0 -18
- package/methods.js.map +0 -1
package/properties.js
CHANGED
|
@@ -12,23 +12,31 @@ 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.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.
|
|
15
|
+
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;
|
|
16
16
|
const merge_1 = __importDefault(require("lodash/merge"));
|
|
17
17
|
const get_1 = __importDefault(require("lodash/get"));
|
|
18
|
-
const format_1 = require("date-fns/format");
|
|
19
18
|
const validation_1 = require("./validation");
|
|
20
|
-
const constants_1 = require("./constants");
|
|
21
|
-
const lazy_1 = require("./lazy");
|
|
22
19
|
const utils_1 = require("./utils");
|
|
20
|
+
const types_1 = require("./types");
|
|
23
21
|
const lib_1 = require("./lib");
|
|
22
|
+
const MAX_YEAR = 3000;
|
|
24
23
|
const EMAIL_REGEX = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/u;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
/**
|
|
25
|
+
* The base function that creates a fully loaded instance of a property. All standard issue properties use this function.
|
|
26
|
+
* @param propertyType - The property's value type.
|
|
27
|
+
* @param config - Configurations
|
|
28
|
+
* @param additionalMetadata - Additional metadata that you want to add to a given property.
|
|
29
|
+
* @typeParam TValue - The typescript value that the property produces.
|
|
30
|
+
* @typeParam TData - The DataDescription that this property instance belongs to.
|
|
31
|
+
* @typeParam TModelExtensions - Any additional model extensions
|
|
32
|
+
* @typeParam TModelInstanceExtensions - Any additional model instance extensions
|
|
33
|
+
*/
|
|
34
|
+
const Property = (propertyType, config = {}, additionalMetadata = {}) => {
|
|
35
|
+
if (!propertyType && !(config === null || config === void 0 ? void 0 : config.typeOverride)) {
|
|
28
36
|
throw new Error(`Property type must be provided.`);
|
|
29
37
|
}
|
|
30
|
-
if (config === null || config === void 0 ? void 0 : config.
|
|
31
|
-
|
|
38
|
+
if (config === null || config === void 0 ? void 0 : config.typeOverride) {
|
|
39
|
+
propertyType = config.typeOverride;
|
|
32
40
|
}
|
|
33
41
|
const getConstantValue = () => ((config === null || config === void 0 ? void 0 : config.value) !== undefined ? config.value : undefined);
|
|
34
42
|
const getDefaultValue = () => ((config === null || config === void 0 ? void 0 : config.defaultValue) !== undefined
|
|
@@ -40,38 +48,44 @@ const Property = (type, config = {}, additionalMetadata = {}) => {
|
|
|
40
48
|
if (typeof valueSelector !== 'function') {
|
|
41
49
|
throw new Error(`valueSelector must be a function`);
|
|
42
50
|
}
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
?
|
|
57
|
-
(0, lazy_1.lazyValue)(lazyLoadMethod)
|
|
51
|
+
const createGetter = (instanceValue, modelData, instance) => {
|
|
52
|
+
const constantValue = getConstantValue();
|
|
53
|
+
if (constantValue !== undefined) {
|
|
54
|
+
return () => constantValue;
|
|
55
|
+
}
|
|
56
|
+
const defaultValue = getDefaultValue();
|
|
57
|
+
if (defaultValue !== undefined &&
|
|
58
|
+
(instanceValue === null || instanceValue === undefined)) {
|
|
59
|
+
return () => defaultValue;
|
|
60
|
+
}
|
|
61
|
+
const method = lazyLoadMethod
|
|
62
|
+
? lazyLoadMethod
|
|
63
|
+
: config.lazyLoadMethodAtomic
|
|
64
|
+
? (0, utils_1.memoizeAsync)(config.lazyLoadMethodAtomic)
|
|
58
65
|
: typeof instanceValue === 'function'
|
|
59
66
|
? instanceValue
|
|
60
67
|
: () => instanceValue;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
68
|
+
const valueGetter = (0, utils_1.memoizeSync)(() => {
|
|
69
|
+
// @ts-ignore
|
|
70
|
+
const result = method(instanceValue, modelData,
|
|
71
|
+
// @ts-ignore
|
|
72
|
+
instance);
|
|
73
|
+
return valueSelector(result);
|
|
74
|
+
});
|
|
75
|
+
return valueGetter;
|
|
76
|
+
};
|
|
77
|
+
const getValidator = (valueGetter) => {
|
|
78
|
+
const validator = (0, validation_1.createPropertyValidator)(valueGetter, config);
|
|
79
|
+
const _propertyValidatorWrapper = (instanceData, propertyConfiguration) => __awaiter(void 0, void 0, void 0, function* () {
|
|
80
|
+
return validator(instanceData, propertyConfiguration);
|
|
81
|
+
});
|
|
82
|
+
return _propertyValidatorWrapper;
|
|
83
|
+
};
|
|
84
|
+
const propertyInstance = Object.assign(Object.assign({}, additionalMetadata), { getConfig: () => config || {}, getChoices,
|
|
85
|
+
getDefaultValue,
|
|
86
|
+
getConstantValue, getPropertyType: () => propertyType, createGetter,
|
|
87
|
+
getValidator });
|
|
88
|
+
return propertyInstance;
|
|
75
89
|
};
|
|
76
90
|
exports.Property = Property;
|
|
77
91
|
/**
|
|
@@ -85,81 +99,205 @@ const isDate = (value) => {
|
|
|
85
99
|
return typeof value === 'object' && value.toISOString;
|
|
86
100
|
};
|
|
87
101
|
/**
|
|
88
|
-
* A Property for Dates.
|
|
89
|
-
*
|
|
102
|
+
* A Property for Dates. Supports both strings and Date objects.
|
|
103
|
+
* This does NOT include time information.
|
|
104
|
+
* @param config - A configuration that enables overriding of date formatting
|
|
90
105
|
* @param additionalMetadata
|
|
91
|
-
* @constructor
|
|
92
106
|
*/
|
|
93
|
-
const DateProperty = (config = {}, additionalMetadata = {}) => Property(
|
|
107
|
+
const DateProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Date, (0, merge_1.default)({
|
|
94
108
|
lazyLoadMethod: (value) => {
|
|
95
109
|
if (isDate(value)) {
|
|
96
|
-
if (config.
|
|
97
|
-
return
|
|
110
|
+
if (config.formatFunction) {
|
|
111
|
+
return config.formatFunction(value, config.format);
|
|
112
|
+
}
|
|
113
|
+
return value.toISOString().split('T')[0];
|
|
114
|
+
}
|
|
115
|
+
if (!value && (config === null || config === void 0 ? void 0 : config.autoNow)) {
|
|
116
|
+
const date = new Date();
|
|
117
|
+
if (config.formatFunction) {
|
|
118
|
+
return config.formatFunction(date, config.format);
|
|
98
119
|
}
|
|
99
|
-
|
|
100
|
-
|
|
120
|
+
return date.toISOString().split('T')[0];
|
|
121
|
+
}
|
|
122
|
+
return value;
|
|
123
|
+
},
|
|
124
|
+
}, config), additionalMetadata);
|
|
125
|
+
exports.DateProperty = DateProperty;
|
|
126
|
+
/**
|
|
127
|
+
* A property for Date AND Times. Supports both strings and Date Objects.
|
|
128
|
+
* @param config - A configuration that enables overriding of date and time formatting
|
|
129
|
+
* @param additionalMetadata
|
|
130
|
+
*/
|
|
131
|
+
const DatetimeProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Datetime, (0, merge_1.default)({
|
|
132
|
+
lazyLoadMethod: (value) => {
|
|
133
|
+
if (isDate(value)) {
|
|
134
|
+
if (config.formatFunction) {
|
|
135
|
+
return config.formatFunction(value, config.format);
|
|
101
136
|
}
|
|
102
137
|
return value.toISOString();
|
|
103
138
|
}
|
|
104
139
|
if (!value && (config === null || config === void 0 ? void 0 : config.autoNow)) {
|
|
105
140
|
const date = new Date();
|
|
106
|
-
if (config.
|
|
107
|
-
return
|
|
108
|
-
}
|
|
109
|
-
if (config.isDateOnly) {
|
|
110
|
-
return (0, format_1.formatDate)(date, DEFAULT_JUST_DATE_FORMAT);
|
|
141
|
+
if (config.formatFunction) {
|
|
142
|
+
return config.formatFunction(date, config.format);
|
|
111
143
|
}
|
|
112
144
|
return date.toISOString();
|
|
113
145
|
}
|
|
114
146
|
return value;
|
|
115
147
|
},
|
|
116
148
|
}, config), additionalMetadata);
|
|
117
|
-
exports.
|
|
118
|
-
|
|
149
|
+
exports.DatetimeProperty = DatetimeProperty;
|
|
150
|
+
/**
|
|
151
|
+
* A property that has an array of sub values.
|
|
152
|
+
* @param config
|
|
153
|
+
* @param additionalMetadata
|
|
154
|
+
*/
|
|
155
|
+
const ArrayProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Array, Object.assign(Object.assign({ defaultValue: [] }, config), { isArray: true }), additionalMetadata);
|
|
119
156
|
exports.ArrayProperty = ArrayProperty;
|
|
120
|
-
|
|
121
|
-
|
|
157
|
+
/**
|
|
158
|
+
* 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.
|
|
159
|
+
* @param valueType - The type. (Only supports primitive data types, no objects)
|
|
160
|
+
* @param config
|
|
161
|
+
* @param additionalMetadata
|
|
162
|
+
*/
|
|
163
|
+
const SingleTypeArrayProperty = (valueType, config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Array, Object.assign(Object.assign({ defaultValue: [] }, config), { isArray: true, validators: (0, lib_1.mergeValidators)(config,
|
|
164
|
+
// @ts-ignore
|
|
165
|
+
(0, validation_1.arrayType)(valueType)) }), additionalMetadata);
|
|
166
|
+
exports.SingleTypeArrayProperty = SingleTypeArrayProperty;
|
|
167
|
+
/**
|
|
168
|
+
* A property that has simple objects. These must be JSON compliant. These are validated.
|
|
169
|
+
* @param config
|
|
170
|
+
* @param additionalMetadata
|
|
171
|
+
*/
|
|
172
|
+
const ObjectProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Object, (0, merge_1.default)(config, {
|
|
173
|
+
validators: (0, lib_1.mergeValidators)(config, (0, validation_1.isType)('object')),
|
|
122
174
|
}), additionalMetadata);
|
|
123
175
|
exports.ObjectProperty = ObjectProperty;
|
|
124
|
-
|
|
176
|
+
/**
|
|
177
|
+
* A simple text property. If it's possible to put ALOT of text in this field consider using the {@link BigTextProperty}
|
|
178
|
+
* @param config - Additional Configurations
|
|
179
|
+
* @param additionalMetadata - Additional Metadata
|
|
180
|
+
*/
|
|
181
|
+
const TextProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Text, (0, merge_1.default)(config, {
|
|
125
182
|
isString: true,
|
|
126
|
-
validators: (0, lib_1.mergeValidators)(config, (0, lib_1.getCommonTextValidators)(config)),
|
|
183
|
+
validators: (0, lib_1.mergeValidators)(config, ...(0, lib_1.getCommonTextValidators)(config)),
|
|
127
184
|
}), additionalMetadata);
|
|
128
185
|
exports.TextProperty = TextProperty;
|
|
129
|
-
|
|
186
|
+
/**
|
|
187
|
+
* A property for large blocks of strings.
|
|
188
|
+
* @param config - Additional configurations
|
|
189
|
+
* @param additionalMetadata - Additional metadata
|
|
190
|
+
*/
|
|
191
|
+
const BigTextProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.BigText, (0, merge_1.default)(config, {
|
|
192
|
+
isString: true,
|
|
193
|
+
validators: (0, lib_1.mergeValidators)(config, ...(0, lib_1.getCommonTextValidators)(config)),
|
|
194
|
+
}), additionalMetadata);
|
|
195
|
+
exports.BigTextProperty = BigTextProperty;
|
|
196
|
+
/**
|
|
197
|
+
* A property that houses integers. No floats allowed.
|
|
198
|
+
* @param config
|
|
199
|
+
* @param additionalMetadata
|
|
200
|
+
*/
|
|
201
|
+
const IntegerProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Integer, (0, merge_1.default)(config, {
|
|
130
202
|
isInteger: true,
|
|
131
|
-
validators: (0, lib_1.mergeValidators)(config, (0, lib_1.getCommonNumberValidators)(config)),
|
|
203
|
+
validators: (0, lib_1.mergeValidators)(config, ...(0, lib_1.getCommonNumberValidators)(config)),
|
|
132
204
|
}), additionalMetadata);
|
|
133
205
|
exports.IntegerProperty = IntegerProperty;
|
|
134
|
-
|
|
206
|
+
/**
|
|
207
|
+
* An integer property that represents a year. NOTE: This is exclusively focused on a year in a modern context.
|
|
208
|
+
* Validates from 0 to 3000
|
|
209
|
+
* @param config
|
|
210
|
+
* @param additionalMetadata
|
|
211
|
+
*/
|
|
212
|
+
const YearProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Integer, (0, merge_1.default)(config, {
|
|
213
|
+
isInteger: true,
|
|
214
|
+
validators: (0, lib_1.mergeValidators)(config, ...(0, lib_1.getCommonNumberValidators)(config), (0, validation_1.minNumber)(0), (0, validation_1.maxNumber)(MAX_YEAR)),
|
|
215
|
+
}), additionalMetadata);
|
|
216
|
+
exports.YearProperty = YearProperty;
|
|
217
|
+
/**
|
|
218
|
+
* A property for numbers. This could be integers or float values.
|
|
219
|
+
* @param config
|
|
220
|
+
* @param additionalMetadata
|
|
221
|
+
*/
|
|
222
|
+
const NumberProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Number, (0, merge_1.default)(config, {
|
|
135
223
|
isNumber: true,
|
|
136
|
-
validators: (0, lib_1.mergeValidators)(config, (0, lib_1.getCommonNumberValidators)(config)),
|
|
224
|
+
validators: (0, lib_1.mergeValidators)(config, ...(0, lib_1.getCommonNumberValidators)(config)),
|
|
137
225
|
}), additionalMetadata);
|
|
138
226
|
exports.NumberProperty = NumberProperty;
|
|
139
|
-
|
|
227
|
+
/**
|
|
228
|
+
* A property that has a fixed value that can never be changed. Can be useful for things like embedding the name of a model into JSONified objects.
|
|
229
|
+
* @param valueType - The value type for this property.
|
|
230
|
+
* @param value - The value to fix.
|
|
231
|
+
* @param config
|
|
232
|
+
* @param additionalMetadata
|
|
233
|
+
*/
|
|
234
|
+
const ConstantValueProperty = (valueType, value, config = {}, additionalMetadata = {}) => Property(valueType, (0, merge_1.default)(config, {
|
|
140
235
|
value,
|
|
141
236
|
}), additionalMetadata);
|
|
142
237
|
exports.ConstantValueProperty = ConstantValueProperty;
|
|
238
|
+
/**
|
|
239
|
+
* A property that encapsulates email addresses. Provides validation for making sure an email is valid.
|
|
240
|
+
* @param config
|
|
241
|
+
* @param additionalMetadata
|
|
242
|
+
*/
|
|
143
243
|
const EmailProperty = (config = {}, additionalMetadata = {}) => TextProperty((0, merge_1.default)(config, {
|
|
144
|
-
type:
|
|
145
|
-
validators: (0, lib_1.mergeValidators)(config,
|
|
244
|
+
type: types_1.PropertyType.Email,
|
|
245
|
+
validators: (0, lib_1.mergeValidators)(config, (0, validation_1.meetsRegex)(EMAIL_REGEX)),
|
|
146
246
|
}), additionalMetadata);
|
|
147
247
|
exports.EmailProperty = EmailProperty;
|
|
148
|
-
|
|
248
|
+
/**
|
|
249
|
+
* A property that has a true or false value.
|
|
250
|
+
* @param config
|
|
251
|
+
* @param additionalMetadata
|
|
252
|
+
*/
|
|
253
|
+
const BooleanProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Boolean, (0, merge_1.default)(config, {
|
|
149
254
|
isBoolean: true,
|
|
150
255
|
}), additionalMetadata);
|
|
151
256
|
exports.BooleanProperty = BooleanProperty;
|
|
152
|
-
|
|
257
|
+
/**
|
|
258
|
+
* A property that is used for Primary Keys. If no value is provided a UUID is automatically created.
|
|
259
|
+
* This property has required on it.
|
|
260
|
+
* @param config - Additional configurations. NOTE: required is ALWAYS true.
|
|
261
|
+
* @param additionalMetadata - Any additional metadata.
|
|
262
|
+
*/
|
|
263
|
+
const PrimaryKeyUuidProperty = (config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.UniqueId, (0, merge_1.default)(config, {
|
|
264
|
+
required: true,
|
|
265
|
+
isString: true,
|
|
266
|
+
validators: (0, lib_1.mergeValidators)(config, validation_1.isValidUuid),
|
|
153
267
|
lazyLoadMethod: (value) => {
|
|
154
268
|
if (!value) {
|
|
155
269
|
return (0, utils_1.createUuid)();
|
|
156
270
|
}
|
|
157
271
|
return value;
|
|
158
272
|
},
|
|
159
|
-
}
|
|
160
|
-
exports.
|
|
273
|
+
}), additionalMetadata);
|
|
274
|
+
exports.PrimaryKeyUuidProperty = PrimaryKeyUuidProperty;
|
|
275
|
+
/**
|
|
276
|
+
* A property that has a reference to another model instance. A "Foreign Key" if you will.
|
|
277
|
+
* For full functionality a {@link ModelInstanceFetcher} must be provided in the config.
|
|
278
|
+
* This property has complex functionalities.
|
|
279
|
+
*
|
|
280
|
+
* When a model calls "instance.get.whatever()" to get the value of a ModelReferenceProperty, it uses the model fetcher
|
|
281
|
+
* to retrieve the model. (Could be saved elsewhere, or a database). When the promise is awaited, the value returned
|
|
282
|
+
* is a ModelInstance object.
|
|
283
|
+
*
|
|
284
|
+
* However, when `toObj()` is called on that same instance, only the primary key value is returned. This is so that
|
|
285
|
+
* when you call `toObj()` on the main instance, the "foreign key" gets filled in.
|
|
286
|
+
*
|
|
287
|
+
* This is useful for a save function with an ORM.
|
|
288
|
+
* @param model - Either the model itself or a function that creates the model when needed (lazy).
|
|
289
|
+
* @param config
|
|
290
|
+
* @param additionalMetadata
|
|
291
|
+
*/
|
|
161
292
|
const ModelReferenceProperty = (model, config = {}, additionalMetadata = {}) => AdvancedModelReferenceProperty(model, config, additionalMetadata);
|
|
162
293
|
exports.ModelReferenceProperty = ModelReferenceProperty;
|
|
294
|
+
/**
|
|
295
|
+
* The full implementation of a ModelReference, useful for typing certain extended functionalities.
|
|
296
|
+
* For a full description see {@link ModelReferenceProperty}
|
|
297
|
+
* @param model - A model or a function that returns the model.
|
|
298
|
+
* @param config
|
|
299
|
+
* @param additionalMetadata
|
|
300
|
+
*/
|
|
163
301
|
const AdvancedModelReferenceProperty = (model, config = {}, additionalMetadata = {}) => {
|
|
164
302
|
if (!model) {
|
|
165
303
|
throw new Error('Must include the referenced model');
|
|
@@ -170,14 +308,12 @@ const AdvancedModelReferenceProperty = (model, config = {}, additionalMetadata =
|
|
|
170
308
|
}
|
|
171
309
|
return model;
|
|
172
310
|
};
|
|
311
|
+
// @ts-ignore
|
|
173
312
|
const validator = (0, validation_1.referenceTypeMatch)(model);
|
|
174
|
-
const validators = (0, lib_1.mergeValidators)(config,
|
|
175
|
-
// @ts-ignore
|
|
176
|
-
validator,
|
|
177
|
-
]);
|
|
313
|
+
const validators = (0, lib_1.mergeValidators)(config, validator);
|
|
178
314
|
const _getId = (instanceValues) => () => {
|
|
179
315
|
if (!instanceValues) {
|
|
180
|
-
return
|
|
316
|
+
return undefined;
|
|
181
317
|
}
|
|
182
318
|
if (typeof instanceValues === 'number') {
|
|
183
319
|
return instanceValues;
|
|
@@ -189,21 +325,22 @@ const AdvancedModelReferenceProperty = (model, config = {}, additionalMetadata =
|
|
|
189
325
|
return instanceValues.getPrimaryKey();
|
|
190
326
|
}
|
|
191
327
|
const theModel = _getModel();
|
|
192
|
-
const primaryKey = theModel.
|
|
328
|
+
const primaryKey = theModel.getModelDefinition().primaryKeyName;
|
|
329
|
+
// @ts-ignore
|
|
193
330
|
return instanceValues[primaryKey];
|
|
194
331
|
};
|
|
195
|
-
const
|
|
332
|
+
const lazyLoadMethodAtomic = (instanceValues) => __awaiter(void 0, void 0, void 0, function* () {
|
|
196
333
|
const valueIsModelInstance = (0, lib_1.isModelInstance)(instanceValues);
|
|
197
334
|
const _getInstanceReturn = (objToUse) => {
|
|
198
335
|
// We need to determine if the object we just got is an actual model instance to determine if we need to make one.
|
|
199
336
|
const objIsModelInstance = (0, lib_1.isModelInstance)(objToUse);
|
|
200
|
-
// @ts-ignore
|
|
201
337
|
const instance = objIsModelInstance
|
|
202
338
|
? objToUse
|
|
203
|
-
:
|
|
339
|
+
: // @ts-ignore
|
|
340
|
+
_getModel().create(objToUse);
|
|
204
341
|
// We are replacing the toObj function, because the reference type in the end should be the primary key when serialized.
|
|
205
342
|
return (0, merge_1.default)({}, instance, {
|
|
206
|
-
toObj: _getId(instanceValues),
|
|
343
|
+
toObj: (0, utils_1.memoizeAsync)(_getId(instanceValues)),
|
|
207
344
|
});
|
|
208
345
|
};
|
|
209
346
|
// @ts-ignore
|
|
@@ -212,7 +349,7 @@ const AdvancedModelReferenceProperty = (model, config = {}, additionalMetadata =
|
|
|
212
349
|
}
|
|
213
350
|
// TypedJson?
|
|
214
351
|
const theModel = _getModel();
|
|
215
|
-
const primaryKey = theModel.
|
|
352
|
+
const primaryKey = theModel.getModelDefinition().primaryKeyName;
|
|
216
353
|
if ((0, get_1.default)(instanceValues, primaryKey)) {
|
|
217
354
|
return _getInstanceReturn(instanceValues);
|
|
218
355
|
}
|
|
@@ -227,9 +364,9 @@ const AdvancedModelReferenceProperty = (model, config = {}, additionalMetadata =
|
|
|
227
364
|
}
|
|
228
365
|
return _getId(instanceValues)();
|
|
229
366
|
});
|
|
230
|
-
const p = (0, merge_1.default)(Property(
|
|
367
|
+
const p = (0, merge_1.default)(Property(types_1.PropertyType.ModelReference, (0, merge_1.default)({}, config, {
|
|
231
368
|
validators,
|
|
232
|
-
|
|
369
|
+
lazyLoadMethodAtomic,
|
|
233
370
|
}), additionalMetadata), {
|
|
234
371
|
getReferencedId: (instanceValues) => _getId(instanceValues)(),
|
|
235
372
|
getReferencedModel: _getModel,
|
|
@@ -238,17 +375,22 @@ const AdvancedModelReferenceProperty = (model, config = {}, additionalMetadata =
|
|
|
238
375
|
};
|
|
239
376
|
exports.AdvancedModelReferenceProperty = AdvancedModelReferenceProperty;
|
|
240
377
|
/**
|
|
241
|
-
* A property for
|
|
378
|
+
* A property for Denormalizing. This represents a complex value that has been simplified for ease of use.
|
|
379
|
+
* One common use is for creating "Display Values" in a GUI. This process can be extremely expensive, such as having to
|
|
380
|
+
* get selected values 2 or 3 Foreign Keys deep.
|
|
381
|
+
*
|
|
382
|
+
* This property allows passing in a calculate function that will only be executed once, and only if there is no value, and then only when asked.
|
|
383
|
+
*
|
|
384
|
+
* To recalculate the value, you need to run the calculate function on the property itself, passing in new model data.
|
|
242
385
|
* @param propertyType - A property type.
|
|
243
386
|
* @param calculate - A function for calculating the denormalized value.
|
|
244
387
|
* @param config - A Config
|
|
245
388
|
* @param additionalMetadata _ Any additional metadata.
|
|
246
|
-
* @constructor
|
|
247
389
|
*/
|
|
248
390
|
const DenormalizedProperty = (propertyType, calculate, config = {}, additionalMetadata = {}) => {
|
|
249
391
|
const property = Property(propertyType, (0, merge_1.default)(config, {
|
|
250
392
|
isDenormalized: true,
|
|
251
|
-
|
|
393
|
+
lazyLoadMethodAtomic: (value, modelData, modelInstance) => __awaiter(void 0, void 0, void 0, function* () {
|
|
252
394
|
if (value !== undefined) {
|
|
253
395
|
return value;
|
|
254
396
|
}
|
|
@@ -265,11 +407,10 @@ exports.DenormalizedProperty = DenormalizedProperty;
|
|
|
265
407
|
* @param calculate - A function that can get a string
|
|
266
408
|
* @param config - Any configs
|
|
267
409
|
* @param additionalMetadata - Optional Metadata
|
|
268
|
-
* @constructor
|
|
269
410
|
*/
|
|
270
|
-
const DenormalizedTextProperty = (calculate, config = {}, additionalMetadata = {}) => DenormalizedProperty(
|
|
411
|
+
const DenormalizedTextProperty = (calculate, config = {}, additionalMetadata = {}) => DenormalizedProperty(types_1.PropertyType.Text, calculate, (0, merge_1.default)(config, {
|
|
271
412
|
isString: true,
|
|
272
|
-
validators: (0, lib_1.mergeValidators)(config, (0, lib_1.getCommonTextValidators)(config)),
|
|
413
|
+
validators: (0, lib_1.mergeValidators)(config, ...(0, lib_1.getCommonTextValidators)(config)),
|
|
273
414
|
}), additionalMetadata);
|
|
274
415
|
exports.DenormalizedTextProperty = DenormalizedTextProperty;
|
|
275
416
|
/**
|
|
@@ -277,11 +418,10 @@ exports.DenormalizedTextProperty = DenormalizedTextProperty;
|
|
|
277
418
|
* @param calculate - A function that can get a string
|
|
278
419
|
* @param config - Any configs
|
|
279
420
|
* @param additionalMetadata - Optional Metadata
|
|
280
|
-
* @constructor
|
|
281
421
|
*/
|
|
282
|
-
const DenormalizedNumberProperty = (calculate, config = {}, additionalMetadata = {}) => DenormalizedProperty(
|
|
422
|
+
const DenormalizedNumberProperty = (calculate, config = {}, additionalMetadata = {}) => DenormalizedProperty(types_1.PropertyType.Number, calculate, (0, merge_1.default)(config, {
|
|
283
423
|
isNumber: true,
|
|
284
|
-
validators: (0, lib_1.mergeValidators)(config, (0, lib_1.getCommonNumberValidators)(config)),
|
|
424
|
+
validators: (0, lib_1.mergeValidators)(config, ...(0, lib_1.getCommonNumberValidators)(config)),
|
|
285
425
|
}), additionalMetadata);
|
|
286
426
|
exports.DenormalizedNumberProperty = DenormalizedNumberProperty;
|
|
287
427
|
/**
|
|
@@ -289,17 +429,15 @@ exports.DenormalizedNumberProperty = DenormalizedNumberProperty;
|
|
|
289
429
|
* @param calculate - A function that can get a string
|
|
290
430
|
* @param config - Any configs
|
|
291
431
|
* @param additionalMetadata - Optional Metadata
|
|
292
|
-
* @constructor
|
|
293
432
|
*/
|
|
294
|
-
const DenormalizedIntegerProperty = (calculate, config = {}, additionalMetadata = {}) => DenormalizedProperty(
|
|
433
|
+
const DenormalizedIntegerProperty = (calculate, config = {}, additionalMetadata = {}) => DenormalizedProperty(types_1.PropertyType.Integer, calculate, (0, merge_1.default)(config, {
|
|
295
434
|
isInteger: true,
|
|
296
|
-
validators: (0, lib_1.mergeValidators)(config, (0, lib_1.getCommonNumberValidators)(config)),
|
|
435
|
+
validators: (0, lib_1.mergeValidators)(config, ...(0, lib_1.getCommonNumberValidators)(config)),
|
|
297
436
|
}), additionalMetadata);
|
|
298
437
|
exports.DenormalizedIntegerProperty = DenormalizedIntegerProperty;
|
|
299
438
|
/**
|
|
300
|
-
* An
|
|
301
|
-
* Instead of having a "globally unique" id the model is unique because
|
|
302
|
-
* the composition of values of properties.
|
|
439
|
+
* An id that is naturally formed by other properties within a model.
|
|
440
|
+
* Instead of having a "globally unique" id the model is unique because the composition of values of properties.
|
|
303
441
|
* @param propertyKeys A list (in order) of property keys needed to make the id. These keys can take nested paths
|
|
304
442
|
* if a property is an object, array, or even a model instance object. Example: 'nested.path.here'.
|
|
305
443
|
* Note: If ANY of the properties are undefined, the key becomes undefined. This is to ensure key structure integrity.
|
|
@@ -310,12 +448,11 @@ exports.DenormalizedIntegerProperty = DenormalizedIntegerProperty;
|
|
|
310
448
|
* @param joiner A string that will be passed to ".join()" for creating a single string.
|
|
311
449
|
* @param config
|
|
312
450
|
* @param additionalMetadata
|
|
313
|
-
* @constructor
|
|
314
451
|
*/
|
|
315
|
-
const NaturalIdProperty = (propertyKeys, joiner, config = {}, additionalMetadata = {}) => Property(
|
|
452
|
+
const NaturalIdProperty = (propertyKeys, joiner, config = {}, additionalMetadata = {}) => Property(types_1.PropertyType.Text, (0, merge_1.default)(config, {
|
|
316
453
|
isString: true,
|
|
317
|
-
validators: (0, lib_1.mergeValidators)(config, (0, lib_1.getCommonTextValidators)(config)),
|
|
318
|
-
|
|
454
|
+
validators: (0, lib_1.mergeValidators)(config, ...(0, lib_1.getCommonTextValidators)(config)),
|
|
455
|
+
lazyLoadMethodAtomic: (value, model, modelInstance) => __awaiter(void 0, void 0, void 0, function* () {
|
|
319
456
|
const data = yield propertyKeys.reduce((accP, key) => __awaiter(void 0, void 0, void 0, function* () {
|
|
320
457
|
const acc = yield accP;
|
|
321
458
|
const [head] = (0, utils_1.createHeadAndTail)(key.split('.'), '.');
|
|
@@ -332,7 +469,4 @@ const NaturalIdProperty = (propertyKeys, joiner, config = {}, additionalMetadata
|
|
|
332
469
|
}),
|
|
333
470
|
}), additionalMetadata);
|
|
334
471
|
exports.NaturalIdProperty = NaturalIdProperty;
|
|
335
|
-
// We are adding this here to normalize the name, while maintaining backwards compatability.
|
|
336
|
-
const UniqueIdProperty = UniqueId;
|
|
337
|
-
exports.UniqueIdProperty = UniqueIdProperty;
|
|
338
472
|
//# sourceMappingURL=properties.js.map
|
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/serialization.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { PropertyGetters,
|
|
2
|
-
declare const toJsonAble: <T extends
|
|
1
|
+
import { PropertyGetters, ToObjectFunction, DataDescription } from './types';
|
|
2
|
+
declare const toJsonAble: <T extends DataDescription>(keyToFunc: PropertyGetters<T>) => ToObjectFunction<T>;
|
|
3
3
|
export { toJsonAble };
|
package/serialization.js
CHANGED
|
@@ -41,7 +41,7 @@ const _getValue = (value) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
41
41
|
return value;
|
|
42
42
|
});
|
|
43
43
|
const toJsonAble = (keyToFunc) => () => {
|
|
44
|
-
return Object.entries(keyToFunc).reduce((
|
|
44
|
+
return Object.entries(keyToFunc).reduce((acc_1, _a) => __awaiter(void 0, [acc_1, _a], void 0, function* (acc, [key, value]) {
|
|
45
45
|
const realAcc = yield acc;
|
|
46
46
|
const trueValue = yield _getValue(yield value);
|
|
47
47
|
return (0, merge_1.default)(realAcc, { [key]: trueValue });
|
package/serialization.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yDAAgC;
|
|
1
|
+
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yDAAgC;AAWhC,MAAM,eAAe,GAAG,CAAC,GAAQ,EAA6B,EAAE;IAC9D,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAC3B,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,CAAO,KAAU,EAA4B,EAAE;IAC/D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,KAAK,CAAA;IACzB,MAAM,UAAU,GAAG,KAAgC,CAAA;IACnD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC,MAAM,UAAU,EAAE,CAAC,CAAA;IACtC,CAAC;IACD,gBAAgB;IAChB,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;IACvC,CAAC;IACD,QAAQ;IACR,MAAM,MAAM,GAAG,KAAa,CAAA;IAC5B,IAAI,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;IACxC,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA,CAAA;AAED,MAAM,UAAU,GACd,CACE,SAA6B,EACR,EAAE,CACzB,GAEE,EAAE;IACF,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAA0B,EAAE,mDAArB,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;QAC9D,MAAM,OAAO,GAAG,MAAM,GAAG,CAAA;QACzB,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,MAAM,KAAK,CAAC,CAAA;QAC9C,OAAO,IAAA,eAAK,EAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;IAC7C,CAAC,CAAA,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAA+B,CAAA;AACvD,CAAC,CAAA;AAEM,gCAAU"}
|