functional-models 2.0.13 → 2.1.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 +58 -12
- package/errors.d.ts +5 -5
- package/errors.js +2 -2
- package/errors.js.map +1 -1
- package/index.d.ts +0 -1
- package/index.js +0 -1
- package/index.js.map +1 -1
- package/interfaces.d.ts +109 -134
- package/interfaces.js.map +1 -1
- package/lazy.d.ts +1 -1
- package/lazy.js.map +1 -1
- package/lib.d.ts +4039 -0
- package/lib.js +70 -0
- package/lib.js.map +1 -0
- package/methods.d.ts +2 -2
- package/models.js +21 -32
- package/models.js.map +1 -1
- package/package.json +28 -10
- package/properties.d.ts +12680 -1073
- package/properties.js +52 -53
- package/properties.js.map +1 -1
- package/serialization.d.ts +2 -26
- package/serialization.js.map +1 -1
- package/utils.d.ts +4 -2
- package/utils.js +25 -3
- package/utils.js.map +1 -1
- package/validation.d.ts +10112 -180
- package/validation.js +14 -26
- package/validation.js.map +1 -1
package/properties.js
CHANGED
|
@@ -12,25 +12,14 @@ 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.BooleanProperty = exports.EmailProperty = exports.ObjectProperty = exports.NumberProperty = exports.ConstantValueProperty = exports.TextProperty = exports.IntegerProperty = exports.AdvancedModelReferenceProperty = exports.ModelReferenceProperty = exports.ArrayProperty = exports.DateProperty = exports.UniqueId = exports.Property = void 0;
|
|
15
|
+
exports.BooleanProperty = exports.EmailProperty = exports.ObjectProperty = exports.NumberProperty = exports.ConstantValueProperty = exports.TextProperty = exports.IntegerProperty = exports.AdvancedModelReferenceProperty = exports.ModelReferenceProperty = exports.ArrayProperty = exports.DateProperty = exports.UniqueIdProperty = exports.UniqueId = exports.NaturalIdProperty = exports.Property = void 0;
|
|
16
16
|
const merge_1 = __importDefault(require("lodash/merge"));
|
|
17
17
|
const validation_1 = require("./validation");
|
|
18
18
|
const constants_1 = require("./constants");
|
|
19
19
|
const lazy_1 = require("./lazy");
|
|
20
20
|
const utils_1 = require("./utils");
|
|
21
|
+
const lib_1 = require("./lib");
|
|
21
22
|
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;
|
|
22
|
-
const _getValidatorFromConfigElseEmpty = (input,
|
|
23
|
-
// eslint-disable-next-line no-unused-vars
|
|
24
|
-
validatorGetter) => {
|
|
25
|
-
if (input !== undefined) {
|
|
26
|
-
const validator = validatorGetter(input);
|
|
27
|
-
return validator;
|
|
28
|
-
}
|
|
29
|
-
return validation_1.emptyValidator;
|
|
30
|
-
};
|
|
31
|
-
const _mergeValidators = (config, validators) => {
|
|
32
|
-
return [...validators, ...((config === null || config === void 0 ? void 0 : config.validators) ? config.validators : [])];
|
|
33
|
-
};
|
|
34
23
|
const Property = (type, config = {}, additionalMetadata = {}) => {
|
|
35
24
|
if (!type && !(config === null || config === void 0 ? void 0 : config.type)) {
|
|
36
25
|
throw new Error(`Property type must be provided.`);
|
|
@@ -50,7 +39,7 @@ const Property = (type, config = {}, additionalMetadata = {}) => {
|
|
|
50
39
|
}
|
|
51
40
|
const r = Object.assign(Object.assign({}, additionalMetadata), { getConfig: () => config || {}, getChoices,
|
|
52
41
|
getDefaultValue,
|
|
53
|
-
getConstantValue, getPropertyType: () => type, createGetter: (instanceValue) => {
|
|
42
|
+
getConstantValue, getPropertyType: () => type, createGetter: (instanceValue, modelData, instance) => {
|
|
54
43
|
const value = getConstantValue();
|
|
55
44
|
if (value !== undefined) {
|
|
56
45
|
return () => value;
|
|
@@ -67,13 +56,14 @@ const Property = (type, config = {}, additionalMetadata = {}) => {
|
|
|
67
56
|
? instanceValue
|
|
68
57
|
: () => instanceValue;
|
|
69
58
|
const r = () => {
|
|
70
|
-
const result = method(instanceValue);
|
|
59
|
+
const result = method(instanceValue, modelData, instance);
|
|
71
60
|
return valueSelector(result);
|
|
72
61
|
};
|
|
73
62
|
return r;
|
|
74
63
|
}, getValidator: (valueGetter) => {
|
|
75
64
|
const validator = (0, validation_1.createPropertyValidator)(valueGetter, config);
|
|
76
65
|
const _propertyValidatorWrapper = (instance, instanceData, propertyConfiguration) => __awaiter(void 0, void 0, void 0, function* () {
|
|
66
|
+
// @ts-ignore
|
|
77
67
|
return validator(instance, instanceData, propertyConfiguration);
|
|
78
68
|
});
|
|
79
69
|
return _propertyValidatorWrapper;
|
|
@@ -96,31 +86,22 @@ exports.DateProperty = DateProperty;
|
|
|
96
86
|
const ArrayProperty = (config = {}, additionalMetadata = {}) => Property(constants_1.PROPERTY_TYPES.ArrayProperty, Object.assign(Object.assign({ defaultValue: [] }, config), { isArray: true }), additionalMetadata);
|
|
97
87
|
exports.ArrayProperty = ArrayProperty;
|
|
98
88
|
const ObjectProperty = (config = {}, additionalMetadata = {}) => Property(constants_1.PROPERTY_TYPES.ObjectProperty, (0, merge_1.default)(config, {
|
|
99
|
-
validators:
|
|
89
|
+
validators: (0, lib_1.mergeValidators)(config, [(0, validation_1.isType)('object')]),
|
|
100
90
|
}), additionalMetadata);
|
|
101
91
|
exports.ObjectProperty = ObjectProperty;
|
|
102
92
|
const TextProperty = (config = {}, additionalMetadata = {}) => Property(constants_1.PROPERTY_TYPES.TextProperty, (0, merge_1.default)(config, {
|
|
103
93
|
isString: true,
|
|
104
|
-
validators:
|
|
105
|
-
_getValidatorFromConfigElseEmpty(config === null || config === void 0 ? void 0 : config.maxLength, (value) => (0, validation_1.maxTextLength)(value)),
|
|
106
|
-
_getValidatorFromConfigElseEmpty(config === null || config === void 0 ? void 0 : config.minLength, (value) => (0, validation_1.minTextLength)(value)),
|
|
107
|
-
]),
|
|
94
|
+
validators: (0, lib_1.mergeValidators)(config, (0, lib_1.getCommonTextValidators)(config)),
|
|
108
95
|
}), additionalMetadata);
|
|
109
96
|
exports.TextProperty = TextProperty;
|
|
110
97
|
const IntegerProperty = (config = {}, additionalMetadata = {}) => Property(constants_1.PROPERTY_TYPES.IntegerProperty, (0, merge_1.default)(config, {
|
|
111
98
|
isInteger: true,
|
|
112
|
-
validators:
|
|
113
|
-
_getValidatorFromConfigElseEmpty(config === null || config === void 0 ? void 0 : config.minValue, value => (0, validation_1.minNumber)(value)),
|
|
114
|
-
_getValidatorFromConfigElseEmpty(config === null || config === void 0 ? void 0 : config.maxValue, value => (0, validation_1.maxNumber)(value)),
|
|
115
|
-
]),
|
|
99
|
+
validators: (0, lib_1.mergeValidators)(config, (0, lib_1.getCommonNumberValidators)(config)),
|
|
116
100
|
}), additionalMetadata);
|
|
117
101
|
exports.IntegerProperty = IntegerProperty;
|
|
118
102
|
const NumberProperty = (config = {}, additionalMetadata = {}) => Property(constants_1.PROPERTY_TYPES.NumberProperty, (0, merge_1.default)(config, {
|
|
119
103
|
isNumber: true,
|
|
120
|
-
validators:
|
|
121
|
-
_getValidatorFromConfigElseEmpty(config === null || config === void 0 ? void 0 : config.minValue, value => (0, validation_1.minNumber)(value)),
|
|
122
|
-
_getValidatorFromConfigElseEmpty(config === null || config === void 0 ? void 0 : config.maxValue, value => (0, validation_1.maxNumber)(value)),
|
|
123
|
-
]),
|
|
104
|
+
validators: (0, lib_1.mergeValidators)(config, (0, lib_1.getCommonNumberValidators)(config)),
|
|
124
105
|
}), additionalMetadata);
|
|
125
106
|
exports.NumberProperty = NumberProperty;
|
|
126
107
|
const ConstantValueProperty = (value, config = {}, additionalMetadata = {}) => Property(constants_1.PROPERTY_TYPES.ConstantValueProperty, (0, merge_1.default)(config, {
|
|
@@ -129,7 +110,7 @@ const ConstantValueProperty = (value, config = {}, additionalMetadata = {}) => P
|
|
|
129
110
|
exports.ConstantValueProperty = ConstantValueProperty;
|
|
130
111
|
const EmailProperty = (config = {}, additionalMetadata = {}) => TextProperty((0, merge_1.default)(config, {
|
|
131
112
|
type: constants_1.PROPERTY_TYPES.EmailProperty,
|
|
132
|
-
validators:
|
|
113
|
+
validators: (0, lib_1.mergeValidators)(config, [(0, validation_1.meetsRegex)(EMAIL_REGEX)]),
|
|
133
114
|
}), additionalMetadata);
|
|
134
115
|
exports.EmailProperty = EmailProperty;
|
|
135
116
|
const BooleanProperty = (config = {}, additionalMetadata = {}) => Property(constants_1.PROPERTY_TYPES.BooleanProperty, (0, merge_1.default)(config, {
|
|
@@ -157,7 +138,7 @@ const AdvancedModelReferenceProperty = (model, config = {}, additionalMetadata =
|
|
|
157
138
|
}
|
|
158
139
|
return model;
|
|
159
140
|
};
|
|
160
|
-
const validators =
|
|
141
|
+
const validators = (0, lib_1.mergeValidators)(config, []);
|
|
161
142
|
const _getId = (instanceValues) => () => {
|
|
162
143
|
if (!instanceValues) {
|
|
163
144
|
return null;
|
|
@@ -168,41 +149,21 @@ const AdvancedModelReferenceProperty = (model, config = {}, additionalMetadata =
|
|
|
168
149
|
if (typeof instanceValues === 'string') {
|
|
169
150
|
return instanceValues;
|
|
170
151
|
}
|
|
171
|
-
if (instanceValues.getPrimaryKey) {
|
|
172
|
-
return instanceValues.getPrimaryKey();
|
|
173
|
-
}
|
|
174
152
|
const theModel = _getModel();
|
|
175
153
|
const primaryKey = theModel.getPrimaryKeyName();
|
|
176
|
-
// @ts-ignore
|
|
177
154
|
return instanceValues[primaryKey];
|
|
178
155
|
};
|
|
179
156
|
const lazyLoadMethod = (instanceValues) => __awaiter(void 0, void 0, void 0, function* () {
|
|
180
|
-
|
|
181
|
-
const _getInstanceReturn = (objToUse) => {
|
|
182
|
-
// We need to determine if the object we just got is an actual model instance to determine if we need to make one.
|
|
183
|
-
const objIsModelInstance = objToUse && objToUse.getPrimaryKeyName;
|
|
184
|
-
// @ts-ignore
|
|
185
|
-
const instance = objIsModelInstance
|
|
186
|
-
? objToUse
|
|
187
|
-
: _getModel().create(objToUse);
|
|
188
|
-
// We are replacing the toObj function, because the reference type in the end should be the primary key when serialized.
|
|
189
|
-
return (0, merge_1.default)({}, instance, {
|
|
190
|
-
toObj: _getId(instanceValues),
|
|
191
|
-
});
|
|
192
|
-
};
|
|
193
|
-
// @ts-ignore
|
|
194
|
-
if (valueIsModelInstance) {
|
|
195
|
-
return _getInstanceReturn(instanceValues);
|
|
196
|
-
}
|
|
157
|
+
// Path for returning a TypedJsonObj / T
|
|
197
158
|
if (config === null || config === void 0 ? void 0 : config.fetcher) {
|
|
198
159
|
const id = yield _getId(instanceValues)();
|
|
199
160
|
const model = _getModel();
|
|
200
161
|
if (id !== null && id !== undefined) {
|
|
201
|
-
|
|
202
|
-
return _getInstanceReturn(obj);
|
|
162
|
+
return config.fetcher(model, id);
|
|
203
163
|
}
|
|
204
164
|
return null;
|
|
205
165
|
}
|
|
166
|
+
// This is just an id.
|
|
206
167
|
return _getId(instanceValues)();
|
|
207
168
|
});
|
|
208
169
|
const p = (0, merge_1.default)(Property(constants_1.PROPERTY_TYPES.ReferenceProperty, (0, merge_1.default)({}, config, {
|
|
@@ -215,4 +176,42 @@ const AdvancedModelReferenceProperty = (model, config = {}, additionalMetadata =
|
|
|
215
176
|
return p;
|
|
216
177
|
};
|
|
217
178
|
exports.AdvancedModelReferenceProperty = AdvancedModelReferenceProperty;
|
|
179
|
+
/**
|
|
180
|
+
* An Id that is naturally formed by the other properties within a model.
|
|
181
|
+
* Instead of a unique id because "globally unique" the model is unique because
|
|
182
|
+
* the composition of values of properties
|
|
183
|
+
* @param propertyKeys A list (in order) of property keys needed to make the id. These keys can take nested paths
|
|
184
|
+
* if a property is an object, array, or even a model instance object. Example: 'nested.path.here'.
|
|
185
|
+
* Note: If ANY of the properties are undefined an exception is thrown.
|
|
186
|
+
* Additionally, if the property key points to a referenced model 1 of 2 things will happen.
|
|
187
|
+
* 1. If the key is not nested (Example: model.myReferenceObj) then the key to the referenced model will be used.
|
|
188
|
+
* 2. If the key IS nested (Example: model.myReferenceObj.name) then the instance will be retrieved and then the
|
|
189
|
+
* property for that model instance is used.
|
|
190
|
+
* @param joiner A string that will be passed to ".join()" for creating a single string.
|
|
191
|
+
* @param config
|
|
192
|
+
* @param additionalMetadata
|
|
193
|
+
* @constructor
|
|
194
|
+
*/
|
|
195
|
+
const NaturalIdProperty = (propertyKeys, joiner, config = {}, additionalMetadata = {}) => Property(constants_1.PROPERTY_TYPES.TextProperty, (0, merge_1.default)(config, {
|
|
196
|
+
isString: true,
|
|
197
|
+
validators: (0, lib_1.mergeValidators)(config, (0, lib_1.getCommonTextValidators)(config)),
|
|
198
|
+
lazyLoadMethod: (value, model, modelInstance) => __awaiter(void 0, void 0, void 0, function* () {
|
|
199
|
+
const data = yield propertyKeys.reduce((accP, key) => __awaiter(void 0, void 0, void 0, function* () {
|
|
200
|
+
const acc = yield accP;
|
|
201
|
+
const [head] = (0, utils_1.createHeadAndTail)(key.split('.'), '.');
|
|
202
|
+
const value = yield ((0, lib_1.isReferencedProperty)(modelInstance, head)
|
|
203
|
+
? (0, lib_1.getValueForReferencedModel)(modelInstance, key)
|
|
204
|
+
: (0, lib_1.getValueForModelInstance)(modelInstance, key));
|
|
205
|
+
if (value === undefined) {
|
|
206
|
+
throw new Error(`${key} was undefined but cannot be.`);
|
|
207
|
+
}
|
|
208
|
+
return acc.concat(value);
|
|
209
|
+
}), Promise.resolve([]));
|
|
210
|
+
return data.join(joiner);
|
|
211
|
+
}),
|
|
212
|
+
}), additionalMetadata);
|
|
213
|
+
exports.NaturalIdProperty = NaturalIdProperty;
|
|
214
|
+
// We are adding this here to normalize the name, while maintaining backwards compatability.
|
|
215
|
+
const UniqueIdProperty = UniqueId;
|
|
216
|
+
exports.UniqueIdProperty = UniqueIdProperty;
|
|
218
217
|
//# sourceMappingURL=properties.js.map
|
package/properties.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../src/properties.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yDAAgC;AAChC,
|
|
1
|
+
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../src/properties.ts"],"names":[],"mappings":"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"}
|
package/serialization.d.ts
CHANGED
|
@@ -1,27 +1,3 @@
|
|
|
1
|
-
import { PropertyGetters, toObj,
|
|
2
|
-
declare const toJsonAble: <T extends
|
|
3
|
-
readonly [s: string]: string | number | boolean | readonly string[] | (any & {
|
|
4
|
-
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
5
|
-
}) | readonly number[] | Promise<number> | readonly boolean[] | readonly null[] | readonly (any & {
|
|
6
|
-
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
7
|
-
})[] | Date | readonly Date[] | readonly undefined[] | import("./interfaces").ModelInstance<any, import("./interfaces").Model<any>> | {
|
|
8
|
-
readonly [x: string]: any;
|
|
9
|
-
} | {
|
|
10
|
-
readonly [x: string]: any;
|
|
11
|
-
} | TypedJsonObj<any> | import("./interfaces").ModelInstanceMethod<any & {
|
|
12
|
-
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
13
|
-
}, import("./interfaces").Model<any & {
|
|
14
|
-
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
15
|
-
}>, import("./interfaces").ModelInstance<any & {
|
|
16
|
-
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
17
|
-
}, import("./interfaces").Model<any & {
|
|
18
|
-
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
19
|
-
}>>> | import("./interfaces").ModelMethod<any & {
|
|
20
|
-
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
21
|
-
}, import("./interfaces").Model<any & {
|
|
22
|
-
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
23
|
-
}>> | null | undefined;
|
|
24
|
-
} & {
|
|
25
|
-
readonly id?: import("./interfaces").PrimaryKeyType | undefined;
|
|
26
|
-
}>(keyToFunc: PropertyGetters<T, import("./interfaces").Model<T>>) => toObj<T>;
|
|
1
|
+
import { PropertyGetters, toObj, FunctionalModel } from './interfaces';
|
|
2
|
+
declare const toJsonAble: <T extends FunctionalModel>(keyToFunc: PropertyGetters<T>) => toObj<T>;
|
|
27
3
|
export { toJsonAble };
|
package/serialization.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yDAAgC;AAShC,MAAM,SAAS,GAAG,CAAO,KAAU,EAA4B,EAAE;IAC/D,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,OAAO,IAAI,CAAA;KACZ;IACD,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,OAAO,IAAI,CAAA;KACZ;IACD,MAAM,IAAI,GAAG,OAAO,KAAK,CAAA;IACzB,MAAM,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yDAAgC;AAShC,MAAM,SAAS,GAAG,CAAO,KAAU,EAA4B,EAAE;IAC/D,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,OAAO,IAAI,CAAA;KACZ;IACD,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,OAAO,IAAI,CAAA;KACZ;IACD,MAAM,IAAI,GAAG,OAAO,KAAK,CAAA;IACzB,MAAM,UAAU,GAAG,KAAgC,CAAA;IACnD,IAAI,IAAI,KAAK,UAAU,EAAE;QACvB,OAAO,SAAS,CAAC,MAAM,UAAU,EAAE,CAAC,CAAA;KACrC;IACD,gBAAgB;IAChB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAA;IAC3B,IAAI,OAAO,EAAE;QACX,OAAO,SAAS,CAAC,MAAM,OAAO,EAAE,CAAC,CAAA;KAClC;IACD,QAAQ;IACR,MAAM,MAAM,GAAG,KAAa,CAAA;IAC5B,IAAI,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW,EAAE;QAC3C,OAAO,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;KACvC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA,CAAA;AAED,MAAM,UAAU,GACd,CAA4B,SAA6B,EAAY,EAAE,CACvE,GAAG,EAAE;IACH,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAO,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAClE,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,CAA6B,CAAA;AACrD,CAAC,CAAA;AAEM,gCAAU"}
|
package/utils.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
declare const createUuid: () => string;
|
|
2
2
|
declare const toTitleCase: (string: string) => string;
|
|
3
3
|
declare const loweredTitleCase: (string: string) => string;
|
|
4
|
-
declare
|
|
5
|
-
|
|
4
|
+
declare const isPromise: <T>(something: any) => something is Promise<T>;
|
|
5
|
+
declare const singularize: (word: string) => string;
|
|
6
|
+
declare const createHeadAndTail: (values: readonly string[], joiner: string) => string[];
|
|
7
|
+
export { loweredTitleCase, toTitleCase, createUuid, isPromise, createHeadAndTail, singularize, };
|
package/utils.js
CHANGED
|
@@ -3,7 +3,7 @@ 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.isPromise = exports.createUuid = exports.toTitleCase = exports.loweredTitleCase = void 0;
|
|
6
|
+
exports.singularize = exports.createHeadAndTail = exports.isPromise = exports.createUuid = exports.toTitleCase = exports.loweredTitleCase = void 0;
|
|
7
7
|
// @ts-ignore
|
|
8
8
|
const get_random_values_1 = __importDefault(require("get-random-values"));
|
|
9
9
|
const HEX = 16;
|
|
@@ -41,11 +41,33 @@ const loweredTitleCase = (string) => {
|
|
|
41
41
|
return `${string.slice(0, 1).toLowerCase()}${string.slice(1)}`;
|
|
42
42
|
};
|
|
43
43
|
exports.loweredTitleCase = loweredTitleCase;
|
|
44
|
-
|
|
44
|
+
const isPromise = (something) => {
|
|
45
45
|
if (something === null || something === void 0 ? void 0 : something.then) {
|
|
46
46
|
return true;
|
|
47
47
|
}
|
|
48
48
|
return false;
|
|
49
|
-
}
|
|
49
|
+
};
|
|
50
50
|
exports.isPromise = isPromise;
|
|
51
|
+
var PluralEndings;
|
|
52
|
+
(function (PluralEndings) {
|
|
53
|
+
PluralEndings["ves"] = "fe";
|
|
54
|
+
PluralEndings["ies"] = "y";
|
|
55
|
+
PluralEndings["i"] = "us";
|
|
56
|
+
PluralEndings["zes"] = "ze";
|
|
57
|
+
PluralEndings["ses"] = "s";
|
|
58
|
+
PluralEndings["es"] = "e";
|
|
59
|
+
PluralEndings["s"] = "";
|
|
60
|
+
})(PluralEndings || (PluralEndings = {}));
|
|
61
|
+
const _singularizingRe = new RegExp(`(${Object.keys(PluralEndings).join('|')})$`, 'u');
|
|
62
|
+
const singularize = (word) => {
|
|
63
|
+
// @ts-ignore
|
|
64
|
+
return word.replace(_singularizingRe, r => PluralEndings[r]);
|
|
65
|
+
};
|
|
66
|
+
exports.singularize = singularize;
|
|
67
|
+
const createHeadAndTail = (values, joiner) => {
|
|
68
|
+
const head = values[0];
|
|
69
|
+
const tail = values.slice(1).join(joiner);
|
|
70
|
+
return [head, tail];
|
|
71
|
+
};
|
|
72
|
+
exports.createHeadAndTail = createHeadAndTail;
|
|
51
73
|
//# sourceMappingURL=utils.js.map
|
package/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;AAAA,aAAa;AACb,0EAAmD;AAEnD,MAAM,GAAG,GAAG,EAAE,CAAA;AACd,MAAM,IAAI,GAAG,CAAC,CAAA;AACd,MAAM,OAAO,GAAG,EAAE,CAAA;AAElB,MAAM,eAAe,GAAG,GAAe,EAAE;IACvC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IAC/B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;SAC5C;QACD,aAAa;QACb,IAAI,MAAM,CAAC,QAAQ,EAAE;YACnB,aAAa;YACb,OAAO,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;SAC9C;KACF;IAED,OAAO,IAAA,2BAAmB,EAAC,KAAK,CAAC,CAAA;AACnC,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,GAAW,EAAE;IAC9B,mEAAmE;IACnE,aAAa;IACb,mEAAmE;IACnE,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAM,EAAE,EAAE;QACvE,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;QAC5D,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;AAAA,aAAa;AACb,0EAAmD;AAEnD,MAAM,GAAG,GAAG,EAAE,CAAA;AACd,MAAM,IAAI,GAAG,CAAC,CAAA;AACd,MAAM,OAAO,GAAG,EAAE,CAAA;AAElB,MAAM,eAAe,GAAG,GAAe,EAAE;IACvC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IAC/B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;SAC5C;QACD,aAAa;QACb,IAAI,MAAM,CAAC,QAAQ,EAAE;YACnB,aAAa;YACb,OAAO,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;SAC9C;KACF;IAED,OAAO,IAAA,2BAAmB,EAAC,KAAK,CAAC,CAAA;AACnC,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,GAAW,EAAE;IAC9B,mEAAmE;IACnE,aAAa;IACb,mEAAmE;IACnE,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAM,EAAE,EAAE;QACvE,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;QAC5D,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AA6CC,gCAAU;AA3CZ,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,EAAE;IACrC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AAChE,CAAC,CAAA;AAwCC,kCAAW;AAtCb,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC1C,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AAChE,CAAC,CAAA;AAmCC,4CAAgB;AAjClB,MAAM,SAAS,GAAG,CAAI,SAAc,EAA2B,EAAE;IAC/D,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,EAAE;QACnB,OAAO,IAAI,CAAA;KACZ;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AA+BC,8BAAS;AA7BX,IAAK,aAQJ;AARD,WAAK,aAAa;IAChB,2BAAU,CAAA;IACV,0BAAS,CAAA;IACT,yBAAQ,CAAA;IACR,2BAAU,CAAA;IACV,0BAAS,CAAA;IACT,yBAAQ,CAAA;IACR,uBAAM,CAAA;AACR,CAAC,EARI,aAAa,KAAb,aAAa,QAQjB;AACD,MAAM,gBAAgB,GAAG,IAAI,MAAM,CACjC,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAC5C,GAAG,CACJ,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE;IACnC,aAAa;IACb,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9D,CAAC,CAAA;AAcC,kCAAW;AAZb,MAAM,iBAAiB,GAAG,CAAC,MAAyB,EAAE,MAAc,EAAE,EAAE;IACtE,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACtB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACzC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AACrB,CAAC,CAAA;AAOC,8CAAiB"}
|