agentic-mermaid 0.4.1 → 0.5.3
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/AGENT_NATIVE.md +94 -627
- package/CHANGELOG.md +651 -0
- package/Instructions_for_agents.md +44 -23
- package/LICENSES/Khroma-MIT.txt +21 -0
- package/LICENSES/Mermaid-MIT.txt +21 -0
- package/LICENSES/es-toolkit-MIT.txt +21 -0
- package/LICENSES/pele-MIT.txt +40 -0
- package/LICENSES/zenuml-core-MIT.txt +21 -0
- package/README.md +93 -50
- package/SECURITY.md +28 -12
- package/THIRD_PARTY_NOTICES.md +60 -0
- package/assets/hero.png +0 -0
- package/dist/agent-core.d.ts +478 -210
- package/dist/agent-core.js +1 -396
- package/dist/agent.d.ts +17 -8
- package/dist/agent.js +1 -408
- package/dist/agentic-mermaid-mcp.js +1 -11
- package/dist/am.js +1 -34562
- package/dist/browser-lazy/chunks/agentic-producer-core-CC6OOLDW.js +1 -0
- package/dist/browser-lazy/chunks/architecture-QUFVKYJR.js +13 -0
- package/dist/browser-lazy/chunks/block-6J3Q63BO.js +11 -0
- package/dist/browser-lazy/chunks/builtin-backends-7SOZZHPF.js +12 -0
- package/dist/browser-lazy/chunks/c4-SQVBZAKJ.js +10 -0
- package/dist/browser-lazy/chunks/chunk-2GPK4VFF.js +5 -0
- package/dist/browser-lazy/chunks/chunk-2I4UPL7Q.js +3 -0
- package/dist/browser-lazy/chunks/chunk-2SH76OTH.js +1 -0
- package/dist/browser-lazy/chunks/chunk-2UIA2IME.js +3 -0
- package/dist/browser-lazy/chunks/chunk-4LHYF3BS.js +1 -0
- package/dist/browser-lazy/chunks/chunk-5B2Z7575.js +1 -0
- package/dist/browser-lazy/chunks/chunk-5FQ534HP.js +1 -0
- package/dist/browser-lazy/chunks/chunk-5UVGUSD6.js +1 -0
- package/dist/browser-lazy/chunks/chunk-5X6MJX3H.js +1 -0
- package/dist/browser-lazy/chunks/chunk-AMJLVPUB.js +4 -0
- package/dist/browser-lazy/chunks/chunk-BU5LHXNJ.js +3 -0
- package/dist/browser-lazy/chunks/chunk-BY2CPG6B.js +1 -0
- package/dist/browser-lazy/chunks/chunk-CN7WTBWB.js +1 -0
- package/dist/browser-lazy/chunks/chunk-CQE4HQEW.js +1 -0
- package/dist/browser-lazy/chunks/chunk-CSFUKSU6.js +1 -0
- package/dist/browser-lazy/chunks/chunk-DF6765YX.js +17 -0
- package/dist/browser-lazy/chunks/chunk-E2WMJZNM.js +1 -0
- package/dist/browser-lazy/chunks/chunk-FAIMVOX5.js +6 -0
- package/dist/browser-lazy/chunks/chunk-GVOEAY52.js +1 -0
- package/dist/browser-lazy/chunks/chunk-HLWUNUCM.js +1 -0
- package/dist/browser-lazy/chunks/chunk-ICC7HBJX.js +1 -0
- package/dist/browser-lazy/chunks/chunk-J35HAQQF.js +20 -0
- package/dist/browser-lazy/chunks/chunk-J7FFAFQF.js +1 -0
- package/dist/browser-lazy/chunks/chunk-LH7HUDKW.js +1 -0
- package/dist/browser-lazy/chunks/chunk-N5ELX7LR.js +2 -0
- package/dist/browser-lazy/chunks/chunk-NMQQMRIR.js +1 -0
- package/dist/browser-lazy/chunks/chunk-NO7ZIVRU.js +1 -0
- package/dist/browser-lazy/chunks/chunk-OZ443IVJ.js +16 -0
- package/dist/browser-lazy/chunks/chunk-PQGPS2YV.js +7 -0
- package/dist/browser-lazy/chunks/chunk-QA6GJQ4X.js +1 -0
- package/dist/browser-lazy/chunks/chunk-RIVTHZAQ.js +1 -0
- package/dist/browser-lazy/chunks/chunk-SZELX2EJ.js +1 -0
- package/dist/browser-lazy/chunks/chunk-TYZOZXUJ.js +22 -0
- package/dist/browser-lazy/chunks/chunk-UL6NDWLL.js +1 -0
- package/dist/browser-lazy/chunks/chunk-VQYYGAXP.js +1 -0
- package/dist/browser-lazy/chunks/chunk-VWVZGQE2.js +1 -0
- package/dist/browser-lazy/chunks/chunk-X2UYKWKM.js +4 -0
- package/dist/browser-lazy/chunks/chunk-YCEICNM6.js +1 -0
- package/dist/browser-lazy/chunks/chunk-Z3FDIVLN.js +20 -0
- package/dist/browser-lazy/chunks/class-5QA4SCTS.js +13 -0
- package/dist/browser-lazy/chunks/decode-63UIZGD2.js +1 -0
- package/dist/browser-lazy/chunks/elk.bundled-L4CADV5W.js +24 -0
- package/dist/browser-lazy/chunks/er-7ZSKGN7Y.js +11 -0
- package/dist/browser-lazy/chunks/eventmodeling-2BPLHWRN.js +19 -0
- package/dist/browser-lazy/chunks/flowchart-NEIMZTB5.js +4 -0
- package/dist/browser-lazy/chunks/forest-implementation-AEP24AIP.js +1 -0
- package/dist/browser-lazy/chunks/gantt-RDPIFYAF.js +11 -0
- package/dist/browser-lazy/chunks/gitgraph-N4Y5RYB7.js +9 -0
- package/dist/browser-lazy/chunks/ishikawa-LD3YBDJN.js +6 -0
- package/dist/browser-lazy/chunks/journey-6YQR5DJX.js +16 -0
- package/dist/browser-lazy/chunks/kanban-PLMJ7NBW.js +20 -0
- package/dist/browser-lazy/chunks/mermaid-yaml-runtime-QVYX4EWK.js +136 -0
- package/dist/browser-lazy/chunks/mindmap-K2UBFO3Y.js +12 -0
- package/dist/browser-lazy/chunks/packet-CUW4QY6Y.js +7 -0
- package/dist/browser-lazy/chunks/pie-7F7UUCG3.js +15 -0
- package/dist/browser-lazy/chunks/quadrant-TOONO2WC.js +10 -0
- package/dist/browser-lazy/chunks/radar-J6JVWVAX.js +16 -0
- package/dist/browser-lazy/chunks/render-core-BZOM3K7D.js +3 -0
- package/dist/browser-lazy/chunks/requirement-CMAKDJPO.js +19 -0
- package/dist/browser-lazy/chunks/sankey-AWXQEP3F.js +13 -0
- package/dist/browser-lazy/chunks/sequence-Q2RJRB4L.js +5 -0
- package/dist/browser-lazy/chunks/state-WRBFQEDX.js +4 -0
- package/dist/browser-lazy/chunks/timeline-D2KILFXM.js +6 -0
- package/dist/browser-lazy/chunks/treemap-N3VYX5D4.js +6 -0
- package/dist/browser-lazy/chunks/xychart-G73OGK66.js +16 -0
- package/dist/browser-lazy/chunks/zenuml-H4BXNYXR.js +16 -0
- package/dist/browser-lazy/index.d.ts +544 -275
- package/dist/browser-lazy/index.js +1 -1
- package/dist/browser.global.js +802 -565
- package/dist/chunk-3LGLPG33.js +2 -0
- package/dist/chunk-7CRDX2QR.js +2 -0
- package/dist/chunk-7PPW2BMO.js +2 -0
- package/dist/chunk-DQDKA5ND.js +2 -0
- package/dist/chunk-EHCMJUMD.js +52 -0
- package/dist/chunk-GVCHLSHH.js +4 -0
- package/dist/chunk-H3NCS2XZ.js +19 -0
- package/dist/chunk-JZOJ4YGS.js +201 -0
- package/dist/chunk-MKE7GNYU.js +146 -0
- package/dist/chunk-NKNFOREZ.js +2 -0
- package/dist/chunk-O7H2UX5K.js +2 -0
- package/dist/chunk-OMY6NRQD.js +58 -0
- package/dist/chunk-UA234O4M.js +4 -0
- package/dist/chunk-VUFVLGTH.js +2 -0
- package/dist/chunk-XU5LPD2D.js +2 -0
- package/dist/cli-YGGTJZH7.js +226 -0
- package/dist/elk-constructor.js +2 -0
- package/dist/elk-constructor.node.js +11 -0
- package/dist/index-EeXqJXr5.d.ts +1223 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.js +1 -334
- package/dist/jsonl-RPJY6YWO.js +2 -0
- package/dist/mcp-cli-63DYXTVD.js +2 -0
- package/dist/{index-BGA_-6LV.d.ts → paint-certification-6rwQjIv_.d.ts} +5283 -6173
- package/dist/server-5NEOHOFS.js +524 -0
- package/dist/svg-styles-BdnoM7AT.d.ts +724 -0
- package/dist/svg-styles.d.ts +1 -0
- package/dist/svg-styles.js +2 -0
- package/dist/svg.d.ts +13 -0
- package/dist/svg.js +2 -0
- package/dist/types-BcS52Mjt.d.ts +1360 -0
- package/dist/zenuml/chunks/appearance-UOQ5KA6O.js +1 -0
- package/dist/zenuml/chunks/builtin-backends-KDKE7YHO.js +12 -0
- package/dist/zenuml/chunks/chunk-42DXZ5C6.js +4 -0
- package/dist/zenuml/chunks/chunk-7TVYPTDW.js +1 -0
- package/dist/zenuml/chunks/chunk-EVPSMEKN.js +1 -0
- package/dist/zenuml/chunks/chunk-OXQWRSBM.js +20 -0
- package/dist/zenuml/chunks/chunk-QWX77U7G.js +2 -0
- package/dist/zenuml/chunks/chunk-RLJEI7YN.js +29 -0
- package/dist/zenuml/chunks/chunk-RZ6XK5CD.js +29 -0
- package/dist/zenuml/chunks/decode-BWERFDGK.js +1 -0
- package/dist/zenuml/chunks/mermaid-yaml-runtime-KZVU74WU.js +136 -0
- package/dist/zenuml/chunks/render-core-V5RQ737O.js +3 -0
- package/dist/zenuml/chunks/zenuml-EA2ZFRUX.js +20 -0
- package/dist/zenuml-frame.global.js +3626 -0
- package/dist/zenuml.d.ts +83 -0
- package/dist/zenuml.js +1 -0
- package/docs/MCP-DIRECTORY-LISTINGS.md +5 -1
- package/docs/README.md +59 -103
- package/docs/agent-api-cookbook.md +26 -16
- package/docs/agent-mutation-policy.md +86 -15
- package/docs/agent-workflow-examples.md +1 -1
- package/docs/api-advanced.md +385 -0
- package/docs/api.md +320 -366
- package/docs/ascii.md +40 -4
- package/docs/browser.md +46 -7
- package/docs/choosing-a-diagram.md +148 -0
- package/docs/code-mode-impact.md +1 -0
- package/docs/comparison.md +244 -28
- package/docs/computational-aesthetics-prototype-plan.md +10 -10
- package/docs/config.md +60 -2
- package/docs/custom-fonts.md +78 -21
- package/docs/diagram-families.md +160 -10
- package/docs/eventmodeling-and-zenuml.md +165 -0
- package/docs/features.md +21 -19
- package/docs/fork-differences.md +105 -32
- package/docs/getting-started.md +56 -51
- package/docs/layout-certification.md +126 -0
- package/docs/mcp-code-mode-rationale.md +20 -12
- package/docs/mcp-http-transport.md +14 -8
- package/docs/quality.md +145 -15
- package/docs/react.md +76 -31
- package/docs/style-authoring.md +23 -11
- package/docs/svg-semantic-contract.md +104 -4
- package/docs/testing-strategy.md +684 -126
- package/docs/theming.md +27 -8
- package/examples/styles/readme-hero.md +25 -0
- package/examples/styles/readme-hero.mmd +13 -0
- package/examples/styles/readme-hero.style.json +7 -0
- package/package.json +114 -57
- package/server.json +2 -2
- package/skills/agentic-mermaid-diagram-workflow/SKILL.md +26 -8
- package/skills/agentic-mermaid-diagram-workflow/references/cli.md +13 -3
- package/skills/agentic-mermaid-diagram-workflow/references/code-mode.md +2 -1
- package/skills/agentic-mermaid-diagram-workflow/references/flowchart.md +9 -6
- package/skills/agentic-mermaid-diagram-workflow/references/hosted-mcp.md +1 -0
- package/skills/agentic-mermaid-diagram-workflow/references/sequence.md +4 -3
- package/skills/agentic-mermaid-diagram-workflow/references/timeline.md +7 -6
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/agentflow.md +574 -0
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/architecture.md +10 -2
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/c4.md +18 -0
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/classDiagram.md +123 -0
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/cynefin.md +6 -1
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/entityRelationshipDiagram.md +129 -9
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/eventmodeling.md +22 -0
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/flowchart.md +188 -60
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/gitgraph.md +13 -7
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/mindmap.md +110 -1
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/packet.md +38 -0
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/requirementDiagram.md +115 -0
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/sequenceDiagram.md +101 -0
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/stateDiagram.md +87 -0
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/swimlanes.md +105 -2
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/timeline.md +12 -6
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/usecase.md +953 -0
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/venn.md +77 -0
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/xyChart.md +1 -1
- package/dist/browser-lazy/chunks/architecture-KTHE2HX3.js +0 -31
- package/dist/browser-lazy/chunks/chunk-2XCPFAD5.js +0 -46
- package/dist/browser-lazy/chunks/chunk-3H4F7RBT.js +0 -1
- package/dist/browser-lazy/chunks/chunk-4EVLW2NJ.js +0 -1
- package/dist/browser-lazy/chunks/chunk-5Q4S74UO.js +0 -1
- package/dist/browser-lazy/chunks/chunk-6OAPWSDO.js +0 -1
- package/dist/browser-lazy/chunks/chunk-A7L4WWVW.js +0 -143
- package/dist/browser-lazy/chunks/chunk-C7FJO2I3.js +0 -4
- package/dist/browser-lazy/chunks/chunk-D3XXDKIO.js +0 -1
- package/dist/browser-lazy/chunks/chunk-DXA5WL7H.js +0 -4
- package/dist/browser-lazy/chunks/chunk-EPFMQPXX.js +0 -1
- package/dist/browser-lazy/chunks/chunk-FFOHLPDA.js +0 -2
- package/dist/browser-lazy/chunks/chunk-FLD63DXE.js +0 -2
- package/dist/browser-lazy/chunks/chunk-G6OLSHRG.js +0 -7
- package/dist/browser-lazy/chunks/chunk-GRXCKTHX.js +0 -0
- package/dist/browser-lazy/chunks/chunk-I6VE56S7.js +0 -1
- package/dist/browser-lazy/chunks/chunk-KJVNXJ5Y.js +0 -1
- package/dist/browser-lazy/chunks/chunk-L227EPFP.js +0 -11
- package/dist/browser-lazy/chunks/chunk-LNIHDJSF.js +0 -1
- package/dist/browser-lazy/chunks/chunk-M6BT2HIP.js +0 -1
- package/dist/browser-lazy/chunks/chunk-NZRUMODH.js +0 -1
- package/dist/browser-lazy/chunks/chunk-OFRMKQA6.js +0 -1
- package/dist/browser-lazy/chunks/chunk-P7HMSKHJ.js +0 -1
- package/dist/browser-lazy/chunks/chunk-PXKL3O6H.js +0 -1
- package/dist/browser-lazy/chunks/chunk-PZEWZT35.js +0 -1
- package/dist/browser-lazy/chunks/chunk-STQRDZ67.js +0 -1
- package/dist/browser-lazy/chunks/chunk-SUFMSWTX.js +0 -1
- package/dist/browser-lazy/chunks/chunk-T7IJ6V4B.js +0 -3
- package/dist/browser-lazy/chunks/chunk-UAEZO5VL.js +0 -1
- package/dist/browser-lazy/chunks/chunk-WEUWIFG3.js +0 -1
- package/dist/browser-lazy/chunks/chunk-X64T74C5.js +0 -24
- package/dist/browser-lazy/chunks/class-F7R6TJ73.js +0 -9
- package/dist/browser-lazy/chunks/er-BDK7CM5L.js +0 -9
- package/dist/browser-lazy/chunks/flowchart-KFU6XV7S.js +0 -4
- package/dist/browser-lazy/chunks/gantt-I64VVDSP.js +0 -28
- package/dist/browser-lazy/chunks/gitgraph-EDUVJ5IJ.js +0 -8
- package/dist/browser-lazy/chunks/journey-TLO2RNM3.js +0 -40
- package/dist/browser-lazy/chunks/mindmap-OJCNDYPM.js +0 -9
- package/dist/browser-lazy/chunks/pie-HVG6XO7K.js +0 -19
- package/dist/browser-lazy/chunks/quadrant-U6S2L4MJ.js +0 -24
- package/dist/browser-lazy/chunks/radar-ZDLOBTVG.js +0 -32
- package/dist/browser-lazy/chunks/render-core-Y2DFNMQG.js +0 -12
- package/dist/browser-lazy/chunks/sequence-Z4WFS3VB.js +0 -12
- package/dist/browser-lazy/chunks/state-2HV2YGN3.js +0 -4
- package/dist/browser-lazy/chunks/timeline-XM4UFPOC.js +0 -20
- package/dist/browser-lazy/chunks/xychart-7JDHWTQY.js +0 -36
- package/dist/chunk-GGXCNCNA.js +0 -4118
- package/dist/chunk-IVD4NXNE.js +0 -615
- package/dist/chunk-JDMRPUAG.js +0 -37
- package/dist/chunk-JWAAW3FH.js +0 -149
- package/dist/chunk-LCGBT32P.js +0 -62036
- package/dist/chunk-RWMZRUIC.js +0 -4715
- package/dist/mcp-cli-4MLKC3ZH.js +0 -17
- package/docs/mutation-testing.md +0 -285
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import{b as e,c as t,e as i,f as o,g as r,h as n}from"./chunk-J7FFAFQF.js";import{c as a}from"./chunk-QA6GJQ4X.js";import{b as l,e as s,g as c,h as d,i as u,o as p}from"./chunk-2SH76OTH.js";import{d as h}from"./chunk-AMJLVPUB.js";import{t as g}from"./chunk-DF6765YX.js";import"./chunk-J35HAQQF.js";import{c as m}from"./chunk-CN7WTBWB.js";import{D as y,a as f,b as b,c as x,d as k,e as v,g as _,i as F}from"./chunk-HLWUNUCM.js";import{B as $,c as S,h as j,k as C,l as M,oa as z,s as W,x as w}from"./chunk-X2UYKWKM.js";import{f as L,i as T,j as A,k as N,l as D,m as X,q as I,t as Y}from"./chunk-TYZOZXUJ.js";import{c as H,g as P,h as B}from"./chunk-NO7ZIVRU.js";import{C as J,Ca as O,E as E,G as R,M as Z,N as U,O as G,Tb as Q,U as q,Z as K,ca as V,na as ee,o as et,va as ei,wa as eo,za as er}from"./chunk-Z3FDIVLN.js";import{s as en,t as ea}from"./chunk-N5ELX7LR.js";import{a as el}from"./chunk-5UVGUSD6.js";import"./chunk-CSFUKSU6.js";var es=Object.freeze({id:"journey",upstreamId:"journey",maturity:"stable",label:"Journey",headers:["journey"],aliases:[],config:{section:"journey",keys:["diagramMarginX","diagramMarginY","leftMargin","maxLabelWidth","width","height","taskFontSize","taskFontFamily","taskMargin","actorColours","sectionFills","sectionColours","titleColor","titleFontFamily","titleFontSize","useMaxWidth","boxMargin","boxTextMargin","noteMargin","messageMargin","messageAlign","bottomMarginAdj","rightAngles","activationWidth","textPlacement"],noopKeys:["boxMargin","boxTextMargin","noteMargin","messageMargin","messageAlign","bottomMarginAdj","rightAngles","activationWidth","textPlacement"]},identity:{id:"family:journey",kind:"family",version:"1.0.0",compatibility:{core:"0.5.3"},provenance:{owner:"agentic-mermaid",source:"built-in"}},collisionPriority:100,semanticChannels:["value","category"],semanticRoles:["prelude","defs","chrome","title","series","grid","axis","rail","legend","actor","section","group-header","task","marker-line","label","score"],scenePrimitiveEvidence:[{role:"prelude",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"defs",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"defs",primitive:"marker",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"title",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"series",primitive:"connector",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"grid",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"grid",primitive:"connector",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"axis",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"rail",primitive:"connector",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"legend",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"legend",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"actor",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"section",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"section",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"group-header",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"group-header",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"task",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"task",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"task",primitive:"data-mark",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"marker-line",primitive:"connector",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"label",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"score",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"score",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"score",primitive:"data-mark",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]}],example:`journey
|
|
2
|
+
title Checkout
|
|
3
|
+
section Browse
|
|
4
|
+
Find product: 4: Shopper
|
|
5
|
+
section Buy
|
|
6
|
+
Pay: 3: Shopper`,detect:en,detectLoose:ea}),ec=Object.fromEntries([...["diagramMarginX","diagramMarginY","leftMargin","maxLabelWidth","width","height","taskMargin"].map(e=>[e,l]),...["taskFontSize","titleFontSize"].map(e=>[e,p]),...["taskFontFamily","titleFontFamily"].map(e=>[e,d]),["titleColor",c],...["actorColours","sectionFills","sectionColours"].map(e=>[e,u]),["useMaxWidth",s]]),ed=/&((?:amp;)*(?:#\d+|#[xX][0-9a-fA-F]+|[a-zA-Z][a-zA-Z\d]{0,31});)|&(?:#\d+|#[xX][0-9a-fA-F]+|[a-zA-Z][a-zA-Z\d]{0,31});/g;function eu(e){return e.replace(ed,(e,t)=>{let i=void 0===t?el(e):`&${t}`;return M(i,i)})}var ep=/^title\s+(.+)$/i,eh=/^section\s+(.+)$/i,eg=/^([^:]+):\s*([+-]?(?:[0-9]+(?:\.[0-9]*)?|\.[0-9]+)(?:[eE][+-]?[0-9]+)?)\s*(?::\s*(.*))?$/,em=/^([^:]+):\s*([^:]+)(?::\s*(.*))?$/;function ey(e){return e.replace(/<br\s*\/?>/gi,`
|
|
7
|
+
`).replace(/\\n/g,`
|
|
8
|
+
`).replace(/<\/?(?:sub|sup|small|mark)\s*>/gi,"").replace(/\*\*(.+?)\*\*/g,"<b>$1</b>").replace(/(?<!\*)\*([^\s*](?:[^*]*[^\s*])?)\*(?!\*)/g,"<i>$1</i>").replace(/~~(.+?)~~/g,"<s>$1</s>").split(/\r?\n/).map(e=>e.trim()).join(`
|
|
9
|
+
`)}function ef(e,t=!1){let i=t?ey(e).split(`
|
|
10
|
+
`).filter(Boolean).join(" / "):ey(e),o=a(i);if(o===i)return{value:o};let r=E(R(i),j,e=>a(e));return JSON.stringify(eb(r))===JSON.stringify(eb(R(o)))?{value:o}:{value:o,content:{value:o,prepared:r}}}function eb(e){return e.lines.map(e=>e.map(({text:e,bold:t,italic:i,underline:o,strikethrough:r})=>({text:e,bold:t,italic:i,underline:o,strikethrough:r})))}function ex(e,t){return JSON.stringify([e,t?.value===e?eb(t.prepared):null])}function ek(e){return e.startsWith("%%")||e.startsWith("#")||e.startsWith("%")}function ev(e,t,i){let o=(o,r)=>i.issue?.({code:o,lineIndex:t,statement:e,detail:r}),r=w([e],0);if(r){let e=a(ey(r.value));r.title?i.accTitle?.(e,t):i.accDescr?.(e,t);return}let n=e.match(ep);if(n){let r=ef(n[1]);return r.value?void i.title?.(r.value,t,r.content):o("empty_title",`Journey title is empty: "${e}"`)}let l=e.match(eh);if(l){let r=ef(l[1]);return r.value?void i.section?.(r.value,t,r.content):o("section_colon",`Journey section labels must not contain ':': "${e}"`)}let s=e.match(eg);if(s){let r=ef(s[1]);if(!r.value)return o("empty_task_text",`Journey task text is empty: "${e}"`);let n=s[2],a=Number(n);if(!(Number.isFinite(a)&&a>=1&&a<=5))return o("invalid_score",e_(r.value,n));let l=(s[3]??"").split(",").map(e=>ef(e,!0)).filter(e=>e.value);return void i.task?.(r.value,a,l.map(e=>e.value),t,r.content,l.some(e=>e.content)?l.map(e=>e.content):void 0)}let c=e.match(em);if(c){let e=ey(c[1]),t=c[2].trim();if(e&&t)return o("invalid_score",e_(e,t))}return o("unrecognized_line",`Invalid user journey line: "${e}". Expected title, section, accessibility metadata, or "Task name: 3: Actor"`)}function e_(e,t){return`Journey task "${e}" has invalid score ${t}. Expected a finite number from 1 through 5`}var eF=/^&(?:[a-zA-Z][a-zA-Z0-9]{1,31}|#[0-9]{1,7}|#x[0-9a-fA-F]{1,6});$/;function e$(e,t,i,o=0){return t>=o&&i-t+1<=34&&eF.test(e.slice(t,i+1))}function eS(e){let t=-1;for(let i=0;i<e.length;i++)if("&"===e[i]&&(t=i),";"===e[i]&&!e$(e,t,i))return!0;return!1}function ej(e,t){if(!e.trim())return[];if(!e.includes(";"))return[e.trim()];let i=[],o=0,r=-1;for(let n=0;n<e.length;n++)if("&"===e[n]&&(r=n),";"===e[n]){if(e$(e,r,n,o)){t?.();continue}i.push(e.slice(o,n)),o=n+1,r=-1}return i.push(e.slice(o)),i.map(e=>e.trim()).filter(e=>e&&!ek(e))}var eC={nodeLabelFontSize:13,edgeLabelFontSize:11,groupHeaderFontSize:12,nodeLabelFontWeight:500,edgeLabelFontWeight:600,groupHeaderFontWeight:600,nodePaddingX:14,nodePaddingY:12,nodeCornerRadius:5,nodeLineWidth:H.outerBox,edgeLineWidth:H.connector,groupCornerRadius:6,groupPaddingX:16,groupPaddingY:10,groupLabelPaddingX:16,groupLineWidth:H.outerBox};function eM(e={}){var t;let i,o;return i=e.mermaidConfig?.journey,o=ez(i?.titleFontSize,18),{visual:{paddingX:eW(i?.diagramMarginX,32),paddingY:eW(i?.diagramMarginY,28),legendMinWidth:eW(i?.leftMargin,96),maxLabelWidth:eW(i?.maxLabelWidth,360),taskGap:eW(i?.taskMargin,26),taskMinWidth:eW(i?.width,124),taskMinHeight:eW(i?.height,58),titleFontSize:o,titleFontSizeCss:String(i?.titleFontSize??o),titleFontFamily:L(i?.titleFontFamily),titleColor:"string"==typeof(t=i?.titleColor)&&t.trim().length>0?t.trim():void 0,taskFontFamily:L(i?.taskFontFamily),actorColours:i?.actorColours??[],sectionFills:i?.sectionFills??[],sectionColours:i?.sectionColours??[]},styleDefaults:{...eC,nodeLabelFontSize:ez(i?.taskFontSize,eC.nodeLabelFontSize)},useMaxWidth:i?.useMaxWidth===!0}}function ez(e,t){if("number"==typeof e&&Number.isFinite(e)&&e>0)return e;if("string"!=typeof e)return t;let i=e.trim(),o=Number.parseFloat(i);return!Number.isFinite(o)||o<=0?t:/^[0-9.]+(?:px)?$/i.test(i)?o:/^[0-9.]+ex$/i.test(i)?8*o:/^[0-9.]+em$/i.test(i)?o*t:t}function eW(e,t){return"number"==typeof e&&Number.isFinite(e)&&e>0?e:t}function ew(e,t){return void 0!==t&&t!==ex(e)?[t]:[]}function eL(...e){return e.find(e=>void 0!==e&&eo(e))}function eT(...e){return e.find(e=>void 0!==e&&null!==er(e))}function eA(e){return er(e)?.[3]===1}function eN(e,t){return`journey-actor-${e%t.actorColors.length}`}function eD(e,t){return t.actorColors[e%t.actorColors.length]}function eX(e,t){return t.sectionBands[e%t.sectionBands.length]}function eI(e,t){return t.sectionTextColors[e%t.sectionTextColors.length]}var eY=S(function(a,l){var s,c;let d,u,p,h,g,m,y,f,b,x,k,v,_,{positioned:F,colors:$,resolved:S}=l,j=S.renderOptions,C=$.font??"Inter",M=j.transparent??!1,W=[],w=S.familyAppearance;if(!w)throw Error("Journey rendering requires request-boundary family appearance resolution");let L=B(j,w.styleDefaults,S.styleFace),H=w.visual,J=(s={sectionCount:F.sections.length,actorCount:F.actors.length},d=L.edgeStrokeColor??"var(--_arrow)",u=L.nodeFillColor??"var(--_node-fill)",p=L.nodeBorderColor??"var(--_node-stroke)",h=function(e,t,i){if(i>6&&eA(e.bg)){let o=eT(t.edgeStrokeColor,e.accent);if(o)return n(i,{accent:o,bg:e.bg})}if(!eo(e.bg)||!eo(e.fg))return;let o=D(e),r=eL(t.edgeStrokeColor,e.accent,o.arrow);if(r)return n(i,{accent:r,bg:e.bg})}($,L,Math.max(6,s.sectionCount))||[d,"var(--line, var(--_line))","var(--accent, var(--_arrow))","var(--muted, var(--_text-sec))","var(--border, var(--_node-stroke))","var(--fg)"],m=Array.from({length:g=Math.max(H.sectionFills.length,H.sectionColours.length,Math.min(h.length,Math.max(s.sectionCount,1)))},(e,t)=>H.sectionFills[t%H.sectionFills.length]??L.groupFillColor??`color-mix(in srgb, ${h[t%h.length]} ${0===t?8:9}%, var(--bg))`),y=Array.from({length:g},(e,t)=>H.sectionFills[t%H.sectionFills.length]??L.groupHeaderFillColor??`color-mix(in srgb, ${h[t%h.length]} ${0===t?14:16}%, var(--bg))`),f=Array.from({length:g},(e,t)=>{let i=H.sectionFills[t%H.sectionFills.length];return i?`color-mix(in srgb, ${i} ${0===t?42:38}%, var(--bg))`:L.groupBorderColor??`color-mix(in srgb, ${h[t%h.length]} ${0===t?42:38}%, var(--bg))`}),b=y.map((e,t)=>{let i=h[t%h.length];return void 0===H.sectionFills[t%H.sectionFills.length]&&void 0===L.groupHeaderFillColor&&eo(i)&&eo($.bg)?ee(i,$.bg,0===t?14:16):e}),x=Array.from({length:g},(e,t)=>(function(e,t,i,o){let r=o.bg;if(e){let i=O(e,t,r);if(null!==i&&i>=4.5)return e}else{let e=X(i,o);if(void 0!==e&&eo(t))return ei(e,t)}let n=O("#000000",t,r),a=O("#ffffff",t,r);return null!==n&&null!==a?n>=a?"#000000":"#ffffff":i})(H.sectionColours.length>0?H.sectionColours[t%H.sectionColours.length]:void 0,b[t],L.groupTextColor??"var(--_text)",$)),k=H.actorColours.length>0?H.actorColours:function(a,l,s,c){let d=Math.max(c,1);if(d>6&&eA(l.bg)){let e=eT(s.edgeStrokeColor,l.accent);if(e)return n(d,{accent:e,bg:l.bg})}if(eo(l.bg)&&eo(l.fg)){let a=D(l),c=eL(s.edgeStrokeColor,l.accent,a.arrow);if(c){if(d<=6){let n=function(o,r,n){let[a,l]=e(o),s=i(r),c=l<20?230:a,d=Math.min(72,Math.max(42,l<20?46:l)),u=s?64:38,p=[],h=new Set,g=Math.min(n,256);for(let e=0;p.length<g&&e<4096;e++){let i=Math.floor(e/360),o=t((c+e%360*137.508)%360,Math.max(34,d-i%4*7),Math.max(s?46:24,Math.min(s?78:58,u+(i%2==0?-(2*i):2*i))));h.has(o)||(h.add(o),p.push(o))}return Array.from({length:n},(e,t)=>p[t%p.length])}(c,l.bg,d);if((d<2||o(n)>=.1)&&n.every(e=>O(e,l.bg)>=1.25&&Math.abs(r(e,l.bg))>=15))return n}return n(d,{accent:c,bg:l.bg})}}let u=[a,"var(--line, var(--_line))","var(--accent, var(--_arrow))","var(--muted, var(--_text-sec))","var(--border, var(--_node-stroke))","var(--fg)","color-mix(in srgb, var(--accent, var(--_arrow)) 62%, var(--bg))","color-mix(in srgb, var(--line, var(--_line)) 72%, var(--bg))"];return u.slice(0,Math.max(d<=u.length?d:u.length,1))}(d,$,L,s.actorCount),{arrow:d,nodeFill:u,nodeStroke:p,taskText:L.nodeTextColor??z("var(--_text)",u,$),titleColor:H.titleColor??L.groupTextColor??L.nodeTextColor??"var(--_text)",sectionFills:m,sectionBands:y,sectionStrokes:f,sectionTextColors:x,actorColors:k,scoreFaceFill:`color-mix(in srgb, ${d} 22%, var(--bg))`,scoreFaceStroke:d,scoreFaceInk:L.edgeTextColor??L.nodeTextColor??"var(--_text)"}),E={title:F.accessibilityTitle??F.title?.text,description:F.accessibilityDescription},R=(v=F.sections.flatMap(e=>[e.id,e.label??"",...e.tasks.flatMap(e=>[e.id,e.text,String(e.score),...e.actors])]),`journey-${Q(F.width,F.height,F.title?.text??"",F.accessibilityTitle??"",F.accessibilityDescription??"",...v)}`),K={id:`${R}-arrowhead`,shape:"arrow",size:{width:10,height:8},ref:{x:9,y:4},orient:"auto",geometry:{kind:"path",d:"M0,0 L10,4 L0,8 Z"},paint:{fill:J.arrow}},er=`${R}-title`,en=`${R}-desc`,ea=j.journey?.experienceCurve!==!1?F.sections.flatMap(e=>e.tasks.map(e=>e.marker)):[],el=ea.length>=2,es=H.taskFontFamily?`<style>
|
|
11
|
+
.journey-task-text { font-family: ${H.taskFontFamily}; }
|
|
12
|
+
</style>`:void 0;W.push(a.documentOpen({id:"prelude",width:F.width,height:F.height,colors:$,transparent:M,font:C,hasMonoFont:!1,...es?{extraCss:es}:{}},(c=w.useMaxWidth,N(F.width,F.height,$,M,{...c?{width:"100%",height:"100%",style:`max-width:${F.width}px`}:{},attrs:I(E.title,E.description,er,en,"user journey")})))),E.title&&W.push(a.documentContent({id:"a11y-title",role:"chrome",nonPaint:"accessibility"},`<title id="${er}">${Z(E.title)}</title>`)),E.description&&W.push(a.documentContent({id:"a11y-desc",role:"chrome",nonPaint:"accessibility"},`<desc id="${en}">${Z(E.description)}</desc>`)),W.push(a.documentContent({id:"style",role:"chrome",nonPaint:"stylesheet"},A(C,!1,$.shadow,$.embedFontImport))),W.push(a.definitions({id:"defs",markerResources:[K]},`<defs>
|
|
13
|
+
${[T($),Y(K)].filter(Boolean).join(`
|
|
14
|
+
`)}
|
|
15
|
+
</defs>`)),es&&W.push(a.documentContent({id:"journey-style",role:"chrome",nonPaint:"stylesheet"},es)),W.push(function(e,t,i,o){let r=[];for(let o of t.ticks)r.push({indent:2,node:e.connector({id:`score-guide:${o.score}`,role:"grid",geometry:{kind:"line",x1:o.x1,y1:o.y,x2:o.x2,y2:o.y},lineStyle:"solid",paint:{stroke:`color-mix(in srgb, ${i.nodeBorderColor??"var(--_node-stroke)"} 62%, var(--bg))`,strokeWidth:"1"},channels:{value:o.score/5},attributes:{className:"journey-guide"}})}),r.push({indent:2,node:e.text({id:`score-label:${o.score}`,role:"axis",text:o.block?.text??String(o.score),block:o.block,x:o.labelX,y:o.labelY,fontSize:i.edgeLabelFontSize,fontWeight:i.edgeLabelFontWeight,letterSpacing:i.edgeLetterSpacing,anchor:"end",paint:{fill:i.edgeTextColor??"var(--_text-sec)"},channels:{value:o.score/5},attributes:{className:"journey-score-label"}})});let n=t.baseline;return r.push({indent:2,node:e.connector({id:"journey-baseline",role:"rail",geometry:{kind:"line",x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2},lineStyle:"solid",paint:{stroke:i.edgeStrokeColor??"var(--_arrow)",strokeWidth:String(Math.max(2,2*i.lineWidth))},markers:{mid:[],end:o},attributes:{className:"journey-baseline"}})}),e.group({id:"score-guide",role:"grid",open:'<g class="journey-score-guide" data-score-min="1" data-score-max="5">',close:"</g>",children:r})}(a,F.scoreGuide,L,K)),F.actors.length>0&&W.push(function(e,t,i,o,r){let n=t[0],a=n.x-5,l=n.y-26,s=r?.text??P("Actors",i.groupTextTransform),c=[{indent:2,node:e.text({id:"actor-legend-title",role:"legend",text:s,block:r,x:a,y:l,fontSize:i.groupHeaderFontSize,fontWeight:i.groupHeaderFontWeight,letterSpacing:i.groupLetterSpacing,anchor:"start",paint:{fill:i.groupTextColor??"var(--_text-sec)"},attributes:{className:"journey-actor-legend-title"}})}];for(let r of t)c.push({indent:2,node:e.shape({id:q("actor-legend-dot",r.category,...ew(r.category,r.key)),role:"actor",geometry:{kind:"circle",cx:r.x,cy:r.y,r:5},paint:{fill:eD(r.colorIndex,o),stroke:"var(--bg)",strokeWidth:"1"},channels:{category:r.category},attributes:{className:`journey-actor-dot ${eN(r.colorIndex,o)}`,data:{actor:r.category}}})}),c.push({indent:2,node:e.text({id:q("actor-legend-label",r.category,...ew(r.category,r.key)),role:"legend",text:r.label,block:r.block,x:r.x+5+12,y:r.y,fontSize:i.edgeLabelFontSize,fontWeight:i.edgeLabelFontWeight,letterSpacing:i.edgeLetterSpacing,anchor:"start",paint:{fill:i.groupTextColor??"var(--_text-sec)"},channels:{category:r.category},attributes:{className:"journey-actor-legend-text"}})});return e.group({id:"actor-legend",role:"legend",open:'<g class="journey-actor-legend">',close:"</g>",children:c})}(a,F.actors,L,J,F.actorLegendTitle));let ec=j.mermaidConfig?.journey,ed=ec?.sectionFills!==void 0||ec?.sectionColours!==void 0;for(let e of(F.sections.forEach((e,t)=>{e.framed&&W.push(function(e,t,i,o,r,n,a){let l=t.category,s=t.label?` data-label="${G(t.label)}"`:"",c=[];if(c.push({indent:2,node:e.shape({id:`section-bg:${t.id}`,role:"section",geometry:{kind:"rect",x:t.x,y:t.y,width:t.width,height:t.height,rx:i.groupCornerRadius,ry:i.groupCornerRadius},paint:{fill:o.sectionFills[r%o.sectionFills.length],stroke:o.sectionStrokes[r%o.sectionStrokes.length],strokeWidth:String(i.groupLineWidth)},attributes:{className:`journey-section-bg journey-section-${r%o.sectionFills.length}`}})}),t.label){let s,d,u,p,h,g,m,y,f,b,x,k,v,_,F=et(n,"group-header",{category:l},{includeFallback:!1}),$=t.block?.text??P(t.label,F?.textTransform??i.groupTextTransform),S=F?.fontSize??i.groupHeaderFontSize,j=F?.fontWeight??i.groupHeaderFontWeight,C=F?.letterSpacing??i.groupLetterSpacing,M=a?eI(r,o):F?.textColor??eI(r,o);c.push({indent:2,node:(d=et(n,"group-header",s={category:t.category},{includeFallback:!1}),u=a?eX(r,o):d?.fillColor??eX(r,o),p=d?.cue??"none",h=d?.strokeColor??d?.borderColor??("none"!==p?"var(--fg)":"none"),m=void 0===(g=d?.lineWidth??("none"!==p?i.groupLineWidth:void 0))?void 0:"outline"===p?g+1:"double-line"===p?g+2:g,y="pattern"===p?"3 2":"double-line"===p?"8 2 2 2":void 0,f=Math.min(6,Math.max(3,t.height/6)),b=Math.max(18,Math.min(t.height-2*f,i.groupHeaderFontSize+i.groupPaddingY)),x=t.x+f,k=t.labelY-b/2,v=Math.max(0,t.width-2*f),_=Math.min(i.groupCornerRadius,b/2),e.shape({id:`section-band:${t.id}`,role:"group-header",geometry:{kind:"rect",x:x,y:k,width:v,height:b,rx:_,ry:_},paint:{fill:u,stroke:h,...void 0!==m?{strokeWidth:String(m)}:{},...y?{strokeDasharray:y}:{}},channels:s,attributes:{className:`journey-section-label-band journey-section-band-${r%o.sectionBands.length}`,..."none"!==p?{data:{"brand-cue":p}}:{}}}))}),c.push({indent:2,node:e.text({id:`section-label:${t.id}`,role:"group-header",text:$,block:t.block,x:t.labelX,y:t.labelY,fontSize:S,fontWeight:j,letterSpacing:C,anchor:"middle",paint:{fill:M},attributes:{className:`journey-section-label journey-section-label-${r%o.sectionTextColors.length}`}})})}return e.group({id:`section:${t.id}`,role:"section",open:`<g class="journey-section" data-id="${U(t.id)}"${s}>`,close:"</g>",children:c,channels:{category:l}})}(a,e,L,J,t,S.styleFace,ed))}),el&&W.push((_=function(e){let t=e[0],i=`M${t.x},${t.y}`,o=[];for(let t=1;t<e.length;t++){let r=e[t-1],n=e[t],a=(n.x-r.x)/3,l={x:r.x+a,y:r.y},s={x:n.x-a,y:n.y};i+=` C${l.x},${l.y} ${s.x},${s.y} ${n.x},${n.y}`,o.push({kind:"cubic",control1:l,control2:s,end:n})}return V(i,t,o)}(ea.map(e=>({x:e.cx,y:e.cy}))),a.connector({id:"experience-curve",role:"series",geometry:_.geometry,lineStyle:"solid",paint:{stroke:`color-mix(in srgb, ${J.arrow} 55%, var(--bg))`,strokeWidth:String(Math.max(2,2*L.lineWidth)),strokeLinecap:"round"},route:{ownership:"family",contours:_.contours},attributes:{className:"journey-curve"}}))),F.sections))for(let t of e.tasks)W.push(function(e,t,i,o,r){var n,a;let l=i?` data-section="${U(i)}"`:"",s=t.actors.length>0?` data-actors="${U(t.actors.join(", "))}"`:"",c=t.score/5,d=i?{value:c,category:i}:{value:c},u=[{indent:2,node:(n=t.track,e.connector({id:`track:${t.id}`,role:"marker-line",geometry:{kind:"line",x1:n.x,y1:n.y1,x2:n.x,y2:n.y2},lineStyle:"dashed",paint:{stroke:`color-mix(in srgb, ${r.nodeStroke} 78%, var(--bg))`,strokeWidth:String(o.lineWidth),strokeDasharray:"4 7"},channels:{value:t.score/5},attributes:{className:"journey-track"}}))},{indent:2,node:e.shape({id:`task-box:${t.id}`,role:"task",geometry:{kind:"rect",x:t.x,y:t.y,width:t.width,height:t.height,rx:o.cornerRadius??0,ry:o.cornerRadius??0},paint:{fill:r.nodeFill,stroke:r.nodeStroke,strokeWidth:String(o.nodeLineWidth)},channels:d,attributes:{className:"journey-task-box"}})},{indent:2,node:e.text({id:`task-label:${t.id}`,role:"label",text:t.text,block:t.block,x:t.textX,y:t.textY,fontSize:o.nodeLabelFontSize,fontWeight:o.nodeLabelFontWeight,letterSpacing:o.nodeLetterSpacing,anchor:"middle",paint:{fill:r.taskText},channels:d,attributes:{className:"journey-task-text"}})}],p=new Map;for(let i of t.actorDots){let o=i.key??ex(i.label),n=p.get(o)??0;p.set(o,n+1),u.push({indent:2,node:(a=t.id,e.shape({id:q("actor-dot",a,i.label,...ew(i.label,i.key),...n>0?[n]:[]),role:"actor",geometry:{kind:"circle",cx:i.x,cy:i.y,r:i.r},paint:{fill:eD(i.colorIndex,r),stroke:"var(--bg)",strokeWidth:"1"},channels:{category:i.label},attributes:{className:`journey-actor-dot ${eN(i.colorIndex,r)}`,data:{actor:i.label}}}))})}return u.push({indent:2,node:function(e,t,i,o,r){let n=t.cy-4.5,a=t.cx-5.5,l=t.cx+5.5,s=function(e){let t=e.cx,i=e.cy;return e.score>=4.5?`M${t-8},${i+4} Q${t},${i+13} ${t+8},${i+4}`:e.score>3?`M${t-8},${i+5} Q${t},${i+11} ${t+8},${i+5}`:3===e.score?`M${t-8},${i+6} L${t+8},${i+6}`:e.score>=1.5?`M${t-8},${i+10} Q${t},${i+2} ${t+8},${i+10}`:`M${t-9},${i+11} Q${t},${i} ${t+9},${i+11}`}(t);return e.group({id:`score-marker:${i}`,role:"score",open:`<g class="journey-score-marker" data-score="${t.score}">`,close:"</g>",children:[{indent:2,node:e.shape({id:`score-face:${i}`,role:"score",geometry:{kind:"circle",cx:t.cx,cy:t.cy,r:t.r},paint:{fill:o.scoreFaceFill,stroke:o.scoreFaceStroke,strokeWidth:"1.2"},channels:r,attributes:{className:"journey-score-face"}})},{indent:2,node:e.shape({id:`score-eye-left:${i}`,role:"score",geometry:{kind:"circle",cx:a,cy:n,r:2},paint:{fill:o.scoreFaceInk},channels:r,attributes:{className:"journey-face-eye"}})},{indent:2,node:e.shape({id:`score-eye-right:${i}`,role:"score",geometry:{kind:"circle",cx:l,cy:n,r:2},paint:{fill:o.scoreFaceInk},channels:r,attributes:{className:"journey-face-eye"}})},{indent:2,node:e.shape({id:`score-mouth:${i}`,role:"score",geometry:{kind:"path",d:s},paint:{fill:"none",stroke:o.scoreFaceInk,strokeWidth:"1.6",strokeLinecap:"round"},channels:r,attributes:{className:"journey-face-mouth"}})}],channels:r})}(e,t.marker,t.id,r,d)}),e.group({id:`task:${t.id}`,role:"task",open:`<g class="journey-task" data-id="${U(t.id)}" data-score="${t.score}"${l}${s}>`,close:"</g>",children:u,channels:d})}(a,t,e.label,L,J));return F.title&&W.push(a.text({id:"title",role:"title",text:F.title.text,block:F.title.block,x:F.title.x,y:F.title.y,fontSize:H.titleFontSize,fontWeight:600,anchor:"middle",paint:{fill:J.titleColor},attributes:{className:"journey-title"}})),W.push(a.documentClose()),{family:"journey",width:F.width,height:F.height,colors:$,transparent:M,parts:W}}),eH=k(es,{configDiagnostics:e=>h("journey",e,ec),normalizeRequest:e=>({appearance:{family:eM(e.renderOptions)}}),layout:e=>x(function(e,t,i={},o){let r=t.visual,n=B(i,t.styleDefaults,o),a=e.sections.some(e=>!!e.label),l=e.title?K(J(e.title,e.titleContent),{transform:n.groupTextTransform,fontSize:r.titleFontSize,fontWeight:600,letterSpacing:n.groupLetterSpacing,fontFamily:r.titleFontFamily}):void 0,s=l?.text,c=(function(e){let t=[],i=new Set;for(let o of e.sections)for(let e of o.tasks)for(let[o,r]of e.actors.entries()){let n=ex(r,e.actorContents?.[o]);i.has(n)||(i.add(n),t.push({value:r,content:e.actorContents?.[o]}))}return t})(e).map(e=>{let t=K(J(e.value,e.content),{transform:n.edgeTextTransform,fontSize:n.edgeLabelFontSize,fontWeight:n.edgeLabelFontWeight,letterSpacing:n.edgeLetterSpacing,maxWidth:r.maxLabelWidth});return{raw:e.value,key:ex(e.value,e.content),label:t.text,block:t}}),d=new Map(c.map((e,t)=>[e.key,t])),u=c.map(e=>e.block),p=K("Actors",{transform:n.groupTextTransform,fontSize:n.groupHeaderFontSize,fontWeight:n.groupHeaderFontWeight,letterSpacing:n.groupLetterSpacing}),h=[5,4,3,2,1].map(e=>K(String(e),{transform:n.edgeTextTransform,fontSize:n.edgeLabelFontSize,fontWeight:n.edgeLabelFontWeight,letterSpacing:n.edgeLetterSpacing})),g=c.length>0?Math.max(r.legendMinWidth,22+Math.max(p.width,...u.map(e=>e.width))):0,m=e.sections.map(e=>{let t=e.label??e.id,i=et(o,"group-header",{category:t},{includeFallback:!1}),a=i?.fontSize??n.groupHeaderFontSize,l=i?.fontWeight??n.groupHeaderFontWeight,s=i?.letterSpacing??n.groupLetterSpacing,c=e.label?K(J(e.label,e.labelContent),{transform:i?.textTransform??n.groupTextTransform,fontSize:a,fontWeight:l,letterSpacing:s,fontFamily:i?.fontFamily??n.groupFont,maxWidth:r.maxLabelWidth}):void 0,d=c?.text,u=c?.width??0,p=c?.height??0,h=e.tasks.map(e=>{var t,i;let o,a,l,s,c,d;return t=J(e.text,e.textContent),i=e.actors.length,a=(o=K(t,{transform:n.nodeTextTransform,fontSize:n.nodeLabelFontSize,fontWeight:n.nodeLabelFontWeight,letterSpacing:n.nodeLetterSpacing,fontFamily:r.taskFontFamily,maxWidth:r.maxLabelWidth})).text,l=i>0?4*i*2+(i-1)*8:0,s=Math.max(r.taskMinWidth,o.width+2*n.nodePaddingX,l+2*n.nodePaddingX),c=8*(i>0),d=Math.max(r.taskMinHeight,2*n.nodePaddingY+o.height+(c>0?12+c:0)),{text:a,block:o,textWidth:o.width,textHeight:o.height,actorDotsWidth:l,width:s,height:d}}),g=Math.max(r.taskMinWidth,u+32);return{category:t,label:d,block:c,labelWidth:u,labelHeight:p,tasks:h,emptyWidth:g}}),y=Math.max(r.taskMinHeight,...m.flatMap(e=>e.tasks.map(e=>e.height))),f=r.paddingY;l&&(f+=l.height+22);let b=a?Math.max(36,...m.map(e=>e.label?e.labelHeight+2*n.groupPaddingY:0)):0,x=f,k=Math.max(x+(a?b+30:0),c.length>0?21+p.height/2:0),v=k+y+56,_=v+160+32,F=r.paddingX+g+26*(g>0)+Math.max(22,...h.map(e=>e.width+12)),$=F,S=[];for(let t=0;t<e.sections.length;t++){let i=e.sections[t],o=m[t],a=!!o.label;t>0&&($+=8);let l=o.tasks.length>0?o.tasks.reduce((e,t)=>e+t.width,0)+(o.tasks.length-1)*r.taskGap:0,s=a?Math.max(l>0?l+20:o.emptyWidth,o.labelWidth+32):Math.max(l,0===o.tasks.length?o.emptyWidth:0),c=$,u=[],p=c+(s-l)/2;for(let e=0;e<i.tasks.length;e++){let t=i.tasks[e],a=o.tasks[e];e>0&&(p+=r.taskGap);let l=p,s=l+a.width/2,c=v+(5-t.score)*40,h=function(e,t,i,o){let r=e.actors.length;if(0===r)return[];let n=i-(4*r*2+(r-1)*8)/2+4;return e.actors.map((i,r)=>{let a={label:i,key:ex(i,e.actorContents?.[r]),colorIndex:t.get(ex(i,e.actorContents?.[r]))??0,x:n,y:o,r:4};return n+=16,a})}(t,d,s,k+a.height-n.nodePaddingY-4);u.push({id:t.id,sectionId:i.id,text:a.text,block:a.block,score:t.score,actors:t.actors,x:l,y:k,width:a.width,height:a.height,textX:s,textY:k+n.nodePaddingY+a.textHeight/2,centerX:s,track:{x:s,y1:k+a.height,y2:_},marker:{cx:s,cy:c,r:16,score:t.score},actorDots:h}),p+=a.width}$=c+s,S.push({id:i.id,category:o.category,label:o.label,block:o.block,x:c,y:x,width:s,height:a?b:0,labelX:c+s/2,labelY:x+b/2,framed:a,headerHeight:a?b:0,tasks:u})}let j=Math.max($+28,F+200),C=Math.max(Math.max(j,...S.map(e=>e.x+e.width))+r.paddingX,l?l.width+2*r.paddingX:0),M=k+5,z=c.map((e,t)=>{let i=u[t],o={category:e.raw,key:e.key,label:e.label,block:e.block,x:r.paddingX+5,y:M,colorIndex:t},n=e.label.includes(`
|
|
16
|
+
`);return M+=n?Math.max(22,i.height+8):22,o}),W=z.length>0?Math.max(...z.map(e=>e.y+Math.max(5,(e.block?.height??0)/2))):0;return{width:C,height:Math.max(_+6+r.paddingY,W+r.paddingY),title:s?{text:s,block:l,x:C/2,y:r.paddingY+l.height/2}:void 0,accessibilityTitle:e.accessibilityTitle,accessibilityDescription:e.accessibilityDescription,actors:z,actorLegendTitle:p,scoreGuide:{x:F,y:v,width:j-F,height:160,ticks:[5,4,3,2,1].map((e,t)=>{let i=v+(5-e)*40;return{score:e,block:h[t],x1:F,x2:j,y:i,labelX:F-12,labelY:i}}),baseline:{x1:F,y1:_,x2:j,y2:_}},sections:S}}(g(function(e,t={}){let i={sections:[],...$(t)};v("journey")&&(_("journey","header",e[0]??"",{line:1,unit:"normalized"}),F("journey","initialize",i));let o,r=0,n=0;return function(e,t,i){for(let t=1;t<e.length;t++){let o=e[t].trim();if(ek(o)&&!/^#\w+;/.test(o))continue;let r=C(eu(e[t].trim()));if(!r||ek(r))continue;let n=w(e,t);if(void 0===n)return void i.issue?.({code:"unclosed_accdescr",lineIndex:t,statement:r,detail:'Journey accDescr block is missing a closing "}"'});if(n?.form==="block"){i.accDescr?.(a(ey(C(eu(n.value)))),t),t=n.endIndex;let e=C(eu(n.suffixLine??"")),o=w([e],0);if(o?.form==="inline"){let e=a(ey(o.value));o.title?i.accTitle?.(e,t):i.accDescr?.(e,t);continue}for(let o of(eS(e)&&i.statementDelimiter?.(t),i.entitySemicolon&&ej(n.suffixLine??"",()=>i.entitySemicolon(t)),ej(e)))if("stop"===ev(o,n.endIndex,i))return;continue}if(n?.form==="inline"){let e=a(ey(C(eu(n.value))));n.title?i.accTitle?.(e,t):i.accDescr?.(e,t);continue}for(let o of(eS(r)&&i.statementDelimiter?.(t),i.entitySemicolon&&ej(e[t].trim(),()=>i.entitySemicolon(t)),ej(r)))if("stop"===ev(o,t,i))return}}(e,0,{title:(e,t,o)=>{v("journey")&&_("journey","title",e,{line:t+1,unit:"normalized"}),i.title=e,o?i.titleContent=o:delete i.titleContent,v("journey")&&F("journey","setTitle",e,{line:t+1,unit:"normalized"})},accTitle:(e,t)=>{v("journey")&&_("journey","accTitle",e,{line:t+1,unit:"normalized"}),i.accessibilityTitle=e,v("journey")&&F("journey","setAccessibilityTitle",e,{line:t+1,unit:"normalized"})},accDescr:(e,t)=>{v("journey")&&_("journey","accDescr",e,{line:t+1,unit:"normalized"}),i.accessibilityDescription=e,v("journey")&&F("journey","setAccessibilityDescription",e,{line:t+1,unit:"normalized"})},section:(e,t,n)=>{v("journey")&&_("journey","section",e,{line:t+1,unit:"normalized"}),o={id:`section-${r++}`,label:e,...n?{labelContent:n}:{},tasks:[]},i.sections.push(o),v("journey")&&F("journey","addSection",o,{line:t+1,unit:"normalized"})},task:(e,t,a,l,s,c)=>{v("journey")&&_("journey","task",e,{line:l+1,unit:"normalized"});let d={id:`task-${n++}`,text:e,...s?{textContent:s}:{},score:t,actors:a,...c?{actorContents:c}:{}};(o||(o={id:`section-${r++}`,tasks:[]},i.sections.push(o),v("journey")&&F("journey","addImplicitSection",o),o)).tasks.push(d),v("journey")&&F("journey","addTask",{...d,sectionId:o.id},{line:l+1,unit:"normalized"})},issue:e=>{throw v("journey")&&_("journey",`invalid:${e.code}`,e.statement,{line:e.lineIndex+1,unit:"normalized"}),function(e){switch(e.code){case"section_colon":return W({what:`Invalid user journey section: "${e.statement}"`,expectedForm:"section Section name",example:"section Go to work"});case"empty_task_text":return W({what:`Invalid user journey task: "${e.statement}"`,expectedForm:"Task name: score: Actor[, Actor…]",example:"Pay: 3: Shopper"});case"invalid_score":case"unclosed_accdescr":return Error(e.detail);case"empty_title":case"unrecognized_line":return Error(`Invalid user journey line: "${e.statement}". Expected title, section, accessibility metadata, or "Task name: 3: Actor"`)}}(e)}}),i}(e.source.authoredFamilyLines??e.source.familyLines,e.source.accessibility),e.source.frontmatter),e.familyAppearance??eM(e.renderOptions),e.renderOptions,e.styleFace)),projectPositioned:f(function({positioned:e}){let t=[],i=[];for(let o of e.sections){let e=[];for(let i of o.tasks)t.push({id:i.id,x:m(i.x),y:m(i.y),w:m(i.width),h:m(i.height),shape:"rectangle",label:i.text,...y(i.block,i.textX,i.textY,i)}),e.push(i.id);let r=o.tasks.length>0?Math.max(o.y+o.height,...o.tasks.map(e=>e.y+e.height)):o.y+o.height;i.push({id:o.id,x:m(o.x),y:m(o.y),w:m(o.width),h:m(r-o.y),members:e,label:o.label})}return{version:1,nodes:t,edges:[],groups:i,bounds:{w:m(e.width),h:m(e.height)}}}),lowerScene:b(eY)});export{eH as default};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import{a as e,b as t}from"./chunk-2GPK4VFF.js";import{d as i}from"./chunk-QA6GJQ4X.js";import{a as a,b as n}from"./chunk-2I4UPL7Q.js";import{b as r,c as o,e as s,f as l}from"./chunk-2SH76OTH.js";import{b as d,d as c}from"./chunk-AMJLVPUB.js";import{p as h,t as p,v as m,y as u}from"./chunk-DF6765YX.js";import{d as f}from"./chunk-J35HAQQF.js";import{a as g}from"./chunk-2UIA2IME.js";import{a as b,c as k}from"./chunk-CN7WTBWB.js";import{D as x,a as y,b as v,c as w,d as _,e as $,f as W,g as S,i as M}from"./chunk-HLWUNUCM.js";import{J as I,M as U,c as F,m as j,qa as E,s as L,x as z}from"./chunk-X2UYKWKM.js";import"./chunk-TYZOZXUJ.js";import{h as C,l as O,n as K,o as T}from"./chunk-NO7ZIVRU.js";import{$ as B,N as N,Ob as H,Z as P}from"./chunk-Z3FDIVLN.js";import{M as R}from"./chunk-N5ELX7LR.js";import"./chunk-5UVGUSD6.js";import"./chunk-CSFUKSU6.js";var D=Object.freeze({id:"kanban",upstreamId:"kanban",maturity:"stable",label:"Kanban",headers:["kanban"],aliases:[],config:{section:"kanban",keys:["padding","sectionWidth","ticketBaseUrl","useMaxWidth"],noopKeys:["useMaxWidth"]},identity:{id:"family:kanban",kind:"family",version:"1.0.0",compatibility:{core:"0.5.3"},provenance:{owner:"agentic-mermaid",source:"built-in"}},collisionPriority:100,semanticChannels:[],semanticRoles:["prelude","chrome","title","node","label","group","group-header"],scenePrimitiveEvidence:[{role:"prelude",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"title",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"node",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"node",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"label",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"group",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"group",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"group-header",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]}],example:`kanban
|
|
2
|
+
todo[To do]
|
|
3
|
+
parser[Build parser]
|
|
4
|
+
done[Done]
|
|
5
|
+
research[Research]`,detect:R,detectLoose:R});function X(e={}){let t=u(e,["kanban"])??{};return{padding:"number"==typeof t.padding&&Number.isFinite(t.padding)&&t.padding>=0?t.padding:8,sectionWidth:"number"==typeof t.sectionWidth&&Number.isFinite(t.sectionWidth)&&t.sectionWidth>0?t.sectionWidth:240,ticketBaseUrl:"string"==typeof t.ticketBaseUrl?t.ticketBaseUrl:""}}function Y(e,t){if(!e||!t)return;let i=e.replaceAll("#TICKET#",encodeURIComponent(t));return/^(?:https?:|mailto:|\/|#)/i.test(i)&&f(i)&&!/[\u0000-\u0020\u007f-\u009f]/.test(i)?i:void 0}var A=/(\(\(|\{\{|\(-|-\)|\)\)|\[|\(|\))/,V={"[":"]","(":")","((":"))","{{":"}}",")":"(","))":"((","(-":"-)","-)":"(-"};function G(r,o={},s,l){let d="string"==typeof r?r:r.join(`
|
|
6
|
+
`),c=s?/\r|\n/g:/\r\n?|\n/g,p=d.split(c),m=d.match(c)??[],u=2,f=0;for(;p.length&&(!p[0].trim()||p[0].trim().startsWith("%%"));)f+=p[0].length+(m[0]?.length??0),p.shift(),m.shift(),u++;let g=f,b=p.shift()??"";f+=b.length+(m[0]?.length??0);let k=(e,t,i)=>{if(!l)return;let n=a(e);n>=0&&l(e.slice(n+2).trim(),t,{start:i+n+2,end:i+e.length})};k(b,u-1,g),m.shift();let x=f,y=$("kanban")||l?p.map((e,t)=>{let i=x;return x+=e.length+(m[t]?.length??0),i}):void 0;if(S("kanban","header",b,{line:u-1,unit:"normalized"}),!/^kanban\s*$/i.test(n(b).trim()))throw L({what:"Invalid Kanban header",expectedForm:"kanban",example:`kanban
|
|
7
|
+
Todo
|
|
8
|
+
task[Write documentation]`});let v={kind:"kanban",columns:[],accessibilityTitle:o.title,accessibilityDescription:o.descr},w=new Set,_=new Map,W,F,E,C=(e,t)=>{if(!s)return`line ${u+e}, column ${t+1}`;let i=s.originalText.split(/\r\n?|\n/),a=(s.wrapperSource?.match(/\r\n?|\n/g)?.length??0)+1;for(let n=0;n<=e;n++){let r=p[n].trim();for(;a<i.length&&i[a].trim()!==r;)a++;if(a>=i.length)break;if(n===e){let e=i[a].length-i[a].trimStart().length,r=p[n].length-p[n].trimStart().length;return`line ${a+1}, column ${t+e-r+1}`}a++}return`line ${u+e}, column ${t+1}`};for(let a=0;a<p.length;a++){var O;let r=p[a],s=0,d=r.trim();if(!d||d.startsWith("%%"))continue;let c=z(p,a);if(c){if(c.title&&void 0===o.title?v.accessibilityTitle=c.value:c.title||void 0!==o.descr||(v.accessibilityDescription=c.value),a=c.endIndex,!c.suffixLine)continue;r=c.suffixLine,s=p[a].length-r.length,d=r.trim()}let f=a,g=r.length-r.trimStart().length,b=(e,t,i,a=f)=>L({what:`Kanban syntax at ${C(a,t)}: ${e}`,expectedForm:i,example:"task[Work]@{ assigned: Alice }"});if(d.startsWith(":::")||d.startsWith("::icon(")){if(!E)throw b("Kanban decoration has no preceding item",g,"a column or task before its decoration");if(d.startsWith(":::"))k(d.slice(3),a+u,(y?.[a]??0)+s+g+3),E.className=n(d.slice(3)).trim();else{let e=/^::icon\(([^)]*)\)\s*(?:%%.*)?$/.exec(d);if(!e)throw b("Invalid Kanban icon decoration",g,"::icon(icon-name)");k(d.slice(d.indexOf(")")+1),a+u,(y?.[a]??0)+s+g+d.indexOf(")")+1),E.icon=e[1].trim()}S("kanban",d.startsWith(":::")?"class":"icon",r,{line:a+u,unit:"normalized"}),$("kanban")&&M("kanban",d.startsWith(":::")?"set-class":"set-icon",{id:E.id,sourceId:E.sourceId,value:d.startsWith(":::")?E.className:E.icon});continue}let x="",K="",T=!1,B=g,N="",H=d.indexOf("@{"),P=A.exec(H<0?d:d.slice(0,H));if(P){T=!(x=d.slice(0,P.index).trim());let e=P[0],t=V[e],i=d.slice(P.index+e.length),n;if(i.startsWith('"')){let r=i.startsWith('"`'),o=r?'`"':'"',s=r?2:1;for(B=g+P.index+e.length+s;0>i.indexOf(o,s)&&a+1<p.length;)i+=("\r"===m[a]?"\r":`
|
|
9
|
+
`)+p[++a];let l=i.indexOf(o,s);if(l<0)throw b("Unclosed Kanban quoted label",g+P.index+e.length,`closing ${o}${t}`);if(K=i.slice(s,l),n=l+o.length,!i.slice(n).startsWith(t))throw b("Unclosed Kanban label",g+P.index,`closing ${t}`);n+=t.length}else{for(B=g+P.index+e.length;!i.includes(t)&&a+1<p.length;)i+=("\r"===m[a]?"\r":`
|
|
10
|
+
`)+p[++a];let r=i.indexOf(t);if(r<0)throw b("Unclosed Kanban label",g+P.index,`closing ${t}`);K=i.slice(0,r),n=r+t.length}N=i.slice(n).trim(),T&&(x=K)}else{let e=H<0?d:d.slice(0,H);k(e,a+u,(y?.[a]??0)+s+g),x=K=n(e).trim(),N=H<0?"":d.slice(H)}if(!x||!K)throw b("Empty Kanban item",g,"a column or card with a non-empty label");let R=K,D={},X;if(N.startsWith("@{")){let i=p.slice(f,a+1).join(`
|
|
11
|
+
`),n=i.lastIndexOf(N),r=N,o=t(r,1,"flowchart");for(;!o.ok&&o.unclosed&&a+1<p.length;)r+=`
|
|
12
|
+
`+p[++a],o=t(r,1,"flowchart");if(!o.ok){let e=i.slice(0,n),t=e.split(`
|
|
13
|
+
`).length-1,a=n-(e.lastIndexOf(`
|
|
14
|
+
`)+1);throw b(`Invalid Kanban metadata (${o.message})`,a,"a closed @{ key: value } metadata mapping",f+t)}if(D=Object.fromEntries(o.entries),$("kanban")&&(X=function(t,i){let a,n=0,r=h(t,1,"flowchart",(e,t,i)=>{let r=e-2+n;(a??=[]).push({start:r,end:r+i,sourceStart:e-2,sourceEnd:t-2}),n+=i-(t-e)});if("closed"!==r.kind)return[];let o=[],s=e(r.body),l=s.text.includes(`
|
|
15
|
+
`),d=2*!l,c=l?`${s.text}
|
|
16
|
+
`:`{
|
|
17
|
+
${s.text}
|
|
18
|
+
}`,p=e=>{let t=s.sourceOffset(Math.max(0,Math.min(s.text.length,e-d))),n=0,r=a?.length??0;for(;n<r;){let e=n+r>>>1;a[e].start<=t?n=e+1:r=e}let o=a?.[n-1];return i+2+(o?t<o.end?o.sourceStart:t-o.end+o.sourceEnd:t)};for(let e of I(c))o.push({name:s.restore(e.name),keyStart:p(e.keyStart),keyEnd:p(e.keyEnd),valueStart:p(e.valueStart),valueEnd:p(e.valueEnd)});return o}(r,n)),N=r.slice(o.end+1).trim(),D.shape&&("string"!=typeof D.shape||D.shape!==D.shape.toLowerCase()||D.shape.includes("_")))throw b("Invalid Kanban metadata shape",g,"a lowercase shape without underscores");D.label&&(K=String(D.label))}if(n(N).trim())throw b(`Unexpected Kanban suffix: ${N}`,g,"a node followed by optional @{ metadata }");let Y=l?p[a].length-p[a].trimEnd().length:0;k(N,a+u,(y?.[a]??0)+p[a].length-Y-N.length),$("kanban")&&S("kanban","node",p.slice(f,a+1).join(`
|
|
19
|
+
`),{line:f+u,offset:y[f],endOffset:y[a]+p[a].length,unit:"normalized"}),x=i(x),K=((O=D.label)?i(j(String(O))):void 0)??i(K);let G=_.get(x)??0;_.set(x,G+1);let J=G?`${x}#${G+1}`:x;for(;w.has(J);)J+="#";w.add(J);let Q={id:J,sourceId:x,...T?{implicitId:!0}:{},label:K,metadata:D,...D.icon?{icon:String(D.icon)}:{}};if(W??=g,g<W)throw b(`Items without section detected, found section ("${K}")`,g,"columns at the first column indentation and cards indented beneath them");if(g===W)F={...Q,tasks:[]},v.columns.push(F),E=F,$("kanban")&&M("kanban","add-column",{...Q,indent:g,declaredStart:s+g,declaredLabel:R,declaredLabelStart:s+B,...X?{metadataSpans:X}:{}});else{if(!F)throw Error("Kanban card has no column");F.tasks.push(Q),E=Q,$("kanban")&&M("kanban","add-task",{...Q,indent:g,declaredStart:s+g,declaredLabel:R,declaredLabelStart:s+B,parentId:F.sourceId,...X?{metadataSpans:X}:{}})}U("nodes",w.size)}return v}var J=F(function(e,{positioned:t,colors:i,resolved:a}){let n=C(a.renderOptions,void 0,a.styleFace),r=E(i),o=a.renderOptions.transparent??!1,s=[];t.title&&s.push(e.text(T(t.title,n)));let l=(t,i,a,n)=>e.text({id:t,role:"label",owner:n,text:i.block.text,block:i.block,x:i.x,y:i.y,fontSize:i.block.fontSize,fontWeight:i.block.fontWeight,letterSpacing:i.block.letterSpacing,anchor:"start",paint:{fill:a}});for(let i of t.columns){let t=n.groupFillColor??"var(--_group-fill)",o=n.groupHeaderFillColor??"var(--_group-hdr)",d=[e.shape({id:`${i.id}:surface`,role:"group",identity:!1,owner:{id:i.id,role:"group"},geometry:{kind:"rect",x:i.x,y:i.y,width:i.width,height:i.height,rx:n.groupCornerRadius},paint:{fill:t,stroke:n.groupBorderColor??"var(--_node-stroke)",strokeWidth:String(n.groupLineWidth)}}),e.shape({id:`${i.id}:header`,role:"group-header",owner:{id:i.id,role:"group"},geometry:{kind:"rect",x:i.x,y:i.y,width:i.width,height:i.headerHeight,rx:n.groupCornerRadius},paint:{fill:o,stroke:"none"}})],c=n.groupTextColor??r("var(--_text)",o);for(let t of(i.texts.forEach((e,t)=>d.push(l(`${i.id}:text-${t}`,e,c,{id:i.id,role:"group"}))),i.tasks)){let o=n.nodeFillColor??"var(--_node-fill)",s=n.nodeTextColor??r("var(--_text)",o),c=[e.shape({id:`${t.id}:surface`,role:"node",identity:!1,owner:{id:t.id,role:"node"},geometry:{kind:"rect",x:t.x,y:t.y,width:t.width,height:t.height,rx:n.cornerRadius??5},paint:{fill:o,stroke:n.nodeBorderColor??"var(--_node-stroke)",strokeWidth:String(n.nodeLineWidth)}})];t.texts.forEach((e,i)=>c.push(l(`${t.id}:text-${i}`,e,s,{id:t.id,role:"node"})));let h=t.className?.split(/\s+/).filter(e=>/^[\w-]+$/.test(e)).join(" "),p=t.ticketUrl&&"strict"!==a.renderOptions.security?` data-href="${N(t.ticketUrl)}" role="link" tabindex="0"`:"";d.push(e.group({id:t.id,role:"node",open:`<g data-id="${N(t.id)}" data-parent="${N(i.id)}"${h?` class="${N(h)}"`:""}${p}>`,close:"</g>",children:c.map(e=>({node:e,indent:2}))}))}let h=i.className?.split(/\s+/).filter(e=>/^[\w-]+$/.test(e)).join(" ");s.push(e.group({id:i.id,role:"group",open:`<g data-id="${N(i.id)}"${h?` class="${N(h)}"`:""}>`,close:"</g>",children:d.map(e=>({node:e,indent:2}))}))}return g(e,"kanban",t,i,o,s)}),Q=_(D,{statementEnds:function(e){let t=e.map((e,t)=>t);try{W("kanban",i=>{if("statement"!==i.unit||"node"!==i.kind||!i.source?.line||void 0===i.text)return;let a=i.source.line-1;t[a]=Math.min(e.length-1,a+i.text.split(`
|
|
20
|
+
`).length-1)},()=>G(e),{mutations:[]})}catch(e){if(e instanceof H)throw e}return t},configDiagnostics:e=>{let t=c("kanban",e,{padding:o,sectionWidth:r,ticketBaseUrl:l,useMaxWidth:s}),i=d(e.root,"kanban")?.ticketBaseUrl;return"string"==typeof i&&i&&!Y(i,"TICKET")&&t.push({code:"INEFFECTIVE_CONFIG",field:"kanban.ticketBaseUrl",message:"kanban.ticketBaseUrl is not a safe inert link; ticket text is preserved without navigation."}),t},normalizeRequest:e=>({familyConfig:{visual:X(e.source.frontmatter)}}),layout:e=>w(function(e,t={},i=X(),a){U("nodes",e.columns.reduce((e,t)=>e+t.tasks.length+1,0));let n=C(t,void 0,a),r=t.padding??24,o=Math.max(4,i.padding),s=Math.max(8,n.nodePaddingX),l=Math.max(8,n.nodePaddingY),d=a?.group?.paddingX??o,c=a?.group?.paddingY??o,h=a?.group?.paddingX??o+s,p=a?.group?.paddingY??l,m=Math.max(160,2*d+2*s+24,2*h+24),u=t.kanban?.maxWidth,f=Math.max(void 0===u?0:m,Math.min(Math.max(i.sectionWidth,2*d+2*s+24,2*h+24),void 0===u?1/0:u-2*r)),g=Math.max(16,2*o),b=O(e.title,n),k=(e,i)=>{let a,r;return(a=[{text:e.label,kind:"label"}],e.metadata.ticket&&a.push({text:String(e.metadata.ticket),kind:"ticket"}),e.metadata.assigned&&a.push({text:`Assigned: ${e.metadata.assigned}`,kind:"assigned"}),e.metadata.priority&&a.push({text:`Priority: ${e.metadata.priority}`,kind:"priority"}),(r=e.icon??e.metadata.icon)&&a.push({text:`Icon: ${r}`,kind:"icon"}),a).map(({text:e,kind:a})=>{let r="label"===a,o=P(e,{display:"formatted",transform:i?n.groupTextTransform:n.nodeTextTransform,fontSize:i?n.groupHeaderFontSize:r?n.nodeLabelFontSize:n.edgeLabelFontSize,fontWeight:i?n.groupHeaderFontWeight:r?n.nodeLabelFontWeight:n.edgeLabelFontWeight,letterSpacing:i?n.groupLetterSpacing:n.nodeLetterSpacing,fontFamily:i?n.groupFont??t.font:t.font,maxWidth:f-2*(i?h:d+s)});return{text:e,kind:a,block:o,x:0,y:0}})},x=e.columns.map(e=>B(k(e,!0),{top:r+(b?.height??0)+p,gap:6,trailingGap:!0})),y=Math.max(32,...x.map(e=>e.height+2*p)),v=[];e.columns.forEach((e,t)=>{let a=r+t*(f+g),n=r+(b?.height??0),p=x[t].rows.map(({item:e,textY:t})=>(e.x=a+h,e.y=t,e)),m=n+y+c,u=e.tasks.map(t=>{let n=B(k(t,!1),{top:m+l,gap:6}),r=Math.max(40,n.height+2*l),c=n.rows.map(({item:e,textY:t})=>(e.x=a+d+s,e.y=t,e)),h={...t,parentId:e.id,x:a+d,y:m,width:f-2*d,height:r,texts:c,...t.metadata.ticket?{ticketUrl:Y(i.ticketBaseUrl,String(t.metadata.ticket))}:{}};return m+=r+o,h});v.push({...e,x:a,y:n,width:f,height:m-n+c,headerHeight:y,texts:p,tasks:u})});let w=Math.max(y+2*c,...v.map(e=>e.height));for(let e of v)e.height=w;let _=void 0===u?Math.max(1,v.length):Math.max(1,Math.floor((u-2*r+g)/(f+g))),$=w;if(_<v.length){let e=r+(b?.height??0);for(let t=0;t<v.length;t+=_){for(let[i,a]of v.slice(t,t+_).entries()){let t=r+i*(f+g)-a.x,n=e-a.y;for(let e of(a.x+=t,a.y+=n,a.texts))e.x+=t,e.y+=n;for(let e of a.tasks)for(let i of(e.x+=t,e.y+=n,e.texts))i.x+=t,i.y+=n}e+=w+g}$=e-g-r-(b?.height??0)}let W=Math.min(v.length,_),S=Math.max(2*r+Math.max(0,W*f+Math.max(0,W-1)*g),(b?.width??0)+2*r);return{columns:v,visual:i,width:S,height:2*r+(b?.height??0)+$,...b?{title:K(b,S,r)}:{}}}(p(G(m(e.source),e.source.accessibility,e.source),e.source.frontmatter),e.renderOptions,e.familyConfig?.visual??X(),e.styleFace)),projectPositioned:y(function({positioned:e}){return{version:1,nodes:e.columns.flatMap(t=>t.tasks.map(i=>({id:i.id,parentId:t.id,x:k(i.x),y:k(i.y),w:k(i.width),h:k(i.height),shape:"rectangle",label:i.label,...x(i.texts[0]?.block,i.texts[0]?.x??i.x,i.texts[0]?.y??i.y,b(e),"start")}))),edges:[],groups:e.columns.map(e=>({id:e.id,label:e.label,x:k(e.x),y:k(e.y),w:k(e.width),h:k(e.height),members:e.tasks.map(e=>e.id)})),bounds:{w:k(e.width),h:k(e.height)}}}),lowerScene:v(J)});export{Q as default};
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import"./chunk-CSFUKSU6.js";var e,t=Symbol.for("yaml.alias"),s=Symbol.for("yaml.document"),n=Symbol.for("yaml.map"),i=Symbol.for("yaml.pair"),r=Symbol.for("yaml.scalar"),o=Symbol.for("yaml.seq"),l=Symbol.for("yaml.node.type"),a=e=>!!e&&"object"==typeof e&&e[l]===t,c=e=>!!e&&"object"==typeof e&&e[l]===s,u=e=>!!e&&"object"==typeof e&&e[l]===n,f=e=>!!e&&"object"==typeof e&&e[l]===i,h=e=>!!e&&"object"==typeof e&&e[l]===r,d=e=>!!e&&"object"==typeof e&&e[l]===o;function p(e){if(e&&"object"==typeof e)switch(e[l]){case n:case o:return!0}return!1}function m(e){if(e&&"object"==typeof e)switch(e[l]){case t:case n:case r:case o:return!0}return!1}var g=e=>(h(e)||p(e))&&!!e.anchor,y=Symbol("break visit"),b=Symbol("skip children"),k=Symbol("remove node");function v(e,t){let s=N(t);c(e)?w(null,e.contents,s,Object.freeze([e]))===k&&(e.contents=null):w(null,e,s,Object.freeze([]))}function w(e,t,s,n){let i=O(e,t,s,n);if(m(i)||f(i))return A(e,n,i),w(e,i,s,n);if("symbol"!=typeof i){if(p(t)){n=Object.freeze(n.concat(t));for(let e=0;e<t.items.length;++e){let i=w(e,t.items[e],s,n);if("number"==typeof i)e=i-1;else{if(i===y)return y;i===k&&(t.items.splice(e,1),e-=1)}}}else if(f(t)){n=Object.freeze(n.concat(t));let e=w("key",t.key,s,n);if(e===y)return y;e===k&&(t.key=null);let i=w("value",t.value,s,n);if(i===y)return y;i===k&&(t.value=null)}}return i}async function S(e,t){let s=N(t);c(e)?await E(null,e.contents,s,Object.freeze([e]))===k&&(e.contents=null):await E(null,e,s,Object.freeze([]))}async function E(e,t,s,n){let i=await O(e,t,s,n);if(m(i)||f(i))return A(e,n,i),E(e,i,s,n);if("symbol"!=typeof i){if(p(t)){n=Object.freeze(n.concat(t));for(let e=0;e<t.items.length;++e){let i=await E(e,t.items[e],s,n);if("number"==typeof i)e=i-1;else{if(i===y)return y;i===k&&(t.items.splice(e,1),e-=1)}}}else if(f(t)){n=Object.freeze(n.concat(t));let e=await E("key",t.key,s,n);if(e===y)return y;e===k&&(t.key=null);let i=await E("value",t.value,s,n);if(i===y)return y;i===k&&(t.value=null)}}return i}function N(e){return"object"==typeof e&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function O(e,t,s,n){return"function"==typeof s?s(e,t,n):u(t)?s.Map?.(e,t,n):d(t)?s.Seq?.(e,t,n):f(t)?s.Pair?.(e,t,n):h(t)?s.Scalar?.(e,t,n):a(t)?s.Alias?.(e,t,n):void 0}function A(e,t,s){let n=t[t.length-1];if(p(n))n.items[e]=s;else if(f(n))"key"===e?n.key=s:n.value=s;else if(c(n))n.contents=s;else{let e=a(n)?"alias":"scalar";throw Error(`Cannot replace node with ${e} parent`)}}v.BREAK=y,v.SKIP=b,v.REMOVE=k,S.BREAK=y,S.SKIP=b,S.REMOVE=k;var T={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},I=e=>e.replace(/[!,[\]{}]/g,e=>T[e]),x=class e{constructor(t,s){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},e.defaultYaml,t),this.tags=Object.assign({},e.defaultTags,s)}clone(){let t=new e(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){let t=new e(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:e.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},e.defaultTags)}return t}add(t,s){this.atNextDocument&&(this.yaml={explicit:e.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},e.defaultTags),this.atNextDocument=!1);let n=t.trim().split(/[ \t]+/),i=n.shift();switch(i){case"%TAG":{if(2!==n.length&&(s(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;let[e,t]=n;return this.tags[e]=t,!0}case"%YAML":{if(this.yaml.explicit=!0,1!==n.length)return s(0,"%YAML directive should contain exactly one part"),!1;let[e]=n;if("1.1"===e||"1.2"===e)return this.yaml.version=e,!0;{let t=/^\d+\.\d+$/.test(e);return s(6,`Unsupported YAML version ${e}`,t),!1}}default:return s(0,`Unknown directive ${i}`,!0),!1}}tagName(e,t){if("!"===e)return"!";if("!"!==e[0])return t(`Not a valid tag: ${e}`),null;if("<"===e[1]){let s=e.slice(2,-1);return"!"===s||"!!"===s?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(">"!==e[e.length-1]&&t("Verbatim tags must end with a >"),s)}let[,s,n]=e.match(/^(.*!)([^!]*)$/s);n||t(`The ${e} tag has no suffix`);let i=this.tags[s];if(i)try{return i+decodeURIComponent(n)}catch(e){return t(String(e)),null}return"!"===s?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,s]of Object.entries(this.tags))if(e.startsWith(s))return t+I(e.substring(s.length));return"!"===e[0]?e:`!<${e}>`}toString(e){let t=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],s=Object.entries(this.tags),n;if(e&&s.length>0&&m(e.contents)){let t={};v(e.contents,(e,s)=>{m(s)&&s.tag&&(t[s.tag]=!0)}),n=Object.keys(t)}else n=[];for(let[i,r]of s)"!!"===i&&"tag:yaml.org,2002:"===r||(!e||n.some(e=>e.startsWith(r)))&&t.push(`%TAG ${i} ${r}`);return t.join(`
|
|
2
|
+
`)}};function $(e){if(/[\x00-\x19\s,[\]{}]/.test(e))throw Error(`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`);return!0}function L(e){let t=new Set;return v(e,{Value(e,s){s.anchor&&t.add(s.anchor)}}),t}function C(e,t){for(let s=1;;++s){let n=`${e}${s}`;if(!t.has(n))return n}}function _(e,t,s,n){if(n&&"object"==typeof n)if(Array.isArray(n))for(let t=0,s=n.length;t<s;++t){let s=n[t],i=_(e,n,String(t),s);void 0===i?delete n[t]:i!==s&&(n[t]=i)}else if(n instanceof Map)for(let t of Array.from(n.keys())){let s=n.get(t),i=_(e,n,t,s);void 0===i?n.delete(t):i!==s&&n.set(t,i)}else if(n instanceof Set)for(let t of Array.from(n)){let s=_(e,n,t,t);void 0===s?n.delete(t):s!==t&&(n.delete(t),n.add(s))}else for(let[t,s]of Object.entries(n)){let i=_(e,n,t,s);void 0===i?delete n[t]:i!==s&&(n[t]=i)}return e.call(t,s,n)}function K(e,t,s){if(Array.isArray(e))return e.map((e,t)=>K(e,String(t),s));if(e&&"function"==typeof e.toJSON){if(!s||!g(e))return e.toJSON(t,s);let n={aliasCount:0,count:1,res:void 0};s.anchors.set(e,n),s.onCreate=e=>{n.res=e,delete s.onCreate};let i=e.toJSON(t,s);return s.onCreate&&s.onCreate(i),i}return"bigint"!=typeof e||s?.keep?e:Number(e)}x.defaultYaml={explicit:!1,version:"1.2"},x.defaultTags={"!!":"tag:yaml.org,2002:"};var B=class{constructor(e){Object.defineProperty(this,l,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:s,onAnchor:n,reviver:i}={}){if(!c(e))throw TypeError("A document argument is required");let r={anchors:new Map,doc:e,keep:!0,mapAsMap:!0===t,mapKeyWarned:!1,maxAliasCount:"number"==typeof s?s:100},o=K(this,"",r);if("function"==typeof n)for(let{count:e,res:t}of r.anchors.values())n(t,e);return"function"==typeof i?_(i,{"":o},"",o):o}},j=class extends B{constructor(e){super(t),this.source=e,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(e,t){let s,n;if(t?.maxAliasCount===0)throw ReferenceError("Alias resolution is disabled");for(let i of(t?.aliasResolveCache?s=t.aliasResolveCache:(s=[],v(e,{Node:(e,t)=>{(a(t)||g(t))&&s.push(t)}}),t&&(t.aliasResolveCache=s)),s)){if(i===this)break;i.anchor===this.source&&(n=i)}return n}toJSON(e,t){if(!t)return{source:this.source};let{anchors:s,doc:n,maxAliasCount:i}=t,r=this.resolve(n,t);if(!r)throw ReferenceError(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);let o=s.get(r);if(o||(K(r,null,t),o=s.get(r)),o?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(i>=0&&(o.count+=1,0===o.aliasCount&&(o.aliasCount=function e(t,s,n){if(a(s)){let e=s.resolve(t),i=n&&e&&n.get(e);return i?i.count*i.aliasCount:0}if(p(s)){let i=0;for(let r of s.items){let s=e(t,r,n);s>i&&(i=s)}return i}return f(s)?Math.max(e(t,s.key,n),e(t,s.value,n)):1}(n,r,s)),o.count*o.aliasCount>i))throw ReferenceError("Excessive alias count indicates a resource exhaustion attack");return o.res}toString(e,t,s){let n=`*${this.source}`;if(e){if($(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source))throw Error(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);if(e.implicitKey)return`${n} `}return n}},M=e=>!e||"function"!=typeof e&&"object"!=typeof e,D=class extends B{constructor(e){super(r),this.value=e}toJSON(e,t){return t?.keep?this.value:K(this.value,e,t)}toString(){return String(this.value)}};function P(e,t,s){if(c(e)&&(e=e.contents),m(e))return e;if(f(e)){let t=s.schema[n].createNode?.(s.schema,null,s);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||"u">typeof BigInt&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:i,onAnchor:r,onTagObj:l,schema:a,sourceObjects:u}=s,h;if(i&&e&&"object"==typeof e){if(h=u.get(e))return h.anchor??(h.anchor=r(e)),new j(h.anchor);h={anchor:null,node:null},u.set(e,h)}t?.startsWith("!!")&&(t="tag:yaml.org,2002:"+t.slice(2));let d=function(e,t,s){if(t){let e=s.filter(e=>e.tag===t),n=e.find(e=>!e.format)??e[0];if(!n)throw Error(`Tag ${t} not found`);return n}return s.find(t=>t.identify?.(e)&&!t.format)}(e,t,a.tags);if(!d){if(e&&"function"==typeof e.toJSON&&(e=e.toJSON()),!e||"object"!=typeof e){let t=new D(e);return h&&(h.node=t),t}d=e instanceof Map?a[n]:Symbol.iterator in Object(e)?a[o]:a[n]}l&&(l(d),delete s.onTagObj);let p=d?.createNode?d.createNode(s.schema,e,s):"function"==typeof d?.nodeClass?.from?d.nodeClass.from(s.schema,e,s):new D(e);return t?p.tag=t:d.default||(p.tag=d.tag),h&&(h.node=p),p}function q(e,t,s){let n=s;for(let e=t.length-1;e>=0;--e){let s=t[e];if("number"==typeof s&&Number.isInteger(s)&&s>=0){let e=[];e[s]=n,n=e}else n=new Map([[s,n]])}return P(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}D.BLOCK_FOLDED="BLOCK_FOLDED",D.BLOCK_LITERAL="BLOCK_LITERAL",D.PLAIN="PLAIN",D.QUOTE_DOUBLE="QUOTE_DOUBLE",D.QUOTE_SINGLE="QUOTE_SINGLE";var U=e=>null==e||"object"==typeof e&&!!e[Symbol.iterator]().next().done,R=class extends B{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(t=>m(t)||f(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(U(e))this.add(t);else{let[s,...n]=e,i=this.get(s,!0);if(p(i))i.addIn(n,t);else if(void 0===i&&this.schema)this.set(s,q(this.schema,n,t));else throw Error(`Expected YAML collection at ${s}. Remaining path: ${n}`)}}deleteIn(e){let[t,...s]=e;if(0===s.length)return this.delete(t);let n=this.get(t,!0);if(p(n))return n.deleteIn(s);throw Error(`Expected YAML collection at ${t}. Remaining path: ${s}`)}getIn(e,t){let[s,...n]=e,i=this.get(s,!0);return 0===n.length?!t&&h(i)?i.value:i:p(i)?i.getIn(n,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!f(t))return!1;let s=t.value;return null==s||e&&h(s)&&null==s.value&&!s.commentBefore&&!s.comment&&!s.tag})}hasIn(e){let[t,...s]=e;if(0===s.length)return this.has(t);let n=this.get(t,!0);return!!p(n)&&n.hasIn(s)}setIn(e,t){let[s,...n]=e;if(0===n.length)this.set(s,t);else{let e=this.get(s,!0);if(p(e))e.setIn(n,t);else if(void 0===e&&this.schema)this.set(s,q(this.schema,n,t));else throw Error(`Expected YAML collection at ${s}. Remaining path: ${n}`)}}},F=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function J(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}var V=(e,t,s)=>e.endsWith(`
|
|
3
|
+
`)?J(s,t):s.includes(`
|
|
4
|
+
`)?`
|
|
5
|
+
`+J(s,t):(e.endsWith(" ")?"":" ")+s,Y="flow",W="block",G="quoted";function H(e,t,s="flow",{indentAtStart:n,lineWidth:i=80,minContentWidth:r=20,onFold:o,onOverflow:l}={}){if(!i||i<0)return e;i<r&&(r=0);let a=Math.max(1+r,1+i-t.length);if(e.length<=a)return e;let c=[],u={},f=i-t.length;"number"==typeof n&&(n>i-Math.max(2,r)?c.push(0):f=i-n);let h,d,p=!1,m=-1,g=-1,y=-1;s===W&&-1!==(m=Q(e,m,t.length))&&(f=m+a);for(let n;n=e[m+=1];){if(s===G&&"\\"===n){switch(g=m,e[m+1]){case"x":m+=3;break;case"u":m+=5;break;case"U":m+=9;break;default:m+=1}y=m}if(n===`
|
|
6
|
+
`)s===W&&(m=Q(e,m,t.length)),f=m+t.length+a,h=void 0;else{if(" "===n&&d&&" "!==d&&d!==`
|
|
7
|
+
`&&" "!==d){let t=e[m+1];t&&" "!==t&&t!==`
|
|
8
|
+
`&&" "!==t&&(h=m)}if(m>=f)if(h)c.push(h),f=h+a,h=void 0;else if(s===G){for(;" "===d||" "===d;)d=n,n=e[m+=1],p=!0;let t=m>y+1?m-2:g-1;if(u[t])return e;c.push(t),u[t]=!0,f=t+a,h=void 0}else p=!0}d=n}if(p&&l&&l(),0===c.length)return e;o&&o();let b=e.slice(0,c[0]);for(let n=0;n<c.length;++n){let i=c[n],r=c[n+1]||e.length;0===i?b=`
|
|
9
|
+
${t}${e.slice(0,r)}`:(s===G&&u[i]&&(b+=`${e[i]}\\`),b+=`
|
|
10
|
+
${t}${e.slice(i+1,r)}`)}return b}function Q(e,t,s){let n=t,i=t+1,r=e[i];for(;" "===r||" "===r;)if(t<i+s)r=e[++t];else{do r=e[++t];while(r&&r!==`
|
|
11
|
+
`)n=t,r=e[i=t+1]}return n}var X=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth});function z(e,t){let s=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return s;let{implicitKey:n}=t,i=t.options.doubleQuotedMinMultiLineLength,r=t.indent||(/^(%|---|\.\.\.)/m.test(e)?" ":""),o="",l=0;for(let e=0,t=s[e];t;t=s[++e])if(" "===t&&"\\"===s[e+1]&&"n"===s[e+2]&&(o+=s.slice(l,e)+"\\ ",e+=1,l=e,t="\\"),"\\"===t)switch(s[e+1]){case"u":{o+=s.slice(l,e);let t=s.substr(e+2,4);switch(t){case"0000":o+="\\0";break;case"0007":o+="\\a";break;case"000b":o+="\\v";break;case"001b":o+="\\e";break;case"0085":o+="\\N";break;case"00a0":o+="\\_";break;case"2028":o+="\\L";break;case"2029":o+="\\P";break;default:"00"===t.substr(0,2)?o+="\\x"+t.substr(2):o+=s.substr(e,6)}e+=5,l=e+1}break;case"n":if(n||'"'===s[e+2]||s.length<i)e+=1;else{for(o+=s.slice(l,e)+`
|
|
12
|
+
|
|
13
|
+
`;"\\"===s[e+2]&&"n"===s[e+3]&&'"'!==s[e+4];)o+=`
|
|
14
|
+
`,e+=2;o+=r," "===s[e+2]&&(o+="\\"),e+=1,l=e+1}break;default:e+=1}return o=l?o+s.slice(l):s,n?o:H(o,r,G,X(t,!1))}function Z(e,t){if(!1===t.options.singleQuote||t.implicitKey&&e.includes(`
|
|
15
|
+
`)||/[ \t]\n|\n[ \t]/.test(e))return z(e,t);let s=t.indent||(/^(%|---|\.\.\.)/m.test(e)?" ":""),n="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
16
|
+
${s}`)+"'";return t.implicitKey?n:H(n,s,Y,X(t,!1))}function ee(e,t){let{singleQuote:s}=t.options,n;if(!1===s)n=z;else{let t=e.includes('"'),i=e.includes("'");n=t&&!i?Z:i&&!t?z:s?Z:z}return n(e,t)}try{e=RegExp(`(^|(?<!
|
|
17
|
+
))
|
|
18
|
+
+(?!
|
|
19
|
+
|$)`,"g")}catch{e=/\n+(?!\n|$)/g}function et({comment:t,type:s,value:n},i,r,o){let l,a,c,{blockQuote:u,commentString:f,lineWidth:h}=i.options;if(!u||/\n[\t ]+$/.test(n))return ee(n,i);let d=i.indent||(i.forceBlockIndent||(l=n,/^(%|---|\.\.\.)/m.test(l))?" ":""),p="literal"===u||"folded"!==u&&s!==D.BLOCK_FOLDED&&(s===D.BLOCK_LITERAL||!function(e,t,s){if(!t||t<0)return!1;let n=t-s,i=e.length;if(i<=n)return!1;for(let t=0,s=0;t<i;++t)if(e[t]===`
|
|
20
|
+
`){if(t-s>n)return!0;if(i-(s=t+1)<=n)return!1}return!0}(n,h,d.length));if(!n)return p?`|
|
|
21
|
+
`:`>
|
|
22
|
+
`;for(c=n.length;c>0;--c){let e=n[c-1];if(e!==`
|
|
23
|
+
`&&" "!==e&&" "!==e)break}let m=n.substring(c),g=m.indexOf(`
|
|
24
|
+
`);-1===g?a="-":n===m||g!==m.length-1?(a="+",o&&o()):a="",m&&(n=n.slice(0,-m.length),m[m.length-1]===`
|
|
25
|
+
`&&(m=m.slice(0,-1)),m=m.replace(e,`$&${d}`));let y=!1,b,k=-1;for(b=0;b<n.length;++b){let e=n[b];if(" "===e)y=!0;else if(e===`
|
|
26
|
+
`)k=b;else break}let v=n.substring(0,k<b?k+1:b);v&&(n=n.substring(v.length),v=v.replace(/\n+/g,`$&${d}`));let w=(y?d?"2":"1":"")+a;if(t&&(w+=" "+f(t.replace(/ ?[\r\n]+/g," ")),r&&r()),!p){let e=n.replace(/\n+/g,`
|
|
27
|
+
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${d}`),t=!1,r=X(i,!0);"folded"!==u&&s!==D.BLOCK_FOLDED&&(r.onOverflow=()=>{t=!0});let o=H(`${v}${e}${m}`,d,W,r);if(!t)return`>${w}
|
|
28
|
+
${d}${o}`}return n=n.replace(/\n+/g,`$&${d}`),`|${w}
|
|
29
|
+
${d}${v}${n}${m}`}function es(e,t,s,n){let{implicitKey:i,inFlow:r}=t,o="string"==typeof e.value?e:Object.assign({},e,{value:String(e.value)}),{type:l}=e;l!==D.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value)&&(l=D.QUOTE_DOUBLE);let a=e=>{switch(e){case D.BLOCK_FOLDED:case D.BLOCK_LITERAL:return i||r?ee(o.value,t):et(o,t,s,n);case D.QUOTE_DOUBLE:return z(o.value,t);case D.QUOTE_SINGLE:return Z(o.value,t);case D.PLAIN:return function(e,t,s,n){let{type:i,value:r}=e,{actualString:o,implicitKey:l,indent:a,indentStep:c,inFlow:u}=t;if(l&&r.includes(`
|
|
30
|
+
`)||u&&/[[\]{},]/.test(r))return ee(r,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(r))return l||u||!r.includes(`
|
|
31
|
+
`)?ee(r,t):et(e,t,s,n);if(!l&&!u&&i!==D.PLAIN&&r.includes(`
|
|
32
|
+
`))return et(e,t,s,n);if(/^(%|---|\.\.\.)/m.test(r)){if(""===a)return t.forceBlockIndent=!0,et(e,t,s,n);if(l&&a===c)return ee(r,t)}let f=r.replace(/\n+/g,`$&
|
|
33
|
+
${a}`);if(o){let e=e=>e.default&&"tag:yaml.org,2002:str"!==e.tag&&e.test?.test(f),{compat:s,tags:n}=t.doc.schema;if(n.some(e)||s?.some(e))return ee(r,t)}return l?f:H(f,a,Y,X(t,!1))}(o,t,s,n);default:return null}},c=a(l);if(null===c){let{defaultKeyType:e,defaultStringType:s}=t.options,n=i&&e||s;if(null===(c=a(n)))throw Error(`Unsupported default string type ${n}`)}return c}function en(e,t){let s=Object.assign({blockQuote:!0,commentString:F,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},e.schema.toStringOptions,t),n;switch(s.collectionStyle){case"block":n=!1;break;case"flow":n=!0;break;default:n=null}return{anchors:new Set,doc:e,flowCollectionPadding:s.flowCollectionPadding?" ":"",indent:"",indentStep:"number"==typeof s.indent?" ".repeat(s.indent):" ",inFlow:n,options:s}}function ei(e,t,s,n){if(f(e))return e.toString(t,s,n);if(a(e)){if(t.doc.directives)return e.toString(t);if(t.resolvedAliases?.has(e))throw TypeError("Cannot stringify circular structure without alias nodes");t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let i,r=m(e)?e:t.doc.createNode(e,{onTagObj:e=>i=e});i??(i=function(e,t){let s,n;if(t.tag){let s=e.filter(e=>e.tag===t.tag);if(s.length>0)return s.find(e=>e.format===t.format)??s[0]}if(h(t)){n=t.value;let i=e.filter(e=>e.identify?.(n));if(i.length>1){let e=i.filter(e=>e.test);e.length>0&&(i=e)}s=i.find(e=>e.format===t.format)??i.find(e=>!e.format)}else n=t,s=e.find(e=>e.nodeClass&&n instanceof e.nodeClass);if(!s){let e=n?.constructor?.name??(null===n?"null":typeof n);throw Error(`Tag not resolved for ${e} value`)}return s}(t.doc.schema.tags,r));let o=function(e,t,{anchors:s,doc:n}){if(!n.directives)return"";let i=[],r=(h(e)||p(e))&&e.anchor;r&&$(r)&&(s.add(r),i.push(`&${r}`));let o=e.tag??(t.default?null:t.tag);return o&&i.push(n.directives.tagString(o)),i.join(" ")}(r,i,t);o.length>0&&(t.indentAtStart=(t.indentAtStart??0)+o.length+1);let l="function"==typeof i.stringify?i.stringify(r,t,s,n):h(r)?es(r,t,s,n):r.toString(t,s,n);return o?h(r)||"{"===l[0]||"["===l[0]?`${o} ${l}`:`${o}
|
|
34
|
+
${t.indent}${l}`:l}function er(e,t){("debug"===e||"warn"===e)&&console.warn(t)}var eo={identify:e=>"<<"===e||"symbol"==typeof e&&"<<"===e.description,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new D(Symbol("<<")),{addToJSMap:el}),stringify:()=>"<<"};function el(e,t,s){let n=ec(e,s);if(d(n))for(let s of n.items)ea(e,t,s);else if(Array.isArray(n))for(let s of n)ea(e,t,s);else ea(e,t,n)}function ea(e,t,s){let n=ec(e,s);if(!u(n))throw Error("Merge sources must be maps or map aliases");for(let[s,i]of n.toJSON(null,e,Map))t instanceof Map?t.has(s)||t.set(s,i):t instanceof Set?t.add(s):Object.prototype.hasOwnProperty.call(t,s)||Object.defineProperty(t,s,{value:i,writable:!0,enumerable:!0,configurable:!0});return t}function ec(e,t){return e&&a(t)?t.resolve(e.doc,e):t}function eu(e,t,{key:s,value:n}){if(m(s)&&s.addToJSMap)s.addToJSMap(e,t,n);else if((eo.identify(s)||h(s)&&(!s.type||s.type===D.PLAIN)&&eo.identify(s.value))&&e?.doc.schema.tags.some(e=>e.tag===eo.tag&&e.default))el(e,t,n);else{let i=K(s,"",e);if(t instanceof Map)t.set(i,K(n,i,e));else if(t instanceof Set)t.add(i);else{let r=function(e,t,s){if(null===t)return"";if("object"!=typeof t)return String(t);if(m(e)&&s?.doc){let t=en(s.doc,{});for(let e of(t.anchors=new Set,s.anchors.keys()))t.anchors.add(e.anchor);t.inFlow=!0,t.inStringifyKey=!0;let n=e.toString(t);if(!s.mapKeyWarned){let e=JSON.stringify(n);e.length>40&&(e=e.substring(0,36)+'..."'),er(s.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${e}. Set mapAsMap: true to use object keys.`),s.mapKeyWarned=!0}return n}return JSON.stringify(t)}(s,i,e),o=K(n,r,e);r in t?Object.defineProperty(t,r,{value:o,writable:!0,enumerable:!0,configurable:!0}):t[r]=o}}return t}function ef(e,t,s){return new eh(P(e,void 0,s),P(t,void 0,s))}var eh=class e{constructor(e,t=null){Object.defineProperty(this,l,{value:i}),this.key=e,this.value=t}clone(t){let{key:s,value:n}=this;return m(s)&&(s=s.clone(t)),m(n)&&(n=n.clone(t)),new e(s,n)}toJSON(e,t){let s=t?.mapAsMap?new Map:{};return eu(t,s,this)}toString(e,t,s){return e?.doc?function({key:e,value:t},s,n,i){let r,o,l,{allNullValues:a,doc:c,indent:u,indentStep:f,options:{commentString:g,indentSeq:y,simpleKeys:b}}=s,k=m(e)&&e.comment||null;if(b){if(k)throw Error("With simple keys, key nodes cannot have comments");if(p(e)||!m(e)&&"object"==typeof e)throw Error("With simple keys, collection cannot be used as a key value")}let v=!b&&(!e||k&&null==t&&!s.inFlow||p(e)||(h(e)?e.type===D.BLOCK_FOLDED||e.type===D.BLOCK_LITERAL:"object"==typeof e));s=Object.assign({},s,{allNullValues:!1,implicitKey:!v&&(b||!a),indent:u+f});let w=!1,S=!1,E=ei(e,s,()=>w=!0,()=>S=!0);if(!v&&!s.inFlow&&E.length>1024){if(b)throw Error("With simple keys, single line scalar must not span more than 1024 characters");v=!0}if(s.inFlow){if(a||null==t)return w&&n&&n(),""===E?"?":v?`? ${E}`:E}else if(a&&!b||null==t&&v)return E=`? ${E}`,k&&!w?E+=V(E,s.indent,g(k)):S&&i&&i(),E;w&&(k=null),v?(k&&(E+=V(E,s.indent,g(k))),E=`? ${E}
|
|
35
|
+
${u}:`):(E=`${E}:`,k&&(E+=V(E,s.indent,g(k)))),m(t)?(r=!!t.spaceBefore,o=t.commentBefore,l=t.comment):(r=!1,o=null,l=null,t&&"object"==typeof t&&(t=c.createNode(t))),s.implicitKey=!1,!v&&!k&&h(t)&&(s.indentAtStart=E.length+1),S=!1,!(!y&&f.length>=2&&!s.inFlow&&!v&&d(t))||t.flow||t.tag||t.anchor||(s.indent=s.indent.substring(2));let N=!1,O=ei(t,s,()=>N=!0,()=>S=!0),A=" ";if(k||r||o){if(A=r?`
|
|
36
|
+
`:"",o){let e=g(o);A+=`
|
|
37
|
+
${J(e,s.indent)}`}""!==O||s.inFlow?A+=`
|
|
38
|
+
${s.indent}`:A===`
|
|
39
|
+
`&&l&&(A=`
|
|
40
|
+
|
|
41
|
+
`)}else if(!v&&p(t)){let e=O[0],n=O.indexOf(`
|
|
42
|
+
`),i=-1!==n,r=s.inFlow??t.flow??0===t.items.length;if(i||!r){let t=!1;if(i&&("&"===e||"!"===e)){let s=O.indexOf(" ");"&"===e&&-1!==s&&s<n&&"!"===O[s+1]&&(s=O.indexOf(" ",s+1)),(-1===s||n<s)&&(t=!0)}t||(A=`
|
|
43
|
+
${s.indent}`)}}else(""===O||O[0]===`
|
|
44
|
+
`)&&(A="");return E+=A+O,s.inFlow?N&&n&&n():l&&!N?E+=V(E,s.indent,g(l)):S&&i&&i(),E}(this,e,t,s):JSON.stringify(this)}};function ed(e,t,s){return(t.inFlow??e.flow?function({items:e},t,{flowChars:s,itemIndent:n}){let{indent:i,indentStep:r,flowCollectionPadding:o,options:{commentString:l}}=t,a=Object.assign({},t,{indent:n+=r,inFlow:!0,type:null}),c=!1,u=0,h=[];for(let s=0;s<e.length;++s){let i=e[s],r=null;if(m(i))i.spaceBefore&&h.push(""),ep(t,h,i.commentBefore,!1),i.comment&&(r=i.comment);else if(f(i)){let e=m(i.key)?i.key:null;e&&(e.spaceBefore&&h.push(""),ep(t,h,e.commentBefore,!1),e.comment&&(c=!0));let s=m(i.value)?i.value:null;s?(s.comment&&(r=s.comment),s.commentBefore&&(c=!0)):null==i.value&&e?.comment&&(r=e.comment)}r&&(c=!0);let o=ei(i,a,()=>r=null);c||(c=h.length>u||o.includes(`
|
|
45
|
+
`)),s<e.length-1?o+=",":t.options.trailingComma&&(t.options.lineWidth>0&&(c||(c=h.reduce((e,t)=>e+t.length+2,2)+(o.length+2)>t.options.lineWidth)),c&&(o+=",")),r&&(o+=V(o,n,l(r))),h.push(o),u=h.length}let{start:d,end:p}=s;if(0===h.length)return d+p;if(!c){let e=h.reduce((e,t)=>e+t.length+2,2);c=t.options.lineWidth>0&&e>t.options.lineWidth}if(!c)return`${d}${o}${h.join(" ")}${o}${p}`;{let e=d;for(let t of h)e+=t?`
|
|
46
|
+
${r}${i}${t}`:`
|
|
47
|
+
`;return`${e}
|
|
48
|
+
${i}${p}`}}:function({comment:e,items:t},s,{blockItemPrefix:n,flowChars:i,itemIndent:r,onChompKeep:o,onComment:l}){let a,{indent:c,options:{commentString:u}}=s,h=Object.assign({},s,{indent:r,type:null}),d=!1,p=[];for(let e=0;e<t.length;++e){let i=t[e],o=null;if(m(i))!d&&i.spaceBefore&&p.push(""),ep(s,p,i.commentBefore,d),i.comment&&(o=i.comment);else if(f(i)){let e=m(i.key)?i.key:null;e&&(!d&&e.spaceBefore&&p.push(""),ep(s,p,e.commentBefore,d))}d=!1;let l=ei(i,h,()=>o=null,()=>d=!0);o&&(l+=V(l,r,u(o))),d&&o&&(d=!1),p.push(n+l)}if(0===p.length)a=i.start+i.end;else{a=p[0];for(let e=1;e<p.length;++e){let t=p[e];a+=t?`
|
|
49
|
+
${c}${t}`:`
|
|
50
|
+
`}}return e?(a+=`
|
|
51
|
+
`+J(u(e),c),l&&l()):d&&o&&o(),a})(e,t,s)}function ep({indent:e,options:{commentString:t}},s,n,i){if(n&&i&&(n=n.replace(/^\n+/,"")),n){let i=J(t(n),e);s.push(i.trimStart())}}function em(e,t){let s=h(t)?t.value:t;for(let n of e)if(f(n)&&(n.key===t||n.key===s||h(n.key)&&n.key.value===s))return n}var eg=class extends R{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(n,e),this.items=[]}static from(e,t,s){let{keepUndefined:n,replacer:i}=s,r=new this(e),o=(e,o)=>{if("function"==typeof i)o=i.call(t,e,o);else if(Array.isArray(i)&&!i.includes(e))return;(void 0!==o||n)&&r.items.push(ef(e,o,s))};if(t instanceof Map)for(let[e,s]of t)o(e,s);else if(t&&"object"==typeof t)for(let e of Object.keys(t))o(e,t[e]);return"function"==typeof e.sortMapEntries&&r.items.sort(e.sortMapEntries),r}add(e,t){let s;s=f(e)?e:e&&"object"==typeof e&&"key"in e?new eh(e.key,e.value):new eh(e,e?.value);let n=em(this.items,s.key),i=this.schema?.sortMapEntries;if(n){if(!t)throw Error(`Key ${s.key} already set`);h(n.value)&&M(s.value)?n.value.value=s.value:n.value=s.value}else if(i){let e=this.items.findIndex(e=>0>i(s,e));-1===e?this.items.push(s):this.items.splice(e,0,s)}else this.items.push(s)}delete(e){let t=em(this.items,e);return!!t&&this.items.splice(this.items.indexOf(t),1).length>0}get(e,t){let s=em(this.items,e)?.value;return(!t&&h(s)?s.value:s)??void 0}has(e){return!!em(this.items,e)}set(e,t){this.add(new eh(e,t),!0)}toJSON(e,t,s){let n=s?new s:t?.mapAsMap?new Map:{};for(let e of(t?.onCreate&&t.onCreate(n),this.items))eu(t,n,e);return n}toString(e,t,s){if(!e)return JSON.stringify(this);for(let e of this.items)if(!f(e))throw Error(`Map items must all be pairs; found ${JSON.stringify(e)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),ed(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:s,onComment:t})}},ey={collection:"map",default:!0,nodeClass:eg,tag:"tag:yaml.org,2002:map",resolve:(e,t)=>(u(e)||t("Expected a mapping for this tag"),e),createNode:(e,t,s)=>eg.from(e,t,s)},eb=class extends R{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(o,e),this.items=[]}add(e){this.items.push(e)}delete(e){let t=ek(e);return"number"==typeof t&&this.items.splice(t,1).length>0}get(e,t){let s=ek(e);if("number"!=typeof s)return;let n=this.items[s];return!t&&h(n)?n.value:n}has(e){let t=ek(e);return"number"==typeof t&&t<this.items.length}set(e,t){let s=ek(e);if("number"!=typeof s)throw Error(`Expected a valid index, not ${e}.`);let n=this.items[s];h(n)&&M(t)?n.value=t:this.items[s]=t}toJSON(e,t){let s=[];t?.onCreate&&t.onCreate(s);let n=0;for(let e of this.items)s.push(K(e,String(n++),t));return s}toString(e,t,s){return e?ed(this,e,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(e.indent||"")+" ",onChompKeep:s,onComment:t}):JSON.stringify(this)}static from(e,t,s){let{replacer:n}=s,i=new this(e);if(t&&Symbol.iterator in Object(t)){let e=0;for(let r of t){if("function"==typeof n){let s=t instanceof Set?r:String(e++);r=n.call(t,s,r)}i.items.push(P(r,void 0,s))}}return i}};function ek(e){let t=h(e)?e.value:e;return t&&"string"==typeof t&&(t=Number(t)),"number"==typeof t&&Number.isInteger(t)&&t>=0?t:null}var ev={collection:"seq",default:!0,nodeClass:eb,tag:"tag:yaml.org,2002:seq",resolve:(e,t)=>(d(e)||t("Expected a sequence for this tag"),e),createNode:(e,t,s)=>eb.from(e,t,s)},ew={identify:e=>"string"==typeof e,default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:(e,t,s,n)=>es(e,t=Object.assign({actualString:!0},t),s,n)},eS={identify:e=>null==e,createNode:()=>new D(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new D(null),stringify:({source:e},t)=>"string"==typeof e&&eS.test.test(e)?e:t.options.nullStr},eE={identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new D("t"===e[0]||"T"===e[0]),stringify:({source:e,value:t},s)=>e&&eE.test.test(e)&&t===("t"===e[0]||"T"===e[0])?e:t?s.options.trueStr:s.options.falseStr};function eN({format:e,minFractionDigits:t,tag:s,value:n}){if("bigint"==typeof n)return String(n);let i="number"==typeof n?n:Number(n);if(!isFinite(i))return isNaN(i)?".nan":i<0?"-.inf":".inf";let r=Object.is(n,-0)?"-0":JSON.stringify(n);if(!e&&t&&(!s||"tag:yaml.org,2002:float"===s)&&/^-?\d/.test(r)&&!r.includes("e")){let e=r.indexOf(".");e<0&&(e=r.length,r+=".");let s=t-(r.length-e-1);for(;s-- >0;)r+="0"}return r}var eO={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>"nan"===e.slice(-3).toLowerCase()?NaN:"-"===e[0]?-1/0:1/0,stringify:eN},eA={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():eN(e)}},eT={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(e){let t=new D(parseFloat(e)),s=e.indexOf(".");return -1!==s&&"0"===e[e.length-1]&&(t.minFractionDigits=e.length-s-1),t},stringify:eN},eI=e=>"bigint"==typeof e||Number.isInteger(e),ex=(e,t,s,{intAsBigInt:n})=>n?BigInt(e):parseInt(e.substring(t),s);function e$(e,t,s){let{value:n}=e;return eI(n)&&n>=0?s+n.toString(t):eN(e)}var eL={identify:e=>eI(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,s)=>ex(e,2,8,s),stringify:e=>e$(e,8,"0o")},eC={identify:eI,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,s)=>ex(e,0,10,s),stringify:eN},e_={identify:e=>eI(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,s)=>ex(e,2,16,s),stringify:e=>e$(e,16,"0x")},eK=[ey,ev,ew,eS,eE,eL,eC,e_,eO,eA,eT];function eB(e){return"bigint"==typeof e||Number.isInteger(e)}var ej=({value:e})=>JSON.stringify(e),eM=[ey,ev].concat([{identify:e=>"string"==typeof e,default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:ej},{identify:e=>null==e,createNode:()=>new D(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:ej},{identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>"true"===e,stringify:ej},{identify:eB,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:s})=>s?BigInt(e):parseInt(e,10),stringify:({value:e})=>eB(e)?e.toString():JSON.stringify(e)},{identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:ej}],{default:!0,tag:"",test:/^/,resolve:(e,t)=>(t(`Unresolved plain scalar ${JSON.stringify(e)}`),e)}),eD={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if("function"!=typeof atob)return t("This environment does not support reading binary tags; either Buffer or atob is required"),e;{let t=atob(e.replace(/[\n\r]/g,"")),s=new Uint8Array(t.length);for(let e=0;e<t.length;++e)s[e]=t.charCodeAt(e);return s}},stringify({comment:e,type:t,value:s},n,i,r){let o;if(!s)return"";if("function"==typeof btoa){let e="";for(let t=0;t<s.length;++t)e+=String.fromCharCode(s[t]);o=btoa(e)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(t??(t=D.BLOCK_LITERAL),t!==D.QUOTE_DOUBLE){let e=Math.max(n.options.lineWidth-n.indent.length,n.options.minContentWidth),s=Math.ceil(o.length/e),i=Array(s);for(let t=0,n=0;t<s;++t,n+=e)i[t]=o.substr(n,e);o=i.join(t===D.BLOCK_LITERAL?`
|
|
52
|
+
`:" ")}return es({comment:e,type:t,value:o},n,i,r)}};function eP(e,t){if(d(e))for(let s=0;s<e.items.length;++s){let n=e.items[s];if(!f(n)){if(u(n)){n.items.length>1&&t("Each pair must have its own sequence indicator");let e=n.items[0]||new eh(new D(null));if(n.commentBefore&&(e.key.commentBefore=e.key.commentBefore?`${n.commentBefore}
|
|
53
|
+
${e.key.commentBefore}`:n.commentBefore),n.comment){let t=e.value??e.key;t.comment=t.comment?`${n.comment}
|
|
54
|
+
${t.comment}`:n.comment}n=e}e.items[s]=f(n)?n:new eh(n)}}else t("Expected a sequence for this tag");return e}function eq(e,t,s){let{replacer:n}=s,i=new eb(e);i.tag="tag:yaml.org,2002:pairs";let r=0;if(t&&Symbol.iterator in Object(t))for(let e of t){let o,l;if("function"==typeof n&&(e=n.call(t,String(r++),e)),Array.isArray(e))if(2===e.length)o=e[0],l=e[1];else throw TypeError(`Expected [key, value] tuple: ${e}`);else if(e&&e instanceof Object){let t=Object.keys(e);if(1===t.length)l=e[o=t[0]];else throw TypeError(`Expected tuple with one key, not ${t.length} keys`)}else o=e;i.items.push(ef(o,l,s))}return i}var eU={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:eP,createNode:eq},eR=class e extends eb{constructor(){super(),this.add=eg.prototype.add.bind(this),this.delete=eg.prototype.delete.bind(this),this.get=eg.prototype.get.bind(this),this.has=eg.prototype.has.bind(this),this.set=eg.prototype.set.bind(this),this.tag=e.tag}toJSON(e,t){if(!t)return super.toJSON(e);let s=new Map;for(let e of(t?.onCreate&&t.onCreate(s),this.items)){let n,i;if(f(e)?(n=K(e.key,"",t),i=K(e.value,n,t)):n=K(e,"",t),s.has(n))throw Error("Ordered maps must not include duplicate keys");s.set(n,i)}return s}static from(e,t,s){let n=eq(e,t,s),i=new this;return i.items=n.items,i}};eR.tag="tag:yaml.org,2002:omap";var eF={collection:"seq",identify:e=>e instanceof Map,nodeClass:eR,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let s=eP(e,t),n=[];for(let{key:e}of s.items)h(e)&&(n.includes(e.value)?t(`Ordered maps must not include duplicate keys: ${e.value}`):n.push(e.value));return Object.assign(new eR,s)},createNode:(e,t,s)=>eR.from(e,t,s)};function eJ({value:e,source:t},s){return t&&(e?eV:eY).test.test(t)?t:e?s.options.trueStr:s.options.falseStr}var eV={identify:e=>!0===e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new D(!0),stringify:eJ},eY={identify:e=>!1===e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new D(!1),stringify:eJ},eW=e=>"bigint"==typeof e||Number.isInteger(e);function eG(e,t,s,{intAsBigInt:n}){let i=e[0];if(("-"===i||"+"===i)&&(t+=1),e=e.substring(t).replace(/_/g,""),n){switch(s){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`}let t=BigInt(e);return"-"===i?BigInt(-1)*t:t}let r=parseInt(e,s);return"-"===i?-1*r:r}function eH(e,t,s){let{value:n}=e;if(eW(n)){let e=n.toString(t);return n<0?"-"+s+e.substr(1):s+e}return eN(e)}var eQ=class e extends eg{constructor(t){super(t),this.tag=e.tag}add(e){let t;t=f(e)?e:e&&"object"==typeof e&&"key"in e&&"value"in e&&null===e.value?new eh(e.key,null):new eh(e,null),em(this.items,t.key)||this.items.push(t)}get(e,t){let s=em(this.items,e);return!t&&f(s)?h(s.key)?s.key.value:s.key:s}set(e,t){if("boolean"!=typeof t)throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);let s=em(this.items,e);s&&!t?this.items.splice(this.items.indexOf(s),1):!s&&t&&this.items.push(new eh(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,s){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,s);throw Error("Set items must all have null values")}static from(e,t,s){let{replacer:n}=s,i=new this(e);if(t&&Symbol.iterator in Object(t))for(let e of t)"function"==typeof n&&(e=n.call(t,e,e)),i.items.push(ef(e,null,s));return i}};eQ.tag="tag:yaml.org,2002:set";var eX={collection:"map",identify:e=>e instanceof Set,nodeClass:eQ,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,s)=>eQ.from(e,t,s),resolve(e,t){if(u(e)){if(e.hasAllNullValues(!0))return Object.assign(new eQ,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};function ez(e,t){let s=e[0],n="-"===s||"+"===s?e.substring(1):e,i=e=>t?BigInt(e):Number(e),r=n.replace(/_/g,"").split(":").reduce((e,t)=>e*i(60)+i(t),i(0));return"-"===s?i(-1)*r:r}function eZ(e){let{value:t}=e,s=e=>e;if("bigint"==typeof t)s=e=>BigInt(e);else if(isNaN(t)||!isFinite(t))return eN(e);let n="";t<0&&(n="-",t*=s(-1));let i=s(60),r=[t%i];return t<60?r.unshift(0):(t=(t-r[0])/i,r.unshift(t%i),t>=60&&(t=(t-r[0])/i,r.unshift(t))),n+r.map(e=>String(e).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var e0={identify:e=>"bigint"==typeof e||Number.isInteger(e),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:s})=>ez(e,s),stringify:eZ},e1={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>ez(e,!1),stringify:eZ},e2={identify:e=>e instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(e){let t=e.match(e2.test);if(!t)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,s,n,i,r,o,l]=t.map(Number),a=Date.UTC(s,n-1,i,r||0,o||0,l||0,t[7]?Number((t[7]+"00").substr(1,3)):0),c=t[8];if(c&&"Z"!==c){let e=ez(c,!1);30>Math.abs(e)&&(e*=60),a-=6e4*e}return new Date(a)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""},e9=[ey,ev,ew,eS,eV,eY,{identify:eW,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,s)=>eG(e,2,2,s),stringify:e=>eH(e,2,"0b")},{identify:eW,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,s)=>eG(e,1,8,s),stringify:e=>eH(e,8,"0")},{identify:eW,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,s)=>eG(e,0,10,s),stringify:eN},{identify:eW,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,s)=>eG(e,2,16,s),stringify:e=>eH(e,16,"0x")},{identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>"nan"===e.slice(-3).toLowerCase()?NaN:"-"===e[0]?-1/0:1/0,stringify:eN},{identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():eN(e)}},{identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){let t=new D(parseFloat(e.replace(/_/g,""))),s=e.indexOf(".");if(-1!==s){let n=e.substring(s+1).replace(/_/g,"");"0"===n[n.length-1]&&(t.minFractionDigits=n.length)}return t},stringify:eN},eD,eo,eF,eU,eX,e0,e1,e2],e8=new Map([["core",eK],["failsafe",[ey,ev,ew]],["json",eM],["yaml11",e9],["yaml-1.1",e9]]),e6={binary:eD,bool:eE,float:eT,floatExp:eA,floatNaN:eO,floatTime:e1,int:eC,intHex:e_,intOct:eL,intTime:e0,map:ey,merge:eo,null:eS,omap:eF,pairs:eU,seq:ev,set:eX,timestamp:e2},e4={"tag:yaml.org,2002:binary":eD,"tag:yaml.org,2002:merge":eo,"tag:yaml.org,2002:omap":eF,"tag:yaml.org,2002:pairs":eU,"tag:yaml.org,2002:set":eX,"tag:yaml.org,2002:timestamp":e2};function e3(e,t,s){let n=e8.get(t);if(n&&!e)return s&&!n.includes(eo)?n.concat(eo):n.slice();let i=n;if(!i)if(Array.isArray(e))i=[];else{let e=Array.from(e8.keys()).filter(e=>"yaml11"!==e).map(e=>JSON.stringify(e)).join(", ");throw Error(`Unknown schema "${t}"; use one of ${e} or define customTags array`)}if(Array.isArray(e))for(let t of e)i=i.concat(t);else"function"==typeof e&&(i=e(i.slice()));return s&&(i=i.concat(eo)),i.reduce((e,t)=>{let s="string"==typeof t?e6[t]:t;if(!s){let e=JSON.stringify(t),s=Object.keys(e6).map(e=>JSON.stringify(e)).join(", ");throw Error(`Unknown custom tag ${e}; use one of ${s}`)}return e.includes(s)||e.push(s),e},[])}var e7=(e,t)=>e.key<t.key?-1:+(e.key>t.key),e5=class e{constructor({compat:e,customTags:t,merge:s,resolveKnownTags:i,schema:l,sortMapEntries:a,toStringDefaults:c}){this.compat=Array.isArray(e)?e3(e,"compat"):e?e3(null,e):null,this.name="string"==typeof l&&l||"core",this.knownTags=i?e4:{},this.tags=e3(t,this.name,s),this.toStringOptions=c??null,Object.defineProperty(this,n,{value:ey}),Object.defineProperty(this,r,{value:ew}),Object.defineProperty(this,o,{value:ev}),this.sortMapEntries="function"==typeof a?a:!0===a?e7:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}},te=class e{constructor(e,t,n){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,l,{value:s});let i=null;"function"==typeof t||Array.isArray(t)?i=t:void 0===n&&t&&(n=t,t=void 0);let r=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},n);this.options=r;let{version:o}=r;n?._directives?(this.directives=n._directives.atDocument(),this.directives.yaml.explicit&&(o=this.directives.yaml.version)):this.directives=new x({version:o}),this.setSchema(o,n),this.contents=void 0===e?null:this.createNode(e,i,n)}clone(){let t=Object.create(e.prototype,{[l]:{value:s}});return t.commentBefore=this.commentBefore,t.comment=this.comment,t.errors=this.errors.slice(),t.warnings=this.warnings.slice(),t.options=Object.assign({},this.options),this.directives&&(t.directives=this.directives.clone()),t.schema=this.schema.clone(),t.contents=m(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(e){tt(this.contents)&&this.contents.add(e)}addIn(e,t){tt(this.contents)&&this.contents.addIn(e,t)}createAlias(e,t){if(!e.anchor){let s=L(this);e.anchor=!t||s.has(t)?C(t||"a",s):t}return new j(e.anchor)}createNode(e,t,s){var n,i;let r,o,l,a;if("function"==typeof t)e=t.call({"":e},"",e),r=t;else if(Array.isArray(t)){let e=t.filter(e=>"number"==typeof e||e instanceof String||e instanceof Number).map(String);e.length>0&&(t=t.concat(e)),r=t}else void 0===s&&t&&(s=t,t=void 0);let{aliasDuplicateObjects:c,anchorPrefix:u,flow:f,keepUndefined:d,onTagObj:m,tag:g}=s??{},{onAnchor:y,setAnchors:b,sourceObjects:k}=(n=this,i=u||"a",o=[],l=new Map,a=null,{onAnchor:e=>{o.push(e),a??(a=L(n));let t=C(i,a);return a.add(t),t},setAnchors:()=>{for(let e of o){let t=l.get(e);if("object"==typeof t&&t.anchor&&(h(t.node)||p(t.node)))t.node.anchor=t.anchor;else{let t=Error("Failed to resolve repeated object (this should not happen)");throw t.source=e,t}}},sourceObjects:l}),v={aliasDuplicateObjects:c??!0,keepUndefined:d??!1,onAnchor:y,onTagObj:m,replacer:r,schema:this.schema,sourceObjects:k},w=P(e,g,v);return f&&p(w)&&(w.flow=!0),b(),w}createPair(e,t,s={}){return new eh(this.createNode(e,null,s),this.createNode(t,null,s))}delete(e){return!!tt(this.contents)&&this.contents.delete(e)}deleteIn(e){return U(e)?null!=this.contents&&(this.contents=null,!0):!!tt(this.contents)&&this.contents.deleteIn(e)}get(e,t){return p(this.contents)?this.contents.get(e,t):void 0}getIn(e,t){return U(e)?!t&&h(this.contents)?this.contents.value:this.contents:p(this.contents)?this.contents.getIn(e,t):void 0}has(e){return!!p(this.contents)&&this.contents.has(e)}hasIn(e){return U(e)?void 0!==this.contents:!!p(this.contents)&&this.contents.hasIn(e)}set(e,t){null==this.contents?this.contents=q(this.schema,[e],t):tt(this.contents)&&this.contents.set(e,t)}setIn(e,t){U(e)?this.contents=t:null==this.contents?this.contents=q(this.schema,Array.from(e),t):tt(this.contents)&&this.contents.setIn(e,t)}setSchema(e,t={}){let s;switch("number"==typeof e&&(e=String(e)),e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new x({version:"1.1"}),s={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new x({version:e}),s={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,s=null;break;default:{let t=JSON.stringify(e);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${t}`)}}if(t.schema instanceof Object)this.schema=t.schema;else if(s)this.schema=new e5(Object.assign(s,t));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:t,mapAsMap:s,maxAliasCount:n,onAnchor:i,reviver:r}={}){let o={anchors:new Map,doc:this,keep:!e,mapAsMap:!0===s,mapKeyWarned:!1,maxAliasCount:"number"==typeof n?n:100},l=K(this.contents,t??"",o);if("function"==typeof i)for(let{count:e,res:t}of o.anchors.values())i(t,e);return"function"==typeof r?_(r,{"":l},"",l):l}toJSON(e,t){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:t})}toString(e={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in e&&(!Number.isInteger(e.indent)||0>=Number(e.indent))){let t=JSON.stringify(e.indent);throw Error(`"indent" option must be a positive integer, not ${t}`)}return function(e,t){let s=[],n=!0===t.directives;if(!1!==t.directives&&e.directives){let t=e.directives.toString(e);t?(s.push(t),n=!0):e.directives.docStart&&(n=!0)}n&&s.push("---");let i=en(e,t),{commentString:r}=i.options;if(e.commentBefore){1!==s.length&&s.unshift("");let t=r(e.commentBefore);s.unshift(J(t,""))}let o=!1,l=null;if(e.contents){if(m(e.contents)){if(e.contents.spaceBefore&&n&&s.push(""),e.contents.commentBefore){let t=r(e.contents.commentBefore);s.push(J(t,""))}i.forceBlockIndent=!!e.comment,l=e.contents.comment}let t=l?void 0:()=>o=!0,a=ei(e.contents,i,()=>l=null,t);l&&(a+=V(a,"",r(l))),("|"===a[0]||">"===a[0])&&"---"===s[s.length-1]?s[s.length-1]=`--- ${a}`:s.push(a)}else s.push(ei(e.contents,i));if(e.directives?.docEnd)if(e.comment){let t=r(e.comment);t.includes(`
|
|
55
|
+
`)?(s.push("..."),s.push(J(t,""))):s.push(`... ${t}`)}else s.push("...");else{let t=e.comment;t&&o&&(t=t.replace(/^\n+/,"")),t&&((!o||l)&&""!==s[s.length-1]&&s.push(""),s.push(J(r(t),"")))}return s.join(`
|
|
56
|
+
`)+`
|
|
57
|
+
`}(this,e)}};function tt(e){if(p(e))return!0;throw Error("Expected a YAML collection as document contents")}var ts=class extends Error{constructor(e,t,s,n){super(),this.name=e,this.code=s,this.message=n,this.pos=t}},tn=class extends ts{constructor(e,t,s){super("YAMLParseError",e,t,s)}},ti=class extends ts{constructor(e,t,s){super("YAMLWarning",e,t,s)}},tr=(e,t)=>s=>{if(-1===s.pos[0])return;s.linePos=s.pos.map(e=>t.linePos(e));let{line:n,col:i}=s.linePos[0];s.message+=` at line ${n}, column ${i}`;let r=i-1,o=e.substring(t.lineStarts[n-1],t.lineStarts[n]).replace(/[\n\r]+$/,"");if(r>=60&&o.length>80){let e=Math.min(r-39,o.length-79);o="…"+o.substring(e),r-=e-1}if(o.length>80&&(o=o.substring(0,79)+"…"),n>1&&/^ *$/.test(o.substring(0,r))){let s=e.substring(t.lineStarts[n-2],t.lineStarts[n-1]);s.length>80&&(s=s.substring(0,79)+`\u2026
|
|
58
|
+
`),o=s+o}if(/[^ ]/.test(o)){let e=1,t=s.linePos[1];t?.line===n&&t.col>i&&(e=Math.max(1,Math.min(t.col-i,80-r)));let l=" ".repeat(r)+"^".repeat(e);s.message+=`:
|
|
59
|
+
|
|
60
|
+
${o}
|
|
61
|
+
${l}
|
|
62
|
+
`}};function to(e,{flow:t,indicator:s,next:n,offset:i,onError:r,parentIndent:o,startOnNewline:l}){let a=!1,c=l,u=l,f="",h="",d=!1,p=!1,m=null,g=null,y=null,b=null,k=null,v=null,w=null;for(let i of e)switch(p&&("space"!==i.type&&"newline"!==i.type&&"comma"!==i.type&&r(i.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),p=!1),m&&(c&&"comment"!==i.type&&"newline"!==i.type&&r(m,"TAB_AS_INDENT","Tabs are not allowed as indentation"),m=null),i.type){case"space":!t&&("doc-start"!==s||n?.type!=="flow-collection")&&i.source.includes(" ")&&(m=i),u=!0;break;case"comment":{u||r(i,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let e=i.source.substring(1)||" ";f?f+=h+e:f=e,h="",c=!1;break}case"newline":c?f?f+=i.source:v&&"seq-item-ind"===s||(a=!0):h+=i.source,c=!0,d=!0,(g||y)&&(b=i),u=!0;break;case"anchor":g&&r(i,"MULTIPLE_ANCHORS","A node can have at most one anchor"),i.source.endsWith(":")&&r(i.offset+i.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),g=i,w??(w=i.offset),c=!1,u=!1,p=!0;break;case"tag":y&&r(i,"MULTIPLE_TAGS","A node can have at most one tag"),y=i,w??(w=i.offset),c=!1,u=!1,p=!0;break;case s:(g||y)&&r(i,"BAD_PROP_ORDER",`Anchors and tags must be after the ${i.source} indicator`),v&&r(i,"UNEXPECTED_TOKEN",`Unexpected ${i.source} in ${t??"collection"}`),v=i,c="seq-item-ind"===s||"explicit-key-ind"===s,u=!1;break;case"comma":if(t){k&&r(i,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),k=i,c=!1,u=!1;break}default:r(i,"UNEXPECTED_TOKEN",`Unexpected ${i.type} token`),c=!1,u=!1}let S=e[e.length-1],E=S?S.offset+S.source.length:i;return p&&n&&"space"!==n.type&&"newline"!==n.type&&"comma"!==n.type&&("scalar"!==n.type||""!==n.source)&&r(n.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),m&&(c&&m.indent<=o||n?.type==="block-map"||n?.type==="block-seq")&&r(m,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:k,found:v,spaceBefore:a,comment:f,hasNewline:d,anchor:g,tag:y,newlineAfterProp:b,end:E,start:w??E}}function tl(e){if(!e)return null;switch(e.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(e.source.includes(`
|
|
63
|
+
`))return!0;if(e.end){for(let t of e.end)if("newline"===t.type)return!0}return!1;case"flow-collection":for(let t of e.items){for(let e of t.start)if("newline"===e.type)return!0;if(t.sep){for(let e of t.sep)if("newline"===e.type)return!0}if(tl(t.key)||tl(t.value))return!0}return!1;default:return!0}}function ta(e,t,s){if(t?.type==="flow-collection"){let n=t.end[0];n.indent===e&&("]"===n.source||"}"===n.source)&&tl(t)&&s(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function tc(e,t,s){let{uniqueKeys:n}=e.options;if(!1===n)return!1;let i="function"==typeof n?n:(e,t)=>e===t||h(e)&&h(t)&&e.value===t.value;return t.some(e=>i(e.key,s))}var tu="All mapping items must start at the same column";function tf(e,t,s,n){let i="";if(e){let r=!1,o="";for(let l of e){let{source:e,type:a}=l;switch(a){case"space":r=!0;break;case"comment":{s&&!r&&n(l,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let t=e.substring(1)||" ";i?i+=o+t:i=t,o="";break}case"newline":i&&(o+=e),r=!0;break;default:n(l,"UNEXPECTED_TOKEN",`Unexpected ${a} at node end`)}t+=e.length}}return{comment:i,offset:t}}var th="Block collections are not allowed within flow collections",td=e=>e&&("block-map"===e.type||"block-seq"===e.type);function tp(e,t,s,n,i,r){let o="block-map"===s.type?function({composeNode:e,composeEmptyNode:t},s,n,i,r){let o=new(r?.nodeClass??eg)(s.schema);s.atRoot&&(s.atRoot=!1);let l=n.offset,a=null;for(let r of n.items){let{start:c,key:u,sep:f,value:h}=r,d=to(c,{indicator:"explicit-key-ind",next:u??f?.[0],offset:l,onError:i,parentIndent:n.indent,startOnNewline:!0}),p=!d.found;if(p){if(u&&("block-seq"===u.type?i(l,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in u&&u.indent!==n.indent&&i(l,"BAD_INDENT",tu)),!d.anchor&&!d.tag&&!f){a=d.end,d.comment&&(o.comment?o.comment+=`
|
|
64
|
+
`+d.comment:o.comment=d.comment);continue}(d.newlineAfterProp||tl(u))&&i(u??c[c.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else d.found?.indent!==n.indent&&i(l,"BAD_INDENT",tu);s.atKey=!0;let m=d.end,g=u?e(s,u,d,i):t(s,m,c,null,d,i);s.schema.compat&&ta(n.indent,u,i),s.atKey=!1,tc(s,o.items,g)&&i(m,"DUPLICATE_KEY","Map keys must be unique");let y=to(f??[],{indicator:"map-value-ind",next:h,offset:g.range[2],onError:i,parentIndent:n.indent,startOnNewline:!u||"block-scalar"===u.type});if(l=y.end,y.found){p&&(h?.type!=="block-map"||y.hasNewline||i(l,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),s.options.strict&&d.start<y.found.offset-1024&&i(g.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let a=h?e(s,h,y,i):t(s,l,f,null,y,i);s.schema.compat&&ta(n.indent,h,i),l=a.range[2];let c=new eh(g,a);s.options.keepSourceTokens&&(c.srcToken=r),o.items.push(c)}else{p&&i(g.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),y.comment&&(g.comment?g.comment+=`
|
|
65
|
+
`+y.comment:g.comment=y.comment);let e=new eh(g);s.options.keepSourceTokens&&(e.srcToken=r),o.items.push(e)}}return a&&a<l&&i(a,"IMPOSSIBLE","Map comment with trailing content"),o.range=[n.offset,l,a??l],o}(e,t,s,n,r):"block-seq"===s.type?function({composeNode:e,composeEmptyNode:t},s,n,i,r){let o=new(r?.nodeClass??eb)(s.schema);s.atRoot&&(s.atRoot=!1),s.atKey&&(s.atKey=!1);let l=n.offset,a=null;for(let{start:r,value:c}of n.items){let u=to(r,{indicator:"seq-item-ind",next:c,offset:l,onError:i,parentIndent:n.indent,startOnNewline:!0});if(!u.found)if(u.anchor||u.tag||c)c?.type==="block-seq"?i(u.end,"BAD_INDENT","All sequence items must start at the same column"):i(l,"MISSING_CHAR","Sequence item without - indicator");else{a=u.end,u.comment&&(o.comment=u.comment);continue}let f=c?e(s,c,u,i):t(s,u.end,r,null,u,i);s.schema.compat&&ta(n.indent,c,i),l=f.range[2],o.items.push(f)}return o.range=[n.offset,l,a??l],o}(e,t,s,n,r):function({composeNode:e,composeEmptyNode:t},s,n,i,r){let o="{"===n.start.source,l=o?"flow map":"flow sequence",a=new(r?.nodeClass??(o?eg:eb))(s.schema);a.flow=!0;let c=s.atRoot;c&&(s.atRoot=!1),s.atKey&&(s.atKey=!1);let u=n.offset+n.start.source.length;for(let r=0;r<n.items.length;++r){let c=n.items[r],{start:h,key:d,sep:p,value:m}=c,g=to(h,{flow:l,indicator:"explicit-key-ind",next:d??p?.[0],offset:u,onError:i,parentIndent:n.indent,startOnNewline:!1});if(!g.found){if(!g.anchor&&!g.tag&&!p&&!m){0===r&&g.comma?i(g.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${l}`):r<n.items.length-1&&i(g.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${l}`),g.comment&&(a.comment?a.comment+=`
|
|
66
|
+
`+g.comment:a.comment=g.comment),u=g.end;continue}!o&&s.options.strict&&tl(d)&&i(d,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(0===r)g.comma&&i(g.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${l}`);else if(g.comma||i(g.start,"MISSING_CHAR",`Missing , between ${l} items`),g.comment){let e="";e:for(let t of h)switch(t.type){case"comma":case"space":break;case"comment":e=t.source.substring(1);break e;default:break e}if(e){let t=a.items[a.items.length-1];f(t)&&(t=t.value??t.key),t.comment?t.comment+=`
|
|
67
|
+
`+e:t.comment=e,g.comment=g.comment.substring(e.length+1)}}if(o||p||g.found){s.atKey=!0;let r=g.end,f=d?e(s,d,g,i):t(s,r,h,null,g,i);td(d)&&i(f.range,"BLOCK_IN_FLOW",th),s.atKey=!1;let y=to(p??[],{flow:l,indicator:"map-value-ind",next:m,offset:f.range[2],onError:i,parentIndent:n.indent,startOnNewline:!1});if(y.found){if(!o&&!g.found&&s.options.strict){if(p)for(let e of p){if(e===y.found)break;if("newline"===e.type){i(e,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}g.start<y.found.offset-1024&&i(y.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else m&&("source"in m&&m.source?.[0]===":"?i(m,"MISSING_CHAR",`Missing space after : in ${l}`):i(y.start,"MISSING_CHAR",`Missing , or : between ${l} items`));let b=m?e(s,m,y,i):y.found?t(s,y.end,p,null,y,i):null;b?td(m)&&i(b.range,"BLOCK_IN_FLOW",th):y.comment&&(f.comment?f.comment+=`
|
|
68
|
+
`+y.comment:f.comment=y.comment);let k=new eh(f,b);if(s.options.keepSourceTokens&&(k.srcToken=c),o)tc(s,a.items,f)&&i(r,"DUPLICATE_KEY","Map keys must be unique"),a.items.push(k);else{let e=new eg(s.schema);e.flow=!0,e.items.push(k);let t=(b??f).range;e.range=[f.range[0],t[1],t[2]],a.items.push(e)}u=b?b.range[2]:y.end}else{let n=m?e(s,m,g,i):t(s,g.end,p,null,g,i);a.items.push(n),u=n.range[2],td(m)&&i(n.range,"BLOCK_IN_FLOW",th)}}let h=o?"}":"]",[d,...p]=n.end,m=u;if(d?.source===h)m=d.offset+d.source.length;else{let e=l[0].toUpperCase()+l.substring(1),t=c?`${e} must end with a ${h}`:`${e} in block collection must be sufficiently indented and end with a ${h}`;i(u,c?"MISSING_CHAR":"BAD_INDENT",t),d&&1!==d.source.length&&p.unshift(d)}if(p.length>0){let e=tf(p,m,s.options.strict,i);e.comment&&(a.comment?a.comment+=`
|
|
69
|
+
`+e.comment:a.comment=e.comment),a.range=[n.offset,m,e.offset]}else a.range=[n.offset,m,m];return a}(e,t,s,n,r),l=o.constructor;return"!"===i||i===l.tagName?o.tag=l.tagName:i&&(o.tag=i),o}function tm(e){let t,s;try{t=RegExp(`(.*?)(?<![ ])[ ]*\r?
|
|
70
|
+
`,"sy"),s=RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
|
|
71
|
+
`,"sy")}catch{t=/(.*?)[ \t]*\r?\n/sy,s=/[ \t]*(.*?)[ \t]*\r?\n/sy}let n=t.exec(e);if(!n)return e;let i=n[1],r=" ",o=t.lastIndex;for(s.lastIndex=o;n=s.exec(e);)""===n[1]?r===`
|
|
72
|
+
`?i+=r:r=`
|
|
73
|
+
`:(i+=r+n[1],r=" "),o=s.lastIndex;let l=/[ \t]*(.*)/sy;return l.lastIndex=o,n=l.exec(e),i+r+(n?.[1]??"")}var tg={0:"\0",a:"\x07",b:"\b",e:"\x1b",f:"\f",n:`
|
|
74
|
+
`,r:"\r",t:" ",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function ty(e,t,s,n){let i,{value:o,type:l,comment:a,range:c}="block-scalar"===t.type?function(e,t,s){let n=t.offset,i=function({offset:e,props:t},s,n){if("block-scalar-header"!==t[0].type)return n(t[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:i}=t[0],r=i[0],o=0,l="",a=-1;for(let t=1;t<i.length;++t){let s=i[t];if(l||"-"!==s&&"+"!==s){let n=Number(s);!o&&n?o=n:-1===a&&(a=e+t)}else l=s}-1!==a&&n(a,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${i}`);let c=!1,u="",f=i.length;for(let e=1;e<t.length;++e){let i=t[e];switch(i.type){case"space":c=!0;case"newline":f+=i.source.length;break;case"comment":s&&!c&&n(i,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),f+=i.source.length,u=i.source.substring(1);break;case"error":n(i,"UNEXPECTED_TOKEN",i.message),f+=i.source.length;break;default:{let e=`Unexpected token in block scalar header: ${i.type}`;n(i,"UNEXPECTED_TOKEN",e);let t=i.source;t&&"string"==typeof t&&(f+=t.length)}}}return{mode:r,indent:o,chomp:l,comment:u,length:f}}(t,e.options.strict,s);if(!i)return{value:"",type:null,comment:"",range:[n,n,n]};let r=">"===i.mode?D.BLOCK_FOLDED:D.BLOCK_LITERAL,o=t.source?function(e){let t=e.split(/\n( *)/),s=t[0],n=s.match(/^( *)/),i=[n?.[1]?[n[1],s.slice(n[1].length)]:["",s]];for(let e=1;e<t.length;e+=2)i.push([t[e],t[e+1]]);return i}(t.source):[],l=o.length;for(let e=o.length-1;e>=0;--e){let t=o[e][1];if(""===t||"\r"===t)l=e;else break}if(0===l){let e="+"===i.chomp&&o.length>0?`
|
|
75
|
+
`.repeat(Math.max(1,o.length-1)):"",s=n+i.length;return t.source&&(s+=t.source.length),{value:e,type:r,comment:i.comment,range:[n,s,s]}}let a=t.indent+i.indent,c=t.offset+i.length,u=0;for(let t=0;t<l;++t){let[n,r]=o[t];if(""===r||"\r"===r)0===i.indent&&n.length>a&&(a=n.length);else{n.length<a&&s(c+n.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),0===i.indent&&(a=n.length),u=t,0!==a||e.atRoot||s(c,"BAD_INDENT","Block scalar values in collections must be indented");break}c+=n.length+r.length+1}for(let e=o.length-1;e>=l;--e)o[e][0].length>a&&(l=e+1);let f="",h="",d=!1;for(let e=0;e<u;++e)f+=o[e][0].slice(a)+`
|
|
76
|
+
`;for(let e=u;e<l;++e){let[t,n]=o[e];c+=t.length+n.length+1;let l="\r"===n[n.length-1];if(l&&(n=n.slice(0,-1)),n&&t.length<a){let e=`Block scalar lines must not be less indented than their ${i.indent?"explicit indentation indicator":"first line"}`;s(c-n.length-(l?2:1),"BAD_INDENT",e),t=""}r===D.BLOCK_LITERAL?(f+=h+t.slice(a)+n,h=`
|
|
77
|
+
`):t.length>a||" "===n[0]?(" "===h?h=`
|
|
78
|
+
`:d||h!==`
|
|
79
|
+
`||(h=`
|
|
80
|
+
|
|
81
|
+
`),f+=h+t.slice(a)+n,h=`
|
|
82
|
+
`,d=!0):""===n?h===`
|
|
83
|
+
`?f+=`
|
|
84
|
+
`:h=`
|
|
85
|
+
`:(f+=h+n,h=" ",d=!1)}switch(i.chomp){case"-":break;case"+":for(let e=l;e<o.length;++e)f+=`
|
|
86
|
+
`+o[e][0].slice(a);f[f.length-1]!==`
|
|
87
|
+
`&&(f+=`
|
|
88
|
+
`);break;default:f+=`
|
|
89
|
+
`}let p=n+i.length+t.source.length;return{value:f,type:r,comment:i.comment,range:[n,p,p]}}(e,t,n):function(e,t,s){let{offset:n,type:i,source:r,end:o}=e,l,a,c=(e,t,i)=>s(n+e,t,i);switch(i){case"scalar":l=D.PLAIN,a=function(e,t){let s="";switch(e[0]){case" ":s="a tab character";break;case",":s="flow indicator character ,";break;case"%":s="directive indicator character %";break;case"|":case">":s=`block scalar indicator ${e[0]}`;break;case"@":case"`":s=`reserved character ${e[0]}`}return s&&t(0,"BAD_SCALAR_START",`Plain value cannot start with ${s}`),tm(e)}(r,c);break;case"single-quoted-scalar":l=D.QUOTE_SINGLE,("'"!==r[r.length-1]||1===r.length)&&c(r.length,"MISSING_CHAR","Missing closing 'quote"),a=tm(r.slice(1,-1)).replace(/''/g,"'");break;case"double-quoted-scalar":l=D.QUOTE_DOUBLE,a=function(e,t){let s="";for(let n=1;n<e.length-1;++n){let i=e[n];if("\r"!==i||e[n+1]!==`
|
|
90
|
+
`)if(i===`
|
|
91
|
+
`){let{fold:t,offset:i}=function(e,t){let s="",n=e[t+1];for(;(" "===n||" "===n||n===`
|
|
92
|
+
`||"\r"===n)&&("\r"!==n||e[t+2]===`
|
|
93
|
+
`);)n===`
|
|
94
|
+
`&&(s+=`
|
|
95
|
+
`),t+=1,n=e[t+1];return s||(s=" "),{fold:s,offset:t}}(e,n);s+=t,n=i}else if("\\"===i){let i=e[++n],r=tg[i];if(r)s+=r;else if(i===`
|
|
96
|
+
`)for(i=e[n+1];" "===i||" "===i;)i=e[++n+1];else if("\r"===i&&e[n+1]===`
|
|
97
|
+
`)for(i=e[++n+1];" "===i||" "===i;)i=e[++n+1];else if("x"===i||"u"===i||"U"===i){let r="x"===i?2:"u"===i?4:8;s+=function(e,t,s,n){let i=e.substr(t,s),r=i.length===s&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;try{return String.fromCodePoint(r)}catch{let i=e.substr(t-2,s+2);return n(t-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${i}`),i}}(e,n+1,r,t),n+=r}else{let i=e.substr(n-1,2);t(n-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${i}`),s+=i}}else if(" "===i||" "===i){let t=n,r=e[n+1];for(;" "===r||" "===r;)r=e[++n+1];r!==`
|
|
98
|
+
`&&("\r"!==r||e[n+2]!==`
|
|
99
|
+
`)&&(s+=n>t?e.slice(t,n+1):i)}else s+=i}return('"'!==e[e.length-1]||1===e.length)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),s}(r,c);break;default:return s(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${i}`),{value:"",type:null,comment:"",range:[n,n+r.length,n+r.length]}}let u=n+r.length,f=tf(o,u,t,s);return{value:a,type:l,comment:f.comment,range:[n,u,f.offset]}}(t,e.options.strict,n),u=s?e.directives.tagName(s.source,e=>n(s,"TAG_RESOLVE_FAILED",e)):null,f;f=e.options.stringKeys&&e.atKey?e.schema[r]:u?function(e,t,s,n,i){if("!"===s)return e[r];let o=[];for(let t of e.tags)if(!t.collection&&t.tag===s)if(!t.default||!t.test)return t;else o.push(t);for(let e of o)if(e.test?.test(t))return e;let l=e.knownTags[s];return l&&!l.collection?(e.tags.push(Object.assign({},l,{default:!1,test:void 0})),l):(i(n,"TAG_RESOLVE_FAILED",`Unresolved tag: ${s}`,"tag:yaml.org,2002:str"!==s),e[r])}(e.schema,o,u,s,n):"scalar"===t.type?function({atKey:e,directives:t,schema:s},n,i,o){let l=s.tags.find(t=>(!0===t.default||e&&"key"===t.default)&&t.test?.test(n))||s[r];if(s.compat){let e=s.compat.find(e=>e.default&&e.test?.test(n))??s[r];if(l.tag!==e.tag){let s=t.tagString(l.tag),n=t.tagString(e.tag);o(i,"TAG_RESOLVE_FAILED",`Value may be parsed as either ${s} or ${n}`,!0)}}return l}(e,o,t,n):e.schema[r];try{let r=f.resolve(o,e=>n(s??t,"TAG_RESOLVE_FAILED",e),e.options);i=h(r)?r:new D(r)}catch(e){n(s??t,"TAG_RESOLVE_FAILED",e instanceof Error?e.message:String(e)),i=new D(o)}return i.range=c,i.source=o,l&&(i.type=l),u&&(i.tag=u),f.format&&(i.format=f.format),a&&(i.comment=a),i}var tb={composeNode:tk,composeEmptyNode:tv};function tk(e,t,s,n){let i=e.atKey,{spaceBefore:r,comment:o,anchor:l,tag:a}=s,c,u=!0;switch(t.type){case"alias":c=function({options:e},{offset:t,source:s,end:n},i){let r=new j(s.substring(1));""===r.source&&i(t,"BAD_ALIAS","Alias cannot be an empty string"),r.source.endsWith(":")&&i(t+s.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let o=t+s.length,l=tf(n,o,e.strict,i);return r.range=[t,o,l.offset],l.comment&&(r.comment=l.comment),r}(e,t,n),(l||a)&&n(t,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":c=ty(e,t,a,n),l&&(c.anchor=l.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{c=function(e,t,s,n,i){let r=n.tag,o=r?t.directives.tagName(r.source,e=>i(r,"TAG_RESOLVE_FAILED",e)):null;if("block-seq"===s.type){let{anchor:e,newlineAfterProp:t}=n,s=e&&r?e.offset>r.offset?e:r:e??r;s&&(!t||t.offset<s.offset)&&i(s,"MISSING_CHAR","Missing newline after block sequence props")}let l="block-map"===s.type?"map":"block-seq"===s.type?"seq":"{"===s.start.source?"map":"seq";if(!r||!o||"!"===o||o===eg.tagName&&"map"===l||o===eb.tagName&&"seq"===l)return tp(e,t,s,i,o);let a=t.schema.tags.find(e=>e.tag===o&&e.collection===l);if(!a){let n=t.schema.knownTags[o];if(n?.collection!==l)return n?i(r,"BAD_COLLECTION_TYPE",`${n.tag} used for ${l} collection, but expects ${n.collection??"scalar"}`,!0):i(r,"TAG_RESOLVE_FAILED",`Unresolved tag: ${o}`,!0),tp(e,t,s,i,o);t.schema.tags.push(Object.assign({},n,{default:!1})),a=n}let c=tp(e,t,s,i,o,a),u=a.resolve?.(c,e=>i(r,"TAG_RESOLVE_FAILED",e),t.options)??c,f=m(u)?u:new D(u);return f.range=c.range,f.tag=o,a?.format&&(f.format=a.format),f}(tb,e,t,s,n),l&&(c.anchor=l.source.substring(1))}catch(e){n(t,"RESOURCE_EXHAUSTION",e instanceof Error?e.message:String(e))}break;default:{let e="error"===t.type?t.message:`Unsupported token (type: ${t.type})`;n(t,"UNEXPECTED_TOKEN",e),u=!1}}return c??(c=tv(e,t.offset,void 0,null,s,n)),l&&""===c.anchor&&n(l,"BAD_ALIAS","Anchor cannot be an empty string"),i&&e.options.stringKeys&&(!h(c)||"string"!=typeof c.value||c.tag&&"tag:yaml.org,2002:str"!==c.tag)&&n(a??t,"NON_STRING_KEY","With stringKeys, all keys must be strings"),r&&(c.spaceBefore=!0),o&&("scalar"===t.type&&""===t.source?c.comment=o:c.commentBefore=o),e.options.keepSourceTokens&&u&&(c.srcToken=t),c}function tv(e,t,s,n,{spaceBefore:i,comment:r,anchor:o,tag:l,end:a},c){let u=ty(e,{type:"scalar",offset:function(e,t,s){if(t){s??(s=t.length);for(let n=s-1;n>=0;--n){let s=t[n];switch(s.type){case"space":case"comment":case"newline":e-=s.source.length;continue}for(s=t[++n];s?.type==="space";)e+=s.source.length,s=t[++n];break}}return e}(t,s,n),indent:-1,source:""},l,c);return o&&(u.anchor=o.source.substring(1),""===u.anchor&&c(o,"BAD_ALIAS","Anchor cannot be an empty string")),i&&(u.spaceBefore=!0),r&&(u.comment=r,u.range[2]=a),u}function tw(e){if("number"==typeof e)return[e,e+1];if(Array.isArray(e))return 2===e.length?e:[e[0],e[1]];let{offset:t,source:s}=e;return[t,t+("string"==typeof s?s.length:1)]}function tS(e){let t="",s=!1,n=!1;for(let i=0;i<e.length;++i){let r=e[i];switch(r[0]){case"#":t+=(""===t?"":n?`
|
|
100
|
+
|
|
101
|
+
`:`
|
|
102
|
+
`)+(r.substring(1)||" "),s=!0,n=!1;break;case"%":e[i+1]?.[0]!=="#"&&(i+=1),s=!1;break;default:s||(n=!0),s=!1}}return{comment:t,afterEmptyLine:n}}var tE=class{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(e,t,s,n)=>{let i=tw(e);n?this.warnings.push(new ti(i,t,s)):this.errors.push(new tn(i,t,s))},this.directives=new x({version:e.version||"1.2"}),this.options=e}decorate(e,t){let{comment:s,afterEmptyLine:n}=tS(this.prelude);if(s){let i=e.contents;if(t)e.comment=e.comment?`${e.comment}
|
|
103
|
+
${s}`:s;else if(n||e.directives.docStart||!i)e.commentBefore=s;else if(p(i)&&!i.flow&&i.items.length>0){let e=i.items[0];f(e)&&(e=e.key);let t=e.commentBefore;e.commentBefore=t?`${s}
|
|
104
|
+
${t}`:s}else{let e=i.commentBefore;i.commentBefore=e?`${s}
|
|
105
|
+
${e}`:s}}if(t){for(let t=0;t<this.errors.length;++t)e.errors.push(this.errors[t]);for(let t=0;t<this.warnings.length;++t)e.warnings.push(this.warnings[t])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:tS(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,t=!1,s=-1){for(let t of e)yield*this.next(t);yield*this.end(t,s)}*next(e){switch(e.type){case"directive":this.directives.add(e.source,(t,s,n)=>{let i=tw(e);i[0]+=t,this.onError(i,"BAD_DIRECTIVE",s,n)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let t=function(e,t,{offset:s,start:n,value:i,end:r},o){let l=new te(void 0,Object.assign({_directives:t},e)),a={atKey:!1,atRoot:!0,directives:l.directives,options:l.options,schema:l.schema},c=to(n,{indicator:"doc-start",next:i??r?.[0],offset:s,onError:o,parentIndent:0,startOnNewline:!0});c.found&&(l.directives.docStart=!0,i&&("block-map"===i.type||"block-seq"===i.type)&&!c.hasNewline&&o(c.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),l.contents=i?tk(a,i,c,o):tv(a,c.end,n,null,c,o);let u=l.contents.range[2],f=tf(r,u,!1,o);return f.comment&&(l.comment=f.comment),l.range=[s,u,f.offset],l}(this.options,this.directives,e,this.onError);this.atDirectives&&!t.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(t,!1),this.doc&&(yield this.doc),this.doc=t,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{let t=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,s=new tn(tw(e),"UNEXPECTED_TOKEN",t);this.atDirectives||!this.doc?this.errors.push(s):this.doc.errors.push(s);break}case"doc-end":{if(!this.doc){this.errors.push(new tn(tw(e),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let t=tf(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),t.comment){let e=this.doc.comment;this.doc.comment=e?`${e}
|
|
106
|
+
${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new tn(tw(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let e=new te(void 0,Object.assign({_directives:this.directives},this.options));this.atDirectives&&this.onError(t,"MISSING_CHAR","Missing directives-end indicator line"),e.range=[0,t,t],this.decorate(e,!1),yield e}}},tN=Symbol("break visit"),tO=Symbol("skip children"),tA=Symbol("remove item");function tT(e,t){"type"in e&&"document"===e.type&&(e={start:e.start,value:e.value}),function e(t,s,n){let i=n(s,t);if("symbol"==typeof i)return i;for(let r of["key","value"]){let o=s[r];if(o&&"items"in o){for(let s=0;s<o.items.length;++s){let i=e(Object.freeze(t.concat([[r,s]])),o.items[s],n);if("number"==typeof i)s=i-1;else{if(i===tN)return tN;i===tA&&(o.items.splice(s,1),s-=1)}}"function"==typeof i&&"key"===r&&(i=i(s,t))}}return"function"==typeof i?i(s,t):i}(Object.freeze([]),e,t)}function tI(e){switch(e){case void 0:case" ":case`
|
|
107
|
+
`:case"\r":case" ":return!0;default:return!1}}tT.BREAK=tN,tT.SKIP=tO,tT.REMOVE=tA,tT.itemAtPath=(e,t)=>{let s=e;for(let[e,n]of t){let t=s?.[e];if(!t||!("items"in t))return;s=t.items[n]}return s},tT.parentCollection=(e,t)=>{let s=tT.itemAtPath(e,t.slice(0,-1)),n=t[t.length-1][0],i=s?.[n];if(i&&"items"in i)return i;throw Error("Parent collection not found")};var tx=new Set("0123456789ABCDEFabcdef"),t$=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),tL=new Set(",[]{}"),tC=new Set(` ,[]{}
|
|
108
|
+
\r `),t_=e=>!e||tC.has(e),tK=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(e,t=!1){if(e){if("string"!=typeof e)throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!t;let s=this.next??"stream";for(;s&&(t||this.hasChars(1));)s=yield*this.parseNext(s)}atLineEnd(){let e=this.pos,t=this.buffer[e];for(;" "===t||" "===t;)t=this.buffer[++e];return!t||"#"===t||t===`
|
|
109
|
+
`||"\r"===t&&this.buffer[e+1]===`
|
|
110
|
+
`}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let t=this.buffer[e];if(this.indentNext>0){let s=0;for(;" "===t;)t=this.buffer[++s+e];if("\r"===t){let t=this.buffer[s+e+1];if(t===`
|
|
111
|
+
`||!t&&!this.atEnd)return e+s+1}return t!==`
|
|
112
|
+
`&&!(s>=this.indentNext)&&(t||this.atEnd)?-1:e+s}if("-"===t||"."===t){let t=this.buffer.substr(e,3);if(("---"===t||"..."===t)&&tI(this.buffer[e+3]))return -1}return e}getLine(){let e=this.lineEndPos;return("number"!=typeof e||-1!==e&&e<this.pos)&&(e=this.buffer.indexOf(`
|
|
113
|
+
`,this.pos),this.lineEndPos=e),-1===e?this.atEnd?this.buffer.substring(this.pos):null:("\r"===this.buffer[e-1]&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=e,null}peek(e){return this.buffer.substr(this.pos,e)}*parseNext(e){switch(e){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let e=this.getLine();if(null===e)return this.setNext("stream");if("\uFEFF"===e[0]&&(yield*this.pushCount(1),e=e.substring(1)),"%"===e[0]){let t=e.length,s=e.indexOf("#");for(;-1!==s;){let n=e[s-1];if(" "===n||" "===n){t=s-1;break}s=e.indexOf("#",s+1)}for(;;){let s=e[t-1];if(" "===s||" "===s)t-=1;else break}let n=(yield*this.pushCount(t))+(yield*this.pushSpaces(!0));return yield*this.pushCount(e.length-n),this.pushNewline(),"stream"}if(this.atLineEnd()){let t=yield*this.pushSpaces(!0);return yield*this.pushCount(e.length-t),yield*this.pushNewline(),"stream"}return yield"\x02",yield*this.parseLineStart()}*parseLineStart(){let e=this.charAt(0);if(!e&&!this.atEnd)return this.setNext("line-start");if("-"===e||"."===e){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let e=this.peek(3);if(("---"===e||"..."===e)&&tI(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,"---"===e?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!tI(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[e,t]=this.peek(2);if(!t&&!this.atEnd)return this.setNext("block-start");if(("-"===e||"?"===e||":"===e)&&tI(t)){let e=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=e,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let e=this.getLine();if(null===e)return this.setNext("doc");let t=yield*this.pushIndicators();switch(e[t]){case"#":yield*this.pushCount(e.length-t);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(t_),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return t+=yield*this.parseBlockScalarHeader(),t+=yield*this.pushSpaces(!0),yield*this.pushCount(e.length-t),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let e,t,s=-1;do(e=yield*this.pushNewline())>0?(t=yield*this.pushSpaces(!1),this.indentValue=s=t):t=0,t+=yield*this.pushSpaces(!0);while(e+t>0)let n=this.getLine();if(null===n)return this.setNext("flow");if((-1!==s&&s<this.indentNext&&"#"!==n[0]||0===s&&(n.startsWith("---")||n.startsWith("..."))&&tI(n[3]))&&(s!==this.indentNext-1||1!==this.flowLevel||"]"!==n[0]&&"}"!==n[0]))return this.flowLevel=0,yield"\x18",yield*this.parseLineStart();let i=0;for(;","===n[i];)i+=yield*this.pushCount(1),i+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(n[i+=yield*this.pushIndicators()]){case void 0:return"flow";case"#":return yield*this.pushCount(n.length-i),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(t_),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let e=this.charAt(1);if(this.flowKey||tI(e)||","===e)return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let e=this.charAt(0),t=this.buffer.indexOf(e,this.pos+1);if("'"===e)for(;-1!==t&&"'"===this.buffer[t+1];)t=this.buffer.indexOf("'",t+2);else for(;-1!==t;){let e=0;for(;"\\"===this.buffer[t-1-e];)e+=1;if(e%2==0)break;t=this.buffer.indexOf('"',t+1)}let s=this.buffer.substring(0,t),n=s.indexOf(`
|
|
114
|
+
`,this.pos);if(-1!==n){for(;-1!==n;){let e=this.continueScalar(n+1);if(-1===e)break;n=s.indexOf(`
|
|
115
|
+
`,e)}-1!==n&&(t=n-("\r"===s[n-1]?2:1))}if(-1===t){if(!this.atEnd)return this.setNext("quoted-scalar");t=this.buffer.length}return yield*this.pushToIndex(t+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let e=this.pos;for(;;){let t=this.buffer[++e];if("+"===t)this.blockScalarKeep=!0;else if(t>"0"&&t<="9")this.blockScalarIndent=Number(t)-1;else if("-"!==t)break}return yield*this.pushUntil(e=>tI(e)||"#"===e)}*parseBlockScalar(){let e=this.pos-1,t=0,s;e:for(let n=this.pos;s=this.buffer[n];++n)switch(s){case" ":t+=1;break;case`
|
|
116
|
+
`:e=n,t=0;break;case"\r":{let e=this.buffer[n+1];if(!e&&!this.atEnd)return this.setNext("block-scalar");if(e===`
|
|
117
|
+
`)break}default:break e}if(!s&&!this.atEnd)return this.setNext("block-scalar");if(t>=this.indentNext){-1===this.blockScalarIndent?this.indentNext=t:this.indentNext=this.blockScalarIndent+(0===this.indentNext?1:this.indentNext);do{let t=this.continueScalar(e+1);if(-1===t)break;e=this.buffer.indexOf(`
|
|
118
|
+
`,t)}while(-1!==e)if(-1===e){if(!this.atEnd)return this.setNext("block-scalar");e=this.buffer.length}}let n=e+1;for(s=this.buffer[n];" "===s;)s=this.buffer[++n];if(" "===s){for(;" "===s||" "===s||"\r"===s||s===`
|
|
119
|
+
`;)s=this.buffer[++n];e=n-1}else if(!this.blockScalarKeep)for(;;){let s=e-1,n=this.buffer[s];"\r"===n&&(n=this.buffer[--s]);let i=s;for(;" "===n;)n=this.buffer[--s];if(n===`
|
|
120
|
+
`&&s>=this.pos&&s+1+t>i)e=s;else break}return yield"\x1f",yield*this.pushToIndex(e+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let e=this.flowLevel>0,t=this.pos-1,s=this.pos-1,n;for(;n=this.buffer[++s];)if(":"===n){let n=this.buffer[s+1];if(tI(n)||e&&tL.has(n))break;t=s}else if(tI(n)){let i=this.buffer[s+1];if("\r"===n&&(i===`
|
|
121
|
+
`?(s+=1,n=`
|
|
122
|
+
`,i=this.buffer[s+1]):t=s),"#"===i||e&&tL.has(i))break;if(n===`
|
|
123
|
+
`){let e=this.continueScalar(s+1);if(-1===e)break;s=Math.max(s,e-2)}}else{if(e&&tL.has(n))break;t=s}return n||this.atEnd?(yield"\x1f",yield*this.pushToIndex(t+1,!0),e?"flow":"doc"):this.setNext("plain-scalar")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,t){let s=this.buffer.slice(this.pos,e);return s?(yield s,this.pos+=s.length,s.length):(t&&(yield""),0)}*pushIndicators(){let e=0;for(;;){switch(this.charAt(0)){case"!":e+=yield*this.pushTag(),e+=yield*this.pushSpaces(!0);continue;case"&":e+=yield*this.pushUntil(t_),e+=yield*this.pushSpaces(!0);continue;case"-":case"?":case":":{let t=this.flowLevel>0,s=this.charAt(1);if(tI(s)||t&&tL.has(s)){t?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,e+=yield*this.pushCount(1),e+=yield*this.pushSpaces(!0);continue}}}break}return e}*pushTag(){if("<"===this.charAt(1)){let e=this.pos+2,t=this.buffer[e];for(;!tI(t)&&">"!==t;)t=this.buffer[++e];return yield*this.pushToIndex(">"===t?e+1:e,!1)}{let e=this.pos+1,t=this.buffer[e];for(;t;)if(t$.has(t))t=this.buffer[++e];else if("%"===t&&tx.has(this.buffer[e+1])&&tx.has(this.buffer[e+2]))t=this.buffer[e+=3];else break;return yield*this.pushToIndex(e,!1)}}*pushNewline(){let e=this.buffer[this.pos];return e===`
|
|
124
|
+
`?yield*this.pushCount(1):"\r"===e&&this.charAt(1)===`
|
|
125
|
+
`?yield*this.pushCount(2):0}*pushSpaces(e){let t=this.pos-1,s;do s=this.buffer[++t];while(" "===s||e&&" "===s)let n=t-this.pos;return n>0&&(yield this.buffer.substr(this.pos,n),this.pos=t),n}*pushUntil(e){let t=this.pos,s=this.buffer[t];for(;!e(s);)s=this.buffer[++t];return yield*this.pushToIndex(t,!1)}},tB=class{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let t=0,s=this.lineStarts.length;for(;t<s;){let n=t+s>>1;this.lineStarts[n]<e?t=n+1:s=n}if(this.lineStarts[t]===e)return{line:t+1,col:1};if(0===t)return{line:0,col:e};let n=this.lineStarts[t-1];return{line:t,col:e-n+1}}}};function tj(e,t){for(let s=0;s<e.length;++s)if(e[s].type===t)return!0;return!1}function tM(e){for(let t=0;t<e.length;++t)switch(e[t].type){case"space":case"comment":case"newline":break;default:return t}return -1}function tD(e){switch(e?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function tP(e){switch(e.type){case"document":return e.start;case"block-map":{let t=e.items[e.items.length-1];return t.sep??t.start}case"block-seq":return e.items[e.items.length-1].start;default:return[]}}function tq(e){if(0===e.length)return[];let t=e.length;e:for(;--t>=0;)switch(e[t].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;e[++t]?.type==="space";);return e.splice(t,e.length)}function tU(e,t){if(t.length<1e5)Array.prototype.push.apply(e,t);else for(let s=0;s<t.length;++s)e.push(t[s])}function tR(e){if("flow-seq-start"===e.start.type)for(let t of e.items)!t.sep||t.value||tj(t.start,"explicit-key-ind")||tj(t.sep,"map-value-ind")||(t.key&&(t.value=t.key),delete t.key,tD(t.value)?t.value.end?tU(t.value.end,t.sep):t.value.end=t.sep:tU(t.start,t.sep),delete t.sep)}var tF=class{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new tK,this.onNewLine=e}*parse(e,t=!1){for(let s of(this.onNewLine&&0===this.offset&&this.onNewLine(0),this.lexer.lex(e,t)))yield*this.next(s);t||(yield*this.end())}*next(e){if(this.source=e,this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}let t=function(e){switch(e){case"\uFEFF":return"byte-order-mark";case"\x02":return"doc-mode";case"\x18":return"flow-error-end";case"\x1f":return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
|
|
126
|
+
`:case`\r
|
|
127
|
+
`:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(e[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}(e);if(t)if("scalar"===t)this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=t,yield*this.step(),t){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case"space":this.atNewLine&&" "===e[0]&&(this.indent+=e.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=e.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=e.length}else{let t=`Not a YAML token: ${e}`;yield*this.pop({type:"error",offset:this.offset,message:t,source:e}),this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let e=this.peek(1);if("doc-end"===this.type&&e?.type!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!e)return yield*this.stream();switch(e.type){case"document":return yield*this.document(e);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(e);case"block-scalar":return yield*this.blockScalar(e);case"block-map":return yield*this.blockMap(e);case"block-seq":return yield*this.blockSequence(e);case"flow-collection":return yield*this.flowCollection(e);case"doc-end":return yield*this.documentEnd(e)}yield*this.pop()}peek(e){return this.stack[this.stack.length-e]}*pop(e){let t=e??this.stack.pop();if(t)if(0===this.stack.length)yield t;else{let e=this.peek(1);switch("block-scalar"===t.type?t.indent="indent"in e?e.indent:0:"flow-collection"===t.type&&"document"===e.type&&(t.indent=0),"flow-collection"===t.type&&tR(t),e.type){case"document":e.value=t;break;case"block-scalar":e.props.push(t);break;case"block-map":{let s=e.items[e.items.length-1];if(s.value){e.items.push({start:[],key:t,sep:[]}),this.onKeyLine=!0;return}if(s.sep)s.value=t;else{Object.assign(s,{key:t,sep:[]}),this.onKeyLine=!s.explicitKey;return}break}case"block-seq":{let s=e.items[e.items.length-1];s.value?e.items.push({start:[],value:t}):s.value=t;break}case"flow-collection":{let s=e.items[e.items.length-1];!s||s.value?e.items.push({start:[],key:t,sep:[]}):s.sep?s.value=t:Object.assign(s,{key:t,sep:[]});return}default:yield*this.pop(),yield*this.pop(t)}if(("document"===e.type||"block-map"===e.type||"block-seq"===e.type)&&("block-map"===t.type||"block-seq"===t.type)){let s=t.items[t.items.length-1];s&&!s.sep&&!s.value&&s.start.length>0&&-1===tM(s.start)&&(0===t.indent||s.start.every(e=>"comment"!==e.type||e.indent<t.indent))&&("document"===e.type?e.end=s.start:e.items.push({start:s.start}),t.items.splice(-1,1))}}else yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let e={type:"document",offset:this.offset,start:[]};"doc-start"===this.type&&e.start.push(this.sourceToken),this.stack.push(e);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(e){if(e.value)return yield*this.lineEnd(e);switch(this.type){case"doc-start":return void(-1!==tM(e.start)?(yield*this.pop(),yield*this.step()):e.start.push(this.sourceToken));case"anchor":case"tag":case"space":case"comment":case"newline":e.start.push(this.sourceToken);return}let t=this.startBlockValue(e);t?this.stack.push(t):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(e){if("map-value-ind"===this.type){let t=tq(tP(this.peek(2))),s;e.end?((s=e.end).push(this.sourceToken),delete e.end):s=[this.sourceToken];let n={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:t,key:e,sep:s}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=n}else yield*this.lineEnd(e)}*blockScalar(e){switch(this.type){case"space":case"comment":case"newline":e.props.push(this.sourceToken);return;case"scalar":if(e.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let e=this.source.indexOf(`
|
|
128
|
+
`)+1;for(;0!==e;)this.onNewLine(this.offset+e),e=this.source.indexOf(`
|
|
129
|
+
`,e)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,t.value){let s="end"in t.value?t.value.end:void 0;(Array.isArray(s)?s[s.length-1]:void 0)?.type==="comment"?s?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case"space":case"comment":if(t.value)e.items.push({start:[this.sourceToken]});else if(t.sep)t.sep.push(this.sourceToken);else{if(this.atIndentedComment(t.start,e.indent)){let s=e.items[e.items.length-2]?.value?.end;if(Array.isArray(s)){tU(s,t.start),s.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let s=!this.onKeyLine&&this.indent===e.indent,n=s&&(t.sep||t.explicitKey)&&"seq-item-ind"!==this.type,i=[];if(n&&t.sep&&!t.value){let s=[];for(let n=0;n<t.sep.length;++n){let i=t.sep[n];switch(i.type){case"newline":s.push(n);break;case"space":break;case"comment":i.indent>e.indent&&(s.length=0);break;default:s.length=0}}s.length>=2&&(i=t.sep.splice(s[1]))}switch(this.type){case"anchor":case"tag":n||t.value?(i.push(this.sourceToken),e.items.push({start:i}),this.onKeyLine=!0):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case"explicit-key-ind":t.sep||t.explicitKey?n||t.value?(i.push(this.sourceToken),e.items.push({start:i,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}):(t.start.push(this.sourceToken),t.explicitKey=!0),this.onKeyLine=!0;return;case"map-value-ind":if(t.explicitKey)if(t.sep)if(t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(tj(t.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]});else if(tD(t.key)&&!tj(t.sep,"newline")){let e=tq(t.start),s=t.key,n=t.sep;n.push(this.sourceToken),delete t.key,delete t.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:e,key:s,sep:n}]})}else i.length>0?t.sep=t.sep.concat(i,this.sourceToken):t.sep.push(this.sourceToken);else if(tj(t.start,"newline"))Object.assign(t,{key:null,sep:[this.sourceToken]});else{let e=tq(t.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:e,key:null,sep:[this.sourceToken]}]})}else t.sep?t.value||n?e.items.push({start:i,key:null,sep:[this.sourceToken]}):tj(t.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let s=this.flowScalar(this.type);n||t.value?(e.items.push({start:i,key:s,sep:[]}),this.onKeyLine=!0):t.sep?this.stack.push(s):(Object.assign(t,{key:s,sep:[]}),this.onKeyLine=!0);return}default:{let n=this.startBlockValue(e);if(n){if("block-seq"===n.type){if(!t.explicitKey&&t.sep&&!tj(t.sep,"newline"))return void(yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source}))}else s&&e.items.push({start:i});this.stack.push(n);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(t.value){let s="end"in t.value?t.value.end:void 0;(Array.isArray(s)?s[s.length-1]:void 0)?.type==="comment"?s?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.start.push(this.sourceToken);return;case"space":case"comment":if(t.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(t.start,e.indent)){let s=e.items[e.items.length-2]?.value?.end;if(Array.isArray(s)){tU(s,t.start),s.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return;case"anchor":case"tag":if(t.value||this.indent<=e.indent)break;t.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==e.indent)break;t.value||tj(t.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return}if(this.indent>e.indent){let t=this.startBlockValue(e);if(t)return void this.stack.push(t)}yield*this.pop(),yield*this.step()}*flowCollection(e){let t=e.items[e.items.length-1];if("flow-error-end"===this.type){let e;do yield*this.pop(),e=this.peek(1);while(e?.type==="flow-collection")}else if(0===e.end.length){switch(this.type){case"comma":case"explicit-key-ind":!t||t.sep?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return;case"map-value-ind":!t||t.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!t||t.value?e.items.push({start:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let s=this.flowScalar(this.type);!t||t.value?e.items.push({start:[],key:s,sep:[]}):t.sep?this.stack.push(s):Object.assign(t,{key:s,sep:[]});return}case"flow-map-end":case"flow-seq-end":e.end.push(this.sourceToken);return}let s=this.startBlockValue(e);s?this.stack.push(s):(yield*this.pop(),yield*this.step())}else{let t=this.peek(2);if("block-map"!==t.type||("map-value-ind"!==this.type||t.indent!==e.indent)&&("newline"!==this.type||t.items[t.items.length-1].sep))if("map-value-ind"===this.type&&"flow-collection"!==t.type){let s=tq(tP(t));tR(e);let n=e.end.splice(1,e.end.length);n.push(this.sourceToken);let i={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:s,key:e,sep:n}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=i}else yield*this.lineEnd(e);else yield*this.pop(),yield*this.step()}}flowScalar(e){if(this.onNewLine){let e=this.source.indexOf(`
|
|
130
|
+
`)+1;for(;0!==e;)this.onNewLine(this.offset+e),e=this.source.indexOf(`
|
|
131
|
+
`,e)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let t=tq(tP(e));return t.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:t,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let t=tq(tP(e));return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:t,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){return"comment"===this.type&&!(this.indent<=t)&&e.every(e=>"newline"===e.type||"space"===e.type)}*documentEnd(e){"doc-mode"!==this.type&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],"newline"===this.type&&(yield*this.pop()))}*lineEnd(e){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],"newline"===this.type&&(yield*this.pop())}}};function tJ(e,t={}){let s,{lineCounter:n,prettyErrors:i}=(s=!1!==t.prettyErrors,{lineCounter:t.lineCounter||s&&new tB||null,prettyErrors:s}),r=new tF(n?.addNewLine),o=new tE(t),l=null;for(let t of o.compose(r.parse(e),!0,e.length))if(l){if("silent"!==l.options.logLevel){l.errors.push(new tn(t.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}}else l=t;return i&&n&&(l.errors.forEach(tr(e,n)),l.warnings.forEach(tr(e,n))),l}var tV=/^[-+]?(?:0b[01]+|0x[0-9a-fA-F]+|0o[0-7]+|[0-9]+)$/,tY=/^(?:[-+]?[0-9]+(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\.(?:inf|Inf|INF)|\.(?:nan|NaN|NAN))$/,tW={identify:e=>"number"==typeof e&&Number.isInteger(e),default:!0,tag:"tag:yaml.org,2002:int",test:tV,resolve:function(e,t){if(!tV.test(e))return t(`cannot resolve ${JSON.stringify(e)} as an integer`),NaN;let s=e,n="-"===s[0]?-1:1;("-"===s[0]||"+"===s[0])&&(s=s.slice(1));let i="b"===s[1]?2:"x"===s[1]?16:"o"===s[1]?8:10,r=n*Number.parseInt(10===i?s:s.slice(2),i);return Number.isFinite(r)?r:e},stringify:eN},tG={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:tY,resolve:function(e,t){if(!tY.test(e))return t(`cannot resolve ${JSON.stringify(e)} as a float`),NaN;let s=e.toLowerCase(),n="-"===s[0]?-1:1;if(("-"===s[0]||"+"===s[0])&&(s=s.slice(1)),".inf"===s)return 1/0*n;if(".nan"===s)return NaN;let i=n*Number.parseFloat(s);return Number.isFinite(i)?i:e},stringify:eN},tH={schema:"core",customTags:e=>[...e.filter(e=>"string"==typeof e||e.tag!==tW.tag&&e.tag!==tG.tag),tW,tG]},tQ=/(?:^|[[{,]|[:?-][ \t])[ \t]*$/,tX=/(?:^|[:?-][ \t])[ \t]*[|>][-+0-9]*[ \t]*(?:#.*)?$/;function tz(e){let t,s,n=tJ(e,{...tH,logLevel:"silent"}),i=n.errors.find(t=>!("MISSING_CHAR"===t.code&&t.message.startsWith("Comments must be separated from other tokens by white space characters"))||!!/[|>][-+0-9]*$/.test(e.slice(0,t.pos[0])))??n.warnings[0];if(i)return{ok:!1,message:i.message.split(`
|
|
132
|
+
`)[0]};if(t=!1,v(n,{Pair(s,n,i){let r=i[i.length-1],o=n.key,l=h(o)&&""===o.source&&o.range?.[0]===o.range?.[1]?o.range[0]:-1;if(l>=0&&u(r)&&!r.flow&&/^[ \t]*:/.test(e.slice(l))&&/^[ \t]*$/.test(e.slice(e.lastIndexOf(`
|
|
133
|
+
`,l-1)+1,l)))return t=!0,v.BREAK}}),t)return{ok:!1,message:"a block mapping entry has no key"};if(v(n,{Scalar(e,t){let n=t.tag===tW.tag?tV:t.tag===tG.tag?tY:void 0;n&&(!n.test(t.source??"")||"number"!=typeof t.value)&&(s=`cannot resolve ${JSON.stringify(t.source)} as ${t.tag}`)},Pair(e,t){h(t.key)&&null===t.key.value&&(t.key=new D("null"))}}),s)return{ok:!1,message:s};try{return{ok:!0,value:n.toJS()}}catch(e){return{ok:!1,message:e instanceof Error?e.message:String(e)}}}function tZ(e){let t=e.length>0&&!/[\n\r]$/.test(e)?`${e}
|
|
134
|
+
`:e,s=tz(t);if(s.ok)return s;let n=function(e){let t=e.split(`
|
|
135
|
+
`),s=e=>e.match(/^[ \t]*/)[0],n,i="",r,o=!1;for(let e=0;e<t.length;e++){let l=t[e];if(void 0!==r){if(""===l.trim()||s(l).length>r)continue;r=void 0}n&&(t[e]=i+l,o=!0);let a=0;for(;a<l.length;a++){let e=l[a];if('"'===n)"\\"===e?a++:'"'===e&&(n=void 0);else if("'"===n)"'"===e&&"'"===l[a+1]?a++:"'"===e&&(n=void 0);else{if("#"===e&&(0===a||/[ \t]/.test(l[a-1])))break;('"'===e||"'"===e)&&tQ.test(l.slice(0,a))&&(n=e,i=`${s(l)} `)}}!n&&tX.test(l)&&(r=s(l).length)}return o?t.join(`
|
|
136
|
+
`):void 0}(t),i=void 0===n?void 0:tz(n);return i?.ok?i:s}function t0(e){return function(e,t,s){let n,i=tJ(e,void 0);if(!i)return null;if(i.warnings.forEach(e=>er(i.options.logLevel,e)),i.errors.length>0){if("silent"!==i.options.logLevel)throw i.errors[0];i.errors=[]}return i.toJS(Object.assign({reviver:n},void 0))}(e)}function t1(e){let t=tJ(e,{keepSourceTokens:!0}),s=[];if(!u(t.contents))return s;for(let e of t.contents.items){if(!h(e.key)||!e.key.range||!e.value||!("range"in e.value)||!e.value.range)continue;let t=e.srcToken?.sep?.find(e=>"anchor"===e.type||"tag"===e.type);s.push({name:String(e.key.value),keyStart:e.key.range[0],keyEnd:e.key.range[1],valueStart:t?.offset??e.value.range[0],valueEnd:e.value.range[1]})}return s}function t2(e){let t=new te(e,tH);return v(t,{Scalar(e,t){"string"==typeof t.value&&/(?:^|\n)[ \t]+\r?(?:\n|$)/.test(t.value)&&(t.type=D.QUOTE_DOUBLE)}}),t.toString()}export{t0 as parseDirectiveYaml,tZ as parseMermaidYaml,t1 as readYamlMappingRanges,t2 as stringifyMermaidYaml};
|