evmtools-node 0.0.17 → 0.0.18

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 (34) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/README.md +42 -0
  3. package/dist/common/VersionInfo.d.ts +22 -0
  4. package/dist/common/VersionInfo.d.ts.map +1 -0
  5. package/dist/common/VersionInfo.js +60 -0
  6. package/dist/common/VersionInfo.js.map +1 -0
  7. package/dist/common/index.d.ts +1 -0
  8. package/dist/common/index.d.ts.map +1 -1
  9. package/dist/common/index.js +1 -0
  10. package/dist/common/index.js.map +1 -1
  11. package/dist/domain/Project.d.ts +19 -0
  12. package/dist/domain/Project.d.ts.map +1 -1
  13. package/dist/domain/Project.js +18 -0
  14. package/dist/domain/Project.js.map +1 -1
  15. package/dist/infrastructure/CsvProjectCreator.d.ts +139 -0
  16. package/dist/infrastructure/CsvProjectCreator.d.ts.map +1 -0
  17. package/dist/infrastructure/CsvProjectCreator.js +442 -0
  18. package/dist/infrastructure/CsvProjectCreator.js.map +1 -0
  19. package/dist/infrastructure/index.d.ts +1 -0
  20. package/dist/infrastructure/index.d.ts.map +1 -1
  21. package/dist/infrastructure/index.js +1 -0
  22. package/dist/infrastructure/index.js.map +1 -1
  23. package/dist/presentation/cli-pbevm-diff.d.ts +1 -0
  24. package/dist/presentation/cli-pbevm-diff.js +1 -0
  25. package/dist/presentation/cli-pbevm-diff.js.map +1 -1
  26. package/dist/presentation/cli-pbevm-show-project.d.ts +1 -0
  27. package/dist/presentation/cli-pbevm-show-project.js +1 -0
  28. package/dist/presentation/cli-pbevm-show-project.js.map +1 -1
  29. package/dist/presentation/cli-pbevm-show-pv.d.ts +1 -0
  30. package/dist/presentation/cli-pbevm-show-pv.js +1 -0
  31. package/dist/presentation/cli-pbevm-show-pv.js.map +1 -1
  32. package/dist/resource/presentation/cli-pbevm-show-resourceplan.js +0 -0
  33. package/jest.config.js +26 -0
  34. package/package.json +109 -102
