@luutuankiet/gsd-reader 0.2.10 → 0.2.11
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/README.md +6 -4
- package/cli.cjs +59 -11
- package/dist/assets/{_baseUniq-CAxsECAU.js → _baseUniq-aGI9_DhB.js} +1 -1
- package/dist/assets/{arc--hCWNMtj.js → arc-C9UKAJtn.js} +1 -1
- package/dist/assets/{architectureDiagram-VXUJARFQ-Cue7VPN4.js → architectureDiagram-VXUJARFQ-CRD0ULZt.js} +1 -1
- package/dist/assets/{blockDiagram-VD42YOAC-D8tdc-Oh.js → blockDiagram-VD42YOAC-Wb_l0Iex.js} +1 -1
- package/dist/assets/{c4Diagram-YG6GDRKO-BVfpEVXF.js → c4Diagram-YG6GDRKO-DH4oSOae.js} +1 -1
- package/dist/assets/channel-BsRBciHH.js +1 -0
- package/dist/assets/{chunk-4BX2VUAB-sryqshFW.js → chunk-4BX2VUAB-SvMJI_zY.js} +1 -1
- package/dist/assets/{chunk-55IACEB6-CdVKFtJS.js → chunk-55IACEB6-DQiT0MId.js} +1 -1
- package/dist/assets/{chunk-B4BG7PRW-BzqhCfm_.js → chunk-B4BG7PRW-B1_-y9uC.js} +1 -1
- package/dist/assets/{chunk-DI55MBZ5-CMeNQ4zx.js → chunk-DI55MBZ5-CrZfOEF4.js} +1 -1
- package/dist/assets/{chunk-FMBD7UC4-DhpHQnC2.js → chunk-FMBD7UC4-DvOcXy-z.js} +1 -1
- package/dist/assets/{chunk-QN33PNHL-Bp9aQMig.js → chunk-QN33PNHL-4I5UUaOA.js} +1 -1
- package/dist/assets/{chunk-QZHKN3VN-Cv8H3m60.js → chunk-QZHKN3VN-Ga9M0i4r.js} +1 -1
- package/dist/assets/{chunk-TZMSLE5B-CfMQUbCb.js → chunk-TZMSLE5B-Dcmg8rey.js} +1 -1
- package/dist/assets/classDiagram-2ON5EDUG-Bj9r43W4.js +1 -0
- package/dist/assets/classDiagram-v2-WZHVMYZB-Bj9r43W4.js +1 -0
- package/dist/assets/clone-TaLAI51q.js +1 -0
- package/dist/assets/{cose-bilkent-S5V4N54A-4Pz2hynZ.js → cose-bilkent-S5V4N54A-Dcq3o5oY.js} +1 -1
- package/dist/assets/{dagre-6UL2VRFP-CuaQ2UbK.js → dagre-6UL2VRFP-BpDHHm36.js} +1 -1
- package/dist/assets/{diagram-PSM6KHXK-zvrXgnlI.js → diagram-PSM6KHXK-BpYME6ui.js} +1 -1
- package/dist/assets/{diagram-QEK2KX5R-CaV-fPrg.js → diagram-QEK2KX5R-CgISAdJK.js} +1 -1
- package/dist/assets/{diagram-S2PKOQOG-Df-mzRR0.js → diagram-S2PKOQOG-BuKA1NfZ.js} +1 -1
- package/dist/assets/{erDiagram-Q2GNP2WA-BHN4N5IV.js → erDiagram-Q2GNP2WA-Z6Sx__vC.js} +1 -1
- package/dist/assets/{flowDiagram-NV44I4VS-mEd3cOXH.js → flowDiagram-NV44I4VS-JOidSRqJ.js} +1 -1
- package/dist/assets/{ganttDiagram-JELNMOA3-CwmhCB9s.js → ganttDiagram-JELNMOA3-BFQAQYk8.js} +1 -1
- package/dist/assets/{gitGraphDiagram-NY62KEGX-DXhPyefk.js → gitGraphDiagram-NY62KEGX-31kl3IE3.js} +1 -1
- package/dist/assets/{graph-nhXmozHk.js → graph-DGK29sai.js} +1 -1
- package/dist/assets/index-D4LhVyUv.js +692 -0
- package/dist/assets/{infoDiagram-WHAUD3N6-DUcujpWE.js → infoDiagram-WHAUD3N6-CJpRZyVv.js} +1 -1
- package/dist/assets/{journeyDiagram-XKPGCS4Q-BR4LZFi2.js → journeyDiagram-XKPGCS4Q-CUVwYx2w.js} +1 -1
- package/dist/assets/{kanban-definition-3W4ZIXB7-EjlkWCMV.js → kanban-definition-3W4ZIXB7-_1WnO7iq.js} +1 -1
- package/dist/assets/{layout-B3mrchfj.js → layout-CY4PrZyj.js} +1 -1
- package/dist/assets/{linear-Ct-gwwhf.js → linear-4j9KyBLB.js} +1 -1
- package/dist/assets/{mermaid.core-BjP1GMmj.js → mermaid.core-BM6CC-A6.js} +4 -4
- package/dist/assets/{min-Duhe34sA.js → min-DW0-ouHL.js} +1 -1
- package/dist/assets/{mindmap-definition-VGOIOE7T-D1rcLjzw.js → mindmap-definition-VGOIOE7T-DTTAkdDI.js} +1 -1
- package/dist/assets/{pieDiagram-ADFJNKIX-D_f_57E8.js → pieDiagram-ADFJNKIX-D9M3Moao.js} +1 -1
- package/dist/assets/{quadrantDiagram-AYHSOK5B-BoVWO1DJ.js → quadrantDiagram-AYHSOK5B-B8p4nRBT.js} +1 -1
- package/dist/assets/{requirementDiagram-UZGBJVZJ-BpD1MSJ4.js → requirementDiagram-UZGBJVZJ-DP5M0LtN.js} +1 -1
- package/dist/assets/{sankeyDiagram-TZEHDZUN-B4WQ8rbG.js → sankeyDiagram-TZEHDZUN-nDEWjeeV.js} +1 -1
- package/dist/assets/{sequenceDiagram-WL72ISMW-Ds70GW_6.js → sequenceDiagram-WL72ISMW-CeYSXM0n.js} +1 -1
- package/dist/assets/{stateDiagram-FKZM4ZOC-BtwZjuZ2.js → stateDiagram-FKZM4ZOC-Cx3NYkkw.js} +1 -1
- package/dist/assets/stateDiagram-v2-4FDKWEC3-vQq6QPBk.js +1 -0
- package/dist/assets/{timeline-definition-IT6M3QCI-BzD-PpOn.js → timeline-definition-IT6M3QCI-jkkwPIAA.js} +1 -1
- package/dist/assets/{treemap-KMMF4GRG-Bc1dJLhK.js → treemap-KMMF4GRG-TRgdlFA4.js} +1 -1
- package/dist/assets/{xychartDiagram-PRI3JC2R-BkQNzhid.js → xychartDiagram-PRI3JC2R-D1lRj5eS.js} +1 -1
- package/dist/index.html +340 -10
- package/package.json +1 -1
- package/dist/assets/channel-DF_AatLX.js +0 -1
- package/dist/assets/classDiagram-2ON5EDUG-BDb3NBYL.js +0 -1
- package/dist/assets/classDiagram-v2-WZHVMYZB-BDb3NBYL.js +0 -1
- package/dist/assets/clone-DeRRbZtN.js +0 -1
- package/dist/assets/index-DKfT9XYb.js +0 -627
- package/dist/assets/stateDiagram-v2-4FDKWEC3-BE_THtTe.js +0 -1
package/README.md
CHANGED
|
@@ -21,9 +21,11 @@ Then open http://localhost:3000 — the page auto-refreshes when WORK.md changes
|
|
|
21
21
|
|
|
22
22
|
## Features
|
|
23
23
|
|
|
24
|
-
- 🔥 **Hot Reload** — Browser updates instantly when WORK.md
|
|
24
|
+
- 🔥 **Hot Reload** — Browser updates instantly when `WORK.md`, `PROJECT.md`, or `ARCHITECTURE.md` changes
|
|
25
25
|
- 📊 **Mermaid Diagrams** — Native SVG rendering with error handling
|
|
26
26
|
- 🎨 **Full Markdown** — Tables, code blocks, lists, links, strikethrough
|
|
27
|
+
- 🧩 **Multi-Doc View** — Single page sequence: `PROJECT.md` → `ARCHITECTURE.md` → `WORK.md`
|
|
28
|
+
- 📋 **Copy Selected Sections** — Select root sections/logs from outline and copy markdown for LLM prompts
|
|
27
29
|
- 📱 **Mobile Ready** — Responsive layout, touch-friendly navigation
|
|
28
30
|
- ⚡ **Fast** — Vite's instant HMR, sub-second rebuilds
|
|
29
31
|
|
|
@@ -31,9 +33,9 @@ Then open http://localhost:3000 — the page auto-refreshes when WORK.md changes
|
|
|
31
33
|
|
|
32
34
|
The Vite plugin (`src/vite-plugin-worklog.ts`) does three things:
|
|
33
35
|
|
|
34
|
-
1. **Watches** — Uses chokidar to monitor
|
|
35
|
-
2. **Serves** — Exposes `/_worklog
|
|
36
|
-
3. **Pushes** — Sends HMR events to the browser when
|
|
36
|
+
1. **Watches** — Uses chokidar to monitor `WORK.md` and sibling `PROJECT.md` / `ARCHITECTURE.md`
|
|
37
|
+
2. **Serves** — Exposes `/_worklog`, `/_project`, `/_architecture` endpoints
|
|
38
|
+
3. **Pushes** — Sends HMR events to the browser when any of those files change
|
|
37
39
|
|
|
38
40
|
```
|
|
39
41
|
┌─────────────────┐ ┌──────────────────────┐ ┌─────────────┐
|
package/cli.cjs
CHANGED
|
@@ -70,6 +70,8 @@ async function commandDump() {
|
|
|
70
70
|
// Resolve paths
|
|
71
71
|
const resolvedWorklog = path.resolve(worklogPath);
|
|
72
72
|
const projectDir = path.dirname(resolvedWorklog);
|
|
73
|
+
const resolvedProject = path.join(projectDir, 'PROJECT.md');
|
|
74
|
+
const resolvedArchitecture = path.join(projectDir, 'ARCHITECTURE.md');
|
|
73
75
|
|
|
74
76
|
// Derive project name from path (last 2 segments)
|
|
75
77
|
const pathParts = projectDir.split(path.sep).filter(Boolean);
|
|
@@ -102,8 +104,10 @@ async function commandDump() {
|
|
|
102
104
|
// Copy dist directory
|
|
103
105
|
fs.cpSync(distDir, tempDist, { recursive: true });
|
|
104
106
|
|
|
105
|
-
// Read
|
|
107
|
+
// Read markdown artifacts and inject into HTML
|
|
106
108
|
const worklogContent = fs.readFileSync(resolvedWorklog, 'utf-8');
|
|
109
|
+
const projectContent = fs.existsSync(resolvedProject) ? fs.readFileSync(resolvedProject, 'utf-8') : '';
|
|
110
|
+
const architectureContent = fs.existsSync(resolvedArchitecture) ? fs.readFileSync(resolvedArchitecture, 'utf-8') : '';
|
|
107
111
|
const indexPath = path.join(tempDist, 'index.html');
|
|
108
112
|
let indexHtml = fs.readFileSync(indexPath, 'utf-8');
|
|
109
113
|
|
|
@@ -112,11 +116,11 @@ async function commandDump() {
|
|
|
112
116
|
indexHtml = indexHtml.replace(/href="\//g, 'href="./');
|
|
113
117
|
indexHtml = indexHtml.replace(/src="\//g, 'src="./');
|
|
114
118
|
|
|
115
|
-
// Inject
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
const
|
|
119
|
-
const injectScript = `<script>window.__WORKLOG_CONTENT_B64__ = "${
|
|
119
|
+
// Inject content as Base64 to avoid escaping issues with markdown payloads
|
|
120
|
+
const worklogBase64 = Buffer.from(worklogContent, 'utf-8').toString('base64');
|
|
121
|
+
const projectBase64 = Buffer.from(projectContent, 'utf-8').toString('base64');
|
|
122
|
+
const architectureBase64 = Buffer.from(architectureContent, 'utf-8').toString('base64');
|
|
123
|
+
const injectScript = `<script>window.__WORKLOG_CONTENT_B64__ = "${worklogBase64}";window.__PROJECT_CONTENT_B64__ = "${projectBase64}";window.__ARCHITECTURE_CONTENT_B64__ = "${architectureBase64}";</script>`;
|
|
120
124
|
indexHtml = indexHtml.replace('</head>', `${injectScript}\n</head>`);
|
|
121
125
|
fs.writeFileSync(indexPath, indexHtml);
|
|
122
126
|
|
|
@@ -271,6 +275,9 @@ function commandServe() {
|
|
|
271
275
|
const PORT = parseInt(portArg || process.env.PORT || '3000', 10);
|
|
272
276
|
const WORKLOG = positionalArgs[0] || './gsd-lite/WORK.md';
|
|
273
277
|
const WORKLOG_PATH = path.resolve(WORKLOG);
|
|
278
|
+
const ARTIFACT_DIR = path.dirname(WORKLOG_PATH);
|
|
279
|
+
const PROJECT_PATH = path.join(ARTIFACT_DIR, 'PROJECT.md');
|
|
280
|
+
const ARCHITECTURE_PATH = path.join(ARTIFACT_DIR, 'ARCHITECTURE.md');
|
|
274
281
|
|
|
275
282
|
// Static assets directory (bundled with this package)
|
|
276
283
|
const DIST = path.join(__dirname, 'dist');
|
|
@@ -311,6 +318,34 @@ function commandServe() {
|
|
|
311
318
|
return;
|
|
312
319
|
}
|
|
313
320
|
|
|
321
|
+
if (pathname === '/_project') {
|
|
322
|
+
try {
|
|
323
|
+
const content = fs.readFileSync(PROJECT_PATH, 'utf-8');
|
|
324
|
+
res.setHeader('Content-Type', 'text/plain; charset=utf-8');
|
|
325
|
+
res.setHeader('Cache-Control', 'no-cache');
|
|
326
|
+
res.end(content);
|
|
327
|
+
} catch (err) {
|
|
328
|
+
res.statusCode = 404;
|
|
329
|
+
res.setHeader('Content-Type', 'text/plain');
|
|
330
|
+
res.end(`PROJECT.md not found: ${PROJECT_PATH}\n\nError: ${err.message}`);
|
|
331
|
+
}
|
|
332
|
+
return;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
if (pathname === '/_architecture') {
|
|
336
|
+
try {
|
|
337
|
+
const content = fs.readFileSync(ARCHITECTURE_PATH, 'utf-8');
|
|
338
|
+
res.setHeader('Content-Type', 'text/plain; charset=utf-8');
|
|
339
|
+
res.setHeader('Cache-Control', 'no-cache');
|
|
340
|
+
res.end(content);
|
|
341
|
+
} catch (err) {
|
|
342
|
+
res.statusCode = 404;
|
|
343
|
+
res.setHeader('Content-Type', 'text/plain');
|
|
344
|
+
res.end(`ARCHITECTURE.md not found: ${ARCHITECTURE_PATH}\n\nError: ${err.message}`);
|
|
345
|
+
}
|
|
346
|
+
return;
|
|
347
|
+
}
|
|
348
|
+
|
|
314
349
|
// Static file serving from dist/
|
|
315
350
|
let filePath = pathname === '/' ? '/index.html' : pathname;
|
|
316
351
|
const fullPath = path.join(DIST, filePath);
|
|
@@ -342,11 +377,17 @@ function commandServe() {
|
|
|
342
377
|
|
|
343
378
|
function serveFile(filePath, ext, res, mimeTypes) {
|
|
344
379
|
const mimeType = mimeTypes[ext] || 'application/octet-stream';
|
|
345
|
-
|
|
380
|
+
|
|
346
381
|
try {
|
|
347
382
|
const content = fs.readFileSync(filePath);
|
|
348
383
|
res.setHeader('Content-Type', mimeType);
|
|
349
|
-
|
|
384
|
+
|
|
385
|
+
// Avoid stale UI when switching between CLI serve and Vite dev on same origin.
|
|
386
|
+
// Keep all assets non-cacheable in local serve mode for predictable reload behavior.
|
|
387
|
+
res.setHeader('Cache-Control', 'no-cache, no-store, must-revalidate');
|
|
388
|
+
res.setHeader('Pragma', 'no-cache');
|
|
389
|
+
res.setHeader('Expires', '0');
|
|
390
|
+
|
|
350
391
|
res.end(content);
|
|
351
392
|
} catch (err) {
|
|
352
393
|
res.statusCode = 500;
|
|
@@ -388,8 +429,8 @@ function commandServe() {
|
|
|
388
429
|
process.exit(1);
|
|
389
430
|
}
|
|
390
431
|
|
|
391
|
-
// Watch
|
|
392
|
-
const watcher = chokidar.watch(WORKLOG_PATH, {
|
|
432
|
+
// Watch markdown artifacts
|
|
433
|
+
const watcher = chokidar.watch([WORKLOG_PATH, PROJECT_PATH, ARCHITECTURE_PATH], {
|
|
393
434
|
persistent: true,
|
|
394
435
|
ignoreInitial: true,
|
|
395
436
|
awaitWriteFinish: {
|
|
@@ -403,6 +444,11 @@ function commandServe() {
|
|
|
403
444
|
broadcastReload();
|
|
404
445
|
});
|
|
405
446
|
|
|
447
|
+
watcher.on('add', (filepath) => {
|
|
448
|
+
console.log(`[gsd-reader] ${path.basename(filepath)} created`);
|
|
449
|
+
broadcastReload();
|
|
450
|
+
});
|
|
451
|
+
|
|
406
452
|
watcher.on('error', (error) => {
|
|
407
453
|
console.error('[gsd-reader] Watcher error:', error.message);
|
|
408
454
|
});
|
|
@@ -419,7 +465,9 @@ function commandServe() {
|
|
|
419
465
|
console.log('│ Press Ctrl+C to stop │');
|
|
420
466
|
console.log('└─────────────────────────────────────────────────────┘');
|
|
421
467
|
console.log('');
|
|
422
|
-
console.log(`[gsd-reader]
|
|
468
|
+
console.log(`[gsd-reader] WORK path: ${WORKLOG_PATH}`);
|
|
469
|
+
console.log(`[gsd-reader] PROJECT path: ${PROJECT_PATH}`);
|
|
470
|
+
console.log(`[gsd-reader] ARCH path: ${ARCHITECTURE_PATH}`);
|
|
423
471
|
});
|
|
424
472
|
|
|
425
473
|
// Graceful shutdown
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{aU as L,bq as ln,aE as A,aS as P,aD as z,br as gn,bs as dn,bt as hn,bu as W,bv as pn,bl as An,bw as m,aV as N,a_ as U,b1 as T,bx as _n,aY as on,by as wn,bo as On,aF as V,bm as vn,bz as I}from"./mermaid.core-
|
|
1
|
+
import{aU as L,bq as ln,aE as A,aS as P,aD as z,br as gn,bs as dn,bt as hn,bu as W,bv as pn,bl as An,bw as m,aV as N,a_ as U,b1 as T,bx as _n,aY as on,by as wn,bo as On,aF as V,bm as vn,bz as I}from"./mermaid.core-BM6CC-A6.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||L(n)&&ln(n)==Pn}function yn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var B=P?P.prototype:void 0,K=B?B.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return yn(n,k)+"";if(x(n))return K?K.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function En(){}function bn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function cn(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function Tn(n){return n!==n}function Rn(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function In(n,r,e){return r===r?Rn(n,r,e):cn(n,Tn,e)}function Sn(n,r){var e=n==null?0:n.length;return!!e&&In(n,r,0)>-1}function M(n){return z(n)?gn(n):dn(n)}var Ln=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xn=/^\w*$/;function $(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||x(n)?!0:xn.test(n)||!Ln.test(n)||r!=null&&n in Object(r)}var Mn=500;function $n(n){var r=hn(n,function(i){return e.size===Mn&&e.clear(),i}),e=r.cache;return r}var Cn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Dn=/\\(\\)?/g,Fn=$n(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Cn,function(e,i,f,t){r.push(f?t.replace(Dn,"$1"):i||e)}),r});function Gn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:$(n,r)?[n]:Fn(Gn(n))}function R(n){if(typeof n=="string"||x(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[R(r[e++])];return e&&e==i?n:void 0}function mn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var H=P?P.isConcatSpreadable:void 0;function Nn(n){return A(n)||W(n)||!!(H&&n&&n[H])}function Hr(n,r,e,i,f){var t=-1,s=n.length;for(e||(e=Nn),f||(f=[]);++t<s;){var u=n[t];e(u)?rn(f,u):i||(f[f.length]=u)}return f}function Un(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var s=n[e];r(s,e,n)&&(t[f++]=s)}return t}function Bn(){return[]}var Kn=Object.prototype,Hn=Kn.propertyIsEnumerable,q=Object.getOwnPropertySymbols,qn=q?function(n){return n==null?[]:(n=Object(n),en(q(n),function(r){return Hn.call(n,r)}))}:Bn;function Yn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function Y(n){return Yn(n,M,qn)}var Zn="__lodash_hash_undefined__";function Xn(n){return this.__data__.set(n,Zn),this}function Jn(n){return this.__data__.has(n)}function y(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}y.prototype.add=y.prototype.push=Xn;y.prototype.has=Jn;function Qn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var zn=1,Wn=2;function fn(n,r,e,i,f,t){var s=e&zn,u=n.length,a=r.length;if(u!=a&&!(s&&a>u))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,o=e&Wn?new y:void 0;for(t.set(n,r),t.set(r,n);++l<u;){var p=n[l],_=r[l];if(i)var w=s?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(w!==void 0){if(w)continue;d=!1;break}if(o){if(!Qn(r,function(O,v){if(!tn(o,v)&&(p===O||f(p,O,e,i,t)))return o.push(v)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Vn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function C(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var kn=1,jn=2,nr="[object Boolean]",rr="[object Date]",er="[object Error]",ir="[object Map]",tr="[object Number]",fr="[object RegExp]",sr="[object Set]",ur="[object String]",ar="[object Symbol]",lr="[object ArrayBuffer]",gr="[object DataView]",Z=P?P.prototype:void 0,S=Z?Z.valueOf:void 0;function dr(n,r,e,i,f,t,s){switch(e){case gr:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case lr:return!(n.byteLength!=r.byteLength||!t(new m(n),new m(r)));case nr:case rr:case tr:return An(+n,+r);case er:return n.name==r.name&&n.message==r.message;case fr:case ur:return n==r+"";case ir:var u=Vn;case sr:var a=i&kn;if(u||(u=C),n.size!=r.size&&!a)return!1;var h=s.get(n);if(h)return h==r;i|=jn,s.set(n,r);var g=fn(u(n),u(r),i,f,t,s);return s.delete(n),g;case ar:if(S)return S.call(n)==S.call(r)}return!1}var hr=1,pr=Object.prototype,Ar=pr.hasOwnProperty;function _r(n,r,e,i,f,t){var s=e&hr,u=Y(n),a=u.length,h=Y(r),g=h.length;if(a!=g&&!s)return!1;for(var l=a;l--;){var d=u[l];if(!(s?d in r:Ar.call(r,d)))return!1}var o=t.get(n),p=t.get(r);if(o&&p)return o==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var w=s;++l<a;){d=u[l];var O=n[d],v=r[d];if(i)var G=s?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(G===void 0?O===v||f(O,v,e,i,t):G)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var E=n.constructor,b=r.constructor;E!=b&&"constructor"in n&&"constructor"in r&&!(typeof E=="function"&&E instanceof E&&typeof b=="function"&&b instanceof b)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,X="[object Arguments]",J="[object Array]",c="[object Object]",wr=Object.prototype,Q=wr.hasOwnProperty;function Or(n,r,e,i,f,t){var s=A(n),u=A(r),a=s?J:N(n),h=u?J:N(r);a=a==X?c:a,h=h==X?c:h;var g=a==c,l=h==c,d=a==h;if(d&&U(n)){if(!U(r))return!1;s=!0,g=!1}if(d&&!g)return t||(t=new T),s||_n(n)?fn(n,r,e,i,f,t):dr(n,r,a,e,i,f,t);if(!(e&or)){var o=g&&Q.call(n,"__wrapped__"),p=l&&Q.call(r,"__wrapped__");if(o||p){var _=o?n.value():n,w=p?r.value():r;return t||(t=new T),f(_,w,e,i,t)}}return d?(t||(t=new T),_r(n,r,e,i,f,t)):!1}function D(n,r,e,i,f){return n===r?!0:n==null||r==null||!L(n)&&!L(r)?n!==n&&r!==r:Or(n,r,e,i,D,f)}var vr=1,Pr=2;function yr(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var s=e[f];if(s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++f<t;){s=e[f];var u=s[0],a=n[u],h=s[1];if(s[2]){if(a===void 0&&!(u in n))return!1}else{var g=new T,l;if(!(l===void 0?D(h,a,vr|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function Er(n){for(var r=M(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,sn(f)]}return r}function un(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function br(n){var r=Er(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||yr(e,n,r)}}function cr(n,r){return n!=null&&r in Object(n)}function Tr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var s=R(r[i]);if(!(t=n!=null&&e(n,s)))break;n=n[s]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&On(s,f)&&(A(n)||W(n)))}function Rr(n,r){return n!=null&&Tr(n,r,cr)}var Ir=1,Sr=2;function Lr(n,r){return $(n)&&sn(r)?un(R(n),r):function(e){var i=mn(e,n);return i===void 0&&i===r?Rr(e,n):D(r,i,Ir|Sr)}}function xr(n){return function(r){return r==null?void 0:r[n]}}function Mr(n){return function(r){return nn(r,n)}}function $r(n){return $(n)?xr(R(n)):Mr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Lr(n[0],n[1]):br(n):$r(n)}function Cr(n,r){return n&&vn(n,r,M)}function Dr(n,r){return function(e,i){if(e==null)return e;if(!z(e))return n(e,i);for(var f=e.length,t=-1,s=Object(e);++t<f&&i(s[t],t,s)!==!1;);return e}}var F=Dr(Cr);function Fr(n){return typeof n=="function"?n:V}function qr(n,r){var e=A(n)?bn:F;return e(n,Fr(r))}function Gr(n,r){var e=[];return F(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Yr(n,r){var e=A(n)?en:Gr;return e(n,an(r))}function mr(n,r,e,i,f){return f(n,function(t,s,u){e=i?(i=!1,t):r(e,t,s,u)}),e}function Zr(n,r,e){var i=A(n)?Un:mr,f=arguments.length<3;return i(n,an(r),e,f,F)}var Nr=1/0,Ur=I&&1/C(new I([,-0]))[1]==Nr?function(n){return new I(n)}:En,Br=200;function Xr(n,r,e){var i=-1,f=Sn,t=n.length,s=!0,u=[],a=u;if(t>=Br){var h=r?null:Ur(n);if(h)return C(h);s=!1,f=tn,a=new y}else a=r?[]:u;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,s&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),u.push(g)}else f(a,l,e)||(a!==u&&a.push(l),u.push(g))}return u}export{F as a,Hr as b,an as c,yn as d,rn as e,Yn as f,qn as g,bn as h,x as i,Y as j,M as k,Xr as l,Yr as m,qr as n,cn as o,Fr as p,Cr as q,Zr as r,Bn as s,Tr as t,j as u,R as v,nn as w,Rr as x,Gn as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a0 as ln,a1 as an,a2 as H,a3 as q,a4 as B,a5 as un,a6 as y,a7 as tn,a8 as L,a9 as _,aa as rn,ab as o,ac as on,ad as sn,ae as fn}from"./mermaid.core-
|
|
1
|
+
import{a0 as ln,a1 as an,a2 as H,a3 as q,a4 as B,a5 as un,a6 as y,a7 as tn,a8 as L,a9 as _,aa as rn,ab as o,ac as on,ad as sn,ae as fn}from"./mermaid.core-BM6CC-A6.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,C,a){var O=I-l,i=D-h,n=C-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function W(l,h,I,D,v,A,C){var a=l-I,O=h-D,i=(C?A:-A)/L(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,F=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*L(on(0,T*T*R-P*P)),j=(P*g-m*S)/R,z=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=j-F,e=z-t,r=w-F,G=p-t;return x*x+e*e>r*r+G*G&&(j=w,z=p),{cx:j,cy:z,x01:-n,y01:-d,x11:j*(v/T-1),y11:z*(v/T-1)}}function hn(){var l=cn,h=yn,I=B(0),D=null,v=gn,A=dn,C=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,F=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(F>tn-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*H(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>y&&(D?+D.apply(this,arguments):L(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(z>y){var G=sn(z/u*q(j)),M=sn(z/s*q(j));(P-=G*2)>y?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>y?(M*=t?1:-1,m+=M,g-=M):(S=0,m=g=(f+c)/2)}var J=s*H(m),K=s*q(m),N=u*H(T),Q=u*q(T);if(w>y){var U=s*H(g),V=s*q(g),X=u*H(R),Y=u*q(R),E;if(F<an)if(E=pn(J,K,X,Y,U,V,N,Q)){var Z=J-E[0],$=K-E[1],b=U-E[0],k=V-E[1],nn=1/q(fn((Z*b+$*k)/(L(Z*Z+$*$)*L(b*b+k*k)))/2),en=L(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=W(X,Y,J,K,s,x,t),r=W(U,V,N,Q,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(J,K),a.arc(0,0,s,m,g,!t)):a.moveTo(J,K),!(u>y)||!(P>y)?a.lineTo(N,Q):p>y?(e=W(N,Q,U,V,u,-p,t),r=W(J,K,X,Y,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[H(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:B(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:B(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),i):A},i.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),i):C},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
|