@rashidee/co2 1.3.24 → 1.3.25
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/index.js +48 -1
- package/package.json +41 -41
- package/static/assets/{abnfDiagram-VRR7QNED-B_fP8Vz_.js → abnfDiagram-VRR7QNED-r3_rpvFo.js} +1 -1
- package/static/assets/{arc-jQ2jhD3o.js → arc-DbiqzTs-.js} +1 -1
- package/static/assets/{architectureDiagram-ZJ3FMSHR-CEunclu9.js → architectureDiagram-ZJ3FMSHR-BJ-dcYpi.js} +1 -1
- package/static/assets/{blockDiagram-677ZJIJ3-DpbPXGGb.js → blockDiagram-677ZJIJ3-BmHNspIR.js} +1 -1
- package/static/assets/{c4Diagram-LMCZKHZV-BMJArETU.js → c4Diagram-LMCZKHZV-CfgVJ9gr.js} +1 -1
- package/static/assets/channel-oJjZid9v.js +1 -0
- package/static/assets/{chunk-2Q5K7J3B-DWwnQ9gu.js → chunk-2Q5K7J3B-PNfiudSM.js} +1 -1
- package/static/assets/{chunk-32BRIVSS-mIi65b4i.js → chunk-32BRIVSS-DdD3xMjB.js} +1 -1
- package/static/assets/{chunk-5VM5RSS4-BDyMPvwt.js → chunk-5VM5RSS4-DS1ulZwP.js} +1 -1
- package/static/assets/{chunk-EX3LRPZG-Cfspbnh5.js → chunk-EX3LRPZG-CzVStkKt.js} +1 -1
- package/static/assets/{chunk-JWPE2WC7-277KBuwS.js → chunk-JWPE2WC7-De7uOmha.js} +1 -1
- package/static/assets/{chunk-MOJQB5TN-ctV9LaAX.js → chunk-MOJQB5TN-qyl8h8E8.js} +1 -1
- package/static/assets/{chunk-RYQCIY6F-CK9NdxUZ.js → chunk-RYQCIY6F-DQEjm1TG.js} +1 -1
- package/static/assets/{chunk-V7JOEXUC-CurUrryl.js → chunk-V7JOEXUC-CHii2kCZ.js} +1 -1
- package/static/assets/{chunk-VR4S4FIN-C6HOhkwt.js → chunk-VR4S4FIN-Y8HV5BKK.js} +1 -1
- package/static/assets/{chunk-XXDRQBXY-C09MJsiF.js → chunk-XXDRQBXY-s_-4DXsy.js} +1 -1
- package/static/assets/classDiagram-OUVF2IWQ-BBGkNxZZ.js +1 -0
- package/static/assets/classDiagram-v2-EOCWNBFH-BBGkNxZZ.js +1 -0
- package/static/assets/{cose-bilkent-JH36ORCC-ET_pJkh9.js → cose-bilkent-JH36ORCC-BeDdmDpD.js} +1 -1
- package/static/assets/{cynefin-VYW2F7L2-B6Oy4mbg.js → cynefin-VYW2F7L2-COUQslLO.js} +1 -1
- package/static/assets/{cynefinDiagram-TSTJHNR4-Br7gbIt6.js → cynefinDiagram-TSTJHNR4-BuPYyXEY.js} +1 -1
- package/static/assets/{dagre-VKFMJZFB-CGRMVLrv.js → dagre-VKFMJZFB-vqTchcyP.js} +1 -1
- package/static/assets/{diagram-FQU43EPY-Dasgaqiu.js → diagram-FQU43EPY-K_M0RuV-.js} +1 -1
- package/static/assets/{diagram-G47NLZAW-DZqXpbK0.js → diagram-G47NLZAW-DZQ1eHWp.js} +1 -1
- package/static/assets/{diagram-NH7WQ7WH-Cjp8mQVX.js → diagram-NH7WQ7WH-ayYySNnw.js} +1 -1
- package/static/assets/{diagram-OA4YK3LP-BHpTOief.js → diagram-OA4YK3LP-D62rbwWX.js} +1 -1
- package/static/assets/{diagram-WEI45ONY-BdjsSjwC.js → diagram-WEI45ONY-BgBuxQAR.js} +1 -1
- package/static/assets/{ebnfDiagram-CCIWWBDH-D3GJit-t.js → ebnfDiagram-CCIWWBDH-koE_7EDL.js} +1 -1
- package/static/assets/{erDiagram-Q63AITRT-CbreGRUM.js → erDiagram-Q63AITRT-AjFwiuV7.js} +1 -1
- package/static/assets/{flowDiagram-23GEKE2U-Bov8ggVs.js → flowDiagram-23GEKE2U-C0R1nVvy.js} +1 -1
- package/static/assets/{ganttDiagram-NO4QXBWP-DI2TRBdA.js → ganttDiagram-NO4QXBWP-CY-FcEEG.js} +1 -1
- package/static/assets/{gitGraphDiagram-IHSO6WYX-CB0I9Jzz.js → gitGraphDiagram-IHSO6WYX-DyJl7oIu.js} +1 -1
- package/static/assets/{index-DHqZVy2E.js → index-B6KU4H2y.js} +113 -113
- package/static/assets/{index-D58A6Kf1.css → index-DFOlKDT-.css} +1 -1
- package/static/assets/{infoDiagram-FWYZ7A6U-DrF8yTwW.js → infoDiagram-FWYZ7A6U-DHmQrTFz.js} +1 -1
- package/static/assets/{ishikawaDiagram-FXEZZL3T-DUB8-IzB.js → ishikawaDiagram-FXEZZL3T-Rrb_rX1Z.js} +1 -1
- package/static/assets/{journeyDiagram-5HDEW3XC-BRfaIEic.js → journeyDiagram-5HDEW3XC-C1X2-E8O.js} +1 -1
- package/static/assets/{kanban-definition-HUTT4EX6-BSSDB9_O.js → kanban-definition-HUTT4EX6-6taKamuj.js} +1 -1
- package/static/assets/{linear-oOGNCaPt.js → linear-BgfvUII2.js} +1 -1
- package/static/assets/{mindmap-definition-LN4V7U3C-D7f8ON4e.js → mindmap-definition-LN4V7U3C-CMIdnZlB.js} +1 -1
- package/static/assets/{pegDiagram-2B236MQR-BWLmrzb8.js → pegDiagram-2B236MQR-Ds5tsqTv.js} +1 -1
- package/static/assets/{pieDiagram-ENE6RG2P-DcXwgn9I.js → pieDiagram-ENE6RG2P-2nFB-KUn.js} +1 -1
- package/static/assets/{quadrantDiagram-ABIIQ3AL-BzeoX11K.js → quadrantDiagram-ABIIQ3AL-CXYP7EpA.js} +1 -1
- package/static/assets/{railroadDiagram-RFXS5EU6-DPa8V-DS.js → railroadDiagram-RFXS5EU6-ZWvggJi6.js} +1 -1
- package/static/assets/{requirementDiagram-TGXJPOKE-Bvv4E9CW.js → requirementDiagram-TGXJPOKE-B9pmz1Lq.js} +1 -1
- package/static/assets/{sankeyDiagram-HTMAVEWB-0MJhpRfa.js → sankeyDiagram-HTMAVEWB-p05V4NVU.js} +1 -1
- package/static/assets/{sequenceDiagram-DBY2YBRQ-DigLSZlS.js → sequenceDiagram-DBY2YBRQ-L1U6b6XO.js} +1 -1
- package/static/assets/{sizeCapture-X5ZJPWSS-6mCHKLvi.js → sizeCapture-X5ZJPWSS-DaxMca0_.js} +1 -1
- package/static/assets/{stateDiagram-2N3HPSRC-BaIapwPh.js → stateDiagram-2N3HPSRC-Cn9Oa3AO.js} +1 -1
- package/static/assets/stateDiagram-v2-6OUMAXLB-Cd04vp8B.js +1 -0
- package/static/assets/{swimlanes-5IMT3BWC-Doushgb5.js → swimlanes-5IMT3BWC-CB2axDli.js} +2 -2
- package/static/assets/swimlanesDiagram-G3AALYLV-GtoFqFbp.js +8 -0
- package/static/assets/{timeline-definition-FHXFAJF6-DQXoUYQ4.js → timeline-definition-FHXFAJF6-CBjRTzLu.js} +1 -1
- package/static/assets/{vennDiagram-L72KCM5P-DqoXPumC.js → vennDiagram-L72KCM5P-CU3sHFkZ.js} +1 -1
- package/static/assets/{wardleyDiagram-EHGQE667-CjaK_50N.js → wardleyDiagram-EHGQE667-BUEYUFnX.js} +1 -1
- package/static/assets/{xychartDiagram-FW5EYKEG-DUrmfVTr.js → xychartDiagram-FW5EYKEG-CsQatKqg.js} +1 -1
- package/static/index.html +2 -2
- package/static/assets/channel-D07NVaUc.js +0 -1
- package/static/assets/classDiagram-OUVF2IWQ-CVG8E0VE.js +0 -1
- package/static/assets/classDiagram-v2-EOCWNBFH-CVG8E0VE.js +0 -1
- package/static/assets/stateDiagram-v2-6OUMAXLB-DZNVilCm.js +0 -1
- package/static/assets/swimlanesDiagram-G3AALYLV-Dye5Ycrr.js +0 -8
package/dist/index.js
CHANGED
|
@@ -6809,7 +6809,7 @@ var {
|
|
|
6809
6809
|
// package.json
|
|
6810
6810
|
var package_default = {
|
|
6811
6811
|
name: "@rashidee/co2",
|
|
6812
|
-
version: "1.3.
|
|
6812
|
+
version: "1.3.25",
|
|
6813
6813
|
description: "Compound Context Studio \u2014 self-hosted team context authoring for CO2 projects",
|
|
6814
6814
|
type: "module",
|
|
6815
6815
|
license: "MIT",
|
|
@@ -19569,6 +19569,10 @@ var dashboardProjectSchema = external_exports.object({
|
|
|
19569
19569
|
// ../core/src/schemas/defect.ts
|
|
19570
19570
|
var bugStatusSchema = external_exports.enum(["open", "in_fix", "fixed", "verified", "closed"]);
|
|
19571
19571
|
var EDITABLE_BUG_STATUSES = ["open", "in_fix"];
|
|
19572
|
+
var REOPENABLE_BUG_STATUSES = ["open", "in_fix", "fixed"];
|
|
19573
|
+
var reopenBugsSchema = external_exports.object({
|
|
19574
|
+
bugIds: external_exports.array(external_exports.number().int().positive()).min(1)
|
|
19575
|
+
});
|
|
19572
19576
|
var createBugReportSchema = external_exports.object({
|
|
19573
19577
|
projectId: external_exports.number().int().positive(),
|
|
19574
19578
|
applicationId: external_exports.number().int().positive(),
|
|
@@ -24576,6 +24580,35 @@ function updateBugStatus(db, workspacePath, bugId, status) {
|
|
|
24576
24580
|
db.update(bugReports).set({ status, updatedAt: (/* @__PURE__ */ new Date()).toISOString() }).where(eq(bugReports.id, bugId)).run();
|
|
24577
24581
|
syncBugMdToDisk(db, workspacePath, existing.applicationId, bugId);
|
|
24578
24582
|
}
|
|
24583
|
+
function reopenBugReports(db, workspacePath, bugIds, userId) {
|
|
24584
|
+
if (bugIds.length === 0) throw svcError11("NO_BUGS_SELECTED", 400);
|
|
24585
|
+
const ids = [...new Set(bugIds)];
|
|
24586
|
+
const rows = db.select().from(bugReports).where(and(inArray(bugReports.id, ids), eq(bugReports.isDeleted, 0))).all();
|
|
24587
|
+
const first = rows[0];
|
|
24588
|
+
if (rows.length !== ids.length || !first) throw svcError11("BUG_NOT_FOUND", 404);
|
|
24589
|
+
const projectId = first.projectId;
|
|
24590
|
+
if (rows.some((r) => r.projectId !== projectId)) throw svcError11("REOPEN_CROSS_PROJECT", 400);
|
|
24591
|
+
const currentVersionId = ensureBaselineVersion(db, projectId, userId);
|
|
24592
|
+
for (const r of rows) {
|
|
24593
|
+
if (r.prdVersionId === currentVersionId || !REOPENABLE_BUG_STATUSES.includes(r.status)) {
|
|
24594
|
+
throw svcError11("BUG_NOT_REOPENABLE", 400);
|
|
24595
|
+
}
|
|
24596
|
+
}
|
|
24597
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
24598
|
+
db.transaction((tx) => {
|
|
24599
|
+
for (const r of rows) {
|
|
24600
|
+
tx.update(bugReports).set({ prdVersionId: currentVersionId, status: "open", updatedAt: now }).where(eq(bugReports.id, r.id)).run();
|
|
24601
|
+
}
|
|
24602
|
+
});
|
|
24603
|
+
for (const applicationId of [...new Set(rows.map((r) => r.applicationId))]) {
|
|
24604
|
+
try {
|
|
24605
|
+
generateBugMd(db, workspacePath, projectId, applicationId, userId);
|
|
24606
|
+
} catch {
|
|
24607
|
+
}
|
|
24608
|
+
}
|
|
24609
|
+
const updated = db.select({ bug: bugReports, reporterName: users.displayName }).from(bugReports).leftJoin(users, eq(users.id, bugReports.reportedBy)).where(inArray(bugReports.id, ids)).all();
|
|
24610
|
+
return updated.map((u) => toDto6(u.bug, u.reporterName));
|
|
24611
|
+
}
|
|
24579
24612
|
function bugCodeAndTitle(bug) {
|
|
24580
24613
|
const embedded = bug.title.match(/^\[(BUG-\d+)\]\s*(.*)$/);
|
|
24581
24614
|
if (embedded) return { code: embedded[1], title: (embedded[2] ?? "").trim() };
|
|
@@ -24901,6 +24934,20 @@ function defectRoutes(db, workspacePath) {
|
|
|
24901
24934
|
return errorResponse5(c, e);
|
|
24902
24935
|
}
|
|
24903
24936
|
});
|
|
24937
|
+
const validateReopen = zValidator("json", reopenBugsSchema, (result, c) => {
|
|
24938
|
+
if (!result.success) {
|
|
24939
|
+
return c.json({ code: "VALIDATION_FAILED", issues: result.error.issues }, 422);
|
|
24940
|
+
}
|
|
24941
|
+
});
|
|
24942
|
+
app.post("/reopen", validateReopen, (c) => {
|
|
24943
|
+
const user = c.get("user");
|
|
24944
|
+
try {
|
|
24945
|
+
const moved = reopenBugReports(db, workspacePath, c.req.valid("json").bugIds, user.id);
|
|
24946
|
+
return c.json({ moved });
|
|
24947
|
+
} catch (e) {
|
|
24948
|
+
return errorResponse5(c, e);
|
|
24949
|
+
}
|
|
24950
|
+
});
|
|
24904
24951
|
app.get("/projects/:projectId/can-report", (c) => {
|
|
24905
24952
|
const projectId = Number(c.req.param("projectId"));
|
|
24906
24953
|
if (Number.isNaN(projectId)) return c.json({ code: "INVALID_ID" }, 400);
|
package/package.json
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@rashidee/co2",
|
|
3
|
-
"version": "1.3.
|
|
4
|
-
"description": "Compound Context Studio — self-hosted team context authoring for CO2 projects",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"license": "MIT",
|
|
7
|
-
"publishConfig": {
|
|
8
|
-
"access": "public"
|
|
9
|
-
},
|
|
10
|
-
"engines": {
|
|
11
|
-
"node": ">=22"
|
|
12
|
-
},
|
|
13
|
-
"bin": {
|
|
14
|
-
"co2": "dist/index.js"
|
|
15
|
-
},
|
|
16
|
-
"files": [
|
|
17
|
-
"dist",
|
|
18
|
-
"static",
|
|
19
|
-
"drizzle",
|
|
20
|
-
"plugin"
|
|
21
|
-
],
|
|
22
|
-
"scripts": {
|
|
23
|
-
"build": "tsup && node ../../scripts/copy-migrations.mjs && node ../../scripts/copy-web.mjs && node ../../scripts/copy-plugin.mjs"
|
|
24
|
-
},
|
|
25
|
-
"dependencies": {
|
|
26
|
-
"better-sqlite3": "^12.2.0",
|
|
27
|
-
"node-pty": "^1.0.0"
|
|
28
|
-
},
|
|
29
|
-
"devDependencies": {
|
|
30
|
-
"@co2-cli/core": "workspace:*",
|
|
31
|
-
"@co2-cli/server": "workspace:*",
|
|
32
|
-
"@hono/node-server": "^1.13.0",
|
|
33
|
-
"@hono/zod-validator": "^0.4.1",
|
|
34
|
-
"commander": "^12.1.0",
|
|
35
|
-
"drizzle-orm": "^0.36.0",
|
|
36
|
-
"hono": "^4.6.0",
|
|
37
|
-
"picocolors": "^1.1.0",
|
|
38
|
-
"tsup": "^8.3.0",
|
|
39
|
-
"zod": "^3.23.8"
|
|
40
|
-
}
|
|
41
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@rashidee/co2",
|
|
3
|
+
"version": "1.3.25",
|
|
4
|
+
"description": "Compound Context Studio — self-hosted team context authoring for CO2 projects",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"publishConfig": {
|
|
8
|
+
"access": "public"
|
|
9
|
+
},
|
|
10
|
+
"engines": {
|
|
11
|
+
"node": ">=22"
|
|
12
|
+
},
|
|
13
|
+
"bin": {
|
|
14
|
+
"co2": "dist/index.js"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist",
|
|
18
|
+
"static",
|
|
19
|
+
"drizzle",
|
|
20
|
+
"plugin"
|
|
21
|
+
],
|
|
22
|
+
"scripts": {
|
|
23
|
+
"build": "tsup && node ../../scripts/copy-migrations.mjs && node ../../scripts/copy-web.mjs && node ../../scripts/copy-plugin.mjs"
|
|
24
|
+
},
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"better-sqlite3": "^12.2.0",
|
|
27
|
+
"node-pty": "^1.0.0"
|
|
28
|
+
},
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"@co2-cli/core": "workspace:*",
|
|
31
|
+
"@co2-cli/server": "workspace:*",
|
|
32
|
+
"@hono/node-server": "^1.13.0",
|
|
33
|
+
"@hono/zod-validator": "^0.4.1",
|
|
34
|
+
"commander": "^12.1.0",
|
|
35
|
+
"drizzle-orm": "^0.36.0",
|
|
36
|
+
"hono": "^4.6.0",
|
|
37
|
+
"picocolors": "^1.1.0",
|
|
38
|
+
"tsup": "^8.3.0",
|
|
39
|
+
"zod": "^3.23.8"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as p,r as u,d as a}from"./chunk-MOJQB5TN-
|
|
1
|
+
import{g as p,r as u,d as a}from"./chunk-MOJQB5TN-qyl8h8E8.js";import{p as f}from"./chunk-JWPE2WC7-De7uOmha.js";import{_ as n,l as o}from"./index-B6KU4H2y.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-COUQslLO.js";var v=d().RailroadAbnf.parser.LangiumParser,l=n(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),i=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:i,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=n(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return l(e.element);case"AbnfOptionalGroup":return{type:"optional",element:l(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:l(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},w={parser:R,db:a,renderer:u,styles:p};export{w as diagram};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Y as ln,$ as an,a0 as y,a1 as tn,a2 as F,a3 as q,a4 as _,a5 as un,a6 as rn,a7 as J,a8 as o,a9 as j,aa as sn,ab as on,ac as fn}from"./index-
|
|
1
|
+
import{Y as ln,$ as an,a0 as y,a1 as tn,a2 as F,a3 as q,a4 as _,a5 as un,a6 as rn,a7 as J,a8 as o,a9 as j,aa as sn,ab as on,ac as fn}from"./index-B6KU4H2y.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,z,a){var O=I-l,i=D-h,n=z-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 U(l,h,I,D,v,A,z){var a=l-I,O=h-D,i=(z?A:-A)/J(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,B=(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)*J(fn(0,T*T*R-P*P)),Y=(P*g-m*S)/R,$=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=Y-B,e=$-t,r=w-B,C=p-t;return x*x+e*e>r*r+C*C&&(Y=w,$=p),{cx:Y,cy:$,x01:-n,y01:-d,x11:Y*(v/T-1),y11:$*(v/T-1)}}function hn(){var l=cn,h=yn,I=j(0),D=null,v=gn,A=dn,z=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)-an,c=A.apply(this,arguments)-an,B=un(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(B>tn-y)a.moveTo(s*F(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*F(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=B,S=B,Y=z.apply(this,arguments)/2,$=Y>y&&(D?+D.apply(this,arguments):J(u*u+s*s)),w=_(un(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if($>y){var C=sn($/u*q(Y)),K=sn($/s*q(Y));(P-=C*2)>y?(C*=t?1:-1,R+=C,T-=C):(P=0,R=T=(f+c)/2),(S-=K*2)>y?(K*=t?1:-1,m+=K,g-=K):(S=0,m=g=(f+c)/2)}var G=s*F(m),H=s*q(m),L=u*F(T),M=u*q(T);if(w>y){var N=s*F(g),Q=s*q(g),V=u*F(R),W=u*q(R),E;if(B<rn)if(E=pn(G,H,V,W,N,Q,L,M)){var X=G-E[0],Z=H-E[1],b=N-E[0],k=Q-E[1],nn=1/q(on((X*b+Z*k)/(J(X*X+Z*Z)*J(b*b+k*k)))/2),en=J(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=U(V,W,G,H,s,x,t),r=U(N,Q,L,M,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(G,H),a.arc(0,0,s,m,g,!t)):a.moveTo(G,H),!(u>y)||!(P>y)?a.lineTo(L,M):p>y?(e=U(L,M,N,Q,u,-p,t),r=U(G,H,V,W,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-rn/2;return[F(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:j(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:j(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:j(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:j(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:j(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:j(+n),i):A},i.padAngle=function(n){return arguments.length?(z=typeof n=="function"?n:j(+n),i):z},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
|