@nx-ddd/core 19.0.0-preview.9 → 19.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/fesm2022/nx-ddd-core-nest-interop.mjs +11 -0
  2. package/fesm2022/nx-ddd-core-nest-interop.mjs.map +1 -0
  3. package/fesm2022/nx-ddd-core.mjs +299 -0
  4. package/fesm2022/nx-ddd-core.mjs.map +1 -0
  5. package/index.d.ts +112 -2
  6. package/nest-interop/index.d.ts +7 -0
  7. package/package.json +21 -17
  8. package/README.md +0 -42
  9. package/create-decorator.d.ts +0 -6
  10. package/create-decorator.js +0 -28
  11. package/create-decorator.js.map +0 -1
  12. package/di.d.ts +0 -9
  13. package/di.js +0 -13
  14. package/di.js.map +0 -1
  15. package/index.js +0 -6
  16. package/index.js.map +0 -1
  17. package/nest-interop.d.ts +0 -4
  18. package/nest-interop.js +0 -9
  19. package/nest-interop.js.map +0 -1
  20. package/util/array_utils.d.ts +0 -1
  21. package/util/array_utils.js +0 -7
  22. package/util/array_utils.js.map +0 -1
  23. package/util/class-validators.d.ts +0 -2
  24. package/util/class-validators.js +0 -22
  25. package/util/class-validators.js.map +0 -1
  26. package/util/empty.d.ts +0 -2
  27. package/util/empty.js +0 -6
  28. package/util/empty.js.map +0 -1
  29. package/util/index.d.ts +0 -1
  30. package/util/index.js +0 -5
  31. package/util/index.js.map +0 -1
  32. package/util/plain-to-instance-with-valid.d.ts +0 -3
  33. package/util/plain-to-instance-with-valid.js +0 -18
  34. package/util/plain-to-instance-with-valid.js.map +0 -1
  35. package/util/property.d.ts +0 -19
  36. package/util/property.js +0 -33
  37. package/util/property.js.map +0 -1
  38. package/util/stringify.d.ts +0 -17
  39. package/util/stringify.js +0 -48
  40. package/util/stringify.js.map +0 -1
  41. package/util/walk-obj/index.d.ts +0 -1
  42. package/util/walk-obj/index.js +0 -5
  43. package/util/walk-obj/index.js.map +0 -1
  44. package/util/walk-obj/walk-obj.d.ts +0 -16
  45. package/util/walk-obj/walk-obj.js +0 -70
  46. package/util/walk-obj/walk-obj.js.map +0 -1
  47. package/v2.d.ts +0 -11
  48. package/v2.js +0 -62
  49. package/v2.js.map +0 -1
