@nx-ddd/common 18.10.0 → 18.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/domain/models.d.ts +3 -2
  2. package/domain/models.js +11 -2
  3. package/domain/models.js.map +1 -1
  4. package/infrastructure/externals/chromium/chromium.service.impl.d.ts +18 -0
  5. package/infrastructure/externals/chromium/chromium.service.impl.js +58 -0
  6. package/infrastructure/externals/chromium/chromium.service.impl.js.map +1 -0
  7. package/infrastructure/externals/chromium/chromuim.service.d.ts +9 -0
  8. package/infrastructure/externals/chromium/chromuim.service.js +6 -0
  9. package/infrastructure/externals/chromium/chromuim.service.js.map +1 -0
  10. package/infrastructure/externals/chromium/index.d.ts +1 -0
  11. package/infrastructure/externals/chromium/index.js +5 -0
  12. package/infrastructure/externals/chromium/index.js.map +1 -0
  13. package/infrastructure/repo/excel/excel.converter.d.ts +29 -0
  14. package/infrastructure/repo/excel/excel.converter.js +71 -0
  15. package/infrastructure/repo/excel/excel.converter.js.map +1 -0
  16. package/infrastructure/repo/excel/excel.decorators.d.ts +29 -0
  17. package/infrastructure/repo/excel/excel.decorators.js +55 -0
  18. package/infrastructure/repo/excel/excel.decorators.js.map +1 -0
  19. package/infrastructure/repo/excel/excel.repository.d.ts +14 -0
  20. package/infrastructure/repo/excel/excel.repository.js +32 -0
  21. package/infrastructure/repo/excel/excel.repository.js.map +1 -0
  22. package/infrastructure/repo/excel/excel.service.impl.d.ts +17 -0
  23. package/infrastructure/repo/excel/excel.service.impl.js +61 -0
  24. package/infrastructure/repo/excel/excel.service.impl.js.map +1 -0
  25. package/infrastructure/repo/excel/index.d.ts +3 -0
  26. package/infrastructure/repo/excel/index.js +7 -0
  27. package/infrastructure/repo/excel/index.js.map +1 -0
  28. package/package.json +1 -1
  29. package/utilities/message.js +18 -2
  30. package/utilities/message.js.map +1 -1
@@ -46,9 +46,9 @@ export declare class Domain {
46
46
  static readonly ANNOTATIONS: unique symbol;
47
47
  static Lang(name: string): (target: any, propName: string) => void;
48
48
  static Type<T>(typeFactory?: () => T): (target: any, propName: string) => void;
49
- static Entity({ name }: {
49
+ static Entity(propsOrName: {
50
50
  name: string;
51
- }): (target: any) => void;
51
+ } | string): (target: any) => void;
52
52
  static registerAnnotation(constructor: Target['constructor'], annotation: DomainAnnotation): void;
53
53
  }
54
54
  export type LangMap<E> = Partial<Record<keyof E, string>>;
@@ -61,6 +61,7 @@ export declare function getAnnotations<E>(target: Type<E>): DomainAnnotation[];
61
61
  export declare function getDomainProps<E>(target: Type<E>, deps?: number, path?: string): string[];
62
62
  export declare function getProps<E>(target: Type<E>, deps?: number, path?: string): string[];
63
63
  export declare function getModelName<E>(target: Type<E>): string;
64
+ export declare function getEntityName<E>(target: Type<E>): string;
64
65
  export declare class Entity {
65
66
  static fromObj<T extends Entity = Entity>(obj: object): T;
66
67
  static toObj(entity: Entity): Entity;
package/domain/models.js CHANGED
@@ -6,6 +6,7 @@ exports.getAnnotations = getAnnotations;
6
6
  exports.getDomainProps = getDomainProps;
7
7
  exports.getProps = getProps;
8
8
  exports.getModelName = getModelName;
9
+ exports.getEntityName = getEntityName;
9
10
  exports.TransformToDayjs = TransformToDayjs;
10
11
  const tslib_1 = require("tslib");
11
12
  require("reflect-metadata");
@@ -30,9 +31,10 @@ class Domain {
30
31
  };
31
32
  }
32
33
  // classをデコレートしてnameをアノテーションする