package/CHANGELOG.md ADDED
@@ -0,0 +1,55 @@
1
+ # 変更履歴
2
+
3
+ このファイルはプロジェクトの主要な変更を記録します。
4
+
5
+ フォーマットは [Keep a Changelog](https://keepachangelog.com/ja/1.0.0/) に基づき、
6
+ [セマンティックバージョニング](https://semver.org/lang/ja/) に準拠しています。
7
+
8
+ ## [0.0.18]
9
+
10
+ ### 追加
11
+ - **CsvProjectCreator**: CSVファイルからProjectを生成する機能
12
+ - UTF-8/Shift-JIS自動判定対応
13
+ - ファイル名から基準日を抽出(`{name}_{yyyyMMdd}.csv`形式)
14
+ - 要件定義: `docs/specs/requirements/REQ-CSV-001.md`
15
+ - 詳細仕様: `docs/specs/domain/master/CsvProjectCreator.spec.md`
16
+ - **Jest環境**: テストフレームワークを導入
17
+ - 単体テスト: `CsvProjectCreator.test.ts`
18
+ - 統合テスト: `CsvProjectCreator.integration.test.ts`
19
+ - **仕様駆動開発**: Spec-Driven Developmentワークフローを導入
20
+ - 仕様書フォーマット: `docs/specs/spec-schema.md`
21
+ - 既存ドメインモデルのリバース仕様を追加
22
+ - **CLAUDE.md**: Claude Code用プロジェクトガイドを追加
23
+ - **開発ワークフロー文書**: `docs/workflow/DEVELOPMENT_WORKFLOW.md`
24
+ - **VersionInfo**: バージョン情報取得ユーティリティ
25
+ - `getVersionInfo()`: package.jsonからバージョン情報を取得
26
+ - 要件定義: `docs/specs/requirements/REQ-VERSION-001.md`
27
+ - 詳細仕様: `docs/specs/domain/master/VersionInfo.spec.md`
28
+ - 開発フローサンプル: `docs/workflow/SAMPLE_DEVELOPMENT_FLOW.md`
29
+
30
+ ### 変更
31
+ - `package.json`: Jest関連依存とiconv-liteを追加
32
+
33
+ ### 修正
34
+ - **CLIコマンド**: shebang追加でUnix環境での実行を修正
35
+ - `pbevm-show-project`, `pbevm-diff`, `pbevm-show-pv`
36
+ - 要件定義: `docs/specs/requirements/REQ-CLI-001.md`
37
+ - **README.md**: インストール手順と`-p`オプションの説明を追加
38
+
39
+ ## [0.0.17]
40
+
41
+ ### 追加
42
+ - TaskRow: `validStatus`プロパティを追加(データの有効性チェック)
43
+
44
+ ## [0.0.15]
45
+
46
+ ### 変更
47
+ - 微調整
48
+
49
+ ## [0.0.14]
50
+
51
+ ### 追加
52
+ - 要員計画モジュール(ベータ版)
53
+
54
+ ### 変更
55
+ - リファクタリング
package/README.md CHANGED
@@ -18,6 +18,18 @@
18
18
  WEBアプリ等で先のExcelファイルを読み書きできるように開発していますが、下記の通りコマンドラインから呼び出せるようにもしてあります。
19
19
 
20
20
 
21
+ ## インストール
22
+
23
+ ```bash
24
+ npm install evmtools-node
25
+ ```
26
+
27
+ インストール後、以下のコマンドが使用可能になります。
28
+
29
+ > **注記**: `npm install evmtools-node` せずに直接実行する場合は、`npx -p evmtools-node <command>` の形式で実行できます。
30
+ > 例: `npx -p evmtools-node pbevm-show-project --path ./now.xlsm`
31
+
32
+
21
33
  ## コマンド
22
34
 
23
35
 
@@ -211,7 +223,37 @@ Contributions, issues and feature requests are welcome!<br />Feel free to check
211
223
  Give a ⭐️ if this project helped you!
212
224
 
213
225
 
226
+ ## 開発者向け
227
+
228
+ ### ドキュメント
229
+
230
+ 詳細なドキュメントは [docs/README.md](docs/README.md) を参照してください。
231
+
232
+ - 開発ワークフロー
233
+ - 仕様書(要件定義・設計書)
234
+ - コーディング標準
235
+ - トレーサビリティの事例
236
+
237
+ ### テスト実行
238
+
239
+ ```bash
240
+ npm test # 全テストを実行
241
+ npm test -- --watch # ウォッチモードで実行
242
+ npm run test:coverage # カバレッジレポート付きで実行
243
+ ```
244
+
245
+ ### ビルド
246
+
247
+ ```bash
248
+ npm run build # クリーン、TypeScriptコンパイル、.hbsテンプレートのコピー
249
+ npm run lint # ESLintチェック
250
+ npm run format # Prettierチェック
251
+ ```
252
+
253
+ 詳細な開発フローは [DEVELOPMENT_WORKFLOW.md](docs/workflow/DEVELOPMENT_WORKFLOW.md) を参照してください。
254
+
214
255
  ## 改訂履歴
256
+ - 0.0.18 (予定) CsvProjectCreator追加、VersionInfo追加、Jest環境導入、仕様駆動開発導入
215
257
  - 0.0.17 正しいデータかを表す「validStatus」プロパティを追加
216
258
  - 0.0.15 微調整
217
259
  - 0.0.14 もろもろリファクタリング。要員計画を読み込むコードのβ版リリース
@@ -0,0 +1,22 @@
1
+ /**
2
+ * VersionInfo - バージョン情報ユーティリティ
3
+ * @see docs/specs/domain/VersionInfo.spec.md
4
+ * @see docs/specs/requirements/REQ-VERSION-001.md
5
+ */
6
+ /**
7
+ * バージョン情報を表すインターフェース
8
+ */
9
+ export interface VersionInfo {
10
+ /** パッケージのバージョン番号 */
11
+ version: string;
12
+ /** パッケージ名 */
13
+ name: string;
14
+ /** パッケージの説明文 */
15
+ description: string;
16
+ }
17
+ /**
18
+ * バージョン情報を取得する
19
+ * @returns VersionInfo オブジェクト
20
+ */
21
+ export declare function getVersionInfo(): VersionInfo;
22
+ //# sourceMappingURL=VersionInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VersionInfo.d.ts","sourceRoot":"","sources":["../../src/common/VersionInfo.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa;IACb,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,WAAW,EAAE,MAAM,CAAC;CACvB;AAKD;;;GAGG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAY5C"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ /**
3
+ * VersionInfo - バージョン情報ユーティリティ
4
+ * @see docs/specs/domain/VersionInfo.spec.md
5
+ * @see docs/specs/requirements/REQ-VERSION-001.md
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.getVersionInfo = getVersionInfo;
42
+ const packageJson = __importStar(require("../../package.json"));
43
+ /** キャッシュされたバージョン情報 */
44
+ let cachedVersionInfo = null;
45
+ /**
46
+ * バージョン情報を取得する
47
+ * @returns VersionInfo オブジェクト
48
+ */
49
+ function getVersionInfo() {
50
+ if (cachedVersionInfo !== null) {
51
+ return cachedVersionInfo;
52
+ }
53
+ cachedVersionInfo = {
54
+ version: packageJson.version || '',
55
+ name: packageJson.name || '',
56
+ description: packageJson.description || '',
57
+ };
58
+ return cachedVersionInfo;
59
+ }
60
+ //# sourceMappingURL=VersionInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VersionInfo.js","sourceRoot":"","sources":["../../src/common/VersionInfo.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBH,wCAYC;AAjCD,gEAAkD;AAclD,sBAAsB;AACtB,IAAI,iBAAiB,GAAuB,IAAI,CAAC;AAEjD;;;GAGG;AACH,SAAgB,cAAc;IAC1B,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IAED,iBAAiB,GAAG;QAChB,OAAO,EAAE,WAAW,CAAC,OAAO,IAAI,EAAE;QAClC,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,EAAE;QAC5B,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,EAAE;KAC7C,CAAC;IAEF,OAAO,iBAAiB,CAAC;AAC7B,CAAC"}
@@ -2,4 +2,5 @@ export * from './utils';
2
2
  export * from './myStyles';
3
3
  export * from './styles';
4
4
  export * from './calcUtils';
5
+ export * from './VersionInfo';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA"}
@@ -18,4 +18,5 @@ __exportStar(require("./utils"), exports);
18
18
  __exportStar(require("./myStyles"), exports);
19
19
  __exportStar(require("./styles"), exports);
20
20
  __exportStar(require("./calcUtils"), exports);
21
+ __exportStar(require("./VersionInfo"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,6CAA0B;AAC1B,2CAAwB;AACxB,8CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,6CAA0B;AAC1B,2CAAwB;AACxB,8CAA2B;AAC3B,gDAA6B"}
@@ -93,6 +93,16 @@ export declare class Project {
93
93
  get pvByName(): Record<string, unknown>[];
94
94
  get pvsByName(): Record<string, unknown>[];
95
95
  isHoliday(date: Date): boolean;
96
+ /**
97
+ * 計算から除外されたタスクの一覧を取得
98
+ *
99
+ * @returns 除外されたタスクとその理由の配列
100
+ *
101
+ * @remarks
102
+ * - isLeaf === true のタスクのみを対象とする
103
+ * - validStatus.isValid === false のタスクを返す
104
+ */
105
+ get excludedTasks(): ExcludedTask[];
96
106
  }
97
107
  export type Statistics = {
98
108
  totalTasksCount?: number;
@@ -118,4 +128,13 @@ export type LongData = {
118
128
  baseDate: string;
119
129
  value?: number;
120
130
  };
131
+ /**
132
+ * 計算から除外されたタスクの情報
133
+ */
134
+ export type ExcludedTask = {
135
+ /** 除外されたタスク */
136
+ task: TaskRow;
137
+ /** 除外理由(validStatus.invalidReason) */
138
+ reason: string;
139
+ };
121
140
  //# sourceMappingURL=Project.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Project.d.ts","sourceRoot":"","sources":["../../src/domain/Project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Project.d.ts","sourceRoot":"","sources":["../../src/domain/Project.ts"],"names":[],"mappings":"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"}
@@ -300,6 +300,24 @@ class Project {
300
300
  isHoliday(date) {
301
301
  return (0, common_1.isHoliday)(date, this);
302
302
  }
303
+ /**
304
+ * 計算から除外されたタスクの一覧を取得
305
+ *
306
+ * @returns 除外されたタスクとその理由の配列
307
+ *
308
+ * @remarks
309
+ * - isLeaf === true のタスクのみを対象とする
310
+ * - validStatus.isValid === false のタスクを返す
311
+ */
312
+ get excludedTasks() {
313
+ return this.toTaskRows()
314
+ .filter((task) => task.isLeaf)
315
+ .filter((task) => !task.validStatus.isValid)
316
+ .map((task) => ({
317
+ task,
318
+ reason: task.validStatus.invalidReason ?? '理由不明',
319
+ }));
320
+ }
303
321
  }
304
322
  exports.Project = Project;
305
323
  const sumWorkload = (group) => (0, common_1.sum)(group.map((d) => d.workload));
@@ -1 +1 @@
1
- {"version":3,"file":"Project.js","sourceRoot":"","sources":["../../src/domain/Project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Project.js","sourceRoot":"","sources":["../../src/domain/Project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * CsvProjectCreator
3
+ *
4
+ * 仕様書: docs/specs/domain/CsvProjectCreator.spec.yaml
5
+ * 要件ID: REQ-CSV-001
6
+ *
7
+ * CSVファイルパスを受け取り、ファイルを読み込んでProjectを生成するアダプター
8
+ */
9
+ import { Project } from '../domain/Project';
10
+ import { ProjectCreator } from '../domain/ProjectCreator';
11
+ /**
12
+ * CsvProjectCreatorのオプション
13
+ */
14
+ export type CsvProjectCreatorOptions = {
15
+ /**
16
+ * 文字エンコーディング
17
+ * - 'utf-8': UTF-8
18
+ * - 'shift-jis': Shift-JIS (CP932)
19
+ * - 'auto': 自動判定(デフォルト)
20
+ */
21
+ encoding?: 'utf-8' | 'shift-jis' | 'auto';
22
+ };
23
+ /**
24
+ * CSVファイルからProjectを生成するクラス
25
+ *
26
+ * 不変条件:
27
+ * - INV-CSV-01: createProject()は常にProjectインスタンスを返す(エラー時は例外)
28
+ * - INV-CSV-02: 戻り値のProjectは有効な状態(baseDate, taskNodes, holidayDatasが設定済み)
29
+ * - INV-CSV-03: 生成されるtaskNodesは全てisLeaf=true
30
+ */
31
+ export declare class CsvProjectCreator implements ProjectCreator {
32
+ private _csvPath;
33
+ private logger;
34
+ private _encoding;
35
+ /**
36
+ * コンストラクタ
37
+ *
38
+ * @param csvPath CSVファイルの絶対パスまたは相対パス
39
+ * @param options オプション設定
40
+ *
41
+ * 事前条件:
42
+ * - PRE-CSV-01: csvPathが有効なファイルパス
43
+ * - PRE-CSV-02: 指定パスにCSVファイルが存在する
44
+ * - PRE-CSV-03: ファイル名が規則に従う({name}_{yyyyMMdd}.csv)
45
+ */
46
+ constructor(_csvPath: string, options?: CsvProjectCreatorOptions);
47
+ /**
48
+ * CSVファイルを読み込んでProjectオブジェクトを生成する
49
+ *
50
+ * 事後条件:
51
+ * - POST-CSV-01: 戻り値のProjectにbaseDateが設定されている(ファイル名から抽出)
52
+ * - POST-CSV-02: 戻り値のProjectにtaskNodesが設定されている(空配列可)
53
+ * - POST-CSV-03: 戻り値のProjectのholidayDatasは空配列
54
+ * - POST-CSV-04: 全てのTaskNodeはisLeaf=true
55
+ * - POST-CSV-05: 全てのTaskNodeはparentId=undefined
56
+ * - POST-CSV-06: startDateはタスクの最小開始日、endDateは最大終了日
57
+ *
58
+ * @returns Project
59
+ * @throws ファイルが存在しない場合: "File not found: {path}"
60
+ * @throws ファイル名パターン不一致: "Invalid filename format. Expected: {name}_{yyyyMMdd}.csv"
61
+ * @throws CSV解析エラー: "Failed to parse CSV: {details}"
62
+ */
63
+ createProject(): Promise<Project>;
64
+ /**
65
+ * yyyyMMdd形式の文字列からDateを生成
66
+ */
67
+ private parseDateFromString;
68
+ /**
69
+ * エンコーディング自動判定
70
+ *
71
+ * BOM検出またはUTF-8の妥当性チェックで判定
72
+ * UTF-8として有効でない場合のみShift-JISとして処理
73
+ */
74
+ private detectEncoding;
75
+ /**
76
+ * BufferがUTF-8として有効かどうかをチェック
77
+ */
78
+ private isValidUtf8;
79
+ /**
80
+ * BufferをエンコーディングでデコードしてstringにReturn
81
+ */
82
+ private decodeBuffer;
83
+ /**
84
+ * CSVコンテンツをパースしてTaskRow[]を生成
85
+ *
86
+ * ビジネスルール:
87
+ * - BR-CSV-01: 進捗率が1より大きい場合、100で割って0-1に正規化
88
+ * - BR-CSV-02: タスクIDが空または数値でない行はスキップ(警告ログ出力)
89
+ * - BR-CSV-03: 日付形式はyyyy/MM/ddまたはyyyy-MM-ddを許容
90
+ */
91
+ private parseCsv;
92
+ /**
93
+ * CSVの1行をパースしてカラム配列を返す
94
+ * カンマ区切り、ダブルクォート対応
95
+ */
96
+ private parseCSVLine;
97
+ /**
98
+ * カラム配列からTaskRowを生成
99
+ *
100
+ * CSV列マッピング:
101
+ * 0: タスクID → id, sharp
102
+ * 1: 名称 → name
103
+ * 2: 担当 → assignee
104
+ * 3: 予定工数 → workload
105
+ * 4: 予定開始日 → startDate
106
+ * 5: 予定終了日 → endDate
107
+ * 6: 実績開始日 → actualStartDate
108
+ * 7: 実績終了日 → actualEndDate
109
+ * 8: 進捗率 → progressRate(0-1に正規化)
110
+ * 9: 稼働予定日数 → scheduledWorkDays
111
+ * 10: PV → pv
112
+ * 11: EV → ev
113
+ */
114
+ private createTaskRowFromColumns;
115
+ /**
116
+ * 文字列を数値にパース
117
+ */
118
+ private parseNumber;
119
+ /**
120
+ * 日付文字列をパース
121
+ *
122
+ * BR-CSV-03: yyyy/MM/ddまたはyyyy-MM-ddを許容
123
+ */
124
+ private parseDate;
125
+ /**
126
+ * 進捗率を0-1に正規化
127
+ *
128
+ * BR-CSV-01: 進捗率が1より大きい場合、100で割って0-1に正規化
129
+ */
130
+ private normalizeProgressRate;
131
+ /**
132
+ * 開始日〜終了日の稼働日をplotMapとして生成
133
+ *
134
+ * 土日を除外した稼働日のみをプロット
135
+ * 祝日はPhase 1では考慮しない(holidayDatasが空のため)
136
+ */
137
+ private generatePlotMap;
138
+ }
139
+ //# sourceMappingURL=CsvProjectCreator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CsvProjectCreator.d.ts","sourceRoot":"","sources":["../../src/infrastructure/CsvProjectCreator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAMzD;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,CAAA;CAC5C,CAAA;AAOD;;;;;;;GAOG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IAgBhD,OAAO,CAAC,QAAQ;IAfpB,OAAO,CAAC,MAAM,CAAgD;IAC9D,OAAO,CAAC,SAAS,CAAgC;IAEjD;;;;;;;;;;OAUG;gBAES,QAAQ,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE,wBAAwB;IAKtC;;;;;;;;;;;;;;;OAeG;IACG,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAgDvC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IActB;;OAEG;IACH,OAAO,CAAC,WAAW;IA8DnB;;OAEG;IACH,OAAO,CAAC,YAAY;IAYpB;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ;IA2ChB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAmCpB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,wBAAwB;IA8ChC;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAgCjB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;CAmB1B"}