@aiquants/markdown 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_basePickBy-9OP_RXFr.js +152 -0
- package/dist/{_basePickBy-DGJ-oAbP.js.map → _basePickBy-9OP_RXFr.js.map} +1 -1
- package/dist/_basePickBy-GmCmss_z.cjs +2 -0
- package/dist/{_basePickBy-CJeGUXFc.cjs.map → _basePickBy-GmCmss_z.cjs.map} +1 -1
- package/dist/{_baseUniq-zkWo_1rp.js → _baseUniq-C4HU9xaT.js} +53 -53
- package/dist/{_baseUniq-zkWo_1rp.js.map → _baseUniq-C4HU9xaT.js.map} +1 -1
- package/dist/_baseUniq-yI_NkbvN.cjs +2 -0
- package/dist/{_baseUniq-DmmwqgFi.cjs.map → _baseUniq-yI_NkbvN.cjs.map} +1 -1
- package/dist/arc-C5PAY8Ez.cjs +2 -0
- package/dist/{arc-DAUA8YnG.cjs.map → arc-C5PAY8Ez.cjs.map} +1 -1
- package/dist/arc-aptHQYeE.js +84 -0
- package/dist/{arc-Do8CANbr.js.map → arc-aptHQYeE.js.map} +1 -1
- package/dist/{architecture-U656AL7Q-Bk_BCN3G.cjs → architecture-U656AL7Q-CFvrPE5f.cjs} +2 -2
- package/dist/architecture-U656AL7Q-CFvrPE5f.cjs.map +1 -0
- package/dist/architecture-U656AL7Q-DWT7i6G1.js +6 -0
- package/dist/architecture-U656AL7Q-DWT7i6G1.js.map +1 -0
- package/dist/architectureDiagram-VXUJARFQ-Cbg25OnL.cjs +37 -0
- package/dist/{architectureDiagram-VXUJARFQ-eU-3tnCG.cjs.map → architectureDiagram-VXUJARFQ-Cbg25OnL.cjs.map} +1 -1
- package/dist/{architectureDiagram-VXUJARFQ-C3_AqxrC.js → architectureDiagram-VXUJARFQ-DYhs05fD.js} +133 -133
- package/dist/{architectureDiagram-VXUJARFQ-C3_AqxrC.js.map → architectureDiagram-VXUJARFQ-DYhs05fD.js.map} +1 -1
- package/dist/{blockDiagram-VD42YOAC-DI0rOR-X.js → blockDiagram-VD42YOAC-Dvczpqb4.js} +6 -6
- package/dist/{blockDiagram-VD42YOAC-DI0rOR-X.js.map → blockDiagram-VD42YOAC-Dvczpqb4.js.map} +1 -1
- package/dist/{blockDiagram-VD42YOAC-CnsJKAH7.cjs → blockDiagram-VD42YOAC-NTEawOfj.cjs} +2 -2
- package/dist/{blockDiagram-VD42YOAC-CnsJKAH7.cjs.map → blockDiagram-VD42YOAC-NTEawOfj.cjs.map} +1 -1
- package/dist/{c4Diagram-YG6GDRKO-CCs9MC7P.cjs → c4Diagram-YG6GDRKO-3V8xMGCe.cjs} +2 -2
- package/dist/{c4Diagram-YG6GDRKO-CCs9MC7P.cjs.map → c4Diagram-YG6GDRKO-3V8xMGCe.cjs.map} +1 -1
- package/dist/{c4Diagram-YG6GDRKO-D51PeXS6.js → c4Diagram-YG6GDRKO-eyamau5R.js} +24 -24
- package/dist/{c4Diagram-YG6GDRKO-D51PeXS6.js.map → c4Diagram-YG6GDRKO-eyamau5R.js.map} +1 -1
- package/dist/channel-2EzZomVR.cjs +2 -0
- package/dist/{channel-BaCsO_0A.cjs.map → channel-2EzZomVR.cjs.map} +1 -1
- package/dist/channel-C7bO53Zp.js +6 -0
- package/dist/{channel-KAvJVFiL.js.map → channel-C7bO53Zp.js.map} +1 -1
- package/dist/{chunk-4BX2VUAB-RTUYNJ4N.js → chunk-4BX2VUAB-DTN5uvgP.js} +2 -2
- package/dist/{chunk-4BX2VUAB-RTUYNJ4N.js.map → chunk-4BX2VUAB-DTN5uvgP.js.map} +1 -1
- package/dist/chunk-4BX2VUAB-DigEkb3b.cjs +2 -0
- package/dist/{chunk-4BX2VUAB-CNm_p9u2.cjs.map → chunk-4BX2VUAB-DigEkb3b.cjs.map} +1 -1
- package/dist/{chunk-55IACEB6-Dw6JfE_R.js → chunk-55IACEB6-BP-wtTGH.js} +4 -4
- package/dist/{chunk-55IACEB6-Dw6JfE_R.js.map → chunk-55IACEB6-BP-wtTGH.js.map} +1 -1
- package/dist/chunk-55IACEB6-Dbik_xkm.cjs +2 -0
- package/dist/{chunk-55IACEB6-yuqRdS6I.cjs.map → chunk-55IACEB6-Dbik_xkm.cjs.map} +1 -1
- package/dist/{chunk-B4BG7PRW-5i9HWRdu.cjs → chunk-B4BG7PRW-CL-opUm6.cjs} +2 -2
- package/dist/{chunk-B4BG7PRW-5i9HWRdu.cjs.map → chunk-B4BG7PRW-CL-opUm6.cjs.map} +1 -1
- package/dist/{chunk-B4BG7PRW-Cu2KwVXL.js → chunk-B4BG7PRW-LSfTbvAq.js} +24 -24
- package/dist/{chunk-B4BG7PRW-Cu2KwVXL.js.map → chunk-B4BG7PRW-LSfTbvAq.js.map} +1 -1
- package/dist/{chunk-DI55MBZ5-RM4QxlLs.cjs → chunk-DI55MBZ5-B3ZzvJz3.cjs} +2 -2
- package/dist/{chunk-DI55MBZ5-RM4QxlLs.cjs.map → chunk-DI55MBZ5-B3ZzvJz3.cjs.map} +1 -1
- package/dist/{chunk-DI55MBZ5-D9r0NVIn.js → chunk-DI55MBZ5-BFKy5qpq.js} +18 -18
- package/dist/{chunk-DI55MBZ5-D9r0NVIn.js.map → chunk-DI55MBZ5-BFKy5qpq.js.map} +1 -1
- package/dist/{chunk-FMBD7UC4-DCOkUt8T.js → chunk-FMBD7UC4-Cj0rYanC.js} +2 -2
- package/dist/{chunk-FMBD7UC4-DCOkUt8T.js.map → chunk-FMBD7UC4-Cj0rYanC.js.map} +1 -1
- package/dist/{chunk-FMBD7UC4-BF1L4E3r.cjs → chunk-FMBD7UC4-SJFpUcbQ.cjs} +2 -2
- package/dist/{chunk-FMBD7UC4-BF1L4E3r.cjs.map → chunk-FMBD7UC4-SJFpUcbQ.cjs.map} +1 -1
- package/dist/chunk-QN33PNHL-Bivt7krM.cjs +2 -0
- package/dist/{chunk-QN33PNHL-D02O-uMO.cjs.map → chunk-QN33PNHL-Bivt7krM.cjs.map} +1 -1
- package/dist/chunk-QN33PNHL-C2jhEFgD.js +20 -0
- package/dist/{chunk-QN33PNHL-hzQ0yPiA.js.map → chunk-QN33PNHL-C2jhEFgD.js.map} +1 -1
- package/dist/chunk-QZHKN3VN-CQh9a-c0.cjs +2 -0
- package/dist/{chunk-QZHKN3VN-BmkTtKro.cjs.map → chunk-QZHKN3VN-CQh9a-c0.cjs.map} +1 -1
- package/dist/{chunk-QZHKN3VN-B6f2M6cP.js → chunk-QZHKN3VN-CkWcYGiz.js} +2 -2
- package/dist/{chunk-QZHKN3VN-B6f2M6cP.js.map → chunk-QZHKN3VN-CkWcYGiz.js.map} +1 -1
- package/dist/chunk-TZMSLE5B-Bsi1MAsv.cjs +2 -0
- package/dist/{chunk-TZMSLE5B-kcQjV4u6.cjs.map → chunk-TZMSLE5B-Bsi1MAsv.cjs.map} +1 -1
- package/dist/{chunk-TZMSLE5B-CMgHccah.js → chunk-TZMSLE5B-t5WZ_Iu6.js} +21 -21
- package/dist/{chunk-TZMSLE5B-CMgHccah.js.map → chunk-TZMSLE5B-t5WZ_Iu6.js.map} +1 -1
- package/dist/classDiagram-2ON5EDUG-DT-nF1RS.cjs +2 -0
- package/dist/{classDiagram-2ON5EDUG-D8v286nZ.cjs.map → classDiagram-2ON5EDUG-DT-nF1RS.cjs.map} +1 -1
- package/dist/{classDiagram-2ON5EDUG-Cr5EKsK5.js → classDiagram-2ON5EDUG-Dxp5YM_R.js} +3 -3
- package/dist/{classDiagram-2ON5EDUG-Cr5EKsK5.js.map → classDiagram-2ON5EDUG-Dxp5YM_R.js.map} +1 -1
- package/dist/classDiagram-v2-WZHVMYZB-DT-nF1RS.cjs +2 -0
- package/dist/{classDiagram-v2-WZHVMYZB-D8v286nZ.cjs.map → classDiagram-v2-WZHVMYZB-DT-nF1RS.cjs.map} +1 -1
- package/dist/{classDiagram-v2-WZHVMYZB-Cr5EKsK5.js → classDiagram-v2-WZHVMYZB-Dxp5YM_R.js} +3 -3
- package/dist/{classDiagram-v2-WZHVMYZB-Cr5EKsK5.js.map → classDiagram-v2-WZHVMYZB-Dxp5YM_R.js.map} +1 -1
- package/dist/cli.js +109 -13
- package/dist/clone-DeYaJvUq.cjs +2 -0
- package/dist/{clone-Qa8ZMMKU.cjs.map → clone-DeYaJvUq.cjs.map} +1 -1
- package/dist/clone-DxjV0XqV.js +9 -0
- package/dist/{clone-BxPvQEOl.js.map → clone-DxjV0XqV.js.map} +1 -1
- package/dist/cose-bilkent-S5V4N54A-C3dnKObK.cjs +2 -0
- package/dist/{cose-bilkent-S5V4N54A-BJ3wg7KS.cjs.map → cose-bilkent-S5V4N54A-C3dnKObK.cjs.map} +1 -1
- package/dist/{cose-bilkent-S5V4N54A-B0RvLg-Z.js → cose-bilkent-S5V4N54A-CC9Kvv3r.js} +2 -2
- package/dist/{cose-bilkent-S5V4N54A-B0RvLg-Z.js.map → cose-bilkent-S5V4N54A-CC9Kvv3r.js.map} +1 -1
- package/dist/{index-CPFTnxie.cjs → createIntentTweetLink-BVYfpo7F.cjs} +59 -59
- package/dist/createIntentTweetLink-BVYfpo7F.cjs.map +1 -0
- package/dist/{index-DBVR6GYe.js → createIntentTweetLink-R2TGMXxb.js} +4054 -4381
- package/dist/createIntentTweetLink-R2TGMXxb.js.map +1 -0
- package/dist/css/github-markdown.css +1 -1
- package/dist/css/katex.min.css +24 -24
- package/dist/{dagre-6UL2VRFP--PuHyvOJ.js → dagre-6UL2VRFP-BohBB2aw.js} +37 -37
- package/dist/{dagre-6UL2VRFP--PuHyvOJ.js.map → dagre-6UL2VRFP-BohBB2aw.js.map} +1 -1
- package/dist/dagre-6UL2VRFP-CVZTIZO9.cjs +5 -0
- package/dist/{dagre-6UL2VRFP-BDyQ7zKw.cjs.map → dagre-6UL2VRFP-CVZTIZO9.cjs.map} +1 -1
- package/dist/{diagram-PSM6KHXK-B57QodqD.js → diagram-PSM6KHXK-5NyYKVKy.js} +56 -56
- package/dist/{diagram-PSM6KHXK-B57QodqD.js.map → diagram-PSM6KHXK-5NyYKVKy.js.map} +1 -1
- package/dist/diagram-PSM6KHXK-DutalUmN.cjs +25 -0
- package/dist/{diagram-PSM6KHXK-u5RdYoub.cjs.map → diagram-PSM6KHXK-DutalUmN.cjs.map} +1 -1
- package/dist/{diagram-QEK2KX5R-Da-pT7Ux.js → diagram-QEK2KX5R-0MtoueI0.js} +40 -40
- package/dist/{diagram-QEK2KX5R-Da-pT7Ux.js.map → diagram-QEK2KX5R-0MtoueI0.js.map} +1 -1
- package/dist/diagram-QEK2KX5R-DsgPiAVd.cjs +44 -0
- package/dist/{diagram-QEK2KX5R-D1cueJAA.cjs.map → diagram-QEK2KX5R-DsgPiAVd.cjs.map} +1 -1
- package/dist/diagram-S2PKOQOG-8R0sX2-5.cjs +25 -0
- package/dist/{diagram-S2PKOQOG-DpAD-cB_.cjs.map → diagram-S2PKOQOG-8R0sX2-5.cjs.map} +1 -1
- package/dist/{diagram-S2PKOQOG-BvfG2rAS.js → diagram-S2PKOQOG-BppXCAEs.js} +15 -15
- package/dist/{diagram-S2PKOQOG-BvfG2rAS.js.map → diagram-S2PKOQOG-BppXCAEs.js.map} +1 -1
- package/dist/{erDiagram-Q2GNP2WA-ohQILmdi.cjs → erDiagram-Q2GNP2WA-BVp_M17a.cjs} +3 -3
- package/dist/{erDiagram-Q2GNP2WA-ohQILmdi.cjs.map → erDiagram-Q2GNP2WA-BVp_M17a.cjs.map} +1 -1
- package/dist/{erDiagram-Q2GNP2WA-WM-jEF2o.js → erDiagram-Q2GNP2WA-swVgAmNA.js} +65 -65
- package/dist/{erDiagram-Q2GNP2WA-WM-jEF2o.js.map → erDiagram-Q2GNP2WA-swVgAmNA.js.map} +1 -1
- package/dist/{flowDiagram-NV44I4VS-C_bxgg0e.cjs → flowDiagram-NV44I4VS-BoSynmGJ.cjs} +4 -4
- package/dist/{flowDiagram-NV44I4VS-C_bxgg0e.cjs.map → flowDiagram-NV44I4VS-BoSynmGJ.cjs.map} +1 -1
- package/dist/{flowDiagram-NV44I4VS-BCumxy_A.js → flowDiagram-NV44I4VS-DsEDlWj7.js} +24 -24
- package/dist/{flowDiagram-NV44I4VS-BCumxy_A.js.map → flowDiagram-NV44I4VS-DsEDlWj7.js.map} +1 -1
- package/dist/ganttDiagram-JELNMOA3-BcnntGZq.cjs +268 -0
- package/dist/{ganttDiagram-JELNMOA3-Geq6x747.cjs.map → ganttDiagram-JELNMOA3-BcnntGZq.cjs.map} +1 -1
- package/dist/{ganttDiagram-JELNMOA3-Dr1NLren.js → ganttDiagram-JELNMOA3-C4XTSocE.js} +3 -3
- package/dist/{ganttDiagram-JELNMOA3-Dr1NLren.js.map → ganttDiagram-JELNMOA3-C4XTSocE.js.map} +1 -1
- package/dist/{gitGraph-F6HP7TQM-BeOJ-IAj.cjs → gitGraph-F6HP7TQM-CDxfJup7.cjs} +2 -2
- package/dist/gitGraph-F6HP7TQM-CDxfJup7.cjs.map +1 -0
- package/dist/gitGraph-F6HP7TQM-DYKSEh6b.js +6 -0
- package/dist/gitGraph-F6HP7TQM-DYKSEh6b.js.map +1 -0
- package/dist/{gitGraphDiagram-NY62KEGX-BLjyc1Wj.js → gitGraphDiagram-NY62KEGX-B1d1zQF8.js} +33 -33
- package/dist/{gitGraphDiagram-NY62KEGX-BLjyc1Wj.js.map → gitGraphDiagram-NY62KEGX-B1d1zQF8.js.map} +1 -1
- package/dist/gitGraphDiagram-NY62KEGX-Dx6KuASB.cjs +66 -0
- package/dist/{gitGraphDiagram-NY62KEGX-DzsNlXbq.cjs.map → gitGraphDiagram-NY62KEGX-Dx6KuASB.cjs.map} +1 -1
- package/dist/graph-CareAXtQ.cjs +2 -0
- package/dist/{graph-afCf5ZM1.cjs.map → graph-CareAXtQ.cjs.map} +1 -1
- package/dist/{graph-BlkDovJY.js → graph-DlYjyX_q.js} +7 -7
- package/dist/{graph-BlkDovJY.js.map → graph-DlYjyX_q.js.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.client.cjs +2 -0
- package/dist/index.client.cjs.map +1 -0
- package/dist/index.client.d.ts +2 -0
- package/dist/index.client.js +46 -0
- package/dist/index.client.js.map +1 -0
- package/dist/index.js +39 -46
- package/dist/index.js.map +1 -1
- package/dist/index.server.cjs +2 -0
- package/dist/index.server.cjs.map +1 -0
- package/dist/index.server.d.ts +2 -0
- package/dist/index.server.js +197 -0
- package/dist/index.server.js.map +1 -0
- package/dist/{info-NVLQJR56-zgrtE1eV.cjs → info-NVLQJR56-DoYEwGdO.cjs} +2 -2
- package/dist/info-NVLQJR56-DoYEwGdO.cjs.map +1 -0
- package/dist/info-NVLQJR56-mHjQxn1n.js +6 -0
- package/dist/info-NVLQJR56-mHjQxn1n.js.map +1 -0
- package/dist/infoDiagram-WHAUD3N6-Bm7Ywzku.js +25 -0
- package/dist/{infoDiagram-WHAUD3N6-DZlGk8Eu.js.map → infoDiagram-WHAUD3N6-Bm7Ywzku.js.map} +1 -1
- package/dist/infoDiagram-WHAUD3N6-Cj1ZcGEx.cjs +3 -0
- package/dist/{infoDiagram-WHAUD3N6-e_6Fu7A3.cjs.map → infoDiagram-WHAUD3N6-Cj1ZcGEx.cjs.map} +1 -1
- package/dist/{journeyDiagram-XKPGCS4Q-DWNhUx2B.cjs → journeyDiagram-XKPGCS4Q-CO_Iy-dg.cjs} +2 -2
- package/dist/{journeyDiagram-XKPGCS4Q-DWNhUx2B.cjs.map → journeyDiagram-XKPGCS4Q-CO_Iy-dg.cjs.map} +1 -1
- package/dist/{journeyDiagram-XKPGCS4Q-FOnZHY81.js → journeyDiagram-XKPGCS4Q-KBpMVeri.js} +20 -20
- package/dist/{journeyDiagram-XKPGCS4Q-FOnZHY81.js.map → journeyDiagram-XKPGCS4Q-KBpMVeri.js.map} +1 -1
- package/dist/{kanban-definition-3W4ZIXB7-DmXZ76_s.cjs → kanban-definition-3W4ZIXB7-BaEUkYS9.cjs} +2 -2
- package/dist/{kanban-definition-3W4ZIXB7-DmXZ76_s.cjs.map → kanban-definition-3W4ZIXB7-BaEUkYS9.cjs.map} +1 -1
- package/dist/{kanban-definition-3W4ZIXB7-BKCGrp4d.js → kanban-definition-3W4ZIXB7-uZwLFtc6.js} +25 -25
- package/dist/{kanban-definition-3W4ZIXB7-BKCGrp4d.js.map → kanban-definition-3W4ZIXB7-uZwLFtc6.js.map} +1 -1
- package/dist/{layout-BM8fgH_I.js → layout-C4uBH3zs.js} +91 -91
- package/dist/{layout-BM8fgH_I.js.map → layout-C4uBH3zs.js.map} +1 -1
- package/dist/layout-Cig-NcZ-.cjs +2 -0
- package/dist/{layout-CQ55vGEs.cjs.map → layout-Cig-NcZ-.cjs.map} +1 -1
- package/dist/{linear-rySziqxM.js → linear-B54UVO1I.js} +36 -36
- package/dist/{linear-rySziqxM.js.map → linear-B54UVO1I.js.map} +1 -1
- package/dist/linear-C5ea0WOA.cjs +2 -0
- package/dist/{linear-Ck5hTmin.cjs.map → linear-C5ea0WOA.cjs.map} +1 -1
- package/dist/markdown.css +1 -1
- package/dist/{mermaid-parser.core-DdgAu_8I.js → mermaid-parser.core-CRCSS3x9.js} +12 -12
- package/dist/{mermaid-parser.core-DdgAu_8I.js.map → mermaid-parser.core-CRCSS3x9.js.map} +1 -1
- package/dist/{mermaid-parser.core-5P84tW26.cjs → mermaid-parser.core-DKlKJJeH.cjs} +3 -3
- package/dist/{mermaid-parser.core-5P84tW26.cjs.map → mermaid-parser.core-DKlKJJeH.cjs.map} +1 -1
- package/dist/{mindmap-definition-VGOIOE7T-DUR7ZFmn.js → mindmap-definition-VGOIOE7T-DJDrsyKM.js} +18 -18
- package/dist/{mindmap-definition-VGOIOE7T-DUR7ZFmn.js.map → mindmap-definition-VGOIOE7T-DJDrsyKM.js.map} +1 -1
- package/dist/{mindmap-definition-VGOIOE7T-DRqIC1aB.cjs → mindmap-definition-VGOIOE7T-_CT3r7tc.cjs} +2 -2
- package/dist/{mindmap-definition-VGOIOE7T-DRqIC1aB.cjs.map → mindmap-definition-VGOIOE7T-_CT3r7tc.cjs.map} +1 -1
- package/dist/packet-BFZMPI3H-Cf0CxnNc.js +6 -0
- package/dist/packet-BFZMPI3H-Cf0CxnNc.js.map +1 -0
- package/dist/{packet-BFZMPI3H--8xo99vs.cjs → packet-BFZMPI3H-UE0TInBh.cjs} +2 -2
- package/dist/packet-BFZMPI3H-UE0TInBh.cjs.map +1 -0
- package/dist/{pie-7BOR55EZ-DMvSDGfH.cjs → pie-7BOR55EZ-D5N4uISY.cjs} +2 -2
- package/dist/pie-7BOR55EZ-D5N4uISY.cjs.map +1 -0
- package/dist/pie-7BOR55EZ-DHnihBQw.js +6 -0
- package/dist/pie-7BOR55EZ-DHnihBQw.js.map +1 -0
- package/dist/{pieDiagram-ADFJNKIX-BHrTl2Ns.js → pieDiagram-ADFJNKIX-Cgyhv4O2.js} +40 -40
- package/dist/{pieDiagram-ADFJNKIX-BHrTl2Ns.js.map → pieDiagram-ADFJNKIX-Cgyhv4O2.js.map} +1 -1
- package/dist/pieDiagram-ADFJNKIX-DYdkLVI8.cjs +31 -0
- package/dist/{pieDiagram-ADFJNKIX-D3u8fH01.cjs.map → pieDiagram-ADFJNKIX-DYdkLVI8.cjs.map} +1 -1
- package/dist/{quadrantDiagram-AYHSOK5B-Dbi7OKEt.js → quadrantDiagram-AYHSOK5B-4egcx5Ji.js} +3 -3
- package/dist/{quadrantDiagram-AYHSOK5B-Dbi7OKEt.js.map → quadrantDiagram-AYHSOK5B-4egcx5Ji.js.map} +1 -1
- package/dist/{quadrantDiagram-AYHSOK5B-C2Bzy_90.cjs → quadrantDiagram-AYHSOK5B-CdBtnCoL.cjs} +2 -2
- package/dist/{quadrantDiagram-AYHSOK5B-C2Bzy_90.cjs.map → quadrantDiagram-AYHSOK5B-CdBtnCoL.cjs.map} +1 -1
- package/dist/radar-NHE76QYJ-BK_NFT-s.js +6 -0
- package/dist/radar-NHE76QYJ-BK_NFT-s.js.map +1 -0
- package/dist/{radar-NHE76QYJ-Cc5Nvs_h.cjs → radar-NHE76QYJ-BLam0moQ.cjs} +2 -2
- package/dist/radar-NHE76QYJ-BLam0moQ.cjs.map +1 -0
- package/dist/remark-zenn-message-BJj3ceML.cjs +2 -0
- package/dist/remark-zenn-message-BJj3ceML.cjs.map +1 -0
- package/dist/remark-zenn-message-D9xkldEG.js +384 -0
- package/dist/remark-zenn-message-D9xkldEG.js.map +1 -0
- package/dist/{requirementDiagram-UZGBJVZJ-CC6A_LQI.cjs → requirementDiagram-UZGBJVZJ-BqaYFBy4.cjs} +2 -2
- package/dist/{requirementDiagram-UZGBJVZJ-CC6A_LQI.cjs.map → requirementDiagram-UZGBJVZJ-BqaYFBy4.cjs.map} +1 -1
- package/dist/{requirementDiagram-UZGBJVZJ-B7DlOlwl.js → requirementDiagram-UZGBJVZJ-Bvt1sD5v.js} +6 -6
- package/dist/{requirementDiagram-UZGBJVZJ-B7DlOlwl.js.map → requirementDiagram-UZGBJVZJ-Bvt1sD5v.js.map} +1 -1
- package/dist/sankeyDiagram-TZEHDZUN-B8g4psMF.cjs +11 -0
- package/dist/{sankeyDiagram-TZEHDZUN-BnHCo-Mn.cjs.map → sankeyDiagram-TZEHDZUN-B8g4psMF.cjs.map} +1 -1
- package/dist/{sankeyDiagram-TZEHDZUN-DpEUf9Vo.js → sankeyDiagram-TZEHDZUN-DN9oPLeV.js} +30 -30
- package/dist/{sankeyDiagram-TZEHDZUN-DpEUf9Vo.js.map → sankeyDiagram-TZEHDZUN-DN9oPLeV.js.map} +1 -1
- package/dist/{sequenceDiagram-WL72ISMW-CjEh0r36.js → sequenceDiagram-WL72ISMW-BPNbnK-H.js} +30 -30
- package/dist/{sequenceDiagram-WL72ISMW-CjEh0r36.js.map → sequenceDiagram-WL72ISMW-BPNbnK-H.js.map} +1 -1
- package/dist/{sequenceDiagram-WL72ISMW-Bl6_BUzR.cjs → sequenceDiagram-WL72ISMW-BvgLSCB3.cjs} +2 -2
- package/dist/{sequenceDiagram-WL72ISMW-Bl6_BUzR.cjs.map → sequenceDiagram-WL72ISMW-BvgLSCB3.cjs.map} +1 -1
- package/dist/src/cli.d.ts +0 -1
- package/dist/src/components/NodesRenderer.d.ts +1 -2
- package/dist/src/components/NodesRenderer.d.ts.map +1 -1
- package/dist/src/components/mdastNodes/HTMLBlockContainerNode.d.ts +26 -0
- package/dist/src/components/mdastNodes/HTMLBlockContainerNode.d.ts.map +1 -0
- package/dist/src/components/mdastNodes/HTMLNode.d.ts.map +1 -1
- package/dist/src/components/mdastNodes/ZennDetailsNode.d.ts.map +1 -1
- package/dist/src/components/mdastNodes/ZennMessageNode.d.ts.map +1 -1
- package/dist/src/components/plugins/DifyIFramePlugin.d.ts.map +1 -1
- package/dist/src/index.client.d.ts +41 -0
- package/dist/src/index.client.d.ts.map +1 -0
- package/dist/src/index.d.ts +1 -48
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.server.d.ts +9 -0
- package/dist/src/index.server.d.ts.map +1 -0
- package/dist/src/plugins/fetchSiteMetadata.d.ts.map +1 -1
- package/dist/src/plugins/remark-block-link-metadata.d.ts.map +1 -1
- package/dist/src/plugins/remark-html-in-html.d.ts.map +1 -1
- package/dist/src/plugins/{remark-import-directive.async.d.ts → remark-import-directive.async.server.d.ts} +1 -1
- package/dist/src/plugins/remark-import-directive.async.server.d.ts.map +1 -0
- package/dist/src/plugins/remark-resolve-uri.async.d.ts.map +1 -1
- package/dist/src/plugins/remark-unwrap-block-html.d.ts +8 -0
- package/dist/src/plugins/remark-unwrap-block-html.d.ts.map +1 -0
- package/dist/src/plugins/remark-zenn-message.d.ts.map +1 -1
- package/dist/src/plugins/transformUri.async.server.d.ts.map +1 -1
- package/dist/src/remarkProcessor.server.d.ts.map +1 -1
- package/dist/src/utils/simple-logger.d.ts +98 -0
- package/dist/src/utils/simple-logger.d.ts.map +1 -0
- package/dist/stateDiagram-FKZM4ZOC-CE-teJok.cjs +2 -0
- package/dist/{stateDiagram-FKZM4ZOC-DKdLEfTU.cjs.map → stateDiagram-FKZM4ZOC-CE-teJok.cjs.map} +1 -1
- package/dist/{stateDiagram-FKZM4ZOC-DSb4cefI.js → stateDiagram-FKZM4ZOC-D0XVXerq.js} +16 -16
- package/dist/{stateDiagram-FKZM4ZOC-DSb4cefI.js.map → stateDiagram-FKZM4ZOC-D0XVXerq.js.map} +1 -1
- package/dist/stateDiagram-v2-4FDKWEC3-BhT2kIeU.cjs +2 -0
- package/dist/{stateDiagram-v2-4FDKWEC3-BYtBH478.cjs.map → stateDiagram-v2-4FDKWEC3-BhT2kIeU.cjs.map} +1 -1
- package/dist/{stateDiagram-v2-4FDKWEC3-ByfhcH6w.js → stateDiagram-v2-4FDKWEC3-COdGK5g3.js} +3 -3
- package/dist/{stateDiagram-v2-4FDKWEC3-ByfhcH6w.js.map → stateDiagram-v2-4FDKWEC3-COdGK5g3.js.map} +1 -1
- package/dist/styles/markdown.css +1 -1
- package/dist/{timeline-definition-IT6M3QCI-D_WhTqG-.js → timeline-definition-IT6M3QCI-C8YV5f2Z.js} +141 -141
- package/dist/{timeline-definition-IT6M3QCI-D_WhTqG-.js.map → timeline-definition-IT6M3QCI-C8YV5f2Z.js.map} +1 -1
- package/dist/{timeline-definition-IT6M3QCI-B1leptlP.cjs → timeline-definition-IT6M3QCI-OOGU6-EM.cjs} +15 -15
- package/dist/{timeline-definition-IT6M3QCI-B1leptlP.cjs.map → timeline-definition-IT6M3QCI-OOGU6-EM.cjs.map} +1 -1
- package/dist/{treemap-KMMF4GRG-C3kLUDBv.cjs → treemap-KMMF4GRG-CSVka7h1.cjs} +2 -2
- package/dist/treemap-KMMF4GRG-CSVka7h1.cjs.map +1 -0
- package/dist/treemap-KMMF4GRG-SQDrdaKE.js +6 -0
- package/dist/treemap-KMMF4GRG-SQDrdaKE.js.map +1 -0
- package/dist/vite.config.d.ts.map +1 -1
- package/dist/{xychartDiagram-PRI3JC2R-DavmnzBp.js → xychartDiagram-PRI3JC2R-BAGOH5Jc.js} +37 -37
- package/dist/{xychartDiagram-PRI3JC2R-DavmnzBp.js.map → xychartDiagram-PRI3JC2R-BAGOH5Jc.js.map} +1 -1
- package/dist/{xychartDiagram-PRI3JC2R-ClYujusC.cjs → xychartDiagram-PRI3JC2R-p1LajfzD.cjs} +2 -2
- package/dist/{xychartDiagram-PRI3JC2R-ClYujusC.cjs.map → xychartDiagram-PRI3JC2R-p1LajfzD.cjs.map} +1 -1
- package/package.json +38 -27
- package/dist/_basePickBy-CJeGUXFc.cjs +0 -2
- package/dist/_basePickBy-DGJ-oAbP.js +0 -152
- package/dist/_baseUniq-DmmwqgFi.cjs +0 -2
- package/dist/arc-DAUA8YnG.cjs +0 -2
- package/dist/arc-Do8CANbr.js +0 -84
- package/dist/architecture-U656AL7Q-Bk_BCN3G.cjs.map +0 -1
- package/dist/architecture-U656AL7Q-Brw03iK0.js +0 -6
- package/dist/architecture-U656AL7Q-Brw03iK0.js.map +0 -1
- package/dist/architectureDiagram-VXUJARFQ-eU-3tnCG.cjs +0 -37
- package/dist/channel-BaCsO_0A.cjs +0 -2
- package/dist/channel-KAvJVFiL.js +0 -6
- package/dist/chunk-4BX2VUAB-CNm_p9u2.cjs +0 -2
- package/dist/chunk-55IACEB6-yuqRdS6I.cjs +0 -2
- package/dist/chunk-QN33PNHL-D02O-uMO.cjs +0 -2
- package/dist/chunk-QN33PNHL-hzQ0yPiA.js +0 -20
- package/dist/chunk-QZHKN3VN-BmkTtKro.cjs +0 -2
- package/dist/chunk-TZMSLE5B-kcQjV4u6.cjs +0 -2
- package/dist/classDiagram-2ON5EDUG-D8v286nZ.cjs +0 -2
- package/dist/classDiagram-v2-WZHVMYZB-D8v286nZ.cjs +0 -2
- package/dist/clone-BxPvQEOl.js +0 -9
- package/dist/clone-Qa8ZMMKU.cjs +0 -2
- package/dist/cose-bilkent-S5V4N54A-BJ3wg7KS.cjs +0 -2
- package/dist/dagre-6UL2VRFP-BDyQ7zKw.cjs +0 -5
- package/dist/diagram-PSM6KHXK-u5RdYoub.cjs +0 -25
- package/dist/diagram-QEK2KX5R-D1cueJAA.cjs +0 -44
- package/dist/diagram-S2PKOQOG-DpAD-cB_.cjs +0 -25
- package/dist/ganttDiagram-JELNMOA3-Geq6x747.cjs +0 -268
- package/dist/gitGraph-F6HP7TQM-BeOJ-IAj.cjs.map +0 -1
- package/dist/gitGraph-F6HP7TQM-CxoMWXoZ.js +0 -6
- package/dist/gitGraph-F6HP7TQM-CxoMWXoZ.js.map +0 -1
- package/dist/gitGraphDiagram-NY62KEGX-DzsNlXbq.cjs +0 -66
- package/dist/graph-afCf5ZM1.cjs +0 -2
- package/dist/index-CPFTnxie.cjs.map +0 -1
- package/dist/index-DBVR6GYe.js.map +0 -1
- package/dist/info-NVLQJR56-BkEWtnrf.js +0 -6
- package/dist/info-NVLQJR56-BkEWtnrf.js.map +0 -1
- package/dist/info-NVLQJR56-zgrtE1eV.cjs.map +0 -1
- package/dist/infoDiagram-WHAUD3N6-DZlGk8Eu.js +0 -25
- package/dist/infoDiagram-WHAUD3N6-e_6Fu7A3.cjs +0 -3
- package/dist/layout-CQ55vGEs.cjs +0 -2
- package/dist/linear-Ck5hTmin.cjs +0 -2
- package/dist/packet-BFZMPI3H--8xo99vs.cjs.map +0 -1
- package/dist/packet-BFZMPI3H-BiLhYuSA.js +0 -6
- package/dist/packet-BFZMPI3H-BiLhYuSA.js.map +0 -1
- package/dist/pie-7BOR55EZ-DMvSDGfH.cjs.map +0 -1
- package/dist/pie-7BOR55EZ-Dsi8HblZ.js +0 -6
- package/dist/pie-7BOR55EZ-Dsi8HblZ.js.map +0 -1
- package/dist/pieDiagram-ADFJNKIX-D3u8fH01.cjs +0 -31
- package/dist/radar-NHE76QYJ-Cc5Nvs_h.cjs.map +0 -1
- package/dist/radar-NHE76QYJ-tUFyopn8.js +0 -6
- package/dist/radar-NHE76QYJ-tUFyopn8.js.map +0 -1
- package/dist/sankeyDiagram-TZEHDZUN-BnHCo-Mn.cjs +0 -11
- package/dist/src/plugins/remark-import-directive.async.d.ts.map +0 -1
- package/dist/stateDiagram-FKZM4ZOC-DKdLEfTU.cjs +0 -2
- package/dist/stateDiagram-v2-4FDKWEC3-BYtBH478.cjs +0 -2
- package/dist/treemap-KMMF4GRG-C3kLUDBv.cjs.map +0 -1
- package/dist/treemap-KMMF4GRG-Dp0HUz7N.js +0 -6
- package/dist/treemap-KMMF4GRG-Dp0HUz7N.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-afCf5ZM1.cjs","sources":["../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/union.js","../../../node_modules/.pnpm/dagre-d3-es@7.0.13/node_modules/dagre-d3-es/src/graphlib/graph.js"],"sourcesContent":["import baseFlatten from './_baseFlatten.js';\nimport baseRest from './_baseRest.js';\nimport baseUniq from './_baseUniq.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\n\n/**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\nvar union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n});\n\nexport default union;\n","import * as _ from 'lodash-es';\n\nvar DEFAULT_EDGE_NAME = '\\x00';\nvar GRAPH_NODE = '\\x00';\nvar EDGE_KEY_DELIM = '\\x01';\n\n// Implementation notes:\n//\n// * Node id query functions should return string ids for the nodes\n// * Edge id query functions should return an \"edgeObj\", edge object, that is\n// composed of enough information to uniquely identify an edge: {v, w, name}.\n// * Internally we use an \"edgeId\", a stringified form of the edgeObj, to\n// reference edges. This is because we need a performant way to look these\n// edges up and, object properties, which have string keys, are the closest\n// we're going to get to a performant hashtable in JavaScript.\n\n// Implementation notes:\n//\n// * Node id query functions should return string ids for the nodes\n// * Edge id query functions should return an \"edgeObj\", edge object, that is\n// composed of enough information to uniquely identify an edge: {v, w, name}.\n// * Internally we use an \"edgeId\", a stringified form of the edgeObj, to\n// reference edges. This is because we need a performant way to look these\n// edges up and, object properties, which have string keys, are the closest\n// we're going to get to a performant hashtable in JavaScript.\nexport class Graph {\n constructor(opts = {}) {\n this._isDirected = Object.prototype.hasOwnProperty.call(opts, 'directed')\n ? opts.directed\n : true;\n this._isMultigraph = Object.prototype.hasOwnProperty.call(opts, 'multigraph')\n ? opts.multigraph\n : false;\n this._isCompound = Object.prototype.hasOwnProperty.call(opts, 'compound')\n ? opts.compound\n : false;\n\n // Label for the graph itself\n this._label = undefined;\n\n // Defaults to be set when creating a new node\n this._defaultNodeLabelFn = _.constant(undefined);\n\n // Defaults to be set when creating a new edge\n this._defaultEdgeLabelFn = _.constant(undefined);\n\n // v -> label\n this._nodes = {};\n\n if (this._isCompound) {\n // v -> parent\n this._parent = {};\n\n // v -> children\n this._children = {};\n this._children[GRAPH_NODE] = {};\n }\n\n // v -> edgeObj\n this._in = {};\n\n // u -> v -> Number\n this._preds = {};\n\n // v -> edgeObj\n this._out = {};\n\n // v -> w -> Number\n this._sucs = {};\n\n // e -> edgeObj\n this._edgeObjs = {};\n\n // e -> label\n this._edgeLabels = {};\n }\n /* === Graph functions ========= */\n isDirected() {\n return this._isDirected;\n }\n isMultigraph() {\n return this._isMultigraph;\n }\n isCompound() {\n return this._isCompound;\n }\n setGraph(label) {\n this._label = label;\n return this;\n }\n graph() {\n return this._label;\n }\n /* === Node functions ========== */\n setDefaultNodeLabel(newDefault) {\n if (!_.isFunction(newDefault)) {\n newDefault = _.constant(newDefault);\n }\n this._defaultNodeLabelFn = newDefault;\n return this;\n }\n nodeCount() {\n return this._nodeCount;\n }\n nodes() {\n return _.keys(this._nodes);\n }\n sources() {\n var self = this;\n return _.filter(this.nodes(), function (v) {\n return _.isEmpty(self._in[v]);\n });\n }\n sinks() {\n var self = this;\n return _.filter(this.nodes(), function (v) {\n return _.isEmpty(self._out[v]);\n });\n }\n setNodes(vs, value) {\n var args = arguments;\n var self = this;\n _.each(vs, function (v) {\n if (args.length > 1) {\n self.setNode(v, value);\n } else {\n self.setNode(v);\n }\n });\n return this;\n }\n setNode(v, value) {\n if (Object.prototype.hasOwnProperty.call(this._nodes, v)) {\n if (arguments.length > 1) {\n this._nodes[v] = value;\n }\n return this;\n }\n\n // @ts-expect-error\n this._nodes[v] = arguments.length > 1 ? value : this._defaultNodeLabelFn(v);\n if (this._isCompound) {\n this._parent[v] = GRAPH_NODE;\n this._children[v] = {};\n this._children[GRAPH_NODE][v] = true;\n }\n this._in[v] = {};\n this._preds[v] = {};\n this._out[v] = {};\n this._sucs[v] = {};\n ++this._nodeCount;\n return this;\n }\n node(v) {\n return this._nodes[v];\n }\n hasNode(v) {\n return Object.prototype.hasOwnProperty.call(this._nodes, v);\n }\n removeNode(v) {\n if (Object.prototype.hasOwnProperty.call(this._nodes, v)) {\n var removeEdge = (e) => this.removeEdge(this._edgeObjs[e]);\n delete this._nodes[v];\n if (this._isCompound) {\n this._removeFromParentsChildList(v);\n delete this._parent[v];\n _.each(this.children(v), (child) => {\n this.setParent(child);\n });\n delete this._children[v];\n }\n _.each(_.keys(this._in[v]), removeEdge);\n delete this._in[v];\n delete this._preds[v];\n _.each(_.keys(this._out[v]), removeEdge);\n delete this._out[v];\n delete this._sucs[v];\n --this._nodeCount;\n }\n return this;\n }\n setParent(v, parent) {\n if (!this._isCompound) {\n throw new Error('Cannot set parent in a non-compound graph');\n }\n\n if (_.isUndefined(parent)) {\n parent = GRAPH_NODE;\n } else {\n // Coerce parent to string\n parent += '';\n for (var ancestor = parent; !_.isUndefined(ancestor); ancestor = this.parent(ancestor)) {\n if (ancestor === v) {\n throw new Error('Setting ' + parent + ' as parent of ' + v + ' would create a cycle');\n }\n }\n\n this.setNode(parent);\n }\n\n this.setNode(v);\n this._removeFromParentsChildList(v);\n this._parent[v] = parent;\n this._children[parent][v] = true;\n return this;\n }\n _removeFromParentsChildList(v) {\n delete this._children[this._parent[v]][v];\n }\n parent(v) {\n if (this._isCompound) {\n var parent = this._parent[v];\n if (parent !== GRAPH_NODE) {\n return parent;\n }\n }\n }\n children(v) {\n if (_.isUndefined(v)) {\n v = GRAPH_NODE;\n }\n\n if (this._isCompound) {\n var children = this._children[v];\n if (children) {\n return _.keys(children);\n }\n } else if (v === GRAPH_NODE) {\n return this.nodes();\n } else if (this.hasNode(v)) {\n return [];\n }\n }\n predecessors(v) {\n var predsV = this._preds[v];\n if (predsV) {\n return _.keys(predsV);\n }\n }\n successors(v) {\n var sucsV = this._sucs[v];\n if (sucsV) {\n return _.keys(sucsV);\n }\n }\n neighbors(v) {\n var preds = this.predecessors(v);\n if (preds) {\n return _.union(preds, this.successors(v));\n }\n }\n isLeaf(v) {\n var neighbors;\n if (this.isDirected()) {\n neighbors = this.successors(v);\n } else {\n neighbors = this.neighbors(v);\n }\n return neighbors.length === 0;\n }\n filterNodes(filter) {\n // @ts-expect-error\n var copy = new this.constructor({\n directed: this._isDirected,\n multigraph: this._isMultigraph,\n compound: this._isCompound,\n });\n\n copy.setGraph(this.graph());\n\n var self = this;\n _.each(this._nodes, function (value, v) {\n if (filter(v)) {\n copy.setNode(v, value);\n }\n });\n\n _.each(this._edgeObjs, function (e) {\n // @ts-expect-error\n if (copy.hasNode(e.v) && copy.hasNode(e.w)) {\n copy.setEdge(e, self.edge(e));\n }\n });\n\n var parents = {};\n function findParent(v) {\n var parent = self.parent(v);\n if (parent === undefined || copy.hasNode(parent)) {\n parents[v] = parent;\n return parent;\n } else if (parent in parents) {\n return parents[parent];\n } else {\n return findParent(parent);\n }\n }\n\n if (this._isCompound) {\n _.each(copy.nodes(), function (v) {\n copy.setParent(v, findParent(v));\n });\n }\n\n return copy;\n }\n /* === Edge functions ========== */\n setDefaultEdgeLabel(newDefault) {\n if (!_.isFunction(newDefault)) {\n newDefault = _.constant(newDefault);\n }\n this._defaultEdgeLabelFn = newDefault;\n return this;\n }\n edgeCount() {\n return this._edgeCount;\n }\n edges() {\n return _.values(this._edgeObjs);\n }\n setPath(vs, value) {\n var self = this;\n var args = arguments;\n _.reduce(vs, function (v, w) {\n if (args.length > 1) {\n self.setEdge(v, w, value);\n } else {\n self.setEdge(v, w);\n }\n return w;\n });\n return this;\n }\n /*\n * setEdge(v, w, [value, [name]])\n * setEdge({ v, w, [name] }, [value])\n */\n setEdge() {\n var v, w, name, value;\n var valueSpecified = false;\n var arg0 = arguments[0];\n\n if (typeof arg0 === 'object' && arg0 !== null && 'v' in arg0) {\n v = arg0.v;\n w = arg0.w;\n name = arg0.name;\n if (arguments.length === 2) {\n value = arguments[1];\n valueSpecified = true;\n }\n } else {\n v = arg0;\n w = arguments[1];\n name = arguments[3];\n if (arguments.length > 2) {\n value = arguments[2];\n valueSpecified = true;\n }\n }\n\n v = '' + v;\n w = '' + w;\n if (!_.isUndefined(name)) {\n name = '' + name;\n }\n\n var e = edgeArgsToId(this._isDirected, v, w, name);\n if (Object.prototype.hasOwnProperty.call(this._edgeLabels, e)) {\n if (valueSpecified) {\n this._edgeLabels[e] = value;\n }\n return this;\n }\n\n if (!_.isUndefined(name) && !this._isMultigraph) {\n throw new Error('Cannot set a named edge when isMultigraph = false');\n }\n\n // It didn't exist, so we need to create it.\n // First ensure the nodes exist.\n this.setNode(v);\n this.setNode(w);\n\n // @ts-expect-error\n this._edgeLabels[e] = valueSpecified ? value : this._defaultEdgeLabelFn(v, w, name);\n\n var edgeObj = edgeArgsToObj(this._isDirected, v, w, name);\n // Ensure we add undirected edges in a consistent way.\n v = edgeObj.v;\n w = edgeObj.w;\n\n Object.freeze(edgeObj);\n this._edgeObjs[e] = edgeObj;\n incrementOrInitEntry(this._preds[w], v);\n incrementOrInitEntry(this._sucs[v], w);\n this._in[w][e] = edgeObj;\n this._out[v][e] = edgeObj;\n this._edgeCount++;\n return this;\n }\n edge(v, w, name) {\n var e =\n arguments.length === 1\n ? edgeObjToId(this._isDirected, arguments[0])\n : edgeArgsToId(this._isDirected, v, w, name);\n return this._edgeLabels[e];\n }\n hasEdge(v, w, name) {\n var e =\n arguments.length === 1\n ? edgeObjToId(this._isDirected, arguments[0])\n : edgeArgsToId(this._isDirected, v, w, name);\n return Object.prototype.hasOwnProperty.call(this._edgeLabels, e);\n }\n removeEdge(v, w, name) {\n var e =\n arguments.length === 1\n ? edgeObjToId(this._isDirected, arguments[0])\n : edgeArgsToId(this._isDirected, v, w, name);\n var edge = this._edgeObjs[e];\n if (edge) {\n v = edge.v;\n w = edge.w;\n delete this._edgeLabels[e];\n delete this._edgeObjs[e];\n decrementOrRemoveEntry(this._preds[w], v);\n decrementOrRemoveEntry(this._sucs[v], w);\n delete this._in[w][e];\n delete this._out[v][e];\n this._edgeCount--;\n }\n return this;\n }\n inEdges(v, u) {\n var inV = this._in[v];\n if (inV) {\n var edges = _.values(inV);\n if (!u) {\n return edges;\n }\n return _.filter(edges, function (edge) {\n return edge.v === u;\n });\n }\n }\n outEdges(v, w) {\n var outV = this._out[v];\n if (outV) {\n var edges = _.values(outV);\n if (!w) {\n return edges;\n }\n return _.filter(edges, function (edge) {\n return edge.w === w;\n });\n }\n }\n nodeEdges(v, w) {\n var inEdges = this.inEdges(v, w);\n if (inEdges) {\n return inEdges.concat(this.outEdges(v, w));\n }\n }\n}\n\n/* Number of nodes in the graph. Should only be changed by the implementation. */\nGraph.prototype._nodeCount = 0;\n\n/* Number of edges in the graph. Should only be changed by the implementation. */\nGraph.prototype._edgeCount = 0;\n\nfunction incrementOrInitEntry(map, k) {\n if (map[k]) {\n map[k]++;\n } else {\n map[k] = 1;\n }\n}\n\nfunction decrementOrRemoveEntry(map, k) {\n if (!--map[k]) {\n delete map[k];\n }\n}\n\nfunction edgeArgsToId(isDirected, v_, w_, name) {\n var v = '' + v_;\n var w = '' + w_;\n if (!isDirected && v > w) {\n var tmp = v;\n v = w;\n w = tmp;\n }\n return v + EDGE_KEY_DELIM + w + EDGE_KEY_DELIM + (_.isUndefined(name) ? DEFAULT_EDGE_NAME : name);\n}\n\nfunction edgeArgsToObj(isDirected, v_, w_, name) {\n var v = '' + v_;\n var w = '' + w_;\n if (!isDirected && v > w) {\n var tmp = v;\n v = w;\n w = tmp;\n }\n var edgeObj = { v: v, w: w };\n if (name) {\n edgeObj.name = name;\n }\n return edgeObj;\n}\n\nfunction edgeObjToId(isDirected, edgeObj) {\n return edgeArgsToId(isDirected, edgeObj.v, edgeObj.w, edgeObj.name);\n}\n"],"names":["union","baseRest","arrays","baseUniq","baseFlatten","isArrayLikeObject","DEFAULT_EDGE_NAME","GRAPH_NODE","EDGE_KEY_DELIM","Graph","opts","_.constant","label","newDefault","_.isFunction","_.keys","self","_.filter","v","_.isEmpty","vs","value","args","_.each","removeEdge","e","child","parent","_.isUndefined","ancestor","children","predsV","sucsV","preds","_.union","neighbors","filter","copy","parents","findParent","_.values","_.reduce","w","name","valueSpecified","arg0","edgeArgsToId","edgeObj","edgeArgsToObj","incrementOrInitEntry","edgeObjToId","edge","decrementOrRemoveEntry","u","inV","edges","outV","inEdges","map","k","isDirected","v_","w_","tmp"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"graph-CareAXtQ.cjs","sources":["../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/union.js","../../../node_modules/.pnpm/dagre-d3-es@7.0.13/node_modules/dagre-d3-es/src/graphlib/graph.js"],"sourcesContent":["import baseFlatten from './_baseFlatten.js';\nimport baseRest from './_baseRest.js';\nimport baseUniq from './_baseUniq.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\n\n/**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\nvar union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n});\n\nexport default union;\n","import * as _ from 'lodash-es';\n\nvar DEFAULT_EDGE_NAME = '\\x00';\nvar GRAPH_NODE = '\\x00';\nvar EDGE_KEY_DELIM = '\\x01';\n\n// Implementation notes:\n//\n// * Node id query functions should return string ids for the nodes\n// * Edge id query functions should return an \"edgeObj\", edge object, that is\n// composed of enough information to uniquely identify an edge: {v, w, name}.\n// * Internally we use an \"edgeId\", a stringified form of the edgeObj, to\n// reference edges. This is because we need a performant way to look these\n// edges up and, object properties, which have string keys, are the closest\n// we're going to get to a performant hashtable in JavaScript.\n\n// Implementation notes:\n//\n// * Node id query functions should return string ids for the nodes\n// * Edge id query functions should return an \"edgeObj\", edge object, that is\n// composed of enough information to uniquely identify an edge: {v, w, name}.\n// * Internally we use an \"edgeId\", a stringified form of the edgeObj, to\n// reference edges. This is because we need a performant way to look these\n// edges up and, object properties, which have string keys, are the closest\n// we're going to get to a performant hashtable in JavaScript.\nexport class Graph {\n constructor(opts = {}) {\n this._isDirected = Object.prototype.hasOwnProperty.call(opts, 'directed')\n ? opts.directed\n : true;\n this._isMultigraph = Object.prototype.hasOwnProperty.call(opts, 'multigraph')\n ? opts.multigraph\n : false;\n this._isCompound = Object.prototype.hasOwnProperty.call(opts, 'compound')\n ? opts.compound\n : false;\n\n // Label for the graph itself\n this._label = undefined;\n\n // Defaults to be set when creating a new node\n this._defaultNodeLabelFn = _.constant(undefined);\n\n // Defaults to be set when creating a new edge\n this._defaultEdgeLabelFn = _.constant(undefined);\n\n // v -> label\n this._nodes = {};\n\n if (this._isCompound) {\n // v -> parent\n this._parent = {};\n\n // v -> children\n this._children = {};\n this._children[GRAPH_NODE] = {};\n }\n\n // v -> edgeObj\n this._in = {};\n\n // u -> v -> Number\n this._preds = {};\n\n // v -> edgeObj\n this._out = {};\n\n // v -> w -> Number\n this._sucs = {};\n\n // e -> edgeObj\n this._edgeObjs = {};\n\n // e -> label\n this._edgeLabels = {};\n }\n /* === Graph functions ========= */\n isDirected() {\n return this._isDirected;\n }\n isMultigraph() {\n return this._isMultigraph;\n }\n isCompound() {\n return this._isCompound;\n }\n setGraph(label) {\n this._label = label;\n return this;\n }\n graph() {\n return this._label;\n }\n /* === Node functions ========== */\n setDefaultNodeLabel(newDefault) {\n if (!_.isFunction(newDefault)) {\n newDefault = _.constant(newDefault);\n }\n this._defaultNodeLabelFn = newDefault;\n return this;\n }\n nodeCount() {\n return this._nodeCount;\n }\n nodes() {\n return _.keys(this._nodes);\n }\n sources() {\n var self = this;\n return _.filter(this.nodes(), function (v) {\n return _.isEmpty(self._in[v]);\n });\n }\n sinks() {\n var self = this;\n return _.filter(this.nodes(), function (v) {\n return _.isEmpty(self._out[v]);\n });\n }\n setNodes(vs, value) {\n var args = arguments;\n var self = this;\n _.each(vs, function (v) {\n if (args.length > 1) {\n self.setNode(v, value);\n } else {\n self.setNode(v);\n }\n });\n return this;\n }\n setNode(v, value) {\n if (Object.prototype.hasOwnProperty.call(this._nodes, v)) {\n if (arguments.length > 1) {\n this._nodes[v] = value;\n }\n return this;\n }\n\n // @ts-expect-error\n this._nodes[v] = arguments.length > 1 ? value : this._defaultNodeLabelFn(v);\n if (this._isCompound) {\n this._parent[v] = GRAPH_NODE;\n this._children[v] = {};\n this._children[GRAPH_NODE][v] = true;\n }\n this._in[v] = {};\n this._preds[v] = {};\n this._out[v] = {};\n this._sucs[v] = {};\n ++this._nodeCount;\n return this;\n }\n node(v) {\n return this._nodes[v];\n }\n hasNode(v) {\n return Object.prototype.hasOwnProperty.call(this._nodes, v);\n }\n removeNode(v) {\n if (Object.prototype.hasOwnProperty.call(this._nodes, v)) {\n var removeEdge = (e) => this.removeEdge(this._edgeObjs[e]);\n delete this._nodes[v];\n if (this._isCompound) {\n this._removeFromParentsChildList(v);\n delete this._parent[v];\n _.each(this.children(v), (child) => {\n this.setParent(child);\n });\n delete this._children[v];\n }\n _.each(_.keys(this._in[v]), removeEdge);\n delete this._in[v];\n delete this._preds[v];\n _.each(_.keys(this._out[v]), removeEdge);\n delete this._out[v];\n delete this._sucs[v];\n --this._nodeCount;\n }\n return this;\n }\n setParent(v, parent) {\n if (!this._isCompound) {\n throw new Error('Cannot set parent in a non-compound graph');\n }\n\n if (_.isUndefined(parent)) {\n parent = GRAPH_NODE;\n } else {\n // Coerce parent to string\n parent += '';\n for (var ancestor = parent; !_.isUndefined(ancestor); ancestor = this.parent(ancestor)) {\n if (ancestor === v) {\n throw new Error('Setting ' + parent + ' as parent of ' + v + ' would create a cycle');\n }\n }\n\n this.setNode(parent);\n }\n\n this.setNode(v);\n this._removeFromParentsChildList(v);\n this._parent[v] = parent;\n this._children[parent][v] = true;\n return this;\n }\n _removeFromParentsChildList(v) {\n delete this._children[this._parent[v]][v];\n }\n parent(v) {\n if (this._isCompound) {\n var parent = this._parent[v];\n if (parent !== GRAPH_NODE) {\n return parent;\n }\n }\n }\n children(v) {\n if (_.isUndefined(v)) {\n v = GRAPH_NODE;\n }\n\n if (this._isCompound) {\n var children = this._children[v];\n if (children) {\n return _.keys(children);\n }\n } else if (v === GRAPH_NODE) {\n return this.nodes();\n } else if (this.hasNode(v)) {\n return [];\n }\n }\n predecessors(v) {\n var predsV = this._preds[v];\n if (predsV) {\n return _.keys(predsV);\n }\n }\n successors(v) {\n var sucsV = this._sucs[v];\n if (sucsV) {\n return _.keys(sucsV);\n }\n }\n neighbors(v) {\n var preds = this.predecessors(v);\n if (preds) {\n return _.union(preds, this.successors(v));\n }\n }\n isLeaf(v) {\n var neighbors;\n if (this.isDirected()) {\n neighbors = this.successors(v);\n } else {\n neighbors = this.neighbors(v);\n }\n return neighbors.length === 0;\n }\n filterNodes(filter) {\n // @ts-expect-error\n var copy = new this.constructor({\n directed: this._isDirected,\n multigraph: this._isMultigraph,\n compound: this._isCompound,\n });\n\n copy.setGraph(this.graph());\n\n var self = this;\n _.each(this._nodes, function (value, v) {\n if (filter(v)) {\n copy.setNode(v, value);\n }\n });\n\n _.each(this._edgeObjs, function (e) {\n // @ts-expect-error\n if (copy.hasNode(e.v) && copy.hasNode(e.w)) {\n copy.setEdge(e, self.edge(e));\n }\n });\n\n var parents = {};\n function findParent(v) {\n var parent = self.parent(v);\n if (parent === undefined || copy.hasNode(parent)) {\n parents[v] = parent;\n return parent;\n } else if (parent in parents) {\n return parents[parent];\n } else {\n return findParent(parent);\n }\n }\n\n if (this._isCompound) {\n _.each(copy.nodes(), function (v) {\n copy.setParent(v, findParent(v));\n });\n }\n\n return copy;\n }\n /* === Edge functions ========== */\n setDefaultEdgeLabel(newDefault) {\n if (!_.isFunction(newDefault)) {\n newDefault = _.constant(newDefault);\n }\n this._defaultEdgeLabelFn = newDefault;\n return this;\n }\n edgeCount() {\n return this._edgeCount;\n }\n edges() {\n return _.values(this._edgeObjs);\n }\n setPath(vs, value) {\n var self = this;\n var args = arguments;\n _.reduce(vs, function (v, w) {\n if (args.length > 1) {\n self.setEdge(v, w, value);\n } else {\n self.setEdge(v, w);\n }\n return w;\n });\n return this;\n }\n /*\n * setEdge(v, w, [value, [name]])\n * setEdge({ v, w, [name] }, [value])\n */\n setEdge() {\n var v, w, name, value;\n var valueSpecified = false;\n var arg0 = arguments[0];\n\n if (typeof arg0 === 'object' && arg0 !== null && 'v' in arg0) {\n v = arg0.v;\n w = arg0.w;\n name = arg0.name;\n if (arguments.length === 2) {\n value = arguments[1];\n valueSpecified = true;\n }\n } else {\n v = arg0;\n w = arguments[1];\n name = arguments[3];\n if (arguments.length > 2) {\n value = arguments[2];\n valueSpecified = true;\n }\n }\n\n v = '' + v;\n w = '' + w;\n if (!_.isUndefined(name)) {\n name = '' + name;\n }\n\n var e = edgeArgsToId(this._isDirected, v, w, name);\n if (Object.prototype.hasOwnProperty.call(this._edgeLabels, e)) {\n if (valueSpecified) {\n this._edgeLabels[e] = value;\n }\n return this;\n }\n\n if (!_.isUndefined(name) && !this._isMultigraph) {\n throw new Error('Cannot set a named edge when isMultigraph = false');\n }\n\n // It didn't exist, so we need to create it.\n // First ensure the nodes exist.\n this.setNode(v);\n this.setNode(w);\n\n // @ts-expect-error\n this._edgeLabels[e] = valueSpecified ? value : this._defaultEdgeLabelFn(v, w, name);\n\n var edgeObj = edgeArgsToObj(this._isDirected, v, w, name);\n // Ensure we add undirected edges in a consistent way.\n v = edgeObj.v;\n w = edgeObj.w;\n\n Object.freeze(edgeObj);\n this._edgeObjs[e] = edgeObj;\n incrementOrInitEntry(this._preds[w], v);\n incrementOrInitEntry(this._sucs[v], w);\n this._in[w][e] = edgeObj;\n this._out[v][e] = edgeObj;\n this._edgeCount++;\n return this;\n }\n edge(v, w, name) {\n var e =\n arguments.length === 1\n ? edgeObjToId(this._isDirected, arguments[0])\n : edgeArgsToId(this._isDirected, v, w, name);\n return this._edgeLabels[e];\n }\n hasEdge(v, w, name) {\n var e =\n arguments.length === 1\n ? edgeObjToId(this._isDirected, arguments[0])\n : edgeArgsToId(this._isDirected, v, w, name);\n return Object.prototype.hasOwnProperty.call(this._edgeLabels, e);\n }\n removeEdge(v, w, name) {\n var e =\n arguments.length === 1\n ? edgeObjToId(this._isDirected, arguments[0])\n : edgeArgsToId(this._isDirected, v, w, name);\n var edge = this._edgeObjs[e];\n if (edge) {\n v = edge.v;\n w = edge.w;\n delete this._edgeLabels[e];\n delete this._edgeObjs[e];\n decrementOrRemoveEntry(this._preds[w], v);\n decrementOrRemoveEntry(this._sucs[v], w);\n delete this._in[w][e];\n delete this._out[v][e];\n this._edgeCount--;\n }\n return this;\n }\n inEdges(v, u) {\n var inV = this._in[v];\n if (inV) {\n var edges = _.values(inV);\n if (!u) {\n return edges;\n }\n return _.filter(edges, function (edge) {\n return edge.v === u;\n });\n }\n }\n outEdges(v, w) {\n var outV = this._out[v];\n if (outV) {\n var edges = _.values(outV);\n if (!w) {\n return edges;\n }\n return _.filter(edges, function (edge) {\n return edge.w === w;\n });\n }\n }\n nodeEdges(v, w) {\n var inEdges = this.inEdges(v, w);\n if (inEdges) {\n return inEdges.concat(this.outEdges(v, w));\n }\n }\n}\n\n/* Number of nodes in the graph. Should only be changed by the implementation. */\nGraph.prototype._nodeCount = 0;\n\n/* Number of edges in the graph. Should only be changed by the implementation. */\nGraph.prototype._edgeCount = 0;\n\nfunction incrementOrInitEntry(map, k) {\n if (map[k]) {\n map[k]++;\n } else {\n map[k] = 1;\n }\n}\n\nfunction decrementOrRemoveEntry(map, k) {\n if (!--map[k]) {\n delete map[k];\n }\n}\n\nfunction edgeArgsToId(isDirected, v_, w_, name) {\n var v = '' + v_;\n var w = '' + w_;\n if (!isDirected && v > w) {\n var tmp = v;\n v = w;\n w = tmp;\n }\n return v + EDGE_KEY_DELIM + w + EDGE_KEY_DELIM + (_.isUndefined(name) ? DEFAULT_EDGE_NAME : name);\n}\n\nfunction edgeArgsToObj(isDirected, v_, w_, name) {\n var v = '' + v_;\n var w = '' + w_;\n if (!isDirected && v > w) {\n var tmp = v;\n v = w;\n w = tmp;\n }\n var edgeObj = { v: v, w: w };\n if (name) {\n edgeObj.name = name;\n }\n return edgeObj;\n}\n\nfunction edgeObjToId(isDirected, edgeObj) {\n return edgeArgsToId(isDirected, edgeObj.v, edgeObj.w, edgeObj.name);\n}\n"],"names":["union","baseRest","arrays","baseUniq","baseFlatten","isArrayLikeObject","DEFAULT_EDGE_NAME","GRAPH_NODE","EDGE_KEY_DELIM","Graph","opts","_.constant","label","newDefault","_.isFunction","_.keys","self","_.filter","v","_.isEmpty","vs","value","args","_.each","removeEdge","e","child","parent","_.isUndefined","ancestor","children","predsV","sucsV","preds","_.union","neighbors","filter","copy","parents","findParent","_.values","_.reduce","w","name","valueSpecified","arg0","edgeArgsToId","edgeObj","edgeArgsToObj","incrementOrInitEntry","edgeObjToId","edge","decrementOrRemoveEntry","u","inV","edges","outV","inEdges","map","k","isDirected","v_","w_","tmp"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as v, c as P, k as _, f as g, d, i as l, v as p, r as D } from "./_baseUniq-
|
|
1
|
+
import { b0 as N, b1 as j, b2 as f, b3 as b, b4 as E } from "./createIntentTweetLink-R2TGMXxb.js";
|
|
2
|
+
import { a as v, c as P, k as _, f as g, d, i as l, v as p, r as D } from "./_baseUniq-C4HU9xaT.js";
|
|
3
3
|
var w = N(function(o) {
|
|
4
4
|
return v(P(o, 1, j, !0));
|
|
5
5
|
}), F = "\0", a = "\0", O = "";
|
|
@@ -176,7 +176,7 @@ class L {
|
|
|
176
176
|
throw new Error("Cannot set a named edge when isMultigraph = false");
|
|
177
177
|
this.setNode(e), this.setNode(t), this._edgeLabels[h] = r ? i : this._defaultEdgeLabelFn(e, t, s);
|
|
178
178
|
var u = M(this._isDirected, e, t, s);
|
|
179
|
-
return e = u.v, t = u.w, Object.freeze(u), this._edgeObjs[h] = u,
|
|
179
|
+
return e = u.v, t = u.w, Object.freeze(u), this._edgeObjs[h] = u, y(this._preds[t], e), y(this._sucs[e], t), this._in[t][h] = u, this._out[e][h] = u, this._edgeCount++, this;
|
|
180
180
|
}
|
|
181
181
|
edge(e, t, s) {
|
|
182
182
|
var i = arguments.length === 1 ? m(this._isDirected, arguments[0]) : c(this._isDirected, e, t, s);
|
|
@@ -188,7 +188,7 @@ class L {
|
|
|
188
188
|
}
|
|
189
189
|
removeEdge(e, t, s) {
|
|
190
190
|
var i = arguments.length === 1 ? m(this._isDirected, arguments[0]) : c(this._isDirected, e, t, s), r = this._edgeObjs[i];
|
|
191
|
-
return r && (e = r.v, t = r.w, delete this._edgeLabels[i], delete this._edgeObjs[i],
|
|
191
|
+
return r && (e = r.v, t = r.w, delete this._edgeLabels[i], delete this._edgeObjs[i], C(this._preds[t], e), C(this._sucs[e], t), delete this._in[t][i], delete this._out[e][i], this._edgeCount--), this;
|
|
192
192
|
}
|
|
193
193
|
inEdges(e, t) {
|
|
194
194
|
var s = this._in[e];
|
|
@@ -216,10 +216,10 @@ class L {
|
|
|
216
216
|
}
|
|
217
217
|
L.prototype._nodeCount = 0;
|
|
218
218
|
L.prototype._edgeCount = 0;
|
|
219
|
-
function
|
|
219
|
+
function y(o, e) {
|
|
220
220
|
o[e] ? o[e]++ : o[e] = 1;
|
|
221
221
|
}
|
|
222
|
-
function
|
|
222
|
+
function C(o, e) {
|
|
223
223
|
--o[e] || delete o[e];
|
|
224
224
|
}
|
|
225
225
|
function c(o, e, t, s) {
|
|
@@ -245,4 +245,4 @@ function m(o, e) {
|
|
|
245
245
|
export {
|
|
246
246
|
L as G
|
|
247
247
|
};
|
|
248
|
-
//# sourceMappingURL=graph-
|
|
248
|
+
//# sourceMappingURL=graph-DlYjyX_q.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-BlkDovJY.js","sources":["../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/union.js","../../../node_modules/.pnpm/dagre-d3-es@7.0.13/node_modules/dagre-d3-es/src/graphlib/graph.js"],"sourcesContent":["import baseFlatten from './_baseFlatten.js';\nimport baseRest from './_baseRest.js';\nimport baseUniq from './_baseUniq.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\n\n/**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\nvar union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n});\n\nexport default union;\n","import * as _ from 'lodash-es';\n\nvar DEFAULT_EDGE_NAME = '\\x00';\nvar GRAPH_NODE = '\\x00';\nvar EDGE_KEY_DELIM = '\\x01';\n\n// Implementation notes:\n//\n// * Node id query functions should return string ids for the nodes\n// * Edge id query functions should return an \"edgeObj\", edge object, that is\n// composed of enough information to uniquely identify an edge: {v, w, name}.\n// * Internally we use an \"edgeId\", a stringified form of the edgeObj, to\n// reference edges. This is because we need a performant way to look these\n// edges up and, object properties, which have string keys, are the closest\n// we're going to get to a performant hashtable in JavaScript.\n\n// Implementation notes:\n//\n// * Node id query functions should return string ids for the nodes\n// * Edge id query functions should return an \"edgeObj\", edge object, that is\n// composed of enough information to uniquely identify an edge: {v, w, name}.\n// * Internally we use an \"edgeId\", a stringified form of the edgeObj, to\n// reference edges. This is because we need a performant way to look these\n// edges up and, object properties, which have string keys, are the closest\n// we're going to get to a performant hashtable in JavaScript.\nexport class Graph {\n constructor(opts = {}) {\n this._isDirected = Object.prototype.hasOwnProperty.call(opts, 'directed')\n ? opts.directed\n : true;\n this._isMultigraph = Object.prototype.hasOwnProperty.call(opts, 'multigraph')\n ? opts.multigraph\n : false;\n this._isCompound = Object.prototype.hasOwnProperty.call(opts, 'compound')\n ? opts.compound\n : false;\n\n // Label for the graph itself\n this._label = undefined;\n\n // Defaults to be set when creating a new node\n this._defaultNodeLabelFn = _.constant(undefined);\n\n // Defaults to be set when creating a new edge\n this._defaultEdgeLabelFn = _.constant(undefined);\n\n // v -> label\n this._nodes = {};\n\n if (this._isCompound) {\n // v -> parent\n this._parent = {};\n\n // v -> children\n this._children = {};\n this._children[GRAPH_NODE] = {};\n }\n\n // v -> edgeObj\n this._in = {};\n\n // u -> v -> Number\n this._preds = {};\n\n // v -> edgeObj\n this._out = {};\n\n // v -> w -> Number\n this._sucs = {};\n\n // e -> edgeObj\n this._edgeObjs = {};\n\n // e -> label\n this._edgeLabels = {};\n }\n /* === Graph functions ========= */\n isDirected() {\n return this._isDirected;\n }\n isMultigraph() {\n return this._isMultigraph;\n }\n isCompound() {\n return this._isCompound;\n }\n setGraph(label) {\n this._label = label;\n return this;\n }\n graph() {\n return this._label;\n }\n /* === Node functions ========== */\n setDefaultNodeLabel(newDefault) {\n if (!_.isFunction(newDefault)) {\n newDefault = _.constant(newDefault);\n }\n this._defaultNodeLabelFn = newDefault;\n return this;\n }\n nodeCount() {\n return this._nodeCount;\n }\n nodes() {\n return _.keys(this._nodes);\n }\n sources() {\n var self = this;\n return _.filter(this.nodes(), function (v) {\n return _.isEmpty(self._in[v]);\n });\n }\n sinks() {\n var self = this;\n return _.filter(this.nodes(), function (v) {\n return _.isEmpty(self._out[v]);\n });\n }\n setNodes(vs, value) {\n var args = arguments;\n var self = this;\n _.each(vs, function (v) {\n if (args.length > 1) {\n self.setNode(v, value);\n } else {\n self.setNode(v);\n }\n });\n return this;\n }\n setNode(v, value) {\n if (Object.prototype.hasOwnProperty.call(this._nodes, v)) {\n if (arguments.length > 1) {\n this._nodes[v] = value;\n }\n return this;\n }\n\n // @ts-expect-error\n this._nodes[v] = arguments.length > 1 ? value : this._defaultNodeLabelFn(v);\n if (this._isCompound) {\n this._parent[v] = GRAPH_NODE;\n this._children[v] = {};\n this._children[GRAPH_NODE][v] = true;\n }\n this._in[v] = {};\n this._preds[v] = {};\n this._out[v] = {};\n this._sucs[v] = {};\n ++this._nodeCount;\n return this;\n }\n node(v) {\n return this._nodes[v];\n }\n hasNode(v) {\n return Object.prototype.hasOwnProperty.call(this._nodes, v);\n }\n removeNode(v) {\n if (Object.prototype.hasOwnProperty.call(this._nodes, v)) {\n var removeEdge = (e) => this.removeEdge(this._edgeObjs[e]);\n delete this._nodes[v];\n if (this._isCompound) {\n this._removeFromParentsChildList(v);\n delete this._parent[v];\n _.each(this.children(v), (child) => {\n this.setParent(child);\n });\n delete this._children[v];\n }\n _.each(_.keys(this._in[v]), removeEdge);\n delete this._in[v];\n delete this._preds[v];\n _.each(_.keys(this._out[v]), removeEdge);\n delete this._out[v];\n delete this._sucs[v];\n --this._nodeCount;\n }\n return this;\n }\n setParent(v, parent) {\n if (!this._isCompound) {\n throw new Error('Cannot set parent in a non-compound graph');\n }\n\n if (_.isUndefined(parent)) {\n parent = GRAPH_NODE;\n } else {\n // Coerce parent to string\n parent += '';\n for (var ancestor = parent; !_.isUndefined(ancestor); ancestor = this.parent(ancestor)) {\n if (ancestor === v) {\n throw new Error('Setting ' + parent + ' as parent of ' + v + ' would create a cycle');\n }\n }\n\n this.setNode(parent);\n }\n\n this.setNode(v);\n this._removeFromParentsChildList(v);\n this._parent[v] = parent;\n this._children[parent][v] = true;\n return this;\n }\n _removeFromParentsChildList(v) {\n delete this._children[this._parent[v]][v];\n }\n parent(v) {\n if (this._isCompound) {\n var parent = this._parent[v];\n if (parent !== GRAPH_NODE) {\n return parent;\n }\n }\n }\n children(v) {\n if (_.isUndefined(v)) {\n v = GRAPH_NODE;\n }\n\n if (this._isCompound) {\n var children = this._children[v];\n if (children) {\n return _.keys(children);\n }\n } else if (v === GRAPH_NODE) {\n return this.nodes();\n } else if (this.hasNode(v)) {\n return [];\n }\n }\n predecessors(v) {\n var predsV = this._preds[v];\n if (predsV) {\n return _.keys(predsV);\n }\n }\n successors(v) {\n var sucsV = this._sucs[v];\n if (sucsV) {\n return _.keys(sucsV);\n }\n }\n neighbors(v) {\n var preds = this.predecessors(v);\n if (preds) {\n return _.union(preds, this.successors(v));\n }\n }\n isLeaf(v) {\n var neighbors;\n if (this.isDirected()) {\n neighbors = this.successors(v);\n } else {\n neighbors = this.neighbors(v);\n }\n return neighbors.length === 0;\n }\n filterNodes(filter) {\n // @ts-expect-error\n var copy = new this.constructor({\n directed: this._isDirected,\n multigraph: this._isMultigraph,\n compound: this._isCompound,\n });\n\n copy.setGraph(this.graph());\n\n var self = this;\n _.each(this._nodes, function (value, v) {\n if (filter(v)) {\n copy.setNode(v, value);\n }\n });\n\n _.each(this._edgeObjs, function (e) {\n // @ts-expect-error\n if (copy.hasNode(e.v) && copy.hasNode(e.w)) {\n copy.setEdge(e, self.edge(e));\n }\n });\n\n var parents = {};\n function findParent(v) {\n var parent = self.parent(v);\n if (parent === undefined || copy.hasNode(parent)) {\n parents[v] = parent;\n return parent;\n } else if (parent in parents) {\n return parents[parent];\n } else {\n return findParent(parent);\n }\n }\n\n if (this._isCompound) {\n _.each(copy.nodes(), function (v) {\n copy.setParent(v, findParent(v));\n });\n }\n\n return copy;\n }\n /* === Edge functions ========== */\n setDefaultEdgeLabel(newDefault) {\n if (!_.isFunction(newDefault)) {\n newDefault = _.constant(newDefault);\n }\n this._defaultEdgeLabelFn = newDefault;\n return this;\n }\n edgeCount() {\n return this._edgeCount;\n }\n edges() {\n return _.values(this._edgeObjs);\n }\n setPath(vs, value) {\n var self = this;\n var args = arguments;\n _.reduce(vs, function (v, w) {\n if (args.length > 1) {\n self.setEdge(v, w, value);\n } else {\n self.setEdge(v, w);\n }\n return w;\n });\n return this;\n }\n /*\n * setEdge(v, w, [value, [name]])\n * setEdge({ v, w, [name] }, [value])\n */\n setEdge() {\n var v, w, name, value;\n var valueSpecified = false;\n var arg0 = arguments[0];\n\n if (typeof arg0 === 'object' && arg0 !== null && 'v' in arg0) {\n v = arg0.v;\n w = arg0.w;\n name = arg0.name;\n if (arguments.length === 2) {\n value = arguments[1];\n valueSpecified = true;\n }\n } else {\n v = arg0;\n w = arguments[1];\n name = arguments[3];\n if (arguments.length > 2) {\n value = arguments[2];\n valueSpecified = true;\n }\n }\n\n v = '' + v;\n w = '' + w;\n if (!_.isUndefined(name)) {\n name = '' + name;\n }\n\n var e = edgeArgsToId(this._isDirected, v, w, name);\n if (Object.prototype.hasOwnProperty.call(this._edgeLabels, e)) {\n if (valueSpecified) {\n this._edgeLabels[e] = value;\n }\n return this;\n }\n\n if (!_.isUndefined(name) && !this._isMultigraph) {\n throw new Error('Cannot set a named edge when isMultigraph = false');\n }\n\n // It didn't exist, so we need to create it.\n // First ensure the nodes exist.\n this.setNode(v);\n this.setNode(w);\n\n // @ts-expect-error\n this._edgeLabels[e] = valueSpecified ? value : this._defaultEdgeLabelFn(v, w, name);\n\n var edgeObj = edgeArgsToObj(this._isDirected, v, w, name);\n // Ensure we add undirected edges in a consistent way.\n v = edgeObj.v;\n w = edgeObj.w;\n\n Object.freeze(edgeObj);\n this._edgeObjs[e] = edgeObj;\n incrementOrInitEntry(this._preds[w], v);\n incrementOrInitEntry(this._sucs[v], w);\n this._in[w][e] = edgeObj;\n this._out[v][e] = edgeObj;\n this._edgeCount++;\n return this;\n }\n edge(v, w, name) {\n var e =\n arguments.length === 1\n ? edgeObjToId(this._isDirected, arguments[0])\n : edgeArgsToId(this._isDirected, v, w, name);\n return this._edgeLabels[e];\n }\n hasEdge(v, w, name) {\n var e =\n arguments.length === 1\n ? edgeObjToId(this._isDirected, arguments[0])\n : edgeArgsToId(this._isDirected, v, w, name);\n return Object.prototype.hasOwnProperty.call(this._edgeLabels, e);\n }\n removeEdge(v, w, name) {\n var e =\n arguments.length === 1\n ? edgeObjToId(this._isDirected, arguments[0])\n : edgeArgsToId(this._isDirected, v, w, name);\n var edge = this._edgeObjs[e];\n if (edge) {\n v = edge.v;\n w = edge.w;\n delete this._edgeLabels[e];\n delete this._edgeObjs[e];\n decrementOrRemoveEntry(this._preds[w], v);\n decrementOrRemoveEntry(this._sucs[v], w);\n delete this._in[w][e];\n delete this._out[v][e];\n this._edgeCount--;\n }\n return this;\n }\n inEdges(v, u) {\n var inV = this._in[v];\n if (inV) {\n var edges = _.values(inV);\n if (!u) {\n return edges;\n }\n return _.filter(edges, function (edge) {\n return edge.v === u;\n });\n }\n }\n outEdges(v, w) {\n var outV = this._out[v];\n if (outV) {\n var edges = _.values(outV);\n if (!w) {\n return edges;\n }\n return _.filter(edges, function (edge) {\n return edge.w === w;\n });\n }\n }\n nodeEdges(v, w) {\n var inEdges = this.inEdges(v, w);\n if (inEdges) {\n return inEdges.concat(this.outEdges(v, w));\n }\n }\n}\n\n/* Number of nodes in the graph. Should only be changed by the implementation. */\nGraph.prototype._nodeCount = 0;\n\n/* Number of edges in the graph. Should only be changed by the implementation. */\nGraph.prototype._edgeCount = 0;\n\nfunction incrementOrInitEntry(map, k) {\n if (map[k]) {\n map[k]++;\n } else {\n map[k] = 1;\n }\n}\n\nfunction decrementOrRemoveEntry(map, k) {\n if (!--map[k]) {\n delete map[k];\n }\n}\n\nfunction edgeArgsToId(isDirected, v_, w_, name) {\n var v = '' + v_;\n var w = '' + w_;\n if (!isDirected && v > w) {\n var tmp = v;\n v = w;\n w = tmp;\n }\n return v + EDGE_KEY_DELIM + w + EDGE_KEY_DELIM + (_.isUndefined(name) ? DEFAULT_EDGE_NAME : name);\n}\n\nfunction edgeArgsToObj(isDirected, v_, w_, name) {\n var v = '' + v_;\n var w = '' + w_;\n if (!isDirected && v > w) {\n var tmp = v;\n v = w;\n w = tmp;\n }\n var edgeObj = { v: v, w: w };\n if (name) {\n edgeObj.name = name;\n }\n return edgeObj;\n}\n\nfunction edgeObjToId(isDirected, edgeObj) {\n return edgeArgsToId(isDirected, edgeObj.v, edgeObj.w, edgeObj.name);\n}\n"],"names":["union","baseRest","arrays","baseUniq","baseFlatten","isArrayLikeObject","DEFAULT_EDGE_NAME","GRAPH_NODE","EDGE_KEY_DELIM","Graph","opts","_.constant","label","newDefault","_.isFunction","_.keys","self","_.filter","v","_.isEmpty","vs","value","args","_.each","removeEdge","e","child","parent","_.isUndefined","ancestor","children","predsV","sucsV","preds","_.union","neighbors","filter","copy","parents","findParent","_.values","_.reduce","w","name","valueSpecified","arg0","edgeArgsToId","edgeObj","edgeArgsToObj","incrementOrInitEntry","edgeObjToId","edge","decrementOrRemoveEntry","u","inV","edges","outV","inEdges","map","k","isDirected","v_","w_","tmp"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"graph-DlYjyX_q.js","sources":["../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/union.js","../../../node_modules/.pnpm/dagre-d3-es@7.0.13/node_modules/dagre-d3-es/src/graphlib/graph.js"],"sourcesContent":["import baseFlatten from './_baseFlatten.js';\nimport baseRest from './_baseRest.js';\nimport baseUniq from './_baseUniq.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\n\n/**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\nvar union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n});\n\nexport default union;\n","import * as _ from 'lodash-es';\n\nvar DEFAULT_EDGE_NAME = '\\x00';\nvar GRAPH_NODE = '\\x00';\nvar EDGE_KEY_DELIM = '\\x01';\n\n// Implementation notes:\n//\n// * Node id query functions should return string ids for the nodes\n// * Edge id query functions should return an \"edgeObj\", edge object, that is\n// composed of enough information to uniquely identify an edge: {v, w, name}.\n// * Internally we use an \"edgeId\", a stringified form of the edgeObj, to\n// reference edges. This is because we need a performant way to look these\n// edges up and, object properties, which have string keys, are the closest\n// we're going to get to a performant hashtable in JavaScript.\n\n// Implementation notes:\n//\n// * Node id query functions should return string ids for the nodes\n// * Edge id query functions should return an \"edgeObj\", edge object, that is\n// composed of enough information to uniquely identify an edge: {v, w, name}.\n// * Internally we use an \"edgeId\", a stringified form of the edgeObj, to\n// reference edges. This is because we need a performant way to look these\n// edges up and, object properties, which have string keys, are the closest\n// we're going to get to a performant hashtable in JavaScript.\nexport class Graph {\n constructor(opts = {}) {\n this._isDirected = Object.prototype.hasOwnProperty.call(opts, 'directed')\n ? opts.directed\n : true;\n this._isMultigraph = Object.prototype.hasOwnProperty.call(opts, 'multigraph')\n ? opts.multigraph\n : false;\n this._isCompound = Object.prototype.hasOwnProperty.call(opts, 'compound')\n ? opts.compound\n : false;\n\n // Label for the graph itself\n this._label = undefined;\n\n // Defaults to be set when creating a new node\n this._defaultNodeLabelFn = _.constant(undefined);\n\n // Defaults to be set when creating a new edge\n this._defaultEdgeLabelFn = _.constant(undefined);\n\n // v -> label\n this._nodes = {};\n\n if (this._isCompound) {\n // v -> parent\n this._parent = {};\n\n // v -> children\n this._children = {};\n this._children[GRAPH_NODE] = {};\n }\n\n // v -> edgeObj\n this._in = {};\n\n // u -> v -> Number\n this._preds = {};\n\n // v -> edgeObj\n this._out = {};\n\n // v -> w -> Number\n this._sucs = {};\n\n // e -> edgeObj\n this._edgeObjs = {};\n\n // e -> label\n this._edgeLabels = {};\n }\n /* === Graph functions ========= */\n isDirected() {\n return this._isDirected;\n }\n isMultigraph() {\n return this._isMultigraph;\n }\n isCompound() {\n return this._isCompound;\n }\n setGraph(label) {\n this._label = label;\n return this;\n }\n graph() {\n return this._label;\n }\n /* === Node functions ========== */\n setDefaultNodeLabel(newDefault) {\n if (!_.isFunction(newDefault)) {\n newDefault = _.constant(newDefault);\n }\n this._defaultNodeLabelFn = newDefault;\n return this;\n }\n nodeCount() {\n return this._nodeCount;\n }\n nodes() {\n return _.keys(this._nodes);\n }\n sources() {\n var self = this;\n return _.filter(this.nodes(), function (v) {\n return _.isEmpty(self._in[v]);\n });\n }\n sinks() {\n var self = this;\n return _.filter(this.nodes(), function (v) {\n return _.isEmpty(self._out[v]);\n });\n }\n setNodes(vs, value) {\n var args = arguments;\n var self = this;\n _.each(vs, function (v) {\n if (args.length > 1) {\n self.setNode(v, value);\n } else {\n self.setNode(v);\n }\n });\n return this;\n }\n setNode(v, value) {\n if (Object.prototype.hasOwnProperty.call(this._nodes, v)) {\n if (arguments.length > 1) {\n this._nodes[v] = value;\n }\n return this;\n }\n\n // @ts-expect-error\n this._nodes[v] = arguments.length > 1 ? value : this._defaultNodeLabelFn(v);\n if (this._isCompound) {\n this._parent[v] = GRAPH_NODE;\n this._children[v] = {};\n this._children[GRAPH_NODE][v] = true;\n }\n this._in[v] = {};\n this._preds[v] = {};\n this._out[v] = {};\n this._sucs[v] = {};\n ++this._nodeCount;\n return this;\n }\n node(v) {\n return this._nodes[v];\n }\n hasNode(v) {\n return Object.prototype.hasOwnProperty.call(this._nodes, v);\n }\n removeNode(v) {\n if (Object.prototype.hasOwnProperty.call(this._nodes, v)) {\n var removeEdge = (e) => this.removeEdge(this._edgeObjs[e]);\n delete this._nodes[v];\n if (this._isCompound) {\n this._removeFromParentsChildList(v);\n delete this._parent[v];\n _.each(this.children(v), (child) => {\n this.setParent(child);\n });\n delete this._children[v];\n }\n _.each(_.keys(this._in[v]), removeEdge);\n delete this._in[v];\n delete this._preds[v];\n _.each(_.keys(this._out[v]), removeEdge);\n delete this._out[v];\n delete this._sucs[v];\n --this._nodeCount;\n }\n return this;\n }\n setParent(v, parent) {\n if (!this._isCompound) {\n throw new Error('Cannot set parent in a non-compound graph');\n }\n\n if (_.isUndefined(parent)) {\n parent = GRAPH_NODE;\n } else {\n // Coerce parent to string\n parent += '';\n for (var ancestor = parent; !_.isUndefined(ancestor); ancestor = this.parent(ancestor)) {\n if (ancestor === v) {\n throw new Error('Setting ' + parent + ' as parent of ' + v + ' would create a cycle');\n }\n }\n\n this.setNode(parent);\n }\n\n this.setNode(v);\n this._removeFromParentsChildList(v);\n this._parent[v] = parent;\n this._children[parent][v] = true;\n return this;\n }\n _removeFromParentsChildList(v) {\n delete this._children[this._parent[v]][v];\n }\n parent(v) {\n if (this._isCompound) {\n var parent = this._parent[v];\n if (parent !== GRAPH_NODE) {\n return parent;\n }\n }\n }\n children(v) {\n if (_.isUndefined(v)) {\n v = GRAPH_NODE;\n }\n\n if (this._isCompound) {\n var children = this._children[v];\n if (children) {\n return _.keys(children);\n }\n } else if (v === GRAPH_NODE) {\n return this.nodes();\n } else if (this.hasNode(v)) {\n return [];\n }\n }\n predecessors(v) {\n var predsV = this._preds[v];\n if (predsV) {\n return _.keys(predsV);\n }\n }\n successors(v) {\n var sucsV = this._sucs[v];\n if (sucsV) {\n return _.keys(sucsV);\n }\n }\n neighbors(v) {\n var preds = this.predecessors(v);\n if (preds) {\n return _.union(preds, this.successors(v));\n }\n }\n isLeaf(v) {\n var neighbors;\n if (this.isDirected()) {\n neighbors = this.successors(v);\n } else {\n neighbors = this.neighbors(v);\n }\n return neighbors.length === 0;\n }\n filterNodes(filter) {\n // @ts-expect-error\n var copy = new this.constructor({\n directed: this._isDirected,\n multigraph: this._isMultigraph,\n compound: this._isCompound,\n });\n\n copy.setGraph(this.graph());\n\n var self = this;\n _.each(this._nodes, function (value, v) {\n if (filter(v)) {\n copy.setNode(v, value);\n }\n });\n\n _.each(this._edgeObjs, function (e) {\n // @ts-expect-error\n if (copy.hasNode(e.v) && copy.hasNode(e.w)) {\n copy.setEdge(e, self.edge(e));\n }\n });\n\n var parents = {};\n function findParent(v) {\n var parent = self.parent(v);\n if (parent === undefined || copy.hasNode(parent)) {\n parents[v] = parent;\n return parent;\n } else if (parent in parents) {\n return parents[parent];\n } else {\n return findParent(parent);\n }\n }\n\n if (this._isCompound) {\n _.each(copy.nodes(), function (v) {\n copy.setParent(v, findParent(v));\n });\n }\n\n return copy;\n }\n /* === Edge functions ========== */\n setDefaultEdgeLabel(newDefault) {\n if (!_.isFunction(newDefault)) {\n newDefault = _.constant(newDefault);\n }\n this._defaultEdgeLabelFn = newDefault;\n return this;\n }\n edgeCount() {\n return this._edgeCount;\n }\n edges() {\n return _.values(this._edgeObjs);\n }\n setPath(vs, value) {\n var self = this;\n var args = arguments;\n _.reduce(vs, function (v, w) {\n if (args.length > 1) {\n self.setEdge(v, w, value);\n } else {\n self.setEdge(v, w);\n }\n return w;\n });\n return this;\n }\n /*\n * setEdge(v, w, [value, [name]])\n * setEdge({ v, w, [name] }, [value])\n */\n setEdge() {\n var v, w, name, value;\n var valueSpecified = false;\n var arg0 = arguments[0];\n\n if (typeof arg0 === 'object' && arg0 !== null && 'v' in arg0) {\n v = arg0.v;\n w = arg0.w;\n name = arg0.name;\n if (arguments.length === 2) {\n value = arguments[1];\n valueSpecified = true;\n }\n } else {\n v = arg0;\n w = arguments[1];\n name = arguments[3];\n if (arguments.length > 2) {\n value = arguments[2];\n valueSpecified = true;\n }\n }\n\n v = '' + v;\n w = '' + w;\n if (!_.isUndefined(name)) {\n name = '' + name;\n }\n\n var e = edgeArgsToId(this._isDirected, v, w, name);\n if (Object.prototype.hasOwnProperty.call(this._edgeLabels, e)) {\n if (valueSpecified) {\n this._edgeLabels[e] = value;\n }\n return this;\n }\n\n if (!_.isUndefined(name) && !this._isMultigraph) {\n throw new Error('Cannot set a named edge when isMultigraph = false');\n }\n\n // It didn't exist, so we need to create it.\n // First ensure the nodes exist.\n this.setNode(v);\n this.setNode(w);\n\n // @ts-expect-error\n this._edgeLabels[e] = valueSpecified ? value : this._defaultEdgeLabelFn(v, w, name);\n\n var edgeObj = edgeArgsToObj(this._isDirected, v, w, name);\n // Ensure we add undirected edges in a consistent way.\n v = edgeObj.v;\n w = edgeObj.w;\n\n Object.freeze(edgeObj);\n this._edgeObjs[e] = edgeObj;\n incrementOrInitEntry(this._preds[w], v);\n incrementOrInitEntry(this._sucs[v], w);\n this._in[w][e] = edgeObj;\n this._out[v][e] = edgeObj;\n this._edgeCount++;\n return this;\n }\n edge(v, w, name) {\n var e =\n arguments.length === 1\n ? edgeObjToId(this._isDirected, arguments[0])\n : edgeArgsToId(this._isDirected, v, w, name);\n return this._edgeLabels[e];\n }\n hasEdge(v, w, name) {\n var e =\n arguments.length === 1\n ? edgeObjToId(this._isDirected, arguments[0])\n : edgeArgsToId(this._isDirected, v, w, name);\n return Object.prototype.hasOwnProperty.call(this._edgeLabels, e);\n }\n removeEdge(v, w, name) {\n var e =\n arguments.length === 1\n ? edgeObjToId(this._isDirected, arguments[0])\n : edgeArgsToId(this._isDirected, v, w, name);\n var edge = this._edgeObjs[e];\n if (edge) {\n v = edge.v;\n w = edge.w;\n delete this._edgeLabels[e];\n delete this._edgeObjs[e];\n decrementOrRemoveEntry(this._preds[w], v);\n decrementOrRemoveEntry(this._sucs[v], w);\n delete this._in[w][e];\n delete this._out[v][e];\n this._edgeCount--;\n }\n return this;\n }\n inEdges(v, u) {\n var inV = this._in[v];\n if (inV) {\n var edges = _.values(inV);\n if (!u) {\n return edges;\n }\n return _.filter(edges, function (edge) {\n return edge.v === u;\n });\n }\n }\n outEdges(v, w) {\n var outV = this._out[v];\n if (outV) {\n var edges = _.values(outV);\n if (!w) {\n return edges;\n }\n return _.filter(edges, function (edge) {\n return edge.w === w;\n });\n }\n }\n nodeEdges(v, w) {\n var inEdges = this.inEdges(v, w);\n if (inEdges) {\n return inEdges.concat(this.outEdges(v, w));\n }\n }\n}\n\n/* Number of nodes in the graph. Should only be changed by the implementation. */\nGraph.prototype._nodeCount = 0;\n\n/* Number of edges in the graph. Should only be changed by the implementation. */\nGraph.prototype._edgeCount = 0;\n\nfunction incrementOrInitEntry(map, k) {\n if (map[k]) {\n map[k]++;\n } else {\n map[k] = 1;\n }\n}\n\nfunction decrementOrRemoveEntry(map, k) {\n if (!--map[k]) {\n delete map[k];\n }\n}\n\nfunction edgeArgsToId(isDirected, v_, w_, name) {\n var v = '' + v_;\n var w = '' + w_;\n if (!isDirected && v > w) {\n var tmp = v;\n v = w;\n w = tmp;\n }\n return v + EDGE_KEY_DELIM + w + EDGE_KEY_DELIM + (_.isUndefined(name) ? DEFAULT_EDGE_NAME : name);\n}\n\nfunction edgeArgsToObj(isDirected, v_, w_, name) {\n var v = '' + v_;\n var w = '' + w_;\n if (!isDirected && v > w) {\n var tmp = v;\n v = w;\n w = tmp;\n }\n var edgeObj = { v: v, w: w };\n if (name) {\n edgeObj.name = name;\n }\n return edgeObj;\n}\n\nfunction edgeObjToId(isDirected, edgeObj) {\n return edgeArgsToId(isDirected, edgeObj.v, edgeObj.w, edgeObj.name);\n}\n"],"names":["union","baseRest","arrays","baseUniq","baseFlatten","isArrayLikeObject","DEFAULT_EDGE_NAME","GRAPH_NODE","EDGE_KEY_DELIM","Graph","opts","_.constant","label","newDefault","_.isFunction","_.keys","self","_.filter","v","_.isEmpty","vs","value","args","_.each","removeEdge","e","child","parent","_.isUndefined","ancestor","children","predsV","sucsV","preds","_.union","neighbors","filter","copy","parents","findParent","_.values","_.reduce","w","name","valueSpecified","arg0","edgeArgsToId","edgeObj","edgeArgsToObj","incrementOrInitEntry","edgeObjToId","edge","decrementOrRemoveEntry","u","inV","edges","outV","inEdges","map","k","isDirected","v_","w_","tmp"],"mappings":"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","x_google_ignoreList":[0,1]}
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./createIntentTweetLink-BVYfpo7F.cjs"),o=require("./remark-zenn-message-BJj3ceML.cjs");exports.BlockLinkNode=e.BlockLinkNode;exports.BlockquoteNode=e.BlockquoteNode;exports.CodeNode=e.CodeNode;exports.DeleteNode=e.DeleteNode;exports.EmphasisNode=e.EmphasisNode;exports.FootnoteBackLinkNode=e.FootnoteBackLinkNode;exports.FootnoteReferenceNode=e.FootnoteReferenceNode;exports.FootnotesSection=e.FootnotesSection;exports.HeadingNode=e.HeadingNode;exports.ImageNode=e.ImageNode;exports.InlineCodeNode=e.InlineCodeNode;exports.LinkNode=e.LinkNode;exports.ListItemNode=e.ListItemNode;exports.ListNode=e.ListNode;exports.MarkdownRenderer=e.MarkdownRenderer;exports.MermaidDiagram=e.MermaidDiagram;exports.NodesRenderer=e.NodesRenderer;exports.ParagraphNode=e.ParagraphNode;exports.RichLinkCard=e.RichLinkCard;exports.StrongNode=e.StrongNode;exports.TableNode=e.TableNode;exports.TextNode=e.TextNode;exports.ThematicBreakNode=e.ThematicBreakNode;exports.TwitterEmbedNode=e.TwitterEmbedNode;exports.YouTubeEmbedNode=e.YouTubeEmbedNode;exports.ZennDetailsNode=e.ZennDetailsNode;exports.ZennMessageNode=e.ZennMessageNode;exports.createIntentTweetLink=e.createIntentTweetLink;exports.extractYouTubeVideoId=o.extractYouTubeVideoId;exports.fetchSiteMetadata=o.fetchSiteMetadata;exports.remarkBlockLink=o.remarkBlockLink;exports.remarkBlockLinkMetadata=o.remarkBlockLinkMetadata;exports.remarkCustomHeadingId=o.remarkCustomHeadingId;exports.remarkFootnoteBackLink=o.remarkFootnoteBackLink;exports.remarkHtmlAnchorToLink=o.remarkHtmlAnchorToLink;exports.remarkHtmlInHtml=o.remarkHtmlInHtml;exports.remarkImageSize=o.remarkImageSize;exports.remarkParentNode=o.remarkParentNode;exports.remarkTwitterEmbed=o.remarkTwitterEmbed;exports.remarkYouTubeEmbed=o.remarkYouTubeEmbed;exports.remarkZennMessage=o.remarkZennMessage;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./createIntentTweetLink-BVYfpo7F.cjs"),o=require("./remark-zenn-message-BJj3ceML.cjs");exports.BlockLinkNode=e.BlockLinkNode;exports.BlockquoteNode=e.BlockquoteNode;exports.CodeNode=e.CodeNode;exports.DeleteNode=e.DeleteNode;exports.EmphasisNode=e.EmphasisNode;exports.FootnoteBackLinkNode=e.FootnoteBackLinkNode;exports.FootnoteReferenceNode=e.FootnoteReferenceNode;exports.FootnotesSection=e.FootnotesSection;exports.HeadingNode=e.HeadingNode;exports.ImageNode=e.ImageNode;exports.InlineCodeNode=e.InlineCodeNode;exports.LinkNode=e.LinkNode;exports.ListItemNode=e.ListItemNode;exports.ListNode=e.ListNode;exports.MarkdownRenderer=e.MarkdownRenderer;exports.MermaidDiagram=e.MermaidDiagram;exports.NodesRenderer=e.NodesRenderer;exports.ParagraphNode=e.ParagraphNode;exports.RichLinkCard=e.RichLinkCard;exports.StrongNode=e.StrongNode;exports.TableNode=e.TableNode;exports.TextNode=e.TextNode;exports.ThematicBreakNode=e.ThematicBreakNode;exports.TwitterEmbedNode=e.TwitterEmbedNode;exports.YouTubeEmbedNode=e.YouTubeEmbedNode;exports.ZennDetailsNode=e.ZennDetailsNode;exports.ZennMessageNode=e.ZennMessageNode;exports.createIntentTweetLink=e.createIntentTweetLink;exports.extractYouTubeVideoId=o.extractYouTubeVideoId;exports.fetchSiteMetadata=o.fetchSiteMetadata;exports.remarkBlockLink=o.remarkBlockLink;exports.remarkBlockLinkMetadata=o.remarkBlockLinkMetadata;exports.remarkCustomHeadingId=o.remarkCustomHeadingId;exports.remarkFootnoteBackLink=o.remarkFootnoteBackLink;exports.remarkHtmlAnchorToLink=o.remarkHtmlAnchorToLink;exports.remarkHtmlInHtml=o.remarkHtmlInHtml;exports.remarkImageSize=o.remarkImageSize;exports.remarkParentNode=o.remarkParentNode;exports.remarkTwitterEmbed=o.remarkTwitterEmbed;exports.remarkYouTubeEmbed=o.remarkYouTubeEmbed;exports.remarkZennMessage=o.remarkZennMessage;
|
|
2
|
+
//# sourceMappingURL=index.client.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.client.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { B as o, b as s, C as r, D as d, E as t, F as n, c as k, d as i, H as m, I as N, e as c, L as l, f as L, g, M as T, a as b, N as I, P as h, R as u, S as B, T as M, h as f, i as E, j as H, Y as C, Z as F, k as R, l as S } from "./createIntentTweetLink-R2TGMXxb.js";
|
|
2
|
+
import { e as w, f as x, r as D, a as Y, b as Z, c as P, d as j, g as q, h as z, i as A, j as V, k as v, l as y } from "./remark-zenn-message-D9xkldEG.js";
|
|
3
|
+
export {
|
|
4
|
+
o as BlockLinkNode,
|
|
5
|
+
s as BlockquoteNode,
|
|
6
|
+
r as CodeNode,
|
|
7
|
+
d as DeleteNode,
|
|
8
|
+
t as EmphasisNode,
|
|
9
|
+
n as FootnoteBackLinkNode,
|
|
10
|
+
k as FootnoteReferenceNode,
|
|
11
|
+
i as FootnotesSection,
|
|
12
|
+
m as HeadingNode,
|
|
13
|
+
N as ImageNode,
|
|
14
|
+
c as InlineCodeNode,
|
|
15
|
+
l as LinkNode,
|
|
16
|
+
L as ListItemNode,
|
|
17
|
+
g as ListNode,
|
|
18
|
+
T as MarkdownRenderer,
|
|
19
|
+
b as MermaidDiagram,
|
|
20
|
+
I as NodesRenderer,
|
|
21
|
+
h as ParagraphNode,
|
|
22
|
+
u as RichLinkCard,
|
|
23
|
+
B as StrongNode,
|
|
24
|
+
M as TableNode,
|
|
25
|
+
f as TextNode,
|
|
26
|
+
E as ThematicBreakNode,
|
|
27
|
+
H as TwitterEmbedNode,
|
|
28
|
+
C as YouTubeEmbedNode,
|
|
29
|
+
F as ZennDetailsNode,
|
|
30
|
+
R as ZennMessageNode,
|
|
31
|
+
S as createIntentTweetLink,
|
|
32
|
+
w as extractYouTubeVideoId,
|
|
33
|
+
x as fetchSiteMetadata,
|
|
34
|
+
D as remarkBlockLink,
|
|
35
|
+
Y as remarkBlockLinkMetadata,
|
|
36
|
+
Z as remarkCustomHeadingId,
|
|
37
|
+
P as remarkFootnoteBackLink,
|
|
38
|
+
j as remarkHtmlAnchorToLink,
|
|
39
|
+
q as remarkHtmlInHtml,
|
|
40
|
+
z as remarkImageSize,
|
|
41
|
+
A as remarkParentNode,
|
|
42
|
+
V as remarkTwitterEmbed,
|
|
43
|
+
v as remarkYouTubeEmbed,
|
|
44
|
+
y as remarkZennMessage
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=index.client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.client.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
package/dist/index.js
CHANGED
|
@@ -1,53 +1,46 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { B as o, b as s, C as r, D as d, E as t, F as n, c as k, d as i, H as m, I as N, e as c, L as l, f as L, g, M as T, a as b, N as I, P as h, R as u, S as B, T as M, h as f, i as E, j as H, Y as C, Z as F, k as R, l as S } from "./createIntentTweetLink-R2TGMXxb.js";
|
|
2
|
+
import { e as w, f as x, r as D, a as Y, b as Z, c as P, d as j, g as q, h as z, i as A, j as V, k as v, l as y } from "./remark-zenn-message-D9xkldEG.js";
|
|
2
3
|
export {
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
o as BlockLinkNode,
|
|
5
|
+
s as BlockquoteNode,
|
|
5
6
|
r as CodeNode,
|
|
6
7
|
d as DeleteNode,
|
|
7
8
|
t as EmphasisNode,
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
L as LinkNode,
|
|
17
|
-
T as ListItemNode,
|
|
9
|
+
n as FootnoteBackLinkNode,
|
|
10
|
+
k as FootnoteReferenceNode,
|
|
11
|
+
i as FootnotesSection,
|
|
12
|
+
m as HeadingNode,
|
|
13
|
+
N as ImageNode,
|
|
14
|
+
c as InlineCodeNode,
|
|
15
|
+
l as LinkNode,
|
|
16
|
+
L as ListItemNode,
|
|
18
17
|
g as ListNode,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
S as
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
G as remarkParentNode,
|
|
47
|
-
J as remarkResolveUriAsync,
|
|
48
|
-
K as remarkTwitterEmbed,
|
|
49
|
-
O as remarkYouTubeEmbed,
|
|
50
|
-
Q as remarkZennMessage,
|
|
51
|
-
W as transformUriAsync
|
|
18
|
+
T as MarkdownRenderer,
|
|
19
|
+
b as MermaidDiagram,
|
|
20
|
+
I as NodesRenderer,
|
|
21
|
+
h as ParagraphNode,
|
|
22
|
+
u as RichLinkCard,
|
|
23
|
+
B as StrongNode,
|
|
24
|
+
M as TableNode,
|
|
25
|
+
f as TextNode,
|
|
26
|
+
E as ThematicBreakNode,
|
|
27
|
+
H as TwitterEmbedNode,
|
|
28
|
+
C as YouTubeEmbedNode,
|
|
29
|
+
F as ZennDetailsNode,
|
|
30
|
+
R as ZennMessageNode,
|
|
31
|
+
S as createIntentTweetLink,
|
|
32
|
+
w as extractYouTubeVideoId,
|
|
33
|
+
x as fetchSiteMetadata,
|
|
34
|
+
D as remarkBlockLink,
|
|
35
|
+
Y as remarkBlockLinkMetadata,
|
|
36
|
+
Z as remarkCustomHeadingId,
|
|
37
|
+
P as remarkFootnoteBackLink,
|
|
38
|
+
j as remarkHtmlAnchorToLink,
|
|
39
|
+
q as remarkHtmlInHtml,
|
|
40
|
+
z as remarkImageSize,
|
|
41
|
+
A as remarkParentNode,
|
|
42
|
+
V as remarkTwitterEmbed,
|
|
43
|
+
v as remarkYouTubeEmbed,
|
|
44
|
+
y as remarkZennMessage
|
|
52
45
|
};
|
|
53
46
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("node:fs/promises"),f=require("node:path"),v=require("unist-util-visit"),l=require("./remark-zenn-message-BJj3ceML.cjs"),P=require("cheerio"),E=require("url-join"),A=require("remark"),N=require("remark-breaks"),T=require("remark-frontmatter"),q=require("remark-gfm"),x=require("remark-math");function C(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(o,n,a.get?a:{enumerable:!0,get:()=>e[n]})}}return o.default=e,Object.freeze(o)}const I=C(P),L=/<!--\s+@import\s+"(.+?)"\s+-->/;function b(e){return async o=>{const{markdownFilePath:n}=e,a=f.dirname(n),i=[];if(v.visit(o,"html",(r,t,s)=>{if(!s||typeof t!="number")return;const c=r.value.match(L);if(!c)return;const h=c[1],u=f.resolve(a,h);i.push({parent:s,index:t,absolutePath:u})}),i.length===0)return;const m=await Promise.all(i.map(async({absolutePath:r})=>{try{const t=await y.readFile(r,"utf-8");return this.parse(t)}catch(t){return t&&t.code==="ENOENT"?l.Logger.warn(`[remark-import-directive] Import file not found: ${r}`):l.Logger.error(`[remark-import-directive] Error processing import: ${r}`,t),null}}));for(let r=i.length-1;r>=0;r--){const{parent:t,index:s}=i[r],c=m[r];c?.children&&Array.isArray(c.children)&&t.children.splice(s,1,...c.children)}}}const U=/^[a-z][a-z0-9+.-]*:/,g=async(e,o,n,a,i=!1)=>{if(!e)return"";if(U.test(e)){const h=e.substring(0,e.indexOf(":")).toLowerCase();if(["http","https","mailto","tel","file"].includes(h))return e}if(e.startsWith("#")||e.startsWith("/"))return e;const m=decodeURIComponent(e),r=f.dirname(n),t=f.normalize(f.join(r,m)),s=f.resolve(a,t);if(!s.startsWith(a)||t.startsWith(".."))return l.Logger.error(`Security Alert: Attempt to access file outside project root: ${s}`),"";if(i)try{await y.access(s)}catch{return l.Logger.warn(`File not found: ${s}`),""}const c=t.replace(/\\/g,"/");return o?E("/assets/",c):`?filePath=${encodeURIComponent(c)}`};function R(e){return async o=>{if(!(e?.markdownFilePath&&e?.workspaceRoot)){l.Logger.warn("remark-resolve-uri-async: markdownFilePath and workspaceRoot are required. Skipping URI resolution.");return}const n=[],a=[];v.visit(o,["image","link","html"],r=>{if(r.type==="html")a.push(r);else{const t=r;t.url&&n.push({node:t,isImage:t.type==="image"})}});const i=n.map(async({node:r,isImage:t})=>{const s=await g(r.url,t,e.markdownFilePath,e.workspaceRoot,e.validateExistence);r.url=s}),m=a.map(async r=>{const t=I.load(r.value,null,!1);let s=!1;const c=t("img").toArray();for(const u of c){const d=t(u).attr("src");if(d){const p=await g(d,!0,e.markdownFilePath,e.workspaceRoot,e.validateExistence);p!==d&&(t(u).attr("src",p),s=!0)}}const h=t("a").toArray();for(const u of h){const d=t(u).attr("href");if(d){const p=await g(d,!1,e.markdownFilePath,e.workspaceRoot,e.validateExistence);p!==d&&(t(u).attr("href",p),s=!0)}}if(s){const u=t.html();u&&(r.value=u)}});await Promise.all([...i,...m])}}const O=["address","article","aside","blockquote","details","dialog","dd","div","dl","dt","fieldset","figcaption","figure","footer","form","header","hgroup","main","nav","ol","pre","section","table","ul"],w=e=>{const o=e.match(/^\s*<([a-z0-9-]+)([^>]*)>\s*$/i);if(!o)return null;const n=o[1].toLowerCase();if(!O.includes(n))return null;const a={},i=o[2],m=/([a-z0-9:-]+)(?:=(?:"([^"]*)"|'([^']*)'|([^\s>]+)))?/gi;let r;for(;(r=m.exec(i))!==null;){const t=r[1],s=r[2]??r[3]??r[4]??"";a[t]=s}return{tagName:n,attributes:a}},F=(e,o)=>new RegExp(`^\\s*<\\/\\s*${o}\\s*>\\s*$`,"i").test(e),k=e=>{const o=[];let n=0;for(;n<e.length;){const a=e[n];if(a.type==="html"){const i=w(a.value);if(i){let m=n+1,r=1,t=-1;for(;m<e.length;){const s=e[m];if(s.type==="html"){const c=w(s.value);if(c&&c.tagName===i.tagName)r++;else if(F(s.value,i.tagName)&&(r--,r===0)){t=m;break}}m++}if(t!==-1){const s=e.slice(n+1,t),c=k(s);o.push({type:"html-block-container",data:{tagName:i.tagName,properties:i.attributes},children:c}),n=t+1;continue}}}"children"in a&&Array.isArray(a.children)&&(a.children=k(a.children)),o.push(a),n++}return o},M=()=>e=>{e.children&&(e.children=k(e.children))},S=async(e,o,n)=>{const a=A.remark().use(l.remarkHtmlInHtml).use(M).use(l.remarkHtmlAnchorToLink).use(l.remarkParentNode).use(l.remarkFootnoteBackLink).use(T).use(N).use(l.remarkImageSize).use(l.remarkZennMessage).use(x).use(b,{markdownFilePath:o}).use(l.remarkTwitterEmbed).use(l.remarkYouTubeEmbed).use(l.remarkBlockLink).use(l.remarkBlockLinkMetadata).use(l.remarkCustomHeadingId).use(q).use(R,{markdownFilePath:o,workspaceRoot:n,validateExistence:!0}),i=a.parse(e);return await a.run(i)};exports.parseMarkdown=S;exports.remarkImportDirective=b;exports.remarkResolveUriAsync=R;exports.transformUriAsync=g;
|
|
2
|
+
//# sourceMappingURL=index.server.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.server.cjs","sources":["../src/plugins/remark-import-directive.async.server.ts","../src/plugins/transformUri.async.server.ts","../src/plugins/remark-resolve-uri.async.ts","../src/plugins/remark-unwrap-block-html.ts","../src/remarkProcessor.server.ts"],"sourcesContent":["/**\n * @file This file defines a remark plugin to handle `@import` directives in Markdown.\n * @brief このファイルは、Markdown 内の `@import` ディレクティブを処理するための remark プラグインを定義します。\n */\nimport fs from \"node:fs/promises\"\nimport path from \"node:path\"\nimport type { Parent, Root } from \"mdast\"\nimport type { Processor } from \"unified\"\nimport { visit } from \"unist-util-visit\"\nimport { Logger } from \"../utils/simple-logger\"\n\nconst importRegex = /<!--\\s+@import\\s+\"(.+?)\"\\s+-->/\n\n/**\n * A remark plugin to support `@import` directives in Markdown.\n * This allows importing content from other Markdown files.\n * Markdown の `@import` ディレクティブをサポートする remark プラグイン。\n * これにより、他の Markdown ファイルからコンテンツをインポート可能。\n *\n * @param this The remark processor instance. / remark プロセッサーのインスタンス。\n * @param options Options for the plugin. / プラグインのオプション。\n * @param options.markdownFilePath The path to the Markdown file being processed. / 処理対象の Markdown ファイルへのパス。\n */\nexport function remarkImportDirective(this: Processor, options: { markdownFilePath: string }) {\n return async (tree: Root): Promise<void> => {\n const { markdownFilePath } = options\n const parentDir = path.dirname(markdownFilePath)\n\n // すべてのインポートディレクティブを収集\n const imports: { parent: Parent; index: number; absolutePath: string }[] = []\n visit(tree, \"html\", (node, index, parent) => {\n if (!parent || typeof index !== \"number\") {\n return\n }\n\n const match = node.value.match(importRegex)\n if (!match) {\n return\n }\n\n const importPath = match[1]\n const absolutePath = path.resolve(parentDir, importPath)\n imports.push({ parent, index, absolutePath })\n })\n\n if (imports.length === 0) {\n return\n }\n\n // すべてのファイルを読み込み、解析\n const parsedTrees = await Promise.all(\n imports.map(async ({ absolutePath }) => {\n try {\n const fileContent = await fs.readFile(absolutePath, \"utf-8\")\n return this.parse(fileContent) as Root\n } catch (error) {\n if (error && (error as NodeJS.ErrnoException).code === \"ENOENT\") {\n Logger.warn(`[remark-import-directive] Import file not found: ${absolutePath}`)\n } else {\n Logger.error(`[remark-import-directive] Error processing import: ${absolutePath}`, error)\n }\n return null // エラー時は null を返却\n }\n }),\n )\n\n // ツリー内のノードを後方から置換\n for (let i = imports.length - 1; i >= 0; i--) {\n const { parent, index } = imports[i]\n const newTree = parsedTrees[i]\n\n if (newTree?.children && Array.isArray(newTree.children)) {\n parent.children.splice(index, 1, ...newTree.children)\n }\n }\n }\n}\n","/**\n * @file Async version of transformUri for file existence validation.\n * @brief ファイル存在確認を含む transformUri の非同期版。\n */\nimport fs from \"node:fs/promises\"\nimport path from \"node:path\"\nimport urlJoin from \"url-join\"\nimport { Logger } from \"../utils/simple-logger\"\n\n// RFC 3986 URI scheme regex\nconst URI_SCHEME_REGEX = /^[a-z][a-z0-9+.-]*:/\n\n/**\n * Async version of transformUri that validates file existence.\n * ファイル存在確認を行う transformUri の非同期版。\n *\n * @param uri The URI to transform. / 変換対象の URI。\n * @param isImage Whether this is an image URI. / 画像 URI かどうか。\n * @param markdownFilePath Path to the markdown file. / Markdown ファイルのパス。\n * @param workspaceRoot Workspace root directory. / ワークスペースのルートディレクトリ。\n * @param validateExistence Whether to validate file existence. / ファイル存在確認を行うかどうか。\n * @returns Promise resolving to the transformed URI. / 変換された URI を返す Promise。\n */\nexport const transformUriAsync = async (uri: string, isImage: boolean, markdownFilePath: string, workspaceRoot: string, validateExistence = false): Promise<string> => {\n if (!uri) {\n return \"\"\n }\n\n // 1. 絶対URL (http, https, mailto, tel) はそのまま返す\n if (URI_SCHEME_REGEX.test(uri)) {\n const protocol = uri.substring(0, uri.indexOf(\":\")).toLowerCase()\n if ([\"http\", \"https\", \"mailto\", \"tel\", \"file\"].includes(protocol)) {\n return uri\n }\n }\n\n // 2. アンカーリンク (#fragment) はそのまま返す\n if (uri.startsWith(\"#\")) {\n return uri\n }\n\n // 3. ルート相対パス (/) はそのまま返す\n if (uri.startsWith(\"/\")) {\n return uri\n }\n\n // 4. 相対パスをプロジェクトルートからのパスとして解決する\n const decodedUri = decodeURIComponent(uri)\n const markdownDir = path.dirname(markdownFilePath)\n const projectRelativePath = path.normalize(path.join(markdownDir, decodedUri))\n\n // セキュリティチェック\n const absolutePath = path.resolve(workspaceRoot, projectRelativePath)\n if (!absolutePath.startsWith(workspaceRoot) || projectRelativePath.startsWith(\"..\")) {\n Logger.error(`Security Alert: Attempt to access file outside project root: ${absolutePath}`)\n return \"\"\n }\n\n // ファイル存在確認(オプション)\n if (validateExistence) {\n try {\n await fs.access(absolutePath)\n } catch {\n Logger.warn(`File not found: ${absolutePath}`)\n return \"\"\n }\n }\n\n const pathForEncoding = projectRelativePath.replace(/\\\\/g, \"/\")\n\n if (isImage) {\n return urlJoin(\"/assets/\", pathForEncoding)\n }\n return `?filePath=${encodeURIComponent(pathForEncoding)}`\n}\n","/**\n * @file Async version of remark-resolve-uri plugin.\n * @brief URI 解決プラグインの非同期版。\n */\nimport * as cheerio from \"cheerio\"\nimport type { Html, Image, Link, Root } from \"mdast\"\nimport { visit } from \"unist-util-visit\"\nimport { Logger } from \"../utils/simple-logger\"\nimport { transformUriAsync } from \"./transformUri.async.server\"\n\ninterface Options {\n markdownFilePath: string\n workspaceRoot: string\n validateExistence?: boolean\n}\n\n/**\n * An async remark plugin to resolve image and link URIs with optional file validation.\n * ファイル検証オプション付きで画像とリンクの URI を解決する非同期 remark プラグイン。\n */\nexport function remarkResolveUriAsync(options: Options) {\n return async (tree: Root): Promise<void> => {\n if (!(options?.markdownFilePath && options?.workspaceRoot)) {\n Logger.warn(\"remark-resolve-uri-async: markdownFilePath and workspaceRoot are required. Skipping URI resolution.\")\n return\n }\n\n // すべての画像とリンクノードを収集\n const uriNodes: Array<{ node: Image | Link; isImage: boolean }> = []\n const htmlNodes: Array<Html> = []\n\n visit(tree, [\"image\", \"link\", \"html\"], (node) => {\n if (node.type === \"html\") {\n htmlNodes.push(node as Html)\n } else {\n const targetNode = node as Image | Link\n if (targetNode.url) {\n uriNodes.push({ node: targetNode, isImage: targetNode.type === \"image\" })\n }\n }\n })\n\n // 並列でURI変換を実行 (標準Markdownノード)\n const transformPromises = uriNodes.map(async ({ node, isImage }) => {\n const transformedUri = await transformUriAsync(node.url, isImage, options.markdownFilePath, options.workspaceRoot, options.validateExistence)\n node.url = transformedUri\n })\n\n // 並列でURI変換を実行 (HTMLノード内の属性)\n const htmlTransformPromises = htmlNodes.map(async (node) => {\n // HTMLフラグメントとしてロード (isDocument=false)\n const $ = cheerio.load(node.value, null, false)\n let modified = false\n\n // imgタグのsrc属性を変換\n const imgTags = $(\"img\").toArray()\n for (const img of imgTags) {\n const src = $(img).attr(\"src\")\n if (src) {\n const transformed = await transformUriAsync(src, true, options.markdownFilePath, options.workspaceRoot, options.validateExistence)\n if (transformed !== src) {\n $(img).attr(\"src\", transformed)\n modified = true\n }\n }\n }\n\n // aタグのhref属性を変換\n const aTags = $(\"a\").toArray()\n for (const a of aTags) {\n const href = $(a).attr(\"href\")\n if (href) {\n const transformed = await transformUriAsync(href, false, options.markdownFilePath, options.workspaceRoot, options.validateExistence)\n if (transformed !== href) {\n $(a).attr(\"href\", transformed)\n modified = true\n }\n }\n }\n\n if (modified) {\n // 変更があれば node.value を更新\n // html() はエンコードされた実体を返す可能性があるが、HTMLノードとしては許容される\n const newHtml = $.html()\n if (newHtml) {\n node.value = newHtml\n }\n }\n })\n\n await Promise.all([...transformPromises, ...htmlTransformPromises])\n }\n}\n","import type { Root, RootContent } from \"mdast\"\nimport type { Plugin } from \"unified\"\n\n/**\n * List of block elements that we want to structurally group.\n * Including 'div', 'section', 'article', etc.\n */\nconst BLOCK_TAGS = [\n \"address\",\n \"article\",\n \"aside\",\n \"blockquote\",\n \"details\",\n \"dialog\",\n \"dd\",\n \"div\",\n \"dl\",\n \"dt\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"footer\",\n \"form\",\n \"header\",\n \"hgroup\",\n \"main\",\n \"nav\",\n \"ol\",\n \"pre\",\n \"section\",\n \"table\",\n \"ul\",\n]\n\ntype ParsedTag = {\n tagName: string\n attributes: Record<string, string | number | boolean>\n}\n\n/**\n * Parses an opening tag string (e.g., <div class=\"foo\">) to extract tag name and attributes.\n * Returns null if it matches nothing or is not a target block tag.\n */\nconst parseOpeningTag = (value: string): ParsedTag | null => {\n // Regex to capture tag name and potential attributes part\n // e.g. <div class=\"abc\"> -> Match: <div class=\"abc\">, Group 1: div, Group 2: class=\"abc\"\n const match = value.match(/^\\s*<([a-z0-9-]+)([^>]*)>\\s*$/i)\n if (!match) return null\n\n const tagName = match[1].toLowerCase()\n if (!BLOCK_TAGS.includes(tagName)) return null\n\n // Simple attribute parser\n const attributes: Record<string, string> = {}\n const attrStr = match[2]\n\n // Regex to match attribute key=\"value\" or key='value' or key=value or key\n // Group 1: key\n // Group 2: value (double quote)\n // Group 3: value (single quote)\n // Group 4: value (no quote)\n const attrRegex = /([a-z0-9:-]+)(?:=(?:\"([^\"]*)\"|'([^']*)'|([^\\s>]+)))?/gi\n\n let attrMatch: RegExpExecArray | null\n // biome-ignore lint/suspicious/noAssignInExpressions: loop required for regex exec\n while ((attrMatch = attrRegex.exec(attrStr)) !== null) {\n const key = attrMatch[1]\n // If value is undefined, it's a boolean attribute (though in HTML usually key=\"\")\n // We'll treat empty string as value for now.\n const val = attrMatch[2] ?? attrMatch[3] ?? attrMatch[4] ?? \"\"\n attributes[key] = val\n }\n\n return { tagName, attributes }\n}\n\n/**\n * Checks if the string is a closing tag for the specified tagName.\n */\nconst isClosingTag = (value: string, tagName: string): boolean => {\n // e.g. </div> or </ div>\n // Escape standard regex characters if usage gets complicated, but simple tag names are safe.\n return new RegExp(`^\\\\s*<\\\\/\\\\s*${tagName}\\\\s*>\\\\s*$`, \"i\").test(value)\n}\n\n/**\n * Helper function to transform children nodes recursively.\n * Defined outside the plugin closure to be clean, but needs recursive capability.\n */\n// biome-ignore lint/suspicious/noExplicitAny: generic AST transformation to handle custom nodes not in mdast types\nconst transformChildren = (children: any[]): any[] => {\n // biome-ignore lint/suspicious/noExplicitAny: generic AST transformation\n const newChildren: any[] = []\n let i = 0\n\n while (i < children.length) {\n const node = children[i] as RootContent\n\n // Check if node is an HTML node and an opening block tag\n if (node.type === \"html\") {\n const parsed = parseOpeningTag(node.value)\n if (parsed) {\n // Found opening tag, search for matching closing tag\n // We need to find the matching closing tag at the SAME nesting level.\n // However, 'children' here is a flat list of siblings in MD AST terms.\n // So we scan forward.\n\n let j = i + 1\n let balance = 1\n let foundIndex = -1\n\n // Search forward for the closing tag\n while (j < children.length) {\n const nextNode = children[j] as RootContent\n\n if (nextNode.type === \"html\") {\n const nextOpening = parseOpeningTag(nextNode.value)\n\n if (nextOpening && nextOpening.tagName === parsed.tagName) {\n // Found a nested opening tag of the same type\n balance++\n } else if (isClosingTag(nextNode.value, parsed.tagName)) {\n // Found a closing tag\n balance--\n if (balance === 0) {\n foundIndex = j\n break\n }\n }\n }\n j++\n }\n\n if (foundIndex !== -1) {\n // We found a matching closing tag at foundIndex.\n // Everything between i+1 and foundIndex-1 is content.\n const contentValues = children.slice(i + 1, foundIndex)\n\n // Recursively transform the content inside the block\n const transformedContent = transformChildren(contentValues)\n\n // Create container node\n newChildren.push({\n type: \"html-block-container\",\n data: {\n tagName: parsed.tagName,\n properties: parsed.attributes,\n },\n children: transformedContent,\n })\n\n // Skip the processed nodes (content + closing tag)\n // i is currently at opening tag. foundIndex is at closing tag.\n // Next iteration should start after closing tag.\n i = foundIndex + 1\n continue\n }\n // If loop finished without finding closing tag (foundIndex === -1),\n // we treat the opening tag as a regular HTML node and proceed.\n }\n }\n\n // Check if node is a Parent (has children)\n // biome-ignore lint/suspicious/noExplicitAny: generic AST traversal\n if (\"children\" in node && Array.isArray((node as any).children)) {\n // biome-ignore lint/suspicious/noExplicitAny: generic AST traversal\n ;(node as any).children = transformChildren((node as any).children)\n }\n\n newChildren.push(node)\n i++\n }\n\n return newChildren\n}\n\n/**\n * Remark plugin to group nodes between opening and closing HTML block tags into a container node.\n * This solves the issue where markdown parsers split HTML blocks into start content end, breaking structure.\n */\nexport const remarkUnwrapBlockHtml: Plugin<[], Root> = () => {\n return (tree: Root) => {\n if (tree.children) {\n tree.children = transformChildren(tree.children)\n }\n }\n}\n","import type { Root } from \"mdast\"\nimport { remark } from \"remark\"\nimport remarkBreaks from \"remark-breaks\"\nimport remarkFrontmatter from \"remark-frontmatter\"\nimport remarkGfm from \"remark-gfm\"\nimport remarkMath from \"remark-math\"\nimport { remarkBlockLink } from \"./plugins/remark-block-link.ts\"\nimport { remarkBlockLinkMetadata } from \"./plugins/remark-block-link-metadata.ts\"\nimport { remarkCustomHeadingId } from \"./plugins/remark-custom-heading-id.ts\"\nimport { remarkFootnoteBackLink } from \"./plugins/remark-footnote-back-link.ts\"\nimport { remarkHtmlAnchorToLink } from \"./plugins/remark-html-anchor-to-link.ts\"\nimport { remarkHtmlInHtml } from \"./plugins/remark-html-in-html.ts\"\nimport { remarkUnwrapBlockHtml } from \"./plugins/remark-unwrap-block-html.ts\"\nimport { remarkImageSize } from \"./plugins/remark-image-size.ts\"\nimport { remarkImportDirective } from \"./plugins/remark-import-directive.async.server.ts\"\nimport { remarkParentNode } from \"./plugins/remark-parent-node.ts\"\nimport { remarkResolveUriAsync } from \"./plugins/remark-resolve-uri.async.ts\"\nimport { remarkTwitterEmbed } from \"./plugins/remark-twitter-embed.ts\"\nimport { remarkYouTubeEmbed } from \"./plugins/remark-youtube-embed.ts\"\nimport { remarkZennMessage } from \"./plugins/remark-zenn-message.ts\"\n\nexport const parseMarkdown = async (markdownText: string, markdownFilePath: string, workspaceRoot: string): Promise<Root> => {\n const processor = remark()\n .use(remarkHtmlInHtml)\n .use(remarkUnwrapBlockHtml)\n .use(remarkHtmlAnchorToLink)\n .use(remarkParentNode)\n .use(remarkFootnoteBackLink)\n .use(remarkFrontmatter)\n .use(remarkBreaks)\n .use(remarkImageSize)\n .use(remarkZennMessage)\n .use(remarkMath)\n .use(remarkImportDirective, { markdownFilePath })\n .use(remarkTwitterEmbed)\n .use(remarkYouTubeEmbed)\n .use(remarkBlockLink) // remarkTwitterEmbed, remarkYouTubeEmbed より後に設定\n .use(remarkBlockLinkMetadata) // ブロックリンクノードの処理後にメタデータを付加\n .use(remarkCustomHeadingId)\n .use(remarkGfm)\n .use(remarkResolveUriAsync, { markdownFilePath, workspaceRoot, validateExistence: true })\n\n const parsed = processor.parse(markdownText)\n const mdastRoot = await processor.run(parsed)\n return mdastRoot as Root\n}\n"],"names":["importRegex","remarkImportDirective","options","tree","markdownFilePath","parentDir","path","imports","visit","node","index","parent","match","importPath","absolutePath","parsedTrees","fileContent","fs","error","Logger","i","newTree","URI_SCHEME_REGEX","transformUriAsync","uri","isImage","workspaceRoot","validateExistence","protocol","decodedUri","markdownDir","projectRelativePath","pathForEncoding","urlJoin","remarkResolveUriAsync","uriNodes","htmlNodes","targetNode","transformPromises","transformedUri","htmlTransformPromises","$","cheerio","modified","imgTags","img","src","transformed","aTags","a","href","newHtml","BLOCK_TAGS","parseOpeningTag","value","tagName","attributes","attrStr","attrRegex","attrMatch","key","val","isClosingTag","transformChildren","children","newChildren","parsed","j","balance","foundIndex","nextNode","nextOpening","contentValues","transformedContent","remarkUnwrapBlockHtml","parseMarkdown","markdownText","processor","remark","remarkHtmlInHtml","remarkHtmlAnchorToLink","remarkParentNode","remarkFootnoteBackLink","remarkFrontmatter","remarkBreaks","remarkImageSize","remarkZennMessage","remarkMath","remarkTwitterEmbed","remarkYouTubeEmbed","remarkBlockLink","remarkBlockLinkMetadata","remarkCustomHeadingId","remarkGfm"],"mappings":"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"}
|