@ngdux/data-model-common 1.4.0 → 2.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/{esm2020 → esm2022}/index.mjs +8 -8
- package/{esm2020 → esm2022}/lib/models/error.dto.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/filtering-options.model.mjs +19 -19
- package/{esm2020 → esm2022}/lib/models/form-service.model.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/list-service.model.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/paging-options.model.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/request-options.model.mjs +16 -16
- package/{esm2020 → esm2022}/lib/models/request-state.model.mjs +7 -7
- package/{esm2020 → esm2022}/lib/models/sorting-options.model.mjs +8 -8
- package/{esm2020 → esm2022}/ngdux-data-model-common.mjs +4 -4
- package/{esm2020 → esm2022}/test/index.mjs +3 -3
- package/esm2022/test/lib/common.fixture.mjs +204 -0
- package/{esm2020 → esm2022}/test/lib/error.fixture.mjs +9 -9
- package/{esm2020 → esm2022}/test/ngdux-data-model-common-test.mjs +4 -4
- package/{fesm2015 → fesm2022}/ngdux-data-model-common-test.mjs +211 -207
- package/fesm2022/ngdux-data-model-common-test.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ngdux-data-model-common.mjs +46 -46
- package/fesm2022/ngdux-data-model-common.mjs.map +1 -0
- package/index.d.ts +8 -8
- package/lib/models/error.dto.d.ts +11 -11
- package/lib/models/filtering-options.model.d.ts +34 -34
- package/lib/models/form-service.model.d.ts +20 -20
- package/lib/models/list-service.model.d.ts +16 -24
- package/lib/models/paging-options.model.d.ts +11 -11
- package/lib/models/request-options.model.d.ts +16 -16
- package/lib/models/request-state.model.d.ts +6 -6
- package/lib/models/sorting-options.model.d.ts +14 -19
- package/package.json +11 -67
- package/test/index.d.ts +3 -3
- package/test/lib/common.fixture.d.ts +67 -66
- package/test/lib/error.fixture.d.ts +2 -2
- package/esm2020/test/lib/common.fixture.mjs +0 -201
- package/fesm2015/ngdux-data-model-common-test.mjs.map +0 -1
- package/fesm2015/ngdux-data-model-common.mjs +0 -60
- package/fesm2015/ngdux-data-model-common.mjs.map +0 -1
- package/fesm2020/ngdux-data-model-common-test.mjs +0 -280
- package/fesm2020/ngdux-data-model-common-test.mjs.map +0 -1
- package/fesm2020/ngdux-data-model-common.mjs.map +0 -1
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
import { faker } from '@faker-js/faker';
|
|
2
|
-
export const DEFAULT_RESOURCE_COLLECTION_SIZE = 50;
|
|
3
|
-
export function getBoolean() {
|
|
4
|
-
return faker.datatype.boolean();
|
|
5
|
-
}
|
|
6
|
-
export function getPositiveNumber() {
|
|
7
|
-
return faker.datatype.number({ min: 1 });
|
|
8
|
-
}
|
|
9
|
-
export function getNumberInRange(from, to) {
|
|
10
|
-
return faker.datatype.number({ min: from, max: to });
|
|
11
|
-
}
|
|
12
|
-
export function getWord() {
|
|
13
|
-
return faker.random.word();
|
|
14
|
-
}
|
|
15
|
-
export function getUniqueWord() {
|
|
16
|
-
return faker.unique(faker.random.word, undefined, { maxTime: 100, maxRetries: 100 });
|
|
17
|
-
}
|
|
18
|
-
export function getFirstName() {
|
|
19
|
-
return faker.name.firstName();
|
|
20
|
-
}
|
|
21
|
-
export function getLastName() {
|
|
22
|
-
return faker.name.lastName();
|
|
23
|
-
}
|
|
24
|
-
export function getJobTitle() {
|
|
25
|
-
return faker.company.catchPhrase();
|
|
26
|
-
}
|
|
27
|
-
export function getPhoneNumber() {
|
|
28
|
-
return `+${faker.phone.number()}`;
|
|
29
|
-
}
|
|
30
|
-
export function getAvatar() {
|
|
31
|
-
return faker.image.avatar();
|
|
32
|
-
}
|
|
33
|
-
export function getLogo() {
|
|
34
|
-
return faker.image.business();
|
|
35
|
-
}
|
|
36
|
-
export function getColor() {
|
|
37
|
-
return faker.internet.color();
|
|
38
|
-
}
|
|
39
|
-
export function getFont() {
|
|
40
|
-
return getElementFromArray(['Arial', 'Helvetica']);
|
|
41
|
-
}
|
|
42
|
-
export function getGoogleFont() {
|
|
43
|
-
return getElementFromArray(['Roboto', 'Roboto Mono', 'Open Sans', 'Gotu', 'Lato']);
|
|
44
|
-
}
|
|
45
|
-
export function getEmail(firstName, lastName) {
|
|
46
|
-
return faker.internet.email(firstName, lastName).toLocaleLowerCase();
|
|
47
|
-
}
|
|
48
|
-
export function getElementFromArray(array) {
|
|
49
|
-
return faker.helpers.arrayElement(array);
|
|
50
|
-
}
|
|
51
|
-
export function getElementsFromArray(array, nbOfElements = array.length) {
|
|
52
|
-
const elements = new Set();
|
|
53
|
-
if (nbOfElements > array.length) {
|
|
54
|
-
nbOfElements = array.length;
|
|
55
|
-
}
|
|
56
|
-
while (elements.size < nbOfElements) {
|
|
57
|
-
elements.add(getElementFromArray(array));
|
|
58
|
-
}
|
|
59
|
-
return Array.from(elements);
|
|
60
|
-
}
|
|
61
|
-
export function getElementFromEnum(enumeration) {
|
|
62
|
-
// Numeric enums have automatic reverse mapping which means that we need to filter out the keys which are numeric.
|
|
63
|
-
const enumKey = getElementFromArray(Object.keys(enumeration).filter(key => !parseInt(key, 10)));
|
|
64
|
-
return enumeration[enumKey];
|
|
65
|
-
}
|
|
66
|
-
export function getElementsFromEnum(enumeration, nbOfElements = getNumberInRange(1, Object.keys(enumeration).length)) {
|
|
67
|
-
const elements = new Set();
|
|
68
|
-
const enumerationKeys = Object.keys(enumeration);
|
|
69
|
-
if (nbOfElements > enumerationKeys.length) {
|
|
70
|
-
nbOfElements = enumerationKeys.length;
|
|
71
|
-
}
|
|
72
|
-
while (elements.size < nbOfElements) {
|
|
73
|
-
elements.add(enumeration[getElementFromArray(enumerationKeys)]);
|
|
74
|
-
}
|
|
75
|
-
return Array.from(elements);
|
|
76
|
-
}
|
|
77
|
-
export function getEnumValue(enumObj) {
|
|
78
|
-
return getElementFromArray(Object.values(enumObj));
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Return a random object key or path.
|
|
82
|
-
* Ex.:
|
|
83
|
-
* object = { a: { b: { c: 3 }}}
|
|
84
|
-
* return 'a.b.c'
|
|
85
|
-
* @param object any object
|
|
86
|
-
* @param path string
|
|
87
|
-
*/
|
|
88
|
-
// export function getObjectPropertyPath<T>(object: T, path = ''): string {
|
|
89
|
-
// const key = getElementFromArray(Object.keys(object));
|
|
90
|
-
// const nextPath = path ? `${path}.${key}` : key;
|
|
91
|
-
// if (typeof object[key] === 'object' && !(object[key] instanceof Array)) {
|
|
92
|
-
// return getObjectPropertyPath(object[key], nextPath);
|
|
93
|
-
// }
|
|
94
|
-
// return nextPath;
|
|
95
|
-
// }
|
|
96
|
-
export function getLatitude() {
|
|
97
|
-
return +faker.address.latitude();
|
|
98
|
-
}
|
|
99
|
-
export function getLongitude() {
|
|
100
|
-
return +faker.address.longitude();
|
|
101
|
-
}
|
|
102
|
-
export function getStreetName() {
|
|
103
|
-
return faker.address.street();
|
|
104
|
-
}
|
|
105
|
-
export function getZipCode() {
|
|
106
|
-
return faker.address.zipCode();
|
|
107
|
-
}
|
|
108
|
-
export function getCity() {
|
|
109
|
-
return faker.address.city();
|
|
110
|
-
}
|
|
111
|
-
export function getCountryCode() {
|
|
112
|
-
return faker.address.countryCode();
|
|
113
|
-
}
|
|
114
|
-
export function getUrl() {
|
|
115
|
-
return faker.internet.url();
|
|
116
|
-
}
|
|
117
|
-
export function getDomainName() {
|
|
118
|
-
return faker.internet.domainName();
|
|
119
|
-
}
|
|
120
|
-
export function getCompanyName() {
|
|
121
|
-
return faker.company.name();
|
|
122
|
-
}
|
|
123
|
-
export function getSemverVersion() {
|
|
124
|
-
return faker.system.semver();
|
|
125
|
-
}
|
|
126
|
-
export function getLocale() {
|
|
127
|
-
return faker.random.locale();
|
|
128
|
-
}
|
|
129
|
-
export function getYear() {
|
|
130
|
-
const date = faker.date.past(20);
|
|
131
|
-
return date.getFullYear();
|
|
132
|
-
}
|
|
133
|
-
export function getIso8601Date() {
|
|
134
|
-
return faker.date.recent().toISOString();
|
|
135
|
-
}
|
|
136
|
-
export function getFutureIso8601Date() {
|
|
137
|
-
return faker.date.future().toISOString();
|
|
138
|
-
}
|
|
139
|
-
export function getTime() {
|
|
140
|
-
const date = faker.date.recent();
|
|
141
|
-
return [date.getHours(), date.getMinutes(), date.getSeconds()].join(':');
|
|
142
|
-
}
|
|
143
|
-
export function getRecentDate(days = 1, refDate = new Date()) {
|
|
144
|
-
return faker.date.recent(days, refDate);
|
|
145
|
-
}
|
|
146
|
-
export function getSoonDate(days = 1, refDate = new Date()) {
|
|
147
|
-
return faker.date.soon(days, refDate);
|
|
148
|
-
}
|
|
149
|
-
export function getFewDaysAgoDate(nbOfDays = 3) {
|
|
150
|
-
const fewDaysAgo = new Date();
|
|
151
|
-
fewDaysAgo.setDate(fewDaysAgo.getDate() - nbOfDays);
|
|
152
|
-
return fewDaysAgo;
|
|
153
|
-
}
|
|
154
|
-
export function getInNextDaysDate(nbOfDays = 3) {
|
|
155
|
-
const inTheNextDays = new Date();
|
|
156
|
-
inTheNextDays.setDate(inTheNextDays.getDate() + nbOfDays);
|
|
157
|
-
return inTheNextDays;
|
|
158
|
-
}
|
|
159
|
-
export function getUuid() {
|
|
160
|
-
return faker.datatype.uuid();
|
|
161
|
-
}
|
|
162
|
-
export function getAlpha(count, casing = 'lower') {
|
|
163
|
-
return faker.random.alpha({ count, casing });
|
|
164
|
-
}
|
|
165
|
-
export function getAlphaNumeric(nOfCharacters = 8) {
|
|
166
|
-
return faker.random.alphaNumeric(nOfCharacters);
|
|
167
|
-
}
|
|
168
|
-
export function getCurrencyCode() {
|
|
169
|
-
return faker.finance.currencyCode();
|
|
170
|
-
}
|
|
171
|
-
export function getFinanceAmount() {
|
|
172
|
-
return +faker.finance.amount();
|
|
173
|
-
}
|
|
174
|
-
export function getSentence() {
|
|
175
|
-
return faker.lorem.sentence();
|
|
176
|
-
}
|
|
177
|
-
export function getParagraph() {
|
|
178
|
-
return faker.lorem.paragraph();
|
|
179
|
-
}
|
|
180
|
-
export function getTag() {
|
|
181
|
-
return faker.word.adjective();
|
|
182
|
-
}
|
|
183
|
-
export function getTags(n = getNumberInRange(1, 6)) {
|
|
184
|
-
return [...Array(n)].map(() => getTag());
|
|
185
|
-
}
|
|
186
|
-
export function getVehicleName() {
|
|
187
|
-
return faker.vehicle.vehicle();
|
|
188
|
-
}
|
|
189
|
-
export function getVehicleManufacturer() {
|
|
190
|
-
return faker.vehicle.manufacturer();
|
|
191
|
-
}
|
|
192
|
-
export function getVehicleVin() {
|
|
193
|
-
return faker.vehicle.vin();
|
|
194
|
-
}
|
|
195
|
-
export function getVehicleColor() {
|
|
196
|
-
return faker.vehicle.color();
|
|
197
|
-
}
|
|
198
|
-
export function getVehicleModel() {
|
|
199
|
-
return faker.vehicle.model();
|
|
200
|
-
}
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmZpeHR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L2RhdGEtbW9kZWwvY29tbW9uL3Rlc3Qvc3JjL2xpYi9jb21tb24uZml4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFNaEQsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsRUFBRSxDQUFDO0FBRW5ELE1BQU0sVUFBVSxVQUFVO0lBQ3hCLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUNsQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQjtJQUMvQixPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsRUFBVTtJQUN2RCxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN2RCxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU87SUFDckIsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0FBQzdCLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYTtJQUMzQixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztBQUN2RixDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVk7SUFDMUIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0FB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QUMsS0FBSyxFQUFFLENBQUM7QUFDL0IsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlO0lBQzdCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUMvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FzaW5nLCBmYWtlciB9IGZyb20gJ0BmYWtlci1qcy9mYWtlcic7XHJcblxyXG5leHBvcnQgdHlwZSBSZW1vdmVSZWFkb25seTxUPiA9IHtcclxuICAtcmVhZG9ubHkgW1AgaW4ga2V5b2YgVF06IFRbUF07XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgREVGQVVMVF9SRVNPVVJDRV9DT0xMRUNUSU9OX1NJWkUgPSA1MDtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRCb29sZWFuKCk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiBmYWtlci5kYXRhdHlwZS5ib29sZWFuKCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRQb3NpdGl2ZU51bWJlcigpOiBudW1iZXIge1xyXG4gIHJldHVybiBmYWtlci5kYXRhdHlwZS5udW1iZXIoeyBtaW46IDEgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXROdW1iZXJJblJhbmdlKGZyb206IG51bWJlciwgdG86IG51bWJlcik6IG51bWJlciB7XHJcbiAgcmV0dXJuIGZha2VyLmRhdGF0eXBlLm51bWJlcih7IG1pbjogZnJvbSwgbWF4OiB0byB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFdvcmQoKTogc3RyaW5nIHtcclxuICByZXR1cm4gZmFrZXIucmFuZG9tLndvcmQoKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFVuaXF1ZVdvcmQoKTogc3RyaW5nIHtcclxuICByZXR1cm4gZmFrZXIudW5pcXVlKGZha2VyLnJhbmRvbS53b3JkLCB1bmRlZmluZWQsIHsgbWF4VGltZTogMTAwLCBtYXhSZXRyaWVzOiAxMDAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRGaXJzdE5hbWUoKTogc3RyaW5nIHtcclxuICByZXR1cm4gZmFrZXIubmFtZS5maXJzdE5hbWUoKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldExhc3ROYW1lKCk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIGZha2VyLm5hbWUubGFzdE5hbWUoKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEpvYlRpdGxlKCk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIGZha2VyLmNvbXBhbnkuY2F0Y2hQaHJhc2UoKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFBob25lTnVtYmVyKCk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIGArJHtmYWtlci5waG9uZS5udW1iZXIoKX1gO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXZhdGFyKCk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIGZha2VyLmltYWdlLmF2YXRhcigpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0TG9nbygpOiBzdHJpbmcge1xyXG4gIHJldHVybiBmYWtlci5pbWFnZS5idXNpbmVzcygpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29sb3IoKTogc3RyaW5nIHtcclxuICByZXR1cm4gZmFrZXIuaW50ZXJuZXQuY29sb3IoKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEZvbnQoKSB7XHJcbiAgcmV0dXJuIGdldEVsZW1lbnRGcm9tQXJyYXkoWydBcmlhbCcsICdIZWx2ZXRpY2EnXSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRHb29nbGVGb250KCkge1xyXG4gIHJldHVybiBnZXRFbGVtZW50RnJvbUFycmF5KFsnUm9ib3RvJywgJ1JvYm90byBNb25vJywgJ09wZW4gU2FucycsICdHb3R1JywgJ0xhdG8nXSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRFbWFpbChmaXJzdE5hbWU/OiBzdHJpbmcsIGxhc3ROYW1lPzogc3RyaW5nKTogc3RyaW5nIHtcclxuICByZXR1cm4gZmFrZXIuaW50ZXJuZXQuZW1haWwoZmlyc3ROYW1lLCBsYXN0TmFtZSkudG9Mb2NhbGVMb3dlckNhc2UoKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRGcm9tQXJyYXk8VD4oYXJyYXk6IFRbXSk6IFQge1xyXG4gIHJldHVybiBmYWtlci5oZWxwZXJzLmFycmF5RWxlbWVudChhcnJheSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50c0Zyb21BcnJheTxUPihhcnJheTogVFtdLCBuYk9mRWxlbWVudHM6IG51bWJlciA9IGFycmF5Lmxlbmd0aCk6IFRbXSB7XHJcbiAgY29uc3QgZWxlbWVudHM6IFNldDxUPiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgaWYgKG5iT2ZFbGVtZW50cyA+IGFycmF5Lmxlbmd0aCkge1xyXG4gICAgbmJPZkVsZW1lbnRzID0gYXJyYXkubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgd2hpbGUgKGVsZW1lbnRzLnNpemUgPCBuYk9mRWxlbWVudHMpIHtcclxuICAgIGVsZW1lbnRzLmFkZChnZXRFbGVtZW50RnJvbUFycmF5KGFycmF5KSk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gQXJyYXkuZnJvbShlbGVtZW50cyk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50RnJvbUVudW08VD4oZW51bWVyYXRpb246IFJlY29yZDxzdHJpbmcsIFQ+KTogVCB7XHJcbiAgLy8gTnVtZXJpYyBlbnVtcyBoYXZlIGF1dG9tYXRpYyByZXZlcnNlIG1hcHBpbmcgd2hpY2ggbWVhbnMgdGhhdCB3ZSBuZWVkIHRvIGZpbHRlciBvdXQgdGhlIGtleXMgd2hpY2ggYXJlIG51bWVyaWMuXHJcbiAgY29uc3QgZW51bUtleSA9IGdldEVsZW1lbnRGcm9tQXJyYXkoT2JqZWN0LmtleXMoZW51bWVyYXRpb24pLmZpbHRlcihrZXkgPT4gIXBhcnNlSW50KGtleSwgMTApKSk7XHJcbiAgcmV0dXJuIGVudW1lcmF0aW9uW2VudW1LZXldO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudHNGcm9tRW51bTxUPihcclxuICBlbnVtZXJhdGlvbjogUmVjb3JkPHN0cmluZywgVD4sXHJcbiAgbmJPZkVsZW1lbnRzOiBudW1iZXIgPSBnZXROdW1iZXJJblJhbmdlKDEsIE9iamVjdC5rZXlzKGVudW1lcmF0aW9uKS5sZW5ndGgpXHJcbik6IFRbXSB7XHJcbiAgY29uc3QgZWxlbWVudHM6IFNldDxUPiA9IG5ldyBTZXQoKTtcclxuICBjb25zdCBlbnVtZXJhdGlvbktleXMgPSBPYmplY3Qua2V5cyhlbnVtZXJhdGlvbik7XHJcblxyXG4gIGlmIChuYk9mRWxlbWVudHMgPiBlbnVtZXJhdGlvbktleXMubGVuZ3RoKSB7XHJcbiAgICBuYk9mRWxlbWVudHMgPSBlbnVtZXJhdGlvbktleXMubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgd2hpbGUgKGVsZW1lbnRzLnNpemUgPCBuYk9mRWxlbWVudHMpIHtcclxuICAgIGVsZW1lbnRzLmFkZChlbnVtZXJhdGlvbltnZXRFbGVtZW50RnJvbUFycmF5KGVudW1lcmF0aW9uS2V5cyldKTtcclxuICB9XHJcblxyXG4gIHJldHVybiBBcnJheS5mcm9tKGVsZW1lbnRzKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEVudW1WYWx1ZTxUIGV4dGVuZHMgUmVjb3JkPGtleW9mIFQsIHN0cmluZz4+KGVudW1PYmo6IFQpOiBUW2tleW9mIFRdIHtcclxuICByZXR1cm4gZ2V0RWxlbWVudEZyb21BcnJheShPYmplY3QudmFsdWVzKGVudW1PYmopKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiBhIHJhbmRvbSBvYmplY3Qga2V5IG9yIHBhdGguXHJcbiAqIEV4LjpcclxuICogb2JqZWN0ID0geyBhOiB7IGI6IHsgYzogMyB9fX1cclxuICogcmV0dXJuICdhLmIuYydcclxuICogQHBhcmFtIG9iamVjdCBhbnkgb2JqZWN0XHJcbiAqIEBwYXJhbSBwYXRoIHN0cmluZ1xyXG4gKi9cclxuLy8gZXhwb3J0IGZ1bmN0aW9uIGdldE9iamVjdFByb3BlcnR5UGF0aDxUPihvYmplY3Q6IFQsIHBhdGggPSAnJyk6IHN0cmluZyB7XHJcbi8vICAgY29uc3Qga2V5ID0gZ2V0RWxlbWVudEZyb21BcnJheShPYmplY3Qua2V5cyhvYmplY3QpKTtcclxuLy8gICBjb25zdCBuZXh0UGF0aCA9IHBhdGggPyBgJHtwYXRofS4ke2tleX1gIDoga2V5O1xyXG5cclxuLy8gICBpZiAodHlwZW9mIG9iamVjdFtrZXldID09PSAnb2JqZWN0JyAmJiAhKG9iamVjdFtrZXldIGluc3RhbmNlb2YgQXJyYXkpKSB7XHJcbi8vICAgICByZXR1cm4gZ2V0T2JqZWN0UHJvcGVydHlQYXRoKG9iamVjdFtrZXldLCBuZXh0UGF0aCk7XHJcbi8vICAgfVxyXG5cclxuLy8gICByZXR1cm4gbmV4dFBhdGg7XHJcbi8vIH1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRMYXRpdHVkZSgpOiBudW1iZXIge1xyXG4gIHJldHVybiArZmFrZXIuYWRkcmVzcy5sYXRpdHVkZSgpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0TG9uZ2l0dWRlKCk6IG51bWJlciB7XHJcbiAgcmV0dXJuICtmYWtlci5hZGRyZXNzLmxvbmdpdHVkZSgpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RyZWV0TmFtZSgpOiBzdHJpbmcge1xyXG4gIHJldHVybiBmYWtlci5hZGRyZXNzLnN0cmVldCgpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0WmlwQ29kZSgpOiBzdHJpbmcge1xyXG4gIHJldHVybiBmYWtlci5hZGRyZXNzLnppcENvZGUoKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldENpdHkoKTogc3RyaW5nIHtcclxuICByZXR1cm4gZmFrZXIuYWRkcmVzcy5jaXR5KCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRDb3VudHJ5Q29kZSgpOiBzdHJpbmcge1xyXG4gIHJldHVybiBmYWtlci5hZGRyZXNzLmNvdW50cnlDb2RlKCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRVcmwoKTogc3RyaW5nIHtcclxuICByZXR1cm4gZmFrZXIuaW50ZXJuZXQudXJsKCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXREb21haW5OYW1lKCk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIGZha2VyLmludGVybmV0LmRvbWFpbk5hbWUoKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbXBhbnlOYW1lKCk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIGZha2VyLmNvbXBhbnkubmFtZSgpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VtdmVyVmVyc2lvbigpOiBzdHJpbmcge1xyXG4gIHJldHVybiBmYWtlci5zeXN0ZW0uc2VtdmVyKCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRMb2NhbGUoKTogc3RyaW5nIHtcclxuICByZXR1cm4gZmFrZXIucmFuZG9tLmxvY2FsZSgpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0WWVhcigpOiBudW1iZXIge1xyXG4gIGNvbnN0IGRhdGUgPSBmYWtlci5kYXRlLnBhc3QoMjApO1xyXG4gIHJldHVybiBkYXRlLmdldEZ1bGxZZWFyKCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRJc284NjAxRGF0ZSgpOiBzdHJpbmcge1xyXG4gIHJldHVybiBmYWtlci5kYXRlLnJlY2VudCgpLnRvSVNPU3RyaW5nKCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRGdXR1cmVJc284NjAxRGF0ZSgpOiBzdHJpbmcge1xyXG4gIHJldHVybiBmYWtlci5kYXRlLmZ1dHVyZSgpLnRvSVNPU3RyaW5nKCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRUaW1lKCk6IHN0cmluZyB7XHJcbiAgY29uc3QgZGF0ZSA9IGZha2VyLmRhdGUucmVjZW50KCk7XHJcbiAgcmV0dXJuIFtkYXRlLmdldEhvdXJzKCksIGRhdGUuZ2V0TWludXRlcygpLCBkYXRlLmdldFNlY29uZHMoKV0uam9pbignOicpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVjZW50RGF0ZShkYXlzID0gMSwgcmVmRGF0ZSA9IG5ldyBEYXRlKCkpOiBEYXRlIHtcclxuICByZXR1cm4gZmFrZXIuZGF0ZS5yZWNlbnQoZGF5cywgcmVmRGF0ZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRTb29uRGF0ZShkYXlzID0gMSwgcmVmRGF0ZSA9IG5ldyBEYXRlKCkpOiBEYXRlIHtcclxuICByZXR1cm4gZmFrZXIuZGF0ZS5zb29uKGRheXMsIHJlZkRhdGUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmV3RGF5c0Fnb0RhdGUobmJPZkRheXMgPSAzKTogRGF0ZSB7XHJcbiAgY29uc3QgZmV3RGF5c0FnbyA9IG5ldyBEYXRlKCk7XHJcbiAgZmV3RGF5c0Fnby5zZXREYXRlKGZld0RheXNBZ28uZ2V0RGF0ZSgpIC0gbmJPZkRheXMpO1xyXG4gIHJldHVybiBmZXdEYXlzQWdvO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5OZXh0RGF5c0RhdGUobmJPZkRheXMgPSAzKTogRGF0ZSB7XHJcbiAgY29uc3QgaW5UaGVOZXh0RGF5cyA9IG5ldyBEYXRlKCk7XHJcbiAgaW5UaGVOZXh0RGF5cy5zZXREYXRlKGluVGhlTmV4dERheXMuZ2V0RGF0ZSgpICsgbmJPZkRheXMpO1xyXG4gIHJldHVybiBpblRoZU5leHREYXlzO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0VXVpZCgpOiBzdHJpbmcge1xyXG4gIHJldHVybiBmYWtlci5kYXRhdHlwZS51dWlkKCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRBbHBoYShjb3VudDogbnVtYmVyLCBjYXNpbmc6IENhc2luZyA9ICdsb3dlcicpIHtcclxuICByZXR1cm4gZmFrZXIucmFuZG9tLmFscGhhKHsgY291bnQsIGNhc2luZyB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEFscGhhTnVtZXJpYyhuT2ZDaGFyYWN0ZXJzID0gOCk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIGZha2VyLnJhbmRvbS5hbHBoYU51bWVyaWMobk9mQ2hhcmFjdGVycyk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRDdXJyZW5jeUNvZGUoKTogc3RyaW5nIHtcclxuICByZXR1cm4gZmFrZXIuZmluYW5jZS5jdXJyZW5jeUNvZGUoKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbmFuY2VBbW91bnQoKTogbnVtYmVyIHtcclxuICByZXR1cm4gK2Zha2VyLmZpbmFuY2UuYW1vdW50KCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRTZW50ZW5jZSgpOiBzdHJpbmcge1xyXG4gIHJldHVybiBmYWtlci5sb3JlbS5zZW50ZW5jZSgpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFyYWdyYXBoKCk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIGZha2VyLmxvcmVtLnBhcmFncmFwaCgpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGFnKCk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIGZha2VyLndvcmQuYWRqZWN0aXZlKCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRUYWdzKG4gPSBnZXROdW1iZXJJblJhbmdlKDEsIDYpKTogc3RyaW5nW10ge1xyXG4gIHJldHVybiBbLi4uQXJyYXkobildLm1hcCgoKSA9PiBnZXRUYWcoKSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRWZWhpY2xlTmFtZSgpOiBzdHJpbmcge1xyXG4gIHJldHVybiBmYWtlci52ZWhpY2xlLnZlaGljbGUoKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFZlaGljbGVNYW51ZmFjdHVyZXIoKTogc3RyaW5nIHtcclxuICByZXR1cm4gZmFrZXIudmVoaWNsZS5tYW51ZmFjdHVyZXIoKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFZlaGljbGVWaW4oKTogc3RyaW5nIHtcclxuICByZXR1cm4gZmFrZXIudmVoaWNsZS52aW4oKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFZlaGljbGVDb2xvcigpOiBzdHJpbmcge1xyXG4gIHJldHVybiBmYWtlci52ZWhpY2xlLmNvbG9yKCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRWZWhpY2xlTW9kZWwoKTogc3RyaW5nIHtcclxuICByZXR1cm4gZmFrZXIudmVoaWNsZS5tb2RlbCgpO1xyXG59XHJcbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ngdux-data-model-common-test.mjs","sources":["../../../../../../libs/ngdux/data-model/common/test/src/lib/common.fixture.ts","../../../../../../libs/ngdux/data-model/common/test/src/lib/error.fixture.ts","../../../../../../libs/ngdux/data-model/common/test/src/ngdux-data-model-common-test.ts"],"sourcesContent":["import { Casing, faker } from '@faker-js/faker';\r\n\r\nexport type RemoveReadonly<T> = {\r\n -readonly [P in keyof T]: T[P];\r\n};\r\n\r\nexport const DEFAULT_RESOURCE_COLLECTION_SIZE = 50;\r\n\r\nexport function getBoolean(): boolean {\r\n return faker.datatype.boolean();\r\n}\r\n\r\nexport function getPositiveNumber(): number {\r\n return faker.datatype.number({ min: 1 });\r\n}\r\n\r\nexport function getNumberInRange(from: number, to: number): number {\r\n return faker.datatype.number({ min: from, max: to });\r\n}\r\n\r\nexport function getWord(): string {\r\n return faker.random.word();\r\n}\r\n\r\nexport function getUniqueWord(): string {\r\n return faker.unique(faker.random.word, undefined, { maxTime: 100, maxRetries: 100 });\r\n}\r\n\r\nexport function getFirstName(): string {\r\n return faker.name.firstName();\r\n}\r\n\r\nexport function getLastName(): string {\r\n return faker.name.lastName();\r\n}\r\n\r\nexport function getJobTitle(): string {\r\n return faker.company.catchPhrase();\r\n}\r\n\r\nexport function getPhoneNumber(): string {\r\n return `+${faker.phone.number()}`;\r\n}\r\n\r\nexport function getAvatar(): string {\r\n return faker.image.avatar();\r\n}\r\n\r\nexport function getLogo(): string {\r\n return faker.image.business();\r\n}\r\n\r\nexport function getColor(): string {\r\n return faker.internet.color();\r\n}\r\n\r\nexport function getFont() {\r\n return getElementFromArray(['Arial', 'Helvetica']);\r\n}\r\n\r\nexport function getGoogleFont() {\r\n return getElementFromArray(['Roboto', 'Roboto Mono', 'Open Sans', 'Gotu', 'Lato']);\r\n}\r\n\r\nexport function getEmail(firstName?: string, lastName?: string): string {\r\n return faker.internet.email(firstName, lastName).toLocaleLowerCase();\r\n}\r\n\r\nexport function getElementFromArray<T>(array: T[]): T {\r\n return faker.helpers.arrayElement(array);\r\n}\r\n\r\nexport function getElementsFromArray<T>(array: T[], nbOfElements: number = array.length): T[] {\r\n const elements: Set<T> = new Set();\r\n\r\n if (nbOfElements > array.length) {\r\n nbOfElements = array.length;\r\n }\r\n\r\n while (elements.size < nbOfElements) {\r\n elements.add(getElementFromArray(array));\r\n }\r\n\r\n return Array.from(elements);\r\n}\r\n\r\nexport function getElementFromEnum<T>(enumeration: Record<string, T>): T {\r\n // Numeric enums have automatic reverse mapping which means that we need to filter out the keys which are numeric.\r\n const enumKey = getElementFromArray(Object.keys(enumeration).filter(key => !parseInt(key, 10)));\r\n return enumeration[enumKey];\r\n}\r\n\r\nexport function getElementsFromEnum<T>(\r\n enumeration: Record<string, T>,\r\n nbOfElements: number = getNumberInRange(1, Object.keys(enumeration).length)\r\n): T[] {\r\n const elements: Set<T> = new Set();\r\n const enumerationKeys = Object.keys(enumeration);\r\n\r\n if (nbOfElements > enumerationKeys.length) {\r\n nbOfElements = enumerationKeys.length;\r\n }\r\n\r\n while (elements.size < nbOfElements) {\r\n elements.add(enumeration[getElementFromArray(enumerationKeys)]);\r\n }\r\n\r\n return Array.from(elements);\r\n}\r\n\r\nexport function getEnumValue<T extends Record<keyof T, string>>(enumObj: T): T[keyof T] {\r\n return getElementFromArray(Object.values(enumObj));\r\n}\r\n\r\n/**\r\n * Return a random object key or path.\r\n * Ex.:\r\n * object = { a: { b: { c: 3 }}}\r\n * return 'a.b.c'\r\n * @param object any object\r\n * @param path string\r\n */\r\n// export function getObjectPropertyPath<T>(object: T, path = ''): string {\r\n// const key = getElementFromArray(Object.keys(object));\r\n// const nextPath = path ? `${path}.${key}` : key;\r\n\r\n// if (typeof object[key] === 'object' && !(object[key] instanceof Array)) {\r\n// return getObjectPropertyPath(object[key], nextPath);\r\n// }\r\n\r\n// return nextPath;\r\n// }\r\n\r\nexport function getLatitude(): number {\r\n return +faker.address.latitude();\r\n}\r\n\r\nexport function getLongitude(): number {\r\n return +faker.address.longitude();\r\n}\r\n\r\nexport function getStreetName(): string {\r\n return faker.address.street();\r\n}\r\n\r\nexport function getZipCode(): string {\r\n return faker.address.zipCode();\r\n}\r\n\r\nexport function getCity(): string {\r\n return faker.address.city();\r\n}\r\n\r\nexport function getCountryCode(): string {\r\n return faker.address.countryCode();\r\n}\r\n\r\nexport function getUrl(): string {\r\n return faker.internet.url();\r\n}\r\n\r\nexport function getDomainName(): string {\r\n return faker.internet.domainName();\r\n}\r\n\r\nexport function getCompanyName(): string {\r\n return faker.company.name();\r\n}\r\n\r\nexport function getSemverVersion(): string {\r\n return faker.system.semver();\r\n}\r\n\r\nexport function getLocale(): string {\r\n return faker.random.locale();\r\n}\r\n\r\nexport function getYear(): number {\r\n const date = faker.date.past(20);\r\n return date.getFullYear();\r\n}\r\n\r\nexport function getIso8601Date(): string {\r\n return faker.date.recent().toISOString();\r\n}\r\n\r\nexport function getFutureIso8601Date(): string {\r\n return faker.date.future().toISOString();\r\n}\r\n\r\nexport function getTime(): string {\r\n const date = faker.date.recent();\r\n return [date.getHours(), date.getMinutes(), date.getSeconds()].join(':');\r\n}\r\n\r\nexport function getRecentDate(days = 1, refDate = new Date()): Date {\r\n return faker.date.recent(days, refDate);\r\n}\r\n\r\nexport function getSoonDate(days = 1, refDate = new Date()): Date {\r\n return faker.date.soon(days, refDate);\r\n}\r\n\r\nexport function getFewDaysAgoDate(nbOfDays = 3): Date {\r\n const fewDaysAgo = new Date();\r\n fewDaysAgo.setDate(fewDaysAgo.getDate() - nbOfDays);\r\n return fewDaysAgo;\r\n}\r\n\r\nexport function getInNextDaysDate(nbOfDays = 3): Date {\r\n const inTheNextDays = new Date();\r\n inTheNextDays.setDate(inTheNextDays.getDate() + nbOfDays);\r\n return inTheNextDays;\r\n}\r\n\r\nexport function getUuid(): string {\r\n return faker.datatype.uuid();\r\n}\r\n\r\nexport function getAlpha(count: number, casing: Casing = 'lower') {\r\n return faker.random.alpha({ count, casing });\r\n}\r\n\r\nexport function getAlphaNumeric(nOfCharacters = 8): string {\r\n return faker.random.alphaNumeric(nOfCharacters);\r\n}\r\n\r\nexport function getCurrencyCode(): string {\r\n return faker.finance.currencyCode();\r\n}\r\n\r\nexport function getFinanceAmount(): number {\r\n return +faker.finance.amount();\r\n}\r\n\r\nexport function getSentence(): string {\r\n return faker.lorem.sentence();\r\n}\r\n\r\nexport function getParagraph(): string {\r\n return faker.lorem.paragraph();\r\n}\r\n\r\nexport function getTag(): string {\r\n return faker.word.adjective();\r\n}\r\n\r\nexport function getTags(n = getNumberInRange(1, 6)): string[] {\r\n return [...Array(n)].map(() => getTag());\r\n}\r\n\r\nexport function getVehicleName(): string {\r\n return faker.vehicle.vehicle();\r\n}\r\n\r\nexport function getVehicleManufacturer(): string {\r\n return faker.vehicle.manufacturer();\r\n}\r\n\r\nexport function getVehicleVin(): string {\r\n return faker.vehicle.vin();\r\n}\r\n\r\nexport function getVehicleColor(): string {\r\n return faker.vehicle.color();\r\n}\r\n\r\nexport function getVehicleModel(): string {\r\n return faker.vehicle.model();\r\n}\r\n","// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\r\nimport { ErrorDto } from '@ngdux/data-model-common';\r\n\r\nexport function createErrorDto(): ErrorDto {\r\n return {\r\n statusCode: 400,\r\n error: 'TEST_ERROR_CODE',\r\n message: 'test message',\r\n fieldErrors: []\r\n };\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
var FilteringLogic;
|
|
2
|
-
(function (FilteringLogic) {
|
|
3
|
-
FilteringLogic["AND"] = "and";
|
|
4
|
-
FilteringLogic["OR"] = "or";
|
|
5
|
-
})(FilteringLogic || (FilteringLogic = {}));
|
|
6
|
-
const DEFAULT_FILTERING_LOGIC = FilteringLogic.AND;
|
|
7
|
-
var FilteringOperator;
|
|
8
|
-
(function (FilteringOperator) {
|
|
9
|
-
FilteringOperator["Equal"] = "eq";
|
|
10
|
-
FilteringOperator["NotEqual"] = "neq";
|
|
11
|
-
FilteringOperator["LessThan"] = "lt";
|
|
12
|
-
FilteringOperator["LessThanOrEqual"] = "lte";
|
|
13
|
-
FilteringOperator["GreaterThan"] = "gt";
|
|
14
|
-
FilteringOperator["GreaterThanOrEqual"] = "gte";
|
|
15
|
-
FilteringOperator["StartsWith"] = "startswith";
|
|
16
|
-
FilteringOperator["EndsWith"] = "endswith";
|
|
17
|
-
FilteringOperator["Contains"] = "contains";
|
|
18
|
-
})(FilteringOperator || (FilteringOperator = {}));
|
|
19
|
-
const DEFAULT_FILTERING_OPERATOR = FilteringOperator.Equal;
|
|
20
|
-
|
|
21
|
-
const DEFAULT_PAGE = 1;
|
|
22
|
-
const DEFAULT_PAGE_SIZE = 10;
|
|
23
|
-
const DEFAULT_STORED_PAGES = 3;
|
|
24
|
-
|
|
25
|
-
function getDefaultRequestOptions() {
|
|
26
|
-
return {
|
|
27
|
-
pagingOptions: {
|
|
28
|
-
page: DEFAULT_PAGE,
|
|
29
|
-
pageSize: DEFAULT_PAGE_SIZE
|
|
30
|
-
},
|
|
31
|
-
sortingOptions: {},
|
|
32
|
-
filteringOptions: {
|
|
33
|
-
logic: DEFAULT_FILTERING_LOGIC,
|
|
34
|
-
filters: []
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
var RequestState;
|
|
40
|
-
(function (RequestState) {
|
|
41
|
-
RequestState["IDLE"] = "IDLE";
|
|
42
|
-
RequestState["IN_PROGRESS"] = "IN_PROGRESS";
|
|
43
|
-
RequestState["FAILURE"] = "FAILURE";
|
|
44
|
-
RequestState["SUCCESS"] = "SUCCESS";
|
|
45
|
-
})(RequestState || (RequestState = {}));
|
|
46
|
-
|
|
47
|
-
var SortingDirection;
|
|
48
|
-
(function (SortingDirection) {
|
|
49
|
-
SortingDirection["ASCENDING"] = "asc";
|
|
50
|
-
SortingDirection["DESCENDING"] = "desc";
|
|
51
|
-
SortingDirection["NONE"] = "";
|
|
52
|
-
})(SortingDirection || (SortingDirection = {}));
|
|
53
|
-
const DEFAULT_SORTING_ORDER = SortingDirection.ASCENDING;
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Generated bundle index. Do not edit.
|
|
57
|
-
*/
|
|
58
|
-
|
|
59
|
-
export { DEFAULT_FILTERING_LOGIC, DEFAULT_FILTERING_OPERATOR, DEFAULT_PAGE, DEFAULT_PAGE_SIZE, DEFAULT_SORTING_ORDER, DEFAULT_STORED_PAGES, FilteringLogic, FilteringOperator, RequestState, SortingDirection, getDefaultRequestOptions };
|
|
60
|
-
//# sourceMappingURL=ngdux-data-model-common.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ngdux-data-model-common.mjs","sources":["../../../../../../libs/ngdux/data-model/common/src/lib/models/filtering-options.model.ts","../../../../../../libs/ngdux/data-model/common/src/lib/models/paging-options.model.ts","../../../../../../libs/ngdux/data-model/common/src/lib/models/request-options.model.ts","../../../../../../libs/ngdux/data-model/common/src/lib/models/request-state.model.ts","../../../../../../libs/ngdux/data-model/common/src/lib/models/sorting-options.model.ts","../../../../../../libs/ngdux/data-model/common/src/ngdux-data-model-common.ts"],"sourcesContent":["export enum FilteringLogic {\r\n AND = 'and',\r\n OR = 'or'\r\n}\r\n\r\nexport const DEFAULT_FILTERING_LOGIC = FilteringLogic.AND;\r\n\r\nexport enum FilteringOperator {\r\n Equal = 'eq',\r\n NotEqual = 'neq',\r\n LessThan = 'lt',\r\n LessThanOrEqual = 'lte',\r\n GreaterThan = 'gt',\r\n GreaterThanOrEqual = 'gte',\r\n StartsWith = 'startswith',\r\n EndsWith = 'endswith',\r\n Contains = 'contains'\r\n}\r\n\r\nexport const DEFAULT_FILTERING_OPERATOR = FilteringOperator.Equal;\r\n\r\n/**\r\n * Defines the filter criterion for a single resource field.\r\n * Field, filter value and operator are required.\r\n */\r\nexport interface FilteringField {\r\n field: string;\r\n value: string;\r\n operator: FilteringOperator;\r\n}\r\n\r\n/**\r\n * The options required to filter resources by one or multiple fields.\r\n * Defines which fields to filter the resources by.\r\n */\r\nexport interface FilteringOptions {\r\n filters: Array<FilteringField | FilteringOptions>;\r\n logic: FilteringLogic;\r\n}\r\n","export const DEFAULT_PAGE = 1;\r\nexport const DEFAULT_PAGE_SIZE = 10;\r\nexport const DEFAULT_STORED_PAGES = 3;\r\n\r\n/**\r\n * The options required to make a resource request for paged resources.\r\n * This defines which page and how many resources per page to return.\r\n */\r\nexport interface PagingOptions {\r\n page: number;\r\n pageSize: number;\r\n}\r\n","import { DEFAULT_FILTERING_LOGIC, FilteringOptions } from './filtering-options.model';\r\nimport { DEFAULT_PAGE, DEFAULT_PAGE_SIZE, PagingOptions } from './paging-options.model';\r\nimport { SortingField, SortingOptions } from './sorting-options.model';\r\n\r\nexport interface RequestOptions<Params = Record<string, string>> {\r\n requestParameters?: Params;\r\n pagingOptions: PagingOptions;\r\n sortingOptions: SortingOptions;\r\n filteringOptions: FilteringOptions;\r\n}\r\n\r\nexport interface QueryOptionsDto {\r\n filter?: FilteringOptions;\r\n sort?: SortingField[];\r\n page?: number;\r\n pageSize?: number;\r\n}\r\n\r\nexport function getDefaultRequestOptions<Params = Record<string, string>>(): RequestOptions<Params> {\r\n return {\r\n pagingOptions: {\r\n page: DEFAULT_PAGE,\r\n pageSize: DEFAULT_PAGE_SIZE\r\n },\r\n sortingOptions: {},\r\n filteringOptions: {\r\n logic: DEFAULT_FILTERING_LOGIC,\r\n filters: []\r\n }\r\n };\r\n}\r\n","export enum RequestState {\r\n IDLE = 'IDLE',\r\n IN_PROGRESS = 'IN_PROGRESS',\r\n FAILURE = 'FAILURE',\r\n SUCCESS = 'SUCCESS'\r\n}\r\n","export enum SortingDirection {\r\n ASCENDING = 'asc',\r\n DESCENDING = 'desc',\r\n NONE = ''\r\n}\r\n\r\nexport const DEFAULT_SORTING_ORDER = SortingDirection.ASCENDING;\r\n\r\n/**\r\n * Defines the sorting criterion for a single resource field.\r\n * Name and sorting order are required.\r\n */\r\nexport interface SortingField {\r\n field: string;\r\n direction: SortingDirection;\r\n}\r\n\r\n/**\r\n * The options required to sort resources by one or multiple fields.\r\n * Defines which fields to sort the resources by.\r\n */\r\n//TODO: remove it\r\nexport type SortingOptions = Record<string, SortingField>;\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAY,IAAA,eAGX;AAHD,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,cAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACX,CAAC,EAHW,cAAc,KAAd,cAAc,GAGzB,EAAA,CAAA,CAAA,CAAA;AAEY,MAAA,uBAAuB,GAAG,cAAc,CAAC,IAAI;AAE9C,IAAA,kBAUX;AAVD,CAAA,UAAY,iBAAiB,EAAA;AAC3B,IAAA,iBAAA,CAAA,OAAA,CAAA,GAAA,IAAY,CAAA;AACZ,IAAA,iBAAA,CAAA,UAAA,CAAA,GAAA,KAAgB,CAAA;AAChB,IAAA,iBAAA,CAAA,UAAA,CAAA,GAAA,IAAe,CAAA;AACf,IAAA,iBAAA,CAAA,iBAAA,CAAA,GAAA,KAAuB,CAAA;AACvB,IAAA,iBAAA,CAAA,aAAA,CAAA,GAAA,IAAkB,CAAA;AAClB,IAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,KAA0B,CAAA;AAC1B,IAAA,iBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,iBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,iBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACvB,CAAC,EAVW,iBAAiB,KAAjB,iBAAiB,GAU5B,EAAA,CAAA,CAAA,CAAA;AAEY,MAAA,0BAA0B,GAAG,iBAAiB,CAAC;;ACnBrD,MAAM,YAAY,GAAG,EAAE;AACvB,MAAM,iBAAiB,GAAG,GAAG;AAC7B,MAAM,oBAAoB,GAAG;;SCgBpB,wBAAwB,GAAA;IACtC,OAAO;AACL,QAAA,aAAa,EAAE;AACb,YAAA,IAAI,EAAE,YAAY;AAClB,YAAA,QAAQ,EAAE,iBAAiB;AAC5B,SAAA;AACD,QAAA,cAAc,EAAE,EAAE;AAClB,QAAA,gBAAgB,EAAE;AAChB,YAAA,KAAK,EAAE,uBAAuB;AAC9B,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;KACF,CAAC;AACJ;;AC9BY,IAAA,aAKX;AALD,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,YAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,CAAC,EALW,YAAY,KAAZ,YAAY,GAKvB,EAAA,CAAA,CAAA;;ACLW,IAAA,iBAIX;AAJD,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,WAAA,CAAA,GAAA,KAAiB,CAAA;AACjB,IAAA,gBAAA,CAAA,YAAA,CAAA,GAAA,MAAmB,CAAA;AACnB,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,EAAS,CAAA;AACX,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,GAI3B,EAAA,CAAA,CAAA,CAAA;AAEY,MAAA,qBAAqB,GAAG,gBAAgB,CAAC;;ACNtD;;AAEG;;;;"}
|
|
@@ -1,280 +0,0 @@
|
|
|
1
|
-
import { faker } from '@faker-js/faker';
|
|
2
|
-
|
|
3
|
-
const DEFAULT_RESOURCE_COLLECTION_SIZE = 50;
|
|
4
|
-
function getBoolean() {
|
|
5
|
-
return faker.datatype.boolean();
|
|
6
|
-
}
|
|
7
|
-
function getPositiveNumber() {
|
|
8
|
-
return faker.datatype.number({ min: 1 });
|
|
9
|
-
}
|
|
10
|
-
function getNumberInRange(from, to) {
|
|
11
|
-
return faker.datatype.number({ min: from, max: to });
|
|
12
|
-
}
|
|
13
|
-
function getWord() {
|
|
14
|
-
return faker.random.word();
|
|
15
|
-
}
|
|
16
|
-
function getUniqueWord() {
|
|
17
|
-
return faker.unique(faker.random.word, undefined, { maxTime: 100, maxRetries: 100 });
|
|
18
|
-
}
|
|
19
|
-
function getFirstName() {
|
|
20
|
-
return faker.name.firstName();
|
|
21
|
-
}
|
|
22
|
-
function getLastName() {
|
|
23
|
-
return faker.name.lastName();
|
|
24
|
-
}
|
|
25
|
-
function getJobTitle() {
|
|
26
|
-
return faker.company.catchPhrase();
|
|
27
|
-
}
|
|
28
|
-
function getPhoneNumber() {
|
|
29
|
-
return `+${faker.phone.number()}`;
|
|
30
|
-
}
|
|
31
|
-
function getAvatar() {
|
|
32
|
-
return faker.image.avatar();
|
|
33
|
-
}
|
|
34
|
-
function getLogo() {
|
|
35
|
-
return faker.image.business();
|
|
36
|
-
}
|
|
37
|
-
function getColor() {
|
|
38
|
-
return faker.internet.color();
|
|
39
|
-
}
|
|
40
|
-
function getFont() {
|
|
41
|
-
return getElementFromArray(['Arial', 'Helvetica']);
|
|
42
|
-
}
|
|
43
|
-
function getGoogleFont() {
|
|
44
|
-
return getElementFromArray(['Roboto', 'Roboto Mono', 'Open Sans', 'Gotu', 'Lato']);
|
|
45
|
-
}
|
|
46
|
-
function getEmail(firstName, lastName) {
|
|
47
|
-
return faker.internet.email(firstName, lastName).toLocaleLowerCase();
|
|
48
|
-
}
|
|
49
|
-
function getElementFromArray(array) {
|
|
50
|
-
return faker.helpers.arrayElement(array);
|
|
51
|
-
}
|
|
52
|
-
function getElementsFromArray(array, nbOfElements = array.length) {
|
|
53
|
-
const elements = new Set();
|
|
54
|
-
if (nbOfElements > array.length) {
|
|
55
|
-
nbOfElements = array.length;
|
|
56
|
-
}
|
|
57
|
-
while (elements.size < nbOfElements) {
|
|
58
|
-
elements.add(getElementFromArray(array));
|
|
59
|
-
}
|
|
60
|
-
return Array.from(elements);
|
|
61
|
-
}
|
|
62
|
-
function getElementFromEnum(enumeration) {
|
|
63
|
-
// Numeric enums have automatic reverse mapping which means that we need to filter out the keys which are numeric.
|
|
64
|
-
const enumKey = getElementFromArray(Object.keys(enumeration).filter(key => !parseInt(key, 10)));
|
|
65
|
-
return enumeration[enumKey];
|
|
66
|
-
}
|
|
67
|
-
function getElementsFromEnum(enumeration, nbOfElements = getNumberInRange(1, Object.keys(enumeration).length)) {
|
|
68
|
-
const elements = new Set();
|
|
69
|
-
const enumerationKeys = Object.keys(enumeration);
|
|
70
|
-
if (nbOfElements > enumerationKeys.length) {
|
|
71
|
-
nbOfElements = enumerationKeys.length;
|
|
72
|
-
}
|
|
73
|
-
while (elements.size < nbOfElements) {
|
|
74
|
-
elements.add(enumeration[getElementFromArray(enumerationKeys)]);
|
|
75
|
-
}
|
|
76
|
-
return Array.from(elements);
|
|
77
|
-
}
|
|
78
|
-
function getEnumValue(enumObj) {
|
|
79
|
-
return getElementFromArray(Object.values(enumObj));
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Return a random object key or path.
|
|
83
|
-
* Ex.:
|
|
84
|
-
* object = { a: { b: { c: 3 }}}
|
|
85
|
-
* return 'a.b.c'
|
|
86
|
-
* @param object any object
|
|
87
|
-
* @param path string
|
|
88
|
-
*/
|
|
89
|
-
// export function getObjectPropertyPath<T>(object: T, path = ''): string {
|
|
90
|
-
// const key = getElementFromArray(Object.keys(object));
|
|
91
|
-
// const nextPath = path ? `${path}.${key}` : key;
|
|
92
|
-
// if (typeof object[key] === 'object' && !(object[key] instanceof Array)) {
|
|
93
|
-
// return getObjectPropertyPath(object[key], nextPath);
|
|
94
|
-
// }
|
|
95
|
-
// return nextPath;
|
|
96
|
-
// }
|
|
97
|
-
function getLatitude() {
|
|
98
|
-
return +faker.address.latitude();
|
|
99
|
-
}
|
|
100
|
-
function getLongitude() {
|
|
101
|
-
return +faker.address.longitude();
|
|
102
|
-
}
|
|
103
|
-
function getStreetName() {
|
|
104
|
-
return faker.address.street();
|
|
105
|
-
}
|
|
106
|
-
function getZipCode() {
|
|
107
|
-
return faker.address.zipCode();
|
|
108
|
-
}
|
|
109
|
-
function getCity() {
|
|
110
|
-
return faker.address.city();
|
|
111
|
-
}
|
|
112
|
-
function getCountryCode() {
|
|
113
|
-
return faker.address.countryCode();
|
|
114
|
-
}
|
|
115
|
-
function getUrl() {
|
|
116
|
-
return faker.internet.url();
|
|
117
|
-
}
|
|
118
|
-
function getDomainName() {
|
|
119
|
-
return faker.internet.domainName();
|
|
120
|
-
}
|
|
121
|
-
function getCompanyName() {
|
|
122
|
-
return faker.company.name();
|
|
123
|
-
}
|
|
124
|
-
function getSemverVersion() {
|
|
125
|
-
return faker.system.semver();
|
|
126
|
-
}
|
|
127
|
-
function getLocale() {
|
|
128
|
-
return faker.random.locale();
|
|
129
|
-
}
|
|
130
|
-
function getYear() {
|
|
131
|
-
const date = faker.date.past(20);
|
|
132
|
-
return date.getFullYear();
|
|
133
|
-
}
|
|
134
|
-
function getIso8601Date() {
|
|
135
|
-
return faker.date.recent().toISOString();
|
|
136
|
-
}
|
|
137
|
-
function getFutureIso8601Date() {
|
|
138
|
-
return faker.date.future().toISOString();
|
|
139
|
-
}
|
|
140
|
-
function getTime() {
|
|
141
|
-
const date = faker.date.recent();
|
|
142
|
-
return [date.getHours(), date.getMinutes(), date.getSeconds()].join(':');
|
|
143
|
-
}
|
|
144
|
-
function getRecentDate(days = 1, refDate = new Date()) {
|
|
145
|
-
return faker.date.recent(days, refDate);
|
|
146
|
-
}
|
|
147
|
-
function getSoonDate(days = 1, refDate = new Date()) {
|
|
148
|
-
return faker.date.soon(days, refDate);
|
|
149
|
-
}
|
|
150
|
-
function getFewDaysAgoDate(nbOfDays = 3) {
|
|
151
|
-
const fewDaysAgo = new Date();
|
|
152
|
-
fewDaysAgo.setDate(fewDaysAgo.getDate() - nbOfDays);
|
|
153
|
-
return fewDaysAgo;
|
|
154
|
-
}
|
|
155
|
-
function getInNextDaysDate(nbOfDays = 3) {
|
|
156
|
-
const inTheNextDays = new Date();
|
|
157
|
-
inTheNextDays.setDate(inTheNextDays.getDate() + nbOfDays);
|
|
158
|
-
return inTheNextDays;
|
|
159
|
-
}
|
|
160
|
-
function getUuid() {
|
|
161
|
-
return faker.datatype.uuid();
|
|
162
|
-
}
|
|
163
|
-
function getAlpha(count, casing = 'lower') {
|
|
164
|
-
return faker.random.alpha({ count, casing });
|
|
165
|
-
}
|
|
166
|
-
function getAlphaNumeric(nOfCharacters = 8) {
|
|
167
|
-
return faker.random.alphaNumeric(nOfCharacters);
|
|
168
|
-
}
|
|
169
|
-
function getCurrencyCode() {
|
|
170
|
-
return faker.finance.currencyCode();
|
|
171
|
-
}
|
|
172
|
-
function getFinanceAmount() {
|
|
173
|
-
return +faker.finance.amount();
|
|
174
|
-
}
|
|
175
|
-
function getSentence() {
|
|
176
|
-
return faker.lorem.sentence();
|
|
177
|
-
}
|
|
178
|
-
function getParagraph() {
|
|
179
|
-
return faker.lorem.paragraph();
|
|
180
|
-
}
|
|
181
|
-
function getTag() {
|
|
182
|
-
return faker.word.adjective();
|
|
183
|
-
}
|
|
184
|
-
function getTags(n = getNumberInRange(1, 6)) {
|
|
185
|
-
return [...Array(n)].map(() => getTag());
|
|
186
|
-
}
|
|
187
|
-
function getVehicleName() {
|
|
188
|
-
return faker.vehicle.vehicle();
|
|
189
|
-
}
|
|
190
|
-
function getVehicleManufacturer() {
|
|
191
|
-
return faker.vehicle.manufacturer();
|
|
192
|
-
}
|
|
193
|
-
function getVehicleVin() {
|
|
194
|
-
return faker.vehicle.vin();
|
|
195
|
-
}
|
|
196
|
-
function getVehicleColor() {
|
|
197
|
-
return faker.vehicle.color();
|
|
198
|
-
}
|
|
199
|
-
function getVehicleModel() {
|
|
200
|
-
return faker.vehicle.model();
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
var common_fixture = /*#__PURE__*/Object.freeze({
|
|
204
|
-
__proto__: null,
|
|
205
|
-
DEFAULT_RESOURCE_COLLECTION_SIZE: DEFAULT_RESOURCE_COLLECTION_SIZE,
|
|
206
|
-
getAlpha: getAlpha,
|
|
207
|
-
getAlphaNumeric: getAlphaNumeric,
|
|
208
|
-
getAvatar: getAvatar,
|
|
209
|
-
getBoolean: getBoolean,
|
|
210
|
-
getCity: getCity,
|
|
211
|
-
getColor: getColor,
|
|
212
|
-
getCompanyName: getCompanyName,
|
|
213
|
-
getCountryCode: getCountryCode,
|
|
214
|
-
getCurrencyCode: getCurrencyCode,
|
|
215
|
-
getDomainName: getDomainName,
|
|
216
|
-
getElementFromArray: getElementFromArray,
|
|
217
|
-
getElementFromEnum: getElementFromEnum,
|
|
218
|
-
getElementsFromArray: getElementsFromArray,
|
|
219
|
-
getElementsFromEnum: getElementsFromEnum,
|
|
220
|
-
getEmail: getEmail,
|
|
221
|
-
getEnumValue: getEnumValue,
|
|
222
|
-
getFewDaysAgoDate: getFewDaysAgoDate,
|
|
223
|
-
getFinanceAmount: getFinanceAmount,
|
|
224
|
-
getFirstName: getFirstName,
|
|
225
|
-
getFont: getFont,
|
|
226
|
-
getFutureIso8601Date: getFutureIso8601Date,
|
|
227
|
-
getGoogleFont: getGoogleFont,
|
|
228
|
-
getInNextDaysDate: getInNextDaysDate,
|
|
229
|
-
getIso8601Date: getIso8601Date,
|
|
230
|
-
getJobTitle: getJobTitle,
|
|
231
|
-
getLastName: getLastName,
|
|
232
|
-
getLatitude: getLatitude,
|
|
233
|
-
getLocale: getLocale,
|
|
234
|
-
getLogo: getLogo,
|
|
235
|
-
getLongitude: getLongitude,
|
|
236
|
-
getNumberInRange: getNumberInRange,
|
|
237
|
-
getParagraph: getParagraph,
|
|
238
|
-
getPhoneNumber: getPhoneNumber,
|
|
239
|
-
getPositiveNumber: getPositiveNumber,
|
|
240
|
-
getRecentDate: getRecentDate,
|
|
241
|
-
getSemverVersion: getSemverVersion,
|
|
242
|
-
getSentence: getSentence,
|
|
243
|
-
getSoonDate: getSoonDate,
|
|
244
|
-
getStreetName: getStreetName,
|
|
245
|
-
getTag: getTag,
|
|
246
|
-
getTags: getTags,
|
|
247
|
-
getTime: getTime,
|
|
248
|
-
getUniqueWord: getUniqueWord,
|
|
249
|
-
getUrl: getUrl,
|
|
250
|
-
getUuid: getUuid,
|
|
251
|
-
getVehicleColor: getVehicleColor,
|
|
252
|
-
getVehicleManufacturer: getVehicleManufacturer,
|
|
253
|
-
getVehicleModel: getVehicleModel,
|
|
254
|
-
getVehicleName: getVehicleName,
|
|
255
|
-
getVehicleVin: getVehicleVin,
|
|
256
|
-
getWord: getWord,
|
|
257
|
-
getYear: getYear,
|
|
258
|
-
getZipCode: getZipCode
|
|
259
|
-
});
|
|
260
|
-
|
|
261
|
-
function createErrorDto() {
|
|
262
|
-
return {
|
|
263
|
-
statusCode: 400,
|
|
264
|
-
error: 'TEST_ERROR_CODE',
|
|
265
|
-
message: 'test message',
|
|
266
|
-
fieldErrors: []
|
|
267
|
-
};
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
var error_fixture = /*#__PURE__*/Object.freeze({
|
|
271
|
-
__proto__: null,
|
|
272
|
-
createErrorDto: createErrorDto
|
|
273
|
-
});
|
|
274
|
-
|
|
275
|
-
/**
|
|
276
|
-
* Generated bundle index. Do not edit.
|
|
277
|
-
*/
|
|
278
|
-
|
|
279
|
-
export { common_fixture as commonFixture, error_fixture as errorFixture };
|
|
280
|
-
//# sourceMappingURL=ngdux-data-model-common-test.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ngdux-data-model-common-test.mjs","sources":["../../../../../../libs/ngdux/data-model/common/test/src/lib/common.fixture.ts","../../../../../../libs/ngdux/data-model/common/test/src/lib/error.fixture.ts","../../../../../../libs/ngdux/data-model/common/test/src/ngdux-data-model-common-test.ts"],"sourcesContent":["import { Casing, faker } from '@faker-js/faker';\r\n\r\nexport type RemoveReadonly<T> = {\r\n -readonly [P in keyof T]: T[P];\r\n};\r\n\r\nexport const DEFAULT_RESOURCE_COLLECTION_SIZE = 50;\r\n\r\nexport function getBoolean(): boolean {\r\n return faker.datatype.boolean();\r\n}\r\n\r\nexport function getPositiveNumber(): number {\r\n return faker.datatype.number({ min: 1 });\r\n}\r\n\r\nexport function getNumberInRange(from: number, to: number): number {\r\n return faker.datatype.number({ min: from, max: to });\r\n}\r\n\r\nexport function getWord(): string {\r\n return faker.random.word();\r\n}\r\n\r\nexport function getUniqueWord(): string {\r\n return faker.unique(faker.random.word, undefined, { maxTime: 100, maxRetries: 100 });\r\n}\r\n\r\nexport function getFirstName(): string {\r\n return faker.name.firstName();\r\n}\r\n\r\nexport function getLastName(): string {\r\n return faker.name.lastName();\r\n}\r\n\r\nexport function getJobTitle(): string {\r\n return faker.company.catchPhrase();\r\n}\r\n\r\nexport function getPhoneNumber(): string {\r\n return `+${faker.phone.number()}`;\r\n}\r\n\r\nexport function getAvatar(): string {\r\n return faker.image.avatar();\r\n}\r\n\r\nexport function getLogo(): string {\r\n return faker.image.business();\r\n}\r\n\r\nexport function getColor(): string {\r\n return faker.internet.color();\r\n}\r\n\r\nexport function getFont() {\r\n return getElementFromArray(['Arial', 'Helvetica']);\r\n}\r\n\r\nexport function getGoogleFont() {\r\n return getElementFromArray(['Roboto', 'Roboto Mono', 'Open Sans', 'Gotu', 'Lato']);\r\n}\r\n\r\nexport function getEmail(firstName?: string, lastName?: string): string {\r\n return faker.internet.email(firstName, lastName).toLocaleLowerCase();\r\n}\r\n\r\nexport function getElementFromArray<T>(array: T[]): T {\r\n return faker.helpers.arrayElement(array);\r\n}\r\n\r\nexport function getElementsFromArray<T>(array: T[], nbOfElements: number = array.length): T[] {\r\n const elements: Set<T> = new Set();\r\n\r\n if (nbOfElements > array.length) {\r\n nbOfElements = array.length;\r\n }\r\n\r\n while (elements.size < nbOfElements) {\r\n elements.add(getElementFromArray(array));\r\n }\r\n\r\n return Array.from(elements);\r\n}\r\n\r\nexport function getElementFromEnum<T>(enumeration: Record<string, T>): T {\r\n // Numeric enums have automatic reverse mapping which means that we need to filter out the keys which are numeric.\r\n const enumKey = getElementFromArray(Object.keys(enumeration).filter(key => !parseInt(key, 10)));\r\n return enumeration[enumKey];\r\n}\r\n\r\nexport function getElementsFromEnum<T>(\r\n enumeration: Record<string, T>,\r\n nbOfElements: number = getNumberInRange(1, Object.keys(enumeration).length)\r\n): T[] {\r\n const elements: Set<T> = new Set();\r\n const enumerationKeys = Object.keys(enumeration);\r\n\r\n if (nbOfElements > enumerationKeys.length) {\r\n nbOfElements = enumerationKeys.length;\r\n }\r\n\r\n while (elements.size < nbOfElements) {\r\n elements.add(enumeration[getElementFromArray(enumerationKeys)]);\r\n }\r\n\r\n return Array.from(elements);\r\n}\r\n\r\nexport function getEnumValue<T extends Record<keyof T, string>>(enumObj: T): T[keyof T] {\r\n return getElementFromArray(Object.values(enumObj));\r\n}\r\n\r\n/**\r\n * Return a random object key or path.\r\n * Ex.:\r\n * object = { a: { b: { c: 3 }}}\r\n * return 'a.b.c'\r\n * @param object any object\r\n * @param path string\r\n */\r\n// export function getObjectPropertyPath<T>(object: T, path = ''): string {\r\n// const key = getElementFromArray(Object.keys(object));\r\n// const nextPath = path ? `${path}.${key}` : key;\r\n\r\n// if (typeof object[key] === 'object' && !(object[key] instanceof Array)) {\r\n// return getObjectPropertyPath(object[key], nextPath);\r\n// }\r\n\r\n// return nextPath;\r\n// }\r\n\r\nexport function getLatitude(): number {\r\n return +faker.address.latitude();\r\n}\r\n\r\nexport function getLongitude(): number {\r\n return +faker.address.longitude();\r\n}\r\n\r\nexport function getStreetName(): string {\r\n return faker.address.street();\r\n}\r\n\r\nexport function getZipCode(): string {\r\n return faker.address.zipCode();\r\n}\r\n\r\nexport function getCity(): string {\r\n return faker.address.city();\r\n}\r\n\r\nexport function getCountryCode(): string {\r\n return faker.address.countryCode();\r\n}\r\n\r\nexport function getUrl(): string {\r\n return faker.internet.url();\r\n}\r\n\r\nexport function getDomainName(): string {\r\n return faker.internet.domainName();\r\n}\r\n\r\nexport function getCompanyName(): string {\r\n return faker.company.name();\r\n}\r\n\r\nexport function getSemverVersion(): string {\r\n return faker.system.semver();\r\n}\r\n\r\nexport function getLocale(): string {\r\n return faker.random.locale();\r\n}\r\n\r\nexport function getYear(): number {\r\n const date = faker.date.past(20);\r\n return date.getFullYear();\r\n}\r\n\r\nexport function getIso8601Date(): string {\r\n return faker.date.recent().toISOString();\r\n}\r\n\r\nexport function getFutureIso8601Date(): string {\r\n return faker.date.future().toISOString();\r\n}\r\n\r\nexport function getTime(): string {\r\n const date = faker.date.recent();\r\n return [date.getHours(), date.getMinutes(), date.getSeconds()].join(':');\r\n}\r\n\r\nexport function getRecentDate(days = 1, refDate = new Date()): Date {\r\n return faker.date.recent(days, refDate);\r\n}\r\n\r\nexport function getSoonDate(days = 1, refDate = new Date()): Date {\r\n return faker.date.soon(days, refDate);\r\n}\r\n\r\nexport function getFewDaysAgoDate(nbOfDays = 3): Date {\r\n const fewDaysAgo = new Date();\r\n fewDaysAgo.setDate(fewDaysAgo.getDate() - nbOfDays);\r\n return fewDaysAgo;\r\n}\r\n\r\nexport function getInNextDaysDate(nbOfDays = 3): Date {\r\n const inTheNextDays = new Date();\r\n inTheNextDays.setDate(inTheNextDays.getDate() + nbOfDays);\r\n return inTheNextDays;\r\n}\r\n\r\nexport function getUuid(): string {\r\n return faker.datatype.uuid();\r\n}\r\n\r\nexport function getAlpha(count: number, casing: Casing = 'lower') {\r\n return faker.random.alpha({ count, casing });\r\n}\r\n\r\nexport function getAlphaNumeric(nOfCharacters = 8): string {\r\n return faker.random.alphaNumeric(nOfCharacters);\r\n}\r\n\r\nexport function getCurrencyCode(): string {\r\n return faker.finance.currencyCode();\r\n}\r\n\r\nexport function getFinanceAmount(): number {\r\n return +faker.finance.amount();\r\n}\r\n\r\nexport function getSentence(): string {\r\n return faker.lorem.sentence();\r\n}\r\n\r\nexport function getParagraph(): string {\r\n return faker.lorem.paragraph();\r\n}\r\n\r\nexport function getTag(): string {\r\n return faker.word.adjective();\r\n}\r\n\r\nexport function getTags(n = getNumberInRange(1, 6)): string[] {\r\n return [...Array(n)].map(() => getTag());\r\n}\r\n\r\nexport function getVehicleName(): string {\r\n return faker.vehicle.vehicle();\r\n}\r\n\r\nexport function getVehicleManufacturer(): string {\r\n return faker.vehicle.manufacturer();\r\n}\r\n\r\nexport function getVehicleVin(): string {\r\n return faker.vehicle.vin();\r\n}\r\n\r\nexport function getVehicleColor(): string {\r\n return faker.vehicle.color();\r\n}\r\n\r\nexport function getVehicleModel(): string {\r\n return faker.vehicle.model();\r\n}\r\n","// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\r\nimport { ErrorDto } from '@ngdux/data-model-common';\r\n\r\nexport function createErrorDto(): ErrorDto {\r\n return {\r\n statusCode: 400,\r\n error: 'TEST_ERROR_CODE',\r\n message: 'test message',\r\n fieldErrors: []\r\n };\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|