@nahisaho/katashiro-generator 0.2.2 → 0.2.4
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/dist/audio/AudioGenerator.d.ts +82 -0
- package/dist/audio/AudioGenerator.d.ts.map +1 -0
- package/dist/audio/AudioGenerator.js +561 -0
- package/dist/audio/AudioGenerator.js.map +1 -0
- package/dist/audio/SSMLBuilder.d.ts +114 -0
- package/dist/audio/SSMLBuilder.d.ts.map +1 -0
- package/dist/audio/SSMLBuilder.js +269 -0
- package/dist/audio/SSMLBuilder.js.map +1 -0
- package/dist/audio/index.d.ts +10 -0
- package/dist/audio/index.d.ts.map +1 -0
- package/dist/audio/index.js +12 -0
- package/dist/audio/index.js.map +1 -0
- package/dist/audio/types.d.ts +322 -0
- package/dist/audio/types.d.ts.map +1 -0
- package/dist/audio/types.js +102 -0
- package/dist/audio/types.js.map +1 -0
- package/dist/chart/ChartGenerator.d.ts +120 -0
- package/dist/chart/ChartGenerator.d.ts.map +1 -0
- package/dist/chart/ChartGenerator.js +328 -0
- package/dist/chart/ChartGenerator.js.map +1 -0
- package/dist/chart/DiagramGenerator.d.ts +141 -0
- package/dist/chart/DiagramGenerator.d.ts.map +1 -0
- package/dist/chart/DiagramGenerator.js +350 -0
- package/dist/chart/DiagramGenerator.js.map +1 -0
- package/dist/chart/MermaidBuilder.d.ts +291 -0
- package/dist/chart/MermaidBuilder.d.ts.map +1 -0
- package/dist/chart/MermaidBuilder.js +429 -0
- package/dist/chart/MermaidBuilder.js.map +1 -0
- package/dist/chart/SvgBuilder.d.ts +103 -0
- package/dist/chart/SvgBuilder.d.ts.map +1 -0
- package/dist/chart/SvgBuilder.js +503 -0
- package/dist/chart/SvgBuilder.js.map +1 -0
- package/dist/chart/index.d.ts +12 -0
- package/dist/chart/index.d.ts.map +1 -0
- package/dist/chart/index.js +13 -0
- package/dist/chart/index.js.map +1 -0
- package/dist/chart/types.d.ts +244 -0
- package/dist/chart/types.d.ts.map +1 -0
- package/dist/chart/types.js +107 -0
- package/dist/chart/types.js.map +1 -0
- package/dist/image/ImageGenerator.d.ts +145 -0
- package/dist/image/ImageGenerator.d.ts.map +1 -0
- package/dist/image/ImageGenerator.js +402 -0
- package/dist/image/ImageGenerator.js.map +1 -0
- package/dist/image/PromptOptimizer.d.ts +73 -0
- package/dist/image/PromptOptimizer.d.ts.map +1 -0
- package/dist/image/PromptOptimizer.js +295 -0
- package/dist/image/PromptOptimizer.js.map +1 -0
- package/dist/image/index.d.ts +10 -0
- package/dist/image/index.d.ts.map +1 -0
- package/dist/image/index.js +12 -0
- package/dist/image/index.js.map +1 -0
- package/dist/image/types.d.ts +237 -0
- package/dist/image/types.d.ts.map +1 -0
- package/dist/image/types.js +97 -0
- package/dist/image/types.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -1
- package/dist/ogp/OGPGenerator.d.ts +97 -0
- package/dist/ogp/OGPGenerator.d.ts.map +1 -0
- package/dist/ogp/OGPGenerator.js +245 -0
- package/dist/ogp/OGPGenerator.js.map +1 -0
- package/dist/ogp/OGPSvgBuilder.d.ts +95 -0
- package/dist/ogp/OGPSvgBuilder.d.ts.map +1 -0
- package/dist/ogp/OGPSvgBuilder.js +383 -0
- package/dist/ogp/OGPSvgBuilder.js.map +1 -0
- package/dist/ogp/index.d.ts +10 -0
- package/dist/ogp/index.d.ts.map +1 -0
- package/dist/ogp/index.js +12 -0
- package/dist/ogp/index.js.map +1 -0
- package/dist/ogp/types.d.ts +183 -0
- package/dist/ogp/types.d.ts.map +1 -0
- package/dist/ogp/types.js +204 -0
- package/dist/ogp/types.js.map +1 -0
- package/dist/video/FrameComposer.d.ts +95 -0
- package/dist/video/FrameComposer.d.ts.map +1 -0
- package/dist/video/FrameComposer.js +325 -0
- package/dist/video/FrameComposer.js.map +1 -0
- package/dist/video/VideoGenerator.d.ts +82 -0
- package/dist/video/VideoGenerator.d.ts.map +1 -0
- package/dist/video/VideoGenerator.js +325 -0
- package/dist/video/VideoGenerator.js.map +1 -0
- package/dist/video/index.d.ts +10 -0
- package/dist/video/index.d.ts.map +1 -0
- package/dist/video/index.js +12 -0
- package/dist/video/index.js.map +1 -0
- package/dist/video/types.d.ts +366 -0
- package/dist/video/types.d.ts.map +1 -0
- package/dist/video/types.js +111 -0
- package/dist/video/types.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChartGenerator
|
|
3
|
+
* SVGチャートの生成
|
|
4
|
+
* REQ-MEDIA-002-001: チャート生成
|
|
5
|
+
*/
|
|
6
|
+
import { ok, err } from '@nahisaho/katashiro-core';
|
|
7
|
+
import { DEFAULT_CHART_CONFIG, ChartGeneratorError, CHART_ERROR_CODES, } from './types.js';
|
|
8
|
+
import { SvgBuilder } from './SvgBuilder.js';
|
|
9
|
+
/**
|
|
10
|
+
* チャートジェネレータークラス
|
|
11
|
+
* 各種チャートをSVG形式で生成
|
|
12
|
+
*/
|
|
13
|
+
export class ChartGenerator {
|
|
14
|
+
config;
|
|
15
|
+
constructor(config) {
|
|
16
|
+
this.config = { ...DEFAULT_CHART_CONFIG, ...config };
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* チャートを生成(IChartGenerator実装)
|
|
20
|
+
* @param data チャートデータ
|
|
21
|
+
* @param config チャート設定
|
|
22
|
+
* @returns 生成結果
|
|
23
|
+
*/
|
|
24
|
+
async generate(data, config) {
|
|
25
|
+
try {
|
|
26
|
+
const chartData = this.validateData(data);
|
|
27
|
+
const options = {
|
|
28
|
+
type: this.mapChartType(config.type),
|
|
29
|
+
title: config.title,
|
|
30
|
+
xAxis: config.xLabel ? { title: config.xLabel } : undefined,
|
|
31
|
+
yAxis: config.yLabel ? { title: config.yLabel } : undefined,
|
|
32
|
+
colors: config.colors,
|
|
33
|
+
width: config.width,
|
|
34
|
+
height: config.height,
|
|
35
|
+
};
|
|
36
|
+
const output = await this.generateChart(chartData, options);
|
|
37
|
+
return ok(output.content);
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
return err(error instanceof Error
|
|
41
|
+
? error
|
|
42
|
+
: new ChartGeneratorError(CHART_ERROR_CODES.RENDER_FAILED, String(error)));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* チャートを生成(拡張版)
|
|
47
|
+
* @param data チャートデータ
|
|
48
|
+
* @param options チャートオプション
|
|
49
|
+
* @param format 出力フォーマット
|
|
50
|
+
* @returns チャート出力
|
|
51
|
+
*/
|
|
52
|
+
async generateChart(data, options, format = 'svg') {
|
|
53
|
+
this.validateChartData(data);
|
|
54
|
+
this.validateOptions(options);
|
|
55
|
+
const builder = new SvgBuilder(options, this.config);
|
|
56
|
+
builder.addHeader();
|
|
57
|
+
builder.addTitle();
|
|
58
|
+
switch (options.type) {
|
|
59
|
+
case 'bar':
|
|
60
|
+
builder.drawBarChart(data);
|
|
61
|
+
break;
|
|
62
|
+
case 'line':
|
|
63
|
+
builder.drawLineChart(data);
|
|
64
|
+
break;
|
|
65
|
+
case 'pie':
|
|
66
|
+
builder.drawPieChart(data, false);
|
|
67
|
+
break;
|
|
68
|
+
case 'doughnut':
|
|
69
|
+
builder.drawPieChart(data, true);
|
|
70
|
+
break;
|
|
71
|
+
case 'scatter':
|
|
72
|
+
builder.drawScatterChart(data);
|
|
73
|
+
break;
|
|
74
|
+
case 'area':
|
|
75
|
+
builder.drawAreaChart(data);
|
|
76
|
+
break;
|
|
77
|
+
case 'radar':
|
|
78
|
+
builder.drawRadarChart(data);
|
|
79
|
+
break;
|
|
80
|
+
case 'bubble':
|
|
81
|
+
builder.drawScatterChart(data);
|
|
82
|
+
break;
|
|
83
|
+
default:
|
|
84
|
+
throw new ChartGeneratorError(CHART_ERROR_CODES.INVALID_TYPE, `Unsupported chart type: ${options.type}`);
|
|
85
|
+
}
|
|
86
|
+
builder.addLegend(data);
|
|
87
|
+
const svg = builder.build();
|
|
88
|
+
// PNG変換が必要な場合
|
|
89
|
+
if (format === 'png') {
|
|
90
|
+
const pngBuffer = await this.convertToPng(svg, options);
|
|
91
|
+
return {
|
|
92
|
+
format: 'png',
|
|
93
|
+
content: pngBuffer,
|
|
94
|
+
width: options.width ?? this.config.defaultWidth,
|
|
95
|
+
height: options.height ?? this.config.defaultHeight,
|
|
96
|
+
metadata: {
|
|
97
|
+
type: options.type,
|
|
98
|
+
generatedAt: new Date(),
|
|
99
|
+
library: 'katashiro-chart',
|
|
100
|
+
title: options.title,
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
return {
|
|
105
|
+
format: 'svg',
|
|
106
|
+
content: svg,
|
|
107
|
+
width: options.width ?? this.config.defaultWidth,
|
|
108
|
+
height: options.height ?? this.config.defaultHeight,
|
|
109
|
+
metadata: {
|
|
110
|
+
type: options.type,
|
|
111
|
+
generatedAt: new Date(),
|
|
112
|
+
library: 'katashiro-chart',
|
|
113
|
+
title: options.title,
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* 棒グラフを生成
|
|
119
|
+
*/
|
|
120
|
+
async generateBarChart(labels, series, options) {
|
|
121
|
+
const chartData = {
|
|
122
|
+
labels,
|
|
123
|
+
series: series.map(s => ({
|
|
124
|
+
name: s.name,
|
|
125
|
+
data: s.data,
|
|
126
|
+
color: s.color,
|
|
127
|
+
})),
|
|
128
|
+
};
|
|
129
|
+
return this.generateChart(chartData, {
|
|
130
|
+
type: 'bar',
|
|
131
|
+
...options,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* 折れ線グラフを生成
|
|
136
|
+
*/
|
|
137
|
+
async generateLineChart(labels, series, options) {
|
|
138
|
+
const chartData = {
|
|
139
|
+
labels,
|
|
140
|
+
series: series.map(s => ({
|
|
141
|
+
name: s.name,
|
|
142
|
+
data: s.data,
|
|
143
|
+
color: s.color,
|
|
144
|
+
style: s.style,
|
|
145
|
+
marker: 'circle',
|
|
146
|
+
})),
|
|
147
|
+
};
|
|
148
|
+
return this.generateChart(chartData, {
|
|
149
|
+
type: 'line',
|
|
150
|
+
...options,
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* 円グラフを生成
|
|
155
|
+
*/
|
|
156
|
+
async generatePieChart(data, options) {
|
|
157
|
+
const chartData = {
|
|
158
|
+
labels: data.map(d => d.label),
|
|
159
|
+
series: [
|
|
160
|
+
{
|
|
161
|
+
name: 'data',
|
|
162
|
+
data: data.map(d => ({
|
|
163
|
+
label: d.label,
|
|
164
|
+
value: d.value,
|
|
165
|
+
color: d.color,
|
|
166
|
+
})),
|
|
167
|
+
},
|
|
168
|
+
],
|
|
169
|
+
};
|
|
170
|
+
return this.generateChart(chartData, {
|
|
171
|
+
type: options?.isDoughnut ? 'doughnut' : 'pie',
|
|
172
|
+
showValues: true,
|
|
173
|
+
...options,
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* 散布図を生成
|
|
178
|
+
*/
|
|
179
|
+
async generateScatterChart(series, options) {
|
|
180
|
+
const chartData = {
|
|
181
|
+
series: series.map(s => ({
|
|
182
|
+
name: s.name,
|
|
183
|
+
data: s.data.map(d => ({
|
|
184
|
+
label: String(d.x),
|
|
185
|
+
value: d.y,
|
|
186
|
+
value2: d.size,
|
|
187
|
+
})),
|
|
188
|
+
color: s.color,
|
|
189
|
+
})),
|
|
190
|
+
};
|
|
191
|
+
return this.generateChart(chartData, {
|
|
192
|
+
type: 'scatter',
|
|
193
|
+
...options,
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* エリアチャートを生成
|
|
198
|
+
*/
|
|
199
|
+
async generateAreaChart(labels, series, options) {
|
|
200
|
+
const chartData = {
|
|
201
|
+
labels,
|
|
202
|
+
series: series.map(s => ({
|
|
203
|
+
name: s.name,
|
|
204
|
+
data: s.data,
|
|
205
|
+
color: s.color,
|
|
206
|
+
})),
|
|
207
|
+
};
|
|
208
|
+
return this.generateChart(chartData, {
|
|
209
|
+
type: 'area',
|
|
210
|
+
...options,
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* レーダーチャートを生成
|
|
215
|
+
*/
|
|
216
|
+
async generateRadarChart(labels, series, options) {
|
|
217
|
+
const chartData = {
|
|
218
|
+
labels,
|
|
219
|
+
series: series.map(s => ({
|
|
220
|
+
name: s.name,
|
|
221
|
+
data: s.data,
|
|
222
|
+
color: s.color,
|
|
223
|
+
})),
|
|
224
|
+
};
|
|
225
|
+
return this.generateChart(chartData, {
|
|
226
|
+
type: 'radar',
|
|
227
|
+
...options,
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* 複合チャートを生成
|
|
232
|
+
*/
|
|
233
|
+
async generateComboChart(labels, barSeries, lineSeries, options) {
|
|
234
|
+
// 複合チャートはSVGを手動で構築
|
|
235
|
+
const barOptions = {
|
|
236
|
+
type: 'bar',
|
|
237
|
+
...options,
|
|
238
|
+
};
|
|
239
|
+
const chartData = {
|
|
240
|
+
labels,
|
|
241
|
+
series: [
|
|
242
|
+
...barSeries.map(s => ({ ...s, data: s.data })),
|
|
243
|
+
...lineSeries.map(s => ({ ...s, data: s.data, style: 'solid' })),
|
|
244
|
+
],
|
|
245
|
+
};
|
|
246
|
+
// TODO: 複合チャートの実装を改善
|
|
247
|
+
return this.generateChart(chartData, barOptions);
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* データの検証
|
|
251
|
+
*/
|
|
252
|
+
validateData(data) {
|
|
253
|
+
if (!data || typeof data !== 'object') {
|
|
254
|
+
throw new ChartGeneratorError(CHART_ERROR_CODES.INVALID_DATA, 'Data must be an object');
|
|
255
|
+
}
|
|
256
|
+
const d = data;
|
|
257
|
+
if (!Array.isArray(d.series)) {
|
|
258
|
+
throw new ChartGeneratorError(CHART_ERROR_CODES.INVALID_DATA, 'Data must have a series array');
|
|
259
|
+
}
|
|
260
|
+
return data;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* チャートデータの検証
|
|
264
|
+
*/
|
|
265
|
+
validateChartData(data) {
|
|
266
|
+
if (!data.series || data.series.length === 0) {
|
|
267
|
+
throw new ChartGeneratorError(CHART_ERROR_CODES.INVALID_DATA, 'Chart data must have at least one series');
|
|
268
|
+
}
|
|
269
|
+
for (const series of data.series) {
|
|
270
|
+
if (!series.name) {
|
|
271
|
+
throw new ChartGeneratorError(CHART_ERROR_CODES.INVALID_DATA, 'Each series must have a name');
|
|
272
|
+
}
|
|
273
|
+
if (!series.data || !Array.isArray(series.data)) {
|
|
274
|
+
throw new ChartGeneratorError(CHART_ERROR_CODES.INVALID_DATA, `Series "${series.name}" must have a data array`);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* オプションの検証
|
|
280
|
+
*/
|
|
281
|
+
validateOptions(options) {
|
|
282
|
+
const validTypes = [
|
|
283
|
+
'bar',
|
|
284
|
+
'line',
|
|
285
|
+
'pie',
|
|
286
|
+
'doughnut',
|
|
287
|
+
'scatter',
|
|
288
|
+
'area',
|
|
289
|
+
'radar',
|
|
290
|
+
'bubble',
|
|
291
|
+
];
|
|
292
|
+
if (!validTypes.includes(options.type)) {
|
|
293
|
+
throw new ChartGeneratorError(CHART_ERROR_CODES.INVALID_TYPE, `Invalid chart type: ${options.type}. Valid types: ${validTypes.join(', ')}`);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* ChartConfig.typeをChartTypeにマップ
|
|
298
|
+
*/
|
|
299
|
+
mapChartType(type) {
|
|
300
|
+
switch (type) {
|
|
301
|
+
case 'bar':
|
|
302
|
+
return 'bar';
|
|
303
|
+
case 'line':
|
|
304
|
+
return 'line';
|
|
305
|
+
case 'pie':
|
|
306
|
+
return 'pie';
|
|
307
|
+
case 'scatter':
|
|
308
|
+
return 'scatter';
|
|
309
|
+
case 'mermaid':
|
|
310
|
+
// Mermaidはダイアグラムなのでデフォルトで棒グラフ
|
|
311
|
+
return 'bar';
|
|
312
|
+
default:
|
|
313
|
+
return 'bar';
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* SVGをPNGに変換(Node.js環境用)
|
|
318
|
+
*/
|
|
319
|
+
async convertToPng(_svg, options) {
|
|
320
|
+
// TODO: sharp等のライブラリを使用してPNG変換を実装
|
|
321
|
+
// 現時点ではプレースホルダー
|
|
322
|
+
const width = options.width ?? this.config.defaultWidth;
|
|
323
|
+
const height = options.height ?? this.config.defaultHeight;
|
|
324
|
+
// 空のPNGバッファを返す(実際の実装では変換が必要)
|
|
325
|
+
return Buffer.from(`PNG placeholder: ${width}x${height}`, 'utf-8');
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
//# sourceMappingURL=ChartGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChartGenerator.js","sourceRoot":"","sources":["../../src/chart/ChartGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DiagramGenerator
|
|
3
|
+
* Mermaidダイアグラムの生成
|
|
4
|
+
* REQ-MEDIA-002-002: ダイアグラム生成
|
|
5
|
+
*/
|
|
6
|
+
import { type Result } from '@nahisaho/katashiro-core';
|
|
7
|
+
import type { DiagramOptions, DiagramOutput, DiagramType, OutputFormat } from './types.js';
|
|
8
|
+
import { type FlowchartData, type SequenceData, type ClassDiagramData, type GanttData } from './MermaidBuilder.js';
|
|
9
|
+
/**
|
|
10
|
+
* ダイアグラムジェネレータークラス
|
|
11
|
+
* Mermaidを使用して各種ダイアグラムを生成
|
|
12
|
+
*/
|
|
13
|
+
export declare class DiagramGenerator {
|
|
14
|
+
private readonly mermaidBuilder;
|
|
15
|
+
private readonly defaultWidth;
|
|
16
|
+
private readonly defaultHeight;
|
|
17
|
+
constructor(options?: {
|
|
18
|
+
defaultWidth?: number;
|
|
19
|
+
defaultHeight?: number;
|
|
20
|
+
});
|
|
21
|
+
/**
|
|
22
|
+
* Mermaid定義からダイアグラムを生成
|
|
23
|
+
* @param definition Mermaid定義文字列
|
|
24
|
+
* @param options オプション
|
|
25
|
+
* @returns 生成結果
|
|
26
|
+
*/
|
|
27
|
+
generate(definition: string, options?: DiagramOptions): Promise<Result<DiagramOutput, Error>>;
|
|
28
|
+
/**
|
|
29
|
+
* フローチャートを生成
|
|
30
|
+
*/
|
|
31
|
+
generateFlowchart(data: FlowchartData, options?: DiagramOptions): Promise<Result<DiagramOutput, Error>>;
|
|
32
|
+
/**
|
|
33
|
+
* シーケンス図を生成
|
|
34
|
+
*/
|
|
35
|
+
generateSequenceDiagram(data: SequenceData, options?: DiagramOptions): Promise<Result<DiagramOutput, Error>>;
|
|
36
|
+
/**
|
|
37
|
+
* クラス図を生成
|
|
38
|
+
*/
|
|
39
|
+
generateClassDiagram(data: ClassDiagramData, options?: DiagramOptions): Promise<Result<DiagramOutput, Error>>;
|
|
40
|
+
/**
|
|
41
|
+
* 状態図を生成
|
|
42
|
+
*/
|
|
43
|
+
generateStateDiagram(states: Array<{
|
|
44
|
+
id: string;
|
|
45
|
+
label?: string;
|
|
46
|
+
type?: 'start' | 'end' | 'choice' | 'fork' | 'join';
|
|
47
|
+
}>, transitions: Array<{
|
|
48
|
+
from: string;
|
|
49
|
+
to: string;
|
|
50
|
+
label?: string;
|
|
51
|
+
}>, options?: DiagramOptions): Promise<Result<DiagramOutput, Error>>;
|
|
52
|
+
/**
|
|
53
|
+
* ER図を生成
|
|
54
|
+
*/
|
|
55
|
+
generateErDiagram(entities: Array<{
|
|
56
|
+
name: string;
|
|
57
|
+
attributes: Array<{
|
|
58
|
+
name: string;
|
|
59
|
+
type: string;
|
|
60
|
+
key?: 'PK' | 'FK' | 'UK';
|
|
61
|
+
}>;
|
|
62
|
+
}>, relationships: Array<{
|
|
63
|
+
from: string;
|
|
64
|
+
to: string;
|
|
65
|
+
relation: string;
|
|
66
|
+
fromCardinality: '|o' | '||' | '}o' | '}|';
|
|
67
|
+
toCardinality: 'o|' | '||' | 'o{' | '|{';
|
|
68
|
+
}>, options?: DiagramOptions): Promise<Result<DiagramOutput, Error>>;
|
|
69
|
+
/**
|
|
70
|
+
* ガントチャートを生成
|
|
71
|
+
*/
|
|
72
|
+
generateGanttChart(data: GanttData, options?: DiagramOptions): Promise<Result<DiagramOutput, Error>>;
|
|
73
|
+
/**
|
|
74
|
+
* パイチャート(Mermaid版)を生成
|
|
75
|
+
*/
|
|
76
|
+
generatePieChart(data: Array<{
|
|
77
|
+
label: string;
|
|
78
|
+
value: number;
|
|
79
|
+
}>, options?: DiagramOptions): Promise<Result<DiagramOutput, Error>>;
|
|
80
|
+
/**
|
|
81
|
+
* マインドマップを生成
|
|
82
|
+
*/
|
|
83
|
+
generateMindmap(root: string, children: Array<{
|
|
84
|
+
text: string;
|
|
85
|
+
children?: Array<{
|
|
86
|
+
text: string;
|
|
87
|
+
children?: Array<{
|
|
88
|
+
text: string;
|
|
89
|
+
}>;
|
|
90
|
+
}>;
|
|
91
|
+
}>, options?: DiagramOptions): Promise<Result<DiagramOutput, Error>>;
|
|
92
|
+
/**
|
|
93
|
+
* タイムラインを生成
|
|
94
|
+
*/
|
|
95
|
+
generateTimeline(title: string, sections: Array<{
|
|
96
|
+
period: string;
|
|
97
|
+
events: string[];
|
|
98
|
+
}>, options?: DiagramOptions): Promise<Result<DiagramOutput, Error>>;
|
|
99
|
+
/**
|
|
100
|
+
* Gitグラフを生成
|
|
101
|
+
*/
|
|
102
|
+
generateGitGraph(commits: Array<{
|
|
103
|
+
id?: string;
|
|
104
|
+
type: 'commit' | 'branch' | 'checkout' | 'merge';
|
|
105
|
+
message?: string;
|
|
106
|
+
tag?: string;
|
|
107
|
+
branch?: string;
|
|
108
|
+
}>, options?: DiagramOptions): Promise<Result<DiagramOutput, Error>>;
|
|
109
|
+
/**
|
|
110
|
+
* ダイアグラムタイプを判定
|
|
111
|
+
*/
|
|
112
|
+
detectDiagramType(definition: string): DiagramType;
|
|
113
|
+
/**
|
|
114
|
+
* Mermaid定義を検証
|
|
115
|
+
*/
|
|
116
|
+
validateDefinition(definition: string): {
|
|
117
|
+
valid: boolean;
|
|
118
|
+
error?: string;
|
|
119
|
+
};
|
|
120
|
+
/**
|
|
121
|
+
* MermaidをSVGにレンダリング
|
|
122
|
+
*/
|
|
123
|
+
private renderMermaid;
|
|
124
|
+
/**
|
|
125
|
+
* フローチャートデータの検証
|
|
126
|
+
*/
|
|
127
|
+
private validateFlowchartData;
|
|
128
|
+
/**
|
|
129
|
+
* シーケンス図データの検証
|
|
130
|
+
*/
|
|
131
|
+
private validateSequenceData;
|
|
132
|
+
/**
|
|
133
|
+
* クラス図データの検証
|
|
134
|
+
*/
|
|
135
|
+
private validateClassDiagramData;
|
|
136
|
+
/**
|
|
137
|
+
* PNGフォーマットへの変換(未実装)
|
|
138
|
+
*/
|
|
139
|
+
convertToPng(_diagramOutput: DiagramOutput, _format: OutputFormat): Promise<Buffer>;
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=DiagramGenerator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DiagramGenerator.d.ts","sourceRoot":"","sources":["../../src/chart/DiagramGenerator.ts"],"names":[],"mappings":"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"}
|