@@ -0,0 +1,11 @@
1
+ const NG_INJECTOR = '[@nx-ddd/core] Ng Injector';
2
+ function provideNgInjector(useFactory) {
3
+ return { provide: NG_INJECTOR, useFactory };
4
+ }
5
+
6
+ /**
7
+ * Generated bundle index. Do not edit.
8
+ */
9
+
10
+ export { NG_INJECTOR, provideNgInjector };
11
+ //# sourceMappingURL=nx-ddd-core-nest-interop.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nx-ddd-core-nest-interop.mjs","sources":["../tmp-esm2022/nest-interop/nest-interop.js","../tmp-esm2022/nest-interop/nx-ddd-core-nest-interop.js"],"sourcesContent":["export const NG_INJECTOR = '[@nx-ddd/core] Ng Injector';\nexport function provideNgInjector(useFactory) {\n return { provide: NG_INJECTOR, useFactory };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdC1pbnRlcm9wLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9jb3JlL3NyYy9saWIvbmVzdC1pbnRlcm9wL25lc3QtaW50ZXJvcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQTZCLDRCQUE0QixDQUFDO0FBQ2xGLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxVQUE4QztJQUM5RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsQ0FBQztBQUM5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAbmVzdGpzL2NvbW1vbic7XG5cbmV4cG9ydCBjb25zdCBOR19JTkpFQ1RPUjogSW5qZWN0aW9uVG9rZW48SW5qZWN0b3I+ID0gJ1tAbngtZGRkL2NvcmVdIE5nIEluamVjdG9yJztcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlTmdJbmplY3Rvcih1c2VGYWN0b3J5OiAoKSA9PiBJbmplY3RvciB8IFByb21pc2U8SW5qZWN0b3I+KTogYW55IHtcbiAgcmV0dXJuIHsgcHJvdmlkZTogTkdfSU5KRUNUT1IsIHVzZUZhY3RvcnkgfTtcbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibngtZGRkLWNvcmUtbmVzdC1pbnRlcm9wLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9jb3JlL3NyYy9saWIvbmVzdC1pbnRlcm9wL254LWRkZC1jb3JlLW5lc3QtaW50ZXJvcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"AAAY,MAAC,WAAW,GAAG;AACpB,SAAS,iBAAiB,CAAC,UAAU,EAAE;AAC9C,IAAI,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE;AAC/C;;ACHA;AACA;AACA;;;;"}
@@ -0,0 +1,299 @@
1
+ import { set } from 'lodash-es';
2
+ import dayjs from 'dayjs';
3
+ import { registerDecorator, validateSync } from 'class-validator';
4
+ import { plainToInstance as plainToInstance$1 } from 'class-transformer';
5
+ import * as i0 from '@angular/core';
6
+ import { InjectionToken, inject, Injectable, NgModule, Injector } from '@angular/core';
7
+ import { ServerModule, platformServer } from '@angular/platform-server';
8
+
9
+ function walkObj(obj, options, paths = []) {
10
+ // callbackの結果がfalseのときは再帰を止める
11
+ const [stop, _value] = options.overwrite(paths, obj);
12
+ if (stop)
13
+ return options.callback(paths, _value);
14
+ if (obj instanceof Array) {
15
+ obj.forEach((item, index) => walkObj(item, options, [...paths, index.toString()]));
16
+ }
17
+ else if (obj instanceof Object) {
18
+ Object.entries(obj).forEach(([key, value]) => walkObj(value, options, [...paths, key]));
19
+ }
20
+ else if (obj instanceof Function) {
21
+ // 何もしない
22
+ }
23
+ else {
24
+ options.callback(paths, obj);
25
+ }
26
+ }
27
+ function reconstruct(obj, overwrite = () => [false]) {
28
+ const newObj = {};
29
+ walkObj(obj, {
30
+ callback: (paths, value) => {
31
+ if (typeof value === 'undefined')
32
+ return;
33
+ set(newObj, paths.join('.'), value);
34
+ },
35
+ overwrite,
36
+ });
37
+ return newObj;
38
+ }
39
+ function reconstructAsISOString(obj) {
40
+ return reconstruct(obj, (paths, value) => {
41
+ if (dayjs.isDayjs(value)) {
42
+ if (value.isValid())
43
+ return [true, value.toISOString()];
44
+ return [true, null];
45
+ }
46
+ return [false];
47
+ });
48
+ }
49
+ function flattenExcludeDayjs(obj) {
50
+ const newObj = {};
51
+ walkObj(obj, {
52
+ callback: (paths, value) => {
53
+ if (typeof value === 'undefined')
54
+ return;
55
+ newObj[paths.join('.')] = value;
56
+ },
57
+ overwrite: (paths, value) => {
58
+ if (dayjs.isDayjs(value)) {
59
+ if (!value.isValid()) {
60
+ return [true, null];
61
+ }
62
+ return [true, value.toISOString()];
63
+ }
64
+ return [false];
65
+ },
66
+ });
67
+ return newObj;
68
+ }
69
+
70
+ function deepForEach(input, fn) {
71
+ input.forEach(value => Array.isArray(value) ? deepForEach(value, fn) : fn(value));
72
+ }
73
+
74
+ function IsDayjs(validationOptions) {
75
+ return function (object, propertyName) {
76
+ registerDecorator({
77
+ name: 'isDayjs',
78
+ target: object.constructor,
79
+ propertyName: propertyName,
80
+ options: validationOptions,
81
+ validator: {
82
+ validate(value, args) {
83
+ return dayjs.isDayjs(value);
84
+ }
85
+ }
86
+ });
87
+ };
88
+ }
89
+
90
+ const EMPTY_OBJ = {};
91
+ const EMPTY_ARRAY = [];
92
+
93
+ function plainToInstanceWithValid(cls, plain) {
94
+ const instance = plainToInstance(cls, plain);
95
+ const errors = validateSync(instance);
96
+ if (errors.length)
97
+ throw errors;
98
+ return instance;
99
+ }
100
+ function plainToInstance(cls, plain) {
101
+ return plainToInstance$1(cls, reconstructAsISOString(plain));
102
+ }
103
+
104
+ /**
105
+ * @license
106
+ * Copyright Google LLC All Rights Reserved.
107
+ *
108
+ * Use of this source code is governed by an MIT-style license that can be
109
+ * found in the LICENSE file at https://angular.io/license
110
+ */
111
+ function getClosureSafeProperty(objWithPropertyToExtract) {
112
+ for (const key in objWithPropertyToExtract) {
113
+ if (objWithPropertyToExtract[key] === getClosureSafeProperty) {
114
+ return key;
115
+ }
116
+ }
117
+ throw Error('Could not find renamed property on target object.');
118
+ }
119
+ /**
120
+ * Sets properties on a target object from a source object, but only if
121
+ * the property doesn't already exist on the target object.
122
+ * @param target The target to set properties on
123
+ * @param source The source of the property keys and values to set
124
+ */
125
+ function fillProperties(target, source) {
126
+ for (const key in source) {
127
+ if (Object.prototype.hasOwnProperty.call(source, key) && !Object.prototype.hasOwnProperty.call(target, key)) {
128
+ target[key] = source[key];
129
+ }
130
+ }
131
+ }
132
+
133
+ /**
134
+ * @license
135
+ * Copyright Google LLC All Rights Reserved.
136
+ *
137
+ * Use of this source code is governed by an MIT-style license that can be
138
+ * found in the LICENSE file at https://angular.io/license
139
+ */
140
+ function stringify(token) {
141
+ if (typeof token === 'string') {
142
+ return token;
143
+ }
144
+ if (Array.isArray(token)) {
145
+ return '[' + token.map(stringify).join(', ') + ']';
146
+ }
147
+ if (token == null) {
148
+ return '' + token;
149
+ }
150
+ if (token.overriddenName) {
151
+ return `${token.overriddenName}`;
152
+ }
153
+ if (token.name) {
154
+ return `${token.name}`;
155
+ }
156
+ const res = token.toString();
157
+ if (res == null) {
158
+ return '' + res;
159
+ }
160
+ const newLineIndex = res.indexOf('\n');
161
+ return newLineIndex === -1 ? res : res.substring(0, newLineIndex);
162
+ }
163
+ /**
164
+ * Concatenates two strings with separator, allocating new strings only when necessary.
165
+ *
166
+ * @param before before string.
167
+ * @param separator separator string.
168
+ * @param after after string.
169
+ * @returns concatenated string.
170
+ */
171
+ function concatStringsWithSpace(before, after) {
172
+ return (before == null || before === '') ?
173
+ (after === null ? '' : after) :
174
+ ((after == null || after === '') ? before : before + ' ' + after);
175
+ }
176
+
177
+ function makeDecoratorFactories(annotationFactory = (type, fieldName, propName, options) => ({}), key = 'annotations') {
178
+ function createDecorator(type, options = {}) {
179
+ return (nameOrProps) => {
180
+ const props = typeof nameOrProps === 'string' ? { name: nameOrProps } : nameOrProps;
181
+ return (target, propName) => {
182
+ const fieldName = props?.name || propName;
183
+ // const ANNOTATION: Annotation = {type, fieldName, propName, childType: options.childType};
184
+ const annotation = annotationFactory(type, fieldName, propName, options);
185
+ target.constructor[key] ??= [];
186
+ target.constructor[key].push(annotation);
187
+ };
188
+ };
189
+ }
190
+ // function createClassDecorator(
191
+ // type: T,
192
+ // options: O = {} as O,
193
+ // ) {
194
+ // return (nameOrProps?: {name?: string} | string) => {
195
+ // const props = typeof nameOrProps === 'string' ? {name: nameOrProps} : nameOrProps;
196
+ // return (target: any) => {
197
+ // const fieldName = props?.name || target.name;
198
+ // // const ANNOTATION: Annotation = {type, fieldName, propName: '', childType: options.childType};
199
+ // const annotation = annotationFactory(type, fieldName, '', options);
200
+ // target[key] ??= [];
201
+ // target[key].push(annotation);
202
+ // };
203
+ // };
204
+ // }
205
+ function addAnnotation(target, annotation) {
206
+ target[key] ??= [];
207
+ target[key].push(annotation);
208
+ }
209
+ function getAnnotations(target) {
210
+ return target[key] ?? [];
211
+ }
212
+ function createClassDecorator(type) {
213
+ return (nameOrProps) => {
214
+ const props = typeof nameOrProps === 'string' ? { name: nameOrProps } : nameOrProps;
215
+ return (target) => {
216
+ const name = props?.name || target.name;
217
+ const annotation = { type, name, props };
218
+ addAnnotation(target, annotation);
219
+ };
220
+ };
221
+ }
222
+ return {
223
+ createDecorator,
224
+ createPropsDecorator: createDecorator,
225
+ createClassDecorator,
226
+ addAnnotation,
227
+ getAnnotations,
228
+ };
229
+ }
230
+
231
+ function makeDI(name, _options = { optional: true }) {
232
+ const token = new InjectionToken(name);
233
+ return {
234
+ token,
235
+ inject: (options) => inject(token, options ?? _options) ?? null,
236
+ provide: (useFactory) => ({ provide: token, useFactory }),
237
+ };
238
+ }
239
+
240
+ class ExampleService {
241
+ hello() {
242
+ console.debug('hello');
243
+ }
244
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ExampleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
245
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ExampleService, providedIn: 'root' });
246
+ }
247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ExampleService, decorators: [{
248
+ type: Injectable,
249
+ args: [{ providedIn: 'root' }]
250
+ }] });
251
+ class CommonModule {
252
+ service = inject(ExampleService);
253
+ ngDoBootstrap() {
254
+ this.service.hello();
255
+ }
256
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
257
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.5", ngImport: i0, type: CommonModule, imports: [ServerModule] });
258
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: CommonModule, imports: [ServerModule] });
259
+ }
260
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: CommonModule, decorators: [{
261
+ type: NgModule,
262
+ args: [{ imports: [ServerModule] }]
263
+ }] });
264
+ async function bootstrapServer(moduleType, providers = []) {
265
+ return platformServer(providers).bootstrapModule(moduleType, { ngZone: 'noop' });
266
+ }
267
+ function bootstrap(providers = []) {
268
+ return ngBootstrap(providers);
269
+ }
270
+ function ngBootstrap(providers = []) {
271
+ return new Promise((resolve) => {
272
+ class AppModule {
273
+ injector = inject(Injector);
274
+ async ngDoBootstrap() {
275
+ resolve(this.injector);
276
+ }
277
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: AppModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
278
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.5", ngImport: i0, type: AppModule, imports: [ServerModule] });
279
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: AppModule, providers: providers, imports: [ServerModule] });
280
+ }
281
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: AppModule, decorators: [{
282
+ type: NgModule,
283
+ args: [{
284
+ imports: [
285
+ ServerModule,
286
+ ],
287
+ providers: providers,
288
+ }]
289
+ }] });
290
+ bootstrapServer(AppModule);
291
+ });
292
+ }
293
+
294
+ /**
295
+ * Generated bundle index. Do not edit.
296
+ */
297
+
298
+ export { CommonModule, EMPTY_ARRAY, EMPTY_OBJ, ExampleService, IsDayjs, bootstrap, bootstrapServer, concatStringsWithSpace, deepForEach, fillProperties, flattenExcludeDayjs, getClosureSafeProperty, makeDI, makeDecoratorFactories, ngBootstrap, plainToInstance, plainToInstanceWithValid, reconstruct, reconstructAsISOString, stringify, walkObj };
299
+ //# sourceMappingURL=nx-ddd-core.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nx-ddd-core.mjs","sources":["../tmp-esm2022/util/walk-obj/walk-obj.js","../tmp-esm2022/util/array_utils.js","../tmp-esm2022/util/class-validators.js","../tmp-esm2022/util/empty.js","../tmp-esm2022/util/plain-to-instance-with-valid.js","../tmp-esm2022/util/property.js","../tmp-esm2022/util/stringify.js","../tmp-esm2022/create-decorator.js","../tmp-esm2022/di.js","../tmp-esm2022/v2.js","../tmp-esm2022/nx-ddd-core.js"],"sourcesContent":["import { set } from 'lodash-es';\nimport dayjs from 'dayjs';\nexport function walkObj(obj, options, paths = []) {\n // callbackの結果がfalseのときは再帰を止める\n const [stop, _value] = options.overwrite(paths, obj);\n if (stop)\n return options.callback(paths, _value);\n if (obj instanceof Array) {\n obj.forEach((item, index) => walkObj(item, options, [...paths, index.toString()]));\n }\n else if (obj instanceof Object) {\n Object.entries(obj).forEach(([key, value]) => walkObj(value, options, [...paths, key]));\n }\n else if (obj instanceof Function) {\n // 何もしない\n }\n else {\n options.callback(paths, obj);\n }\n}\nexport function reconstruct(obj, overwrite = () => [false]) {\n const newObj = {};\n walkObj(obj, {\n callback: (paths, value) => {\n if (typeof value === 'undefined')\n return;\n set(newObj, paths.join('.'), value);\n },\n overwrite,\n });\n return newObj;\n}\nexport function reconstructAsISOString(obj) {\n return reconstruct(obj, (paths, value) => {\n if (dayjs.isDayjs(value)) {\n if (value.isValid())\n return [true, value.toISOString()];\n return [true, null];\n }\n return [false];\n });\n}\nexport function flattenExcludeDayjs(obj) {\n const newObj = {};\n walkObj(obj, {\n callback: (paths, value) => {\n if (typeof value === 'undefined')\n return;\n newObj[paths.join('.')] = value;\n },\n overwrite: (paths, value) => {\n if (dayjs.isDayjs(value)) {\n if (!value.isValid()) {\n return [true, null];\n }\n return [true, value.toISOString()];\n }\n return [false];\n },\n });\n return newObj;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Fsay1vYmouanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2NvcmUvc3JjL2xpYi91dGlsL3dhbGstb2JqL3dhbGstb2JqLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBSTFCLE1BQU0sVUFBVSxPQUFPLENBQUksR0FBTSxFQUFFLE9BR2xDLEVBQUUsUUFBa0IsRUFBRTtJQUNyQiw4QkFBOEI7SUFDOUIsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNyRCxJQUFJLElBQUk7UUFBRSxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRWpELElBQUksR0FBRyxZQUFZLEtBQUssRUFBRSxDQUFDO1FBQ3pCLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO1NBQU0sSUFBSSxHQUFHLFlBQVksTUFBTSxFQUFFLENBQUM7UUFDakMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUYsQ0FBQztTQUFNLElBQUksR0FBRyxZQUFZLFFBQVEsRUFBRSxDQUFDO1FBQ25DLFFBQVE7SUFDVixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBZ0IsR0FBTSxFQUFFLFlBQStCLEdBQUcsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzdGLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNsQixPQUFPLENBQUMsR0FBRyxFQUFFO1FBQ1gsUUFBUSxFQUFFLENBQUMsS0FBZSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ25DLElBQUksT0FBTyxLQUFLLEtBQUssV0FBVztnQkFBRSxPQUFPO1lBQ3pDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUNyQyxDQUFDO1FBQ0QsU0FBUztLQUNWLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBVyxDQUFDO0FBQ3JCLENBQUM7QUFNRCxNQUFNLFVBQVUsc0JBQXNCLENBQUksR0FBTTtJQUM5QyxPQUFPLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDdkMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekIsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO2dCQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDeEQsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0QixDQUFDO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pCLENBQUMsQ0FBOEIsQ0FBQztBQUNsQyxDQUFDO0FBTUQsTUFBTSxVQUFVLG1CQUFtQixDQUFJLEdBQU07SUFDM0MsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDWCxRQUFRLEVBQUUsQ0FBQyxLQUFlLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDbkMsSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXO2dCQUFFLE9BQU87WUFDekMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDbEMsQ0FBQztRQUNELFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMxQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO29CQUNyQixPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUN0QixDQUFDO2dCQUNELE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDckMsQ0FBQztZQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQixDQUFDO0tBQ0YsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxNQUFnQyxDQUFDO0FBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcblxudHlwZSBPdmVyd3JpdGVGdW5jdGlvbiA9IChwYXRoczogc3RyaW5nW10sIHZhbHVlOiBhbnkpID0+IFtib29sZWFuLCBhbnldIHwgW2Jvb2xlYW5dO1xuXG5leHBvcnQgZnVuY3Rpb24gd2Fsa09iajxUPihvYmo6IFQsIG9wdGlvbnM6IHtcbiAgY2FsbGJhY2s6IChwYXRoczogc3RyaW5nW10sIHZhbHVlOiBhbnkpID0+IHZvaWQsXG4gIG92ZXJ3cml0ZTogT3ZlcndyaXRlRnVuY3Rpb24sXG59LCBwYXRoczogc3RyaW5nW10gPSBbXSkge1xuICAvLyBjYWxsYmFja+OBrue1kOaenOOBjGZhbHNl44Gu44Go44GN44Gv5YaN5biw44KS5q2i44KB44KLXG4gIGNvbnN0IFtzdG9wLCBfdmFsdWVdID0gb3B0aW9ucy5vdmVyd3JpdGUocGF0aHMsIG9iaik7XG4gIGlmIChzdG9wKSByZXR1cm4gb3B0aW9ucy5jYWxsYmFjayhwYXRocywgX3ZhbHVlKTtcblxuICBpZiAob2JqIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICBvYmouZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHdhbGtPYmooaXRlbSwgb3B0aW9ucywgWy4uLnBhdGhzLCBpbmRleC50b1N0cmluZygpXSkpO1xuICB9IGVsc2UgaWYgKG9iaiBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgIE9iamVjdC5lbnRyaWVzKG9iaikuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB3YWxrT2JqKHZhbHVlLCBvcHRpb25zLCBbLi4ucGF0aHMsIGtleV0pKTtcbiAgfSBlbHNlIGlmIChvYmogaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgIC8vIOS9leOCguOBl+OBquOBhFxuICB9IGVsc2Uge1xuICAgIG9wdGlvbnMuY2FsbGJhY2socGF0aHMsIG9iaik7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlY29uc3RydWN0PFQsIEsgPSBvYmplY3Q+KG9iajogVCwgb3ZlcndyaXRlOiBPdmVyd3JpdGVGdW5jdGlvbiA9ICgpID0+IFtmYWxzZV0pOiBLIHtcbiAgY29uc3QgbmV3T2JqID0ge307XG4gIHdhbGtPYmoob2JqLCB7XG4gICAgY2FsbGJhY2s6IChwYXRoczogc3RyaW5nW10sIHZhbHVlKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJykgcmV0dXJuO1xuICAgICAgc2V0KG5ld09iaiwgcGF0aHMuam9pbignLicpLCB2YWx1ZSlcbiAgICB9LFxuICAgIG92ZXJ3cml0ZSxcbiAgfSk7XG4gIHJldHVybiBuZXdPYmogYXMgSztcbn1cblxudHlwZSBSZWNvbnN0cnVjdEFzSVNPU3RyaW5nPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzIGRheWpzLkRheWpzID8gc3RyaW5nIHwgbnVsbCA6IFRbS107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWNvbnN0cnVjdEFzSVNPU3RyaW5nPFQ+KG9iajogVCk6IFJlY29uc3RydWN0QXNJU09TdHJpbmc8VD4ge1xuICByZXR1cm4gcmVjb25zdHJ1Y3Qob2JqLCAocGF0aHMsIHZhbHVlKSA9PiB7XG4gICAgaWYgKGRheWpzLmlzRGF5anModmFsdWUpKSB7XG4gICAgICBpZiAodmFsdWUuaXNWYWxpZCgpKSByZXR1cm4gW3RydWUsIHZhbHVlLnRvSVNPU3RyaW5nKCldO1xuICAgICAgcmV0dXJuIFt0cnVlLCBudWxsXTtcbiAgICB9XG4gICAgcmV0dXJuIFtmYWxzZV07XG4gIH0pIGFzIFJlY29uc3RydWN0QXNJU09TdHJpbmc8VD47XG59XG5cbnR5cGUgRmxhdHRlbkV4Y2x1ZGVEYXlqczxUPiA9IHtcbiAgW0sgaW4ga2V5b2YgVF06IFRbS10gZXh0ZW5kcyBkYXlqcy5EYXlqcyA/IHN0cmluZyA6IFRbS107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuRXhjbHVkZURheWpzPFQ+KG9iajogVCk6IEZsYXR0ZW5FeGNsdWRlRGF5anM8VD4ge1xuICBjb25zdCBuZXdPYmogPSB7fTtcbiAgd2Fsa09iaihvYmosIHtcbiAgICBjYWxsYmFjazogKHBhdGhzOiBzdHJpbmdbXSwgdmFsdWUpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKSByZXR1cm47XG4gICAgICBuZXdPYmpbcGF0aHMuam9pbignLicpXSA9IHZhbHVlO1xuICAgIH0sXG4gICAgb3ZlcndyaXRlOiAocGF0aHMsIHZhbHVlKSA9PiB7XG4gICAgICBpZiAoZGF5anMuaXNEYXlqcyh2YWx1ZSkpIHtcbiAgICAgICAgaWYgKCF2YWx1ZS5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICByZXR1cm4gW3RydWUsIG51bGxdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbdHJ1ZSwgdmFsdWUudG9JU09TdHJpbmcoKV07XG4gICAgICB9XG4gICAgICByZXR1cm4gW2ZhbHNlXTtcbiAgICB9LFxuICB9KTtcbiAgcmV0dXJuIG5ld09iaiBhcyBGbGF0dGVuRXhjbHVkZURheWpzPFQ+O1xufVxuIl19","export function deepForEach(input, fn) {\n input.forEach(value => Array.isArray(value) ? deepForEach(value, fn) : fn(value));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXlfdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2NvcmUvc3JjL2xpYi91dGlsL2FycmF5X3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxXQUFXLENBQUksS0FBa0IsRUFBRSxFQUFzQjtJQUN2RSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDcEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBkZWVwRm9yRWFjaDxUPihpbnB1dDogKFR8YW55W10pW10sIGZuOiAodmFsdWU6IFQpID0+IHZvaWQpOiB2b2lkIHtcbiAgaW5wdXQuZm9yRWFjaCh2YWx1ZSA9PiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IGRlZXBGb3JFYWNoKHZhbHVlLCBmbikgOiBmbih2YWx1ZSkpO1xufVxuIl19","import { registerDecorator } from 'class-validator';\nimport dayjs from 'dayjs';\nexport function IsDayjs(validationOptions) {\n return function (object, propertyName) {\n registerDecorator({\n name: 'isDayjs',\n target: object.constructor,\n propertyName: propertyName,\n options: validationOptions,\n validator: {\n validate(value, args) {\n return dayjs.isDayjs(value);\n }\n }\n });\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtdmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvY29yZS9zcmMvbGliL3V0aWwvY2xhc3MtdmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQTBDLE1BQU0saUJBQWlCLENBQUM7QUFDNUYsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRTFCLE1BQU0sVUFBVSxPQUFPLENBQUMsaUJBQXFDO0lBQzNELE9BQU8sVUFBVSxNQUFjLEVBQUUsWUFBb0I7UUFDbkQsaUJBQWlCLENBQUM7WUFDaEIsSUFBSSxFQUFFLFNBQVM7WUFDZixNQUFNLEVBQUUsTUFBTSxDQUFDLFdBQVc7WUFDMUIsWUFBWSxFQUFFLFlBQVk7WUFDMUIsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixTQUFTLEVBQUU7Z0JBQ1QsUUFBUSxDQUFDLEtBQVUsRUFBRSxJQUF5QjtvQkFDNUMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM5QixDQUFDO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVnaXN0ZXJEZWNvcmF0b3IsIFZhbGlkYXRpb25PcHRpb25zLCBWYWxpZGF0aW9uQXJndW1lbnRzIH0gZnJvbSAnY2xhc3MtdmFsaWRhdG9yJztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBJc0RheWpzKHZhbGlkYXRpb25PcHRpb25zPzogVmFsaWRhdGlvbk9wdGlvbnMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChvYmplY3Q6IG9iamVjdCwgcHJvcGVydHlOYW1lOiBzdHJpbmcpIHtcbiAgICByZWdpc3RlckRlY29yYXRvcih7XG4gICAgICBuYW1lOiAnaXNEYXlqcycsXG4gICAgICB0YXJnZXQ6IG9iamVjdC5jb25zdHJ1Y3RvcixcbiAgICAgIHByb3BlcnR5TmFtZTogcHJvcGVydHlOYW1lLFxuICAgICAgb3B0aW9uczogdmFsaWRhdGlvbk9wdGlvbnMsXG4gICAgICB2YWxpZGF0b3I6IHtcbiAgICAgICAgdmFsaWRhdGUodmFsdWU6IGFueSwgYXJnczogVmFsaWRhdGlvbkFyZ3VtZW50cykge1xuICAgICAgICAgIHJldHVybiBkYXlqcy5pc0RheWpzKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9O1xufVxuIl19","export const EMPTY_OBJ = {};\nexport const EMPTY_ARRAY = [];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2NvcmUvc3JjL2xpYi91dGlsL2VtcHR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBMEIsRUFBRSxDQUFDO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBVSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRU1QVFlfT0JKOiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj4gPSB7fTtcbmV4cG9ydCBjb25zdCBFTVBUWV9BUlJBWTogYW55W10gPSBbXTtcbiJdfQ==","import { plainToInstance as _plainToInstance } from 'class-transformer';\nimport { validateSync } from 'class-validator';\nimport { reconstructAsISOString } from './walk-obj';\nexport function plainToInstanceWithValid(cls, plain) {\n const instance = plainToInstance(cls, plain);\n const errors = validateSync(instance);\n if (errors.length)\n throw errors;\n return instance;\n}\nexport function plainToInstance(cls, plain) {\n return _plainToInstance(cls, reconstructAsISOString(plain));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhaW4tdG8taW5zdGFuY2Utd2l0aC12YWxpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvY29yZS9zcmMvbGliL3V0aWwvcGxhaW4tdG8taW5zdGFuY2Utd2l0aC12YWxpZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLGVBQWUsSUFBSSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFcEQsTUFBTSxVQUFVLHdCQUF3QixDQUFtQixHQUF3QixFQUFFLEtBQWE7SUFDOUYsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3QyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEMsSUFBSSxNQUFNLENBQUMsTUFBTTtRQUFFLE1BQU0sTUFBTSxDQUFDO0lBQ2hDLE9BQU8sUUFBUSxDQUFDO0FBQ3BCLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFtQixHQUF3QixFQUFFLEtBQWE7SUFDckYsT0FBTyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNoRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xhc3NDb25zdHJ1Y3RvciwgcGxhaW5Ub0luc3RhbmNlIGFzIF9wbGFpblRvSW5zdGFuY2UgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyB2YWxpZGF0ZVN5bmMgfSBmcm9tICdjbGFzcy12YWxpZGF0b3InO1xuaW1wb3J0IHsgcmVjb25zdHJ1Y3RBc0lTT1N0cmluZyB9IGZyb20gJy4vd2Fsay1vYmonO1xuXG5leHBvcnQgZnVuY3Rpb24gcGxhaW5Ub0luc3RhbmNlV2l0aFZhbGlkPFQgZXh0ZW5kcyBvYmplY3Q+KGNsczogQ2xhc3NDb25zdHJ1Y3RvcjxUPiwgcGxhaW46IG9iamVjdCk6IFQge1xuICAgIGNvbnN0IGluc3RhbmNlID0gcGxhaW5Ub0luc3RhbmNlKGNscywgcGxhaW4pO1xuICAgIGNvbnN0IGVycm9ycyA9IHZhbGlkYXRlU3luYyhpbnN0YW5jZSk7XG4gICAgaWYgKGVycm9ycy5sZW5ndGgpIHRocm93IGVycm9ycztcbiAgICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwbGFpblRvSW5zdGFuY2U8VCBleHRlbmRzIG9iamVjdD4oY2xzOiBDbGFzc0NvbnN0cnVjdG9yPFQ+LCBwbGFpbjogb2JqZWN0KSB7XG4gICAgcmV0dXJuIF9wbGFpblRvSW5zdGFuY2UoY2xzLCByZWNvbnN0cnVjdEFzSVNPU3RyaW5nKHBsYWluKSk7XG59XG4iXX0=","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport function getClosureSafeProperty(objWithPropertyToExtract) {\n for (const key in objWithPropertyToExtract) {\n if (objWithPropertyToExtract[key] === getClosureSafeProperty) {\n return key;\n }\n }\n throw Error('Could not find renamed property on target object.');\n}\n/**\n * Sets properties on a target object from a source object, but only if\n * the property doesn't already exist on the target object.\n * @param target The target to set properties on\n * @param source The source of the property keys and values to set\n */\nexport function fillProperties(target, source) {\n for (const key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key) && !Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = source[key];\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2NvcmUvc3JjL2xpYi91dGlsL3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE1BQU0sVUFBVSxzQkFBc0IsQ0FBSSx3QkFBMkI7SUFDbkUsS0FBSyxNQUFNLEdBQUcsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO1FBQzNDLElBQUksd0JBQXdCLENBQUMsR0FBRyxDQUFDLEtBQUssc0JBQTZCLEVBQUUsQ0FBQztZQUNwRSxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUM7SUFDSCxDQUFDO0lBQ0QsTUFBTSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztBQUNuRSxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQStCLEVBQUUsTUFBK0I7SUFDN0YsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUN6QixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENsb3N1cmVTYWZlUHJvcGVydHk8VD4ob2JqV2l0aFByb3BlcnR5VG9FeHRyYWN0OiBUKTogc3RyaW5nIHtcbiAgZm9yIChjb25zdCBrZXkgaW4gb2JqV2l0aFByb3BlcnR5VG9FeHRyYWN0KSB7XG4gICAgaWYgKG9ialdpdGhQcm9wZXJ0eVRvRXh0cmFjdFtrZXldID09PSBnZXRDbG9zdXJlU2FmZVByb3BlcnR5IGFzIGFueSkge1xuICAgICAgcmV0dXJuIGtleTtcbiAgICB9XG4gIH1cbiAgdGhyb3cgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIHJlbmFtZWQgcHJvcGVydHkgb24gdGFyZ2V0IG9iamVjdC4nKTtcbn1cblxuLyoqXG4gKiBTZXRzIHByb3BlcnRpZXMgb24gYSB0YXJnZXQgb2JqZWN0IGZyb20gYSBzb3VyY2Ugb2JqZWN0LCBidXQgb25seSBpZlxuICogdGhlIHByb3BlcnR5IGRvZXNuJ3QgYWxyZWFkeSBleGlzdCBvbiB0aGUgdGFyZ2V0IG9iamVjdC5cbiAqIEBwYXJhbSB0YXJnZXQgVGhlIHRhcmdldCB0byBzZXQgcHJvcGVydGllcyBvblxuICogQHBhcmFtIHNvdXJjZSBUaGUgc291cmNlIG9mIHRoZSBwcm9wZXJ0eSBrZXlzIGFuZCB2YWx1ZXMgdG8gc2V0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWxsUHJvcGVydGllcyh0YXJnZXQ6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9LCBzb3VyY2U6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9KSB7XG4gIGZvciAoY29uc3Qga2V5IGluIHNvdXJjZSkge1xuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpICYmICFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGFyZ2V0LCBrZXkpKSB7XG4gICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgIH1cbiAgfVxufVxuIl19","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport function stringify(token) {\n if (typeof token === 'string') {\n return token;\n }\n if (Array.isArray(token)) {\n return '[' + token.map(stringify).join(', ') + ']';\n }\n if (token == null) {\n return '' + token;\n }\n if (token.overriddenName) {\n return `${token.overriddenName}`;\n }\n if (token.name) {\n return `${token.name}`;\n }\n const res = token.toString();\n if (res == null) {\n return '' + res;\n }\n const newLineIndex = res.indexOf('\\n');\n return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\n/**\n * Concatenates two strings with separator, allocating new strings only when necessary.\n *\n * @param before before string.\n * @param separator separator string.\n * @param after after string.\n * @returns concatenated string.\n */\nexport function concatStringsWithSpace(before, after) {\n return (before == null || before === '') ?\n (after === null ? '' : after) :\n ((after == null || after === '') ? before : before + ' ' + after);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9jb3JlL3NyYy9saWIvdXRpbC9zdHJpbmdpZnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUYsTUFBTSxVQUFVLFNBQVMsQ0FBQyxLQUFVO0lBQ25DLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsT0FBTyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQixPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sR0FBRyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2YsT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBRTdCLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2hCLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxPQUFPLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxNQUFtQixFQUFFLEtBQWtCO0lBQzVFLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxJQUFJLE1BQU0sS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDO0FBQ3hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuIGV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnkodG9rZW46IGFueSk6IHN0cmluZyB7XG4gIGlmICh0eXBlb2YgdG9rZW4gPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkodG9rZW4pKSB7XG4gICAgcmV0dXJuICdbJyArIHRva2VuLm1hcChzdHJpbmdpZnkpLmpvaW4oJywgJykgKyAnXSc7XG4gIH1cblxuICBpZiAodG9rZW4gPT0gbnVsbCkge1xuICAgIHJldHVybiAnJyArIHRva2VuO1xuICB9XG5cbiAgaWYgKHRva2VuLm92ZXJyaWRkZW5OYW1lKSB7XG4gICAgcmV0dXJuIGAke3Rva2VuLm92ZXJyaWRkZW5OYW1lfWA7XG4gIH1cblxuICBpZiAodG9rZW4ubmFtZSkge1xuICAgIHJldHVybiBgJHt0b2tlbi5uYW1lfWA7XG4gIH1cblxuICBjb25zdCByZXMgPSB0b2tlbi50b1N0cmluZygpO1xuXG4gIGlmIChyZXMgPT0gbnVsbCkge1xuICAgIHJldHVybiAnJyArIHJlcztcbiAgfVxuXG4gIGNvbnN0IG5ld0xpbmVJbmRleCA9IHJlcy5pbmRleE9mKCdcXG4nKTtcbiAgcmV0dXJuIG5ld0xpbmVJbmRleCA9PT0gLTEgPyByZXMgOiByZXMuc3Vic3RyaW5nKDAsIG5ld0xpbmVJbmRleCk7XG59XG5cbi8qKlxuICogQ29uY2F0ZW5hdGVzIHR3byBzdHJpbmdzIHdpdGggc2VwYXJhdG9yLCBhbGxvY2F0aW5nIG5ldyBzdHJpbmdzIG9ubHkgd2hlbiBuZWNlc3NhcnkuXG4gKlxuICogQHBhcmFtIGJlZm9yZSBiZWZvcmUgc3RyaW5nLlxuICogQHBhcmFtIHNlcGFyYXRvciBzZXBhcmF0b3Igc3RyaW5nLlxuICogQHBhcmFtIGFmdGVyIGFmdGVyIHN0cmluZy5cbiAqIEByZXR1cm5zIGNvbmNhdGVuYXRlZCBzdHJpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25jYXRTdHJpbmdzV2l0aFNwYWNlKGJlZm9yZTogc3RyaW5nfG51bGwsIGFmdGVyOiBzdHJpbmd8bnVsbCk6IHN0cmluZyB7XG4gIHJldHVybiAoYmVmb3JlID09IG51bGwgfHwgYmVmb3JlID09PSAnJykgP1xuICAgICAgKGFmdGVyID09PSBudWxsID8gJycgOiBhZnRlcikgOlxuICAgICAgKChhZnRlciA9PSBudWxsIHx8IGFmdGVyID09PSAnJykgPyBiZWZvcmUgOiBiZWZvcmUgKyAnICcgKyBhZnRlcik7XG59Il19","export function makeDecoratorFactories(annotationFactory = (type, fieldName, propName, options) => ({}), key = 'annotations') {\n function createDecorator(type, options = {}) {\n return (nameOrProps) => {\n const props = typeof nameOrProps === 'string' ? { name: nameOrProps } : nameOrProps;\n return (target, propName) => {\n const fieldName = props?.name || propName;\n // const ANNOTATION: Annotation = {type, fieldName, propName, childType: options.childType};\n const annotation = annotationFactory(type, fieldName, propName, options);\n target.constructor[key] ??= [];\n target.constructor[key].push(annotation);\n };\n };\n }\n // function createClassDecorator(\n // type: T,\n // options: O = {} as O,\n // ) {\n // return (nameOrProps?: {name?: string} | string) => {\n // const props = typeof nameOrProps === 'string' ? {name: nameOrProps} : nameOrProps;\n // return (target: any) => {\n // const fieldName = props?.name || target.name;\n // // const ANNOTATION: Annotation = {type, fieldName, propName: '', childType: options.childType};\n // const annotation = annotationFactory(type, fieldName, '', options);\n // target[key] ??= [];\n // target[key].push(annotation);\n // };\n // };\n // }\n function addAnnotation(target, annotation) {\n target[key] ??= [];\n target[key].push(annotation);\n }\n function getAnnotations(target) {\n return target[key] ?? [];\n }\n function createClassDecorator(type) {\n return (nameOrProps) => {\n const props = typeof nameOrProps === 'string' ? { name: nameOrProps } : nameOrProps;\n return (target) => {\n const name = props?.name || target.name;\n const annotation = { type, name, props };\n addAnnotation(target, annotation);\n };\n };\n }\n return {\n createDecorator,\n createPropsDecorator: createDecorator,\n createClassDecorator,\n addAnnotation,\n getAnnotations,\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvY29yZS9zcmMvbGliL2NyZWF0ZS1kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLHNCQUFzQixDQUtwQyxvQkFBb0IsQ0FDbEIsSUFBTyxFQUNQLFNBQWlCLEVBQ2pCLFFBQWdCLEVBQ2hCLE9BQVUsRUFDVixFQUFFLENBQUMsQ0FBQyxFQUFpQixDQUFBLEVBQ3ZCLEdBQUcsR0FBRyxhQUFhO0lBRW5CLFNBQVMsZUFBZSxDQUN0QixJQUFPLEVBQ1AsVUFBYSxFQUFPO1FBRXBCLE9BQU8sQ0FBQyxXQUFzQyxFQUFFLEVBQUU7WUFDaEQsTUFBTSxLQUFLLEdBQUcsT0FBTyxXQUFXLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1lBQ2xGLE9BQU8sQ0FBQyxNQUFXLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO2dCQUN2QyxNQUFNLFNBQVMsR0FBRyxLQUFLLEVBQUUsSUFBSSxJQUFJLFFBQVEsQ0FBQztnQkFDMUMsNEZBQTRGO2dCQUM1RixNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDekUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQy9CLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzNDLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxpQ0FBaUM7SUFDakMsYUFBYTtJQUNiLDBCQUEwQjtJQUMxQixNQUFNO0lBQ04seURBQXlEO0lBQ3pELHlGQUF5RjtJQUN6RixnQ0FBZ0M7SUFDaEMsc0RBQXNEO0lBQ3RELHlHQUF5RztJQUN6Ryw0RUFBNEU7SUFDNUUsNEJBQTRCO0lBQzVCLHNDQUFzQztJQUN0QyxTQUFTO0lBQ1QsT0FBTztJQUNQLElBQUk7SUFFSixTQUFTLGFBQWEsQ0FBQyxNQUFXLEVBQUUsVUFBc0I7UUFDeEQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxTQUFTLGNBQWMsQ0FBQyxNQUFXO1FBQ2pDLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsU0FBUyxvQkFBb0IsQ0FBaUMsSUFBWTtRQUN4RSxPQUFPLENBQUMsV0FBMkIsRUFBRSxFQUFFO1lBQ3JDLE1BQU0sS0FBSyxHQUFHLE9BQU8sV0FBVyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztZQUNwRixPQUFPLENBQUMsTUFBVyxFQUFFLEVBQUU7Z0JBQ3JCLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFBRSxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDeEMsTUFBTSxVQUFVLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO2dCQUN6QyxhQUFhLENBQUMsTUFBTSxFQUFFLFVBQWlCLENBQUMsQ0FBQztZQUMzQyxDQUFDLENBQUM7UUFDSixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTztRQUNMLGVBQWU7UUFDZixvQkFBb0IsRUFBRSxlQUFlO1FBQ3JDLG9CQUFvQjtRQUNwQixhQUFhO1FBQ2IsY0FBYztLQUNmLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIG1ha2VEZWNvcmF0b3JGYWN0b3JpZXM8XG4gIFQgZXh0ZW5kcyBzdHJpbmcsXG4gIEFubm90YXRpb24gZXh0ZW5kcyBvYmplY3QsXG4gIE8gZXh0ZW5kcyBvYmplY3QgPSBhbnksXG4+KFxuICBhbm5vdGF0aW9uRmFjdG9yeSA9IChcbiAgICB0eXBlOiBULFxuICAgIGZpZWxkTmFtZTogc3RyaW5nLFxuICAgIHByb3BOYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9uczogTyxcbiAgKSA9PiAoe30gYXMgQW5ub3RhdGlvbiksXG4gIGtleSA9ICdhbm5vdGF0aW9ucycsXG4pIHtcbiAgZnVuY3Rpb24gY3JlYXRlRGVjb3JhdG9yKFxuICAgIHR5cGU6IFQsXG4gICAgb3B0aW9uczogTyA9IHt9IGFzIE8sXG4gICkge1xuICAgIHJldHVybiAobmFtZU9yUHJvcHM/OiB7bmFtZT86IHN0cmluZ30gfCBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHByb3BzID0gdHlwZW9mIG5hbWVPclByb3BzID09PSAnc3RyaW5nJyA/IHtuYW1lOiBuYW1lT3JQcm9wc30gOiBuYW1lT3JQcm9wcztcbiAgICAgIHJldHVybiAodGFyZ2V0OiBhbnksIHByb3BOYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGROYW1lID0gcHJvcHM/Lm5hbWUgfHwgcHJvcE5hbWU7XG4gICAgICAgIC8vIGNvbnN0IEFOTk9UQVRJT046IEFubm90YXRpb24gPSB7dHlwZSwgZmllbGROYW1lLCBwcm9wTmFtZSwgY2hpbGRUeXBlOiBvcHRpb25zLmNoaWxkVHlwZX07XG4gICAgICAgIGNvbnN0IGFubm90YXRpb24gPSBhbm5vdGF0aW9uRmFjdG9yeSh0eXBlLCBmaWVsZE5hbWUsIHByb3BOYW1lLCBvcHRpb25zKTtcbiAgICAgICAgdGFyZ2V0LmNvbnN0cnVjdG9yW2tleV0gPz89IFtdO1xuICAgICAgICB0YXJnZXQuY29uc3RydWN0b3Jba2V5XS5wdXNoKGFubm90YXRpb24pO1xuICAgICAgfTtcbiAgICB9O1xuICB9XG5cbiAgLy8gZnVuY3Rpb24gY3JlYXRlQ2xhc3NEZWNvcmF0b3IoXG4gIC8vICAgdHlwZTogVCxcbiAgLy8gICBvcHRpb25zOiBPID0ge30gYXMgTyxcbiAgLy8gKSB7XG4gIC8vICAgcmV0dXJuIChuYW1lT3JQcm9wcz86IHtuYW1lPzogc3RyaW5nfSB8IHN0cmluZykgPT4ge1xuICAvLyAgICAgY29uc3QgcHJvcHMgPSB0eXBlb2YgbmFtZU9yUHJvcHMgPT09ICdzdHJpbmcnID8ge25hbWU6IG5hbWVPclByb3BzfSA6IG5hbWVPclByb3BzO1xuICAvLyAgICAgcmV0dXJuICh0YXJnZXQ6IGFueSkgPT4ge1xuICAvLyAgICAgICBjb25zdCBmaWVsZE5hbWUgPSBwcm9wcz8ubmFtZSB8fCB0YXJnZXQubmFtZTtcbiAgLy8gICAgICAgLy8gY29uc3QgQU5OT1RBVElPTjogQW5ub3RhdGlvbiA9IHt0eXBlLCBmaWVsZE5hbWUsIHByb3BOYW1lOiAnJywgY2hpbGRUeXBlOiBvcHRpb25zLmNoaWxkVHlwZX07XG4gIC8vICAgICAgIGNvbnN0IGFubm90YXRpb24gPSBhbm5vdGF0aW9uRmFjdG9yeSh0eXBlLCBmaWVsZE5hbWUsICcnLCBvcHRpb25zKTtcbiAgLy8gICAgICAgdGFyZ2V0W2tleV0gPz89IFtdO1xuICAvLyAgICAgICB0YXJnZXRba2V5XS5wdXNoKGFubm90YXRpb24pO1xuICAvLyAgICAgfTtcbiAgLy8gICB9O1xuICAvLyB9XG5cbiAgZnVuY3Rpb24gYWRkQW5ub3RhdGlvbih0YXJnZXQ6IGFueSwgYW5ub3RhdGlvbjogQW5ub3RhdGlvbikge1xuICAgIHRhcmdldFtrZXldID8/PSBbXTtcbiAgICB0YXJnZXRba2V5XS5wdXNoKGFubm90YXRpb24pO1xuICB9XG5cbiAgZnVuY3Rpb24gZ2V0QW5ub3RhdGlvbnModGFyZ2V0OiBhbnkpOiBBbm5vdGF0aW9uW10ge1xuICAgIHJldHVybiB0YXJnZXRba2V5XSA/PyBbXTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZUNsYXNzRGVjb3JhdG9yPFByb3BzIGV4dGVuZHMgeyBuYW1lOiBzdHJpbmcgfT4odHlwZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIChuYW1lT3JQcm9wczogUHJvcHMgfCBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHByb3BzID0gdHlwZW9mIG5hbWVPclByb3BzID09PSAnc3RyaW5nJyA/IHsgbmFtZTogbmFtZU9yUHJvcHMgfSA6IG5hbWVPclByb3BzO1xuICAgICAgcmV0dXJuICh0YXJnZXQ6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBuYW1lID0gcHJvcHM/Lm5hbWUgfHwgdGFyZ2V0Lm5hbWU7XG4gICAgICAgIGNvbnN0IGFubm90YXRpb24gPSB7IHR5cGUsIG5hbWUsIHByb3BzIH07XG4gICAgICAgIGFkZEFubm90YXRpb24odGFyZ2V0LCBhbm5vdGF0aW9uIGFzIGFueSk7XG4gICAgICB9O1xuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGNyZWF0ZURlY29yYXRvcixcbiAgICBjcmVhdGVQcm9wc0RlY29yYXRvcjogY3JlYXRlRGVjb3JhdG9yLFxuICAgIGNyZWF0ZUNsYXNzRGVjb3JhdG9yLFxuICAgIGFkZEFubm90YXRpb24sXG4gICAgZ2V0QW5ub3RhdGlvbnMsIFxuICB9O1xufVxuIl19","import { inject, InjectionToken } from \"@angular/core\";\nexport function makeDI(name, _options = { optional: true }) {\n const token = new InjectionToken(name);\n return {\n token,\n inject: (options) => inject(token, options ?? _options) ?? null,\n provide: (useFactory) => ({ provide: token, useFactory }),\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2NvcmUvc3JjL2xpYi9kaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFXdEUsTUFBTSxVQUFVLE1BQU0sQ0FBSSxJQUFZLEVBQUUsV0FBMEIsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDO0lBQ2hGLE1BQU0sS0FBSyxHQUFHLElBQUksY0FBYyxDQUFJLElBQUksQ0FBQyxDQUFDO0lBQzFDLE9BQU87UUFDTCxLQUFLO1FBQ0wsTUFBTSxFQUFFLENBQUMsT0FBdUIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLElBQUksUUFBUSxDQUFDLElBQUksSUFBSTtRQUMvRSxPQUFPLEVBQUUsQ0FBQyxVQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQztLQUNuRSxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIEluamVjdE9wdGlvbnMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIERpVG9rZW48VD4ge1xuICB0b2tlbjogSW5qZWN0aW9uVG9rZW48VD47XG4gIGluamVjdDogKG9wdGlvbnM/OiBJbmplY3RPcHRpb25zKSA9PiBUIHwgbnVsbDtcbiAgcHJvdmlkZTogKHVzZUZhY3Rvcnk6ICgpID0+IFQpID0+IHtcbiAgICBwcm92aWRlOiBJbmplY3Rpb25Ub2tlbjxUPixcbiAgICB1c2VGYWN0b3J5OiAoKSA9PiBUXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlREk8VD4obmFtZTogc3RyaW5nLCBfb3B0aW9uczogSW5qZWN0T3B0aW9ucyA9IHtvcHRpb25hbDogdHJ1ZX0pOiBEaVRva2VuPFQ+IHtcbiAgY29uc3QgdG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48VD4obmFtZSk7XG4gIHJldHVybiB7XG4gICAgdG9rZW4sXG4gICAgaW5qZWN0OiAob3B0aW9ucz86IEluamVjdE9wdGlvbnMpID0+IGluamVjdCh0b2tlbiwgb3B0aW9ucyA/PyBfb3B0aW9ucykgPz8gbnVsbCxcbiAgICBwcm92aWRlOiAodXNlRmFjdG9yeTogKCkgPT4gVCkgPT4gKHsgcHJvdmlkZTogdG9rZW4sIHVzZUZhY3RvcnkgfSksXG4gIH1cbn1cbiJdfQ==","import { Injectable, Injector, NgModule, inject } from '@angular/core';\nimport { ServerModule, platformServer } from '@angular/platform-server';\nimport * as i0 from \"@angular/core\";\nexport class ExampleService {\n hello() {\n console.debug('hello');\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ExampleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ExampleService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ExampleService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nexport class CommonModule {\n service = inject(ExampleService);\n ngDoBootstrap() {\n this.service.hello();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: CommonModule, imports: [ServerModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommonModule, imports: [ServerModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommonModule, decorators: [{\n type: NgModule,\n args: [{ imports: [ServerModule] }]\n }] });\nexport async function bootstrapServer(moduleType, providers = []) {\n return platformServer(providers).bootstrapModule(moduleType, { ngZone: 'noop' });\n}\nexport function bootstrap(providers = []) {\n return ngBootstrap(providers);\n}\nexport function ngBootstrap(providers = []) {\n return new Promise((resolve) => {\n class AppModule {\n injector = inject(Injector);\n async ngDoBootstrap() {\n resolve(this.injector);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AppModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: AppModule, imports: [ServerModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AppModule, providers: providers, imports: [ServerModule] });\n }\n i0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AppModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n ServerModule,\n ],\n providers: providers,\n }]\n }] });\n bootstrapServer(AppModule);\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2NvcmUvc3JjL2xpYi92Mi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFrQyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0gsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFHeEUsTUFBTSxPQUFPLGNBQWM7SUFDekIsS0FBSztRQUNILE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekIsQ0FBQzt1R0FIVSxjQUFjOzJHQUFkLGNBQWMsY0FERixNQUFNOzsyRkFDbEIsY0FBYztrQkFEMUIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUM7O0FBUWhDLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLE9BQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFakMsYUFBYTtRQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkIsQ0FBQzt1R0FMVSxZQUFZO3dHQUFaLFlBQVksWUFESCxZQUFZO3dHQUNyQixZQUFZLFlBREgsWUFBWTs7MkZBQ3JCLFlBQVk7a0JBRHhCLFFBQVE7bUJBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRTs7QUFTckMsTUFBTSxDQUFDLEtBQUssVUFBVSxlQUFlLENBQ25DLFVBQXFCLEVBQ3JCLFlBQThCLEVBQUU7SUFFaEMsT0FBTyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxFQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO0FBQ2pGLENBQUM7QUFHRCxNQUFNLFVBQVUsU0FBUyxDQUFDLFlBQW9ELEVBQUU7SUFDOUUsT0FBTyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDaEMsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsWUFBb0QsRUFBRTtJQUNoRixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFFN0IsTUFNTSxTQUFTO1lBQ0osUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUVyQyxLQUFLLENBQUMsYUFBYTtnQkFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6QixDQUFDOytHQUxHLFNBQVM7Z0hBQVQsU0FBUyxZQUpYLFlBQVk7Z0hBSVYsU0FBUyxhQUZGLFNBQWdDLFlBRnpDLFlBQVk7O21HQUlWLFNBQVM7MEJBTmQsUUFBUTsyQkFBQzs0QkFDUixPQUFPLEVBQUU7Z0NBQ1AsWUFBWTs2QkFDYjs0QkFDRCxTQUFTLEVBQUUsU0FBZ0M7eUJBQzVDOztRQVNELGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUM1QixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRQcm92aWRlcnMsIEluamVjdGFibGUsIEluamVjdG9yLCBOZ01vZHVsZSwgUHJvdmlkZXIsIFN0YXRpY1Byb3ZpZGVyLCBUeXBlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlcnZlck1vZHVsZSwgcGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1zZXJ2ZXInO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBFeGFtcGxlU2VydmljZSB7XG4gIGhlbGxvKCkge1xuICAgIGNvbnNvbGUuZGVidWcoJ2hlbGxvJyk7XG4gIH1cbn1cblxuQE5nTW9kdWxlKHsgaW1wb3J0czogW1NlcnZlck1vZHVsZV0gfSlcbmV4cG9ydCBjbGFzcyBDb21tb25Nb2R1bGUge1xuICBzZXJ2aWNlID0gaW5qZWN0KEV4YW1wbGVTZXJ2aWNlKTtcblxuICBuZ0RvQm9vdHN0cmFwKCkge1xuICAgIHRoaXMuc2VydmljZS5oZWxsbygpO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBib290c3RyYXBTZXJ2ZXIoXG4gIG1vZHVsZVR5cGU6IFR5cGU8YW55PixcbiAgcHJvdmlkZXJzOiBTdGF0aWNQcm92aWRlcltdID0gW11cbikge1xuICByZXR1cm4gcGxhdGZvcm1TZXJ2ZXIocHJvdmlkZXJzKS5ib290c3RyYXBNb2R1bGUobW9kdWxlVHlwZSwge25nWm9uZTogJ25vb3AnfSk7XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGJvb3RzdHJhcChwcm92aWRlcnM6IEFycmF5PFByb3ZpZGVyIHwgRW52aXJvbm1lbnRQcm92aWRlcnM+ID0gW10pOiBQcm9taXNlPEluamVjdG9yPiB7XG4gIHJldHVybiBuZ0Jvb3RzdHJhcChwcm92aWRlcnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbmdCb290c3RyYXAocHJvdmlkZXJzOiBBcnJheTxQcm92aWRlciB8IEVudmlyb25tZW50UHJvdmlkZXJzPiA9IFtdKTogUHJvbWlzZTxJbmplY3Rvcj4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcblxuICAgIEBOZ01vZHVsZSh7XG4gICAgICBpbXBvcnRzOiBbXG4gICAgICAgIFNlcnZlck1vZHVsZSxcbiAgICAgIF0sXG4gICAgICBwcm92aWRlcnM6IHByb3ZpZGVycyBhcyBuZXZlciBhcyBQcm92aWRlcltdLFxuICAgIH0pXG4gICAgY2xhc3MgQXBwTW9kdWxlIHtcbiAgICAgIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgICBcbiAgICAgIGFzeW5jIG5nRG9Cb290c3RyYXAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJlc29sdmUodGhpcy5pbmplY3Rvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYm9vdHN0cmFwU2VydmVyKEFwcE1vZHVsZSk7XG4gIH0pO1xufVxuXG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibngtZGRkLWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2NvcmUvc3JjL2xpYi9ueC1kZGQtY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["_plainToInstance"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,2 +1,112 @@
1
- export * from './di';
2
- export * from './v2';
1
+ import dayjs from 'dayjs';
2
+ import { ValidationOptions } from 'class-validator';
3
+ import { ClassConstructor } from 'class-transformer';
4
+ import * as i0 from '@angular/core';
5
+ import { InjectionToken, InjectOptions, Type, StaticProvider, Provider, EnvironmentProviders, Injector } from '@angular/core';
6
+ import * as i1 from '@angular/platform-server';
7
+
8
+ type OverwriteFunction = (paths: string[], value: any) => [boolean, any] | [boolean];
9
+ declare function walkObj<T>(obj: T, options: {
10
+ callback: (paths: string[], value: any) => void;
11
+ overwrite: OverwriteFunction;
12
+ }, paths?: string[]): void;
13
+ declare function reconstruct<T, K = object>(obj: T, overwrite?: OverwriteFunction): K;
14
+ type ReconstructAsISOString<T> = {
15
+ [K in keyof T]: T[K] extends dayjs.Dayjs ? string | null : T[K];
16
+ };
17
+ declare function reconstructAsISOString<T>(obj: T): ReconstructAsISOString<T>;
18
+ type FlattenExcludeDayjs<T> = {
19
+ [K in keyof T]: T[K] extends dayjs.Dayjs ? string : T[K];
20
+ };
21
+ declare function flattenExcludeDayjs<T>(obj: T): FlattenExcludeDayjs<T>;
22
+
23
+ declare function deepForEach<T>(input: (T | any[])[], fn: (value: T) => void): void;
24
+
25
+ declare function IsDayjs(validationOptions?: ValidationOptions): (object: object, propertyName: string) => void;
26
+
27
+ declare const EMPTY_OBJ: Record<string, never>;
28
+ declare const EMPTY_ARRAY: any[];
29
+
30
+ declare function plainToInstanceWithValid<T extends object>(cls: ClassConstructor<T>, plain: object): T;
31
+ declare function plainToInstance<T extends object>(cls: ClassConstructor<T>, plain: object): T;
32
+
33
+ /**
34
+ * @license
35
+ * Copyright Google LLC All Rights Reserved.
36
+ *
37
+ * Use of this source code is governed by an MIT-style license that can be
38
+ * found in the LICENSE file at https://angular.io/license
39
+ */
40
+ declare function getClosureSafeProperty<T>(objWithPropertyToExtract: T): string;
41
+ /**
42
+ * Sets properties on a target object from a source object, but only if
43
+ * the property doesn't already exist on the target object.
44
+ * @param target The target to set properties on
45
+ * @param source The source of the property keys and values to set
46
+ */
47
+ declare function fillProperties(target: {
48
+ [key: string]: string;
49
+ }, source: {
50
+ [key: string]: string;
51
+ }): void;
52
+
53
+ /**
54
+ * @license
55
+ * Copyright Google LLC All Rights Reserved.
56
+ *
57
+ * Use of this source code is governed by an MIT-style license that can be
58
+ * found in the LICENSE file at https://angular.io/license
59
+ */
60
+ declare function stringify(token: any): string;
61
+ /**
62
+ * Concatenates two strings with separator, allocating new strings only when necessary.
63
+ *
64
+ * @param before before string.
65
+ * @param separator separator string.
66
+ * @param after after string.
67
+ * @returns concatenated string.
68
+ */
69
+ declare function concatStringsWithSpace(before: string | null, after: string | null): string;
70
+
71
+ declare function makeDecoratorFactories<T extends string, Annotation extends object, O extends object = any>(annotationFactory?: (type: T, fieldName: string, propName: string, options: O) => Annotation, key?: string): {
72
+ createDecorator: (type: T, options?: O) => (nameOrProps?: {
73
+ name?: string;
74
+ } | string) => (target: any, propName: string) => void;
75
+ createPropsDecorator: (type: T, options?: O) => (nameOrProps?: {
76
+ name?: string;
77
+ } | string) => (target: any, propName: string) => void;
78
+ createClassDecorator: <Props extends {
79
+ name: string;
80
+ }>(type: string) => (nameOrProps: Props | string) => (target: any) => void;
81
+ addAnnotation: (target: any, annotation: Annotation) => void;
82
+ getAnnotations: (target: any) => Annotation[];
83
+ };
84
+
85
+ interface DiToken<T> {
86
+ token: InjectionToken<T>;
87
+ inject: (options?: InjectOptions) => T | null;
88
+ provide: (useFactory: () => T) => {
89
+ provide: InjectionToken<T>;
90
+ useFactory: () => T;
91
+ };
92
+ }
93
+ declare function makeDI<T>(name: string, _options?: InjectOptions): DiToken<T>;
94
+
95
+ declare class ExampleService {
96
+ hello(): void;
97
+ static ɵfac: i0.ɵɵFactoryDeclaration<ExampleService, never>;
98
+ static ɵprov: i0.ɵɵInjectableDeclaration<ExampleService>;
99
+ }
100
+ declare class CommonModule {
101
+ service: ExampleService;
102
+ ngDoBootstrap(): void;
103
+ static ɵfac: i0.ɵɵFactoryDeclaration<CommonModule, never>;
104
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CommonModule, never, [typeof i1.ServerModule], never>;
105
+ static ɵinj: i0.ɵɵInjectorDeclaration<CommonModule>;
106
+ }
107
+ declare function bootstrapServer(moduleType: Type<any>, providers?: StaticProvider[]): Promise<i0.NgModuleRef<any>>;
108
+ declare function bootstrap(providers?: Array<Provider | EnvironmentProviders>): Promise<Injector>;
109
+ declare function ngBootstrap(providers?: Array<Provider | EnvironmentProviders>): Promise<Injector>;
110
+
111
+ export { CommonModule, EMPTY_ARRAY, EMPTY_OBJ, ExampleService, IsDayjs, bootstrap, bootstrapServer, concatStringsWithSpace, deepForEach, fillProperties, flattenExcludeDayjs, getClosureSafeProperty, makeDI, makeDecoratorFactories, ngBootstrap, plainToInstance, plainToInstanceWithValid, reconstruct, reconstructAsISOString, stringify, walkObj };
112
+ export type { DiToken };
@@ -0,0 +1,7 @@
1
+ import { Injector } from '@angular/core';
2
+ import { InjectionToken } from '@nestjs/common';
3
+
4
+ declare const NG_INJECTOR: InjectionToken<Injector>;
5
+ declare function provideNgInjector(useFactory: () => Injector | Promise<Injector>): any;
6
+
7
+ export { NG_INJECTOR, provideNgInjector };
package/package.json CHANGED
@@ -1,23 +1,27 @@
1
1
  {
2
2
  "name": "@nx-ddd/core",
3
- "version": "19.0.0-preview.9",
4
- "main": "./index.js",
5
- "types": "./index.d.ts",
6
- "homepage": "https://github.com/xx-machina/plaform/tree/main/packages/@nx-ddd/core",
7
- "repository": {
8
- "type": "git",
9
- "url": "https://github.com/xx-machina/plaform.git"
10
- },
3
+ "version": "19.1.1",
4
+ "license": "MIT",
11
5
  "peerDependencies": {
12
- "@angular/core": "19.1.4",
13
- "@angular/platform-server": "19.1.4",
14
- "@nestjs/common": "^10.0.0",
15
- "class-transformer": "^0.5.1",
16
- "class-validator": "^0.14.0",
17
- "dayjs": "1.11.13",
18
- "lodash-es": "^4.17.15",
6
+ "@angular/core": "19.1.4"
7
+ },
8
+ "dependencies": {
19
9
  "tslib": "^2.3.0"
20
10
  },
21
- "dependencies": {},
22
- "type": "commonjs"
11
+ "module": "fesm2022/nx-ddd-core.mjs",
12
+ "typings": "index.d.ts",
13
+ "exports": {
14
+ "./package.json": {
15
+ "default": "./package.json"
16
+ },
17
+ ".": {
18
+ "types": "./index.d.ts",
19
+ "default": "./fesm2022/nx-ddd-core.mjs"
20
+ },
21
+ "./nest-interop": {
22
+ "types": "./nest-interop/index.d.ts",
23
+ "default": "./fesm2022/nx-ddd-core-nest-interop.mjs"
24
+ }
25
+ },
26
+ "sideEffects": false
23
27
  }