33
- static Entity({ name }) {
34
+ static Entity(propsOrName) {
35
+ const props = typeof propsOrName === 'string' ? { name: propsOrName } : propsOrName;
34
36
  return (target) => {
35
- this.registerAnnotation(target, { name, type: 'model:lang', modelName: target.name });
37
+ this.registerAnnotation(target, { name: props.name, type: 'model:lang', modelName: target.name });
36
38
  };
37
39
  }
38
40
  static registerAnnotation(constructor, annotation) {
@@ -90,6 +92,7 @@ function getProps(target, deps = 3, path = '') {
90
92
  }
91
93
  return [];
92
94
  }
95
+ default: return [];
93
96
  }
94
97
  }).flat();
95
98
  }
@@ -99,6 +102,12 @@ function getModelName(target) {
99
102
  return annotation.type === 'model:lang';
100
103
  })) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : target.name;
101
104
  }
105
+ function getEntityName(target) {
106
+ var _a, _b;
107
+ return (_b = (_a = getAnnotations(target).find(annotation => {
108
+ return annotation.type === 'model:lang';
109
+ })) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : target.name;
110
+ }
102
111
  class Entity {
103
112
  static fromObj(obj) {
104
113
  return Object.assign(new this(), Object.assign({ id: null, createdAt: null, updatedAt: null }, obj));
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/common/src/domain/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/common/src/domain/models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { EnvironmentProviders } from "@angular/core";
2
+ import { Browser } from "playwright";
3
+ export interface ChromiumConfig {
4
+ headless: boolean;
5
+ }
6
+ export declare const CHROMIUM_CONFIG: {
7
+ token: import("@angular/core").InjectionToken<ChromiumConfig>;
8
+ inject: () => ChromiumConfig;
9
+ provide: (useFactory: () => ChromiumConfig) => {
10
+ provide: import("@angular/core").InjectionToken<ChromiumConfig>;
11
+ useFactory: () => ChromiumConfig;
12
+ };
13
+ };
14
+ export declare class ChromiumService {
15
+ protected readonly config: ChromiumConfig;
16
+ start<R = any>(callback: (browser: Browser) => Promise<R>): Promise<R>;
17
+ }
18
+ export declare function provideChromium(useFacotry?: () => ChromiumConfig): EnvironmentProviders;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChromiumService = exports.CHROMIUM_CONFIG = void 0;
4
+ exports.provideChromium = provideChromium;
5
+ const tslib_1 = require("tslib");
6
+ const core_1 = require("@angular/core");
7
+ const core_2 = require("@nx-ddd/core");
8
+ const playwright_1 = require("playwright");
9
+ const puppeteer_chromium_resolver_1 = tslib_1.__importDefault(require("puppeteer-chromium-resolver"));
10
+ const chromuim_service_1 = require("./chromuim.service");
11
+ exports.CHROMIUM_CONFIG = (0, core_2.makeDI)('[@connect-box/app] ChromiumConfig', { optional: false });
12
+ let ChromiumService = class ChromiumService {
13
+ constructor() {
14
+ this.config = exports.CHROMIUM_CONFIG.inject();
15
+ }
16
+ start(callback) {
17
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
18
+ const stats = yield (0, puppeteer_chromium_resolver_1.default)();
19
+ const executablePath = stats.executablePath;
20
+ console.debug('executablePath:', executablePath);
21
+ const browser = yield playwright_1.chromium.launch({
22
+ headless: this.config.headless,
23
+ executablePath: executablePath !== null ? executablePath : undefined,
24
+ timeout: 60 * 1000,
25
+ args: [
26
+ '--no-sandbox',
27
+ '--disable-setuid-sandbox',
28
+ '--disable-dev-shm-usage', // 追加: /dev/shmの使用を無効化
29
+ '--disable-extensions',
30
+ '--disable-gpu',
31
+ '--disable-software-rasterizer',
32
+ '--no-zygote',
33
+ ]
34
+ });
35
+ try {
36
+ const result = yield callback(browser);
37
+ return result;
38
+ }
39
+ catch (error) {
40
+ throw error;
41
+ }
42
+ finally {
43
+ yield browser.close();
44
+ }
45
+ });
46
+ }
47
+ };
48
+ exports.ChromiumService = ChromiumService;
49
+ exports.ChromiumService = ChromiumService = tslib_1.__decorate([
50
+ (0, core_1.Injectable)({ providedIn: 'root' })
51
+ ], ChromiumService);
52
+ function provideChromium(useFacotry = () => ({ headless: true })) {
53
+ return (0, core_1.makeEnvironmentProviders)([
54
+ exports.CHROMIUM_CONFIG.provide(useFacotry),
55
+ chromuim_service_1.CHROMIUM.provide(() => new ChromiumService()),
56
+ ]);
57
+ }
58
+ //# sourceMappingURL=chromium.service.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chromium.service.impl.js","sourceRoot":"","sources":["../../../../../../../packages/@nx-ddd/common/src/infrastructure/externals/chromium/chromium.service.impl.ts"],"names":[],"mappings":";;;AA8CA,0CAKC;;AAnDD,wCAA2F;AAC3F,uCAAsC;AACtC,2CAA+C;AAE/C,sGAAmD;AACnD,yDAA8C;AAMjC,QAAA,eAAe,GAAG,IAAA,aAAM,EAAiB,mCAAmC,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC;AAGvG,IAAM,eAAe,GAArB,MAAM,eAAe;IAArB;QACc,WAAM,GAAG,uBAAe,CAAC,MAAM,EAAE,CAAC;IA6BvD,CAAC;IA3BO,KAAK,CAAU,QAA0C;;YAC7D,MAAM,KAAK,GAAG,MAAM,IAAA,qCAAS,GAAE,CAAC;YAChC,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,MAAM,qBAAQ,CAAC,MAAM,CAAC;gBACpC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC9B,cAAc,EAAE,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;gBACpE,OAAO,EAAE,EAAE,GAAG,IAAI;gBAClB,IAAI,EAAE;oBACJ,cAAc;oBACd,0BAA0B;oBAC1B,yBAAyB,EAAE,sBAAsB;oBACjD,sBAAsB;oBACtB,eAAe;oBACf,+BAA+B;oBAC/B,aAAa;iBACd;aACF,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACvC,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAM,KAAK,EAAE,CAAC;gBACd,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;KAAA;CACF,CAAA;AA9BY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,iBAAU,EAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;GACpB,eAAe,CA8B3B;AAED,SAAgB,eAAe,CAAC,aAAmC,GAAG,EAAE,CAAC,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;IACzF,OAAO,IAAA,+BAAwB,EAAC;QAC9B,uBAAe,CAAC,OAAO,CAAC,UAAU,CAAC;QACnC,2BAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,eAAe,EAAE,CAAC;KAC9C,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ChromiumService } from "./chromium.service.impl";
2
+ export declare const CHROMIUM: {
3
+ token: import("@angular/core").InjectionToken<ChromiumService>;
4
+ inject: () => ChromiumService;
5
+ provide: (useFactory: () => ChromiumService) => {
6
+ provide: import("@angular/core").InjectionToken<ChromiumService>;
7
+ useFactory: () => ChromiumService;
8
+ };
9
+ };
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CHROMIUM = void 0;
4
+ const core_1 = require("@nx-ddd/core");
5
+ exports.CHROMIUM = (0, core_1.makeDI)('[@machina/common] CHROMIUM');
6
+ //# sourceMappingURL=chromuim.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chromuim.service.js","sourceRoot":"","sources":["../../../../../../../packages/@nx-ddd/common/src/infrastructure/externals/chromium/chromuim.service.ts"],"names":[],"mappings":";;;AAAA,uCAAsC;AAGzB,QAAA,QAAQ,GAAG,IAAA,aAAM,EAAkB,4BAA4B,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './chromuim.service';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./chromuim.service"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/@nx-ddd/common/src/infrastructure/externals/chromium/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC"}
@@ -0,0 +1,29 @@
1
+ import dayjs from 'dayjs';
2
+ export interface ExcelConverter<T> {
3
+ fromExcel(record: any): T;
4
+ fromExcelMany(records: any[]): T[];
5
+ toExcel(model: T): any;
6
+ toExcelMany(models: T[]): any[];
7
+ }
8
+ export declare class ExcelUtils {
9
+ static toDayjs(serial: number | null): dayjs.Dayjs;
10
+ static fromDayjs(date: dayjs.Dayjs | null): Date;
11
+ static fromExcel<E, D extends object>(record: any, type: {
12
+ new (): E;
13
+ }): D;
14
+ static toExcel<E, D extends object>(entity: E, type: {
15
+ new (): E;
16
+ }): D;
17
+ }
18
+ /** @deprecated use ExcelUtils.toDayjs instead. */
19
+ export declare function toDayjs(serial: number | null): dayjs.Dayjs;
20
+ /** @deprecated use ExcelUtils.fromDayjs instead. */
21
+ export declare function fromDayjs(date: dayjs.Dayjs | null): Date;
22
+ /** @deprecated use ExcelUtils.fromExcel instead. */
23
+ export declare function fromExcel<E, D extends object>(record: any, type: {
24
+ new (): E;
25
+ }): D;
26
+ /** @deprecated use ExcelUtils.toExcel instead. */
27
+ export declare function toExcel<E, D extends object>(entity: E, type: {
28
+ new (): E;
29
+ }): D;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExcelUtils = void 0;
4
+ exports.toDayjs = toDayjs;
5
+ exports.fromDayjs = fromDayjs;
6
+ exports.fromExcel = fromExcel;
7
+ exports.toExcel = toExcel;
8
+ const tslib_1 = require("tslib");
9
+ const excel_decorators_1 = require("./excel.decorators");
10
+ const lodash_es_1 = require("lodash-es");
11
+ const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
12
+ class ExcelUtils {
13
+ static toDayjs(serial) {
14
+ if (typeof serial !== 'number')
15
+ return null;
16
+ const excelEpoch = (0, dayjs_1.default)('1899-12-30');
17
+ return excelEpoch.add(serial, 'day');
18
+ }
19
+ static fromDayjs(date) {
20
+ if (!dayjs_1.default.isDayjs(date))
21
+ return null;
22
+ return date.toDate();
23
+ }
24
+ static fromExcel(record, type) {
25
+ const annotations = (0, excel_decorators_1.getFlattenFieldAnnotations)(type);
26
+ const obj = Object.entries(annotations).reduce((acc, [key, annotation]) => {
27
+ var _a;
28
+ const value = (0, lodash_es_1.get)(record, annotation.fieldName);
29
+ switch (annotation.type) {
30
+ case 'number': return Object.assign(Object.assign({}, acc), { [annotation === null || annotation === void 0 ? void 0 : annotation.propName]: isNaN(Number(value)) ? null : Number(value) });
31
+ case 'date': return Object.assign(Object.assign({}, acc), { [annotation === null || annotation === void 0 ? void 0 : annotation.propName]: this.toDayjs(value) });
32
+ case 'array': return Object.assign(Object.assign({}, acc), { [annotation === null || annotation === void 0 ? void 0 : annotation.propName]: (_a = value === null || value === void 0 ? void 0 : value.split(',')) !== null && _a !== void 0 ? _a : [] });
33
+ case 'boolean': return Object.assign(Object.assign({}, acc), { [annotation === null || annotation === void 0 ? void 0 : annotation.propName]: value });
34
+ default: return Object.assign(Object.assign({}, acc), { [annotation === null || annotation === void 0 ? void 0 : annotation.propName]: value || null });
35
+ }
36
+ }, {});
37
+ return obj;
38
+ }
39
+ static toExcel(entity, type) {
40
+ const annotations = (0, excel_decorators_1.getFlattenFieldAnnotations)(type);
41
+ const obj = Object.entries(annotations).reduce((acc, [key, annotation]) => {
42
+ const value = (0, lodash_es_1.get)(entity, annotation.propName);
43
+ switch (annotation.type) {
44
+ case 'number': return Object.assign(Object.assign({}, acc), { [annotation.fieldName]: isNaN(Number(value)) ? null : Number(value) });
45
+ case 'date': return Object.assign(Object.assign({}, acc), { [annotation.fieldName]: this.fromDayjs(value) });
46
+ case 'array': return Object.assign(Object.assign({}, acc), { [annotation.fieldName]: Array.isArray(value) ? value.join(',') : value });
47
+ case 'boolean': return Object.assign(Object.assign({}, acc), { [annotation.fieldName]: value ? 'TRUE' : 'FALSE' });
48
+ default: return Object.assign(Object.assign({}, acc), { [annotation.fieldName]: value });
49
+ }
50
+ }, {});
51
+ return obj;
52
+ }
53
+ }
54
+ exports.ExcelUtils = ExcelUtils;
55
+ /** @deprecated use ExcelUtils.toDayjs instead. */
56
+ function toDayjs(serial) {
57
+ return ExcelUtils.toDayjs(serial);
58
+ }
59
+ /** @deprecated use ExcelUtils.fromDayjs instead. */
60
+ function fromDayjs(date) {
61
+ return ExcelUtils.fromDayjs(date);
62
+ }
63
+ /** @deprecated use ExcelUtils.fromExcel instead. */
64
+ function fromExcel(record, type) {
65
+ return ExcelUtils.fromExcel(record, type);
66
+ }
67
+ /** @deprecated use ExcelUtils.toExcel instead. */
68
+ function toExcel(entity, type) {
69
+ return ExcelUtils.toExcel(entity, type);
70
+ }
71
+ //# sourceMappingURL=excel.converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"excel.converter.js","sourceRoot":"","sources":["../../../../../../../packages/@nx-ddd/common/src/infrastructure/repo/excel/excel.converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export declare function getFlattenFieldAnnotations<Annotation>(T: any, prefix?: string): Record<string, Annotation>;
2
+ export declare function getFields(T: any, options?: {
3
+ prefix?: string;
4
+ case?: 'snake' | 'camel' | 'original';
5
+ }): string[];
6
+ export declare function getHeaders(T: any): string[];
7
+ export declare const Excel: {
8
+ Text: (nameOrProps?: {
9
+ name?: string;
10
+ } | string) => (target: any, propName: string) => void;
11
+ Date: (nameOrProps?: {
12
+ name?: string;
13
+ } | string) => (target: any, propName: string) => void;
14
+ Number: (nameOrProps?: {
15
+ name?: string;
16
+ } | string) => (target: any, propName: string) => void;
17
+ Array: (nameOrProps?: {
18
+ name?: string;
19
+ } | string) => (target: any, propName: string) => void;
20
+ Boolean: (nameOrProps?: {
21
+ name?: string;
22
+ } | string) => (target: any, propName: string) => void;
23
+ getAnnotations: (target: any) => {
24
+ type: string;
25
+ fieldName: string;
26
+ propName: string;
27
+ childType: any;
28
+ }[];
29
+ };
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Excel = void 0;
4
+ exports.getFlattenFieldAnnotations = getFlattenFieldAnnotations;
5
+ exports.getFields = getFields;
6
+ exports.getHeaders = getHeaders;
7
+ const create_decorator_1 = require("@nx-ddd/core/create-decorator");
8
+ const lodash_es_1 = require("lodash-es");
9
+ const { createDecorator, getAnnotations, } = (0, create_decorator_1.makeDecoratorFactories)((type, fieldName, propName, options) => ({ type, fieldName, propName, childType: options.childType }), '[@nx-ddd/excel] annotations');
10
+ function getFlattenFieldAnnotations(T, prefix = '') {
11
+ const annotations = getAnnotations(T);
12
+ return (annotations !== null && annotations !== void 0 ? annotations : []).reduce((acc, annotation) => {
13
+ const currentKey = prefix ? (0, lodash_es_1.camelCase)(`${prefix}_${annotation.fieldName}`) : annotation.fieldName;
14
+ if (annotation.childType) {
15
+ return Object.assign(Object.assign({}, acc), getFlattenFieldAnnotations(annotation.childType(), currentKey));
16
+ }
17
+ return Object.assign(Object.assign({}, acc), { [currentKey]: annotation });
18
+ }, {});
19
+ }
20
+ function getFields(T, options = {
21
+ prefix: '',
22
+ case: 'original'
23
+ }) {
24
+ const annotations = getAnnotations(T);
25
+ const changeCase = (options === null || options === void 0 ? void 0 : options.case) === 'snake'
26
+ ? lodash_es_1.snakeCase
27
+ : (options === null || options === void 0 ? void 0 : options.case) === 'camel' ? lodash_es_1.camelCase
28
+ : (value) => value;
29
+ const fields = (annotations !== null && annotations !== void 0 ? annotations : []).flatMap((annotation) => {
30
+ const currentKey = changeCase((options === null || options === void 0 ? void 0 : options.prefix) ? `${options === null || options === void 0 ? void 0 : options.prefix}_${annotation.fieldName}` : annotation.fieldName);
31
+ if (annotation.childType) {
32
+ return [
33
+ ...getFields(annotation.childType(), {
34
+ prefix: currentKey,
35
+ case: options === null || options === void 0 ? void 0 : options.case,
36
+ })
37
+ ];
38
+ }
39
+ return [currentKey];
40
+ });
41
+ return fields;
42
+ }
43
+ function getHeaders(T) {
44
+ return getFields(T);
45
+ }
46
+ exports.Excel = {
47
+ Text: createDecorator('text'),
48
+ Date: createDecorator('date'),
49
+ Number: createDecorator('number'),
50
+ // JSON: createDecorator('json'),
51
+ Array: createDecorator('array'),
52
+ Boolean: createDecorator('boolean'),
53
+ getAnnotations,
54
+ };
55
+ //# sourceMappingURL=excel.decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"excel.decorators.js","sourceRoot":"","sources":["../../../../../../../packages/@nx-ddd/common/src/infrastructure/repo/excel/excel.decorators.ts"],"names":[],"mappings":";;;AAWA,gEAeC;AAED,8BAyBC;AAED,gCAEC;AAzDD,oEAAuE;AACvE,yCAAiD;AAEjD,MAAM,EACJ,eAAe,EACf,cAAc,GACf,GAAG,IAAA,yCAAsB,EACxB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,EACrG,6BAA6B,CAC9B,CAAC;AAEF,SAAgB,0BAA0B,CAAa,CAAM,EAAE,SAAiB,EAAE;IAChF,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE;QACpD,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,qBAAS,EAAC,GAAG,MAAM,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QAClG,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YACzB,uCACK,GAAG,GACH,0BAA0B,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,UAAU,CAAC,EACjE;QACJ,CAAC;QACD,uCACK,GAAG,KACN,CAAC,UAAU,CAAC,EAAE,UAAU,IACxB;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,SAAgB,SAAS,CAAC,CAAM,EAAE,UAG9B;IACF,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,UAAU;CACjB;IACC,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,OAAO;QAC1C,CAAC,CAAC,qBAAS;QACX,CAAC,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,OAAO,CAAC,CAAC,CAAC,qBAAS;YACvC,CAAC,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC;IAC7B,MAAM,MAAM,GAAG,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACxD,MAAM,UAAU,GAAG,UAAU,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAC,CAAC,CAAC,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACrH,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YACzB,OAAO;gBACL,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE;oBACnC,MAAM,EAAE,UAAU;oBAClB,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;iBACpB,CAAC;aACH,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,UAAU,CAAC,CAAM;IAC/B,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC;AAEY,QAAA,KAAK,GAAG;IACnB,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC;IAC7B,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC;IAC7B,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC;IACjC,iCAAiC;IACjC,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC;IAC/B,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC;IACnC,cAAc;CACf,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { ExcelConverter } from './excel.converter';
3
+ import type { ExcelService } from './excel.service.impl';
4
+ export declare const EXCEL_SERVICE: InjectionToken<ExcelService>;
5
+ export declare function injectExcelService<T>(): ExcelService;
6
+ export declare abstract class ExcelRepository<T> {
7
+ protected abstract path: string;
8
+ protected abstract sheetName: string;
9
+ protected abstract converter: ExcelConverter<T>;
10
+ protected service: ExcelService;
11
+ protected headers?: string[];
12
+ list(): Promise<T[]>;
13
+ saveMany(entities: T[]): Promise<void>;
14
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExcelRepository = exports.EXCEL_SERVICE = void 0;
4
+ exports.injectExcelService = injectExcelService;
5
+ const tslib_1 = require("tslib");
6
+ const core_1 = require("@angular/core");
7
+ exports.EXCEL_SERVICE = new core_1.InjectionToken('[@nx-ddd/common] EXCEL REPOSITORY');
8
+ function injectExcelService() {
9
+ var _a;
10
+ return (_a = (0, core_1.inject)(exports.EXCEL_SERVICE, { optional: true })) !== null && _a !== void 0 ? _a : null;
11
+ }
12
+ class ExcelRepository {
13
+ constructor() {
14
+ this.service = injectExcelService();
15
+ }
16
+ list() {
17
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
18
+ const records = this.service.getRecords(this.path, this.sheetName);
19
+ return this.converter.fromExcelMany(records);
20
+ });
21
+ }
22
+ saveMany(entities) {
23
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
24
+ const records = entities.map(entity => this.converter.toExcel(entity));
25
+ this.service.loadWorkbook(this.path, (workbook) => {
26
+ return this.service.writeSheet(workbook, this.sheetName, records, this.headers);
27
+ });
28
+ });
29
+ }
30
+ }
31
+ exports.ExcelRepository = ExcelRepository;
32
+ //# sourceMappingURL=excel.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"excel.repository.js","sourceRoot":"","sources":["../../../../../../../packages/@nx-ddd/common/src/infrastructure/repo/excel/excel.repository.ts"],"names":[],"mappings":";;;AAKA,gDAEC;;AAPD,wCAAuD;AAI1C,QAAA,aAAa,GAAG,IAAI,qBAAc,CAAe,mCAAmC,CAAC,CAAC;AACnG,SAAgB,kBAAkB;;IAChC,OAAO,MAAA,IAAA,aAAM,EAAC,qBAAa,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,mCAAI,IAAoB,CAAC;AACzE,CAAC;AAED,MAAsB,eAAe;IAArC;QAIY,YAAO,GAAG,kBAAkB,EAAE,CAAC;IAc3C,CAAC;IAXO,IAAI;;YACR,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAgB,CAAC,CAAC;QACxD,CAAC;KAAA;IAEK,QAAQ,CAAC,QAAa;;YAC1B,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACvE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAChD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAClF,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;CACF;AAlBD,0CAkBC"}
@@ -0,0 +1,17 @@
1
+ import { Provider } from '@angular/core';
2
+ import xlsx, { WorkBook } from 'xlsx';
3
+ export declare class ExcelService {
4
+ protected readWorkBook(path: string): xlsx.WorkBook;
5
+ protected loadSheet(path: string, name: string): xlsx.WorkSheet;
6
+ getRecords(path: string, sheetName: string): unknown[];
7
+ export(data: Record<string, any[]>, path: string, headers?: string[]): Promise<{
8
+ path: string;
9
+ name: string;
10
+ }>;
11
+ writeSheet<T>(workbook: WorkBook, sheetName: string, records: T[], headers?: string[]): WorkBook;
12
+ loadWorkbook(path: string, callback: (workbook: WorkBook) => WorkBook): {
13
+ path: string;
14
+ name: string;
15
+ };
16
+ }
17
+ export declare function provideExcelService(): Provider[];
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExcelService = void 0;
4
+ exports.provideExcelService = provideExcelService;
5
+ const tslib_1 = require("tslib");
6
+ const excel_repository_1 = require("./excel.repository");
7
+ const fs_1 = require("fs");
8
+ const path_1 = require("path");
9
+ const xlsx_1 = tslib_1.__importStar(require("xlsx"));
10
+ const fs_2 = tslib_1.__importDefault(require("fs"));
11
+ const set_fs = (xlsx_1.default === null || xlsx_1.default === void 0 ? void 0 : xlsx_1.default.set_fs) || require('xlsx').set_fs;
12
+ if (set_fs) {
13
+ set_fs(fs_2.default);
14
+ }
15
+ class ExcelService {
16
+ readWorkBook(path) {
17
+ return (0, xlsx_1.readFile)(path);
18
+ }
19
+ loadSheet(path, name) {
20
+ return this.readWorkBook(path).Sheets[name];
21
+ }
22
+ getRecords(path, sheetName) {
23
+ const sheet = this.loadSheet(path, sheetName);
24
+ return xlsx_1.utils.sheet_to_json(sheet);
25
+ }
26
+ export(data, path, headers) {
27
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
28
+ this.loadWorkbook(path, (workbook) => {
29
+ for (const [sheetName, sheetData] of Object.entries(data)) {
30
+ this.writeSheet(workbook, sheetName, sheetData, headers);
31
+ }
32
+ return workbook;
33
+ });
34
+ return { path, name: path.split('/').pop() };
35
+ });
36
+ }
37
+ writeSheet(workbook, sheetName, records, headers) {
38
+ const worksheet = xlsx_1.utils.json_to_sheet(records, { cellDates: true, header: headers });
39
+ if (!workbook.SheetNames.includes(sheetName)) {
40
+ workbook.SheetNames.push(sheetName);
41
+ }
42
+ workbook.Sheets[sheetName] = worksheet;
43
+ return workbook;
44
+ }
45
+ loadWorkbook(path, callback) {
46
+ const dir = (0, path_1.dirname)(path);
47
+ if (!(0, fs_1.existsSync)(dir))
48
+ (0, fs_1.mkdirSync)(dir, { recursive: true });
49
+ const workbook = (0, fs_1.existsSync)(path) ? (0, xlsx_1.readFile)(path, { cellDates: true }) : { SheetNames: [], Sheets: {} };
50
+ const result = callback(workbook);
51
+ (0, xlsx_1.writeFile)(result, path);
52
+ return { path, name: path.split('/').pop() };
53
+ }
54
+ }
55
+ exports.ExcelService = ExcelService;
56
+ function provideExcelService() {
57
+ return [
58
+ { provide: excel_repository_1.EXCEL_SERVICE, useClass: ExcelService },
59
+ ];
60
+ }
61
+ //# sourceMappingURL=excel.service.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"excel.service.impl.js","sourceRoot":"","sources":["../../../../../../../packages/@nx-ddd/common/src/infrastructure/repo/excel/excel.service.impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './excel.converter';
2
+ export * from './excel.decorators';
3
+ export * from './excel.repository';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./excel.converter"), exports);
5
+ tslib_1.__exportStar(require("./excel.decorators"), exports);
6
+ tslib_1.__exportStar(require("./excel.repository"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/@nx-ddd/common/src/infrastructure/repo/excel/index.ts"],"names":[],"mappings":";;;AAAA,4DAAkC;AAClC,6DAAmC;AACnC,6DAAmC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx-ddd/common",
3
- "version": "18.10.0",
3
+ "version": "18.12.0",
4
4
  "main": "./index.js",
5
5
  "types": "./index.d.ts",
6
6
  "homepage": "https://github.com/xx-machina/plaform/tree/main/packages/@nx-ddd/common",
@@ -2,9 +2,25 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.message = message;
4
4
  function message(strings, ...keys) {
5
- return strings.reduce((prev, current, index) => {
5
+ var _a;
6
+ let result = strings.reduce((prev, current, index) => {
6
7
  const key = keys[index - 1];
7
8
  return `${prev}${key}${current}`;
8
- }).replace(/\n[ \t]+/g, '\n');
9
+ });
10
+ // 先頭が開業でなくなるまで改行コードを削除
11
+ while (result.startsWith('\n')) {
12
+ result = result.slice(1);
13
+ }
14
+ // 1行目のインデントの数を取得して、各行のインデントを同じ数削除
15
+ const firstLineIndent = (_a = result.match(/^(\s*)/)) === null || _a === void 0 ? void 0 : _a[1];
16
+ if (firstLineIndent) {
17
+ const regExp = new RegExp(`^${firstLineIndent}`);
18
+ result = result
19
+ .split('\n')
20
+ .map((line) => line.replace(regExp, ''))
21
+ .join('\n');
22
+ }
23
+ // 最初のスペースの数を取得して、各行のスペースを同じ数削除
24
+ return result;
9
25
  }
10
26
  //# sourceMappingURL=message.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/common/src/utilities/message.ts"],"names":[],"mappings":";;AAAA,0BAQC;AARD,SAAgB,OAAO,CACrB,OAA6B,EAC7B,GAAG,IAAyB;IAE5B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC5B,OAAO,GAAG,IAAI,GAAG,GAAG,GAAG,OAAO,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/common/src/utilities/message.ts"],"names":[],"mappings":";;AAAA,0BA0BC;AA1BD,SAAgB,OAAO,CACrB,OAA6B,EAC7B,GAAG,IAAyB;;IAE5B,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC5B,OAAO,GAAG,IAAI,GAAG,GAAG,GAAG,OAAO,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,uBAAuB;IACvB,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,kCAAkC;IAClC,MAAM,eAAe,GAAG,MAAA,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAG,CAAC,CAAC,CAAC;IACpD,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;QACjD,MAAM,GAAG,MAAM;aACZ,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;aACvC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,+BAA+B;IAE/B,OAAO,MAAM,CAAC;AAChB,CAAC"}