difit 4.0.0 → 4.0.1
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.ja.md +15 -14
- package/README.ko.md +15 -14
- package/README.md +15 -14
- package/README.zh.md +15 -14
- package/dist/cli/index.js +16 -0
- package/dist/cli/index.test.js +125 -1
- package/dist/client/assets/{_basePickBy-B9N-f0iT.js → _basePickBy-ChXFkTMC.js} +1 -1
- package/dist/client/assets/{_baseUniq-tbL7nVvN.js → _baseUniq-Mj_sFFQW.js} +1 -1
- package/dist/client/assets/{arc-BOY-7mep.js → arc-BMA6S9F1.js} +1 -1
- package/dist/client/assets/{architectureDiagram-2XIMDMQ5-59AvHaSB.js → architectureDiagram-2XIMDMQ5-0uiM_v5K.js} +1 -1
- package/dist/client/assets/{blockDiagram-WCTKOSBZ-DXIlumQk.js → blockDiagram-WCTKOSBZ-CM7ZLL6F.js} +1 -1
- package/dist/client/assets/{c4Diagram-IC4MRINW-BbfZ0uRn.js → c4Diagram-IC4MRINW-DKtCnVwn.js} +1 -1
- package/dist/client/assets/channel-D057yzDp.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-l7rcB2IW.js → chunk-4BX2VUAB-Wsl8DxEB.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-CrZL3qv9.js → chunk-55IACEB6-CHm9X5i7.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-CrKv7ndg.js → chunk-FMBD7UC4-BSa8SHgd.js} +1 -1
- package/dist/client/assets/{chunk-JSJVCQXG-DyBDhAEM.js → chunk-JSJVCQXG-Cpk76oJ3.js} +1 -1
- package/dist/client/assets/{chunk-KX2RTZJC-By5mkZmU.js → chunk-KX2RTZJC-D8YvfZVu.js} +1 -1
- package/dist/client/assets/{chunk-NQ4KR5QH-C30p9xRx.js → chunk-NQ4KR5QH-BogviJOv.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-DVlhR2wU.js → chunk-QZHKN3VN-DwLJYu26.js} +1 -1
- package/dist/client/assets/{chunk-WL4C6EOR-Cn7a6CO3.js → chunk-WL4C6EOR-BFDpGxW2.js} +1 -1
- package/dist/client/assets/classDiagram-VBA2DB6C---D4iOts.js +1 -0
- package/dist/client/assets/classDiagram-v2-RAHNMMFH---D4iOts.js +1 -0
- package/dist/client/assets/clone-xSR3otEf.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-LyauIk_9.js → cose-bilkent-S5V4N54A-oEosZ_5y.js} +1 -1
- package/dist/client/assets/{dagre-KLK3FWXG-DRWb2KE3.js → dagre-KLK3FWXG-gFld4u1H.js} +1 -1
- package/dist/client/assets/{diagram-E7M64L7V-ChT6mNWK.js → diagram-E7M64L7V-gJq3kSrf.js} +1 -1
- package/dist/client/assets/{diagram-IFDJBPK2-CqbTduoP.js → diagram-IFDJBPK2-BsUm_q22.js} +1 -1
- package/dist/client/assets/{diagram-P4PSJMXO-Bzv5Z3ri.js → diagram-P4PSJMXO-juB-sfcR.js} +1 -1
- package/dist/client/assets/{erDiagram-INFDFZHY-CvXfUZ4L.js → erDiagram-INFDFZHY-Dn77qXAt.js} +1 -1
- package/dist/client/assets/{flowDiagram-PKNHOUZH-CxmpNUKq.js → flowDiagram-PKNHOUZH-DtmvDYdN.js} +1 -1
- package/dist/client/assets/{ganttDiagram-A5KZAMGK-9LpZCsg6.js → ganttDiagram-A5KZAMGK-BlDaKLbQ.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-K3NZZRJ6-C6yZOrQJ.js → gitGraphDiagram-K3NZZRJ6-DeAAeuMS.js} +1 -1
- package/dist/client/assets/{graph-bUZ7uHLW.js → graph-NX9gBP47.js} +1 -1
- package/dist/client/assets/{index-BLNN1bfE.js → index-kJdw4DY-.js} +15 -15
- package/dist/client/assets/{infoDiagram-LFFYTUFH-Djdy3W21.js → infoDiagram-LFFYTUFH-CAaX023c.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-PHBUUO56-oOdwCpeS.js → ishikawaDiagram-PHBUUO56-CmiTQStv.js} +1 -1
- package/dist/client/assets/{journeyDiagram-4ABVD52K-DTb_nGAw.js → journeyDiagram-4ABVD52K-B0SHC7mz.js} +1 -1
- package/dist/client/assets/{kanban-definition-K7BYSVSG-CMtP7pHA.js → kanban-definition-K7BYSVSG-IfRdhzz7.js} +1 -1
- package/dist/client/assets/{layout-CXr5MatK.js → layout-l3OdNQhJ.js} +1 -1
- package/dist/client/assets/{linear-pOMS9pjV.js → linear-CQ0hx5Qs.js} +1 -1
- package/dist/client/assets/{mermaid.core-DV5JJ1Ie.js → mermaid.core-DqlPTabt.js} +4 -4
- package/dist/client/assets/{mindmap-definition-YRQLILUH-DN-sbonc.js → mindmap-definition-YRQLILUH-DIgSmG_f.js} +1 -1
- package/dist/client/assets/{pieDiagram-SKSYHLDU-tAHCkgh1.js → pieDiagram-SKSYHLDU-FzM5qoIB.js} +1 -1
- package/dist/client/assets/{prism-csharp-5CQ0RcEE.js → prism-csharp-DCfUUOUs.js} +1 -1
- package/dist/client/assets/{prism-elixir-BSOTyVg2.js → prism-elixir-riuOL1mm.js} +1 -1
- package/dist/client/assets/{prism-hcl-BYvi1mtM.js → prism-hcl-CizuX1s4.js} +1 -1
- package/dist/client/assets/{prism-java-DMU2FM4X.js → prism-java-DYCKrDUh.js} +1 -1
- package/dist/client/assets/{prism-perl-CpfvaEQk.js → prism-perl-BJwBYR3Y.js} +1 -1
- package/dist/client/assets/{prism-php-SC920LoD.js → prism-php-BMhFuA7y.js} +1 -1
- package/dist/client/assets/{prism-ruby-DZph-YiO.js → prism-ruby-Bcu0cDEh.js} +1 -1
- package/dist/client/assets/{prism-solidity-qTLbmiAT.js → prism-solidity-DDDs3w-w.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-337W2JSQ-B0wODmgR.js → quadrantDiagram-337W2JSQ-BBrApyD7.js} +1 -1
- package/dist/client/assets/{requirementDiagram-Z7DCOOCP-A3aeHC06.js → requirementDiagram-Z7DCOOCP-CLXiwUaA.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-WA2Y5GQK-BWa6kZhG.js → sankeyDiagram-WA2Y5GQK-9Y3Ly5qe.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-2WXFIKYE-Cx_COX9G.js → sequenceDiagram-2WXFIKYE-DEpX1BA5.js} +1 -1
- package/dist/client/assets/{stateDiagram-RAJIS63D-BXGnN6rZ.js → stateDiagram-RAJIS63D-Ck3ullwA.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-FVOUBMTO-X6UiDsar.js +1 -0
- package/dist/client/assets/{timeline-definition-YZTLITO2-DbqaUm9k.js → timeline-definition-YZTLITO2-CMezf3XV.js} +1 -1
- package/dist/client/assets/{treemap-KZPCXAKY-CfEujPCR.js → treemap-KZPCXAKY-DqrcV0gQ.js} +1 -1
- package/dist/client/assets/{vennDiagram-LZ73GAT5-CqJE8CAD.js → vennDiagram-LZ73GAT5-eQg945Fz.js} +1 -1
- package/dist/client/assets/{xychartDiagram-JWTSCODW-CfdDvzHC.js → xychartDiagram-JWTSCODW-_hqdXeX1.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/git-diff-tui.d.ts +1 -1
- package/dist/server/git-diff-tui.js +7 -5
- package/dist/server/git-diff-tui.test.d.ts +1 -0
- package/dist/server/git-diff-tui.test.js +60 -0
- package/dist/server/git-diff.d.ts +3 -1
- package/dist/server/git-diff.js +40 -3
- package/dist/server/git-diff.test.js +20 -0
- package/dist/server/server.d.ts +1 -0
- package/dist/server/server.js +4 -3
- package/dist/server/server.test.js +32 -0
- package/dist/tui/App.d.ts +1 -0
- package/dist/tui/App.js +2 -2
- package/dist/types/diff.d.ts +1 -0
- package/package.json +1 -1
- package/dist/client/assets/channel-cZXsTJxA.js +0 -1
- package/dist/client/assets/classDiagram-VBA2DB6C-B_coIPEy.js +0 -1
- package/dist/client/assets/classDiagram-v2-RAHNMMFH-B_coIPEy.js +0 -1
- package/dist/client/assets/clone-BjaT2HOk.js +0 -1
- package/dist/client/assets/stateDiagram-v2-FVOUBMTO-CMw3xNha.js +0 -1
package/README.ja.md
CHANGED
|
@@ -136,20 +136,21 @@ git diff --cached | difit -
|
|
|
136
136
|
|
|
137
137
|
## ⚙️ CLIオプション
|
|
138
138
|
|
|
139
|
-
| フラグ | デフォルト
|
|
140
|
-
| --------------------- |
|
|
141
|
-
| `<target>` | HEAD
|
|
142
|
-
| `[compare-with]` | -
|
|
143
|
-
| `--pr <url>` | -
|
|
144
|
-
| `--comment <json>` | -
|
|
145
|
-
| `--port` | 4966
|
|
146
|
-
| `--host` | 127.0.0.1
|
|
147
|
-
| `--no-open` | false
|
|
148
|
-
| `--mode` | split
|
|
149
|
-
| `--tui` | false
|
|
150
|
-
| `--clean` | false
|
|
151
|
-
| `--include-untracked` | false
|
|
152
|
-
| `--keep-alive` | false
|
|
139
|
+
| フラグ | デフォルト | 説明 |
|
|
140
|
+
| --------------------- | --------------- | ------------------------------------------------------------------------------------------ |
|
|
141
|
+
| `<target>` | HEAD | コミットハッシュ、タグ、HEAD~n、ブランチ、または特別な引数 |
|
|
142
|
+
| `[compare-with]` | - | 比較対象の2番目のコミット(2つの間のdiffを表示) |
|
|
143
|
+
| `--pr <url>` | - | レビューするGitHub PRのURL(例:https://github.com/owner/repo/pull/123) |
|
|
144
|
+
| `--comment <json>` | - | 起動時に初期コメントを注入(複数指定可。JSON object または array を受け付ける) |
|
|
145
|
+
| `--port` | 4966 | 優先ポート。使用中の場合は+1にフォールバック |
|
|
146
|
+
| `--host` | 127.0.0.1 | サーバーをバインドするホストアドレス(外部からアクセスしたい場合は0.0.0.0を指定) |
|
|
147
|
+
| `--no-open` | false | ブラウザを自動的に開かない |
|
|
148
|
+
| `--mode` | split | 表示モード。`unified`または`split` |
|
|
149
|
+
| `--tui` | false | WebUIの代わりにターミナルUIを使用 |
|
|
150
|
+
| `--clean` | false | 起動時に既存コメントと閲覧済みファイルをすべてクリア |
|
|
151
|
+
| `--include-untracked` | false | diffにuntrackedファイルを自動的に含める(`.`または`working`のみ有効) |
|
|
152
|
+
| `--keep-alive` | false | ブラウザ切断後もサーバーを終了せず起動したままにする(Ctrl+Cで手動停止) |
|
|
153
|
+
| `--context <lines>` | Gitの既定値 (3) | 変更ごとの前後コンテキスト行数を制限(`0` は変更行のみ表示。`--pr` と stdin では使用不可) |
|
|
153
154
|
|
|
154
155
|
## 💬 コメントシステム
|
|
155
156
|
|
package/README.ko.md
CHANGED
|
@@ -136,20 +136,21 @@ git diff --cached | difit -
|
|
|
136
136
|
|
|
137
137
|
## ⚙️ CLI 옵션
|
|
138
138
|
|
|
139
|
-
| 플래그 | 기본값
|
|
140
|
-
| --------------------- |
|
|
141
|
-
| `<target>` | HEAD
|
|
142
|
-
| `[compare-with]` | -
|
|
143
|
-
| `--pr <url>` | -
|
|
144
|
-
| `--comment <json>` | -
|
|
145
|
-
| `--port` | 4966
|
|
146
|
-
| `--host` | 127.0.0.1
|
|
147
|
-
| `--no-open` | false
|
|
148
|
-
| `--mode` | split
|
|
149
|
-
| `--tui` | false
|
|
150
|
-
| `--clean` | false
|
|
151
|
-
| `--include-untracked` | false
|
|
152
|
-
| `--keep-alive` | false
|
|
139
|
+
| 플래그 | 기본값 | 설명 |
|
|
140
|
+
| --------------------- | -------------- | --------------------------------------------------------------------------------------------- |
|
|
141
|
+
| `<target>` | HEAD | 커밋 해시, 태그, HEAD~n, 브랜치 또는 특수 인수 |
|
|
142
|
+
| `[compare-with]` | - | 비교할 선택적 두 번째 커밋 (둘 사이의 diff 표시) |
|
|
143
|
+
| `--pr <url>` | - | 검토할 GitHub PR URL (예: https://github.com/owner/repo/pull/123) |
|
|
144
|
+
| `--comment <json>` | - | 초기 코멘트 주입 (반복 가능; JSON object 또는 array 허용) |
|
|
145
|
+
| `--port` | 4966 | 선호 포트; 사용 중인 경우 +1로 대체 |
|
|
146
|
+
| `--host` | 127.0.0.1 | 서버를 바인딩할 호스트 주소 (외부 액세스는 0.0.0.0 사용) |
|
|
147
|
+
| `--no-open` | false | 브라우저를 자동으로 열지 않음 |
|
|
148
|
+
| `--mode` | split | 표시 모드: `unified` 또는 `split` |
|
|
149
|
+
| `--tui` | false | WebUI 대신 터미널 UI 모드 사용 |
|
|
150
|
+
| `--clean` | false | 시작 시 모든 기존 코멘트와 열람된 파일 표시 초기화 |
|
|
151
|
+
| `--include-untracked` | false | diff에 untracked 파일 자동 포함 (`.` 또는 `working`에서만 유효) |
|
|
152
|
+
| `--keep-alive` | false | 브라우저 연결이 끊겨도 서버 유지 (Ctrl+C로 수동 종료) |
|
|
153
|
+
| `--context <lines>` | Git 기본값 (3) | 변경 주변의 컨텍스트 줄 수를 제한 (`0`이면 변경된 줄만 표시, `--pr` 및 stdin에서는 사용 불가) |
|
|
153
154
|
|
|
154
155
|
## 💬 코멘트 시스템
|
|
155
156
|
|
package/README.md
CHANGED
|
@@ -136,20 +136,21 @@ Stdin mode is selected with intent-first rules:
|
|
|
136
136
|
|
|
137
137
|
## ⚙️ CLI Options
|
|
138
138
|
|
|
139
|
-
| Flag | Default
|
|
140
|
-
| --------------------- |
|
|
141
|
-
| `<target>` | HEAD
|
|
142
|
-
| `[compare-with]` | -
|
|
143
|
-
| `--pr <url>` | -
|
|
144
|
-
| `--comment <json>` | -
|
|
145
|
-
| `--port` | 4966
|
|
146
|
-
| `--host` | 127.0.0.1
|
|
147
|
-
| `--no-open` | false
|
|
148
|
-
| `--mode` | split
|
|
149
|
-
| `--tui` | false
|
|
150
|
-
| `--clean` | false
|
|
151
|
-
| `--include-untracked` | false
|
|
152
|
-
| `--keep-alive` | false
|
|
139
|
+
| Flag | Default | Description |
|
|
140
|
+
| --------------------- | --------------- | ------------------------------------------------------------------------------------------------------- |
|
|
141
|
+
| `<target>` | HEAD | Commit hash, tag, HEAD~n, branch, or special arguments |
|
|
142
|
+
| `[compare-with]` | - | Optional second commit to compare with (shows diff between the two) |
|
|
143
|
+
| `--pr <url>` | - | GitHub PR URL to review (e.g., https://github.com/owner/repo/pull/123) |
|
|
144
|
+
| `--comment <json>` | - | Inject initial comments (repeatable; accepts a JSON object or array) |
|
|
145
|
+
| `--port` | 4966 | Preferred port; falls back to +1 if occupied |
|
|
146
|
+
| `--host` | 127.0.0.1 | Host address to bind server to (use 0.0.0.0 for external access) |
|
|
147
|
+
| `--no-open` | false | Don't automatically open browser |
|
|
148
|
+
| `--mode` | split | Display mode: `unified` or `split` |
|
|
149
|
+
| `--tui` | false | Use terminal UI mode instead of WebUI |
|
|
150
|
+
| `--clean` | false | Clear all existing comments and viewed files on startup |
|
|
151
|
+
| `--include-untracked` | false | Automatically include untracked files in diff (only with `.` or `working`) |
|
|
152
|
+
| `--keep-alive` | false | Keep server running after browser disconnects (stop manually with Ctrl+C) |
|
|
153
|
+
| `--context <lines>` | git default (3) | Limit surrounding context lines per change (`0` shows changes only; not available with `--pr` or stdin) |
|
|
153
154
|
|
|
154
155
|
## 💬 Comment System
|
|
155
156
|
|
package/README.zh.md
CHANGED
|
@@ -136,20 +136,21 @@ git diff --cached | difit -
|
|
|
136
136
|
|
|
137
137
|
## ⚙️ CLI 选项
|
|
138
138
|
|
|
139
|
-
| 标志 | 默认值
|
|
140
|
-
| --------------------- |
|
|
141
|
-
| `<target>` | HEAD
|
|
142
|
-
| `[compare-with]` | -
|
|
143
|
-
| `--pr <url>` | -
|
|
144
|
-
| `--comment <json>` | -
|
|
145
|
-
| `--port` | 4966
|
|
146
|
-
| `--host` | 127.0.0.1
|
|
147
|
-
| `--no-open` | false
|
|
148
|
-
| `--mode` | split
|
|
149
|
-
| `--tui` | false
|
|
150
|
-
| `--clean` | false
|
|
151
|
-
| `--include-untracked` | false
|
|
152
|
-
| `--keep-alive` | false
|
|
139
|
+
| 标志 | 默认值 | 描述 |
|
|
140
|
+
| --------------------- | -------------- | --------------------------------------------------------------------------------- |
|
|
141
|
+
| `<target>` | HEAD | 提交哈希、标签、HEAD~n、分支或特殊参数 |
|
|
142
|
+
| `[compare-with]` | - | 要比较的可选第二个提交(显示两者之间的差异) |
|
|
143
|
+
| `--pr <url>` | - | 要审查的 GitHub PR URL(例如:https://github.com/owner/repo/pull/123) |
|
|
144
|
+
| `--comment <json>` | - | 注入初始评论(可重复指定;接受 JSON object 或 array) |
|
|
145
|
+
| `--port` | 4966 | 首选端口;如果被占用则回退到 +1 |
|
|
146
|
+
| `--host` | 127.0.0.1 | 绑定服务器的主机地址(使用 0.0.0.0 进行外部访问) |
|
|
147
|
+
| `--no-open` | false | 不自动打开浏览器 |
|
|
148
|
+
| `--mode` | split | 显示模式:`unified` 或 `split` |
|
|
149
|
+
| `--tui` | false | 使用终端 UI 模式而不是 WebUI |
|
|
150
|
+
| `--clean` | false | 启动时清除所有现有评论和已查看的文件 |
|
|
151
|
+
| `--include-untracked` | false | 自动将 untracked 文件包含在 diff 中(仅在 `.` 或 `working` 时有效) |
|
|
152
|
+
| `--keep-alive` | false | 浏览器断开后保持服务器运行(使用 Ctrl+C 手动停止) |
|
|
153
|
+
| `--context <lines>` | Git 默认值 (3) | 限制每处变更周围的上下文行数(`0` 仅显示变更行;不可与 `--pr` 或 stdin 一起使用) |
|
|
153
154
|
|
|
154
155
|
## 💬 评论系统
|
|
155
156
|
|
package/dist/cli/index.js
CHANGED
|
@@ -46,12 +46,18 @@ program
|
|
|
46
46
|
.option('--clean', 'start with a clean slate by clearing all existing comments')
|
|
47
47
|
.option('--include-untracked', 'automatically include untracked files in diff')
|
|
48
48
|
.option('--keep-alive', 'keep server running even after browser disconnects')
|
|
49
|
+
.option('--context <lines>', 'number of context lines shown around each change', parseInt)
|
|
49
50
|
.action(async (commitish, compareWith, options) => {
|
|
50
51
|
try {
|
|
51
52
|
let stdinDiff;
|
|
52
53
|
let stdinReviewLabel = 'diff from stdin';
|
|
53
54
|
let manualCommentImports = [];
|
|
54
55
|
let commentImports = [];
|
|
56
|
+
if (options.context !== undefined &&
|
|
57
|
+
(!Number.isInteger(options.context) || options.context < 0)) {
|
|
58
|
+
console.error('Error: --context must be a non-negative integer');
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
55
61
|
try {
|
|
56
62
|
manualCommentImports = parseCommentOptions(options.comment);
|
|
57
63
|
commentImports = manualCommentImports;
|
|
@@ -69,6 +75,10 @@ program
|
|
|
69
75
|
console.error('Error: --pr option cannot be used with --tui');
|
|
70
76
|
process.exit(1);
|
|
71
77
|
}
|
|
78
|
+
if (options.context !== undefined) {
|
|
79
|
+
console.error('Error: --context option cannot be used with --pr');
|
|
80
|
+
process.exit(1);
|
|
81
|
+
}
|
|
72
82
|
try {
|
|
73
83
|
stdinDiff = getPrPatch(options.pr);
|
|
74
84
|
stdinReviewLabel = options.pr;
|
|
@@ -94,6 +104,10 @@ program
|
|
|
94
104
|
hasTuiOption: Boolean(options.tui),
|
|
95
105
|
});
|
|
96
106
|
if (readFromStdin) {
|
|
107
|
+
if (options.context !== undefined) {
|
|
108
|
+
console.error('Error: --context option cannot be used with stdin diff');
|
|
109
|
+
process.exit(1);
|
|
110
|
+
}
|
|
97
111
|
// Read unified diff from stdin
|
|
98
112
|
stdinDiff = await readStdin();
|
|
99
113
|
if (!stdinDiff.trim()) {
|
|
@@ -174,6 +188,7 @@ program
|
|
|
174
188
|
baseCommitish,
|
|
175
189
|
mode: options.mode,
|
|
176
190
|
repoPath,
|
|
191
|
+
contextLines: options.context,
|
|
177
192
|
}));
|
|
178
193
|
return;
|
|
179
194
|
}
|
|
@@ -191,6 +206,7 @@ program
|
|
|
191
206
|
mode: options.mode,
|
|
192
207
|
clearComments: options.clean,
|
|
193
208
|
keepAlive: options.keepAlive,
|
|
209
|
+
contextLines: options.context,
|
|
194
210
|
diffMode: determineDiffMode(targetCommitish, compareWith),
|
|
195
211
|
repoPath,
|
|
196
212
|
...(commentImports.length > 0 ? { commentImports } : {}),
|
package/dist/cli/index.test.js
CHANGED
|
@@ -22,7 +22,7 @@ vi.mock('./github.js', () => ({
|
|
|
22
22
|
}));
|
|
23
23
|
const { simpleGit } = await import('simple-git');
|
|
24
24
|
const { startServer } = await import('../server/server.js');
|
|
25
|
-
const { promptUser, findUntrackedFiles, markFilesIntentToAdd, parseCommentOptions } = await import('./utils.js');
|
|
25
|
+
const { promptUser, findUntrackedFiles, markFilesIntentToAdd, parseCommentOptions, shouldReadStdin, } = await import('./utils.js');
|
|
26
26
|
const { getPrPatch, getPrCommentImports } = await import('./github.js');
|
|
27
27
|
describe('CLI index.ts', () => {
|
|
28
28
|
let mockGit;
|
|
@@ -213,6 +213,11 @@ describe('CLI index.ts', () => {
|
|
|
213
213
|
args: ['--keep-alive'],
|
|
214
214
|
expectedOptions: { keepAlive: true },
|
|
215
215
|
},
|
|
216
|
+
{
|
|
217
|
+
name: '--context option',
|
|
218
|
+
args: ['--context', '5'],
|
|
219
|
+
expectedOptions: { context: 5 },
|
|
220
|
+
},
|
|
216
221
|
])('$name', async ({ args, expectedOptions }) => {
|
|
217
222
|
mockFindUntrackedFiles.mockResolvedValue([]);
|
|
218
223
|
const program = new Command();
|
|
@@ -227,6 +232,7 @@ describe('CLI index.ts', () => {
|
|
|
227
232
|
.option('--pr <url>', 'pr')
|
|
228
233
|
.option('--clean', 'start with a clean slate by clearing all existing comments')
|
|
229
234
|
.option('--keep-alive', 'keep server running even after browser disconnects')
|
|
235
|
+
.option('--context <lines>', 'context', parseInt)
|
|
230
236
|
.action(async (commitish, _compareWith, options) => {
|
|
231
237
|
let targetCommitish = commitish;
|
|
232
238
|
let baseCommitish = commitish + '^';
|
|
@@ -239,6 +245,7 @@ describe('CLI index.ts', () => {
|
|
|
239
245
|
mode: options.mode,
|
|
240
246
|
clearComments: options.clean,
|
|
241
247
|
keepAlive: options.keepAlive,
|
|
248
|
+
contextLines: options.context,
|
|
242
249
|
});
|
|
243
250
|
});
|
|
244
251
|
await program.parseAsync([...args], { from: 'user' });
|
|
@@ -251,10 +258,91 @@ describe('CLI index.ts', () => {
|
|
|
251
258
|
mode: expectedOptions.mode || 'split',
|
|
252
259
|
clearComments: expectedOptions.clean,
|
|
253
260
|
keepAlive: expectedOptions.keepAlive,
|
|
261
|
+
contextLines: expectedOptions.context,
|
|
254
262
|
};
|
|
255
263
|
expect(mockStartServer).toHaveBeenCalledWith(expectedCall);
|
|
256
264
|
});
|
|
257
265
|
});
|
|
266
|
+
describe('--context option', () => {
|
|
267
|
+
it('rejects negative values', async () => {
|
|
268
|
+
const program = new Command();
|
|
269
|
+
program
|
|
270
|
+
.argument('[commit-ish]', 'commit-ish', 'HEAD')
|
|
271
|
+
.argument('[compare-with]', 'compare-with')
|
|
272
|
+
.option('--context <lines>', 'context', parseInt)
|
|
273
|
+
.action(async (commitish, _compareWith, options) => {
|
|
274
|
+
if (options.context !== undefined &&
|
|
275
|
+
(!Number.isInteger(options.context) || options.context < 0)) {
|
|
276
|
+
console.error('Error: --context must be a non-negative integer');
|
|
277
|
+
process.exit(1);
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
await startServer({
|
|
281
|
+
targetCommitish: commitish,
|
|
282
|
+
baseCommitish: `${commitish}^`,
|
|
283
|
+
contextLines: options.context,
|
|
284
|
+
});
|
|
285
|
+
});
|
|
286
|
+
await program.parseAsync(['--context', '-1'], { from: 'user' });
|
|
287
|
+
expect(console.error).toHaveBeenCalledWith('Error: --context must be a non-negative integer');
|
|
288
|
+
expect(process.exit).toHaveBeenCalledWith(1);
|
|
289
|
+
expect(mockStartServer).not.toHaveBeenCalled();
|
|
290
|
+
});
|
|
291
|
+
it('rejects --context with --pr', async () => {
|
|
292
|
+
const prUrl = 'https://github.com/owner/repo/pull/123';
|
|
293
|
+
const program = new Command();
|
|
294
|
+
program
|
|
295
|
+
.argument('[commit-ish]', 'commit-ish', 'HEAD')
|
|
296
|
+
.argument('[compare-with]', 'compare-with')
|
|
297
|
+
.option('--context <lines>', 'context', parseInt)
|
|
298
|
+
.option('--pr <url>', 'pr')
|
|
299
|
+
.action(async (_commitish, _compareWith, options) => {
|
|
300
|
+
if (options.pr && options.context !== undefined) {
|
|
301
|
+
console.error('Error: --context option cannot be used with --pr');
|
|
302
|
+
process.exit(1);
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
await startServer({
|
|
306
|
+
stdinDiff: getPrPatch(options.pr),
|
|
307
|
+
contextLines: options.context,
|
|
308
|
+
});
|
|
309
|
+
});
|
|
310
|
+
await program.parseAsync(['--pr', prUrl, '--context', '3'], { from: 'user' });
|
|
311
|
+
expect(console.error).toHaveBeenCalledWith('Error: --context option cannot be used with --pr');
|
|
312
|
+
expect(process.exit).toHaveBeenCalledWith(1);
|
|
313
|
+
expect(mockGetPrPatch).not.toHaveBeenCalled();
|
|
314
|
+
expect(mockStartServer).not.toHaveBeenCalled();
|
|
315
|
+
});
|
|
316
|
+
it('rejects --context with stdin diff', async () => {
|
|
317
|
+
const program = new Command();
|
|
318
|
+
program
|
|
319
|
+
.argument('[commit-ish]', 'commit-ish', 'HEAD')
|
|
320
|
+
.argument('[compare-with]', 'compare-with')
|
|
321
|
+
.option('--context <lines>', 'context', parseInt)
|
|
322
|
+
.option('--tui', 'tui')
|
|
323
|
+
.action(async (commitish, _compareWith, options) => {
|
|
324
|
+
const readFromStdin = shouldReadStdin({
|
|
325
|
+
commitish,
|
|
326
|
+
hasPositionalArgs: program.args.length > 0,
|
|
327
|
+
hasPrOption: false,
|
|
328
|
+
hasTuiOption: Boolean(options.tui),
|
|
329
|
+
});
|
|
330
|
+
if (readFromStdin && options.context !== undefined) {
|
|
331
|
+
console.error('Error: --context option cannot be used with stdin diff');
|
|
332
|
+
process.exit(1);
|
|
333
|
+
return;
|
|
334
|
+
}
|
|
335
|
+
await startServer({
|
|
336
|
+
stdinDiff: 'diff --git a/file.ts b/file.ts',
|
|
337
|
+
contextLines: options.context,
|
|
338
|
+
});
|
|
339
|
+
});
|
|
340
|
+
await program.parseAsync(['-', '--context', '3'], { from: 'user' });
|
|
341
|
+
expect(console.error).toHaveBeenCalledWith('Error: --context option cannot be used with stdin diff');
|
|
342
|
+
expect(process.exit).toHaveBeenCalledWith(1);
|
|
343
|
+
expect(mockStartServer).not.toHaveBeenCalled();
|
|
344
|
+
});
|
|
345
|
+
});
|
|
258
346
|
describe('Version option', () => {
|
|
259
347
|
it('supports --version flag', async () => {
|
|
260
348
|
const program = new Command();
|
|
@@ -1074,6 +1162,42 @@ describe('CLI index.ts', () => {
|
|
|
1074
1162
|
},
|
|
1075
1163
|
});
|
|
1076
1164
|
});
|
|
1165
|
+
it('passes context option to TUI app', async () => {
|
|
1166
|
+
mockFindUntrackedFiles.mockResolvedValue([]);
|
|
1167
|
+
const program = new Command();
|
|
1168
|
+
program
|
|
1169
|
+
.argument('[commit-ish]', 'commit-ish', 'HEAD')
|
|
1170
|
+
.argument('[compare-with]', 'compare-with')
|
|
1171
|
+
.option('--port <port>', 'port', parseInt)
|
|
1172
|
+
.option('--host <host>', 'host', '')
|
|
1173
|
+
.option('--no-open', 'no-open')
|
|
1174
|
+
.option('--mode <mode>', 'mode', normalizeDiffViewMode, DEFAULT_DIFF_VIEW_MODE)
|
|
1175
|
+
.option('--context <lines>', 'context', parseInt)
|
|
1176
|
+
.option('--tui', 'tui')
|
|
1177
|
+
.option('--pr <url>', 'pr')
|
|
1178
|
+
.action(async (commitish, _compareWith, options) => {
|
|
1179
|
+
if (options.tui) {
|
|
1180
|
+
const { render } = await import('ink');
|
|
1181
|
+
const { default: TuiApp } = await import('../tui/App.js');
|
|
1182
|
+
render(React.createElement(TuiApp, {
|
|
1183
|
+
targetCommitish: commitish,
|
|
1184
|
+
baseCommitish: commitish + '^',
|
|
1185
|
+
mode: options.mode,
|
|
1186
|
+
contextLines: options.context,
|
|
1187
|
+
}));
|
|
1188
|
+
}
|
|
1189
|
+
});
|
|
1190
|
+
await program.parseAsync(['--tui', '--context', '2'], { from: 'user' });
|
|
1191
|
+
expect(mockRender).toHaveBeenCalledWith({
|
|
1192
|
+
component: mockTuiApp,
|
|
1193
|
+
props: {
|
|
1194
|
+
targetCommitish: 'HEAD',
|
|
1195
|
+
baseCommitish: 'HEAD^',
|
|
1196
|
+
mode: 'split',
|
|
1197
|
+
contextLines: 2,
|
|
1198
|
+
},
|
|
1199
|
+
});
|
|
1200
|
+
});
|
|
1077
1201
|
it('passes mode option to TUI app', async () => {
|
|
1078
1202
|
mockFindUntrackedFiles.mockResolvedValue([]);
|
|
1079
1203
|
const program = new Command();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as x,c as O,g as m,k as P,h as p,j as w,l as c,m as A,n as I,t as N,o as _}from"./_baseUniq-
|
|
1
|
+
import{e as x,c as O,g as m,k as P,h as p,j as w,l as c,m as A,n as I,t as N,o as _}from"./_baseUniq-Mj_sFFQW.js";import{aT as g,at as $,aU as E,aV as F,aW as M,aX as l,aY as T,aZ as B,a_ as y,a$ as S}from"./mermaid.core-DqlPTabt.js";var G=/\s/;function H(n){for(var r=n.length;r--&&G.test(n.charAt(r)););return r}var L=/^\s+/;function R(n){return n&&n.slice(0,H(n)+1).replace(L,"")}var o=NaN,W=/^[-+]0x[0-9a-f]+$/i,X=/^0b[01]+$/i,Y=/^0o[0-7]+$/i,q=parseInt;function z(n){if(typeof n=="number")return n;if(x(n))return o;if(g(n)){var r=typeof n.valueOf=="function"?n.valueOf():n;n=g(r)?r+"":r}if(typeof n!="string")return n===0?n:+n;n=R(n);var t=X.test(n);return t||Y.test(n)?q(n.slice(2),t?2:8):W.test(n)?o:+n}var v=1/0,C=17976931348623157e292;function K(n){if(!n)return n===0?n:0;if(n=z(n),n===v||n===-v){var r=n<0?-1:1;return r*C}return n===n?n:0}function U(n){var r=K(n),t=r%1;return r===r?t?r-t:r:0}function fn(n){var r=n==null?0:n.length;return r?O(n):[]}var b=Object.prototype,Z=b.hasOwnProperty,dn=$(function(n,r){n=Object(n);var t=-1,i=r.length,a=i>2?r[2]:void 0;for(a&&E(r[0],r[1],a)&&(i=1);++t<i;)for(var f=r[t],e=F(f),s=-1,d=e.length;++s<d;){var u=e[s],h=n[u];(h===void 0||M(h,b[u])&&!Z.call(n,u))&&(n[u]=f[u])}return n});function un(n){var r=n==null?0:n.length;return r?n[r-1]:void 0}function D(n){return function(r,t,i){var a=Object(r);if(!l(r)){var f=m(t);r=P(r),t=function(s){return f(a[s],s,a)}}var e=n(r,t,i);return e>-1?a[f?r[e]:e]:void 0}}var J=Math.max;function Q(n,r,t){var i=n==null?0:n.length;if(!i)return-1;var a=t==null?0:U(t);return a<0&&(a=J(i+a,0)),p(n,m(r),a)}var hn=D(Q);function V(n,r){var t=-1,i=l(n)?Array(n.length):[];return w(n,function(a,f,e){i[++t]=r(a,f,e)}),i}function gn(n,r){var t=T(n)?c:V;return t(n,m(r))}var j=Object.prototype,k=j.hasOwnProperty;function nn(n,r){return n!=null&&k.call(n,r)}function mn(n,r){return n!=null&&A(n,r,nn)}function rn(n,r){return n<r}function tn(n,r,t){for(var i=-1,a=n.length;++i<a;){var f=n[i],e=r(f);if(e!=null&&(s===void 0?e===e&&!x(e):t(e,s)))var s=e,d=f}return d}function on(n){return n&&n.length?tn(n,B,rn):void 0}function an(n,r,t,i){if(!g(n))return n;r=I(r,n);for(var a=-1,f=r.length,e=f-1,s=n;s!=null&&++a<f;){var d=N(r[a]),u=t;if(d==="__proto__"||d==="constructor"||d==="prototype")return n;if(a!=e){var h=s[d];u=void 0,u===void 0&&(u=g(h)?h:y(r[a+1])?[]:{})}S(s,d,u),s=s[d]}return n}function vn(n,r,t){for(var i=-1,a=r.length,f={};++i<a;){var e=r[i],s=_(n,e);t(s,e)&&an(f,I(e,n),s)}return f}export{rn as a,tn as b,V as c,vn as d,on as e,fn as f,hn as g,mn as h,dn as i,U as j,un as l,gn as m,K as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{bg as S,bh as Rn,aY as T,bi as w,bj as xn,bk as mn,aX as sn,bl as Cn,bm as un,bn as x,aV as B,bo as Mn,bp as on,bq as Fn,br as E,be as gn,bs as R,aT as ln,bt as Dn,bu as D,bv as Gn,bw as Bn,bx as _,a$ as Un,by as Nn,aW as Kn,bz as X,bA as jn,bB as Hn,a_ as qn,aZ as cn,bc as Yn,bC as C}from"./mermaid.core-DV5JJ1Ie.js";var Zn="[object Symbol]";function U(n){return typeof n=="symbol"||S(n)&&Rn(n)==Zn}function bn(n,r){for(var e=-1,t=n==null?0:n.length,f=Array(t);++e<t;)f[e]=r(n[e],e,n);return f}var J=w?w.prototype:void 0,Q=J?J.toString:void 0;function dn(n){if(typeof n=="string")return n;if(T(n))return bn(n,dn)+"";if(U(n))return Q?Q.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Xn(){}function pn(n,r){for(var e=-1,t=n==null?0:n.length;++e<t&&r(n[e],e,n)!==!1;);return n}function Jn(n,r,e,t){for(var f=n.length,i=e+-1;++i<f;)if(r(n[i],i,n))return i;return-1}function Qn(n){return n!==n}function Wn(n,r,e){for(var t=e-1,f=n.length;++t<f;)if(n[t]===r)return t;return-1}function zn(n,r,e){return r===r?Wn(n,r,e):Jn(n,Qn,e)}function Vn(n,r){var e=n==null?0:n.length;return!!e&&zn(n,r,0)>-1}function $(n){return sn(n)?xn(n):mn(n)}var kn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nr=/^\w*$/;function N(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||U(n)?!0:nr.test(n)||!kn.test(n)||r!=null&&n in Object(r)}var rr=500;function er(n){var r=Cn(n,function(t){return e.size===rr&&e.clear(),t}),e=r.cache;return r}var tr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ir=/\\(\\)?/g,fr=er(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(tr,function(e,t,f,i){r.push(f?i.replace(ir,"$1"):t||e)}),r});function ar(n){return n==null?"":dn(n)}function An(n,r){return T(n)?n:N(n,r)?[n]:fr(ar(n))}function m(n){if(typeof n=="string"||U(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(n,r){r=An(r,n);for(var e=0,t=r.length;n!=null&&e<t;)n=n[m(r[e++])];return e&&e==t?n:void 0}function sr(n,r,e){var t=n==null?void 0:yn(n,r);return t===void 0?e:t}function K(n,r){for(var e=-1,t=r.length,f=n.length;++e<t;)n[f+e]=r[e];return n}var W=w?w.isConcatSpreadable:void 0;function ur(n){return T(n)||un(n)||!!(W&&n&&n[W])}function Ot(n,r,e,t,f){var i=-1,a=n.length;for(e||(e=ur),f||(f=[]);++i<a;){var s=n[i];e(s)?K(f,s):t||(f[f.length]=s)}return f}function or(n,r,e,t){var f=-1,i=n==null?0:n.length;for(t&&i&&(e=n[++f]);++f<i;)e=r(e,n[f],f,n);return e}function gr(n,r){return n&&x(r,$(r),n)}function lr(n,r){return n&&x(r,B(r),n)}function Tn(n,r){for(var e=-1,t=n==null?0:n.length,f=0,i=[];++e<t;){var a=n[e];r(a,e,n)&&(i[f++]=a)}return i}function hn(){return[]}var cr=Object.prototype,br=cr.propertyIsEnumerable,z=Object.getOwnPropertySymbols,j=z?function(n){return n==null?[]:(n=Object(n),Tn(z(n),function(r){return br.call(n,r)}))}:hn;function dr(n,r){return x(n,j(n),r)}var pr=Object.getOwnPropertySymbols,wn=pr?function(n){for(var r=[];n;)K(r,j(n)),n=Mn(n);return r}:hn;function Ar(n,r){return x(n,wn(n),r)}function On(n,r,e){var t=r(n);return T(n)?t:K(t,e(n))}function G(n){return On(n,$,j)}function yr(n){return On(n,B,wn)}var Tr=Object.prototype,hr=Tr.hasOwnProperty;function wr(n){var r=n.length,e=new n.constructor(r);return r&&typeof n[0]=="string"&&hr.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function Or(n,r){var e=r?on(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}var $r=/\w*$/;function _r(n){var r=new n.constructor(n.source,$r.exec(n));return r.lastIndex=n.lastIndex,r}var V=w?w.prototype:void 0,k=V?V.valueOf:void 0;function Sr(n){return k?Object(k.call(n)):{}}var Er="[object Boolean]",Ir="[object Date]",Pr="[object Map]",vr="[object Number]",Lr="[object RegExp]",Rr="[object Set]",xr="[object String]",mr="[object Symbol]",Cr="[object ArrayBuffer]",Mr="[object DataView]",Fr="[object Float32Array]",Dr="[object Float64Array]",Gr="[object Int8Array]",Br="[object Int16Array]",Ur="[object Int32Array]",Nr="[object Uint8Array]",Kr="[object Uint8ClampedArray]",jr="[object Uint16Array]",Hr="[object Uint32Array]";function qr(n,r,e){var t=n.constructor;switch(r){case Cr:return on(n);case Er:case Ir:return new t(+n);case Mr:return Or(n,e);case Fr:case Dr:case Gr:case Br:case Ur:case Nr:case Kr:case jr:case Hr:return Fn(n,e);case Pr:return new t;case vr:case xr:return new t(n);case Lr:return _r(n);case Rr:return new t;case mr:return Sr(n)}}var Yr="[object Map]";function Zr(n){return S(n)&&E(n)==Yr}var nn=R&&R.isMap,Xr=nn?gn(nn):Zr,Jr="[object Set]";function Qr(n){return S(n)&&E(n)==Jr}var rn=R&&R.isSet,Wr=rn?gn(rn):Qr,zr=1,Vr=2,kr=4,$n="[object Arguments]",ne="[object Array]",re="[object Boolean]",ee="[object Date]",te="[object Error]",_n="[object Function]",ie="[object GeneratorFunction]",fe="[object Map]",ae="[object Number]",Sn="[object Object]",se="[object RegExp]",ue="[object Set]",oe="[object String]",ge="[object Symbol]",le="[object WeakMap]",ce="[object ArrayBuffer]",be="[object DataView]",de="[object Float32Array]",pe="[object Float64Array]",Ae="[object Int8Array]",ye="[object Int16Array]",Te="[object Int32Array]",he="[object Uint8Array]",we="[object Uint8ClampedArray]",Oe="[object Uint16Array]",$e="[object Uint32Array]",g={};g[$n]=g[ne]=g[ce]=g[be]=g[re]=g[ee]=g[de]=g[pe]=g[Ae]=g[ye]=g[Te]=g[fe]=g[ae]=g[Sn]=g[se]=g[ue]=g[oe]=g[ge]=g[he]=g[we]=g[Oe]=g[$e]=!0;g[te]=g[_n]=g[le]=!1;function M(n,r,e,t,f,i){var a,s=r&zr,u=r&Vr,b=r&kr;if(a!==void 0)return a;if(!ln(n))return n;var l=T(n);if(l){if(a=wr(n),!s)return Dn(n,a)}else{var o=E(n),c=o==_n||o==ie;if(D(n))return Gn(n,s);if(o==Sn||o==$n||c&&!f){if(a=u||c?{}:Bn(n),!s)return u?Ar(n,lr(a,n)):dr(n,gr(a,n))}else{if(!g[o])return f?n:{};a=qr(n,o,s)}}i||(i=new _);var h=i.get(n);if(h)return h;i.set(n,a),Wr(n)?n.forEach(function(d){a.add(M(d,r,e,d,n,i))}):Xr(n)&&n.forEach(function(d,p){a.set(p,M(d,r,e,p,n,i))});var A=b?u?yr:G:u?B:$,y=l?void 0:A(n);return pn(y||n,function(d,p){y&&(p=d,d=n[p]),Un(a,p,M(d,r,e,p,n,i))}),a}var _e="__lodash_hash_undefined__";function Se(n){return this.__data__.set(n,_e),this}function Ee(n){return this.__data__.has(n)}function I(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new Nn;++r<e;)this.add(n[r])}I.prototype.add=I.prototype.push=Se;I.prototype.has=Ee;function Ie(n,r){for(var e=-1,t=n==null?0:n.length;++e<t;)if(r(n[e],e,n))return!0;return!1}function En(n,r){return n.has(r)}var Pe=1,ve=2;function In(n,r,e,t,f,i){var a=e&Pe,s=n.length,u=r.length;if(s!=u&&!(a&&u>s))return!1;var b=i.get(n),l=i.get(r);if(b&&l)return b==r&&l==n;var o=-1,c=!0,h=e&ve?new I:void 0;for(i.set(n,r),i.set(r,n);++o<s;){var A=n[o],y=r[o];if(t)var d=a?t(y,A,o,r,n,i):t(A,y,o,n,r,i);if(d!==void 0){if(d)continue;c=!1;break}if(h){if(!Ie(r,function(p,O){if(!En(h,O)&&(A===p||f(A,p,e,t,i)))return h.push(O)})){c=!1;break}}else if(!(A===y||f(A,y,e,t,i))){c=!1;break}}return i.delete(n),i.delete(r),c}function Le(n){var r=-1,e=Array(n.size);return n.forEach(function(t,f){e[++r]=[f,t]}),e}function H(n){var r=-1,e=Array(n.size);return n.forEach(function(t){e[++r]=t}),e}var Re=1,xe=2,me="[object Boolean]",Ce="[object Date]",Me="[object Error]",Fe="[object Map]",De="[object Number]",Ge="[object RegExp]",Be="[object Set]",Ue="[object String]",Ne="[object Symbol]",Ke="[object ArrayBuffer]",je="[object DataView]",en=w?w.prototype:void 0,F=en?en.valueOf:void 0;function He(n,r,e,t,f,i,a){switch(e){case je:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case Ke:return!(n.byteLength!=r.byteLength||!i(new X(n),new X(r)));case me:case Ce:case De:return Kn(+n,+r);case Me:return n.name==r.name&&n.message==r.message;case Ge:case Ue:return n==r+"";case Fe:var s=Le;case Be:var u=tℜif(s||(s=H),n.size!=r.size&&!u)return!1;var b=a.get(n);if(b)return b==r;t|=xe,a.set(n,r);var l=In(s(n),s(r),t,f,i,a);return a.delete(n),l;case Ne:if(F)return F.call(n)==F.call(r)}return!1}var qe=1,Ye=Object.prototype,Ze=Ye.hasOwnProperty;function Xe(n,r,e,t,f,i){var a=e&qe,s=G(n),u=s.length,b=G(r),l=b.length;if(u!=l&&!a)return!1;for(var o=u;o--;){var c=s[o];if(!(a?c in r:Ze.call(r,c)))return!1}var h=i.get(n),A=i.get(r);if(h&&A)return h==r&&A==n;var y=!0;i.set(n,r),i.set(r,n);for(var d=a;++o<u;){c=s[o];var p=n[c],O=r[c];if(t)var Z=a?t(O,p,c,r,n,i):t(p,O,c,n,r,i);if(!(Z===void 0?p===O||f(p,O,e,t,i):Z)){y=!1;break}d||(d=c=="constructor")}if(y&&!d){var P=n.constructor,v=r.constructor;P!=v&&"constructor"in n&&"constructor"in r&&!(typeof P=="function"&&P instanceof P&&typeof v=="function"&&v instanceof v)&&(y=!1)}return i.delete(n),i.delete(r),y}var Je=1,tn="[object Arguments]",fn="[object Array]",L="[object Object]",Qe=Object.prototype,an=Qe.hasOwnProperty;function We(n,r,e,t,f,i){var a=T(n),s=T(r),u=a?fn:E(n),b=s?fn:E(r);u=u==tn?L:u,b=b==tn?L:b;var l=u==L,o=b==L,c=u==b;if(c&&D(n)){if(!D(r))return!1;a=!0,l=!1}if(c&&!l)return i||(i=new _),a||jn(n)?In(n,r,e,t,f,i):He(n,r,u,e,t,f,i);if(!(e&Je)){var h=l&&an.call(n,"__wrapped__"),A=o&&an.call(r,"__wrapped__");if(h||A){var y=h?n.value():n,d=A?r.value():r;return i||(i=new _),f(y,d,e,t,i)}}return c?(i||(i=new _),Xe(n,r,e,t,f,i)):!1}function q(n,r,e,t,f){return n===r?!0:n==null||r==null||!S(n)&&!S(r)?n!==n&&r!==r:We(n,r,e,t,q,f)}var ze=1,Ve=2;function ke(n,r,e,t){var f=e.length,i=f;if(n==null)return!i;for(n=Object(n);f--;){var a=e[f];if(a[2]?a[1]!==n[a[0]]:!(a[0]in n))return!1}for(;++f<i;){a=e[f];var s=a[0],u=n[s],b=a[1];if(a[2]){if(u===void 0&&!(s in n))return!1}else{var l=new _,o;if(!(o===void 0?q(b,u,ze|Ve,t,l):o))return!1}}return!0}function Pn(n){return n===n&&!ln(n)}function nt(n){for(var r=$(n),e=r.length;e--;){var t=r[e],f=n[t];r[e]=[t,f,Pn(f)]}return r}function vn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function rt(n){var r=nt(n);return r.length==1&&r[0][2]?vn(r[0][0],r[0][1]):function(e){return e===n||ke(e,n,r)}}function et(n,r){return n!=null&&r in Object(n)}function tt(n,r,e){r=An(r,n);for(var t=-1,f=r.length,i=!1;++t<f;){var a=m(r[t]);if(!(i=n!=null&&e(n,a)))break;n=n[a]}return i||++t!=f?i:(f=n==null?0:n.length,!!f&&Hn(f)&&qn(a,f)&&(T(n)||un(n)))}function it(n,r){return n!=null&&tt(n,r,et)}var ft=1,at=2;function st(n,r){return N(n)&&Pn(r)?vn(m(n),r):function(e){var t=sr(e,n);return t===void 0&&t===r?it(e,n):q(r,t,ft|at)}}function ut(n){return function(r){return r?.[n]}}function ot(n){return function(r){return yn(r,n)}}function gt(n){return N(n)?ut(m(n)):ot(n)}function Ln(n){return typeof n=="function"?n:n==null?cn:typeof n=="object"?T(n)?st(n[0],n[1]):rt(n):gt(n)}function lt(n,r){return n&&Yn(n,r,$)}function ct(n,r){return function(e,t){if(e==null)return e;if(!sn(e))return n(e,t);for(var f=e.length,i=-1,a=Object(e);++i<f&&t(a[i],i,a)!==!1;);return e}}var Y=ct(lt);function bt(n){return typeof n=="function"?n:cn}function $t(n,r){var e=T(n)?pn:Y;return e(n,bt(r))}function dt(n,r){var e=[];return Y(n,function(t,f,i){r(t,f,i)&&e.push(t)}),e}function _t(n,r){var e=T(n)?Tn:dt;return e(n,Ln(r))}function pt(n,r){return bn(r,function(e){return n[e]})}function St(n){return n==null?[]:pt(n,$(n))}function Et(n){return n===void 0}function At(n,r,e,t,f){return f(n,function(i,a,s){e=t?(t=!1,i):r(e,i,a,s)}),e}function It(n,r,e){var t=T(n)?or:At,f=arguments.length<3;return t(n,Ln(r),e,f,Y)}var yt=1/0,Tt=C&&1/H(new C([,-0]))[1]==yt?function(n){return new C(n)}:Xn,ht=200;function Pt(n,r,e){var t=-1,f=Vn,i=n.length,a=!0,s=[],u=s;if(i>=ht){var b=r?null:Tt(n);if(b)return H(b);a=!1,f=En,u=new I}else u=r?[]:s;n:for(;++t<i;){var l=n[t],o=r?r(l):l;if(l=l!==0?l:0,a&&o===o){for(var c=u.length;c--;)if(u[c]===o)continue n;r&&u.push(o),s.push(l)}else f(u,o,e)||(u!==s&&u.push(o),s.push(l))}return s}export{Tn as A,dt as B,Ie as C,Xn as D,I as S,Pt as a,M as b,Ot as c,$t as d,U as e,_t as f,Ln as g,Jn as h,Et as i,Y as j,$ as k,bn as l,tt as m,An as n,yn as o,bt as p,lt as q,It as r,it as s,m as t,ar as u,St as v,Vn as w,En as x,zn as y,yr as z};
|
|
1
|
+
import{bg as S,bh as Rn,aY as T,bi as w,bj as xn,bk as mn,aX as sn,bl as Cn,bm as un,bn as x,aV as B,bo as Mn,bp as on,bq as Fn,br as E,be as gn,bs as R,aT as ln,bt as Dn,bu as D,bv as Gn,bw as Bn,bx as _,a$ as Un,by as Nn,aW as Kn,bz as X,bA as jn,bB as Hn,a_ as qn,aZ as cn,bc as Yn,bC as C}from"./mermaid.core-DqlPTabt.js";var Zn="[object Symbol]";function U(n){return typeof n=="symbol"||S(n)&&Rn(n)==Zn}function bn(n,r){for(var e=-1,t=n==null?0:n.length,f=Array(t);++e<t;)f[e]=r(n[e],e,n);return f}var J=w?w.prototype:void 0,Q=J?J.toString:void 0;function dn(n){if(typeof n=="string")return n;if(T(n))return bn(n,dn)+"";if(U(n))return Q?Q.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Xn(){}function pn(n,r){for(var e=-1,t=n==null?0:n.length;++e<t&&r(n[e],e,n)!==!1;);return n}function Jn(n,r,e,t){for(var f=n.length,i=e+-1;++i<f;)if(r(n[i],i,n))return i;return-1}function Qn(n){return n!==n}function Wn(n,r,e){for(var t=e-1,f=n.length;++t<f;)if(n[t]===r)return t;return-1}function zn(n,r,e){return r===r?Wn(n,r,e):Jn(n,Qn,e)}function Vn(n,r){var e=n==null?0:n.length;return!!e&&zn(n,r,0)>-1}function $(n){return sn(n)?xn(n):mn(n)}var kn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nr=/^\w*$/;function N(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||U(n)?!0:nr.test(n)||!kn.test(n)||r!=null&&n in Object(r)}var rr=500;function er(n){var r=Cn(n,function(t){return e.size===rr&&e.clear(),t}),e=r.cache;return r}var tr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ir=/\\(\\)?/g,fr=er(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(tr,function(e,t,f,i){r.push(f?i.replace(ir,"$1"):t||e)}),r});function ar(n){return n==null?"":dn(n)}function An(n,r){return T(n)?n:N(n,r)?[n]:fr(ar(n))}function m(n){if(typeof n=="string"||U(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(n,r){r=An(r,n);for(var e=0,t=r.length;n!=null&&e<t;)n=n[m(r[e++])];return e&&e==t?n:void 0}function sr(n,r,e){var t=n==null?void 0:yn(n,r);return t===void 0?e:t}function K(n,r){for(var e=-1,t=r.length,f=n.length;++e<t;)n[f+e]=r[e];return n}var W=w?w.isConcatSpreadable:void 0;function ur(n){return T(n)||un(n)||!!(W&&n&&n[W])}function Ot(n,r,e,t,f){var i=-1,a=n.length;for(e||(e=ur),f||(f=[]);++i<a;){var s=n[i];e(s)?K(f,s):t||(f[f.length]=s)}return f}function or(n,r,e,t){var f=-1,i=n==null?0:n.length;for(t&&i&&(e=n[++f]);++f<i;)e=r(e,n[f],f,n);return e}function gr(n,r){return n&&x(r,$(r),n)}function lr(n,r){return n&&x(r,B(r),n)}function Tn(n,r){for(var e=-1,t=n==null?0:n.length,f=0,i=[];++e<t;){var a=n[e];r(a,e,n)&&(i[f++]=a)}return i}function hn(){return[]}var cr=Object.prototype,br=cr.propertyIsEnumerable,z=Object.getOwnPropertySymbols,j=z?function(n){return n==null?[]:(n=Object(n),Tn(z(n),function(r){return br.call(n,r)}))}:hn;function dr(n,r){return x(n,j(n),r)}var pr=Object.getOwnPropertySymbols,wn=pr?function(n){for(var r=[];n;)K(r,j(n)),n=Mn(n);return r}:hn;function Ar(n,r){return x(n,wn(n),r)}function On(n,r,e){var t=r(n);return T(n)?t:K(t,e(n))}function G(n){return On(n,$,j)}function yr(n){return On(n,B,wn)}var Tr=Object.prototype,hr=Tr.hasOwnProperty;function wr(n){var r=n.length,e=new n.constructor(r);return r&&typeof n[0]=="string"&&hr.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function Or(n,r){var e=r?on(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}var $r=/\w*$/;function _r(n){var r=new n.constructor(n.source,$r.exec(n));return r.lastIndex=n.lastIndex,r}var V=w?w.prototype:void 0,k=V?V.valueOf:void 0;function Sr(n){return k?Object(k.call(n)):{}}var Er="[object Boolean]",Ir="[object Date]",Pr="[object Map]",vr="[object Number]",Lr="[object RegExp]",Rr="[object Set]",xr="[object String]",mr="[object Symbol]",Cr="[object ArrayBuffer]",Mr="[object DataView]",Fr="[object Float32Array]",Dr="[object Float64Array]",Gr="[object Int8Array]",Br="[object Int16Array]",Ur="[object Int32Array]",Nr="[object Uint8Array]",Kr="[object Uint8ClampedArray]",jr="[object Uint16Array]",Hr="[object Uint32Array]";function qr(n,r,e){var t=n.constructor;switch(r){case Cr:return on(n);case Er:case Ir:return new t(+n);case Mr:return Or(n,e);case Fr:case Dr:case Gr:case Br:case Ur:case Nr:case Kr:case jr:case Hr:return Fn(n,e);case Pr:return new t;case vr:case xr:return new t(n);case Lr:return _r(n);case Rr:return new t;case mr:return Sr(n)}}var Yr="[object Map]";function Zr(n){return S(n)&&E(n)==Yr}var nn=R&&R.isMap,Xr=nn?gn(nn):Zr,Jr="[object Set]";function Qr(n){return S(n)&&E(n)==Jr}var rn=R&&R.isSet,Wr=rn?gn(rn):Qr,zr=1,Vr=2,kr=4,$n="[object Arguments]",ne="[object Array]",re="[object Boolean]",ee="[object Date]",te="[object Error]",_n="[object Function]",ie="[object GeneratorFunction]",fe="[object Map]",ae="[object Number]",Sn="[object Object]",se="[object RegExp]",ue="[object Set]",oe="[object String]",ge="[object Symbol]",le="[object WeakMap]",ce="[object ArrayBuffer]",be="[object DataView]",de="[object Float32Array]",pe="[object Float64Array]",Ae="[object Int8Array]",ye="[object Int16Array]",Te="[object Int32Array]",he="[object Uint8Array]",we="[object Uint8ClampedArray]",Oe="[object Uint16Array]",$e="[object Uint32Array]",g={};g[$n]=g[ne]=g[ce]=g[be]=g[re]=g[ee]=g[de]=g[pe]=g[Ae]=g[ye]=g[Te]=g[fe]=g[ae]=g[Sn]=g[se]=g[ue]=g[oe]=g[ge]=g[he]=g[we]=g[Oe]=g[$e]=!0;g[te]=g[_n]=g[le]=!1;function M(n,r,e,t,f,i){var a,s=r&zr,u=r&Vr,b=r&kr;if(a!==void 0)return a;if(!ln(n))return n;var l=T(n);if(l){if(a=wr(n),!s)return Dn(n,a)}else{var o=E(n),c=o==_n||o==ie;if(D(n))return Gn(n,s);if(o==Sn||o==$n||c&&!f){if(a=u||c?{}:Bn(n),!s)return u?Ar(n,lr(a,n)):dr(n,gr(a,n))}else{if(!g[o])return f?n:{};a=qr(n,o,s)}}i||(i=new _);var h=i.get(n);if(h)return h;i.set(n,a),Wr(n)?n.forEach(function(d){a.add(M(d,r,e,d,n,i))}):Xr(n)&&n.forEach(function(d,p){a.set(p,M(d,r,e,p,n,i))});var A=b?u?yr:G:u?B:$,y=l?void 0:A(n);return pn(y||n,function(d,p){y&&(p=d,d=n[p]),Un(a,p,M(d,r,e,p,n,i))}),a}var _e="__lodash_hash_undefined__";function Se(n){return this.__data__.set(n,_e),this}function Ee(n){return this.__data__.has(n)}function I(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new Nn;++r<e;)this.add(n[r])}I.prototype.add=I.prototype.push=Se;I.prototype.has=Ee;function Ie(n,r){for(var e=-1,t=n==null?0:n.length;++e<t;)if(r(n[e],e,n))return!0;return!1}function En(n,r){return n.has(r)}var Pe=1,ve=2;function In(n,r,e,t,f,i){var a=e&Pe,s=n.length,u=r.length;if(s!=u&&!(a&&u>s))return!1;var b=i.get(n),l=i.get(r);if(b&&l)return b==r&&l==n;var o=-1,c=!0,h=e&ve?new I:void 0;for(i.set(n,r),i.set(r,n);++o<s;){var A=n[o],y=r[o];if(t)var d=a?t(y,A,o,r,n,i):t(A,y,o,n,r,i);if(d!==void 0){if(d)continue;c=!1;break}if(h){if(!Ie(r,function(p,O){if(!En(h,O)&&(A===p||f(A,p,e,t,i)))return h.push(O)})){c=!1;break}}else if(!(A===y||f(A,y,e,t,i))){c=!1;break}}return i.delete(n),i.delete(r),c}function Le(n){var r=-1,e=Array(n.size);return n.forEach(function(t,f){e[++r]=[f,t]}),e}function H(n){var r=-1,e=Array(n.size);return n.forEach(function(t){e[++r]=t}),e}var Re=1,xe=2,me="[object Boolean]",Ce="[object Date]",Me="[object Error]",Fe="[object Map]",De="[object Number]",Ge="[object RegExp]",Be="[object Set]",Ue="[object String]",Ne="[object Symbol]",Ke="[object ArrayBuffer]",je="[object DataView]",en=w?w.prototype:void 0,F=en?en.valueOf:void 0;function He(n,r,e,t,f,i,a){switch(e){case je:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case Ke:return!(n.byteLength!=r.byteLength||!i(new X(n),new X(r)));case me:case Ce:case De:return Kn(+n,+r);case Me:return n.name==r.name&&n.message==r.message;case Ge:case Ue:return n==r+"";case Fe:var s=Le;case Be:var u=tℜif(s||(s=H),n.size!=r.size&&!u)return!1;var b=a.get(n);if(b)return b==r;t|=xe,a.set(n,r);var l=In(s(n),s(r),t,f,i,a);return a.delete(n),l;case Ne:if(F)return F.call(n)==F.call(r)}return!1}var qe=1,Ye=Object.prototype,Ze=Ye.hasOwnProperty;function Xe(n,r,e,t,f,i){var a=e&qe,s=G(n),u=s.length,b=G(r),l=b.length;if(u!=l&&!a)return!1;for(var o=u;o--;){var c=s[o];if(!(a?c in r:Ze.call(r,c)))return!1}var h=i.get(n),A=i.get(r);if(h&&A)return h==r&&A==n;var y=!0;i.set(n,r),i.set(r,n);for(var d=a;++o<u;){c=s[o];var p=n[c],O=r[c];if(t)var Z=a?t(O,p,c,r,n,i):t(p,O,c,n,r,i);if(!(Z===void 0?p===O||f(p,O,e,t,i):Z)){y=!1;break}d||(d=c=="constructor")}if(y&&!d){var P=n.constructor,v=r.constructor;P!=v&&"constructor"in n&&"constructor"in r&&!(typeof P=="function"&&P instanceof P&&typeof v=="function"&&v instanceof v)&&(y=!1)}return i.delete(n),i.delete(r),y}var Je=1,tn="[object Arguments]",fn="[object Array]",L="[object Object]",Qe=Object.prototype,an=Qe.hasOwnProperty;function We(n,r,e,t,f,i){var a=T(n),s=T(r),u=a?fn:E(n),b=s?fn:E(r);u=u==tn?L:u,b=b==tn?L:b;var l=u==L,o=b==L,c=u==b;if(c&&D(n)){if(!D(r))return!1;a=!0,l=!1}if(c&&!l)return i||(i=new _),a||jn(n)?In(n,r,e,t,f,i):He(n,r,u,e,t,f,i);if(!(e&Je)){var h=l&&an.call(n,"__wrapped__"),A=o&&an.call(r,"__wrapped__");if(h||A){var y=h?n.value():n,d=A?r.value():r;return i||(i=new _),f(y,d,e,t,i)}}return c?(i||(i=new _),Xe(n,r,e,t,f,i)):!1}function q(n,r,e,t,f){return n===r?!0:n==null||r==null||!S(n)&&!S(r)?n!==n&&r!==r:We(n,r,e,t,q,f)}var ze=1,Ve=2;function ke(n,r,e,t){var f=e.length,i=f;if(n==null)return!i;for(n=Object(n);f--;){var a=e[f];if(a[2]?a[1]!==n[a[0]]:!(a[0]in n))return!1}for(;++f<i;){a=e[f];var s=a[0],u=n[s],b=a[1];if(a[2]){if(u===void 0&&!(s in n))return!1}else{var l=new _,o;if(!(o===void 0?q(b,u,ze|Ve,t,l):o))return!1}}return!0}function Pn(n){return n===n&&!ln(n)}function nt(n){for(var r=$(n),e=r.length;e--;){var t=r[e],f=n[t];r[e]=[t,f,Pn(f)]}return r}function vn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function rt(n){var r=nt(n);return r.length==1&&r[0][2]?vn(r[0][0],r[0][1]):function(e){return e===n||ke(e,n,r)}}function et(n,r){return n!=null&&r in Object(n)}function tt(n,r,e){r=An(r,n);for(var t=-1,f=r.length,i=!1;++t<f;){var a=m(r[t]);if(!(i=n!=null&&e(n,a)))break;n=n[a]}return i||++t!=f?i:(f=n==null?0:n.length,!!f&&Hn(f)&&qn(a,f)&&(T(n)||un(n)))}function it(n,r){return n!=null&&tt(n,r,et)}var ft=1,at=2;function st(n,r){return N(n)&&Pn(r)?vn(m(n),r):function(e){var t=sr(e,n);return t===void 0&&t===r?it(e,n):q(r,t,ft|at)}}function ut(n){return function(r){return r?.[n]}}function ot(n){return function(r){return yn(r,n)}}function gt(n){return N(n)?ut(m(n)):ot(n)}function Ln(n){return typeof n=="function"?n:n==null?cn:typeof n=="object"?T(n)?st(n[0],n[1]):rt(n):gt(n)}function lt(n,r){return n&&Yn(n,r,$)}function ct(n,r){return function(e,t){if(e==null)return e;if(!sn(e))return n(e,t);for(var f=e.length,i=-1,a=Object(e);++i<f&&t(a[i],i,a)!==!1;);return e}}var Y=ct(lt);function bt(n){return typeof n=="function"?n:cn}function $t(n,r){var e=T(n)?pn:Y;return e(n,bt(r))}function dt(n,r){var e=[];return Y(n,function(t,f,i){r(t,f,i)&&e.push(t)}),e}function _t(n,r){var e=T(n)?Tn:dt;return e(n,Ln(r))}function pt(n,r){return bn(r,function(e){return n[e]})}function St(n){return n==null?[]:pt(n,$(n))}function Et(n){return n===void 0}function At(n,r,e,t,f){return f(n,function(i,a,s){e=t?(t=!1,i):r(e,i,a,s)}),e}function It(n,r,e){var t=T(n)?or:At,f=arguments.length<3;return t(n,Ln(r),e,f,Y)}var yt=1/0,Tt=C&&1/H(new C([,-0]))[1]==yt?function(n){return new C(n)}:Xn,ht=200;function Pt(n,r,e){var t=-1,f=Vn,i=n.length,a=!0,s=[],u=s;if(i>=ht){var b=r?null:Tt(n);if(b)return H(b);a=!1,f=En,u=new I}else u=r?[]:s;n:for(;++t<i;){var l=n[t],o=r?r(l):l;if(l=l!==0?l:0,a&&o===o){for(var c=u.length;c--;)if(u[c]===o)continue n;r&&u.push(o),s.push(l)}else f(u,o,e)||(u!==s&&u.push(o),s.push(l))}return s}export{Tn as A,dt as B,Ie as C,Xn as D,I as S,Pt as a,M as b,Ot as c,$t as d,U as e,_t as f,Ln as g,Jn as h,Et as i,Y as j,$ as k,bn as l,tt as m,An as n,yn as o,bt as p,lt as q,It as r,it as s,m as t,ar as u,St as v,Vn as w,En as x,zn as y,yr as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{X as ln,Y as an,$ as C,a0 as q,a1 as $,a2 as un,a3 as y,a4 as tn,a5 as H,a6 as _,a7 as rn,a8 as o,a9 as sn,aa as on,ab as fn}from"./mermaid.core-
|
|
1
|
+
import{X as ln,Y as an,$ as C,a0 as q,a1 as $,a2 as un,a3 as y,a4 as tn,a5 as H,a6 as _,a7 as rn,a8 as o,a9 as sn,aa as on,ab as fn}from"./mermaid.core-DqlPTabt.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,j,a){var O=I-l,i=D-h,n=j-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 Q(l,h,I,D,v,A,j){var a=l-I,O=h-D,i=(j?A:-A)/H(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,z=(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)*H(on(0,T*T*R-P*P)),X=(P*g-m*S)/R,Y=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=X-z,e=Y-t,r=w-z,B=p-t;return x*x+e*e>r*r+B*B&&(X=w,Y=p),{cx:X,cy:Y,x01:-n,y01:-d,x11:X*(v/T-1),y11:Y*(v/T-1)}}function hn(){var l=cn,h=yn,I=$(0),D=null,v=gn,A=dn,j=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,z=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(z>tn-y)a.moveTo(s*C(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*C(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=z,S=z,X=j.apply(this,arguments)/2,Y=X>y&&(D?+D.apply(this,arguments):H(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(Y>y){var B=sn(Y/u*q(X)),J=sn(Y/s*q(X));(P-=B*2)>y?(B*=t?1:-1,R+=B,T-=B):(P=0,R=T=(f+c)/2),(S-=J*2)>y?(J*=t?1:-1,m+=J,g-=J):(S=0,m=g=(f+c)/2)}var F=s*C(m),G=s*q(m),K=u*C(T),L=u*q(T);if(w>y){var M=s*C(g),N=s*q(g),U=u*C(R),V=u*q(R),E;if(z<an)if(E=pn(F,G,U,V,M,N,K,L)){var W=F-E[0],Z=G-E[1],b=M-E[0],k=N-E[1],nn=1/q(fn((W*b+Z*k)/(H(W*W+Z*Z)*H(b*b+k*k)))/2),en=H(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=Q(U,V,F,G,s,x,t),r=Q(M,N,K,L,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(F,G),a.arc(0,0,s,m,g,!t)):a.moveTo(F,G),!(u>y)||!(P>y)?a.lineTo(K,L):p>y?(e=Q(K,L,M,N,u,-p,t),r=Q(F,G,U,V,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[C(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:$(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:$(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:$(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:$(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:$(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:$(+n),i):A},i.padAngle=function(n){return arguments.length?(j=typeof n=="function"?n:$(+n),i):j},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
|