@nx-ddd/core 19.0.0-preview.31 → 19.0.0-preview.33
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/di.d.ts +2 -2
- package/fesm2022/nx-ddd-core.mjs +2 -2
- package/fesm2022/nx-ddd-core.mjs.map +1 -1
- package/package.json +1 -1
package/di.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { InjectionToken, InjectOptions } from "@angular/core";
|
|
2
2
|
export interface DiToken<T> {
|
|
3
3
|
token: InjectionToken<T>;
|
|
4
|
-
inject: () => T | null;
|
|
4
|
+
inject: (options?: InjectOptions) => T | null;
|
|
5
5
|
provide: (useFactory: () => T) => {
|
|
6
6
|
provide: InjectionToken<T>;
|
|
7
7
|
useFactory: () => T;
|
|
8
8
|
};
|
|
9
9
|
}
|
|
10
|
-
export declare function makeDI<T>(name: string,
|
|
10
|
+
export declare function makeDI<T>(name: string, _options?: InjectOptions): DiToken<T>;
|
package/fesm2022/nx-ddd-core.mjs
CHANGED
|
@@ -196,11 +196,11 @@ function makeDecoratorFactories(annotationFactory = (type, fieldName, propName,
|
|
|
196
196
|
};
|
|
197
197
|
}
|
|
198
198
|
|
|
199
|
-
function makeDI(name,
|
|
199
|
+
function makeDI(name, _options = { optional: true }) {
|
|
200
200
|
const token = new InjectionToken(name);
|
|
201
201
|
return {
|
|
202
202
|
token,
|
|
203
|
-
inject: () => inject(token, options) ?? null,
|
|
203
|
+
inject: (options) => inject(token, options ?? _options) ?? null,
|
|
204
204
|
provide: (useFactory) => ({ provide: token, useFactory }),
|
|
205
205
|
};
|
|
206
206
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-core.mjs","sources":["../../../../../packages/@nx-ddd/core/src/lib/util/walk-obj/walk-obj.ts","../../../../../packages/@nx-ddd/core/src/lib/util/array_utils.ts","../../../../../packages/@nx-ddd/core/src/lib/util/class-validators.ts","../../../../../packages/@nx-ddd/core/src/lib/util/empty.ts","../../../../../packages/@nx-ddd/core/src/lib/util/plain-to-instance-with-valid.ts","../../../../../packages/@nx-ddd/core/src/lib/util/property.ts","../../../../../packages/@nx-ddd/core/src/lib/util/stringify.ts","../../../../../packages/@nx-ddd/core/src/lib/create-decorator.ts","../../../../../packages/@nx-ddd/core/src/lib/di.ts","../../../../../packages/@nx-ddd/core/src/lib/v2.ts","../../../../../packages/@nx-ddd/core/src/lib/nx-ddd-core.ts"],"sourcesContent":["import { set } from 'lodash-es';\nimport dayjs from 'dayjs';\n\ntype OverwriteFunction = (paths: string[], value: any) => [boolean, any] | [boolean];\n\nexport function walkObj<T>(obj: T, options: {\n callback: (paths: string[], value: any) => void,\n overwrite: OverwriteFunction,\n}, paths: string[] = []) {\n // callbackの結果がfalseのときは再帰を止める\n const [stop, _value] = options.overwrite(paths, obj);\n if (stop) return options.callback(paths, _value);\n\n if (obj instanceof Array) {\n obj.forEach((item, index) => walkObj(item, options, [...paths, index.toString()]));\n } else if (obj instanceof Object) {\n Object.entries(obj).forEach(([key, value]) => walkObj(value, options, [...paths, key]));\n } else if (obj instanceof Function) {\n // 何もしない\n } else {\n options.callback(paths, obj);\n }\n}\n\nexport function reconstruct<T, K = object>(obj: T, overwrite: OverwriteFunction = () => [false]): K {\n const newObj = {};\n walkObj(obj, {\n callback: (paths: string[], value) => {\n if (typeof value === 'undefined') return;\n set(newObj, paths.join('.'), value)\n },\n overwrite,\n });\n return newObj as K;\n}\n\ntype ReconstructAsISOString<T> = {\n [K in keyof T]: T[K] extends dayjs.Dayjs ? string | null : T[K];\n}\n\nexport function reconstructAsISOString<T>(obj: T): ReconstructAsISOString<T> {\n return reconstruct(obj, (paths, value) => {\n if (dayjs.isDayjs(value)) {\n if (value.isValid()) return [true, value.toISOString()];\n return [true, null];\n }\n return [false];\n }) as ReconstructAsISOString<T>;\n}\n\ntype FlattenExcludeDayjs<T> = {\n [K in keyof T]: T[K] extends dayjs.Dayjs ? string : T[K];\n}\n\nexport function flattenExcludeDayjs<T>(obj: T): FlattenExcludeDayjs<T> {\n const newObj = {};\n walkObj(obj, {\n callback: (paths: string[], value) => {\n if (typeof value === 'undefined') 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 as FlattenExcludeDayjs<T>;\n}\n","export function deepForEach<T>(input: (T|any[])[], fn: (value: T) => void): void {\n input.forEach(value => Array.isArray(value) ? deepForEach(value, fn) : fn(value));\n}\n","import { registerDecorator, ValidationOptions, ValidationArguments } from 'class-validator';\nimport dayjs from 'dayjs';\n\nexport function IsDayjs(validationOptions?: ValidationOptions) {\n return function (object: Object, propertyName: string) {\n registerDecorator({\n name: 'isDayjs',\n target: object.constructor,\n propertyName: propertyName,\n options: validationOptions,\n validator: {\n validate(value: any, args: ValidationArguments) {\n return dayjs.isDayjs(value);\n }\n }\n });\n };\n}\n","export const EMPTY_OBJ: {} = {};\nexport const EMPTY_ARRAY: any[] = [];\n","import { ClassConstructor, plainToInstance as _plainToInstance } from 'class-transformer';\nimport { validateSync } from 'class-validator';\nimport { reconstructAsISOString } from './walk-obj';\n\nexport function plainToInstanceWithValid<T extends object>(cls: ClassConstructor<T>, plain: object): T {\n const instance = plainToInstance(cls, plain);\n const errors = validateSync(instance);\n if (errors.length) throw errors;\n return instance;\n}\n\nexport function plainToInstance<T extends object>(cls: ClassConstructor<T>, plain: object) {\n return _plainToInstance(cls, reconstructAsISOString(plain));\n}\n","/**\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 */\n\nexport function getClosureSafeProperty<T>(objWithPropertyToExtract: T): string {\n for (const key in objWithPropertyToExtract) {\n if (objWithPropertyToExtract[key] === getClosureSafeProperty as any) {\n return key;\n }\n }\n throw Error('Could not find renamed property on target object.');\n}\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: {[key: string]: string}, source: {[key: string]: string}) {\n for (const key in source) {\n if (source.hasOwnProperty(key) && !target.hasOwnProperty(key)) {\n target[key] = source[key];\n }\n }\n}\n","/**\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 */\n\n export function stringify(token: any): string {\n if (typeof token === 'string') {\n return token;\n }\n\n if (Array.isArray(token)) {\n return '[' + token.map(stringify).join(', ') + ']';\n }\n\n if (token == null) {\n return '' + token;\n }\n\n if (token.overriddenName) {\n return `${token.overriddenName}`;\n }\n\n if (token.name) {\n return `${token.name}`;\n }\n\n const res = token.toString();\n\n if (res == null) {\n return '' + res;\n }\n\n const newLineIndex = res.indexOf('\\n');\n return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\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: string|null, after: string|null): string {\n return (before == null || before === '') ?\n (after === null ? '' : after) :\n ((after == null || after === '') ? before : before + ' ' + after);\n}","export function makeDecoratorFactories<\n T extends string,\n Annotation extends object,\n O extends {} = any,\n>(\n annotationFactory = (\n type: T,\n fieldName: string,\n propName: string,\n options: O,\n ) => ({} as Annotation),\n key = 'annotations',\n) {\n function createDecorator(\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, propName: string) => {\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\n function getAnnotations(target: any): Annotation[] {\n return target[key] ?? [];\n }\n\n return {\n createDecorator,\n getAnnotations, \n };\n}\n","import { inject, InjectionToken, InjectOptions } from \"@angular/core\";\n\nexport interface DiToken<T> {\n token: InjectionToken<T>;\n inject: () => T | null;\n provide: (useFactory: () => T) => {\n provide: InjectionToken<T>,\n useFactory: () => T\n };\n}\n\nexport function makeDI<T>(name: string, options: InjectOptions = {optional: true}): DiToken<T> {\n const token = new InjectionToken<T>(name);\n return {\n token,\n inject: () => inject(token, options) ?? null,\n provide: (useFactory: () => T) => ({ provide: token, useFactory }),\n }\n}\n","import { EnvironmentProviders, Injectable, Injector, NgModule, Provider, StaticProvider, Type, inject } from '@angular/core';\nimport { ServerModule, platformServer } from '@angular/platform-server';\n\n@Injectable({providedIn: 'root'})\nexport class ExampleService {\n hello() {\n console.debug('hello');\n }\n}\n\n@NgModule({ imports: [ServerModule] })\nexport class CommonModule {\n service = inject(ExampleService);\n\n ngDoBootstrap() {\n this.service.hello();\n }\n}\n\nexport async function bootstrapServer(\n moduleType: Type<any>,\n providers: StaticProvider[] = []\n) {\n return platformServer(providers).bootstrapModule(moduleType, {ngZone: 'noop'});\n}\n\n\nexport function bootstrap(providers: Array<Provider | EnvironmentProviders> = []): Promise<Injector> {\n return ngBootstrap(providers);\n}\n\nexport function ngBootstrap(providers: Array<Provider | EnvironmentProviders> = []): Promise<Injector> {\n return new Promise((resolve) => {\n\n @NgModule({\n imports: [\n ServerModule,\n ],\n providers: providers as never as Provider[],\n })\n class AppModule {\n readonly injector = inject(Injector);\n \n async ngDoBootstrap(): Promise<void> {\n resolve(this.injector);\n }\n }\n\n bootstrapServer(AppModule);\n });\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_plainToInstance"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nx-ddd-core.mjs","sources":["../../../../../packages/@nx-ddd/core/src/lib/util/walk-obj/walk-obj.ts","../../../../../packages/@nx-ddd/core/src/lib/util/array_utils.ts","../../../../../packages/@nx-ddd/core/src/lib/util/class-validators.ts","../../../../../packages/@nx-ddd/core/src/lib/util/empty.ts","../../../../../packages/@nx-ddd/core/src/lib/util/plain-to-instance-with-valid.ts","../../../../../packages/@nx-ddd/core/src/lib/util/property.ts","../../../../../packages/@nx-ddd/core/src/lib/util/stringify.ts","../../../../../packages/@nx-ddd/core/src/lib/create-decorator.ts","../../../../../packages/@nx-ddd/core/src/lib/di.ts","../../../../../packages/@nx-ddd/core/src/lib/v2.ts","../../../../../packages/@nx-ddd/core/src/lib/nx-ddd-core.ts"],"sourcesContent":["import { set } from 'lodash-es';\nimport dayjs from 'dayjs';\n\ntype OverwriteFunction = (paths: string[], value: any) => [boolean, any] | [boolean];\n\nexport function walkObj<T>(obj: T, options: {\n callback: (paths: string[], value: any) => void,\n overwrite: OverwriteFunction,\n}, paths: string[] = []) {\n // callbackの結果がfalseのときは再帰を止める\n const [stop, _value] = options.overwrite(paths, obj);\n if (stop) return options.callback(paths, _value);\n\n if (obj instanceof Array) {\n obj.forEach((item, index) => walkObj(item, options, [...paths, index.toString()]));\n } else if (obj instanceof Object) {\n Object.entries(obj).forEach(([key, value]) => walkObj(value, options, [...paths, key]));\n } else if (obj instanceof Function) {\n // 何もしない\n } else {\n options.callback(paths, obj);\n }\n}\n\nexport function reconstruct<T, K = object>(obj: T, overwrite: OverwriteFunction = () => [false]): K {\n const newObj = {};\n walkObj(obj, {\n callback: (paths: string[], value) => {\n if (typeof value === 'undefined') return;\n set(newObj, paths.join('.'), value)\n },\n overwrite,\n });\n return newObj as K;\n}\n\ntype ReconstructAsISOString<T> = {\n [K in keyof T]: T[K] extends dayjs.Dayjs ? string | null : T[K];\n}\n\nexport function reconstructAsISOString<T>(obj: T): ReconstructAsISOString<T> {\n return reconstruct(obj, (paths, value) => {\n if (dayjs.isDayjs(value)) {\n if (value.isValid()) return [true, value.toISOString()];\n return [true, null];\n }\n return [false];\n }) as ReconstructAsISOString<T>;\n}\n\ntype FlattenExcludeDayjs<T> = {\n [K in keyof T]: T[K] extends dayjs.Dayjs ? string : T[K];\n}\n\nexport function flattenExcludeDayjs<T>(obj: T): FlattenExcludeDayjs<T> {\n const newObj = {};\n walkObj(obj, {\n callback: (paths: string[], value) => {\n if (typeof value === 'undefined') 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 as FlattenExcludeDayjs<T>;\n}\n","export function deepForEach<T>(input: (T|any[])[], fn: (value: T) => void): void {\n input.forEach(value => Array.isArray(value) ? deepForEach(value, fn) : fn(value));\n}\n","import { registerDecorator, ValidationOptions, ValidationArguments } from 'class-validator';\nimport dayjs from 'dayjs';\n\nexport function IsDayjs(validationOptions?: ValidationOptions) {\n return function (object: Object, propertyName: string) {\n registerDecorator({\n name: 'isDayjs',\n target: object.constructor,\n propertyName: propertyName,\n options: validationOptions,\n validator: {\n validate(value: any, args: ValidationArguments) {\n return dayjs.isDayjs(value);\n }\n }\n });\n };\n}\n","export const EMPTY_OBJ: {} = {};\nexport const EMPTY_ARRAY: any[] = [];\n","import { ClassConstructor, plainToInstance as _plainToInstance } from 'class-transformer';\nimport { validateSync } from 'class-validator';\nimport { reconstructAsISOString } from './walk-obj';\n\nexport function plainToInstanceWithValid<T extends object>(cls: ClassConstructor<T>, plain: object): T {\n const instance = plainToInstance(cls, plain);\n const errors = validateSync(instance);\n if (errors.length) throw errors;\n return instance;\n}\n\nexport function plainToInstance<T extends object>(cls: ClassConstructor<T>, plain: object) {\n return _plainToInstance(cls, reconstructAsISOString(plain));\n}\n","/**\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 */\n\nexport function getClosureSafeProperty<T>(objWithPropertyToExtract: T): string {\n for (const key in objWithPropertyToExtract) {\n if (objWithPropertyToExtract[key] === getClosureSafeProperty as any) {\n return key;\n }\n }\n throw Error('Could not find renamed property on target object.');\n}\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: {[key: string]: string}, source: {[key: string]: string}) {\n for (const key in source) {\n if (source.hasOwnProperty(key) && !target.hasOwnProperty(key)) {\n target[key] = source[key];\n }\n }\n}\n","/**\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 */\n\n export function stringify(token: any): string {\n if (typeof token === 'string') {\n return token;\n }\n\n if (Array.isArray(token)) {\n return '[' + token.map(stringify).join(', ') + ']';\n }\n\n if (token == null) {\n return '' + token;\n }\n\n if (token.overriddenName) {\n return `${token.overriddenName}`;\n }\n\n if (token.name) {\n return `${token.name}`;\n }\n\n const res = token.toString();\n\n if (res == null) {\n return '' + res;\n }\n\n const newLineIndex = res.indexOf('\\n');\n return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\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: string|null, after: string|null): string {\n return (before == null || before === '') ?\n (after === null ? '' : after) :\n ((after == null || after === '') ? before : before + ' ' + after);\n}","export function makeDecoratorFactories<\n T extends string,\n Annotation extends object,\n O extends {} = any,\n>(\n annotationFactory = (\n type: T,\n fieldName: string,\n propName: string,\n options: O,\n ) => ({} as Annotation),\n key = 'annotations',\n) {\n function createDecorator(\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, propName: string) => {\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\n function getAnnotations(target: any): Annotation[] {\n return target[key] ?? [];\n }\n\n return {\n createDecorator,\n getAnnotations, \n };\n}\n","import { inject, InjectionToken, InjectOptions } from \"@angular/core\";\n\nexport interface DiToken<T> {\n token: InjectionToken<T>;\n inject: (options?: InjectOptions) => T | null;\n provide: (useFactory: () => T) => {\n provide: InjectionToken<T>,\n useFactory: () => T\n };\n}\n\nexport function makeDI<T>(name: string, _options: InjectOptions = {optional: true}): DiToken<T> {\n const token = new InjectionToken<T>(name);\n return {\n token,\n inject: (options?: InjectOptions) => inject(token, options ?? _options) ?? null,\n provide: (useFactory: () => T) => ({ provide: token, useFactory }),\n }\n}\n","import { EnvironmentProviders, Injectable, Injector, NgModule, Provider, StaticProvider, Type, inject } from '@angular/core';\nimport { ServerModule, platformServer } from '@angular/platform-server';\n\n@Injectable({providedIn: 'root'})\nexport class ExampleService {\n hello() {\n console.debug('hello');\n }\n}\n\n@NgModule({ imports: [ServerModule] })\nexport class CommonModule {\n service = inject(ExampleService);\n\n ngDoBootstrap() {\n this.service.hello();\n }\n}\n\nexport async function bootstrapServer(\n moduleType: Type<any>,\n providers: StaticProvider[] = []\n) {\n return platformServer(providers).bootstrapModule(moduleType, {ngZone: 'noop'});\n}\n\n\nexport function bootstrap(providers: Array<Provider | EnvironmentProviders> = []): Promise<Injector> {\n return ngBootstrap(providers);\n}\n\nexport function ngBootstrap(providers: Array<Provider | EnvironmentProviders> = []): Promise<Injector> {\n return new Promise((resolve) => {\n\n @NgModule({\n imports: [\n ServerModule,\n ],\n providers: providers as never as Provider[],\n })\n class AppModule {\n readonly injector = inject(Injector);\n \n async ngDoBootstrap(): Promise<void> {\n resolve(this.injector);\n }\n }\n\n bootstrapServer(AppModule);\n });\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_plainToInstance"],"mappings":"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"}
|