package/README.md DELETED
@@ -1,42 +0,0 @@
1
- # NxDDD Core
2
- `@nx-ddd/core` is a wrapper library that allows the use of Angular's hierarchical injector in backend or CLI environments.
3
-
4
- ## Install
5
- ```sh
6
- $ npm i @nx-ddd/core
7
- ```
8
-
9
- ## Usage
10
-
11
- ```ts
12
- import '@angular/compiler';
13
- import { Injectable } from '@angular/core';
14
- import { bootstrap } from './index';
15
-
16
- @Injectable()
17
- export abstract class Repository {
18
- abstract name: string;
19
- }
20
-
21
- @Injectable()
22
- export class RepositoryImpl extends Repository {
23
- name = 'RepositoryImpl.name';
24
- }
25
-
26
- @Injectable({providedIn: 'root'})
27
- export class AppService {
28
- constructor(public repository: Repository) { }
29
- }
30
-
31
- async function main() {
32
- const injector = await bootstrap([
33
- // Inject RepositoryImpl
34
- { provide: Repository, useClass: RepositoryImpl},
35
- ]);
36
- const app = injector.get(AppService);
37
- console.debug('app.repository.name:', app.repository.name);
38
- }
39
- ```
40
-
41
- ## LISENCE
42
- MIT
@@ -1,6 +0,0 @@
1
- export declare function makeDecoratorFactories<T extends string, Annotation extends object, O extends {} = any>(annotationFactory?: (type: T, fieldName: string, propName: string, options: O) => Annotation, key?: string): {
2
- createDecorator: (type: T, options?: O) => (nameOrProps?: {
3
- name?: string;
4
- } | string) => (target: any, propName: string) => void;
5
- getAnnotations: (target: any) => Annotation[];
6
- };
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeDecoratorFactories = makeDecoratorFactories;
4
- function makeDecoratorFactories(annotationFactory = (type, fieldName, propName, options) => ({}), key = 'annotations') {
5
- function createDecorator(type, options = {}) {
6
- return (nameOrProps) => {
7
- const props = typeof nameOrProps === 'string' ? { name: nameOrProps } : nameOrProps;
8
- return (target, propName) => {
9
- var _a;
10
- var _b;
11
- const fieldName = (props === null || props === void 0 ? void 0 : props.name) || propName;
12
- // const ANNOTATION: Annotation = {type, fieldName, propName, childType: options.childType};
13
- const annotation = annotationFactory(type, fieldName, propName, options);
14
- (_a = (_b = target.constructor)[key]) !== null && _a !== void 0 ? _a : (_b[key] = []);
15
- target.constructor[key].push(annotation);
16
- };
17
- };
18
- }
19
- function getAnnotations(target) {
20
- var _a;
21
- return (_a = target[key]) !== null && _a !== void 0 ? _a : [];
22
- }
23
- return {
24
- createDecorator,
25
- getAnnotations,
26
- };
27
- }
28
- //# sourceMappingURL=create-decorator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-decorator.js","sourceRoot":"","sources":["../../../../packages/@nx-ddd/core/src/create-decorator.ts"],"names":[],"mappings":";;AAAA,wDAqCC;AArCD,SAAgB,sBAAsB,CAKpC,oBAAoB,CAClB,IAAO,EACP,SAAiB,EACjB,QAAgB,EAChB,OAAU,EACV,EAAE,CAAC,CAAC,EAAiB,CAAA,EACvB,GAAG,GAAG,aAAa;IAEnB,SAAS,eAAe,CACtB,IAAO,EACP,UAAa,EAAO;QAEpB,OAAO,CAAC,WAAsC,EAAE,EAAE;YAChD,MAAM,KAAK,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAClF,OAAO,CAAC,MAAW,EAAE,QAAgB,EAAE,EAAE;;;gBACvC,MAAM,SAAS,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,KAAI,QAAQ,CAAC;gBAC1C,4FAA4F;gBAC5F,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACzE,YAAA,MAAM,CAAC,WAAW,EAAC,GAAG,wCAAH,GAAG,IAAM,EAAE,EAAC;gBAC/B,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3C,CAAC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,SAAS,cAAc,CAAC,MAAW;;QACjC,OAAO,MAAA,MAAM,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,eAAe;QACf,cAAc;KACf,CAAC;AACJ,CAAC"}
package/di.d.ts DELETED
@@ -1,9 +0,0 @@
1
- import { InjectionToken, InjectOptions } from "@angular/core";
2
- export declare function makeDI<T>(name: string, options?: InjectOptions): {
3
- token: InjectionToken<T>;
4
- inject: () => T | null;
5
- provide: (useFactory: () => T) => {
6
- provide: InjectionToken<T>;
7
- useFactory: () => T;
8
- };
9
- };
package/di.js DELETED
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeDI = makeDI;
4
- const core_1 = require("@angular/core");
5
- function makeDI(name, options = { optional: true }) {
6
- const token = new core_1.InjectionToken(name);
7
- return {
8
- token,
9
- inject: () => { var _a; return (_a = (0, core_1.inject)(token, options)) !== null && _a !== void 0 ? _a : null; },
10
- provide: (useFactory) => ({ provide: token, useFactory }),
11
- };
12
- }
13
- //# sourceMappingURL=di.js.map
package/di.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"di.js","sourceRoot":"","sources":["../../../../packages/@nx-ddd/core/src/di.ts"],"names":[],"mappings":";;AAEA,wBAcC;AAhBD,wCAAsE;AAEtE,SAAgB,MAAM,CAAI,IAAY,EAAE,UAAyB,EAAC,QAAQ,EAAE,IAAI,EAAC;IAQ/E,MAAM,KAAK,GAAG,IAAI,qBAAc,CAAI,IAAI,CAAC,CAAC;IAC1C,OAAO;QACL,KAAK;QACL,MAAM,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAA,aAAM,EAAC,KAAK,EAAE,OAAO,CAAC,mCAAI,IAAI,CAAA,EAAA;QAC5C,OAAO,EAAE,CAAC,UAAmB,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;KACnE,CAAA;AACH,CAAC"}
package/index.js DELETED
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./di"), exports);
5
- tslib_1.__exportStar(require("./v2"), exports);
6
- //# sourceMappingURL=index.js.map
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/@nx-ddd/core/src/index.ts"],"names":[],"mappings":";;;AAAA,+CAAqB;AACrB,+CAAqB"}
package/nest-interop.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import { Injector } from '@angular/core';
2
- import type { InjectionToken } from '@nestjs/common';
3
- export declare const NG_INJECTOR: InjectionToken<Injector>;
4
- export declare function provideNgInjector(useFactory: () => Injector | Promise<Injector>): any;
package/nest-interop.js DELETED
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NG_INJECTOR = void 0;
4
- exports.provideNgInjector = provideNgInjector;
5
- exports.NG_INJECTOR = '[@nx-ddd/core] Ng Injector';
6
- function provideNgInjector(useFactory) {
7
- return { provide: exports.NG_INJECTOR, useFactory };
8
- }
9
- //# sourceMappingURL=nest-interop.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nest-interop.js","sourceRoot":"","sources":["../../../../packages/@nx-ddd/core/src/nest-interop.ts"],"names":[],"mappings":";;;AAIA,8CAEC;AAHY,QAAA,WAAW,GAA6B,4BAA4B,CAAC;AAClF,SAAgB,iBAAiB,CAAC,UAA8C;IAC9E,OAAO,EAAE,OAAO,EAAE,mBAAW,EAAE,UAAU,EAAE,CAAC;AAC9C,CAAC"}
@@ -1 +0,0 @@
1
- export declare function deepForEach<T>(input: (T | any[])[], fn: (value: T) => void): void;
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deepForEach = deepForEach;
4
- function deepForEach(input, fn) {
5
- input.forEach(value => Array.isArray(value) ? deepForEach(value, fn) : fn(value));
6
- }
7
- //# sourceMappingURL=array_utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"array_utils.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/core/src/util/array_utils.ts"],"names":[],"mappings":";;AAAA,kCAEC;AAFD,SAAgB,WAAW,CAAI,KAAkB,EAAE,EAAsB;IACvE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACpF,CAAC"}
@@ -1,2 +0,0 @@
1
- import { ValidationOptions } from 'class-validator';
2
- export declare function IsDayjs(validationOptions?: ValidationOptions): (object: Object, propertyName: string) => void;
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IsDayjs = IsDayjs;
4
- const tslib_1 = require("tslib");
5
- const class_validator_1 = require("class-validator");
6
- const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
7
- function IsDayjs(validationOptions) {
8
- return function (object, propertyName) {
9
- (0, class_validator_1.registerDecorator)({
10
- name: 'isDayjs',
11
- target: object.constructor,
12
- propertyName: propertyName,
13
- options: validationOptions,
14
- validator: {
15
- validate(value, args) {
16
- return dayjs_1.default.isDayjs(value);
17
- }
18
- }
19
- });
20
- };
21
- }
22
- //# sourceMappingURL=class-validators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"class-validators.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/core/src/util/class-validators.ts"],"names":[],"mappings":";;AAGA,0BAcC;;AAjBD,qDAA4F;AAC5F,0DAA0B;AAE1B,SAAgB,OAAO,CAAC,iBAAqC;IAC3D,OAAO,UAAU,MAAc,EAAE,YAAoB;QACnD,IAAA,mCAAiB,EAAC;YAChB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,OAAO,EAAE,iBAAiB;YAC1B,SAAS,EAAE;gBACT,QAAQ,CAAC,KAAU,EAAE,IAAyB;oBAC5C,OAAO,eAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
package/util/empty.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare const EMPTY_OBJ: {};
2
- export declare const EMPTY_ARRAY: any[];
package/util/empty.js DELETED
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EMPTY_ARRAY = exports.EMPTY_OBJ = void 0;
4
- exports.EMPTY_OBJ = {};
5
- exports.EMPTY_ARRAY = [];
6
- //# sourceMappingURL=empty.js.map
package/util/empty.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"empty.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/core/src/util/empty.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAO,EAAE,CAAC;AACnB,QAAA,WAAW,GAAU,EAAE,CAAC"}
package/util/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './plain-to-instance-with-valid';
package/util/index.js DELETED
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./plain-to-instance-with-valid"), exports);
5
- //# sourceMappingURL=index.js.map
package/util/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/core/src/util/index.ts"],"names":[],"mappings":";;;AAAA,yEAA+C"}
@@ -1,3 +0,0 @@
1
- import { ClassConstructor } from 'class-transformer';
2
- export declare function plainToInstanceWithValid<T extends object>(cls: ClassConstructor<T>, plain: object): T;
3
- export declare function plainToInstance<T extends object>(cls: ClassConstructor<T>, plain: object): T;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.plainToInstanceWithValid = plainToInstanceWithValid;
4
- exports.plainToInstance = plainToInstance;
5
- const class_transformer_1 = require("class-transformer");
6
- const class_validator_1 = require("class-validator");
7
- const walk_obj_1 = require("./walk-obj");
8
- function plainToInstanceWithValid(cls, plain) {
9
- const instance = plainToInstance(cls, plain);
10
- const errors = (0, class_validator_1.validateSync)(instance);
11
- if (errors.length)
12
- throw errors;
13
- return instance;
14
- }
15
- function plainToInstance(cls, plain) {
16
- return (0, class_transformer_1.plainToInstance)(cls, (0, walk_obj_1.reconstructAsISOString)(plain));
17
- }
18
- //# sourceMappingURL=plain-to-instance-with-valid.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plain-to-instance-with-valid.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/core/src/util/plain-to-instance-with-valid.ts"],"names":[],"mappings":";;AAIA,4DAKC;AAED,0CAEC;AAbD,yDAA0F;AAC1F,qDAA+C;AAC/C,yCAAoD;AAEpD,SAAgB,wBAAwB,CAAmB,GAAwB,EAAE,KAAa;IAC9F,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAA,8BAAY,EAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,MAAM;QAAE,MAAM,MAAM,CAAC;IAChC,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAgB,eAAe,CAAmB,GAAwB,EAAE,KAAa;IACrF,OAAO,IAAA,mCAAgB,EAAC,GAAG,EAAE,IAAA,iCAAsB,EAAC,KAAK,CAAC,CAAC,CAAC;AAChE,CAAC"}
@@ -1,19 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- export declare function getClosureSafeProperty<T>(objWithPropertyToExtract: T): string;
9
- /**
10
- * Sets properties on a target object from a source object, but only if
11
- * the property doesn't already exist on the target object.
12
- * @param target The target to set properties on
13
- * @param source The source of the property keys and values to set
14
- */
15
- export declare function fillProperties(target: {
16
- [key: string]: string;
17
- }, source: {
18
- [key: string]: string;
19
- }): void;
package/util/property.js DELETED
@@ -1,33 +0,0 @@
1
- "use strict";
2
- /**
3
- * @license
4
- * Copyright Google LLC All Rights Reserved.
5
- *
6
- * Use of this source code is governed by an MIT-style license that can be
7
- * found in the LICENSE file at https://angular.io/license
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.getClosureSafeProperty = getClosureSafeProperty;
11
- exports.fillProperties = fillProperties;
12
- function getClosureSafeProperty(objWithPropertyToExtract) {
13
- for (const key in objWithPropertyToExtract) {
14
- if (objWithPropertyToExtract[key] === getClosureSafeProperty) {
15
- return key;
16
- }
17
- }
18
- throw Error('Could not find renamed property on target object.');
19
- }
20
- /**
21
- * Sets properties on a target object from a source object, but only if
22
- * the property doesn't already exist on the target object.
23
- * @param target The target to set properties on
24
- * @param source The source of the property keys and values to set
25
- */
26
- function fillProperties(target, source) {
27
- for (const key in source) {
28
- if (source.hasOwnProperty(key) && !target.hasOwnProperty(key)) {
29
- target[key] = source[key];
30
- }
31
- }
32
- }
33
- //# sourceMappingURL=property.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"property.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/core/src/util/property.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAEH,wDAOC;AAQD,wCAMC;AArBD,SAAgB,sBAAsB,CAAI,wBAA2B;IACnE,KAAK,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC3C,IAAI,wBAAwB,CAAC,GAAG,CAAC,KAAK,sBAA6B,EAAE,CAAC;YACpE,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IACD,MAAM,KAAK,CAAC,mDAAmD,CAAC,CAAC;AACnE,CAAC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,MAA+B,EAAE,MAA+B;IAC7F,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9D,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,17 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- export declare function stringify(token: any): string;
9
- /**
10
- * Concatenates two strings with separator, allocating new strings only when necessary.
11
- *
12
- * @param before before string.
13
- * @param separator separator string.
14
- * @param after after string.
15
- * @returns concatenated string.
16
- */
17
- export declare function concatStringsWithSpace(before: string | null, after: string | null): string;
package/util/stringify.js DELETED
@@ -1,48 +0,0 @@
1
- "use strict";
2
- /**
3
- * @license
4
- * Copyright Google LLC All Rights Reserved.
5
- *
6
- * Use of this source code is governed by an MIT-style license that can be
7
- * found in the LICENSE file at https://angular.io/license
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.stringify = stringify;
11
- exports.concatStringsWithSpace = concatStringsWithSpace;
12
- function stringify(token) {
13
- if (typeof token === 'string') {
14
- return token;
15
- }
16
- if (Array.isArray(token)) {
17
- return '[' + token.map(stringify).join(', ') + ']';
18
- }
19
- if (token == null) {
20
- return '' + token;
21
- }
22
- if (token.overriddenName) {
23
- return `${token.overriddenName}`;
24
- }
25
- if (token.name) {
26
- return `${token.name}`;
27
- }
28
- const res = token.toString();
29
- if (res == null) {
30
- return '' + res;
31
- }
32
- const newLineIndex = res.indexOf('\n');
33
- return newLineIndex === -1 ? res : res.substring(0, newLineIndex);
34
- }
35
- /**
36
- * Concatenates two strings with separator, allocating new strings only when necessary.
37
- *
38
- * @param before before string.
39
- * @param separator separator string.
40
- * @param after after string.
41
- * @returns concatenated string.
42
- */
43
- function concatStringsWithSpace(before, after) {
44
- return (before == null || before === '') ?
45
- (after === null ? '' : after) :
46
- ((after == null || after === '') ? before : before + ' ' + after);
47
- }
48
- //# sourceMappingURL=stringify.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stringify.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/core/src/util/stringify.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAEF,8BA6BA;AAUD,wDAIC;AA3CA,SAAgB,SAAS,CAAC,KAAU;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;IACrD,CAAC;IAED,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,EAAE,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,OAAO,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAE7B,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAChB,OAAO,EAAE,GAAG,GAAG,CAAC;IAClB,CAAC;IAED,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,sBAAsB,CAAC,MAAmB,EAAE,KAAkB;IAC5E,OAAO,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC;AACxE,CAAC"}
@@ -1 +0,0 @@
1
- export * from './walk-obj';
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./walk-obj"), exports);
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/core/src/util/walk-obj/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B"}
@@ -1,16 +0,0 @@
1
- import dayjs from 'dayjs';
2
- type OverwriteFunction = (paths: string[], value: any) => [boolean, any] | [boolean];
3
- export declare function walkObj<T>(obj: T, options: {
4
- callback: (paths: string[], value: any) => void;
5
- overwrite: OverwriteFunction;
6
- }, paths?: string[]): void;
7
- export declare function reconstruct<T, K = object>(obj: T, overwrite?: OverwriteFunction): K;
8
- type ReconstructAsISOString<T> = {
9
- [K in keyof T]: T[K] extends dayjs.Dayjs ? string | null : T[K];
10
- };
11
- export declare function reconstructAsISOString<T>(obj: T): ReconstructAsISOString<T>;
12
- type FlattenExcludeDayjs<T> = {
13
- [K in keyof T]: T[K] extends dayjs.Dayjs ? string : T[K];
14
- };
15
- export declare function flattenExcludeDayjs<T>(obj: T): FlattenExcludeDayjs<T>;
16
- export {};
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.walkObj = walkObj;
4
- exports.reconstruct = reconstruct;
5
- exports.reconstructAsISOString = reconstructAsISOString;
6
- exports.flattenExcludeDayjs = flattenExcludeDayjs;
7
- const tslib_1 = require("tslib");
8
- const lodash_es_1 = require("lodash-es");
9
- const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
10
- function walkObj(obj, options, paths = []) {
11
- // callbackの結果がfalseのときは再帰を止める
12
- const [stop, _value] = options.overwrite(paths, obj);
13
- if (stop)
14
- return options.callback(paths, _value);
15
- if (obj instanceof Array) {
16
- obj.forEach((item, index) => walkObj(item, options, [...paths, index.toString()]));
17
- }
18
- else if (obj instanceof Object) {
19
- Object.entries(obj).forEach(([key, value]) => walkObj(value, options, [...paths, key]));
20
- }
21
- else if (obj instanceof Function) {
22
- // 何もしない
23
- }
24
- else {
25
- options.callback(paths, obj);
26
- }
27
- }
28
- function reconstruct(obj, overwrite = () => [false]) {
29
- const newObj = {};
30
- walkObj(obj, {
31
- callback: (paths, value) => {
32
- if (typeof value === 'undefined')
33
- return;
34
- (0, lodash_es_1.set)(newObj, paths.join('.'), value);
35
- },
36
- overwrite,
37
- });
38
- return newObj;
39
- }
40
- function reconstructAsISOString(obj) {
41
- return reconstruct(obj, (paths, value) => {
42
- if (dayjs_1.default.isDayjs(value)) {
43
- if (value.isValid())
44
- return [true, value.toISOString()];
45
- return [true, null];
46
- }
47
- return [false];
48
- });
49
- }
50
- function flattenExcludeDayjs(obj) {
51
- const newObj = {};
52
- walkObj(obj, {
53
- callback: (paths, value) => {
54
- if (typeof value === 'undefined')
55
- return;
56
- newObj[paths.join('.')] = value;
57
- },
58
- overwrite: (paths, value) => {
59
- if (dayjs_1.default.isDayjs(value)) {
60
- if (!value.isValid()) {
61
- return [true, null];
62
- }
63
- return [true, value.toISOString()];
64
- }
65
- return [false];
66
- },
67
- });
68
- return newObj;
69
- }
70
- //# sourceMappingURL=walk-obj.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"walk-obj.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/core/src/util/walk-obj/walk-obj.ts"],"names":[],"mappings":"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"}
package/v2.d.ts DELETED
@@ -1,11 +0,0 @@
1
- import { EnvironmentProviders, Injector, Provider, StaticProvider, Type } from '@angular/core';
2
- export declare class ExampleService {
3
- hello(): void;
4
- }
5
- export declare class CommonModule {
6
- service: ExampleService;
7
- ngDoBootstrap(): void;
8
- }
9
- export declare function bootstrapServer(moduleType: Type<any>, providers?: StaticProvider[]): Promise<import("@angular/core").NgModuleRef<any>>;
10
- export declare function bootstrap(providers?: Array<Provider | EnvironmentProviders>): Promise<Injector>;
11
- export declare function ngBootstrap(providers?: Array<Provider | EnvironmentProviders>): Promise<Injector>;
package/v2.js DELETED
@@ -1,62 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CommonModule = exports.ExampleService = void 0;
4
- exports.bootstrapServer = bootstrapServer;
5
- exports.bootstrap = bootstrap;
6
- exports.ngBootstrap = ngBootstrap;
7
- const tslib_1 = require("tslib");
8
- const core_1 = require("@angular/core");
9
- const platform_server_1 = require("@angular/platform-server");
10
- let ExampleService = class ExampleService {
11
- hello() {
12
- console.debug('hello');
13
- }
14
- };
15
- exports.ExampleService = ExampleService;
16
- exports.ExampleService = ExampleService = tslib_1.__decorate([
17
- (0, core_1.Injectable)({ providedIn: 'root' })
18
- ], ExampleService);
19
- let CommonModule = class CommonModule {
20
- constructor() {
21
- this.service = (0, core_1.inject)(ExampleService);
22
- }
23
- ngDoBootstrap() {
24
- this.service.hello();
25
- }
26
- };
27
- exports.CommonModule = CommonModule;
28
- exports.CommonModule = CommonModule = tslib_1.__decorate([
29
- (0, core_1.NgModule)({ imports: [platform_server_1.ServerModule] })
30
- ], CommonModule);
31
- function bootstrapServer(moduleType_1) {
32
- return tslib_1.__awaiter(this, arguments, void 0, function* (moduleType, providers = []) {
33
- return (0, platform_server_1.platformServer)(providers).bootstrapModule(moduleType, { ngZone: 'noop' });
34
- });
35
- }
36
- function bootstrap(providers = []) {
37
- return ngBootstrap(providers);
38
- }
39
- function ngBootstrap(providers = []) {
40
- return new Promise((resolve) => {
41
- let AppModule = class AppModule {
42
- constructor() {
43
- this.injector = (0, core_1.inject)(core_1.Injector);
44
- }
45
- ngDoBootstrap() {
46
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
47
- resolve(this.injector);
48
- });
49
- }
50
- };
51
- AppModule = tslib_1.__decorate([
52
- (0, core_1.NgModule)({
53
- imports: [
54
- platform_server_1.ServerModule,
55
- ],
56
- providers: providers,
57
- })
58
- ], AppModule);
59
- bootstrapServer(AppModule);
60
- });
61
- }
62
- //# sourceMappingURL=v2.js.map
package/v2.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../../packages/@nx-ddd/core/src/v2.ts"],"names":[],"mappings":";;;AAmBA,0CAKC;AAGD,8BAEC;AAED,kCAmBC;;AAlDD,wCAA6H;AAC7H,8DAAwE;AAGjE,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,KAAK;QACH,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;CACF,CAAA;AAJY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,iBAAU,EAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;GACpB,cAAc,CAI1B;AAGM,IAAM,YAAY,GAAlB,MAAM,YAAY;IAAlB;QACL,YAAO,GAAG,IAAA,aAAM,EAAC,cAAc,CAAC,CAAC;IAKnC,CAAC;IAHC,aAAa;QACX,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACF,CAAA;AANY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,eAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,8BAAY,CAAC,EAAE,CAAC;GACzB,YAAY,CAMxB;AAED,SAAsB,eAAe;iEACnC,UAAqB,EACrB,YAA8B,EAAE;QAEhC,OAAO,IAAA,gCAAc,EAAC,SAAS,CAAC,CAAC,eAAe,CAAC,UAAU,EAAE,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;IACjF,CAAC;CAAA;AAGD,SAAgB,SAAS,CAAC,YAAoD,EAAE;IAC9E,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC;AAChC,CAAC;AAED,SAAgB,WAAW,CAAC,YAAoD,EAAE;IAChF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAQ7B,IAAM,SAAS,GAAf,MAAM,SAAS;YAAf;gBACW,aAAQ,GAAG,IAAA,aAAM,EAAC,eAAQ,CAAC,CAAC;YAKvC,CAAC;YAHO,aAAa;;oBACjB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzB,CAAC;aAAA;SACF,CAAA;QANK,SAAS;YANd,IAAA,eAAQ,EAAC;gBACR,OAAO,EAAE;oBACP,8BAAY;iBACb;gBACD,SAAS,EAAE,SAAgC;aAC5C,CAAC;WACI,SAAS,CAMd;QAED,eAAe,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC"}