@nx-ddd/spreadsheet 19.0.0-preview.8 → 19.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/converter/converter.d.ts +24 -0
- package/converter/converter.js +288 -0
- package/converter/converter.js.map +1 -0
- package/converter/index.d.ts +1 -0
- package/converter/index.js +5 -0
- package/converter/index.js.map +1 -0
- package/decorators/decorators.d.ts +38 -0
- package/decorators/decorators.js +63 -0
- package/decorators/decorators.js.map +1 -0
- package/decorators/index.d.ts +1 -0
- package/decorators/index.js +5 -0
- package/decorators/index.js.map +1 -0
- package/impl/index.d.ts +1 -0
- package/impl/index.js +5 -0
- package/impl/index.js.map +1 -0
- package/{sheets/sheets.service.impl.d.ts → impl/sheet.service.impl.d.ts} +5 -2
- package/{sheets/sheets.service.impl.js → impl/sheet.service.impl.js} +77 -40
- package/impl/sheet.service.impl.js.map +1 -0
- package/index.d.ts +2 -2
- package/index.js +2 -2
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/repository/repository.d.ts +41 -9
- package/repository/repository.js +56 -6
- package/repository/repository.js.map +1 -1
- package/sheets/sheets.service.d.ts +2 -4
- package/sheets/sheets.service.js +4 -7
- package/sheets/sheets.service.js.map +1 -1
- package/token/index.d.ts +1 -0
- package/token/index.js +6 -0
- package/token/index.js.map +1 -0
- package/google-sheet/client/client.d.ts +0 -11
- package/google-sheet/client/client.js +0 -45
- package/google-sheet/client/client.js.map +0 -1
- package/google-sheet/client/client.module.d.ts +0 -2
- package/google-sheet/client/client.module.js +0 -15
- package/google-sheet/client/client.module.js.map +0 -1
- package/google-sheet/client/index.d.ts +0 -2
- package/google-sheet/client/index.js +0 -6
- package/google-sheet/client/index.js.map +0 -1
- package/google-sheet/google-sheet.module.d.ts +0 -2
- package/google-sheet/google-sheet.module.js +0 -14
- package/google-sheet/google-sheet.module.js.map +0 -1
- package/google-sheet/index.d.ts +0 -2
- package/google-sheet/index.js +0 -6
- package/google-sheet/index.js.map +0 -1
- package/sheets/sheets.service.impl.js.map +0 -1
- package/spreadsheet.d.ts +0 -1
- package/spreadsheet.js +0 -7
- package/spreadsheet.js.map +0 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import dayjs from 'dayjs';
|
|
2
|
+
export interface SheetConverter<T> {
|
|
3
|
+
fromSheet(record: any): T;
|
|
4
|
+
fromSheetMany(records: any[]): T[];
|
|
5
|
+
toSheet(model: T): any;
|
|
6
|
+
toSheetMany(models: T[]): any[];
|
|
7
|
+
}
|
|
8
|
+
export declare class SheetUtils {
|
|
9
|
+
static fromSheetDate(serial: number | null): Date | null;
|
|
10
|
+
static fromSheetBoolean(value: any): boolean;
|
|
11
|
+
static fromSheetText(value: any): string | null;
|
|
12
|
+
static fromSheetNumber(value: any): number | null;
|
|
13
|
+
static toSheetDate(date: dayjs.Dayjs | Date | null): Date | null;
|
|
14
|
+
static toSheetBoolean(value: boolean): string;
|
|
15
|
+
static fromSheet<E, D extends object>(record: D, type: {
|
|
16
|
+
new (): E;
|
|
17
|
+
}): E;
|
|
18
|
+
static toSheet<E, D extends object>(entity: E, type: {
|
|
19
|
+
new (): E;
|
|
20
|
+
}): D;
|
|
21
|
+
}
|
|
22
|
+
export declare function getConverter<T>(type: {
|
|
23
|
+
new (): T;
|
|
24
|
+
}): SheetConverter<T>;
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SheetUtils = void 0;
|
|
4
|
+
exports.getConverter = getConverter;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const lodash_es_1 = require("lodash-es");
|
|
7
|
+
const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
|
8
|
+
const decorators_1 = require("../decorators");
|
|
9
|
+
class SheetUtils {
|
|
10
|
+
static fromSheetDate(serial) {
|
|
11
|
+
if (typeof serial !== 'number')
|
|
12
|
+
return null;
|
|
13
|
+
const excelEpoch = (0, dayjs_1.default)('1899-12-30');
|
|
14
|
+
return excelEpoch.add(serial, 'day').toDate();
|
|
15
|
+
}
|
|
16
|
+
static fromSheetBoolean(value) {
|
|
17
|
+
if (typeof value === 'boolean')
|
|
18
|
+
return value;
|
|
19
|
+
return value === 'TRUE';
|
|
20
|
+
}
|
|
21
|
+
static fromSheetText(value) {
|
|
22
|
+
if (value === null || value === undefined)
|
|
23
|
+
return null;
|
|
24
|
+
return `${value}`;
|
|
25
|
+
}
|
|
26
|
+
static fromSheetNumber(value) {
|
|
27
|
+
if (value === null || value === undefined || value === '')
|
|
28
|
+
return null;
|
|
29
|
+
// 数値の場合はそのまま返す
|
|
30
|
+
if (typeof value === 'number')
|
|
31
|
+
return value;
|
|
32
|
+
// 文字列の場合は通貨記号や区切り文字を取り除いて変換
|
|
33
|
+
if (typeof value === 'string') {
|
|
34
|
+
// 通貨記号(¥,$など)、カンマ、スペース、その他の記号を削除
|
|
35
|
+
const cleanedValue = value.replace(/[¥$,\s]/g, '');
|
|
36
|
+
// 数値に変換を試みる
|
|
37
|
+
const numValue = Number(cleanedValue);
|
|
38
|
+
return !isNaN(numValue) ? numValue : null;
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
static toSheetDate(date) {
|
|
43
|
+
if (!date)
|
|
44
|
+
return null;
|
|
45
|
+
if (dayjs_1.default.isDayjs(date))
|
|
46
|
+
return date.toDate();
|
|
47
|
+
return date;
|
|
48
|
+
}
|
|
49
|
+
static toSheetBoolean(value) {
|
|
50
|
+
return value ? 'TRUE' : 'FALSE';
|
|
51
|
+
}
|
|
52
|
+
static fromSheet(record, type) {
|
|
53
|
+
var _a, _b;
|
|
54
|
+
// console.debug('fromSheet', record, type);
|
|
55
|
+
// コンストラクタを使用してインスタンスを作成
|
|
56
|
+
const instance = new type();
|
|
57
|
+
// アノテーション取得
|
|
58
|
+
const annotations = (0, decorators_1.getFlattenFieldAnnotations)(type);
|
|
59
|
+
// ネストされたオブジェクトのマッピング情報を作成
|
|
60
|
+
const nestedObjects = new Map();
|
|
61
|
+
// まずはTypeアノテーションを持つフィールドをクラスから直接取得
|
|
62
|
+
const typeAnnotations = ((_a = decorators_1.Sheet.getAnnotations(type)) === null || _a === void 0 ? void 0 : _a.filter(anno => anno.type === 'type')) || [];
|
|
63
|
+
for (const typeAnno of typeAnnotations) {
|
|
64
|
+
if (typeAnno.propName && typeAnno.childType) {
|
|
65
|
+
nestedObjects.set(typeAnno.fieldName, { propName: typeAnno.propName, type: typeAnno.childType() });
|
|
66
|
+
// ネストされたオブジェクトのインスタンスを作成
|
|
67
|
+
instance[typeAnno.propName] = new (typeAnno.childType())();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
// シートデータのキーとアノテーションの対応マップを作成
|
|
71
|
+
const keyToAnnotationMap = new Map();
|
|
72
|
+
for (const [key, annotation] of Object.entries(annotations)) {
|
|
73
|
+
if (annotation.type === 'type')
|
|
74
|
+
continue; // タイプアノテーションはスキップ
|
|
75
|
+
// fieldNameが未定義の場合はスキップ
|
|
76
|
+
if (!annotation.fieldName)
|
|
77
|
+
continue;
|
|
78
|
+
// ネストされたプロパティの場合
|
|
79
|
+
for (const [parentField, parentInfo] of nestedObjects.entries()) {
|
|
80
|
+
const parentPrefix = `${parentField}_`;
|
|
81
|
+
// console.debug('parentPrefix', parentPrefix, annotation.fieldName);
|
|
82
|
+
if (annotation.fieldName.startsWith(parentPrefix)) {
|
|
83
|
+
// シートのキー(例:プロフィール_名前)
|
|
84
|
+
keyToAnnotationMap.set(annotation.fieldName, {
|
|
85
|
+
annotation,
|
|
86
|
+
isNested: true,
|
|
87
|
+
parent: parentInfo.propName
|
|
88
|
+
});
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// 通常のプロパティの場合
|
|
93
|
+
if (!keyToAnnotationMap.has(annotation.fieldName)) {
|
|
94
|
+
keyToAnnotationMap.set(annotation.fieldName, {
|
|
95
|
+
annotation,
|
|
96
|
+
isNested: false
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
// レコードの各キーを処理
|
|
101
|
+
for (const [recordKey, recordValue] of Object.entries(record)) {
|
|
102
|
+
// このレコードキーに対応するアノテーション情報を探す
|
|
103
|
+
let annotationInfo = keyToAnnotationMap.get(recordKey);
|
|
104
|
+
// 直接一致するものがなければ、ネストされたキーを探す
|
|
105
|
+
if (!annotationInfo) {
|
|
106
|
+
for (const [parentField, parentInfo] of nestedObjects.entries()) {
|
|
107
|
+
// 例: プロフィール_名前 -> 名前
|
|
108
|
+
if (recordKey.startsWith(`${parentField}_`)) {
|
|
109
|
+
const childField = recordKey.substring(parentField.length + 1);
|
|
110
|
+
// 子オブジェクトのクラスからアノテーションを取得
|
|
111
|
+
const childAnnotations = (0, decorators_1.getFlattenFieldAnnotations)(parentInfo.type);
|
|
112
|
+
// 子オブジェクトの対応するフィールドを探す
|
|
113
|
+
for (const [childKey, childAnnotation] of Object.entries(childAnnotations)) {
|
|
114
|
+
// childAnnotation.fieldNameが未定義の場合はスキップ
|
|
115
|
+
if (!childAnnotation.fieldName)
|
|
116
|
+
continue;
|
|
117
|
+
if (childAnnotation.fieldName === childField) {
|
|
118
|
+
annotationInfo = {
|
|
119
|
+
annotation: childAnnotation,
|
|
120
|
+
isNested: true,
|
|
121
|
+
parent: parentInfo.propName
|
|
122
|
+
};
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (!annotationInfo)
|
|
131
|
+
continue; // 対応するアノテーションがない場合はスキップ
|
|
132
|
+
const { annotation, isNested, parent } = annotationInfo;
|
|
133
|
+
let convertedValue;
|
|
134
|
+
// 値を型に応じて変換
|
|
135
|
+
switch (annotation.type) {
|
|
136
|
+
case 'number':
|
|
137
|
+
convertedValue = this.fromSheetNumber(recordValue);
|
|
138
|
+
break;
|
|
139
|
+
case 'date':
|
|
140
|
+
convertedValue = this.fromSheetDate(recordValue);
|
|
141
|
+
break;
|
|
142
|
+
case 'array':
|
|
143
|
+
convertedValue = (_b = recordValue === null || recordValue === void 0 ? void 0 : recordValue.split(',')) !== null && _b !== void 0 ? _b : [];
|
|
144
|
+
break;
|
|
145
|
+
case 'boolean':
|
|
146
|
+
convertedValue = this.fromSheetBoolean(recordValue);
|
|
147
|
+
break;
|
|
148
|
+
case 'text':
|
|
149
|
+
convertedValue = this.fromSheetText(recordValue);
|
|
150
|
+
break;
|
|
151
|
+
default:
|
|
152
|
+
convertedValue = recordValue || null;
|
|
153
|
+
}
|
|
154
|
+
// 値をインスタンスに設定
|
|
155
|
+
if (isNested && parent) {
|
|
156
|
+
// ネストされたプロパティの場合
|
|
157
|
+
const propName = annotation.propName.includes('.')
|
|
158
|
+
? annotation.propName.split('.').pop() // ドットがある場合は最後の部分を取得
|
|
159
|
+
: annotation.propName;
|
|
160
|
+
if (propName && instance[parent]) {
|
|
161
|
+
instance[parent][propName] = convertedValue;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
// 通常のプロパティの場合
|
|
166
|
+
if (annotation.propName) {
|
|
167
|
+
instance[annotation.propName] = convertedValue;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
// テスト用にプレーンオブジェクトに変換
|
|
172
|
+
const plainObject = {};
|
|
173
|
+
// インスタンスの各プロパティをプレーンオブジェクトにコピー
|
|
174
|
+
for (const key in instance) {
|
|
175
|
+
if (Object.prototype.hasOwnProperty.call(instance, key)) {
|
|
176
|
+
const value = instance[key];
|
|
177
|
+
if (value && typeof value === 'object' && !Array.isArray(value) && !(value instanceof Date)) {
|
|
178
|
+
// ネストされたオブジェクトを処理
|
|
179
|
+
const nestedPlain = {};
|
|
180
|
+
for (const nestedKey in value) {
|
|
181
|
+
if (Object.prototype.hasOwnProperty.call(value, nestedKey)) {
|
|
182
|
+
nestedPlain[nestedKey] = value[nestedKey];
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
plainObject[key] = nestedPlain;
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
plainObject[key] = value;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return plainObject;
|
|
193
|
+
}
|
|
194
|
+
static toSheet(entity, type) {
|
|
195
|
+
var _a;
|
|
196
|
+
// シンプルな実装に変更
|
|
197
|
+
const result = {};
|
|
198
|
+
// アノテーション取得
|
|
199
|
+
const annotations = (0, decorators_1.getFlattenFieldAnnotations)(type);
|
|
200
|
+
// Type フィールドの親名を抽出 (例: プロフィール名前 から プロフィール を抽出)
|
|
201
|
+
const parentFieldMap = new Map();
|
|
202
|
+
// まずはTypeアノテーションを持つフィールドをクラスから直接取得
|
|
203
|
+
const typeAnnotations = ((_a = decorators_1.Sheet.getAnnotations(type)) === null || _a === void 0 ? void 0 : _a.filter(anno => anno.type === 'type')) || [];
|
|
204
|
+
for (const typeAnno of typeAnnotations) {
|
|
205
|
+
if (typeAnno.fieldName && typeAnno.propName) {
|
|
206
|
+
parentFieldMap.set(typeAnno.fieldName, { parentJpName: typeAnno.fieldName, parentJsName: typeAnno.propName });
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
// 各アノテーションを処理
|
|
210
|
+
for (const [key, annotation] of Object.entries(annotations)) {
|
|
211
|
+
// fieldNameが未定義の場合はスキップ
|
|
212
|
+
if (!annotation.fieldName || !annotation.propName)
|
|
213
|
+
continue;
|
|
214
|
+
// キー名から特殊なケースを検出
|
|
215
|
+
let fieldName = annotation.fieldName;
|
|
216
|
+
let propPath = annotation.propName;
|
|
217
|
+
// 親フィールド名を探す
|
|
218
|
+
for (const [parentField, mapping] of parentFieldMap.entries()) {
|
|
219
|
+
// キーが親名で始まる場合 (例: プロフィール名前)
|
|
220
|
+
if (key.startsWith(parentField) && key !== parentField) {
|
|
221
|
+
// プロフィール_名前 の形式に変更
|
|
222
|
+
fieldName = `${mapping.parentJpName}_${fieldName}`;
|
|
223
|
+
// profile.name の形式に変更
|
|
224
|
+
propPath = `${mapping.parentJsName}.${propPath}`;
|
|
225
|
+
break;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
// プロパティの値を取得
|
|
229
|
+
const value = (0, lodash_es_1.get)(entity, propPath);
|
|
230
|
+
// 値の型に応じた変換処理
|
|
231
|
+
switch (annotation.type) {
|
|
232
|
+
case 'number':
|
|
233
|
+
if (value === undefined || value === null) {
|
|
234
|
+
result[fieldName] = null;
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
result[fieldName] = isNaN(Number(value)) ? null : Number(value);
|
|
238
|
+
}
|
|
239
|
+
break;
|
|
240
|
+
case 'date':
|
|
241
|
+
if (value === undefined || value === null) {
|
|
242
|
+
result[fieldName] = null;
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
result[fieldName] = this.toSheetDate(value);
|
|
246
|
+
}
|
|
247
|
+
break;
|
|
248
|
+
case 'array':
|
|
249
|
+
if (value === undefined || value === null) {
|
|
250
|
+
result[fieldName] = undefined;
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
result[fieldName] = Array.isArray(value) ? value.join(',') : value;
|
|
254
|
+
}
|
|
255
|
+
break;
|
|
256
|
+
case 'boolean':
|
|
257
|
+
if (value === undefined || value === null) {
|
|
258
|
+
result[fieldName] = undefined;
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
result[fieldName] = this.toSheetBoolean(value);
|
|
262
|
+
}
|
|
263
|
+
break;
|
|
264
|
+
case 'text':
|
|
265
|
+
case 'type':
|
|
266
|
+
default:
|
|
267
|
+
if (value === undefined || value === null) {
|
|
268
|
+
result[fieldName] = undefined;
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
result[fieldName] = value;
|
|
272
|
+
}
|
|
273
|
+
break;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
return result;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
exports.SheetUtils = SheetUtils;
|
|
280
|
+
function getConverter(type) {
|
|
281
|
+
return {
|
|
282
|
+
fromSheet: (record) => SheetUtils.fromSheet(record, type),
|
|
283
|
+
fromSheetMany: (records) => records.map(record => SheetUtils.fromSheet(record, type)),
|
|
284
|
+
toSheet: (model) => SheetUtils.toSheet(model, type),
|
|
285
|
+
toSheetMany: (models) => models.map(model => SheetUtils.toSheet(model, type)),
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
//# sourceMappingURL=converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/spreadsheet/src/lib/converter/converter.ts"],"names":[],"mappings":";;;AAiUA,oCAOC;;AAxUD,yCAAgC;AAChC,0DAA0B;AAC1B,8CAAkE;AASlE,MAAa,UAAU;IACrB,MAAM,CAAC,aAAa,CAAC,MAAqB;QACxC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAA,eAAK,EAAC,YAAY,CAAC,CAAC;QACvC,OAAO,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,KAAU;QAChC,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC7C,OAAO,KAAK,KAAK,MAAM,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,KAAU;QAC7B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACvD,OAAO,GAAG,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,KAAU;QAC/B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QAEvE,eAAe;QACf,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5C,4BAA4B;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,iCAAiC;YACjC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACnD,YAAY;YACZ,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAA+B;QAChD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,IAAI,eAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,KAAc;QAClC,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,SAAS,CAAsB,MAAS,EAAE,IAAgB;;QAC/D,4CAA4C;QAC5C,wBAAwB;QACxB,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;QAE5B,YAAY;QACZ,MAAM,WAAW,GAAG,IAAA,uCAA0B,EAK3C,IAAI,CAAC,CAAC;QAET,0BAA0B;QAC1B,MAAM,aAAa,GAAG,IAAI,GAAG,EAA2C,CAAC;QAEzE,mCAAmC;QACnC,MAAM,eAAe,GAAG,CAAA,MAAA,kBAAK,CAAC,cAAc,CAAC,IAAI,CAAC,0CAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,KAAI,EAAE,CAAC;QAC/F,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;YACvC,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBAC5C,aAAa,CAAC,GAAG,CACf,QAAQ,CAAC,SAAS,EAClB,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,EAAE,EAAE,CAC5D,CAAC;gBAEF,yBAAyB;gBACxB,QAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;YACtE,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAmE,CAAC;QAEtG,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5D,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM;gBAAE,SAAS,CAAC,kBAAkB;YAE5D,wBAAwB;YACxB,IAAI,CAAC,UAAU,CAAC,SAAS;gBAAE,SAAS;YAEpC,iBAAiB;YACjB,KAAK,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;gBAChE,MAAM,YAAY,GAAG,GAAG,WAAW,GAAG,CAAC;gBACvC,qEAAqE;gBACrE,IAAI,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAClD,sBAAsB;oBACtB,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE;wBAC3C,UAAU;wBACV,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,UAAU,CAAC,QAAQ;qBAC5B,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;YACH,CAAC;YAED,cAAc;YACd,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClD,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE;oBAC3C,UAAU;oBACV,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,cAAc;QACd,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,4BAA4B;YAC5B,IAAI,cAAc,GAAG,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAEvD,4BAA4B;YAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,KAAK,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;oBAChE,qBAAqB;oBACrB,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC;wBAC5C,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBAC/D,0BAA0B;wBAC1B,MAAM,gBAAgB,GAAG,IAAA,uCAA0B,EAAM,UAAU,CAAC,IAAI,CAAC,CAAC;wBAE1E,uBAAuB;wBACvB,KAAK,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;4BAC3E,wCAAwC;4BACxC,IAAI,CAAC,eAAe,CAAC,SAAS;gCAAE,SAAS;4BAEzC,IAAI,eAAe,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;gCAC7C,cAAc,GAAG;oCACf,UAAU,EAAE,eAAe;oCAC3B,QAAQ,EAAE,IAAI;oCACd,MAAM,EAAE,UAAU,CAAC,QAAQ;iCAC5B,CAAC;gCACF,MAAM;4BACR,CAAC;wBACH,CAAC;wBACD,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,CAAC,cAAc;gBAAE,SAAS,CAAC,wBAAwB;YAEvD,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC;YACxD,IAAI,cAAmB,CAAC;YAExB,YAAY;YACZ,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;gBACxB,KAAK,QAAQ;oBACX,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;oBACnD,MAAM;gBACR,KAAK,MAAM;oBACT,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,WAAqB,CAAC,CAAC;oBAC3D,MAAM;gBACR,KAAK,OAAO;oBACV,cAAc,GAAG,MAAC,WAAsB,aAAtB,WAAW,uBAAX,WAAW,CAAa,KAAK,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC;oBAC3D,MAAM;gBACR,KAAK,SAAS;oBACZ,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;oBACpD,MAAM;gBACR,KAAK,MAAM;oBACT,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;oBACjD,MAAM;gBACR;oBACE,cAAc,GAAG,WAAW,IAAI,IAAI,CAAC;YACzC,CAAC;YAED,cAAc;YACd,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;gBACvB,iBAAiB;gBACjB,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAChD,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,oBAAoB;oBAC3D,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAExB,IAAI,QAAQ,IAAK,QAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;oBACzC,QAAgB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC;gBACvD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,cAAc;gBACd,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACvB,QAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC;gBAC1D,CAAC;YACH,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,MAAM,WAAW,GAAwB,EAAE,CAAC;QAE5C,+BAA+B;QAC/B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;gBACxD,MAAM,KAAK,GAAI,QAAgB,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,EAAE,CAAC;oBAC5F,kBAAkB;oBAClB,MAAM,WAAW,GAAwB,EAAE,CAAC;oBAC5C,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;wBAC9B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;4BAC3D,WAAW,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;wBAC5C,CAAC;oBACH,CAAC;oBACD,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,WAA2B,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,OAAO,CAAsB,MAAS,EAAE,IAAgB;;QAC7D,aAAa;QACb,MAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,YAAY;QACZ,MAAM,WAAW,GAAG,IAAA,uCAA0B,EAK3C,IAAI,CAAC,CAAC;QAET,+CAA+C;QAC/C,MAAM,cAAc,GAAG,IAAI,GAAG,EAA0D,CAAC;QAEzF,mCAAmC;QACnC,MAAM,eAAe,GAAG,CAAA,MAAA,kBAAK,CAAC,cAAc,CAAC,IAAI,CAAC,0CAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,KAAI,EAAE,CAAC;QAC/F,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;YACvC,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAC5C,cAAc,CAAC,GAAG,CAChB,QAAQ,CAAC,SAAS,EAClB,EAAE,YAAY,EAAE,QAAQ,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,CACtE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,cAAc;QACd,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5D,wBAAwB;YACxB,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,QAAQ;gBAAE,SAAS;YAE5D,iBAAiB;YACjB,IAAI,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;YACrC,IAAI,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;YAEnC,aAAa;YACb,KAAK,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC9D,4BAA4B;gBAC5B,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;oBACvD,mBAAmB;oBACnB,SAAS,GAAG,GAAG,OAAO,CAAC,YAAY,IAAI,SAAS,EAAE,CAAC;oBACnD,sBAAsB;oBACtB,QAAQ,GAAG,GAAG,OAAO,CAAC,YAAY,IAAI,QAAQ,EAAE,CAAC;oBACjD,MAAM;gBACR,CAAC;YACH,CAAC;YAED,aAAa;YACb,MAAM,KAAK,GAAG,IAAA,eAAG,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAEpC,cAAc;YACd,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;gBACxB,KAAK,QAAQ;oBACX,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBAC1C,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;oBAC3B,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAClE,CAAC;oBACD,MAAM;gBAER,KAAK,MAAM;oBACT,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBAC1C,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;oBAC3B,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC9C,CAAC;oBACD,MAAM;gBAER,KAAK,OAAO;oBACV,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBAC1C,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACrE,CAAC;oBACD,MAAM;gBAER,KAAK,SAAS;oBACZ,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBAC1C,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;oBACjD,CAAC;oBACD,MAAM;gBAER,KAAK,MAAM,CAAC;gBACZ,KAAK,MAAM,CAAC;gBACZ;oBACE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBAC1C,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;oBAC5B,CAAC;oBACD,MAAM;YACV,CAAC;QACH,CAAC;QAED,OAAO,MAAW,CAAC;IACrB,CAAC;CACF;AApTD,gCAoTC;AAED,SAAgB,YAAY,CAAI,IAAgB;IAC9C,OAAO;QACL,SAAS,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAY,MAAM,EAAE,IAAI,CAAC;QAC5E,aAAa,EAAE,CAAC,OAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/F,OAAO,EAAE,CAAC,KAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;QACtD,WAAW,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KACnF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './converter';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/spreadsheet/src/lib/converter/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export declare function getFlattenFieldAnnotations<Annotation>(T: any, prefix?: string): Record<string, Annotation>;
|
|
2
|
+
export declare function getSheetConfig(target: any): {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function getFields(T: any, options?: {
|
|
7
|
+
prefix?: string;
|
|
8
|
+
case?: 'snake' | 'camel' | 'original';
|
|
9
|
+
}): string[];
|
|
10
|
+
export declare function getHeaders(T: any): string[];
|
|
11
|
+
export declare const Sheet: {
|
|
12
|
+
Sheet: (nameOrProps: string | {
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
}) => (target: any) => void;
|
|
16
|
+
Text: (nameOrProps?: {
|
|
17
|
+
name?: string;
|
|
18
|
+
} | string) => (target: any, propName: string) => void;
|
|
19
|
+
Date: (nameOrProps?: {
|
|
20
|
+
name?: string;
|
|
21
|
+
} | string) => (target: any, propName: string) => void;
|
|
22
|
+
Number: (nameOrProps?: {
|
|
23
|
+
name?: string;
|
|
24
|
+
} | string) => (target: any, propName: string) => void;
|
|
25
|
+
Type: (name: string, childType: () => any) => (target: any, propName: string) => void;
|
|
26
|
+
Array: (nameOrProps?: {
|
|
27
|
+
name?: string;
|
|
28
|
+
} | string) => (target: any, propName: string) => void;
|
|
29
|
+
Boolean: (nameOrProps?: {
|
|
30
|
+
name?: string;
|
|
31
|
+
} | string) => (target: any, propName: string) => void;
|
|
32
|
+
getAnnotations: (target: any) => {
|
|
33
|
+
type: string;
|
|
34
|
+
fieldName: string;
|
|
35
|
+
propName: string;
|
|
36
|
+
childType: any;
|
|
37
|
+
}[];
|
|
38
|
+
};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Sheet = void 0;
|
|
4
|
+
exports.getFlattenFieldAnnotations = getFlattenFieldAnnotations;
|
|
5
|
+
exports.getSheetConfig = getSheetConfig;
|
|
6
|
+
exports.getFields = getFields;
|
|
7
|
+
exports.getHeaders = getHeaders;
|
|
8
|
+
const core_1 = require("@nx-ddd/core");
|
|
9
|
+
const lodash_es_1 = require("lodash-es");
|
|
10
|
+
const { createDecorator, createClassDecorator, getAnnotations, } = (0, core_1.makeDecoratorFactories)((type, fieldName, propName, options) => ({ type, fieldName, propName, childType: options.childType }), '[@nx-ddd/excel] annotations');
|
|
11
|
+
function getFlattenFieldAnnotations(T, prefix = '') {
|
|
12
|
+
const annotations = getAnnotations(T);
|
|
13
|
+
return (annotations !== null && annotations !== void 0 ? annotations : []).reduce((acc, annotation) => {
|
|
14
|
+
const currentKey = prefix ? (0, lodash_es_1.camelCase)(`${prefix}_${annotation.fieldName}`) : annotation.fieldName;
|
|
15
|
+
if (annotation.childType) {
|
|
16
|
+
return Object.assign(Object.assign({}, acc), getFlattenFieldAnnotations(annotation.childType(), currentKey));
|
|
17
|
+
}
|
|
18
|
+
return Object.assign(Object.assign({}, acc), { [currentKey]: annotation });
|
|
19
|
+
}, {});
|
|
20
|
+
}
|
|
21
|
+
function getSheetConfig(target) {
|
|
22
|
+
const annotations = getAnnotations(target);
|
|
23
|
+
const annotation = annotations.find((annotation) => annotation.type === 'sheet');
|
|
24
|
+
return annotation.props;
|
|
25
|
+
}
|
|
26
|
+
function getFields(T, options = {
|
|
27
|
+
prefix: '',
|
|
28
|
+
case: 'original'
|
|
29
|
+
}) {
|
|
30
|
+
const annotations = getAnnotations(T);
|
|
31
|
+
const changeCase = (options === null || options === void 0 ? void 0 : options.case) === 'snake'
|
|
32
|
+
? lodash_es_1.snakeCase
|
|
33
|
+
: (options === null || options === void 0 ? void 0 : options.case) === 'camel' ? lodash_es_1.camelCase
|
|
34
|
+
: (value) => value;
|
|
35
|
+
const fields = (annotations !== null && annotations !== void 0 ? annotations : []).flatMap((annotation) => {
|
|
36
|
+
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);
|
|
37
|
+
if (annotation.childType) {
|
|
38
|
+
return [
|
|
39
|
+
...getFields(annotation.childType(), {
|
|
40
|
+
prefix: currentKey,
|
|
41
|
+
case: options === null || options === void 0 ? void 0 : options.case,
|
|
42
|
+
})
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
return [currentKey];
|
|
46
|
+
});
|
|
47
|
+
return fields;
|
|
48
|
+
}
|
|
49
|
+
function getHeaders(T) {
|
|
50
|
+
return getFields(T);
|
|
51
|
+
}
|
|
52
|
+
exports.Sheet = {
|
|
53
|
+
Sheet: createClassDecorator('sheet'),
|
|
54
|
+
Text: createDecorator('text'),
|
|
55
|
+
Date: createDecorator('date'),
|
|
56
|
+
Number: createDecorator('number'),
|
|
57
|
+
Type: (name, childType) => createDecorator('type', { childType })(name),
|
|
58
|
+
// JSON: createDecorator('json'),
|
|
59
|
+
Array: createDecorator('array'),
|
|
60
|
+
Boolean: createDecorator('boolean'),
|
|
61
|
+
getAnnotations,
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/spreadsheet/src/lib/decorators/decorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './decorators';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/spreadsheet/src/lib/decorators/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B"}
|
package/impl/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './sheet.service.impl';
|
package/impl/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/spreadsheet/src/lib/impl/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC"}
|
|
@@ -7,19 +7,22 @@ export interface GoogleSheetsConfig {
|
|
|
7
7
|
}
|
|
8
8
|
export declare const GOOGLE_SHEETS_CONFIG: InjectionToken<GoogleSheetsConfig>;
|
|
9
9
|
export declare function provideGoogleSheets(useFactory: () => GoogleSheetsConfig): Provider[];
|
|
10
|
-
export declare class
|
|
10
|
+
export declare class SheetService {
|
|
11
11
|
private config;
|
|
12
12
|
private auth;
|
|
13
13
|
private googleSheets;
|
|
14
14
|
getSheetNames(spreadsheetId: string): Promise<string[]>;
|
|
15
15
|
getSheet(spreadsheetId: string, sheetName: string): Promise<import("googleapis").sheets_v4.Schema$Sheet>;
|
|
16
|
-
getRows(spreadsheetId: string, sheetName: string, { batchSize
|
|
16
|
+
getRows(spreadsheetId: string, sheetName: string, { batchSize }?: {
|
|
17
17
|
batchSize?: number;
|
|
18
18
|
}): Promise<any[]>;
|
|
19
19
|
listRecords(spreadsheetId: string, sheetName: string): Promise<any[]>;
|
|
20
|
+
createRecords(spreadsheetId: string, sheetName: string, rows: any[]): Promise<import("googleapis").sheets_v4.Schema$UpdateValuesResponse>;
|
|
21
|
+
createRecord(spreadsheetId: string, sheetName: string, record: any): Promise<import("googleapis").sheets_v4.Schema$UpdateValuesResponse>;
|
|
20
22
|
addSheet(spreadsheetId: string, name: string): Promise<import("gaxios").GaxiosResponse<import("googleapis").sheets_v4.Schema$BatchUpdateSpreadsheetResponse>>;
|
|
21
23
|
copyTo(spreadsheetId: string, sheetId: number): Promise<import("googleapis").sheets_v4.Schema$SheetProperties>;
|
|
22
24
|
deleteRows(spreadsheetId: string, sheetName: string, range?: string): Promise<import("gaxios").GaxiosResponse<import("googleapis").sheets_v4.Schema$ClearValuesResponse>>;
|
|
23
25
|
updateRows(spreadsheetId: string, sheetName: string, rows: any[]): Promise<import("googleapis").sheets_v4.Schema$UpdateValuesResponse>;
|
|
24
26
|
renameSheet(spreadsheetId: string, sheetId: number, name: string): Promise<import("gaxios").GaxiosResponse<import("googleapis").sheets_v4.Schema$BatchUpdateSpreadsheetResponse>>;
|
|
27
|
+
protected getValues(spreadsheetId: string, sheetName: string, index?: number, batchSize?: number): Promise<any[] | any[][]>;
|
|
25
28
|
}
|
|
@@ -1,20 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.SheetService = exports.GOOGLE_SHEETS_CONFIG = void 0;
|
|
4
4
|
exports.provideGoogleSheets = provideGoogleSheets;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
6
|
const core_1 = require("@angular/core");
|
|
7
|
+
const token_1 = require("@nx-ddd/spreadsheet/token");
|
|
7
8
|
const googleapis_1 = require("googleapis");
|
|
8
9
|
const google_auth_library_1 = require("google-auth-library");
|
|
9
|
-
const sheets_service_1 = require("./sheets.service");
|
|
10
10
|
exports.GOOGLE_SHEETS_CONFIG = new core_1.InjectionToken('GOOGLE_SHEETS_CONFIG');
|
|
11
11
|
function provideGoogleSheets(useFactory) {
|
|
12
12
|
return [
|
|
13
13
|
{ provide: exports.GOOGLE_SHEETS_CONFIG, useFactory },
|
|
14
|
-
|
|
14
|
+
token_1.SHEET_SERVICE.provide(() => new SheetService()),
|
|
15
15
|
];
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
function generateColumnNames() {
|
|
18
|
+
const columns = [];
|
|
19
|
+
for (let i = 1; i <= 702; i++) {
|
|
20
|
+
let name = "";
|
|
21
|
+
let n = i;
|
|
22
|
+
while (n > 0) {
|
|
23
|
+
n--; // 1-based -> 0-based
|
|
24
|
+
name = String.fromCharCode(65 + (n % 26)) + name;
|
|
25
|
+
n = Math.floor(n / 26);
|
|
26
|
+
}
|
|
27
|
+
columns.push(name);
|
|
28
|
+
}
|
|
29
|
+
return columns;
|
|
30
|
+
}
|
|
31
|
+
let SheetService = class SheetService {
|
|
18
32
|
constructor() {
|
|
19
33
|
this.config = (0, core_1.inject)(exports.GOOGLE_SHEETS_CONFIG);
|
|
20
34
|
this.auth = new google_auth_library_1.JWT({
|
|
@@ -41,28 +55,22 @@ let SheetsService = class SheetsService {
|
|
|
41
55
|
});
|
|
42
56
|
}
|
|
43
57
|
getRows(spreadsheetId_1, sheetName_1) {
|
|
44
|
-
return tslib_1.__awaiter(this, arguments, void 0, function* (spreadsheetId, sheetName, { batchSize = 1000
|
|
45
|
-
var _a, _b;
|
|
46
|
-
const getValues = (...args_1) => tslib_1.__awaiter(this, [...args_1], void 0, function* (index = 0) {
|
|
47
|
-
return this.googleSheets.spreadsheets.values.get({
|
|
48
|
-
spreadsheetId,
|
|
49
|
-
range: `${sheetName}!A${1 + index * batchSize}:AG${(index + 1) * batchSize}`,
|
|
50
|
-
}).then(res => res.data.values).catch((error) => {
|
|
51
|
-
// MEMO(@NozomuMiyamoto): 正規表現で下記のエラーを検知して、エラーをthrowする
|
|
52
|
-
// Range ('sheetName'!A18001:AG19000) exceeds grid limits. Max rows: 17595, max columns: 24
|
|
53
|
-
if (error.message.startsWith(`Range ('${sheetName}'!A${1 + index * batchSize}:AG${(index + 1) * batchSize}) exceeds grid limits.`)) {
|
|
54
|
-
return [];
|
|
55
|
-
}
|
|
56
|
-
throw error;
|
|
57
|
-
});
|
|
58
|
-
});
|
|
58
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* (spreadsheetId, sheetName, { batchSize = 1000 } = {}) {
|
|
59
59
|
const values = [];
|
|
60
60
|
let index = 0;
|
|
61
|
-
let batch = yield getValues(index);
|
|
61
|
+
let batch = yield this.getValues(spreadsheetId, sheetName, index, batchSize);
|
|
62
62
|
while (batch) {
|
|
63
63
|
values.push(...batch);
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
try {
|
|
65
|
+
batch = yield this.getValues(spreadsheetId, sheetName, ++index, batchSize);
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
if (error.errors[0].message.startsWith(`Range (${sheetName}!`)) {
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
throw error;
|
|
72
|
+
}
|
|
73
|
+
if (batch.every(row => row.every(cell => cell === '')))
|
|
66
74
|
break;
|
|
67
75
|
}
|
|
68
76
|
return values;
|
|
@@ -71,11 +79,33 @@ let SheetsService = class SheetsService {
|
|
|
71
79
|
listRecords(spreadsheetId, sheetName) {
|
|
72
80
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
73
81
|
const rows = yield this.getRows(spreadsheetId, sheetName);
|
|
74
|
-
const [
|
|
75
|
-
return records.map(record =>
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
82
|
+
const [headers, ...records] = rows;
|
|
83
|
+
return records.map(record => headers.reduce((acc, header, index) => (Object.assign(Object.assign({}, acc), { [header]: record[index] })), {}));
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
createRecords(spreadsheetId, sheetName, rows) {
|
|
87
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
88
|
+
const columns = generateColumnNames();
|
|
89
|
+
const endColumn = columns[rows[0].length - 1];
|
|
90
|
+
return this.googleSheets.spreadsheets.values.update({
|
|
91
|
+
spreadsheetId,
|
|
92
|
+
range: `${sheetName}!A1:${endColumn}${rows.length + 1}`,
|
|
93
|
+
valueInputOption: 'USER_ENTERED',
|
|
94
|
+
requestBody: { values: rows },
|
|
95
|
+
}).then(res => res.data);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
createRecord(spreadsheetId, sheetName, record) {
|
|
99
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
100
|
+
const rows = yield this.getRows(spreadsheetId, sheetName);
|
|
101
|
+
const lastRow = rows.length;
|
|
102
|
+
const lastColumn = generateColumnNames()[record.length - 1];
|
|
103
|
+
return this.googleSheets.spreadsheets.values.update({
|
|
104
|
+
spreadsheetId,
|
|
105
|
+
range: `${sheetName}!A${lastRow + 1}:${lastColumn}${lastRow + 1}`,
|
|
106
|
+
valueInputOption: 'USER_ENTERED',
|
|
107
|
+
requestBody: { values: [record] },
|
|
108
|
+
}).then(res => res.data);
|
|
79
109
|
});
|
|
80
110
|
}
|
|
81
111
|
addSheet(spreadsheetId, name) {
|
|
@@ -83,15 +113,7 @@ let SheetsService = class SheetsService {
|
|
|
83
113
|
return this.googleSheets.spreadsheets.batchUpdate({
|
|
84
114
|
spreadsheetId,
|
|
85
115
|
requestBody: {
|
|
86
|
-
requests: [
|
|
87
|
-
{
|
|
88
|
-
addSheet: {
|
|
89
|
-
properties: {
|
|
90
|
-
title: name,
|
|
91
|
-
},
|
|
92
|
-
},
|
|
93
|
-
},
|
|
94
|
-
],
|
|
116
|
+
requests: [{ addSheet: { properties: { title: name } } }],
|
|
95
117
|
},
|
|
96
118
|
});
|
|
97
119
|
});
|
|
@@ -147,9 +169,24 @@ let SheetsService = class SheetsService {
|
|
|
147
169
|
});
|
|
148
170
|
});
|
|
149
171
|
}
|
|
172
|
+
getValues(spreadsheetId_1, sheetName_1) {
|
|
173
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* (spreadsheetId, sheetName, index = 0, batchSize = 1000) {
|
|
174
|
+
return this.googleSheets.spreadsheets.values.get({
|
|
175
|
+
spreadsheetId,
|
|
176
|
+
range: `${sheetName}!A${1 + index * batchSize}:AG${(index + 1) * batchSize}`,
|
|
177
|
+
}).then(res => { var _a, _b; return (_b = (_a = res.data) === null || _a === void 0 ? void 0 : _a.values) !== null && _b !== void 0 ? _b : []; }).catch((error) => {
|
|
178
|
+
// MEMO(@NozomuMiyamoto): 正規表現で下記のエラーを検知して、エラーをthrowする
|
|
179
|
+
// Range ('sheetName'!A18001:AG19000) exceeds grid limits. Max rows: 17595, max columns: 24
|
|
180
|
+
if (error.message.startsWith(`Range ('${sheetName}'!A${1 + index * batchSize}:AG${(index + 1) * batchSize}) exceeds grid limits.`)) {
|
|
181
|
+
return [];
|
|
182
|
+
}
|
|
183
|
+
throw error;
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
}
|
|
150
187
|
};
|
|
151
|
-
exports.
|
|
152
|
-
exports.
|
|
188
|
+
exports.SheetService = SheetService;
|
|
189
|
+
exports.SheetService = SheetService = tslib_1.__decorate([
|
|
153
190
|
(0, core_1.Injectable)({ providedIn: 'root' })
|
|
154
|
-
],
|
|
155
|
-
//# sourceMappingURL=
|
|
191
|
+
], SheetService);
|
|
192
|
+
//# sourceMappingURL=sheet.service.impl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sheet.service.impl.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/spreadsheet/src/lib/impl/sheet.service.impl.ts"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./
|
|
4
|
+
tslib_1.__exportStar(require("./converter"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./decorators"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./repository"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./spreadsheet"), exports);
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/@nx-ddd/spreadsheet/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/@nx-ddd/spreadsheet/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,uDAA6B;AAC7B,uDAA6B"}
|
package/package.json
CHANGED
|
@@ -1,16 +1,48 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
export declare abstract class GoogleSheetRepository<T> {
|
|
8
|
-
protected readonly sheet: import("../sheets/sheets.service.impl").SheetsService;
|
|
1
|
+
import { Type } from '@angular/core';
|
|
2
|
+
import type { SheetService } from '@nx-ddd/spreadsheet/impl';
|
|
3
|
+
import { SheetConverter } from '../converter';
|
|
4
|
+
export declare abstract class BaseSheetRepository<T> {
|
|
5
|
+
protected abstract readonly sheet: SheetService;
|
|
9
6
|
protected abstract readonly spreadsheetId: string;
|
|
10
7
|
protected abstract readonly sheetName: string;
|
|
11
|
-
protected abstract readonly converter:
|
|
8
|
+
protected abstract readonly converter: SheetConverter<T>;
|
|
9
|
+
protected abstract readonly headers: string[];
|
|
12
10
|
list(): Promise<T[]>;
|
|
11
|
+
createMany(entities: T[]): Promise<import("googleapis").sheets_v4.Schema$UpdateValuesResponse>;
|
|
12
|
+
create(entity: T): Promise<import("googleapis").sheets_v4.Schema$UpdateValuesResponse>;
|
|
13
|
+
deleteAll(): Promise<import("gaxios").GaxiosResponse<import("googleapis").sheets_v4.Schema$ClearValuesResponse>>;
|
|
14
|
+
}
|
|
15
|
+
export declare abstract class GoogleSheetRepository<T> extends BaseSheetRepository<T> {
|
|
16
|
+
protected readonly sheet: SheetService;
|
|
13
17
|
}
|
|
14
18
|
export declare class GoogleSheetHelper {
|
|
15
19
|
static toNumeric(value: any): number;
|
|
16
20
|
}
|
|
21
|
+
export interface SheetRepositoryConfig {
|
|
22
|
+
spreadsheetId: string;
|
|
23
|
+
sheetName: string;
|
|
24
|
+
converter: SheetConverter<any>;
|
|
25
|
+
headers: string[];
|
|
26
|
+
}
|
|
27
|
+
export declare function getSheetRepository<T>(Entity: Type<T>, { spreadsheetId, sheetName, converter, headers, }: Partial<SheetRepositoryConfig>, sheetService: SheetService): {
|
|
28
|
+
readonly spreadsheetId: string;
|
|
29
|
+
readonly sheetName: string;
|
|
30
|
+
readonly converter: SheetConverter<T>;
|
|
31
|
+
readonly headers: string[];
|
|
32
|
+
readonly sheet: SheetService;
|
|
33
|
+
list(): Promise<T[]>;
|
|
34
|
+
createMany(entities: T[]): Promise<import("googleapis").sheets_v4.Schema$UpdateValuesResponse>;
|
|
35
|
+
create(entity: T): Promise<import("googleapis").sheets_v4.Schema$UpdateValuesResponse>;
|
|
36
|
+
deleteAll(): Promise<import("gaxios").GaxiosResponse<import("googleapis").sheets_v4.Schema$ClearValuesResponse>>;
|
|
37
|
+
};
|
|
38
|
+
export declare function injectSheetRepository<T>(Entity: Type<T>, { spreadsheetId, sheetName, converter, headers, }?: Partial<SheetRepositoryConfig>, sheetService?: SheetService): {
|
|
39
|
+
readonly spreadsheetId: string;
|
|
40
|
+
readonly sheetName: string;
|
|
41
|
+
readonly converter: SheetConverter<T>;
|
|
42
|
+
readonly headers: string[];
|
|
43
|
+
readonly sheet: SheetService;
|
|
44
|
+
list(): Promise<T[]>;
|
|
45
|
+
createMany(entities: T[]): Promise<import("googleapis").sheets_v4.Schema$UpdateValuesResponse>;
|
|
46
|
+
create(entity: T): Promise<import("googleapis").sheets_v4.Schema$UpdateValuesResponse>;
|
|
47
|
+
deleteAll(): Promise<import("gaxios").GaxiosResponse<import("googleapis").sheets_v4.Schema$ClearValuesResponse>>;
|
|
48
|
+
};
|
package/repository/repository.js
CHANGED
|
@@ -1,20 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GoogleSheetHelper = exports.GoogleSheetRepository = void 0;
|
|
3
|
+
exports.GoogleSheetHelper = exports.GoogleSheetRepository = exports.BaseSheetRepository = void 0;
|
|
4
|
+
exports.getSheetRepository = getSheetRepository;
|
|
5
|
+
exports.injectSheetRepository = injectSheetRepository;
|
|
4
6
|
const tslib_1 = require("tslib");
|
|
5
7
|
const core_1 = require("@angular/core");
|
|
6
8
|
const sheets_1 = require("../sheets");
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
9
|
+
const converter_1 = require("../converter");
|
|
10
|
+
const decorators_1 = require("../decorators");
|
|
11
|
+
class BaseSheetRepository {
|
|
11
12
|
list() {
|
|
12
13
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
13
14
|
return this.sheet.listRecords(this.spreadsheetId, this.sheetName).then(records => {
|
|
14
|
-
return this.converter.
|
|
15
|
+
return this.converter.fromSheetMany(records);
|
|
15
16
|
});
|
|
16
17
|
});
|
|
17
18
|
}
|
|
19
|
+
createMany(entities) {
|
|
20
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
const records = this.converter.toSheetMany(entities);
|
|
22
|
+
const rows = records.map(record => this.headers.map(header => record[header]));
|
|
23
|
+
return this.sheet.createRecords(this.spreadsheetId, this.sheetName, [this.headers, ...rows]);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
create(entity) {
|
|
27
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
const record = this.converter.toSheet(entity);
|
|
29
|
+
const row = this.headers.map(header => record[header]);
|
|
30
|
+
return this.sheet.createRecord(this.spreadsheetId, this.sheetName, row);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
deleteAll() {
|
|
34
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
return this.sheet.deleteRows(this.spreadsheetId, this.sheetName, 'A1:ZZ100000');
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.BaseSheetRepository = BaseSheetRepository;
|
|
40
|
+
let GoogleSheetRepository = class GoogleSheetRepository extends BaseSheetRepository {
|
|
41
|
+
constructor() {
|
|
42
|
+
super(...arguments);
|
|
43
|
+
this.sheet = (0, sheets_1.injectSheetService)();
|
|
44
|
+
}
|
|
18
45
|
};
|
|
19
46
|
exports.GoogleSheetRepository = GoogleSheetRepository;
|
|
20
47
|
exports.GoogleSheetRepository = GoogleSheetRepository = tslib_1.__decorate([
|
|
@@ -24,10 +51,33 @@ class GoogleSheetHelper {
|
|
|
24
51
|
static toNumeric(value) {
|
|
25
52
|
if (value === '')
|
|
26
53
|
return null;
|
|
54
|
+
if (typeof value === 'string') {
|
|
55
|
+
// '¥25,000'を25000に変換
|
|
56
|
+
const num = Number(value.replace(/[^0-9]/g, ''));
|
|
57
|
+
if (isNaN(num))
|
|
58
|
+
return null;
|
|
59
|
+
return num;
|
|
60
|
+
}
|
|
27
61
|
if (isNaN(Number(value)))
|
|
28
62
|
return null;
|
|
29
63
|
return Number(value);
|
|
30
64
|
}
|
|
31
65
|
}
|
|
32
66
|
exports.GoogleSheetHelper = GoogleSheetHelper;
|
|
67
|
+
function getSheetRepository(Entity, { spreadsheetId = (0, decorators_1.getSheetConfig)(Entity).id, sheetName = (0, decorators_1.getSheetConfig)(Entity).name, converter = (0, converter_1.getConverter)(Entity), headers = (0, decorators_1.getHeaders)(Entity), } = {}, sheetService) {
|
|
68
|
+
class SheetRepository extends BaseSheetRepository {
|
|
69
|
+
constructor(spreadsheetId, sheetName, converter, headers, sheet) {
|
|
70
|
+
super();
|
|
71
|
+
this.spreadsheetId = spreadsheetId;
|
|
72
|
+
this.sheetName = sheetName;
|
|
73
|
+
this.converter = converter;
|
|
74
|
+
this.headers = headers;
|
|
75
|
+
this.sheet = sheet;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return new SheetRepository(spreadsheetId, sheetName, converter, headers, sheetService);
|
|
79
|
+
}
|
|
80
|
+
function injectSheetRepository(Entity, { spreadsheetId = (0, decorators_1.getSheetConfig)(Entity).id, sheetName = (0, decorators_1.getSheetConfig)(Entity).name, converter = (0, converter_1.getConverter)(Entity), headers = (0, decorators_1.getHeaders)(Entity), } = {}, sheetService = (0, sheets_1.injectSheetService)()) {
|
|
81
|
+
return getSheetRepository(Entity, { spreadsheetId, sheetName, converter, headers }, sheetService);
|
|
82
|
+
}
|
|
33
83
|
//# sourceMappingURL=repository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/spreadsheet/src/lib/repository/repository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/spreadsheet/src/lib/repository/repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export declare const SHEETS_SERVICE: InjectionToken<SheetsService>;
|
|
4
|
-
export declare function injectSheetsService(): SheetsService;
|
|
1
|
+
import type { SheetService } from '@nx-ddd/spreadsheet/impl';
|
|
2
|
+
export declare function injectSheetService(): SheetService;
|
package/sheets/sheets.service.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
function injectSheetsService() {
|
|
8
|
-
var _a;
|
|
9
|
-
return (_a = (0, core_1.inject)(exports.SHEETS_SERVICE, { optional: true })) !== null && _a !== void 0 ? _a : {};
|
|
3
|
+
exports.injectSheetService = injectSheetService;
|
|
4
|
+
const token_1 = require("@nx-ddd/spreadsheet/token");
|
|
5
|
+
function injectSheetService() {
|
|
6
|
+
return token_1.SHEET_SERVICE.inject();
|
|
10
7
|
}
|
|
11
8
|
//# sourceMappingURL=sheets.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sheets.service.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/spreadsheet/src/lib/sheets/sheets.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sheets.service.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/spreadsheet/src/lib/sheets/sheets.service.ts"],"names":[],"mappings":";;AAGA,gDAEC;AAJD,qDAA0D;AAE1D,SAAgB,kBAAkB;IAChC,OAAO,qBAAa,CAAC,MAAM,EAAkB,CAAC;AAChD,CAAC"}
|
package/token/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const SHEET_SERVICE: import("@nx-ddd/core").DiToken<unknown>;
|
package/token/index.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SHEET_SERVICE = void 0;
|
|
4
|
+
const core_1 = require("@nx-ddd/core");
|
|
5
|
+
exports.SHEET_SERVICE = (0, core_1.makeDI)('[@nx-ddd/spreadsheet] SHEET SERVICE');
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/spreadsheet/src/lib/token/index.ts"],"names":[],"mappings":";;;AAAA,uCAAsC;AAEzB,QAAA,aAAa,GAAG,IAAA,aAAM,EAAC,qCAAqC,CAAC,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
export declare const SERVICE_ACCOUNT: InjectionToken<unknown>;
|
|
3
|
-
export declare class GoogleSheetClient {
|
|
4
|
-
private serviceAccount;
|
|
5
|
-
constructor(serviceAccount: any);
|
|
6
|
-
private getDoc;
|
|
7
|
-
writeSheet(sheetId: string, sheetName: any, data: {
|
|
8
|
-
[key: string]: string | number | boolean;
|
|
9
|
-
}[]): Promise<void>;
|
|
10
|
-
readSheet(sheetId: string, sheetName: string): Promise<any>;
|
|
11
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GoogleSheetClient = exports.SERVICE_ACCOUNT = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const core_1 = require("@angular/core");
|
|
6
|
-
const google_spreadsheet_1 = require("google-spreadsheet");
|
|
7
|
-
exports.SERVICE_ACCOUNT = new core_1.InjectionToken('[@nx-ddd/spreadsheet] Service Account');
|
|
8
|
-
let GoogleSheetClient = class GoogleSheetClient {
|
|
9
|
-
constructor(serviceAccount) {
|
|
10
|
-
this.serviceAccount = serviceAccount;
|
|
11
|
-
}
|
|
12
|
-
getDoc(id) {
|
|
13
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
14
|
-
const doc = new google_spreadsheet_1.GoogleSpreadsheet(id);
|
|
15
|
-
yield doc.useServiceAccountAuth(this.serviceAccount);
|
|
16
|
-
yield doc.loadInfo();
|
|
17
|
-
return doc;
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
writeSheet(sheetId, sheetName, data) {
|
|
21
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
const doc = yield this.getDoc(sheetId);
|
|
23
|
-
const sheet = doc.sheetsByTitle[sheetName];
|
|
24
|
-
yield sheet.clear();
|
|
25
|
-
if (!data.length)
|
|
26
|
-
return;
|
|
27
|
-
yield sheet.setHeaderRow(Object.keys(data[0]));
|
|
28
|
-
yield sheet.addRows(data, { raw: false, insert: false });
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
readSheet(sheetId, sheetName) {
|
|
32
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
33
|
-
const doc = yield this.getDoc(sheetId);
|
|
34
|
-
const sheet = doc.sheetsByTitle[sheetName];
|
|
35
|
-
return sheet.getRows();
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
exports.GoogleSheetClient = GoogleSheetClient;
|
|
40
|
-
exports.GoogleSheetClient = GoogleSheetClient = tslib_1.__decorate([
|
|
41
|
-
(0, core_1.Injectable)(),
|
|
42
|
-
tslib_1.__param(0, (0, core_1.Inject)(exports.SERVICE_ACCOUNT)),
|
|
43
|
-
tslib_1.__metadata("design:paramtypes", [Object])
|
|
44
|
-
], GoogleSheetClient);
|
|
45
|
-
//# sourceMappingURL=client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/spreadsheet/src/lib/google-sheet/client/client.ts"],"names":[],"mappings":";;;;AAAA,wCAAmE;AACnE,2DAAuD;AAE1C,QAAA,eAAe,GAAG,IAAI,qBAAc,CAAC,uCAAuC,CAAC,CAAC;AAGpF,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAE5B,YACmC,cAAmB;QAAnB,mBAAc,GAAd,cAAc,CAAK;IAClD,CAAC;IAES,MAAM,CAAC,EAAU;;YAC7B,MAAM,GAAG,GAAG,IAAI,sCAAiB,CAAC,EAAE,CAAC,CAAC;YACtC,MAAM,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACrD,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IAEK,UAAU,CAAC,OAAe,EAAE,SAAS,EAAE,IAAkD;;YAC7F,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAC3C,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO;YACzB,MAAM,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC;QACzD,CAAC;KAAA;IAEK,SAAS,CAAC,OAAe,EAAE,SAAiB;;YAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;KAAA;CACF,CAAA;AA3BY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,iBAAU,GAAE;IAIR,mBAAA,IAAA,aAAM,EAAC,uBAAe,CAAC,CAAA;;GAHf,iBAAiB,CA2B7B"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GoogleSheetClientModule = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const core_1 = require("@angular/core");
|
|
6
|
-
const client_1 = require("./client");
|
|
7
|
-
let GoogleSheetClientModule = class GoogleSheetClientModule {
|
|
8
|
-
};
|
|
9
|
-
exports.GoogleSheetClientModule = GoogleSheetClientModule;
|
|
10
|
-
exports.GoogleSheetClientModule = GoogleSheetClientModule = tslib_1.__decorate([
|
|
11
|
-
(0, core_1.NgModule)({
|
|
12
|
-
providers: [client_1.GoogleSheetClient],
|
|
13
|
-
})
|
|
14
|
-
], GoogleSheetClientModule);
|
|
15
|
-
//# sourceMappingURL=client.module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.module.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/spreadsheet/src/lib/google-sheet/client/client.module.ts"],"names":[],"mappings":";;;;AAAA,wCAAyC;AACzC,qCAA6C;AAKtC,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;CAAI,CAAA;AAA3B,0DAAuB;kCAAvB,uBAAuB;IAHnC,IAAA,eAAQ,EAAC;QACR,SAAS,EAAE,CAAC,0BAAiB,CAAC;KAC/B,CAAC;GACW,uBAAuB,CAAI"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/spreadsheet/src/lib/google-sheet/client/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,mDAAyB"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GoogleSheetModule = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const core_1 = require("@angular/core");
|
|
6
|
-
let GoogleSheetModule = class GoogleSheetModule {
|
|
7
|
-
};
|
|
8
|
-
exports.GoogleSheetModule = GoogleSheetModule;
|
|
9
|
-
exports.GoogleSheetModule = GoogleSheetModule = tslib_1.__decorate([
|
|
10
|
-
(0, core_1.NgModule)({
|
|
11
|
-
imports: []
|
|
12
|
-
})
|
|
13
|
-
], GoogleSheetModule);
|
|
14
|
-
//# sourceMappingURL=google-sheet.module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"google-sheet.module.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/spreadsheet/src/lib/google-sheet/google-sheet.module.ts"],"names":[],"mappings":";;;;AAAA,wCAAyC;AAKlC,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAAI,CAAA;AAArB,8CAAiB;4BAAjB,iBAAiB;IAH7B,IAAA,eAAQ,EAAC;QACR,OAAO,EAAE,EAAE;KACZ,CAAC;GACW,iBAAiB,CAAI"}
|
package/google-sheet/index.d.ts
DELETED
package/google-sheet/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("./client"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./google-sheet.module"), exports);
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/spreadsheet/src/lib/google-sheet/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,gEAAsC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sheets.service.impl.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/spreadsheet/src/lib/sheets/sheets.service.impl.ts"],"names":[],"mappings":"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"}
|
package/spreadsheet.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function spreadsheet(): string;
|
package/spreadsheet.js
DELETED
package/spreadsheet.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spreadsheet.js","sourceRoot":"","sources":["../../../../packages/@nx-ddd/spreadsheet/src/lib/spreadsheet.ts"],"names":[],"mappings":";;AAAA,kCAEC;AAFD,SAAgB,WAAW;IACzB,OAAO,aAAa,CAAC;AACvB,CAAC"}
|