@cleocode/cleo 2026.9.7 → 2026.9.9
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/cli/index.js +3766 -2232
- package/package.json +14 -13
- package/scripts/check-cleo-tarball-size.mjs +105 -0
- package/scripts/copy-studio-dist.mjs +33 -9
- package/studio-dist/client/_app/immutable/chunks/{wI_OOyoh.js → BB7zPpV2.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{D8NsLz6i.js → BOnrCZaR.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{TX-23QW3.js → BiaAd37T.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/C6jhAnil.js +1 -0
- package/studio-dist/client/_app/immutable/chunks/C87Q3uxm.js +1 -0
- package/studio-dist/client/_app/immutable/chunks/{CqF5Lomf.js → CTLGzgdN.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{o1PZ6Kzq.js → CY3heNub.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{RptFUp2P.js → Cge6qiwc.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{BRgWBQlV.js → CnwXLaZJ.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{Bxz2A0ZC.js → DEH43YwF.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/DGftG5oL.js +3 -0
- package/studio-dist/client/_app/immutable/chunks/{DVHIxkgs.js → DV2HHHkd.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{eK8hf4s7.js → DXxEgUey.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{CEqOYim7.js → DZrdToAH.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/EZwHPWle.js +2 -0
- package/studio-dist/client/_app/immutable/chunks/{B9psmq5-.js → rB_71s8h.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{JPJd4fEI.js → rUtW7Hx6.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/zWFSpNUo.js +1 -0
- package/studio-dist/client/_app/immutable/entry/app.AR3q6Ydw.js +2 -0
- package/studio-dist/client/_app/immutable/entry/start.Cf2RUEwO.js +1 -0
- package/studio-dist/client/_app/immutable/nodes/{0.CZzEEyVh.js → 0.BEkWfyyt.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{1.Bj3Opbua.js → 1.DfbrPFgR.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{10.xe_Mc2Ko.js → 10.3rxHNnSx.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{11.DuKPA7JD.js → 11.B6jWv3Kz.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{12.BoZ_QrUS.js → 12.BrDHeTEq.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{13.DFJiUiv8.js → 13.CE5bd4JV.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{14.eaAlFU4w.js → 14.DgXD2LRx.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{15.BfXgiwMC.js → 15.CdRO2NCB.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{16.mEwy9cqh.js → 16.Cr01BBgh.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{17.DP2QtQGn.js → 17.PZ1GrCot.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{18.Bu0054sX.js → 18.Crly2qhe.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{19.UWt6QbCm.js → 19.su55K8y_.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{2.y5jKpHiR.js → 2.mqgFVWFQ.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{20.B1AIHdkP.js → 20.DqQjto4P.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{21.CpAN71H8.js → 21.BhwhdQCq.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{22.CrYKrN4c.js → 22.BmJEWwER.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{23.pGRaHQjq.js → 23.CAVIJEH-.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{24.BUoUu37z.js → 24.BIypnou8.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/25.CllbQ5CT.js +39 -0
- package/studio-dist/client/_app/immutable/nodes/26.DILkE52_.js +1 -0
- package/studio-dist/client/_app/immutable/nodes/{28.DcmYM7lb.js → 28.D64RBcfs.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{29.lbHbMqNO.js → 29.yfuBeH1x.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{3.Dyir4xXj.js → 3.ChHbetZy.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{30.DXj0Wm2A.js → 30.1WUv5bh9.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/4.D6vXYBoQ.js +1 -0
- package/studio-dist/client/_app/immutable/nodes/{5.VWSdP7oc.js → 5.hjw2O-4e.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{6.Dl-XLwOj.js → 6.CAoDfDt6.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{7.CFuC5L-y.js → 7.CLgPSQ8Z.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{8.BCJ0DhOb.js → 8.zuaO1Hik.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{9.Bq4SUzL9.js → 9.Cdsd85m2.js} +1 -1
- package/studio-dist/client/_app/version.json +1 -1
- package/studio-dist/server/chunks/0-BvvArN5K.js +41 -0
- package/studio-dist/server/chunks/1-rLPlIpIR.js +9 -0
- package/studio-dist/server/chunks/{10-DvOD4ksa.js → 10-CYLc3d5x.js} +3 -3
- package/studio-dist/server/chunks/{11-DMnBZ02H.js → 11-DcIYR5vm.js} +3 -3
- package/studio-dist/server/chunks/{12-CCyRyRWX.js → 12-WE1u104t.js} +3 -3
- package/studio-dist/server/chunks/{13-Dx1c3a_X.js → 13-joBDoxhK.js} +3 -3
- package/studio-dist/server/chunks/{14-Bo-dTCaZ.js → 14-Doj5F4uJ.js} +3 -3
- package/studio-dist/server/chunks/{15-BvUNl3KL.js → 15-BlL3H5S5.js} +3 -3
- package/studio-dist/server/chunks/{16-De6EzPSa.js → 16-C-UvTi7Z.js} +5 -4
- package/studio-dist/server/chunks/{17-CZNsiZhi.js → 17-C790IKoE.js} +10 -93
- package/studio-dist/server/chunks/{18-CbxxjZox.js → 18-6VS9Vgfx.js} +5 -4
- package/studio-dist/server/chunks/{19-DqHyladS.js → 19-BAQHPrMB.js} +3 -3
- package/studio-dist/server/chunks/{2-COvmA-ZA.js → 2-DXSVVaej.js} +10 -93
- package/studio-dist/server/chunks/20-DUG4_xXL.js +57 -0
- package/studio-dist/server/chunks/{21-DXK9ptAC.js → 21-qhGjkW41.js} +4 -31
- package/studio-dist/server/chunks/{22-DD5CLWJC.js → 22-Byy16hFA.js} +3 -3
- package/studio-dist/server/chunks/23-CZpFrGp4.js +97 -0
- package/studio-dist/server/chunks/24-CkIGZX8S.js +67 -0
- package/studio-dist/server/chunks/{25-CAg6Xcmn.js → 25-CHBaeXym.js} +15 -96
- package/studio-dist/server/chunks/{26-_nfVTvNi.js → 26-BbDd--8j.js} +12 -93
- package/studio-dist/server/chunks/{27-C9edghG4.js → 27-Cqzlh9gZ.js} +3 -2
- package/studio-dist/server/chunks/{28-VemTJGyc.js → 28-DeYe2rpm.js} +8 -62
- package/studio-dist/server/chunks/{29-CXP-m29t.js → 29-6pjLM0Z1.js} +10 -93
- package/studio-dist/server/chunks/{3-B8KhfvHp.js → 3-DMSsQV71.js} +9 -25
- package/studio-dist/server/chunks/{30-QiM1S4cJ.js → 30-Dw317sSW.js} +10 -93
- package/studio-dist/server/chunks/{31-BwdY9NnB.js → 31-Q4kHbp8j.js} +3 -2
- package/studio-dist/server/chunks/{4-CSaG4HjO.js → 4-C9BMSh4K.js} +4 -3
- package/studio-dist/server/chunks/{5-i5ry4y3C.js → 5-C0CF4WKG.js} +3 -3
- package/studio-dist/server/chunks/{6-DR1GWBMT.js → 6-BWyOJust.js} +3 -3
- package/studio-dist/server/chunks/{7-DSNwn3aQ.js → 7-CK4MK5gy.js} +3 -3
- package/studio-dist/server/chunks/{8-Bj0bx07K.js → 8-CiX7Xk9k.js} +3 -3
- package/studio-dist/server/chunks/{9-B3Tz0mZq.js → 9-Be5118w4.js} +3 -3
- package/studio-dist/server/chunks/{HeroHeader-v4Q9vaGr.js → HeroHeader-BrGN5WPw.js} +2 -2
- package/studio-dist/server/chunks/{Sparkline-BJ-GuhRd.js → Sparkline-DU_NVxz9.js} +2 -2
- package/studio-dist/server/chunks/{StatBlock-DHJMmOCx.js → StatBlock-jNsxycS1.js} +2 -2
- package/studio-dist/server/chunks/{Tabs-DzG6Bn9a.js → Tabs-DQKDflnT.js} +2 -2
- package/studio-dist/server/chunks/_dispatch-DTWViLGL.js +145 -0
- package/studio-dist/server/chunks/{_layout.svelte-BEIGQcIv.js → _layout.svelte-BjSWu4Fw.js} +7 -9
- package/studio-dist/server/chunks/{_page.svelte-al08ovKm.js → _page.svelte-6iMiGR11.js} +5 -5
- package/studio-dist/server/chunks/{_page.svelte-Byz2djto.js → _page.svelte-B-YXGvAW.js} +5 -5
- package/studio-dist/server/chunks/{_page.svelte-UYiF7YBK.js → _page.svelte-BCRyjlk2.js} +5 -5
- package/studio-dist/server/chunks/{_page.svelte-2cgtvHwW.js → _page.svelte-BdkomWnj.js} +13 -71
- package/studio-dist/server/chunks/{_page.svelte-CCoTp89s.js → _page.svelte-BoYafqft.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-nzffIbBP.js → _page.svelte-C7Wm6_HB.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-Wfx7ww_h.js → _page.svelte-CIyzbngu.js} +11 -13
- package/studio-dist/server/chunks/{_page.svelte-C_VSL8NW.js → _page.svelte-CmbOzJ6A.js} +13 -71
- package/studio-dist/server/chunks/{_page.svelte-CophUar3.js → _page.svelte-CqI6hqMm.js} +5 -5
- package/studio-dist/server/chunks/{_page.svelte-tYN7_LXI.js → _page.svelte-CtSwzG-R.js} +9 -11
- package/studio-dist/server/chunks/{_page.svelte-DYNorA0S.js → _page.svelte-Cx9Ptecp.js} +10 -67
- package/studio-dist/server/chunks/{_page.svelte-9OQphlnm.js → _page.svelte-D4Uf5q1X.js} +14 -69
- package/studio-dist/server/chunks/{_page.svelte-BIlhmugm.js → _page.svelte-DRjD44sK.js} +11 -13
- package/studio-dist/server/chunks/{_page.svelte-BVVTrzTL.js → _page.svelte-DaheDIRs.js} +5 -5
- package/studio-dist/server/chunks/{_page.svelte-DOWw416I.js → _page.svelte-DfIiE7gL.js} +11 -13
- package/studio-dist/server/chunks/{_page.svelte-M5D2QnMS.js → _page.svelte-Dm8y5a8S.js} +10 -67
- package/studio-dist/server/chunks/{_page.svelte-B_pq-Z98.js → _page.svelte-DqXxyNsF.js} +7 -7
- package/studio-dist/server/chunks/{_page.svelte-C3aIui4o.js → _page.svelte-DqsbnAhk.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-ksTJUXce.js → _page.svelte-Dt0_c1T-.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-bGhsrIjS.js → _page.svelte-Dv6iwhu7.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-BXyoMME1.js → _page.svelte-GPiHej3P.js} +5 -5
- package/studio-dist/server/chunks/{_page.svelte-CYDjW1R0.js → _page.svelte-LuRm8XxE.js} +5 -5
- package/studio-dist/server/chunks/{_page.svelte-Clbkk1gm.js → _page.svelte-Z7nL9SC-.js} +8 -9
- package/studio-dist/server/chunks/{_page.svelte-DUWbZjC7.js → _page.svelte-_kntHS6v.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-l4Z_xjl9.js → _page.svelte-k-4NCnbz.js} +9 -11
- package/studio-dist/server/chunks/{_page.svelte-CHzXuw2Q.js → _page.svelte-me5SUosG.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-BgwL2Gyu.js → _page.svelte-sHj6UAzC.js} +11 -13
- package/studio-dist/server/chunks/{_server.ts-DSzRdt1U.js → _server.ts--2m_U4SL.js} +11 -94
- package/studio-dist/server/chunks/{_server.ts-ujoDR2_g.js → _server.ts--sGLmBsz.js} +10 -92
- package/studio-dist/server/chunks/{_server.ts-k2fApwOp.js → _server.ts-0ukyuE0I.js} +5 -60
- package/studio-dist/server/chunks/_server.ts-1eW2mTeh.js +40 -0
- package/studio-dist/server/chunks/{_server.ts-Bfr4u3EP.js → _server.ts-3LzqLzt0.js} +10 -92
- package/studio-dist/server/chunks/_server.ts-5euivmMj.js +38 -0
- package/studio-dist/server/chunks/{_server.ts-CShsBkeE.js → _server.ts-B0uoay97.js} +7 -23
- package/studio-dist/server/chunks/{_server.ts-hL92cV7Z.js → _server.ts-B5vYKkI6.js} +9 -63
- package/studio-dist/server/chunks/{_server.ts-_RJXtmfi.js → _server.ts-B8dTbPHd.js} +8 -23
- package/studio-dist/server/chunks/{_server.ts-C3Jo-ju8.js → _server.ts-BA8Xdegq.js} +10 -92
- package/studio-dist/server/chunks/_server.ts-BBClE0n9.js +54 -0
- package/studio-dist/server/chunks/{_server.ts-CJA1djzJ.js → _server.ts-BCnr9uaO.js} +8 -92
- package/studio-dist/server/chunks/{_server.ts-ZS1_yMwR.js → _server.ts-BDwMoyZ_.js} +6 -32
- package/studio-dist/server/chunks/{_server.ts-sv4pA808.js → _server.ts-BE-Uhx4N.js} +5 -46
- package/studio-dist/server/chunks/{_server.ts-DV6pzF-M.js → _server.ts-BSHADOUJ.js} +4 -3
- package/studio-dist/server/chunks/{_server.ts-BdN4AJ6o.js → _server.ts-BSgLJPPQ.js} +10 -91
- package/studio-dist/server/chunks/_server.ts-Bl9tMqwZ.js +159 -0
- package/studio-dist/server/chunks/_server.ts-BlzDnRI0.js +51 -0
- package/studio-dist/server/chunks/{_server.ts-DnE0f-iC.js → _server.ts-BtuemCsf.js} +4 -3
- package/studio-dist/server/chunks/{_server.ts-BPcErnS0.js → _server.ts-C2nYqbd9.js} +10 -92
- package/studio-dist/server/chunks/{_server.ts-4p6cp9ke.js → _server.ts-C6IDM_3I.js} +10 -92
- package/studio-dist/server/chunks/_server.ts-C8Z32vuL.js +45 -0
- package/studio-dist/server/chunks/_server.ts-CBXyadsy.js +26 -0
- package/studio-dist/server/chunks/{_server.ts-Do9RIPRo.js → _server.ts-CE6h2ATE.js} +5 -32
- package/studio-dist/server/chunks/_server.ts-CGROl_5b.js +122 -0
- package/studio-dist/server/chunks/_server.ts-CH06JVqZ.js +65 -0
- package/studio-dist/server/chunks/_server.ts-CNqcws-M.js +29 -0
- package/studio-dist/server/chunks/{_server.ts-uUx7uT2Y.js → _server.ts-CYv5YuHd.js} +6 -43
- package/studio-dist/server/chunks/{_server.ts-DSAv66wD.js → _server.ts-CbThsyhY.js} +4 -3
- package/studio-dist/server/chunks/{_server.ts-DgbY5EB3.js → _server.ts-CeQolQOK.js} +10 -92
- package/studio-dist/server/chunks/_server.ts-ChoGyX5C.js +61 -0
- package/studio-dist/server/chunks/_server.ts-CjJYkLJH.js +61 -0
- package/studio-dist/server/chunks/{_server.ts-lPlBUIJX.js → _server.ts-CtjArzxf.js} +5 -60
- package/studio-dist/server/chunks/{_server.ts-Cq60m8Pw.js → _server.ts-D3QWZwt_.js} +4 -3
- package/studio-dist/server/chunks/{_server.ts-CkoJ2HCW.js → _server.ts-D6wP5bCh.js} +10 -92
- package/studio-dist/server/chunks/{_server.ts-DwTRjS4y.js → _server.ts-D7JwQTun.js} +10 -93
- package/studio-dist/server/chunks/_server.ts-DKFJdXPK.js +97 -0
- package/studio-dist/server/chunks/_server.ts-DNAPGKEF.js +55 -0
- package/studio-dist/server/chunks/_server.ts-DQiTiY3E.js +78 -0
- package/studio-dist/server/chunks/{_server.ts-B2E7fxo9.js → _server.ts-DUPODxVZ.js} +6 -91
- package/studio-dist/server/chunks/{_server.ts-BT0Uq2yq.js → _server.ts-DUyeSXbV.js} +10 -92
- package/studio-dist/server/chunks/{_server.ts-DRVz9D-J.js → _server.ts-DY7BwZCv.js} +9 -24
- package/studio-dist/server/chunks/{_server.ts-Cz0zgaUV.js → _server.ts-D_E276ms.js} +3 -2
- package/studio-dist/server/chunks/{_server.ts-B5g3eScF.js → _server.ts-DgtmTAp5.js} +5 -60
- package/studio-dist/server/chunks/{_server.ts-CboRJY0Q.js → _server.ts-DhTKaw7h.js} +10 -63
- package/studio-dist/server/chunks/_server.ts-DqKBSCPT.js +31 -0
- package/studio-dist/server/chunks/{_server.ts-CpmMp5D8.js → _server.ts-DyXBNnRD.js} +4 -3
- package/studio-dist/server/chunks/_server.ts-DzjUpduu.js +25 -0
- package/studio-dist/server/chunks/{_server.ts-CGiAXy5i.js → _server.ts-Dznqw6Dg.js} +8 -23
- package/studio-dist/server/chunks/{_server.ts-tKMjUFUP.js → _server.ts-EVwS7UXb.js} +4 -3
- package/studio-dist/server/chunks/_server.ts-J17j25VG.js +62 -0
- package/studio-dist/server/chunks/{_server.ts-C4BcDGqS.js → _server.ts-XLV5SvjH.js} +7 -63
- package/studio-dist/server/chunks/_server.ts-jZgqFIJz.js +45 -0
- package/studio-dist/server/chunks/{_server.ts-Bw7A4zgb.js → _server.ts-lyiGGv7w.js} +5 -3
- package/studio-dist/server/chunks/_server.ts-n0fpsfkk.js +67 -0
- package/studio-dist/server/chunks/{brain-CXR7ZT7S.js → brain-xt_NeshR.js} +2 -2
- package/studio-dist/server/chunks/cleo-home-_XIqkZaL.js +109 -0
- package/studio-dist/server/chunks/{cli-action-DQcaqcfn.js → cli-action-VJPEn1pY.js} +2 -2
- package/studio-dist/server/chunks/{client-CgX38JBu.js → client-CrfCXSXZ.js} +5 -6
- package/studio-dist/server/chunks/cluster-label-layer-CysRMvhi.js +6721 -0
- package/studio-dist/server/chunks/connections-CWLPjwBP.js +15 -0
- package/studio-dist/server/chunks/{connections2-mi7mZqJM.js → connections2-DHVs5ytW.js} +32 -19
- package/studio-dist/server/chunks/{dev-BNpEUZI3.js → dev-Br5zieNA.js} +2 -2
- package/studio-dist/server/chunks/dist-BR1f34Gj.js +18726 -0
- package/studio-dist/server/chunks/{error.svelte-CplNulnS.js → error.svelte-CmR0NUCQ.js} +6 -8
- package/studio-dist/server/chunks/{explorer-loader-BN_mkt3_.js → explorer-loader-B_uCSs9_.js} +2 -2
- package/studio-dist/server/chunks/exports-Dg-gdPPq.js +124 -0
- package/studio-dist/server/chunks/{hooks.server-DBsyphiX.js → hooks.server-CWBRp8NI.js} +10 -93
- package/studio-dist/server/chunks/{http-CRTZe306.js → http-Dso0FRxT.js} +3 -4
- package/studio-dist/server/chunks/{index-server-DocJvixA.js → index-server-BgfA6C0S.js} +17 -4
- package/studio-dist/server/chunks/{internal-D6eWgsHJ.js → internal-DYUO6aQs.js} +56 -92
- package/studio-dist/server/chunks/{memory2-Cgc_4D5q.js → memory-BZHnDZzu.js} +4 -4
- package/studio-dist/server/chunks/{nexus-adapter-9EL_VlGI.js → nexus-adapter-D1ryYG1Z.js} +5 -5
- package/studio-dist/server/chunks/{no-face-up-DcejJLy-.js → no-face-up-B_3h6Hgs.js} +2 -2
- package/studio-dist/server/chunks/project-context-BAXQmgch.js +188 -0
- package/studio-dist/server/chunks/{src-BUqGet2c.js → src-D2rW9bIF.js} +422 -5
- package/studio-dist/server/chunks/{stores-5DmdjPCH.js → stores-CS6eY2sx.js} +3 -3
- package/studio-dist/server/chunks/{tasks2-Bf9VHrv-.js → tasks-sWuEmiGW.js} +2349 -9
- package/studio-dist/server/chunks/{ui-DR8zOSpC.js → ui-CkQ-pCs3.js} +2 -2
- package/studio-dist/server/chunks/utils-g564cUMV.js +151 -0
- package/studio-dist/server/index.js +5 -16
- package/studio-dist/server/manifest.js +88 -88
- package/dist/cli/index.js.map +0 -6
- package/studio-dist/client/_app/immutable/assets/parse-worker.CSEr67Qi.js +0 -1127
- package/studio-dist/client/_app/immutable/chunks/2mEksghu2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/3KebaI-z.js +0 -53
- package/studio-dist/client/_app/immutable/chunks/3y2yNYEk2.js +0 -3
- package/studio-dist/client/_app/immutable/chunks/7UXYlaI1.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/83VLmCvk.js +0 -4
- package/studio-dist/client/_app/immutable/chunks/84Rhmi6r.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/9CV9TXTg2.js +0 -92
- package/studio-dist/client/_app/immutable/chunks/9LFtcz24.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/9bLMgKwu2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/9kKqohVR2.js +0 -37
- package/studio-dist/client/_app/immutable/chunks/B-Ye28EY.js +0 -7
- package/studio-dist/client/_app/immutable/chunks/B-jnUl7o.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/B0ORuy8x2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/B0xCM1wN2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/B0zCN4sX.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/B1wt-iGW.js +0 -7
- package/studio-dist/client/_app/immutable/chunks/B2F3KUIU.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/B2_6RrlL2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/B2qKEYxA2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/B2u2rNyI2.js +0 -8
- package/studio-dist/client/_app/immutable/chunks/B3_X3Lhd2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/B3sNtbqf.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/B4NQP1Ax2.js +0 -6
- package/studio-dist/client/_app/immutable/chunks/BAtZg5v5.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/BB6WKLm82.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/BBX8UDtn.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/BBs1U1iU.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/BEli_4Jp2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/BEt2wIUt.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/BEyM8qSW2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/BFZA3Dsk2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/BGdPweG1.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/BGiusSqE.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/BGmpyfzD.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/BH5rhSIR.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/BHciFt922.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/BHnFwTQY.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/BIvye3XP2.js +0 -59
- package/studio-dist/client/_app/immutable/chunks/BJ8mcpQA2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/BK17qSHw.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/BLkgUtyb.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/BMUko3r62.js +0 -5
- package/studio-dist/client/_app/immutable/chunks/BMwzdEaa.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/BQZx6brg.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/BUPJTTTd.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/BVNGAeZe2.js +0 -146
- package/studio-dist/client/_app/immutable/chunks/BWfLryGm.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/BXIfeogw.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/BXTfFyUU.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/BYJC6_MM.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/BZV1ZJzH.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/BZu9rehd.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Bbzm48C52.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/BfGnlwjH.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Bfjb9LPp.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/BieFfu-R.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Bmv63uXe2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/BtBW1A0u.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/BxISGQCl2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/ByNR_KvT.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/BzjhD6Hr2.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/BzpWnq0c2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/C-yJVcyI2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/C0cQ-8kS2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/C1vWmhYe.js +0 -48
- package/studio-dist/client/_app/immutable/chunks/C1w6bBje.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/C243sn7r.js +0 -4
- package/studio-dist/client/_app/immutable/chunks/C2oZaDvt.js +0 -67
- package/studio-dist/client/_app/immutable/chunks/C3OziSQx.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/C3hFPbMK.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/C4P9oFvU2.js +0 -6
- package/studio-dist/client/_app/immutable/chunks/C5Nlanei.js +0 -8
- package/studio-dist/client/_app/immutable/chunks/C6KBAXPl.js +0 -15
- package/studio-dist/client/_app/immutable/chunks/C8MZnWta.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CAoan3K12.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CBpcINYH.js +0 -29
- package/studio-dist/client/_app/immutable/chunks/CE7phgWq.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CFb4Co_K.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/CGWoRK3t2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CH3t4xo1.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CHJgk6g-.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CHgPjuDQ.js +0 -17
- package/studio-dist/client/_app/immutable/chunks/CHkCZrnr.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CI_91WUN.js +0 -4
- package/studio-dist/client/_app/immutable/chunks/CJ7-hP0H.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CKIrNnkY2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CKoQ7Ko5.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CM8O4zqs.js +0 -56
- package/studio-dist/client/_app/immutable/chunks/CMz3AVRO.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CNToUR3P.js +0 -13
- package/studio-dist/client/_app/immutable/chunks/CNuQG1yl2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CQLIZtxj.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/CQYVNgM0.js +0 -20
- package/studio-dist/client/_app/immutable/chunks/CQeVOmFO2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CSPHHq09.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CTJEdbIn.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CTTT3wYw.js +0 -35
- package/studio-dist/client/_app/immutable/chunks/CV4ck7fz.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/CXQrVnHf.js +0 -11
- package/studio-dist/client/_app/immutable/chunks/CXTCtOUQ.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/C_CsU7Qq.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/C_IZx3682.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/CbTnu2Po2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Cba8RZ1a2.js +0 -8
- package/studio-dist/client/_app/immutable/chunks/Cc8xxDr5.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CdPxoldu.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CdqDTozW.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CdsmcCfC.js +0 -25
- package/studio-dist/client/_app/immutable/chunks/CeYPAoY9.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Cf4kGS9y.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CfWEqXtJ2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Cg7Wj2b9.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/CgTpKZfi2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Chpy9ca7.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/CiLKuLrQ.js +0 -4
- package/studio-dist/client/_app/immutable/chunks/CjNDJjwu.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Cjde0ZKr2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Cjgnade02.js +0 -3
- package/studio-dist/client/_app/immutable/chunks/Ckp90om52.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/ClAPVhCD.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/ClT89UdO.js +0 -11
- package/studio-dist/client/_app/immutable/chunks/CnJf5tML.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CpF4Rrcc2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CqCka5yX2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CqtqZrOl.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CrJdywQt.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Cs0zC2l2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CsMn5fBs.js +0 -141
- package/studio-dist/client/_app/immutable/chunks/CsvKLHQQ2.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/Ctaresvj.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Ctetf8vc2.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/Cv7yW6MG.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CxRIz-Zd.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/CxbvtjIH.js +0 -3
- package/studio-dist/client/_app/immutable/chunks/CxfeoXkZ.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/CySLscL2.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/D0PKQAbM.js +0 -87
- package/studio-dist/client/_app/immutable/chunks/D0WQsLTu.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/D1LBVx6r2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/D1NlFXu9.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/D1QfC4hu2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/D1yrHAn72.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/D2pa4reh.js +0 -7
- package/studio-dist/client/_app/immutable/chunks/D3QsWcIw2.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/D4OkQuPl2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/D6UDnATk2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/D7w7HllH.js +0 -38
- package/studio-dist/client/_app/immutable/chunks/D93KpglN.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/D99fQj2G2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DB5ifLM-.js +0 -3
- package/studio-dist/client/_app/immutable/chunks/DBhP8ifO2.js +0 -15
- package/studio-dist/client/_app/immutable/chunks/DF_4OWhj.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/DFpNK1vs2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DGRYMk-W.js +0 -142
- package/studio-dist/client/_app/immutable/chunks/DH3CcQwq.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DHQfJeLU.js +0 -4
- package/studio-dist/client/_app/immutable/chunks/DL89yEDy2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DLRku_0p2.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/DMZkjPYT2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DNP72foU.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DO2GztVm.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DOVNXmCK2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DOqzs8kl2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DQnR63hh2.js +0 -7
- package/studio-dist/client/_app/immutable/chunks/DTxtWPkw.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DVDgCC9A2.js +0 -20
- package/studio-dist/client/_app/immutable/chunks/DVVCJYjz.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DWRhYUMj2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DWavBJBI.js +0 -4
- package/studio-dist/client/_app/immutable/chunks/DXDSWRw-.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DXoHaH4a.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/DXpCX2Hi.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DYP3EJMY.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DYQphR_V.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DYUlIivP.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DYo2ye8X2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DYxFu8yV.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DZ66sRb6.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/D_XTiylm2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DaRv9jn22.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DaXb9i_E.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Dccf4VP2.js +0 -24
- package/studio-dist/client/_app/immutable/chunks/DdODs-Sb.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DdekYWer.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/DeHaovsF.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DeRRkRO52.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DeWI5qCn.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DfivR-Md.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DgmxpSo7.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DhPLWrun2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DhhrVdfi.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/Djr2dbcc2.js +0 -37
- package/studio-dist/client/_app/immutable/chunks/DjuRo5vv.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Djz4EDzO.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DkRfaw-K2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DksB5g4W2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Dmqenb5z2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DnbToVyf.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/DpGZwlmj.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Dq0lE5C32.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Dq54XqHT2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DqK84mbb.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DqjFtSJD.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/DrKWWDpL.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DsQIgu-4.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DsqdgJHS2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DtNkZUkq.js +0 -17
- package/studio-dist/client/_app/immutable/chunks/DutIls4V2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DvxYFW4C.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Dwp-76GQ.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/DxSZd548.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DxiUMhk0.js +0 -5
- package/studio-dist/client/_app/immutable/chunks/DxslLswf.js +0 -23
- package/studio-dist/client/_app/immutable/chunks/Dy7EjGgb2.js +0 -9
- package/studio-dist/client/_app/immutable/chunks/DyGQ_VXC.js +0 -3
- package/studio-dist/client/_app/immutable/chunks/DySe3kTV2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DyzE2Uxw.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DzhuJaxE2.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/FmMHyrh6.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Gxs0J274.js +0 -5
- package/studio-dist/client/_app/immutable/chunks/HwtzDYxN.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/ITRz_Q7H2.js +0 -15
- package/studio-dist/client/_app/immutable/chunks/KDNP98XY2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/LmVjFhpk2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/MiAejGV_.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Ml4JR6Jz2.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/NU5S3nNs2.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/Oh5zPjv3.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/QZkvJ9vi.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Rbn8UpBm.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/SPX3gYwn2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/UyeQuL132.js +0 -12
- package/studio-dist/client/_app/immutable/chunks/VQszoXcV.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/VtZsEMxD.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/W2IeK61p2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Wadww7ZG.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/WgfA1zWk2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/WxIgAS1f.js +0 -21
- package/studio-dist/client/_app/immutable/chunks/XrsBoOj9.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/Y3PX4poR.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/YxfwqiF32.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/Z7uO1YaO.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/_4ykQk_8.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/_kRcZFVn.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/aQNM7eVA2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/bHKz_Fb2.js +0 -45
- package/studio-dist/client/_app/immutable/chunks/bJRyRGSZ.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/dlzF6lnR.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/fjRbpfEr2.js +0 -26
- package/studio-dist/client/_app/immutable/chunks/imLk4if5.js +0 -3
- package/studio-dist/client/_app/immutable/chunks/lgRG0R-32.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/mFhCjxQJ2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/mgnH6qYg.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/n6M_5LoW.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/nLIOiDZp2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/nab7WB3u2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/orUmAKoW2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/p-fLQDfY2.js +0 -63
- package/studio-dist/client/_app/immutable/chunks/s0-WkOGk2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/sPuXfbUF.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/t4h0vrqR2.js +0 -2
- package/studio-dist/client/_app/immutable/chunks/uE83FKL-.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/uzhXlm0g2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/vTrEsGlD2.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/xJgCk3dx2.js +0 -28
- package/studio-dist/client/_app/immutable/chunks/z0Mt579s2.js +0 -13
- package/studio-dist/client/_app/immutable/entry/app.BoQ7cgT2.js +0 -2
- package/studio-dist/client/_app/immutable/entry/start.Cg1v8DU4.js +0 -1
- package/studio-dist/client/_app/immutable/nodes/25.ddZ1_EFk.js +0 -1
- package/studio-dist/client/_app/immutable/nodes/26.6OcmQbLV.js +0 -1
- package/studio-dist/client/_app/immutable/nodes/4.CCjOEwVU.js +0 -1
- package/studio-dist/server/chunks/0-CvsKDxQ6.js +0 -126
- package/studio-dist/server/chunks/1-ck_x2Hf0.js +0 -9
- package/studio-dist/server/chunks/20-DVU22np7.js +0 -142
- package/studio-dist/server/chunks/23-D_tUnnoc.js +0 -181
- package/studio-dist/server/chunks/24-CVlymvLF.js +0 -151
- package/studio-dist/server/chunks/AwsRestJsonProtocol-BZuoNBmL.js +0 -416
- package/studio-dist/server/chunks/UnionSerde-BflIkhKj.js +0 -2653
- package/studio-dist/server/chunks/_dispatch-ncuRztUQ.js +0 -5597
- package/studio-dist/server/chunks/_server.ts-4NyKAneX.js +0 -116
- package/studio-dist/server/chunks/_server.ts-7hGdxdEI.js +0 -136
- package/studio-dist/server/chunks/_server.ts-B6b3b-yA.js +0 -131
- package/studio-dist/server/chunks/_server.ts-BOgGqaZp.js +0 -144
- package/studio-dist/server/chunks/_server.ts-BV1HiKZ0.js +0 -120
- package/studio-dist/server/chunks/_server.ts-BWp3g6Cr.js +0 -110
- package/studio-dist/server/chunks/_server.ts-C5NF-UgC.js +0 -122
- package/studio-dist/server/chunks/_server.ts-CDMurH5m.js +0 -2301
- package/studio-dist/server/chunks/_server.ts-COJHCgbq.js +0 -127
- package/studio-dist/server/chunks/_server.ts-CUl-Utkt.js +0 -148
- package/studio-dist/server/chunks/_server.ts-D0GAFJRb.js +0 -156
- package/studio-dist/server/chunks/_server.ts-DA6p3pmi.js +0 -117
- package/studio-dist/server/chunks/_server.ts-DThYFaZj.js +0 -160
- package/studio-dist/server/chunks/_server.ts-D_3Pm0gr.js +0 -179
- package/studio-dist/server/chunks/_server.ts-DcHxdMsm.js +0 -144
- package/studio-dist/server/chunks/_server.ts-Dlfadh2I.js +0 -144
- package/studio-dist/server/chunks/_server.ts-JallJnps.js +0 -240
- package/studio-dist/server/chunks/_server.ts-NEFTbJpM.js +0 -142
- package/studio-dist/server/chunks/_server.ts-d-2NvRwX.js +0 -122
- package/studio-dist/server/chunks/_server.ts-rUWMLkIw.js +0 -146
- package/studio-dist/server/chunks/abort-events-CDRAJSqb.js +0 -30
- package/studio-dist/server/chunks/adapters-BkMgPNUM.js +0 -359
- package/studio-dist/server/chunks/adapters2-CQ3PzoaK.js +0 -28
- package/studio-dist/server/chunks/api-mode2-3W-I1-XO.js +0 -36
- package/studio-dist/server/chunks/api2-CmNQzb0b.js +0 -96
- package/studio-dist/server/chunks/attention-consolidate-CidG1jfH.js +0 -485
- package/studio-dist/server/chunks/audit3-DMO_fUGp.js +0 -52
- package/studio-dist/server/chunks/auto-extract-B84La1Vs.js +0 -34
- package/studio-dist/server/chunks/brain-consolidator-JGm6mzFf.js +0 -373
- package/studio-dist/server/chunks/brain-doctor-Dc2WqVbs.js +0 -311
- package/studio-dist/server/chunks/brain-embedding-Djw9ekXu.js +0 -42
- package/studio-dist/server/chunks/brain-lifecycle-BOOa876K.js +0 -969
- package/studio-dist/server/chunks/brain-maintenance-U6VvsvmK.js +0 -133
- package/studio-dist/server/chunks/brain-maintenance2-CwVSmfDT.js +0 -43
- package/studio-dist/server/chunks/brain-retrieval2-exR8mdgh.js +0 -751
- package/studio-dist/server/chunks/brain-search-CpSh-SNi.js +0 -48
- package/studio-dist/server/chunks/brain-search2-CwI2cXgg.js +0 -716
- package/studio-dist/server/chunks/brain-similarity-DI4yzm9e.js +0 -113
- package/studio-dist/server/chunks/brain-stdp2-BxSBIlSr.js +0 -960
- package/studio-dist/server/chunks/brain-writer-handlers-Dwu0QCAA.js +0 -188
- package/studio-dist/server/chunks/brain-writer-thread-6n7wI7Gy.js +0 -360
- package/studio-dist/server/chunks/branch-lock-Cq7zzmFK.js +0 -1118
- package/studio-dist/server/chunks/branch-lock2-CmDc4CZW.js +0 -45
- package/studio-dist/server/chunks/cancelled-child-waiver-audit-DkesrN83.js +0 -54
- package/studio-dist/server/chunks/catalog-model-resolver-Bas9qnoP.js +0 -9
- package/studio-dist/server/chunks/catalog-model-resolver2-Cexk2TN0.js +0 -237
- package/studio-dist/server/chunks/catalog-resolver-CLot3XJO.js +0 -260
- package/studio-dist/server/chunks/catalog-resolver2-JmKb91kY.js +0 -33
- package/studio-dist/server/chunks/chunk-DDP5xfzh.js +0 -39
- package/studio-dist/server/chunks/cleo-home-CCfe6kAQ.js +0 -64
- package/studio-dist/server/chunks/concrete-session2-bb_vxJ2N.js +0 -43
- package/studio-dist/server/chunks/config-DHj9CcFs.js +0 -386
- package/studio-dist/server/chunks/config2-F6PPIn7D.js +0 -35
- package/studio-dist/server/chunks/connections-BMGJVYcS.js +0 -98
- package/studio-dist/server/chunks/credential-pool-vF6NdtT9.js +0 -4600
- package/studio-dist/server/chunks/credentials-C7EJFf5O.js +0 -35
- package/studio-dist/server/chunks/credentials-store-CFygIuB2.js +0 -35
- package/studio-dist/server/chunks/cross-db-cleanup-1LWTUKPi.js +0 -147
- package/studio-dist/server/chunks/data-accessor-CWgVndbR.js +0 -72
- package/studio-dist/server/chunks/data-safety-central-DaFxK27G.js +0 -683
- package/studio-dist/server/chunks/decisions-CmVXV2-H.js +0 -574
- package/studio-dist/server/chunks/decisions2-XQsSYdxa.js +0 -48
- package/studio-dist/server/chunks/depends-waiver-audit-CUmlBYHx.js +0 -56
- package/studio-dist/server/chunks/dialectic-evaluator2-BOyyXhdI.js +0 -96
- package/studio-dist/server/chunks/dist-es2-DQy2Mjn_.js +0 -43
- package/studio-dist/server/chunks/dist-es3-CBygU4n5.js +0 -365
- package/studio-dist/server/chunks/dist-es4-CavbNu4B.js +0 -162
- package/studio-dist/server/chunks/dist-es5-Crpm8Wsl.js +0 -465
- package/studio-dist/server/chunks/dist-es6-CgePHzh4.js +0 -99
- package/studio-dist/server/chunks/dist-es7-k6c5GEd7.js +0 -311
- package/studio-dist/server/chunks/dist-es8-Bd9v0_pE.js +0 -91
- package/studio-dist/server/chunks/dist3-23bsJhRw.js +0 -27
- package/studio-dist/server/chunks/dist4-DmC1zSXi.js +0 -35618
- package/studio-dist/server/chunks/dual-scope-db-DKnWu1KM.js +0 -5672
- package/studio-dist/server/chunks/dual-scope-db2-Dht3luRw.js +0 -31
- package/studio-dist/server/chunks/duplicate-bypass-audit-BN5w1H2y.js +0 -36
- package/studio-dist/server/chunks/duplicate-detector-CaVFMKdE.js +0 -692
- package/studio-dist/server/chunks/edge-types-CgBvb0w1.js +0 -28
- package/studio-dist/server/chunks/embedding-local-xEnym8Ho.js +0 -92
- package/studio-dist/server/chunks/event-streams-Bi2p_fVo.js +0 -232
- package/studio-dist/server/chunks/execution-learning-BVCw7Plq.js +0 -278
- package/studio-dist/server/chunks/exodus-BBuuN6aA.js +0 -2594
- package/studio-dist/server/chunks/externalDataInterceptor-C3C4cObe.js +0 -21
- package/studio-dist/server/chunks/extraction-gate-DDNBq7gu.js +0 -48
- package/studio-dist/server/chunks/extraction-gate2-D77EZBQ6.js +0 -375
- package/studio-dist/server/chunks/getSSOTokenFromFile-yZAJxDci.js +0 -21
- package/studio-dist/server/chunks/governor2-CtfV3wfX.js +0 -923
- package/studio-dist/server/chunks/graph-auto-populate-Dmsr9ZJM.js +0 -42
- package/studio-dist/server/chunks/graph-auto-populate2-Cz0qeebM.js +0 -156
- package/studio-dist/server/chunks/graph-memory-bridge-CY8ft_d7.js +0 -43
- package/studio-dist/server/chunks/graph-memory-bridge2-Cd0XZwqc.js +0 -429
- package/studio-dist/server/chunks/handler-helpers-AANBGA_p.js +0 -49
- package/studio-dist/server/chunks/hash-Cm6yMET4.js +0 -14
- package/studio-dist/server/chunks/health-monitor-FepUZN1m.js +0 -106
- package/studio-dist/server/chunks/identity-DRpurt56.js +0 -30
- package/studio-dist/server/chunks/identity2-DeAB5RXE.js +0 -114
- package/studio-dist/server/chunks/index-61916rmV.js +0 -632
- package/studio-dist/server/chunks/index-DAgVDouG.js +0 -268
- package/studio-dist/server/chunks/index-Dtt_h58T.js +0 -2116
- package/studio-dist/server/chunks/indexes-DZ52grq6.js +0 -615
- package/studio-dist/server/chunks/json-Bfixam3g.js +0 -126
- package/studio-dist/server/chunks/learnings-D6Y3YGMU.js +0 -47
- package/studio-dist/server/chunks/learnings2-MwBdR9vb.js +0 -171
- package/studio-dist/server/chunks/lifecycle-ops2-V2CR5-7X.js +0 -121
- package/studio-dist/server/chunks/list-BhObczvn.js +0 -229
- package/studio-dist/server/chunks/living-brain2-j0B_Ir8j.js +0 -285
- package/studio-dist/server/chunks/llm-backend-resolver-D4ANvUPL.js +0 -295
- package/studio-dist/server/chunks/llm-extraction-DVCu4heR.js +0 -408
- package/studio-dist/server/chunks/loadSharedConfigFiles-umvW7kuz.js +0 -73
- package/studio-dist/server/chunks/loadSso-iidd5iKx.js +0 -599
- package/studio-dist/server/chunks/local-model-fit-B0TxifnX.js +0 -53
- package/studio-dist/server/chunks/local-model-fit2-BMqo6GJm.js +0 -2664
- package/studio-dist/server/chunks/lock-CA7d6lj7.js +0 -57
- package/studio-dist/server/chunks/logger-DQIoyZbq.js +0 -34
- package/studio-dist/server/chunks/memory-BUbicBbE.js +0 -618
- package/studio-dist/server/chunks/memory-accessor-i3P-RHSg.js +0 -42
- package/studio-dist/server/chunks/memory-accessor2-B981tHDR.js +0 -467
- package/studio-dist/server/chunks/memory-bridge-BOlEWg9w.js +0 -424
- package/studio-dist/server/chunks/memory-sqlite2-B7dq8doO.js +0 -42
- package/studio-dist/server/chunks/model-runner2-B71xjp4y.js +0 -43
- package/studio-dist/server/chunks/mvi-helpers-BNsJ8ZpQ.js +0 -59
- package/studio-dist/server/chunks/nexus-plasticity-BTfU8cW_.js +0 -269
- package/studio-dist/server/chunks/nexus-risk-audit-p379-TU5.js +0 -54
- package/studio-dist/server/chunks/nexus-schema-zeygY8OD.js +0 -11
- package/studio-dist/server/chunks/nexus-schema2-DP0Qd7CA.js +0 -444
- package/studio-dist/server/chunks/nexus-sqlite-BVNIpwc7.js +0 -36
- package/studio-dist/server/chunks/nexus-sqlite2-BBfY2xnY.js +0 -1103
- package/studio-dist/server/chunks/node-http-handler-CJI8kn7X.js +0 -386
- package/studio-dist/server/chunks/observe-Bo9veHGe.js +0 -47
- package/studio-dist/server/chunks/observe2-wzO0MaMY.js +0 -245
- package/studio-dist/server/chunks/observer-reflector-BwNOuq1d.js +0 -62
- package/studio-dist/server/chunks/observer-reflector2-ggtC1hmk.js +0 -478
- package/studio-dist/server/chunks/on-open-Wpcw7DV4.js +0 -740
- package/studio-dist/server/chunks/open-cleo-db--8sYNaYY.js +0 -70
- package/studio-dist/server/chunks/parseKnownFiles-Dg0pMFcT.js +0 -18
- package/studio-dist/server/chunks/parseUrl-qgGfl-Vh.js +0 -120
- package/studio-dist/server/chunks/paths-CV7S5-Zm.js +0 -30012
- package/studio-dist/server/chunks/patterns-lh5kn13I.js +0 -48
- package/studio-dist/server/chunks/patterns2-CzIcT-ai.js +0 -177
- package/studio-dist/server/chunks/pipeline-stage-IB_pOft-.js +0 -63
- package/studio-dist/server/chunks/prediction-D1lSGJ4c.js +0 -217
- package/studio-dist/server/chunks/premature-close-audit-VG09uAco.js +0 -53
- package/studio-dist/server/chunks/project-context-BjiqfEBi.js +0 -166
- package/studio-dist/server/chunks/provider-registry2-Cu7rAF0R.js +0 -35
- package/studio-dist/server/chunks/quality-feedback-CuCGEI6S.js +0 -371
- package/studio-dist/server/chunks/quality-scoring-CCPuRQmJ.js +0 -160
- package/studio-dist/server/chunks/query-ops-DCrjbZb9.js +0 -78
- package/studio-dist/server/chunks/query-promise-BkPmGPJy.js +0 -1257
- package/studio-dist/server/chunks/readFile-CxwXhymG.js +0 -31
- package/studio-dist/server/chunks/registry-CL2gN1zd.js +0 -27
- package/studio-dist/server/chunks/registry2-DoPYJnUW.js +0 -233
- package/studio-dist/server/chunks/registry3-BajEb-ll.js +0 -42
- package/studio-dist/server/chunks/registry4-DCqffZkT.js +0 -142
- package/studio-dist/server/chunks/retry-B3oEKYpp.js +0 -105
- package/studio-dist/server/chunks/role-executor-CC8BU54L.js +0 -25379
- package/studio-dist/server/chunks/role-resolver-D9QaDT0e.js +0 -6544
- package/studio-dist/server/chunks/role-resolver2-nkhzS1oy.js +0 -37
- package/studio-dist/server/chunks/rollup-CiefjN_Y.js +0 -194
- package/studio-dist/server/chunks/safety-data-accessor-CniDmGJO.js +0 -276
- package/studio-dist/server/chunks/service-connections-accessor-yBCdcgU-.js +0 -282
- package/studio-dist/server/chunks/session-factory-vbengc42.js +0 -96
- package/studio-dist/server/chunks/session-grade-BF4ZZtN_.js +0 -244
- package/studio-dist/server/chunks/session-journal-Bvey70Ur.js +0 -235
- package/studio-dist/server/chunks/session-narrative-BirZINSU.js +0 -304
- package/studio-dist/server/chunks/session-store--N_xHxUH.js +0 -557
- package/studio-dist/server/chunks/session-store2-DAM-eVTH.js +0 -43
- package/studio-dist/server/chunks/sessions-33DD4hkt.js +0 -2273
- package/studio-dist/server/chunks/sessions2-BHswKRDP.js +0 -50
- package/studio-dist/server/chunks/sigil-B-RznFXz.js +0 -33
- package/studio-dist/server/chunks/sigil2-jRMG5DuR.js +0 -47
- package/studio-dist/server/chunks/signin-BAsW3mM8.js +0 -644
- package/studio-dist/server/chunks/sleep-consolidation-BnSwXrvq.js +0 -823
- package/studio-dist/server/chunks/specialists-B_ZbpQlK.js +0 -441
- package/studio-dist/server/chunks/sqlite-Bm5LzbPs.js +0 -5977
- package/studio-dist/server/chunks/sqlite-backup-CFG1-b2e.js +0 -42
- package/studio-dist/server/chunks/sqlite-data-accessor-DD_RFX6r.js +0 -987
- package/studio-dist/server/chunks/sqlite-data-accessor2-CRmgNBnq.js +0 -44
- package/studio-dist/server/chunks/sqlite-native-BwlIqtbs.js +0 -42
- package/studio-dist/server/chunks/sqlite2-CUPut2fh.js +0 -42
- package/studio-dist/server/chunks/src2-DK8DKufK.js +0 -290
- package/studio-dist/server/chunks/src3-BJjf7XRG.js +0 -798
- package/studio-dist/server/chunks/src4-DNleK_t_.js +0 -28
- package/studio-dist/server/chunks/sso-oidc-eUvwseuL.js +0 -861
- package/studio-dist/server/chunks/storage-B9UA3BHR.js +0 -198
- package/studio-dist/server/chunks/sts-g7LDMLEd.js +0 -4655
- package/studio-dist/server/chunks/surprisal-CwTfWQi8.js +0 -224
- package/studio-dist/server/chunks/surprisal-tree-7dfHsuw1.js +0 -230
- package/studio-dist/server/chunks/system-resolver2-Bzhue_zQ.js +0 -53
- package/studio-dist/server/chunks/tasks-SHX7UPGY.js +0 -19694
- package/studio-dist/server/chunks/tasks-schema2-CTMoQKQy.js +0 -42
- package/studio-dist/server/chunks/temporal-supersession-DP4GPG_B.js +0 -298
- package/studio-dist/server/chunks/token-cAhAD9f9.js +0 -139
- package/studio-dist/server/chunks/token-util-D6drEz8_.js +0 -353
- package/studio-dist/server/chunks/token-util2-8UPSGvbb.js +0 -97
- package/studio-dist/server/chunks/transcript-scanner-kJWhWmlg.js +0 -53
- package/studio-dist/server/chunks/transformers.node-_xbxmK5p.js +0 -38475
- package/studio-dist/server/chunks/typed-query-l1D_QElt.js +0 -18
- package/studio-dist/server/chunks/unique-constraint-BZrrwgwc.js +0 -88
- package/studio-dist/server/chunks/update-B2YVBZG0.js +0 -1594
- package/studio-dist/server/chunks/user-profile-B61ZhVmC.js +0 -89
- package/studio-dist/server/chunks/utils-BPSZyajG.js +0 -1176
- package/studio-dist/server/chunks/validation-rules-CE27rtoF.js +0 -44
- package/studio-dist/server/chunks/zod-DsAeKNLm.js +0 -141
- /package/studio-dist/client/_app/immutable/chunks/{CQCxd1p9.js → B8WnZMYa.js} +0 -0
- /package/studio-dist/client/_app/immutable/chunks/{D13Quv9e2.js → B_0_YCYG.js} +0 -0
- /package/studio-dist/client/_app/immutable/chunks/{djL6V-tr.js → CqgtdAx_.js} +0 -0
- /package/studio-dist/client/_app/immutable/chunks/{_FU7h_8p2.js → KrUPZzXZ.js} +0 -0
|
@@ -1,4655 +0,0 @@
|
|
|
1
|
-
import { s as setCredentialFeature, T as TypeRegistry, r as resolveRetryConfig, i as getRetryPlugin, j as calculateBodyLength, k as Hash, N as NODE_RETRY_MODE_CONFIG_OPTIONS, D as DEFAULT_RETRY_MODE, l as NODE_MAX_ATTEMPT_CONFIG_OPTIONS, n as normalizeProvider$1, t as toUtf8$1, m as fromUtf8$1, o as NoOpLogger, q as toBase64$1, u as fromBase64$1, H as HttpRequest, P as ProviderError, v as normalizeProvider, a0 as deref, y as NormalizedSchema, $ as collectBody, B as SignatureV4, a1 as HttpProtocol, W as generateIdempotencyToken, V as NumericValue, Q as determineTimestampFormat, U as dateToUtcString, a2 as extendedEncodeURIComponent, a3 as FromStringShapeDeserializer } from './role-executor-CC8BU54L.js';
|
|
2
|
-
import { C as Command, g as getEndpointPlugin, u as NODE_REGION_CONFIG_FILE_OPTIONS, v as NODE_REGION_CONFIG_OPTIONS, M as EndpointCache, Q as awsEndpointFunctions, R as customEndpointFunctions, S as ServiceException, a as Client, r as resolveEndpointConfig, b as resolveHostHeaderConfig, c as resolveRegionConfig, d as resolveUserAgentConfig, e as getSchemaSerdePlugin, f as getUserAgentPlugin, h as getContentLengthPlugin, i as getHostHeaderPlugin, j as getLoggerPlugin, k as getRecursionDetectionPlugin, l as getHttpAuthSchemeEndpointRuleSetPlugin, D as DefaultIdentityProviderConfig, m as getHttpSigningPlugin, n as emitWarningIfUnsupportedVersion$1, o as resolveDefaultsModeConfig, p as emitWarningIfUnsupportedVersion, s as streamCollector, J as AwsSdkSigV4Signer, K as NoAuthSigner, N as NODE_APP_ID_CONFIG_OPTIONS, q as NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, t as NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, w as createDefaultUserAgentProvider, x as package_default, y as NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, z as getAwsRegionExtensionConfiguration, A as getDefaultExtensionConfiguration, B as getHttpHandlerExtensionConfiguration, E as resolveAwsRegionExtensionConfiguration, F as resolveDefaultRuntimeConfig, G as resolveHttpHandlerRuntimeConfig, H as resolveAwsSdkSigV4Config, W as validateSigningProperties, X as getSkewCorrectedDate, L as loadConfigsForDefaultMode, I as getSmithyContext, Y as resolveParams, T as ProtocolLib, O as decideEndpoint, U as SerdeContextConfig, V as UnionSerde, P as BinaryDecisionDiagram } from './UnionSerde-BflIkhKj.js';
|
|
3
|
-
import { l as loadConfig, p as parseUrl } from './parseUrl-qgGfl-Vh.js';
|
|
4
|
-
import { N as NodeHttpHandler } from './node-http-handler-CJI8kn7X.js';
|
|
5
|
-
import './paths-CV7S5-Zm.js';
|
|
6
|
-
import 'node:fs';
|
|
7
|
-
import 'node:path';
|
|
8
|
-
import 'node:os';
|
|
9
|
-
import 'node:events';
|
|
10
|
-
import 'node:diagnostics_channel';
|
|
11
|
-
import 'fs';
|
|
12
|
-
import 'events';
|
|
13
|
-
import 'util';
|
|
14
|
-
import 'path';
|
|
15
|
-
import 'assert';
|
|
16
|
-
import 'worker_threads';
|
|
17
|
-
import 'module';
|
|
18
|
-
import 'node:url';
|
|
19
|
-
import 'url';
|
|
20
|
-
import 'buffer';
|
|
21
|
-
import 'node:module';
|
|
22
|
-
import 'node:child_process';
|
|
23
|
-
import 'node:crypto';
|
|
24
|
-
import 'node:process';
|
|
25
|
-
import 'node:async_hooks';
|
|
26
|
-
import './credential-pool-vF6NdtT9.js';
|
|
27
|
-
import './index-Dtt_h58T.js';
|
|
28
|
-
import 'constants';
|
|
29
|
-
import 'stream';
|
|
30
|
-
import './config-DHj9CcFs.js';
|
|
31
|
-
import './json-Bfixam3g.js';
|
|
32
|
-
import './lock-CA7d6lj7.js';
|
|
33
|
-
import 'node:fs/promises';
|
|
34
|
-
import './index-61916rmV.js';
|
|
35
|
-
import './role-resolver-D9QaDT0e.js';
|
|
36
|
-
import 'node:stream';
|
|
37
|
-
import 'crypto';
|
|
38
|
-
import 'os';
|
|
39
|
-
import 'node:http2';
|
|
40
|
-
import 'fs/promises';
|
|
41
|
-
import 'node:net';
|
|
42
|
-
import './loadSharedConfigFiles-umvW7kuz.js';
|
|
43
|
-
import './readFile-CxwXhymG.js';
|
|
44
|
-
import 'node:https';
|
|
45
|
-
|
|
46
|
-
//#region ../../node_modules/.pnpm/@smithy+core@3.24.3/node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js
|
|
47
|
-
var RpcProtocol = class extends HttpProtocol {
|
|
48
|
-
async serializeRequest(operationSchema, _input, context) {
|
|
49
|
-
const serializer = this.serializer;
|
|
50
|
-
const query = {};
|
|
51
|
-
const headers = {};
|
|
52
|
-
const endpoint = await context.endpoint();
|
|
53
|
-
const ns = NormalizedSchema.of(operationSchema?.input);
|
|
54
|
-
const schema = ns.getSchema();
|
|
55
|
-
let payload;
|
|
56
|
-
const input = _input && typeof _input === "object" ? _input : {};
|
|
57
|
-
const request = new HttpRequest({
|
|
58
|
-
protocol: "",
|
|
59
|
-
hostname: "",
|
|
60
|
-
port: void 0,
|
|
61
|
-
path: "/",
|
|
62
|
-
fragment: void 0,
|
|
63
|
-
query,
|
|
64
|
-
headers,
|
|
65
|
-
body: void 0
|
|
66
|
-
});
|
|
67
|
-
if (endpoint) {
|
|
68
|
-
this.updateServiceEndpoint(request, endpoint);
|
|
69
|
-
this.setHostPrefix(request, operationSchema, input);
|
|
70
|
-
}
|
|
71
|
-
if (input) {
|
|
72
|
-
const eventStreamMember = ns.getEventStreamMember();
|
|
73
|
-
if (eventStreamMember) {
|
|
74
|
-
if (input[eventStreamMember]) {
|
|
75
|
-
const initialRequest = {};
|
|
76
|
-
for (const [memberName, memberSchema] of ns.structIterator()) if (memberName !== eventStreamMember && input[memberName]) {
|
|
77
|
-
serializer.write(memberSchema, input[memberName]);
|
|
78
|
-
initialRequest[memberName] = serializer.flush();
|
|
79
|
-
}
|
|
80
|
-
payload = await this.serializeEventStream({
|
|
81
|
-
eventStream: input[eventStreamMember],
|
|
82
|
-
requestSchema: ns,
|
|
83
|
-
initialRequest
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
} else {
|
|
87
|
-
serializer.write(schema, input);
|
|
88
|
-
payload = serializer.flush();
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
request.headers = Object.assign(request.headers, headers);
|
|
92
|
-
request.query = query;
|
|
93
|
-
request.body = payload;
|
|
94
|
-
request.method = "POST";
|
|
95
|
-
return request;
|
|
96
|
-
}
|
|
97
|
-
async deserializeResponse(operationSchema, context, response) {
|
|
98
|
-
const deserializer = this.deserializer;
|
|
99
|
-
const ns = NormalizedSchema.of(operationSchema.output);
|
|
100
|
-
const dataObject = {};
|
|
101
|
-
if (response.statusCode >= 300) {
|
|
102
|
-
const bytes = await collectBody(response.body, context);
|
|
103
|
-
if (bytes.byteLength > 0) Object.assign(dataObject, await deserializer.read(15, bytes));
|
|
104
|
-
await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));
|
|
105
|
-
throw new Error("@smithy/core/protocols - RPC Protocol error handler failed to throw.");
|
|
106
|
-
}
|
|
107
|
-
for (const header in response.headers) {
|
|
108
|
-
const value = response.headers[header];
|
|
109
|
-
delete response.headers[header];
|
|
110
|
-
response.headers[header.toLowerCase()] = value;
|
|
111
|
-
}
|
|
112
|
-
const eventStreamMember = ns.getEventStreamMember();
|
|
113
|
-
if (eventStreamMember) dataObject[eventStreamMember] = await this.deserializeEventStream({
|
|
114
|
-
response,
|
|
115
|
-
responseSchema: ns,
|
|
116
|
-
initialResponseContainer: dataObject
|
|
117
|
-
});
|
|
118
|
-
else {
|
|
119
|
-
const bytes = await collectBody(response.body, context);
|
|
120
|
-
if (bytes.byteLength > 0) Object.assign(dataObject, await deserializer.read(ns, bytes));
|
|
121
|
-
}
|
|
122
|
-
dataObject.$metadata = this.deserializeMetadata(response);
|
|
123
|
-
return dataObject;
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
//#endregion
|
|
127
|
-
//#region ../../node_modules/.pnpm/@smithy+core@3.24.3/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/get-value-from-text-node.js
|
|
128
|
-
var getValueFromTextNode = (obj) => {
|
|
129
|
-
const textNodeName = "#text";
|
|
130
|
-
for (const key in obj) if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== void 0) obj[key] = obj[key][textNodeName];
|
|
131
|
-
else if (typeof obj[key] === "object" && obj[key] !== null) obj[key] = getValueFromTextNode(obj[key]);
|
|
132
|
-
return obj;
|
|
133
|
-
};
|
|
134
|
-
//#endregion
|
|
135
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+core@3.974.11/node_modules/@aws-sdk/core/dist-es/submodules/client/region-config-resolver/stsRegionDefaultResolver.js
|
|
136
|
-
function stsRegionDefaultResolver(loaderConfig = {}) {
|
|
137
|
-
return loadConfig({
|
|
138
|
-
...NODE_REGION_CONFIG_OPTIONS,
|
|
139
|
-
async default() {
|
|
140
|
-
console.warn("@aws-sdk - WARN - default STS region of us-east-1 used. See @aws-sdk/credential-providers README and set a region explicitly.");
|
|
141
|
-
return "us-east-1";
|
|
142
|
-
}
|
|
143
|
-
}, {
|
|
144
|
-
...NODE_REGION_CONFIG_FILE_OPTIONS,
|
|
145
|
-
...loaderConfig
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
//#endregion
|
|
149
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+core@3.974.11/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.js
|
|
150
|
-
var AwsSdkSigV4ASigner = class extends AwsSdkSigV4Signer {
|
|
151
|
-
async sign(httpRequest, identity, signingProperties) {
|
|
152
|
-
if (!HttpRequest.isInstance(httpRequest)) throw new Error("The request is not an instance of `HttpRequest` and cannot be signed");
|
|
153
|
-
const { config, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(signingProperties);
|
|
154
|
-
const multiRegionOverride = (await config.sigv4aSigningRegionSet?.() ?? signingRegionSet ?? [signingRegion]).join(",");
|
|
155
|
-
return await signer.sign(httpRequest, {
|
|
156
|
-
signingDate: getSkewCorrectedDate(config.systemClockOffset),
|
|
157
|
-
signingRegion: multiRegionOverride,
|
|
158
|
-
signingService: signingName
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
};
|
|
162
|
-
//#endregion
|
|
163
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+core@3.974.11/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.js
|
|
164
|
-
var resolveAwsSdkSigV4AConfig = (config) => {
|
|
165
|
-
config.sigv4aSigningRegionSet = normalizeProvider(config.sigv4aSigningRegionSet);
|
|
166
|
-
return config;
|
|
167
|
-
};
|
|
168
|
-
var NODE_SIGV4A_CONFIG_OPTIONS = {
|
|
169
|
-
environmentVariableSelector(env) {
|
|
170
|
-
if (env.AWS_SIGV4A_SIGNING_REGION_SET) return env.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map((_) => _.trim());
|
|
171
|
-
throw new ProviderError("AWS_SIGV4A_SIGNING_REGION_SET not set in env.", { tryNextLink: true });
|
|
172
|
-
},
|
|
173
|
-
configFileSelector(profile) {
|
|
174
|
-
if (profile.sigv4a_signing_region_set) return (profile.sigv4a_signing_region_set ?? "").split(",").map((_) => _.trim());
|
|
175
|
-
throw new ProviderError("sigv4a_signing_region_set not set in profile.", { tryNextLink: true });
|
|
176
|
-
},
|
|
177
|
-
default: void 0
|
|
178
|
-
};
|
|
179
|
-
//#endregion
|
|
180
|
-
//#region ../../node_modules/.pnpm/fast-xml-parser@5.7.3/node_modules/fast-xml-parser/src/util.js
|
|
181
|
-
var nameStartChar = ":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD";
|
|
182
|
-
var nameRegexp = "[" + nameStartChar + "][:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*";
|
|
183
|
-
var regexName = new RegExp("^" + nameRegexp + "$");
|
|
184
|
-
function getAllMatches(string, regex) {
|
|
185
|
-
const matches = [];
|
|
186
|
-
let match = regex.exec(string);
|
|
187
|
-
while (match) {
|
|
188
|
-
const allmatches = [];
|
|
189
|
-
allmatches.startIndex = regex.lastIndex - match[0].length;
|
|
190
|
-
const len = match.length;
|
|
191
|
-
for (let index = 0; index < len; index++) allmatches.push(match[index]);
|
|
192
|
-
matches.push(allmatches);
|
|
193
|
-
match = regex.exec(string);
|
|
194
|
-
}
|
|
195
|
-
return matches;
|
|
196
|
-
}
|
|
197
|
-
var isName = function(string) {
|
|
198
|
-
const match = regexName.exec(string);
|
|
199
|
-
return !(match === null || typeof match === "undefined");
|
|
200
|
-
};
|
|
201
|
-
function isExist(v) {
|
|
202
|
-
return typeof v !== "undefined";
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Dangerous property names that could lead to prototype pollution or security issues
|
|
206
|
-
*/
|
|
207
|
-
var DANGEROUS_PROPERTY_NAMES = [
|
|
208
|
-
"hasOwnProperty",
|
|
209
|
-
"toString",
|
|
210
|
-
"valueOf",
|
|
211
|
-
"__defineGetter__",
|
|
212
|
-
"__defineSetter__",
|
|
213
|
-
"__lookupGetter__",
|
|
214
|
-
"__lookupSetter__"
|
|
215
|
-
];
|
|
216
|
-
var criticalProperties = [
|
|
217
|
-
"__proto__",
|
|
218
|
-
"constructor",
|
|
219
|
-
"prototype"
|
|
220
|
-
];
|
|
221
|
-
//#endregion
|
|
222
|
-
//#region ../../node_modules/.pnpm/fast-xml-parser@5.7.3/node_modules/fast-xml-parser/src/validator.js
|
|
223
|
-
var defaultOptions$1 = {
|
|
224
|
-
allowBooleanAttributes: false,
|
|
225
|
-
unpairedTags: []
|
|
226
|
-
};
|
|
227
|
-
function validate(xmlData, options) {
|
|
228
|
-
options = Object.assign({}, defaultOptions$1, options);
|
|
229
|
-
const tags = [];
|
|
230
|
-
let tagFound = false;
|
|
231
|
-
let reachedRoot = false;
|
|
232
|
-
if (xmlData[0] === "") xmlData = xmlData.substr(1);
|
|
233
|
-
for (let i = 0; i < xmlData.length; i++) if (xmlData[i] === "<" && xmlData[i + 1] === "?") {
|
|
234
|
-
i += 2;
|
|
235
|
-
i = readPI(xmlData, i);
|
|
236
|
-
if (i.err) return i;
|
|
237
|
-
} else if (xmlData[i] === "<") {
|
|
238
|
-
let tagStartPos = i;
|
|
239
|
-
i++;
|
|
240
|
-
if (xmlData[i] === "!") {
|
|
241
|
-
i = readCommentAndCDATA(xmlData, i);
|
|
242
|
-
continue;
|
|
243
|
-
} else {
|
|
244
|
-
let closingTag = false;
|
|
245
|
-
if (xmlData[i] === "/") {
|
|
246
|
-
closingTag = true;
|
|
247
|
-
i++;
|
|
248
|
-
}
|
|
249
|
-
let tagName = "";
|
|
250
|
-
for (; i < xmlData.length && xmlData[i] !== ">" && xmlData[i] !== " " && xmlData[i] !== " " && xmlData[i] !== "\n" && xmlData[i] !== "\r"; i++) tagName += xmlData[i];
|
|
251
|
-
tagName = tagName.trim();
|
|
252
|
-
if (tagName[tagName.length - 1] === "/") {
|
|
253
|
-
tagName = tagName.substring(0, tagName.length - 1);
|
|
254
|
-
i--;
|
|
255
|
-
}
|
|
256
|
-
if (!validateTagName(tagName)) {
|
|
257
|
-
let msg;
|
|
258
|
-
if (tagName.trim().length === 0) msg = "Invalid space after '<'.";
|
|
259
|
-
else msg = "Tag '" + tagName + "' is an invalid name.";
|
|
260
|
-
return getErrorObject("InvalidTag", msg, getLineNumberForPosition(xmlData, i));
|
|
261
|
-
}
|
|
262
|
-
const result = readAttributeStr(xmlData, i);
|
|
263
|
-
if (result === false) return getErrorObject("InvalidAttr", "Attributes for '" + tagName + "' have open quote.", getLineNumberForPosition(xmlData, i));
|
|
264
|
-
let attrStr = result.value;
|
|
265
|
-
i = result.index;
|
|
266
|
-
if (attrStr[attrStr.length - 1] === "/") {
|
|
267
|
-
const attrStrStart = i - attrStr.length;
|
|
268
|
-
attrStr = attrStr.substring(0, attrStr.length - 1);
|
|
269
|
-
const isValid = validateAttributeString(attrStr, options);
|
|
270
|
-
if (isValid === true) tagFound = true;
|
|
271
|
-
else return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));
|
|
272
|
-
} else if (closingTag) if (!result.tagClosed) return getErrorObject("InvalidTag", "Closing tag '" + tagName + "' doesn't have proper closing.", getLineNumberForPosition(xmlData, i));
|
|
273
|
-
else if (attrStr.trim().length > 0) return getErrorObject("InvalidTag", "Closing tag '" + tagName + "' can't have attributes or invalid starting.", getLineNumberForPosition(xmlData, tagStartPos));
|
|
274
|
-
else if (tags.length === 0) return getErrorObject("InvalidTag", "Closing tag '" + tagName + "' has not been opened.", getLineNumberForPosition(xmlData, tagStartPos));
|
|
275
|
-
else {
|
|
276
|
-
const otg = tags.pop();
|
|
277
|
-
if (tagName !== otg.tagName) {
|
|
278
|
-
let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);
|
|
279
|
-
return getErrorObject("InvalidTag", "Expected closing tag '" + otg.tagName + "' (opened in line " + openPos.line + ", col " + openPos.col + ") instead of closing tag '" + tagName + "'.", getLineNumberForPosition(xmlData, tagStartPos));
|
|
280
|
-
}
|
|
281
|
-
if (tags.length == 0) reachedRoot = true;
|
|
282
|
-
}
|
|
283
|
-
else {
|
|
284
|
-
const isValid = validateAttributeString(attrStr, options);
|
|
285
|
-
if (isValid !== true) return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));
|
|
286
|
-
if (reachedRoot === true) return getErrorObject("InvalidXml", "Multiple possible root nodes found.", getLineNumberForPosition(xmlData, i));
|
|
287
|
-
else if (options.unpairedTags.indexOf(tagName) !== -1) ; else tags.push({
|
|
288
|
-
tagName,
|
|
289
|
-
tagStartPos
|
|
290
|
-
});
|
|
291
|
-
tagFound = true;
|
|
292
|
-
}
|
|
293
|
-
for (i++; i < xmlData.length; i++) if (xmlData[i] === "<") if (xmlData[i + 1] === "!") {
|
|
294
|
-
i++;
|
|
295
|
-
i = readCommentAndCDATA(xmlData, i);
|
|
296
|
-
continue;
|
|
297
|
-
} else if (xmlData[i + 1] === "?") {
|
|
298
|
-
i = readPI(xmlData, ++i);
|
|
299
|
-
if (i.err) return i;
|
|
300
|
-
} else break;
|
|
301
|
-
else if (xmlData[i] === "&") {
|
|
302
|
-
const afterAmp = validateAmpersand(xmlData, i);
|
|
303
|
-
if (afterAmp == -1) return getErrorObject("InvalidChar", "char '&' is not expected.", getLineNumberForPosition(xmlData, i));
|
|
304
|
-
i = afterAmp;
|
|
305
|
-
} else if (reachedRoot === true && !isWhiteSpace(xmlData[i])) return getErrorObject("InvalidXml", "Extra text at the end", getLineNumberForPosition(xmlData, i));
|
|
306
|
-
if (xmlData[i] === "<") i--;
|
|
307
|
-
}
|
|
308
|
-
} else {
|
|
309
|
-
if (isWhiteSpace(xmlData[i])) continue;
|
|
310
|
-
return getErrorObject("InvalidChar", "char '" + xmlData[i] + "' is not expected.", getLineNumberForPosition(xmlData, i));
|
|
311
|
-
}
|
|
312
|
-
if (!tagFound) return getErrorObject("InvalidXml", "Start tag expected.", 1);
|
|
313
|
-
else if (tags.length == 1) return getErrorObject("InvalidTag", "Unclosed tag '" + tags[0].tagName + "'.", getLineNumberForPosition(xmlData, tags[0].tagStartPos));
|
|
314
|
-
else if (tags.length > 0) return getErrorObject("InvalidXml", "Invalid '" + JSON.stringify(tags.map((t) => t.tagName), null, 4).replace(/\r?\n/g, "") + "' found.", {
|
|
315
|
-
line: 1,
|
|
316
|
-
col: 1
|
|
317
|
-
});
|
|
318
|
-
return true;
|
|
319
|
-
}
|
|
320
|
-
function isWhiteSpace(char) {
|
|
321
|
-
return char === " " || char === " " || char === "\n" || char === "\r";
|
|
322
|
-
}
|
|
323
|
-
/**
|
|
324
|
-
* Read Processing insstructions and skip
|
|
325
|
-
* @param {*} xmlData
|
|
326
|
-
* @param {*} i
|
|
327
|
-
*/
|
|
328
|
-
function readPI(xmlData, i) {
|
|
329
|
-
const start = i;
|
|
330
|
-
for (; i < xmlData.length; i++) if (xmlData[i] == "?" || xmlData[i] == " ") {
|
|
331
|
-
const tagname = xmlData.substr(start, i - start);
|
|
332
|
-
if (i > 5 && tagname === "xml") return getErrorObject("InvalidXml", "XML declaration allowed only at the start of the document.", getLineNumberForPosition(xmlData, i));
|
|
333
|
-
else if (xmlData[i] == "?" && xmlData[i + 1] == ">") {
|
|
334
|
-
i++;
|
|
335
|
-
break;
|
|
336
|
-
} else continue;
|
|
337
|
-
}
|
|
338
|
-
return i;
|
|
339
|
-
}
|
|
340
|
-
function readCommentAndCDATA(xmlData, i) {
|
|
341
|
-
if (xmlData.length > i + 5 && xmlData[i + 1] === "-" && xmlData[i + 2] === "-") {
|
|
342
|
-
for (i += 3; i < xmlData.length; i++) if (xmlData[i] === "-" && xmlData[i + 1] === "-" && xmlData[i + 2] === ">") {
|
|
343
|
-
i += 2;
|
|
344
|
-
break;
|
|
345
|
-
}
|
|
346
|
-
} else if (xmlData.length > i + 8 && xmlData[i + 1] === "D" && xmlData[i + 2] === "O" && xmlData[i + 3] === "C" && xmlData[i + 4] === "T" && xmlData[i + 5] === "Y" && xmlData[i + 6] === "P" && xmlData[i + 7] === "E") {
|
|
347
|
-
let angleBracketsCount = 1;
|
|
348
|
-
for (i += 8; i < xmlData.length; i++) if (xmlData[i] === "<") angleBracketsCount++;
|
|
349
|
-
else if (xmlData[i] === ">") {
|
|
350
|
-
angleBracketsCount--;
|
|
351
|
-
if (angleBracketsCount === 0) break;
|
|
352
|
-
}
|
|
353
|
-
} else if (xmlData.length > i + 9 && xmlData[i + 1] === "[" && xmlData[i + 2] === "C" && xmlData[i + 3] === "D" && xmlData[i + 4] === "A" && xmlData[i + 5] === "T" && xmlData[i + 6] === "A" && xmlData[i + 7] === "[") {
|
|
354
|
-
for (i += 8; i < xmlData.length; i++) if (xmlData[i] === "]" && xmlData[i + 1] === "]" && xmlData[i + 2] === ">") {
|
|
355
|
-
i += 2;
|
|
356
|
-
break;
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
return i;
|
|
360
|
-
}
|
|
361
|
-
var doubleQuote = "\"";
|
|
362
|
-
var singleQuote = "'";
|
|
363
|
-
/**
|
|
364
|
-
* Keep reading xmlData until '<' is found outside the attribute value.
|
|
365
|
-
* @param {string} xmlData
|
|
366
|
-
* @param {number} i
|
|
367
|
-
*/
|
|
368
|
-
function readAttributeStr(xmlData, i) {
|
|
369
|
-
let attrStr = "";
|
|
370
|
-
let startChar = "";
|
|
371
|
-
let tagClosed = false;
|
|
372
|
-
for (; i < xmlData.length; i++) {
|
|
373
|
-
if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) if (startChar === "") startChar = xmlData[i];
|
|
374
|
-
else if (startChar !== xmlData[i]) ; else startChar = "";
|
|
375
|
-
else if (xmlData[i] === ">") {
|
|
376
|
-
if (startChar === "") {
|
|
377
|
-
tagClosed = true;
|
|
378
|
-
break;
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
attrStr += xmlData[i];
|
|
382
|
-
}
|
|
383
|
-
if (startChar !== "") return false;
|
|
384
|
-
return {
|
|
385
|
-
value: attrStr,
|
|
386
|
-
index: i,
|
|
387
|
-
tagClosed
|
|
388
|
-
};
|
|
389
|
-
}
|
|
390
|
-
/**
|
|
391
|
-
* Select all the attributes whether valid or invalid.
|
|
392
|
-
*/
|
|
393
|
-
var validAttrStrRegxp = /* @__PURE__ */ new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?", "g");
|
|
394
|
-
function validateAttributeString(attrStr, options) {
|
|
395
|
-
const matches = getAllMatches(attrStr, validAttrStrRegxp);
|
|
396
|
-
const attrNames = {};
|
|
397
|
-
for (let i = 0; i < matches.length; i++) {
|
|
398
|
-
if (matches[i][1].length === 0) return getErrorObject("InvalidAttr", "Attribute '" + matches[i][2] + "' has no space in starting.", getPositionFromMatch(matches[i]));
|
|
399
|
-
else if (matches[i][3] !== void 0 && matches[i][4] === void 0) return getErrorObject("InvalidAttr", "Attribute '" + matches[i][2] + "' is without value.", getPositionFromMatch(matches[i]));
|
|
400
|
-
else if (matches[i][3] === void 0 && !options.allowBooleanAttributes) return getErrorObject("InvalidAttr", "boolean attribute '" + matches[i][2] + "' is not allowed.", getPositionFromMatch(matches[i]));
|
|
401
|
-
const attrName = matches[i][2];
|
|
402
|
-
if (!validateAttrName(attrName)) return getErrorObject("InvalidAttr", "Attribute '" + attrName + "' is an invalid name.", getPositionFromMatch(matches[i]));
|
|
403
|
-
if (!Object.prototype.hasOwnProperty.call(attrNames, attrName)) attrNames[attrName] = 1;
|
|
404
|
-
else return getErrorObject("InvalidAttr", "Attribute '" + attrName + "' is repeated.", getPositionFromMatch(matches[i]));
|
|
405
|
-
}
|
|
406
|
-
return true;
|
|
407
|
-
}
|
|
408
|
-
function validateNumberAmpersand(xmlData, i) {
|
|
409
|
-
let re = /\d/;
|
|
410
|
-
if (xmlData[i] === "x") {
|
|
411
|
-
i++;
|
|
412
|
-
re = /[\da-fA-F]/;
|
|
413
|
-
}
|
|
414
|
-
for (; i < xmlData.length; i++) {
|
|
415
|
-
if (xmlData[i] === ";") return i;
|
|
416
|
-
if (!xmlData[i].match(re)) break;
|
|
417
|
-
}
|
|
418
|
-
return -1;
|
|
419
|
-
}
|
|
420
|
-
function validateAmpersand(xmlData, i) {
|
|
421
|
-
i++;
|
|
422
|
-
if (xmlData[i] === ";") return -1;
|
|
423
|
-
if (xmlData[i] === "#") {
|
|
424
|
-
i++;
|
|
425
|
-
return validateNumberAmpersand(xmlData, i);
|
|
426
|
-
}
|
|
427
|
-
let count = 0;
|
|
428
|
-
for (; i < xmlData.length; i++, count++) {
|
|
429
|
-
if (xmlData[i].match(/\w/) && count < 20) continue;
|
|
430
|
-
if (xmlData[i] === ";") break;
|
|
431
|
-
return -1;
|
|
432
|
-
}
|
|
433
|
-
return i;
|
|
434
|
-
}
|
|
435
|
-
function getErrorObject(code, message, lineNumber) {
|
|
436
|
-
return { err: {
|
|
437
|
-
code,
|
|
438
|
-
msg: message,
|
|
439
|
-
line: lineNumber.line || lineNumber,
|
|
440
|
-
col: lineNumber.col
|
|
441
|
-
} };
|
|
442
|
-
}
|
|
443
|
-
function validateAttrName(attrName) {
|
|
444
|
-
return isName(attrName);
|
|
445
|
-
}
|
|
446
|
-
function validateTagName(tagname) {
|
|
447
|
-
return isName(tagname);
|
|
448
|
-
}
|
|
449
|
-
function getLineNumberForPosition(xmlData, index) {
|
|
450
|
-
const lines = xmlData.substring(0, index).split(/\r?\n/);
|
|
451
|
-
return {
|
|
452
|
-
line: lines.length,
|
|
453
|
-
col: lines[lines.length - 1].length + 1
|
|
454
|
-
};
|
|
455
|
-
}
|
|
456
|
-
function getPositionFromMatch(match) {
|
|
457
|
-
return match.startIndex + match[1].length;
|
|
458
|
-
}
|
|
459
|
-
/**
|
|
460
|
-
* Currency Symbols
|
|
461
|
-
* @type {Record<string, string>}
|
|
462
|
-
*/
|
|
463
|
-
var CURRENCY$1 = {
|
|
464
|
-
cent: "¢",
|
|
465
|
-
pound: "£",
|
|
466
|
-
curren: "¤",
|
|
467
|
-
yen: "¥",
|
|
468
|
-
euro: "€",
|
|
469
|
-
dollar: "$",
|
|
470
|
-
euro: "€",
|
|
471
|
-
fnof: "ƒ",
|
|
472
|
-
inr: "₹",
|
|
473
|
-
af: "؋",
|
|
474
|
-
birr: "ብር",
|
|
475
|
-
peso: "₱",
|
|
476
|
-
rub: "₽",
|
|
477
|
-
won: "₩",
|
|
478
|
-
yuan: "¥",
|
|
479
|
-
cedil: "¸"
|
|
480
|
-
};
|
|
481
|
-
var XML$1 = {
|
|
482
|
-
amp: "&",
|
|
483
|
-
apos: "'",
|
|
484
|
-
gt: ">",
|
|
485
|
-
lt: "<",
|
|
486
|
-
quot: "\""
|
|
487
|
-
};
|
|
488
|
-
var COMMON_HTML$1 = {
|
|
489
|
-
nbsp: "\xA0",
|
|
490
|
-
copy: "©",
|
|
491
|
-
reg: "®",
|
|
492
|
-
trade: "™",
|
|
493
|
-
mdash: "—",
|
|
494
|
-
ndash: "–",
|
|
495
|
-
hellip: "…",
|
|
496
|
-
laquo: "«",
|
|
497
|
-
raquo: "»",
|
|
498
|
-
lsquo: "‘",
|
|
499
|
-
rsquo: "’",
|
|
500
|
-
ldquo: "“",
|
|
501
|
-
rdquo: "”",
|
|
502
|
-
bull: "•",
|
|
503
|
-
para: "¶",
|
|
504
|
-
sect: "§",
|
|
505
|
-
deg: "°",
|
|
506
|
-
frac12: "½",
|
|
507
|
-
frac14: "¼",
|
|
508
|
-
frac34: "¾"
|
|
509
|
-
};
|
|
510
|
-
//#endregion
|
|
511
|
-
//#region ../../node_modules/.pnpm/@nodable+entities@2.1.0/node_modules/@nodable/entities/src/EntityDecoder.js
|
|
512
|
-
var SPECIAL_CHARS$1 = /* @__PURE__ */ new Set("!?\\\\/[]$%{}^&*()<>|+");
|
|
513
|
-
/**
|
|
514
|
-
* Validate that an entity name contains no dangerous characters.
|
|
515
|
-
* @param {string} name
|
|
516
|
-
* @returns {string} the name, unchanged
|
|
517
|
-
* @throws {Error} on invalid characters
|
|
518
|
-
*/
|
|
519
|
-
function validateEntityName$2(name) {
|
|
520
|
-
if (name[0] === "#") throw new Error(`[EntityReplacer] Invalid character '#' in entity name: "${name}"`);
|
|
521
|
-
for (const ch of name) if (SPECIAL_CHARS$1.has(ch)) throw new Error(`[EntityReplacer] Invalid character '${ch}' in entity name: "${name}"`);
|
|
522
|
-
return name;
|
|
523
|
-
}
|
|
524
|
-
/**
|
|
525
|
-
* Merge one or more entity maps into a flat name→string map.
|
|
526
|
-
* Accepts either:
|
|
527
|
-
* - plain string values: { amp: '&' }
|
|
528
|
-
* - legacy {regex,val} / {regx,val}: { lt: { regex: /.../, val: '<' } }
|
|
529
|
-
*
|
|
530
|
-
* Values containing '&' are skipped (recursive expansion risk).
|
|
531
|
-
*
|
|
532
|
-
* @param {...object} maps
|
|
533
|
-
* @returns {Record<string, string>}
|
|
534
|
-
*/
|
|
535
|
-
function mergeEntityMaps$1(...maps) {
|
|
536
|
-
const out = Object.create(null);
|
|
537
|
-
for (const map of maps) {
|
|
538
|
-
if (!map) continue;
|
|
539
|
-
for (const key of Object.keys(map)) {
|
|
540
|
-
const raw = map[key];
|
|
541
|
-
if (typeof raw === "string") out[key] = raw;
|
|
542
|
-
else if (raw && typeof raw === "object" && raw.val !== void 0) {
|
|
543
|
-
const val = raw.val;
|
|
544
|
-
if (typeof val === "string") out[key] = val;
|
|
545
|
-
}
|
|
546
|
-
}
|
|
547
|
-
}
|
|
548
|
-
return out;
|
|
549
|
-
}
|
|
550
|
-
var LIMIT_TIER_EXTERNAL$1 = "external";
|
|
551
|
-
var LIMIT_TIER_BASE$1 = "base";
|
|
552
|
-
var LIMIT_TIER_ALL$1 = "all";
|
|
553
|
-
/**
|
|
554
|
-
* Resolve `applyLimitsTo` option into a normalised Set of tier strings.
|
|
555
|
-
* Accepted values: 'external' | 'base' | 'all' | string[]
|
|
556
|
-
* Default: 'external' (only untrusted injected entities are counted).
|
|
557
|
-
* @param {string|string[]|undefined} raw
|
|
558
|
-
* @returns {Set<string>}
|
|
559
|
-
*/
|
|
560
|
-
function parseLimitTiers$1(raw) {
|
|
561
|
-
if (!raw || raw === LIMIT_TIER_EXTERNAL$1) return new Set([LIMIT_TIER_EXTERNAL$1]);
|
|
562
|
-
if (raw === LIMIT_TIER_ALL$1) return new Set([LIMIT_TIER_ALL$1]);
|
|
563
|
-
if (raw === LIMIT_TIER_BASE$1) return new Set([LIMIT_TIER_BASE$1]);
|
|
564
|
-
if (Array.isArray(raw)) return new Set(raw);
|
|
565
|
-
return new Set([LIMIT_TIER_EXTERNAL$1]);
|
|
566
|
-
}
|
|
567
|
-
var NCR_LEVEL$1 = Object.freeze({
|
|
568
|
-
allow: 0,
|
|
569
|
-
leave: 1,
|
|
570
|
-
remove: 2,
|
|
571
|
-
throw: 3
|
|
572
|
-
});
|
|
573
|
-
var XML10_ALLOWED_C0$1 = new Set([
|
|
574
|
-
9,
|
|
575
|
-
10,
|
|
576
|
-
13
|
|
577
|
-
]);
|
|
578
|
-
/**
|
|
579
|
-
* Parse the `ncr` constructor option into flat, hot-path-friendly fields.
|
|
580
|
-
* @param {object|undefined} ncr
|
|
581
|
-
* @returns {{ xmlVersion: number, onLevel: number, nullLevel: number }}
|
|
582
|
-
*/
|
|
583
|
-
function parseNCRConfig$1(ncr) {
|
|
584
|
-
if (!ncr) return {
|
|
585
|
-
xmlVersion: 1,
|
|
586
|
-
onLevel: NCR_LEVEL$1.allow,
|
|
587
|
-
nullLevel: NCR_LEVEL$1.remove
|
|
588
|
-
};
|
|
589
|
-
const xmlVersion = ncr.xmlVersion === 1.1 ? 1.1 : 1;
|
|
590
|
-
const onLevel = NCR_LEVEL$1[ncr.onNCR] ?? NCR_LEVEL$1.allow;
|
|
591
|
-
const nullLevel = NCR_LEVEL$1[ncr.nullNCR] ?? NCR_LEVEL$1.remove;
|
|
592
|
-
return {
|
|
593
|
-
xmlVersion,
|
|
594
|
-
onLevel,
|
|
595
|
-
nullLevel: Math.max(nullLevel, NCR_LEVEL$1.remove)
|
|
596
|
-
};
|
|
597
|
-
}
|
|
598
|
-
/**
|
|
599
|
-
* Single-pass, zero-regex entity replacer for XML/HTML content.
|
|
600
|
-
*
|
|
601
|
-
* Algorithm: scan the string once for '&', read to ';', resolve via map
|
|
602
|
-
* or direct codepoint conversion, build output chunks, join once at the end.
|
|
603
|
-
*
|
|
604
|
-
* Entity lookup priority (highest → lowest):
|
|
605
|
-
* 1. input / runtime (DOCTYPE entities for current document)
|
|
606
|
-
* 2. persistent external (survive across documents)
|
|
607
|
-
* 3. base named map (DEFAULT_XML_ENTITIES + user-supplied namedEntities)
|
|
608
|
-
*
|
|
609
|
-
* Both input and external resolve as the 'external' tier for limit purposes.
|
|
610
|
-
* Base map entities resolve as the 'base' tier.
|
|
611
|
-
*
|
|
612
|
-
* Numeric / hex references (&#NNN; / &#xHH;) are resolved directly via
|
|
613
|
-
* String.fromCodePoint() — no map needed. They count as 'base' tier.
|
|
614
|
-
*
|
|
615
|
-
* @example
|
|
616
|
-
* const replacer = new EntityReplacer({ namedEntities: COMMON_HTML });
|
|
617
|
-
* replacer.setExternalEntities({ brand: 'Acme' });
|
|
618
|
-
*
|
|
619
|
-
* const instance = replacer.reset();
|
|
620
|
-
* instance.addInputEntities({ version: '1.0' });
|
|
621
|
-
* instance.encode('&brand; v&version; <'); // 'Acme v1.0 <'
|
|
622
|
-
*/
|
|
623
|
-
var EntityDecoder = class {
|
|
624
|
-
/**
|
|
625
|
-
* @param {object} [options]
|
|
626
|
-
* @param {object|null} [options.namedEntities] — extra named entities merged into base map
|
|
627
|
-
* @param {object} [options.limit] — security limits
|
|
628
|
-
* @param {number} [options.limit.maxTotalExpansions=0] — 0 = unlimited
|
|
629
|
-
* @param {number} [options.limit.maxExpandedLength=0] — 0 = unlimited
|
|
630
|
-
* @param {'external'|'base'|'all'|string[]} [options.limit.applyLimitsTo='external']
|
|
631
|
-
* Which entity tiers count against the security limits:
|
|
632
|
-
* - 'external' (default) — only input/runtime + persistent external entities
|
|
633
|
-
* - 'base' — only DEFAULT_XML_ENTITIES + namedEntities
|
|
634
|
-
* - 'all' — every entity regardless of tier
|
|
635
|
-
* - string[] — explicit combination, e.g. ['external', 'base']
|
|
636
|
-
* @param {((resolved: string, original: string) => string)|null} [options.postCheck=null]
|
|
637
|
-
* @param {string[]} [options.remove=[]] — entity names (e.g. ['nbsp', '#13']) to delete (replace with empty string)
|
|
638
|
-
* @param {string[]} [options.leave=[]] — entity names to keep as literal (unchanged in output)
|
|
639
|
-
* @param {object} [options.ncr] — Numeric Character Reference controls
|
|
640
|
-
* @param {1.0|1.1} [options.ncr.xmlVersion=1.0]
|
|
641
|
-
* XML version governing which codepoint ranges are restricted:
|
|
642
|
-
* - 1.0 — C0 controls U+0001–U+001F (except U+0009/000A/000D) are prohibited
|
|
643
|
-
* - 1.1 — C0 controls are allowed when written as NCRs; C1 (U+007F–U+009F) decoded as-is
|
|
644
|
-
* @param {'allow'|'leave'|'remove'|'throw'} [options.ncr.onNCR='allow']
|
|
645
|
-
* Base action for numeric references. Severity order: allow < leave < remove < throw.
|
|
646
|
-
* For codepoint ranges that carry a minimum level (surrogates → remove, XML 1.0 C0 → remove),
|
|
647
|
-
* the effective action is max(onNCR, rangeMinimum).
|
|
648
|
-
* @param {'remove'|'throw'} [options.ncr.nullNCR='remove']
|
|
649
|
-
* Action for U+0000 (null). 'allow' and 'leave' are clamped to 'remove' since null is never safe.
|
|
650
|
-
*/
|
|
651
|
-
constructor(options = {}) {
|
|
652
|
-
this._limit = options.limit || {};
|
|
653
|
-
this._maxTotalExpansions = this._limit.maxTotalExpansions || 0;
|
|
654
|
-
this._maxExpandedLength = this._limit.maxExpandedLength || 0;
|
|
655
|
-
this._postCheck = typeof options.postCheck === "function" ? options.postCheck : (r) => r;
|
|
656
|
-
this._limitTiers = parseLimitTiers$1(this._limit.applyLimitsTo ?? LIMIT_TIER_EXTERNAL$1);
|
|
657
|
-
this._numericAllowed = options.numericAllowed ?? true;
|
|
658
|
-
this._baseMap = mergeEntityMaps$1(XML$1, options.namedEntities || null);
|
|
659
|
-
/** @type {Record<string, string>} */
|
|
660
|
-
this._externalMap = Object.create(null);
|
|
661
|
-
/** @type {Record<string, string>} */
|
|
662
|
-
this._inputMap = Object.create(null);
|
|
663
|
-
this._totalExpansions = 0;
|
|
664
|
-
this._expandedLength = 0;
|
|
665
|
-
/** @type {Set<string>} */
|
|
666
|
-
this._removeSet = new Set(options.remove && Array.isArray(options.remove) ? options.remove : []);
|
|
667
|
-
/** @type {Set<string>} */
|
|
668
|
-
this._leaveSet = new Set(options.leave && Array.isArray(options.leave) ? options.leave : []);
|
|
669
|
-
const ncrCfg = parseNCRConfig$1(options.ncr);
|
|
670
|
-
this._ncrXmlVersion = ncrCfg.xmlVersion;
|
|
671
|
-
this._ncrOnLevel = ncrCfg.onLevel;
|
|
672
|
-
this._ncrNullLevel = ncrCfg.nullLevel;
|
|
673
|
-
}
|
|
674
|
-
/**
|
|
675
|
-
* Replace the full set of persistent external entities.
|
|
676
|
-
* All keys are validated — throws on invalid characters.
|
|
677
|
-
* @param {Record<string, string | { regex?: RegExp, val: string }>} map
|
|
678
|
-
*/
|
|
679
|
-
setExternalEntities(map) {
|
|
680
|
-
if (map) for (const key of Object.keys(map)) validateEntityName$2(key);
|
|
681
|
-
this._externalMap = mergeEntityMaps$1(map);
|
|
682
|
-
}
|
|
683
|
-
/**
|
|
684
|
-
* Add a single persistent external entity.
|
|
685
|
-
* @param {string} key
|
|
686
|
-
* @param {string} value
|
|
687
|
-
*/
|
|
688
|
-
addExternalEntity(key, value) {
|
|
689
|
-
validateEntityName$2(key);
|
|
690
|
-
if (typeof value === "string" && value.indexOf("&") === -1) this._externalMap[key] = value;
|
|
691
|
-
}
|
|
692
|
-
/**
|
|
693
|
-
* Inject DOCTYPE entities for the current document.
|
|
694
|
-
* Also resets per-document expansion counters.
|
|
695
|
-
* @param {Record<string, string | { regx?: RegExp, regex?: RegExp, val: string }>} map
|
|
696
|
-
*/
|
|
697
|
-
addInputEntities(map) {
|
|
698
|
-
this._totalExpansions = 0;
|
|
699
|
-
this._expandedLength = 0;
|
|
700
|
-
this._inputMap = mergeEntityMaps$1(map);
|
|
701
|
-
}
|
|
702
|
-
/**
|
|
703
|
-
* Wipe input/runtime entities and reset counters.
|
|
704
|
-
* Call this before processing each new document.
|
|
705
|
-
* @returns {this}
|
|
706
|
-
*/
|
|
707
|
-
reset() {
|
|
708
|
-
this._inputMap = Object.create(null);
|
|
709
|
-
this._totalExpansions = 0;
|
|
710
|
-
this._expandedLength = 0;
|
|
711
|
-
return this;
|
|
712
|
-
}
|
|
713
|
-
/**
|
|
714
|
-
* Update the XML version used for NCR classification.
|
|
715
|
-
* Call this as soon as the document's `<?xml version="...">` declaration is parsed.
|
|
716
|
-
* @param {1.0|1.1|number} version
|
|
717
|
-
*/
|
|
718
|
-
setXmlVersion(version) {
|
|
719
|
-
this._ncrXmlVersion = version === 1.1 ? 1.1 : 1;
|
|
720
|
-
}
|
|
721
|
-
/**
|
|
722
|
-
* Replace all entity references in `str` in a single pass.
|
|
723
|
-
*
|
|
724
|
-
* @param {string} str
|
|
725
|
-
* @returns {string}
|
|
726
|
-
*/
|
|
727
|
-
decode(str) {
|
|
728
|
-
if (typeof str !== "string" || str.length === 0) return str;
|
|
729
|
-
const original = str;
|
|
730
|
-
const chunks = [];
|
|
731
|
-
const len = str.length;
|
|
732
|
-
let last = 0;
|
|
733
|
-
let i = 0;
|
|
734
|
-
const limitExpansions = this._maxTotalExpansions > 0;
|
|
735
|
-
const limitLength = this._maxExpandedLength > 0;
|
|
736
|
-
const checkLimits = limitExpansions || limitLength;
|
|
737
|
-
while (i < len) {
|
|
738
|
-
if (str.charCodeAt(i) !== 38) {
|
|
739
|
-
i++;
|
|
740
|
-
continue;
|
|
741
|
-
}
|
|
742
|
-
let j = i + 1;
|
|
743
|
-
while (j < len && str.charCodeAt(j) !== 59 && j - i <= 32) j++;
|
|
744
|
-
if (j >= len || str.charCodeAt(j) !== 59) {
|
|
745
|
-
i++;
|
|
746
|
-
continue;
|
|
747
|
-
}
|
|
748
|
-
const token = str.slice(i + 1, j);
|
|
749
|
-
if (token.length === 0) {
|
|
750
|
-
i++;
|
|
751
|
-
continue;
|
|
752
|
-
}
|
|
753
|
-
let replacement;
|
|
754
|
-
let tier;
|
|
755
|
-
if (this._removeSet.has(token)) {
|
|
756
|
-
replacement = "";
|
|
757
|
-
if (tier === void 0) tier = LIMIT_TIER_EXTERNAL$1;
|
|
758
|
-
} else if (this._leaveSet.has(token)) {
|
|
759
|
-
i++;
|
|
760
|
-
continue;
|
|
761
|
-
} else if (token.charCodeAt(0) === 35) {
|
|
762
|
-
const ncrResult = this._resolveNCR(token);
|
|
763
|
-
if (ncrResult === void 0) {
|
|
764
|
-
i++;
|
|
765
|
-
continue;
|
|
766
|
-
}
|
|
767
|
-
replacement = ncrResult;
|
|
768
|
-
tier = LIMIT_TIER_BASE$1;
|
|
769
|
-
} else {
|
|
770
|
-
const resolved = this._resolveName(token);
|
|
771
|
-
replacement = resolved?.value;
|
|
772
|
-
tier = resolved?.tier;
|
|
773
|
-
}
|
|
774
|
-
if (replacement === void 0) {
|
|
775
|
-
i++;
|
|
776
|
-
continue;
|
|
777
|
-
}
|
|
778
|
-
if (i > last) chunks.push(str.slice(last, i));
|
|
779
|
-
chunks.push(replacement);
|
|
780
|
-
last = j + 1;
|
|
781
|
-
i = last;
|
|
782
|
-
if (checkLimits && this._tierCounts(tier)) {
|
|
783
|
-
if (limitExpansions) {
|
|
784
|
-
this._totalExpansions++;
|
|
785
|
-
if (this._totalExpansions > this._maxTotalExpansions) throw new Error(`[EntityReplacer] Entity expansion count limit exceeded: ${this._totalExpansions} > ${this._maxTotalExpansions}`);
|
|
786
|
-
}
|
|
787
|
-
if (limitLength) {
|
|
788
|
-
const delta = replacement.length - (token.length + 2);
|
|
789
|
-
if (delta > 0) {
|
|
790
|
-
this._expandedLength += delta;
|
|
791
|
-
if (this._expandedLength > this._maxExpandedLength) throw new Error(`[EntityReplacer] Expanded content length limit exceeded: ${this._expandedLength} > ${this._maxExpandedLength}`);
|
|
792
|
-
}
|
|
793
|
-
}
|
|
794
|
-
}
|
|
795
|
-
}
|
|
796
|
-
if (last < len) chunks.push(str.slice(last));
|
|
797
|
-
const result = chunks.length === 0 ? str : chunks.join("");
|
|
798
|
-
return this._postCheck(result, original);
|
|
799
|
-
}
|
|
800
|
-
/**
|
|
801
|
-
* Returns true if a resolved entity of the given tier should count
|
|
802
|
-
* against the expansion/length limits.
|
|
803
|
-
* @param {string} tier — LIMIT_TIER_EXTERNAL | LIMIT_TIER_BASE
|
|
804
|
-
* @returns {boolean}
|
|
805
|
-
*/
|
|
806
|
-
_tierCounts(tier) {
|
|
807
|
-
if (this._limitTiers.has(LIMIT_TIER_ALL$1)) return true;
|
|
808
|
-
return this._limitTiers.has(tier);
|
|
809
|
-
}
|
|
810
|
-
/**
|
|
811
|
-
* Resolve a named entity token (without & and ;).
|
|
812
|
-
* Priority: inputMap > externalMap > baseMap
|
|
813
|
-
* Returns the resolved value tagged with its limit tier.
|
|
814
|
-
*
|
|
815
|
-
* @param {string} name
|
|
816
|
-
* @returns {{ value: string, tier: string }|undefined}
|
|
817
|
-
*/
|
|
818
|
-
_resolveName(name) {
|
|
819
|
-
if (name in this._inputMap) return {
|
|
820
|
-
value: this._inputMap[name],
|
|
821
|
-
tier: LIMIT_TIER_EXTERNAL$1
|
|
822
|
-
};
|
|
823
|
-
if (name in this._externalMap) return {
|
|
824
|
-
value: this._externalMap[name],
|
|
825
|
-
tier: LIMIT_TIER_EXTERNAL$1
|
|
826
|
-
};
|
|
827
|
-
if (name in this._baseMap) return {
|
|
828
|
-
value: this._baseMap[name],
|
|
829
|
-
tier: LIMIT_TIER_BASE$1
|
|
830
|
-
};
|
|
831
|
-
}
|
|
832
|
-
/**
|
|
833
|
-
* Classify a codepoint and return the minimum action level that must be applied.
|
|
834
|
-
* Returns -1 when no minimum is imposed (normal allow path).
|
|
835
|
-
*
|
|
836
|
-
* Ranges checked (in priority order):
|
|
837
|
-
* 1. U+0000 — null, governed by nullNCR (always ≥ remove)
|
|
838
|
-
* 2. U+D800–U+DFFF — surrogates, always prohibited (min: remove)
|
|
839
|
-
* 3. U+0001–U+001F \ {0x09,0x0A,0x0D} — XML 1.0 restricted C0 (min: remove)
|
|
840
|
-
* (skipped in XML 1.1 — C0 controls are allowed when written as NCRs)
|
|
841
|
-
*
|
|
842
|
-
* @param {number} cp — codepoint
|
|
843
|
-
* @returns {number} — minimum NCR_LEVEL value, or -1 for no restriction
|
|
844
|
-
*/
|
|
845
|
-
_classifyNCR(cp) {
|
|
846
|
-
if (cp === 0) return this._ncrNullLevel;
|
|
847
|
-
if (cp >= 55296 && cp <= 57343) return NCR_LEVEL$1.remove;
|
|
848
|
-
if (this._ncrXmlVersion === 1) {
|
|
849
|
-
if (cp >= 1 && cp <= 31 && !XML10_ALLOWED_C0$1.has(cp)) return NCR_LEVEL$1.remove;
|
|
850
|
-
}
|
|
851
|
-
return -1;
|
|
852
|
-
}
|
|
853
|
-
/**
|
|
854
|
-
* Execute a resolved NCR action.
|
|
855
|
-
*
|
|
856
|
-
* @param {number} action — NCR_LEVEL value
|
|
857
|
-
* @param {string} token — raw token (e.g. '#38') for error messages
|
|
858
|
-
* @param {number} cp — codepoint, used only for error messages
|
|
859
|
-
* @returns {string|undefined}
|
|
860
|
-
* - decoded character string → 'allow'
|
|
861
|
-
* - '' → 'remove'
|
|
862
|
-
* - undefined → 'leave' (caller must skip past '&' only)
|
|
863
|
-
* - throws Error → 'throw'
|
|
864
|
-
*/
|
|
865
|
-
_applyNCRAction(action, token, cp) {
|
|
866
|
-
switch (action) {
|
|
867
|
-
case NCR_LEVEL$1.allow: return String.fromCodePoint(cp);
|
|
868
|
-
case NCR_LEVEL$1.remove: return "";
|
|
869
|
-
case NCR_LEVEL$1.leave: return;
|
|
870
|
-
case NCR_LEVEL$1.throw: throw new Error(`[EntityDecoder] Prohibited numeric character reference &${token}; (U+${cp.toString(16).toUpperCase().padStart(4, "0")})`);
|
|
871
|
-
default: return String.fromCodePoint(cp);
|
|
872
|
-
}
|
|
873
|
-
}
|
|
874
|
-
/**
|
|
875
|
-
* Full NCR resolution pipeline for a numeric token.
|
|
876
|
-
*
|
|
877
|
-
* Steps:
|
|
878
|
-
* 1. Parse the codepoint (decimal or hex).
|
|
879
|
-
* 2. Validate the raw codepoint range (NaN, <0, >0x10FFFF).
|
|
880
|
-
* 3. If numericAllowed is false and no minimum restriction applies → leave as-is.
|
|
881
|
-
* 4. Classify the codepoint to find the minimum required action level.
|
|
882
|
-
* 5. Resolve effective action = max(onNCR, minimum).
|
|
883
|
-
* 6. Apply and return.
|
|
884
|
-
*
|
|
885
|
-
* @param {string} token — e.g. '#38', '#x26', '#X26'
|
|
886
|
-
* @returns {string|undefined}
|
|
887
|
-
* - string (incl. '') — replacement ('' = remove)
|
|
888
|
-
* - undefined — leave original &token; as-is
|
|
889
|
-
*/
|
|
890
|
-
_resolveNCR(token) {
|
|
891
|
-
const second = token.charCodeAt(1);
|
|
892
|
-
let cp;
|
|
893
|
-
if (second === 120 || second === 88) cp = parseInt(token.slice(2), 16);
|
|
894
|
-
else cp = parseInt(token.slice(1), 10);
|
|
895
|
-
if (Number.isNaN(cp) || cp < 0 || cp > 1114111) return void 0;
|
|
896
|
-
const minimum = this._classifyNCR(cp);
|
|
897
|
-
if (!this._numericAllowed && minimum < NCR_LEVEL$1.remove) return void 0;
|
|
898
|
-
const effective = minimum === -1 ? this._ncrOnLevel : Math.max(this._ncrOnLevel, minimum);
|
|
899
|
-
return this._applyNCRAction(effective, token, cp);
|
|
900
|
-
}
|
|
901
|
-
};
|
|
902
|
-
//#endregion
|
|
903
|
-
//#region ../../node_modules/.pnpm/fast-xml-parser@5.7.3/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js
|
|
904
|
-
var defaultOnDangerousProperty = (name) => {
|
|
905
|
-
if (DANGEROUS_PROPERTY_NAMES.includes(name)) return "__" + name;
|
|
906
|
-
return name;
|
|
907
|
-
};
|
|
908
|
-
var defaultOptions = {
|
|
909
|
-
preserveOrder: false,
|
|
910
|
-
attributeNamePrefix: "@_",
|
|
911
|
-
attributesGroupName: false,
|
|
912
|
-
textNodeName: "#text",
|
|
913
|
-
ignoreAttributes: true,
|
|
914
|
-
removeNSPrefix: false,
|
|
915
|
-
allowBooleanAttributes: false,
|
|
916
|
-
parseTagValue: true,
|
|
917
|
-
parseAttributeValue: false,
|
|
918
|
-
trimValues: true,
|
|
919
|
-
cdataPropName: false,
|
|
920
|
-
numberParseOptions: {
|
|
921
|
-
hex: true,
|
|
922
|
-
leadingZeros: true,
|
|
923
|
-
eNotation: true
|
|
924
|
-
},
|
|
925
|
-
tagValueProcessor: function(tagName, val) {
|
|
926
|
-
return val;
|
|
927
|
-
},
|
|
928
|
-
attributeValueProcessor: function(attrName, val) {
|
|
929
|
-
return val;
|
|
930
|
-
},
|
|
931
|
-
stopNodes: [],
|
|
932
|
-
alwaysCreateTextNode: false,
|
|
933
|
-
isArray: () => false,
|
|
934
|
-
commentPropName: false,
|
|
935
|
-
unpairedTags: [],
|
|
936
|
-
processEntities: true,
|
|
937
|
-
htmlEntities: false,
|
|
938
|
-
entityDecoder: null,
|
|
939
|
-
ignoreDeclaration: false,
|
|
940
|
-
ignorePiTags: false,
|
|
941
|
-
transformTagName: false,
|
|
942
|
-
transformAttributeName: false,
|
|
943
|
-
updateTag: function(tagName, jPath, attrs) {
|
|
944
|
-
return tagName;
|
|
945
|
-
},
|
|
946
|
-
captureMetaData: false,
|
|
947
|
-
maxNestedTags: 100,
|
|
948
|
-
strictReservedNames: true,
|
|
949
|
-
jPath: true,
|
|
950
|
-
onDangerousProperty: defaultOnDangerousProperty
|
|
951
|
-
};
|
|
952
|
-
/**
|
|
953
|
-
* Validates that a property name is safe to use
|
|
954
|
-
* @param {string} propertyName - The property name to validate
|
|
955
|
-
* @param {string} optionName - The option field name (for error message)
|
|
956
|
-
* @throws {Error} If property name is dangerous
|
|
957
|
-
*/
|
|
958
|
-
function validatePropertyName(propertyName, optionName) {
|
|
959
|
-
if (typeof propertyName !== "string") return;
|
|
960
|
-
const normalized = propertyName.toLowerCase();
|
|
961
|
-
if (DANGEROUS_PROPERTY_NAMES.some((dangerous) => normalized === dangerous.toLowerCase())) throw new Error(`[SECURITY] Invalid ${optionName}: "${propertyName}" is a reserved JavaScript keyword that could cause prototype pollution`);
|
|
962
|
-
if (criticalProperties.some((dangerous) => normalized === dangerous.toLowerCase())) throw new Error(`[SECURITY] Invalid ${optionName}: "${propertyName}" is a reserved JavaScript keyword that could cause prototype pollution`);
|
|
963
|
-
}
|
|
964
|
-
/**
|
|
965
|
-
* Normalizes processEntities option for backward compatibility
|
|
966
|
-
* @param {boolean|object} value
|
|
967
|
-
* @returns {object} Always returns normalized object
|
|
968
|
-
*/
|
|
969
|
-
function normalizeProcessEntities(value, htmlEntities) {
|
|
970
|
-
if (typeof value === "boolean") return {
|
|
971
|
-
enabled: value,
|
|
972
|
-
maxEntitySize: 1e4,
|
|
973
|
-
maxExpansionDepth: 1e4,
|
|
974
|
-
maxTotalExpansions: Infinity,
|
|
975
|
-
maxExpandedLength: 1e5,
|
|
976
|
-
maxEntityCount: 1e3,
|
|
977
|
-
allowedTags: null,
|
|
978
|
-
tagFilter: null,
|
|
979
|
-
appliesTo: "all"
|
|
980
|
-
};
|
|
981
|
-
if (typeof value === "object" && value !== null) return {
|
|
982
|
-
enabled: value.enabled !== false,
|
|
983
|
-
maxEntitySize: Math.max(1, value.maxEntitySize ?? 1e4),
|
|
984
|
-
maxExpansionDepth: Math.max(1, value.maxExpansionDepth ?? 1e4),
|
|
985
|
-
maxTotalExpansions: Math.max(1, value.maxTotalExpansions ?? Infinity),
|
|
986
|
-
maxExpandedLength: Math.max(1, value.maxExpandedLength ?? 1e5),
|
|
987
|
-
maxEntityCount: Math.max(1, value.maxEntityCount ?? 1e3),
|
|
988
|
-
allowedTags: value.allowedTags ?? null,
|
|
989
|
-
tagFilter: value.tagFilter ?? null,
|
|
990
|
-
appliesTo: value.appliesTo ?? "all"
|
|
991
|
-
};
|
|
992
|
-
return normalizeProcessEntities(true);
|
|
993
|
-
}
|
|
994
|
-
var buildOptions = function(options) {
|
|
995
|
-
const built = Object.assign({}, defaultOptions, options);
|
|
996
|
-
const propertyNameOptions = [
|
|
997
|
-
{
|
|
998
|
-
value: built.attributeNamePrefix,
|
|
999
|
-
name: "attributeNamePrefix"
|
|
1000
|
-
},
|
|
1001
|
-
{
|
|
1002
|
-
value: built.attributesGroupName,
|
|
1003
|
-
name: "attributesGroupName"
|
|
1004
|
-
},
|
|
1005
|
-
{
|
|
1006
|
-
value: built.textNodeName,
|
|
1007
|
-
name: "textNodeName"
|
|
1008
|
-
},
|
|
1009
|
-
{
|
|
1010
|
-
value: built.cdataPropName,
|
|
1011
|
-
name: "cdataPropName"
|
|
1012
|
-
},
|
|
1013
|
-
{
|
|
1014
|
-
value: built.commentPropName,
|
|
1015
|
-
name: "commentPropName"
|
|
1016
|
-
}
|
|
1017
|
-
];
|
|
1018
|
-
for (const { value, name } of propertyNameOptions) if (value) validatePropertyName(value, name);
|
|
1019
|
-
if (built.onDangerousProperty === null) built.onDangerousProperty = defaultOnDangerousProperty;
|
|
1020
|
-
built.processEntities = normalizeProcessEntities(built.processEntities, built.htmlEntities);
|
|
1021
|
-
built.unpairedTagsSet = new Set(built.unpairedTags);
|
|
1022
|
-
if (built.stopNodes && Array.isArray(built.stopNodes)) built.stopNodes = built.stopNodes.map((node) => {
|
|
1023
|
-
if (typeof node === "string" && node.startsWith("*.")) return ".." + node.substring(2);
|
|
1024
|
-
return node;
|
|
1025
|
-
});
|
|
1026
|
-
return built;
|
|
1027
|
-
};
|
|
1028
|
-
//#endregion
|
|
1029
|
-
//#region ../../node_modules/.pnpm/fast-xml-parser@5.7.3/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js
|
|
1030
|
-
var METADATA_SYMBOL$1;
|
|
1031
|
-
if (typeof Symbol !== "function") METADATA_SYMBOL$1 = "@@xmlMetadata";
|
|
1032
|
-
else METADATA_SYMBOL$1 = Symbol("XML Node Metadata");
|
|
1033
|
-
var XmlNode = class {
|
|
1034
|
-
constructor(tagname) {
|
|
1035
|
-
this.tagname = tagname;
|
|
1036
|
-
this.child = [];
|
|
1037
|
-
this[":@"] = Object.create(null);
|
|
1038
|
-
}
|
|
1039
|
-
add(key, val) {
|
|
1040
|
-
if (key === "__proto__") key = "#__proto__";
|
|
1041
|
-
this.child.push({ [key]: val });
|
|
1042
|
-
}
|
|
1043
|
-
addChild(node, startIndex) {
|
|
1044
|
-
if (node.tagname === "__proto__") node.tagname = "#__proto__";
|
|
1045
|
-
if (node[":@"] && Object.keys(node[":@"]).length > 0) this.child.push({
|
|
1046
|
-
[node.tagname]: node.child,
|
|
1047
|
-
[":@"]: node[":@"]
|
|
1048
|
-
});
|
|
1049
|
-
else this.child.push({ [node.tagname]: node.child });
|
|
1050
|
-
if (startIndex !== void 0) this.child[this.child.length - 1][METADATA_SYMBOL$1] = { startIndex };
|
|
1051
|
-
}
|
|
1052
|
-
/** symbol used for metadata */
|
|
1053
|
-
static getMetaDataSymbol() {
|
|
1054
|
-
return METADATA_SYMBOL$1;
|
|
1055
|
-
}
|
|
1056
|
-
};
|
|
1057
|
-
//#endregion
|
|
1058
|
-
//#region ../../node_modules/.pnpm/fast-xml-parser@5.7.3/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js
|
|
1059
|
-
var DocTypeReader = class {
|
|
1060
|
-
constructor(options) {
|
|
1061
|
-
this.suppressValidationErr = !options;
|
|
1062
|
-
this.options = options;
|
|
1063
|
-
}
|
|
1064
|
-
readDocType(xmlData, i) {
|
|
1065
|
-
const entities = Object.create(null);
|
|
1066
|
-
let entityCount = 0;
|
|
1067
|
-
if (xmlData[i + 3] === "O" && xmlData[i + 4] === "C" && xmlData[i + 5] === "T" && xmlData[i + 6] === "Y" && xmlData[i + 7] === "P" && xmlData[i + 8] === "E") {
|
|
1068
|
-
i = i + 9;
|
|
1069
|
-
let angleBracketsCount = 1;
|
|
1070
|
-
let hasBody = false, comment = false;
|
|
1071
|
-
let exp = "";
|
|
1072
|
-
for (; i < xmlData.length; i++) if (xmlData[i] === "<" && !comment) {
|
|
1073
|
-
if (hasBody && hasSeq(xmlData, "!ENTITY", i)) {
|
|
1074
|
-
i += 7;
|
|
1075
|
-
let entityName, val;
|
|
1076
|
-
[entityName, val, i] = this.readEntityExp(xmlData, i + 1, this.suppressValidationErr);
|
|
1077
|
-
if (val.indexOf("&") === -1) {
|
|
1078
|
-
if (this.options.enabled !== false && this.options.maxEntityCount != null && entityCount >= this.options.maxEntityCount) throw new Error(`Entity count (${entityCount + 1}) exceeds maximum allowed (${this.options.maxEntityCount})`);
|
|
1079
|
-
entities[entityName] = val;
|
|
1080
|
-
entityCount++;
|
|
1081
|
-
}
|
|
1082
|
-
} else if (hasBody && hasSeq(xmlData, "!ELEMENT", i)) {
|
|
1083
|
-
i += 8;
|
|
1084
|
-
const { index } = this.readElementExp(xmlData, i + 1);
|
|
1085
|
-
i = index;
|
|
1086
|
-
} else if (hasBody && hasSeq(xmlData, "!ATTLIST", i)) i += 8;
|
|
1087
|
-
else if (hasBody && hasSeq(xmlData, "!NOTATION", i)) {
|
|
1088
|
-
i += 9;
|
|
1089
|
-
const { index } = this.readNotationExp(xmlData, i + 1, this.suppressValidationErr);
|
|
1090
|
-
i = index;
|
|
1091
|
-
} else if (hasSeq(xmlData, "!--", i)) comment = true;
|
|
1092
|
-
else throw new Error(`Invalid DOCTYPE`);
|
|
1093
|
-
angleBracketsCount++;
|
|
1094
|
-
exp = "";
|
|
1095
|
-
} else if (xmlData[i] === ">") {
|
|
1096
|
-
if (comment) {
|
|
1097
|
-
if (xmlData[i - 1] === "-" && xmlData[i - 2] === "-") {
|
|
1098
|
-
comment = false;
|
|
1099
|
-
angleBracketsCount--;
|
|
1100
|
-
}
|
|
1101
|
-
} else angleBracketsCount--;
|
|
1102
|
-
if (angleBracketsCount === 0) break;
|
|
1103
|
-
} else if (xmlData[i] === "[") hasBody = true;
|
|
1104
|
-
else exp += xmlData[i];
|
|
1105
|
-
if (angleBracketsCount !== 0) throw new Error(`Unclosed DOCTYPE`);
|
|
1106
|
-
} else throw new Error(`Invalid Tag instead of DOCTYPE`);
|
|
1107
|
-
return {
|
|
1108
|
-
entities,
|
|
1109
|
-
i
|
|
1110
|
-
};
|
|
1111
|
-
}
|
|
1112
|
-
readEntityExp(xmlData, i) {
|
|
1113
|
-
i = skipWhitespace(xmlData, i);
|
|
1114
|
-
const startIndex = i;
|
|
1115
|
-
while (i < xmlData.length && !/\s/.test(xmlData[i]) && xmlData[i] !== "\"" && xmlData[i] !== "'") i++;
|
|
1116
|
-
let entityName = xmlData.substring(startIndex, i);
|
|
1117
|
-
validateEntityName$1(entityName);
|
|
1118
|
-
i = skipWhitespace(xmlData, i);
|
|
1119
|
-
if (!this.suppressValidationErr) {
|
|
1120
|
-
if (xmlData.substring(i, i + 6).toUpperCase() === "SYSTEM") throw new Error("External entities are not supported");
|
|
1121
|
-
else if (xmlData[i] === "%") throw new Error("Parameter entities are not supported");
|
|
1122
|
-
}
|
|
1123
|
-
let entityValue = "";
|
|
1124
|
-
[i, entityValue] = this.readIdentifierVal(xmlData, i, "entity");
|
|
1125
|
-
if (this.options.enabled !== false && this.options.maxEntitySize != null && entityValue.length > this.options.maxEntitySize) throw new Error(`Entity "${entityName}" size (${entityValue.length}) exceeds maximum allowed size (${this.options.maxEntitySize})`);
|
|
1126
|
-
i--;
|
|
1127
|
-
return [
|
|
1128
|
-
entityName,
|
|
1129
|
-
entityValue,
|
|
1130
|
-
i
|
|
1131
|
-
];
|
|
1132
|
-
}
|
|
1133
|
-
readNotationExp(xmlData, i) {
|
|
1134
|
-
i = skipWhitespace(xmlData, i);
|
|
1135
|
-
const startIndex = i;
|
|
1136
|
-
while (i < xmlData.length && !/\s/.test(xmlData[i])) i++;
|
|
1137
|
-
let notationName = xmlData.substring(startIndex, i);
|
|
1138
|
-
!this.suppressValidationErr && validateEntityName$1(notationName);
|
|
1139
|
-
i = skipWhitespace(xmlData, i);
|
|
1140
|
-
const identifierType = xmlData.substring(i, i + 6).toUpperCase();
|
|
1141
|
-
if (!this.suppressValidationErr && identifierType !== "SYSTEM" && identifierType !== "PUBLIC") throw new Error(`Expected SYSTEM or PUBLIC, found "${identifierType}"`);
|
|
1142
|
-
i += identifierType.length;
|
|
1143
|
-
i = skipWhitespace(xmlData, i);
|
|
1144
|
-
let publicIdentifier = null;
|
|
1145
|
-
let systemIdentifier = null;
|
|
1146
|
-
if (identifierType === "PUBLIC") {
|
|
1147
|
-
[i, publicIdentifier] = this.readIdentifierVal(xmlData, i, "publicIdentifier");
|
|
1148
|
-
i = skipWhitespace(xmlData, i);
|
|
1149
|
-
if (xmlData[i] === "\"" || xmlData[i] === "'") [i, systemIdentifier] = this.readIdentifierVal(xmlData, i, "systemIdentifier");
|
|
1150
|
-
} else if (identifierType === "SYSTEM") {
|
|
1151
|
-
[i, systemIdentifier] = this.readIdentifierVal(xmlData, i, "systemIdentifier");
|
|
1152
|
-
if (!this.suppressValidationErr && !systemIdentifier) throw new Error("Missing mandatory system identifier for SYSTEM notation");
|
|
1153
|
-
}
|
|
1154
|
-
return {
|
|
1155
|
-
notationName,
|
|
1156
|
-
publicIdentifier,
|
|
1157
|
-
systemIdentifier,
|
|
1158
|
-
index: --i
|
|
1159
|
-
};
|
|
1160
|
-
}
|
|
1161
|
-
readIdentifierVal(xmlData, i, type) {
|
|
1162
|
-
let identifierVal = "";
|
|
1163
|
-
const startChar = xmlData[i];
|
|
1164
|
-
if (startChar !== "\"" && startChar !== "'") throw new Error(`Expected quoted string, found "${startChar}"`);
|
|
1165
|
-
i++;
|
|
1166
|
-
const startIndex = i;
|
|
1167
|
-
while (i < xmlData.length && xmlData[i] !== startChar) i++;
|
|
1168
|
-
identifierVal = xmlData.substring(startIndex, i);
|
|
1169
|
-
if (xmlData[i] !== startChar) throw new Error(`Unterminated ${type} value`);
|
|
1170
|
-
i++;
|
|
1171
|
-
return [i, identifierVal];
|
|
1172
|
-
}
|
|
1173
|
-
readElementExp(xmlData, i) {
|
|
1174
|
-
i = skipWhitespace(xmlData, i);
|
|
1175
|
-
const startIndex = i;
|
|
1176
|
-
while (i < xmlData.length && !/\s/.test(xmlData[i])) i++;
|
|
1177
|
-
let elementName = xmlData.substring(startIndex, i);
|
|
1178
|
-
if (!this.suppressValidationErr && !isName(elementName)) throw new Error(`Invalid element name: "${elementName}"`);
|
|
1179
|
-
i = skipWhitespace(xmlData, i);
|
|
1180
|
-
let contentModel = "";
|
|
1181
|
-
if (xmlData[i] === "E" && hasSeq(xmlData, "MPTY", i)) i += 4;
|
|
1182
|
-
else if (xmlData[i] === "A" && hasSeq(xmlData, "NY", i)) i += 2;
|
|
1183
|
-
else if (xmlData[i] === "(") {
|
|
1184
|
-
i++;
|
|
1185
|
-
const startIndex = i;
|
|
1186
|
-
while (i < xmlData.length && xmlData[i] !== ")") i++;
|
|
1187
|
-
contentModel = xmlData.substring(startIndex, i);
|
|
1188
|
-
if (xmlData[i] !== ")") throw new Error("Unterminated content model");
|
|
1189
|
-
} else if (!this.suppressValidationErr) throw new Error(`Invalid Element Expression, found "${xmlData[i]}"`);
|
|
1190
|
-
return {
|
|
1191
|
-
elementName,
|
|
1192
|
-
contentModel: contentModel.trim(),
|
|
1193
|
-
index: i
|
|
1194
|
-
};
|
|
1195
|
-
}
|
|
1196
|
-
readAttlistExp(xmlData, i) {
|
|
1197
|
-
i = skipWhitespace(xmlData, i);
|
|
1198
|
-
let startIndex = i;
|
|
1199
|
-
while (i < xmlData.length && !/\s/.test(xmlData[i])) i++;
|
|
1200
|
-
let elementName = xmlData.substring(startIndex, i);
|
|
1201
|
-
validateEntityName$1(elementName);
|
|
1202
|
-
i = skipWhitespace(xmlData, i);
|
|
1203
|
-
startIndex = i;
|
|
1204
|
-
while (i < xmlData.length && !/\s/.test(xmlData[i])) i++;
|
|
1205
|
-
let attributeName = xmlData.substring(startIndex, i);
|
|
1206
|
-
if (!validateEntityName$1(attributeName)) throw new Error(`Invalid attribute name: "${attributeName}"`);
|
|
1207
|
-
i = skipWhitespace(xmlData, i);
|
|
1208
|
-
let attributeType = "";
|
|
1209
|
-
if (xmlData.substring(i, i + 8).toUpperCase() === "NOTATION") {
|
|
1210
|
-
attributeType = "NOTATION";
|
|
1211
|
-
i += 8;
|
|
1212
|
-
i = skipWhitespace(xmlData, i);
|
|
1213
|
-
if (xmlData[i] !== "(") throw new Error(`Expected '(', found "${xmlData[i]}"`);
|
|
1214
|
-
i++;
|
|
1215
|
-
let allowedNotations = [];
|
|
1216
|
-
while (i < xmlData.length && xmlData[i] !== ")") {
|
|
1217
|
-
const startIndex = i;
|
|
1218
|
-
while (i < xmlData.length && xmlData[i] !== "|" && xmlData[i] !== ")") i++;
|
|
1219
|
-
let notation = xmlData.substring(startIndex, i);
|
|
1220
|
-
notation = notation.trim();
|
|
1221
|
-
if (!validateEntityName$1(notation)) throw new Error(`Invalid notation name: "${notation}"`);
|
|
1222
|
-
allowedNotations.push(notation);
|
|
1223
|
-
if (xmlData[i] === "|") {
|
|
1224
|
-
i++;
|
|
1225
|
-
i = skipWhitespace(xmlData, i);
|
|
1226
|
-
}
|
|
1227
|
-
}
|
|
1228
|
-
if (xmlData[i] !== ")") throw new Error("Unterminated list of notations");
|
|
1229
|
-
i++;
|
|
1230
|
-
attributeType += " (" + allowedNotations.join("|") + ")";
|
|
1231
|
-
} else {
|
|
1232
|
-
const startIndex = i;
|
|
1233
|
-
while (i < xmlData.length && !/\s/.test(xmlData[i])) i++;
|
|
1234
|
-
attributeType += xmlData.substring(startIndex, i);
|
|
1235
|
-
if (!this.suppressValidationErr && ![
|
|
1236
|
-
"CDATA",
|
|
1237
|
-
"ID",
|
|
1238
|
-
"IDREF",
|
|
1239
|
-
"IDREFS",
|
|
1240
|
-
"ENTITY",
|
|
1241
|
-
"ENTITIES",
|
|
1242
|
-
"NMTOKEN",
|
|
1243
|
-
"NMTOKENS"
|
|
1244
|
-
].includes(attributeType.toUpperCase())) throw new Error(`Invalid attribute type: "${attributeType}"`);
|
|
1245
|
-
}
|
|
1246
|
-
i = skipWhitespace(xmlData, i);
|
|
1247
|
-
let defaultValue = "";
|
|
1248
|
-
if (xmlData.substring(i, i + 8).toUpperCase() === "#REQUIRED") {
|
|
1249
|
-
defaultValue = "#REQUIRED";
|
|
1250
|
-
i += 8;
|
|
1251
|
-
} else if (xmlData.substring(i, i + 7).toUpperCase() === "#IMPLIED") {
|
|
1252
|
-
defaultValue = "#IMPLIED";
|
|
1253
|
-
i += 7;
|
|
1254
|
-
} else [i, defaultValue] = this.readIdentifierVal(xmlData, i, "ATTLIST");
|
|
1255
|
-
return {
|
|
1256
|
-
elementName,
|
|
1257
|
-
attributeName,
|
|
1258
|
-
attributeType,
|
|
1259
|
-
defaultValue,
|
|
1260
|
-
index: i
|
|
1261
|
-
};
|
|
1262
|
-
}
|
|
1263
|
-
};
|
|
1264
|
-
var skipWhitespace = (data, index) => {
|
|
1265
|
-
while (index < data.length && /\s/.test(data[index])) index++;
|
|
1266
|
-
return index;
|
|
1267
|
-
};
|
|
1268
|
-
function hasSeq(data, seq, i) {
|
|
1269
|
-
for (let j = 0; j < seq.length; j++) if (seq[j] !== data[i + j + 1]) return false;
|
|
1270
|
-
return true;
|
|
1271
|
-
}
|
|
1272
|
-
function validateEntityName$1(name) {
|
|
1273
|
-
if (isName(name)) return name;
|
|
1274
|
-
else throw new Error(`Invalid entity name ${name}`);
|
|
1275
|
-
}
|
|
1276
|
-
//#endregion
|
|
1277
|
-
//#region ../../node_modules/.pnpm/strnum@2.2.3/node_modules/strnum/strnum.js
|
|
1278
|
-
var hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;
|
|
1279
|
-
var numRegex = /^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/;
|
|
1280
|
-
var consider = {
|
|
1281
|
-
hex: true,
|
|
1282
|
-
leadingZeros: true,
|
|
1283
|
-
decimalPoint: ".",
|
|
1284
|
-
eNotation: true,
|
|
1285
|
-
infinity: "original"
|
|
1286
|
-
};
|
|
1287
|
-
function toNumber(str, options = {}) {
|
|
1288
|
-
options = Object.assign({}, consider, options);
|
|
1289
|
-
if (!str || typeof str !== "string") return str;
|
|
1290
|
-
let trimmedStr = str.trim();
|
|
1291
|
-
if (trimmedStr.length === 0) return str;
|
|
1292
|
-
else if (options.skipLike !== void 0 && options.skipLike.test(trimmedStr)) return str;
|
|
1293
|
-
else if (trimmedStr === "0") return 0;
|
|
1294
|
-
else if (options.hex && hexRegex.test(trimmedStr)) return parse_int(trimmedStr, 16);
|
|
1295
|
-
else if (!isFinite(trimmedStr)) return handleInfinity(str, Number(trimmedStr), options);
|
|
1296
|
-
else if (trimmedStr.includes("e") || trimmedStr.includes("E")) return resolveEnotation(str, trimmedStr, options);
|
|
1297
|
-
else {
|
|
1298
|
-
const match = numRegex.exec(trimmedStr);
|
|
1299
|
-
if (match) {
|
|
1300
|
-
const sign = match[1] || "";
|
|
1301
|
-
const leadingZeros = match[2];
|
|
1302
|
-
let numTrimmedByZeros = trimZeros(match[3]);
|
|
1303
|
-
const decimalAdjacentToLeadingZeros = sign ? str[leadingZeros.length + 1] === "." : str[leadingZeros.length] === ".";
|
|
1304
|
-
if (!options.leadingZeros && (leadingZeros.length > 1 || leadingZeros.length === 1 && !decimalAdjacentToLeadingZeros)) return str;
|
|
1305
|
-
else {
|
|
1306
|
-
const num = Number(trimmedStr);
|
|
1307
|
-
const parsedStr = String(num);
|
|
1308
|
-
if (num === 0) return num;
|
|
1309
|
-
if (parsedStr.search(/[eE]/) !== -1) if (options.eNotation) return num;
|
|
1310
|
-
else return str;
|
|
1311
|
-
else if (trimmedStr.indexOf(".") !== -1) if (parsedStr === "0") return num;
|
|
1312
|
-
else if (parsedStr === numTrimmedByZeros) return num;
|
|
1313
|
-
else if (parsedStr === `${sign}${numTrimmedByZeros}`) return num;
|
|
1314
|
-
else return str;
|
|
1315
|
-
let n = leadingZeros ? numTrimmedByZeros : trimmedStr;
|
|
1316
|
-
if (leadingZeros) return n === parsedStr || sign + n === parsedStr ? num : str;
|
|
1317
|
-
else return n === parsedStr || n === sign + parsedStr ? num : str;
|
|
1318
|
-
}
|
|
1319
|
-
} else return str;
|
|
1320
|
-
}
|
|
1321
|
-
}
|
|
1322
|
-
var eNotationRegx = /^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;
|
|
1323
|
-
function resolveEnotation(str, trimmedStr, options) {
|
|
1324
|
-
if (!options.eNotation) return str;
|
|
1325
|
-
const notation = trimmedStr.match(eNotationRegx);
|
|
1326
|
-
if (notation) {
|
|
1327
|
-
let sign = notation[1] || "";
|
|
1328
|
-
const eChar = notation[3].indexOf("e") === -1 ? "E" : "e";
|
|
1329
|
-
const leadingZeros = notation[2];
|
|
1330
|
-
const eAdjacentToLeadingZeros = sign ? str[leadingZeros.length + 1] === eChar : str[leadingZeros.length] === eChar;
|
|
1331
|
-
if (leadingZeros.length > 1 && eAdjacentToLeadingZeros) return str;
|
|
1332
|
-
else if (leadingZeros.length === 1 && (notation[3].startsWith(`.${eChar}`) || notation[3][0] === eChar)) return Number(trimmedStr);
|
|
1333
|
-
else if (leadingZeros.length > 0) if (options.leadingZeros && !eAdjacentToLeadingZeros) {
|
|
1334
|
-
trimmedStr = (notation[1] || "") + notation[3];
|
|
1335
|
-
return Number(trimmedStr);
|
|
1336
|
-
} else return str;
|
|
1337
|
-
else return Number(trimmedStr);
|
|
1338
|
-
} else return str;
|
|
1339
|
-
}
|
|
1340
|
-
/**
|
|
1341
|
-
*
|
|
1342
|
-
* @param {string} numStr without leading zeros
|
|
1343
|
-
* @returns
|
|
1344
|
-
*/
|
|
1345
|
-
function trimZeros(numStr) {
|
|
1346
|
-
if (numStr && numStr.indexOf(".") !== -1) {
|
|
1347
|
-
numStr = numStr.replace(/0+$/, "");
|
|
1348
|
-
if (numStr === ".") numStr = "0";
|
|
1349
|
-
else if (numStr[0] === ".") numStr = "0" + numStr;
|
|
1350
|
-
else if (numStr[numStr.length - 1] === ".") numStr = numStr.substring(0, numStr.length - 1);
|
|
1351
|
-
return numStr;
|
|
1352
|
-
}
|
|
1353
|
-
return numStr;
|
|
1354
|
-
}
|
|
1355
|
-
function parse_int(numStr, base) {
|
|
1356
|
-
if (parseInt) return parseInt(numStr, base);
|
|
1357
|
-
else if (Number.parseInt) return Number.parseInt(numStr, base);
|
|
1358
|
-
else if (window && window.parseInt) return window.parseInt(numStr, base);
|
|
1359
|
-
else throw new Error("parseInt, Number.parseInt, window.parseInt are not supported");
|
|
1360
|
-
}
|
|
1361
|
-
/**
|
|
1362
|
-
* Handle infinite values based on user option
|
|
1363
|
-
* @param {string} str - original input string
|
|
1364
|
-
* @param {number} num - parsed number (Infinity or -Infinity)
|
|
1365
|
-
* @param {object} options - user options
|
|
1366
|
-
* @returns {string|number|null} based on infinity option
|
|
1367
|
-
*/
|
|
1368
|
-
function handleInfinity(str, num, options) {
|
|
1369
|
-
const isPositive = num === Infinity;
|
|
1370
|
-
switch (options.infinity.toLowerCase()) {
|
|
1371
|
-
case "null": return null;
|
|
1372
|
-
case "infinity": return num;
|
|
1373
|
-
case "string": return isPositive ? "Infinity" : "-Infinity";
|
|
1374
|
-
default: return str;
|
|
1375
|
-
}
|
|
1376
|
-
}
|
|
1377
|
-
//#endregion
|
|
1378
|
-
//#region ../../node_modules/.pnpm/fast-xml-parser@5.7.3/node_modules/fast-xml-parser/src/ignoreAttributes.js
|
|
1379
|
-
function getIgnoreAttributesFn(ignoreAttributes) {
|
|
1380
|
-
if (typeof ignoreAttributes === "function") return ignoreAttributes;
|
|
1381
|
-
if (Array.isArray(ignoreAttributes)) return (attrName) => {
|
|
1382
|
-
for (const pattern of ignoreAttributes) {
|
|
1383
|
-
if (typeof pattern === "string" && attrName === pattern) return true;
|
|
1384
|
-
if (pattern instanceof RegExp && pattern.test(attrName)) return true;
|
|
1385
|
-
}
|
|
1386
|
-
};
|
|
1387
|
-
return () => false;
|
|
1388
|
-
}
|
|
1389
|
-
//#endregion
|
|
1390
|
-
//#region ../../node_modules/.pnpm/path-expression-matcher@1.5.0/node_modules/path-expression-matcher/src/Expression.js
|
|
1391
|
-
/**
|
|
1392
|
-
* Expression - Parses and stores a tag pattern expression
|
|
1393
|
-
*
|
|
1394
|
-
* Patterns are parsed once and stored in an optimized structure for fast matching.
|
|
1395
|
-
*
|
|
1396
|
-
* @example
|
|
1397
|
-
* const expr = new Expression("root.users.user");
|
|
1398
|
-
* const expr2 = new Expression("..user[id]:first");
|
|
1399
|
-
* const expr3 = new Expression("root/users/user", { separator: '/' });
|
|
1400
|
-
*/
|
|
1401
|
-
var Expression = class {
|
|
1402
|
-
/**
|
|
1403
|
-
* Create a new Expression
|
|
1404
|
-
* @param {string} pattern - Pattern string (e.g., "root.users.user", "..user[id]")
|
|
1405
|
-
* @param {Object} options - Configuration options
|
|
1406
|
-
* @param {string} options.separator - Path separator (default: '.')
|
|
1407
|
-
*/
|
|
1408
|
-
constructor(pattern, options = {}, data) {
|
|
1409
|
-
this.pattern = pattern;
|
|
1410
|
-
this.separator = options.separator || ".";
|
|
1411
|
-
this.segments = this._parse(pattern);
|
|
1412
|
-
this.data = data;
|
|
1413
|
-
this._hasDeepWildcard = this.segments.some((seg) => seg.type === "deep-wildcard");
|
|
1414
|
-
this._hasAttributeCondition = this.segments.some((seg) => seg.attrName !== void 0);
|
|
1415
|
-
this._hasPositionSelector = this.segments.some((seg) => seg.position !== void 0);
|
|
1416
|
-
}
|
|
1417
|
-
/**
|
|
1418
|
-
* Parse pattern string into segments
|
|
1419
|
-
* @private
|
|
1420
|
-
* @param {string} pattern - Pattern to parse
|
|
1421
|
-
* @returns {Array} Array of segment objects
|
|
1422
|
-
*/
|
|
1423
|
-
_parse(pattern) {
|
|
1424
|
-
const segments = [];
|
|
1425
|
-
let i = 0;
|
|
1426
|
-
let currentPart = "";
|
|
1427
|
-
while (i < pattern.length) if (pattern[i] === this.separator) if (i + 1 < pattern.length && pattern[i + 1] === this.separator) {
|
|
1428
|
-
if (currentPart.trim()) {
|
|
1429
|
-
segments.push(this._parseSegment(currentPart.trim()));
|
|
1430
|
-
currentPart = "";
|
|
1431
|
-
}
|
|
1432
|
-
segments.push({ type: "deep-wildcard" });
|
|
1433
|
-
i += 2;
|
|
1434
|
-
} else {
|
|
1435
|
-
if (currentPart.trim()) segments.push(this._parseSegment(currentPart.trim()));
|
|
1436
|
-
currentPart = "";
|
|
1437
|
-
i++;
|
|
1438
|
-
}
|
|
1439
|
-
else {
|
|
1440
|
-
currentPart += pattern[i];
|
|
1441
|
-
i++;
|
|
1442
|
-
}
|
|
1443
|
-
if (currentPart.trim()) segments.push(this._parseSegment(currentPart.trim()));
|
|
1444
|
-
return segments;
|
|
1445
|
-
}
|
|
1446
|
-
/**
|
|
1447
|
-
* Parse a single segment
|
|
1448
|
-
* @private
|
|
1449
|
-
* @param {string} part - Segment string (e.g., "user", "ns::user", "user[id]", "ns::user:first")
|
|
1450
|
-
* @returns {Object} Segment object
|
|
1451
|
-
*/
|
|
1452
|
-
_parseSegment(part) {
|
|
1453
|
-
const segment = { type: "tag" };
|
|
1454
|
-
let bracketContent = null;
|
|
1455
|
-
let withoutBrackets = part;
|
|
1456
|
-
const bracketMatch = part.match(/^([^\[]+)(\[[^\]]*\])(.*)$/);
|
|
1457
|
-
if (bracketMatch) {
|
|
1458
|
-
withoutBrackets = bracketMatch[1] + bracketMatch[3];
|
|
1459
|
-
if (bracketMatch[2]) {
|
|
1460
|
-
const content = bracketMatch[2].slice(1, -1);
|
|
1461
|
-
if (content) bracketContent = content;
|
|
1462
|
-
}
|
|
1463
|
-
}
|
|
1464
|
-
let namespace = void 0;
|
|
1465
|
-
let tagAndPosition = withoutBrackets;
|
|
1466
|
-
if (withoutBrackets.includes("::")) {
|
|
1467
|
-
const nsIndex = withoutBrackets.indexOf("::");
|
|
1468
|
-
namespace = withoutBrackets.substring(0, nsIndex).trim();
|
|
1469
|
-
tagAndPosition = withoutBrackets.substring(nsIndex + 2).trim();
|
|
1470
|
-
if (!namespace) throw new Error(`Invalid namespace in pattern: ${part}`);
|
|
1471
|
-
}
|
|
1472
|
-
let tag = void 0;
|
|
1473
|
-
let positionMatch = null;
|
|
1474
|
-
if (tagAndPosition.includes(":")) {
|
|
1475
|
-
const colonIndex = tagAndPosition.lastIndexOf(":");
|
|
1476
|
-
const tagPart = tagAndPosition.substring(0, colonIndex).trim();
|
|
1477
|
-
const posPart = tagAndPosition.substring(colonIndex + 1).trim();
|
|
1478
|
-
if ([
|
|
1479
|
-
"first",
|
|
1480
|
-
"last",
|
|
1481
|
-
"odd",
|
|
1482
|
-
"even"
|
|
1483
|
-
].includes(posPart) || /^nth\(\d+\)$/.test(posPart)) {
|
|
1484
|
-
tag = tagPart;
|
|
1485
|
-
positionMatch = posPart;
|
|
1486
|
-
} else tag = tagAndPosition;
|
|
1487
|
-
} else tag = tagAndPosition;
|
|
1488
|
-
if (!tag) throw new Error(`Invalid segment pattern: ${part}`);
|
|
1489
|
-
segment.tag = tag;
|
|
1490
|
-
if (namespace) segment.namespace = namespace;
|
|
1491
|
-
if (bracketContent) if (bracketContent.includes("=")) {
|
|
1492
|
-
const eqIndex = bracketContent.indexOf("=");
|
|
1493
|
-
segment.attrName = bracketContent.substring(0, eqIndex).trim();
|
|
1494
|
-
segment.attrValue = bracketContent.substring(eqIndex + 1).trim();
|
|
1495
|
-
} else segment.attrName = bracketContent.trim();
|
|
1496
|
-
if (positionMatch) {
|
|
1497
|
-
const nthMatch = positionMatch.match(/^nth\((\d+)\)$/);
|
|
1498
|
-
if (nthMatch) {
|
|
1499
|
-
segment.position = "nth";
|
|
1500
|
-
segment.positionValue = parseInt(nthMatch[1], 10);
|
|
1501
|
-
} else segment.position = positionMatch;
|
|
1502
|
-
}
|
|
1503
|
-
return segment;
|
|
1504
|
-
}
|
|
1505
|
-
/**
|
|
1506
|
-
* Get the number of segments
|
|
1507
|
-
* @returns {number}
|
|
1508
|
-
*/
|
|
1509
|
-
get length() {
|
|
1510
|
-
return this.segments.length;
|
|
1511
|
-
}
|
|
1512
|
-
/**
|
|
1513
|
-
* Check if expression contains deep wildcard
|
|
1514
|
-
* @returns {boolean}
|
|
1515
|
-
*/
|
|
1516
|
-
hasDeepWildcard() {
|
|
1517
|
-
return this._hasDeepWildcard;
|
|
1518
|
-
}
|
|
1519
|
-
/**
|
|
1520
|
-
* Check if expression has attribute conditions
|
|
1521
|
-
* @returns {boolean}
|
|
1522
|
-
*/
|
|
1523
|
-
hasAttributeCondition() {
|
|
1524
|
-
return this._hasAttributeCondition;
|
|
1525
|
-
}
|
|
1526
|
-
/**
|
|
1527
|
-
* Check if expression has position selectors
|
|
1528
|
-
* @returns {boolean}
|
|
1529
|
-
*/
|
|
1530
|
-
hasPositionSelector() {
|
|
1531
|
-
return this._hasPositionSelector;
|
|
1532
|
-
}
|
|
1533
|
-
/**
|
|
1534
|
-
* Get string representation
|
|
1535
|
-
* @returns {string}
|
|
1536
|
-
*/
|
|
1537
|
-
toString() {
|
|
1538
|
-
return this.pattern;
|
|
1539
|
-
}
|
|
1540
|
-
};
|
|
1541
|
-
//#endregion
|
|
1542
|
-
//#region ../../node_modules/.pnpm/path-expression-matcher@1.5.0/node_modules/path-expression-matcher/src/ExpressionSet.js
|
|
1543
|
-
/**
|
|
1544
|
-
* ExpressionSet - An indexed collection of Expressions for efficient bulk matching
|
|
1545
|
-
*
|
|
1546
|
-
* Instead of iterating all expressions on every tag, ExpressionSet pre-indexes
|
|
1547
|
-
* them at insertion time by depth and terminal tag name. At match time, only
|
|
1548
|
-
* the relevant bucket is evaluated — typically reducing checks from O(E) to O(1)
|
|
1549
|
-
* lookup plus O(small bucket) matches.
|
|
1550
|
-
*
|
|
1551
|
-
* Three buckets are maintained:
|
|
1552
|
-
* - `_byDepthAndTag` — exact depth + exact tag name (tightest, used first)
|
|
1553
|
-
* - `_wildcardByDepth` — exact depth + wildcard tag `*` (depth-matched only)
|
|
1554
|
-
* - `_deepWildcards` — expressions containing `..` (cannot be depth-indexed)
|
|
1555
|
-
*
|
|
1556
|
-
* @example
|
|
1557
|
-
* import { Expression, ExpressionSet } from 'fast-xml-tagger';
|
|
1558
|
-
*
|
|
1559
|
-
* // Build once at config time
|
|
1560
|
-
* const stopNodes = new ExpressionSet();
|
|
1561
|
-
* stopNodes.add(new Expression('root.users.user'));
|
|
1562
|
-
* stopNodes.add(new Expression('root.config.setting'));
|
|
1563
|
-
* stopNodes.add(new Expression('..script'));
|
|
1564
|
-
*
|
|
1565
|
-
* // Query on every tag — hot path
|
|
1566
|
-
* if (stopNodes.matchesAny(matcher)) { ... }
|
|
1567
|
-
*/
|
|
1568
|
-
var ExpressionSet = class {
|
|
1569
|
-
constructor() {
|
|
1570
|
-
/** @type {Map<string, import('./Expression.js').default[]>} depth:tag → expressions */
|
|
1571
|
-
this._byDepthAndTag = /* @__PURE__ */ new Map();
|
|
1572
|
-
/** @type {Map<number, import('./Expression.js').default[]>} depth → wildcard-tag expressions */
|
|
1573
|
-
this._wildcardByDepth = /* @__PURE__ */ new Map();
|
|
1574
|
-
/** @type {import('./Expression.js').default[]} expressions containing deep wildcard (..) */
|
|
1575
|
-
this._deepWildcards = [];
|
|
1576
|
-
/** @type {Set<string>} pattern strings already added — used for deduplication */
|
|
1577
|
-
this._patterns = /* @__PURE__ */ new Set();
|
|
1578
|
-
/** @type {boolean} whether the set is sealed against further additions */
|
|
1579
|
-
this._sealed = false;
|
|
1580
|
-
}
|
|
1581
|
-
/**
|
|
1582
|
-
* Add an Expression to the set.
|
|
1583
|
-
* Duplicate patterns (same pattern string) are silently ignored.
|
|
1584
|
-
*
|
|
1585
|
-
* @param {import('./Expression.js').default} expression - A pre-constructed Expression instance
|
|
1586
|
-
* @returns {this} for chaining
|
|
1587
|
-
* @throws {TypeError} if called after seal()
|
|
1588
|
-
*
|
|
1589
|
-
* @example
|
|
1590
|
-
* set.add(new Expression('root.users.user'));
|
|
1591
|
-
* set.add(new Expression('..script'));
|
|
1592
|
-
*/
|
|
1593
|
-
add(expression) {
|
|
1594
|
-
if (this._sealed) throw new TypeError("ExpressionSet is sealed. Create a new ExpressionSet to add more expressions.");
|
|
1595
|
-
if (this._patterns.has(expression.pattern)) return this;
|
|
1596
|
-
this._patterns.add(expression.pattern);
|
|
1597
|
-
if (expression.hasDeepWildcard()) {
|
|
1598
|
-
this._deepWildcards.push(expression);
|
|
1599
|
-
return this;
|
|
1600
|
-
}
|
|
1601
|
-
const depth = expression.length;
|
|
1602
|
-
const tag = expression.segments[expression.segments.length - 1]?.tag;
|
|
1603
|
-
if (!tag || tag === "*") {
|
|
1604
|
-
if (!this._wildcardByDepth.has(depth)) this._wildcardByDepth.set(depth, []);
|
|
1605
|
-
this._wildcardByDepth.get(depth).push(expression);
|
|
1606
|
-
} else {
|
|
1607
|
-
const key = `${depth}:${tag}`;
|
|
1608
|
-
if (!this._byDepthAndTag.has(key)) this._byDepthAndTag.set(key, []);
|
|
1609
|
-
this._byDepthAndTag.get(key).push(expression);
|
|
1610
|
-
}
|
|
1611
|
-
return this;
|
|
1612
|
-
}
|
|
1613
|
-
/**
|
|
1614
|
-
* Add multiple expressions at once.
|
|
1615
|
-
*
|
|
1616
|
-
* @param {import('./Expression.js').default[]} expressions - Array of Expression instances
|
|
1617
|
-
* @returns {this} for chaining
|
|
1618
|
-
*
|
|
1619
|
-
* @example
|
|
1620
|
-
* set.addAll([
|
|
1621
|
-
* new Expression('root.users.user'),
|
|
1622
|
-
* new Expression('root.config.setting'),
|
|
1623
|
-
* ]);
|
|
1624
|
-
*/
|
|
1625
|
-
addAll(expressions) {
|
|
1626
|
-
for (const expr of expressions) this.add(expr);
|
|
1627
|
-
return this;
|
|
1628
|
-
}
|
|
1629
|
-
/**
|
|
1630
|
-
* Check whether a pattern string is already present in the set.
|
|
1631
|
-
*
|
|
1632
|
-
* @param {import('./Expression.js').default} expression
|
|
1633
|
-
* @returns {boolean}
|
|
1634
|
-
*/
|
|
1635
|
-
has(expression) {
|
|
1636
|
-
return this._patterns.has(expression.pattern);
|
|
1637
|
-
}
|
|
1638
|
-
/**
|
|
1639
|
-
* Number of expressions in the set.
|
|
1640
|
-
* @type {number}
|
|
1641
|
-
*/
|
|
1642
|
-
get size() {
|
|
1643
|
-
return this._patterns.size;
|
|
1644
|
-
}
|
|
1645
|
-
/**
|
|
1646
|
-
* Seal the set against further modifications.
|
|
1647
|
-
* Useful to prevent accidental mutations after config is built.
|
|
1648
|
-
* Calling add() or addAll() on a sealed set throws a TypeError.
|
|
1649
|
-
*
|
|
1650
|
-
* @returns {this}
|
|
1651
|
-
*/
|
|
1652
|
-
seal() {
|
|
1653
|
-
this._sealed = true;
|
|
1654
|
-
return this;
|
|
1655
|
-
}
|
|
1656
|
-
/**
|
|
1657
|
-
* Whether the set has been sealed.
|
|
1658
|
-
* @type {boolean}
|
|
1659
|
-
*/
|
|
1660
|
-
get isSealed() {
|
|
1661
|
-
return this._sealed;
|
|
1662
|
-
}
|
|
1663
|
-
/**
|
|
1664
|
-
* Test whether the matcher's current path matches any expression in the set.
|
|
1665
|
-
*
|
|
1666
|
-
* Evaluation order (cheapest → most expensive):
|
|
1667
|
-
* 1. Exact depth + tag bucket — O(1) lookup, typically 0–2 expressions
|
|
1668
|
-
* 2. Depth-only wildcard bucket — O(1) lookup, rare
|
|
1669
|
-
* 3. Deep-wildcard list — always checked, but usually small
|
|
1670
|
-
*
|
|
1671
|
-
* @param {import('./Matcher.js').default} matcher - Matcher instance (or readOnly view)
|
|
1672
|
-
* @returns {boolean} true if any expression matches the current path
|
|
1673
|
-
*
|
|
1674
|
-
* @example
|
|
1675
|
-
* if (stopNodes.matchesAny(matcher)) {
|
|
1676
|
-
* // handle stop node
|
|
1677
|
-
* }
|
|
1678
|
-
*/
|
|
1679
|
-
matchesAny(matcher) {
|
|
1680
|
-
return this.findMatch(matcher) !== null;
|
|
1681
|
-
}
|
|
1682
|
-
/**
|
|
1683
|
-
* Find and return the first Expression that matches the matcher's current path.
|
|
1684
|
-
*
|
|
1685
|
-
* Uses the same evaluation order as matchesAny (cheapest → most expensive):
|
|
1686
|
-
* 1. Exact depth + tag bucket
|
|
1687
|
-
* 2. Depth-only wildcard bucket
|
|
1688
|
-
* 3. Deep-wildcard list
|
|
1689
|
-
*
|
|
1690
|
-
* @param {import('./Matcher.js').default} matcher - Matcher instance (or readOnly view)
|
|
1691
|
-
* @returns {import('./Expression.js').default | null} the first matching Expression, or null
|
|
1692
|
-
*
|
|
1693
|
-
* @example
|
|
1694
|
-
* const expr = stopNodes.findMatch(matcher);
|
|
1695
|
-
* if (expr) {
|
|
1696
|
-
* // access expr.config, expr.pattern, etc.
|
|
1697
|
-
* }
|
|
1698
|
-
*/
|
|
1699
|
-
findMatch(matcher) {
|
|
1700
|
-
const depth = matcher.getDepth();
|
|
1701
|
-
const exactKey = `${depth}:${matcher.getCurrentTag()}`;
|
|
1702
|
-
const exactBucket = this._byDepthAndTag.get(exactKey);
|
|
1703
|
-
if (exactBucket) {
|
|
1704
|
-
for (let i = 0; i < exactBucket.length; i++) if (matcher.matches(exactBucket[i])) return exactBucket[i];
|
|
1705
|
-
}
|
|
1706
|
-
const wildcardBucket = this._wildcardByDepth.get(depth);
|
|
1707
|
-
if (wildcardBucket) {
|
|
1708
|
-
for (let i = 0; i < wildcardBucket.length; i++) if (matcher.matches(wildcardBucket[i])) return wildcardBucket[i];
|
|
1709
|
-
}
|
|
1710
|
-
for (let i = 0; i < this._deepWildcards.length; i++) if (matcher.matches(this._deepWildcards[i])) return this._deepWildcards[i];
|
|
1711
|
-
return null;
|
|
1712
|
-
}
|
|
1713
|
-
};
|
|
1714
|
-
//#endregion
|
|
1715
|
-
//#region ../../node_modules/.pnpm/path-expression-matcher@1.5.0/node_modules/path-expression-matcher/src/Matcher.js
|
|
1716
|
-
/**
|
|
1717
|
-
* MatcherView - A lightweight read-only view over a Matcher's internal state.
|
|
1718
|
-
*
|
|
1719
|
-
* Created once by Matcher and reused across all callbacks. Holds a direct
|
|
1720
|
-
* reference to the parent Matcher so it always reflects current parser state
|
|
1721
|
-
* with zero copying or freezing overhead.
|
|
1722
|
-
*
|
|
1723
|
-
* Users receive this via {@link Matcher#readOnly} or directly from parser
|
|
1724
|
-
* callbacks. It exposes all query and matching methods but has no mutation
|
|
1725
|
-
* methods — misuse is caught at the TypeScript level rather than at runtime.
|
|
1726
|
-
*
|
|
1727
|
-
* @example
|
|
1728
|
-
* const matcher = new Matcher();
|
|
1729
|
-
* const view = matcher.readOnly();
|
|
1730
|
-
*
|
|
1731
|
-
* matcher.push("root", {});
|
|
1732
|
-
* view.getCurrentTag(); // "root"
|
|
1733
|
-
* view.getDepth(); // 1
|
|
1734
|
-
*/
|
|
1735
|
-
var MatcherView = class {
|
|
1736
|
-
/**
|
|
1737
|
-
* @param {Matcher} matcher - The parent Matcher instance to read from.
|
|
1738
|
-
*/
|
|
1739
|
-
constructor(matcher) {
|
|
1740
|
-
this._matcher = matcher;
|
|
1741
|
-
}
|
|
1742
|
-
/**
|
|
1743
|
-
* Get the path separator used by the parent matcher.
|
|
1744
|
-
* @returns {string}
|
|
1745
|
-
*/
|
|
1746
|
-
get separator() {
|
|
1747
|
-
return this._matcher.separator;
|
|
1748
|
-
}
|
|
1749
|
-
/**
|
|
1750
|
-
* Get current tag name.
|
|
1751
|
-
* @returns {string|undefined}
|
|
1752
|
-
*/
|
|
1753
|
-
getCurrentTag() {
|
|
1754
|
-
const path = this._matcher.path;
|
|
1755
|
-
return path.length > 0 ? path[path.length - 1].tag : void 0;
|
|
1756
|
-
}
|
|
1757
|
-
/**
|
|
1758
|
-
* Get current namespace.
|
|
1759
|
-
* @returns {string|undefined}
|
|
1760
|
-
*/
|
|
1761
|
-
getCurrentNamespace() {
|
|
1762
|
-
const path = this._matcher.path;
|
|
1763
|
-
return path.length > 0 ? path[path.length - 1].namespace : void 0;
|
|
1764
|
-
}
|
|
1765
|
-
/**
|
|
1766
|
-
* Get current node's attribute value.
|
|
1767
|
-
* @param {string} attrName
|
|
1768
|
-
* @returns {*}
|
|
1769
|
-
*/
|
|
1770
|
-
getAttrValue(attrName) {
|
|
1771
|
-
const path = this._matcher.path;
|
|
1772
|
-
if (path.length === 0) return void 0;
|
|
1773
|
-
return path[path.length - 1].values?.[attrName];
|
|
1774
|
-
}
|
|
1775
|
-
/**
|
|
1776
|
-
* Check if current node has an attribute.
|
|
1777
|
-
* @param {string} attrName
|
|
1778
|
-
* @returns {boolean}
|
|
1779
|
-
*/
|
|
1780
|
-
hasAttr(attrName) {
|
|
1781
|
-
const path = this._matcher.path;
|
|
1782
|
-
if (path.length === 0) return false;
|
|
1783
|
-
const current = path[path.length - 1];
|
|
1784
|
-
return current.values !== void 0 && attrName in current.values;
|
|
1785
|
-
}
|
|
1786
|
-
/**
|
|
1787
|
-
* Get current node's sibling position (child index in parent).
|
|
1788
|
-
* @returns {number}
|
|
1789
|
-
*/
|
|
1790
|
-
getPosition() {
|
|
1791
|
-
const path = this._matcher.path;
|
|
1792
|
-
if (path.length === 0) return -1;
|
|
1793
|
-
return path[path.length - 1].position ?? 0;
|
|
1794
|
-
}
|
|
1795
|
-
/**
|
|
1796
|
-
* Get current node's repeat counter (occurrence count of this tag name).
|
|
1797
|
-
* @returns {number}
|
|
1798
|
-
*/
|
|
1799
|
-
getCounter() {
|
|
1800
|
-
const path = this._matcher.path;
|
|
1801
|
-
if (path.length === 0) return -1;
|
|
1802
|
-
return path[path.length - 1].counter ?? 0;
|
|
1803
|
-
}
|
|
1804
|
-
/**
|
|
1805
|
-
* Get current node's sibling index (alias for getPosition).
|
|
1806
|
-
* @returns {number}
|
|
1807
|
-
* @deprecated Use getPosition() or getCounter() instead
|
|
1808
|
-
*/
|
|
1809
|
-
getIndex() {
|
|
1810
|
-
return this.getPosition();
|
|
1811
|
-
}
|
|
1812
|
-
/**
|
|
1813
|
-
* Get current path depth.
|
|
1814
|
-
* @returns {number}
|
|
1815
|
-
*/
|
|
1816
|
-
getDepth() {
|
|
1817
|
-
return this._matcher.path.length;
|
|
1818
|
-
}
|
|
1819
|
-
/**
|
|
1820
|
-
* Get path as string.
|
|
1821
|
-
* @param {string} [separator] - Optional separator (uses default if not provided)
|
|
1822
|
-
* @param {boolean} [includeNamespace=true]
|
|
1823
|
-
* @returns {string}
|
|
1824
|
-
*/
|
|
1825
|
-
toString(separator, includeNamespace = true) {
|
|
1826
|
-
return this._matcher.toString(separator, includeNamespace);
|
|
1827
|
-
}
|
|
1828
|
-
/**
|
|
1829
|
-
* Get path as array of tag names.
|
|
1830
|
-
* @returns {string[]}
|
|
1831
|
-
*/
|
|
1832
|
-
toArray() {
|
|
1833
|
-
return this._matcher.path.map((n) => n.tag);
|
|
1834
|
-
}
|
|
1835
|
-
/**
|
|
1836
|
-
* Match current path against an Expression.
|
|
1837
|
-
* @param {Expression} expression
|
|
1838
|
-
* @returns {boolean}
|
|
1839
|
-
*/
|
|
1840
|
-
matches(expression) {
|
|
1841
|
-
return this._matcher.matches(expression);
|
|
1842
|
-
}
|
|
1843
|
-
/**
|
|
1844
|
-
* Match any expression in the given set against the current path.
|
|
1845
|
-
* @param {ExpressionSet} exprSet
|
|
1846
|
-
* @returns {boolean}
|
|
1847
|
-
*/
|
|
1848
|
-
matchesAny(exprSet) {
|
|
1849
|
-
return exprSet.matchesAny(this._matcher);
|
|
1850
|
-
}
|
|
1851
|
-
};
|
|
1852
|
-
/**
|
|
1853
|
-
* Matcher - Tracks current path in XML/JSON tree and matches against Expressions.
|
|
1854
|
-
*
|
|
1855
|
-
* The matcher maintains a stack of nodes representing the current path from root to
|
|
1856
|
-
* current tag. It only stores attribute values for the current (top) node to minimize
|
|
1857
|
-
* memory usage. Sibling tracking is used to auto-calculate position and counter.
|
|
1858
|
-
*
|
|
1859
|
-
* Use {@link Matcher#readOnly} to obtain a {@link MatcherView} safe to pass to
|
|
1860
|
-
* user callbacks — it always reflects current state with no Proxy overhead.
|
|
1861
|
-
*
|
|
1862
|
-
* @example
|
|
1863
|
-
* const matcher = new Matcher();
|
|
1864
|
-
* matcher.push("root", {});
|
|
1865
|
-
* matcher.push("users", {});
|
|
1866
|
-
* matcher.push("user", { id: "123", type: "admin" });
|
|
1867
|
-
*
|
|
1868
|
-
* const expr = new Expression("root.users.user");
|
|
1869
|
-
* matcher.matches(expr); // true
|
|
1870
|
-
*/
|
|
1871
|
-
var Matcher = class {
|
|
1872
|
-
/**
|
|
1873
|
-
* Create a new Matcher.
|
|
1874
|
-
* @param {Object} [options={}]
|
|
1875
|
-
* @param {string} [options.separator='.'] - Default path separator
|
|
1876
|
-
*/
|
|
1877
|
-
constructor(options = {}) {
|
|
1878
|
-
this.separator = options.separator || ".";
|
|
1879
|
-
this.path = [];
|
|
1880
|
-
this.siblingStacks = [];
|
|
1881
|
-
this._pathStringCache = null;
|
|
1882
|
-
this._view = new MatcherView(this);
|
|
1883
|
-
}
|
|
1884
|
-
/**
|
|
1885
|
-
* Push a new tag onto the path.
|
|
1886
|
-
* @param {string} tagName
|
|
1887
|
-
* @param {Object|null} [attrValues=null]
|
|
1888
|
-
* @param {string|null} [namespace=null]
|
|
1889
|
-
*/
|
|
1890
|
-
push(tagName, attrValues = null, namespace = null) {
|
|
1891
|
-
this._pathStringCache = null;
|
|
1892
|
-
if (this.path.length > 0) this.path[this.path.length - 1].values = void 0;
|
|
1893
|
-
const currentLevel = this.path.length;
|
|
1894
|
-
if (!this.siblingStacks[currentLevel]) this.siblingStacks[currentLevel] = /* @__PURE__ */ new Map();
|
|
1895
|
-
const siblings = this.siblingStacks[currentLevel];
|
|
1896
|
-
const siblingKey = namespace ? `${namespace}:${tagName}` : tagName;
|
|
1897
|
-
const counter = siblings.get(siblingKey) || 0;
|
|
1898
|
-
let position = 0;
|
|
1899
|
-
for (const count of siblings.values()) position += count;
|
|
1900
|
-
siblings.set(siblingKey, counter + 1);
|
|
1901
|
-
const node = {
|
|
1902
|
-
tag: tagName,
|
|
1903
|
-
position,
|
|
1904
|
-
counter
|
|
1905
|
-
};
|
|
1906
|
-
if (namespace !== null && namespace !== void 0) node.namespace = namespace;
|
|
1907
|
-
if (attrValues !== null && attrValues !== void 0) node.values = attrValues;
|
|
1908
|
-
this.path.push(node);
|
|
1909
|
-
}
|
|
1910
|
-
/**
|
|
1911
|
-
* Pop the last tag from the path.
|
|
1912
|
-
* @returns {Object|undefined} The popped node
|
|
1913
|
-
*/
|
|
1914
|
-
pop() {
|
|
1915
|
-
if (this.path.length === 0) return void 0;
|
|
1916
|
-
this._pathStringCache = null;
|
|
1917
|
-
const node = this.path.pop();
|
|
1918
|
-
if (this.siblingStacks.length > this.path.length + 1) this.siblingStacks.length = this.path.length + 1;
|
|
1919
|
-
return node;
|
|
1920
|
-
}
|
|
1921
|
-
/**
|
|
1922
|
-
* Update current node's attribute values.
|
|
1923
|
-
* Useful when attributes are parsed after push.
|
|
1924
|
-
* @param {Object} attrValues
|
|
1925
|
-
*/
|
|
1926
|
-
updateCurrent(attrValues) {
|
|
1927
|
-
if (this.path.length > 0) {
|
|
1928
|
-
const current = this.path[this.path.length - 1];
|
|
1929
|
-
if (attrValues !== null && attrValues !== void 0) current.values = attrValues;
|
|
1930
|
-
}
|
|
1931
|
-
}
|
|
1932
|
-
/**
|
|
1933
|
-
* Get current tag name.
|
|
1934
|
-
* @returns {string|undefined}
|
|
1935
|
-
*/
|
|
1936
|
-
getCurrentTag() {
|
|
1937
|
-
return this.path.length > 0 ? this.path[this.path.length - 1].tag : void 0;
|
|
1938
|
-
}
|
|
1939
|
-
/**
|
|
1940
|
-
* Get current namespace.
|
|
1941
|
-
* @returns {string|undefined}
|
|
1942
|
-
*/
|
|
1943
|
-
getCurrentNamespace() {
|
|
1944
|
-
return this.path.length > 0 ? this.path[this.path.length - 1].namespace : void 0;
|
|
1945
|
-
}
|
|
1946
|
-
/**
|
|
1947
|
-
* Get current node's attribute value.
|
|
1948
|
-
* @param {string} attrName
|
|
1949
|
-
* @returns {*}
|
|
1950
|
-
*/
|
|
1951
|
-
getAttrValue(attrName) {
|
|
1952
|
-
if (this.path.length === 0) return void 0;
|
|
1953
|
-
return this.path[this.path.length - 1].values?.[attrName];
|
|
1954
|
-
}
|
|
1955
|
-
/**
|
|
1956
|
-
* Check if current node has an attribute.
|
|
1957
|
-
* @param {string} attrName
|
|
1958
|
-
* @returns {boolean}
|
|
1959
|
-
*/
|
|
1960
|
-
hasAttr(attrName) {
|
|
1961
|
-
if (this.path.length === 0) return false;
|
|
1962
|
-
const current = this.path[this.path.length - 1];
|
|
1963
|
-
return current.values !== void 0 && attrName in current.values;
|
|
1964
|
-
}
|
|
1965
|
-
/**
|
|
1966
|
-
* Get current node's sibling position (child index in parent).
|
|
1967
|
-
* @returns {number}
|
|
1968
|
-
*/
|
|
1969
|
-
getPosition() {
|
|
1970
|
-
if (this.path.length === 0) return -1;
|
|
1971
|
-
return this.path[this.path.length - 1].position ?? 0;
|
|
1972
|
-
}
|
|
1973
|
-
/**
|
|
1974
|
-
* Get current node's repeat counter (occurrence count of this tag name).
|
|
1975
|
-
* @returns {number}
|
|
1976
|
-
*/
|
|
1977
|
-
getCounter() {
|
|
1978
|
-
if (this.path.length === 0) return -1;
|
|
1979
|
-
return this.path[this.path.length - 1].counter ?? 0;
|
|
1980
|
-
}
|
|
1981
|
-
/**
|
|
1982
|
-
* Get current node's sibling index (alias for getPosition).
|
|
1983
|
-
* @returns {number}
|
|
1984
|
-
* @deprecated Use getPosition() or getCounter() instead
|
|
1985
|
-
*/
|
|
1986
|
-
getIndex() {
|
|
1987
|
-
return this.getPosition();
|
|
1988
|
-
}
|
|
1989
|
-
/**
|
|
1990
|
-
* Get current path depth.
|
|
1991
|
-
* @returns {number}
|
|
1992
|
-
*/
|
|
1993
|
-
getDepth() {
|
|
1994
|
-
return this.path.length;
|
|
1995
|
-
}
|
|
1996
|
-
/**
|
|
1997
|
-
* Get path as string.
|
|
1998
|
-
* @param {string} [separator] - Optional separator (uses default if not provided)
|
|
1999
|
-
* @param {boolean} [includeNamespace=true]
|
|
2000
|
-
* @returns {string}
|
|
2001
|
-
*/
|
|
2002
|
-
toString(separator, includeNamespace = true) {
|
|
2003
|
-
const sep = separator || this.separator;
|
|
2004
|
-
if (sep === this.separator && includeNamespace === true) {
|
|
2005
|
-
if (this._pathStringCache !== null) return this._pathStringCache;
|
|
2006
|
-
const result = this.path.map((n) => n.namespace ? `${n.namespace}:${n.tag}` : n.tag).join(sep);
|
|
2007
|
-
this._pathStringCache = result;
|
|
2008
|
-
return result;
|
|
2009
|
-
}
|
|
2010
|
-
return this.path.map((n) => includeNamespace && n.namespace ? `${n.namespace}:${n.tag}` : n.tag).join(sep);
|
|
2011
|
-
}
|
|
2012
|
-
/**
|
|
2013
|
-
* Get path as array of tag names.
|
|
2014
|
-
* @returns {string[]}
|
|
2015
|
-
*/
|
|
2016
|
-
toArray() {
|
|
2017
|
-
return this.path.map((n) => n.tag);
|
|
2018
|
-
}
|
|
2019
|
-
/**
|
|
2020
|
-
* Reset the path to empty.
|
|
2021
|
-
*/
|
|
2022
|
-
reset() {
|
|
2023
|
-
this._pathStringCache = null;
|
|
2024
|
-
this.path = [];
|
|
2025
|
-
this.siblingStacks = [];
|
|
2026
|
-
}
|
|
2027
|
-
/**
|
|
2028
|
-
* Match current path against an Expression.
|
|
2029
|
-
* @param {Expression} expression
|
|
2030
|
-
* @returns {boolean}
|
|
2031
|
-
*/
|
|
2032
|
-
matches(expression) {
|
|
2033
|
-
const segments = expression.segments;
|
|
2034
|
-
if (segments.length === 0) return false;
|
|
2035
|
-
if (expression.hasDeepWildcard()) return this._matchWithDeepWildcard(segments);
|
|
2036
|
-
return this._matchSimple(segments);
|
|
2037
|
-
}
|
|
2038
|
-
/**
|
|
2039
|
-
* @private
|
|
2040
|
-
*/
|
|
2041
|
-
_matchSimple(segments) {
|
|
2042
|
-
if (this.path.length !== segments.length) return false;
|
|
2043
|
-
for (let i = 0; i < segments.length; i++) if (!this._matchSegment(segments[i], this.path[i], i === this.path.length - 1)) return false;
|
|
2044
|
-
return true;
|
|
2045
|
-
}
|
|
2046
|
-
/**
|
|
2047
|
-
* @private
|
|
2048
|
-
*/
|
|
2049
|
-
_matchWithDeepWildcard(segments) {
|
|
2050
|
-
let pathIdx = this.path.length - 1;
|
|
2051
|
-
let segIdx = segments.length - 1;
|
|
2052
|
-
while (segIdx >= 0 && pathIdx >= 0) {
|
|
2053
|
-
const segment = segments[segIdx];
|
|
2054
|
-
if (segment.type === "deep-wildcard") {
|
|
2055
|
-
segIdx--;
|
|
2056
|
-
if (segIdx < 0) return true;
|
|
2057
|
-
const nextSeg = segments[segIdx];
|
|
2058
|
-
let found = false;
|
|
2059
|
-
for (let i = pathIdx; i >= 0; i--) if (this._matchSegment(nextSeg, this.path[i], i === this.path.length - 1)) {
|
|
2060
|
-
pathIdx = i - 1;
|
|
2061
|
-
segIdx--;
|
|
2062
|
-
found = true;
|
|
2063
|
-
break;
|
|
2064
|
-
}
|
|
2065
|
-
if (!found) return false;
|
|
2066
|
-
} else {
|
|
2067
|
-
if (!this._matchSegment(segment, this.path[pathIdx], pathIdx === this.path.length - 1)) return false;
|
|
2068
|
-
pathIdx--;
|
|
2069
|
-
segIdx--;
|
|
2070
|
-
}
|
|
2071
|
-
}
|
|
2072
|
-
return segIdx < 0;
|
|
2073
|
-
}
|
|
2074
|
-
/**
|
|
2075
|
-
* @private
|
|
2076
|
-
*/
|
|
2077
|
-
_matchSegment(segment, node, isCurrentNode) {
|
|
2078
|
-
if (segment.tag !== "*" && segment.tag !== node.tag) return false;
|
|
2079
|
-
if (segment.namespace !== void 0) {
|
|
2080
|
-
if (segment.namespace !== "*" && segment.namespace !== node.namespace) return false;
|
|
2081
|
-
}
|
|
2082
|
-
if (segment.attrName !== void 0) {
|
|
2083
|
-
if (!isCurrentNode) return false;
|
|
2084
|
-
if (!node.values || !(segment.attrName in node.values)) return false;
|
|
2085
|
-
if (segment.attrValue !== void 0) {
|
|
2086
|
-
if (String(node.values[segment.attrName]) !== String(segment.attrValue)) return false;
|
|
2087
|
-
}
|
|
2088
|
-
}
|
|
2089
|
-
if (segment.position !== void 0) {
|
|
2090
|
-
if (!isCurrentNode) return false;
|
|
2091
|
-
const counter = node.counter ?? 0;
|
|
2092
|
-
if (segment.position === "first" && counter !== 0) return false;
|
|
2093
|
-
else if (segment.position === "odd" && counter % 2 !== 1) return false;
|
|
2094
|
-
else if (segment.position === "even" && counter % 2 !== 0) return false;
|
|
2095
|
-
else if (segment.position === "nth" && counter !== segment.positionValue) return false;
|
|
2096
|
-
}
|
|
2097
|
-
return true;
|
|
2098
|
-
}
|
|
2099
|
-
/**
|
|
2100
|
-
* Match any expression in the given set against the current path.
|
|
2101
|
-
* @param {ExpressionSet} exprSet
|
|
2102
|
-
* @returns {boolean}
|
|
2103
|
-
*/
|
|
2104
|
-
matchesAny(exprSet) {
|
|
2105
|
-
return exprSet.matchesAny(this);
|
|
2106
|
-
}
|
|
2107
|
-
/**
|
|
2108
|
-
* Create a snapshot of current state.
|
|
2109
|
-
* @returns {Object}
|
|
2110
|
-
*/
|
|
2111
|
-
snapshot() {
|
|
2112
|
-
return {
|
|
2113
|
-
path: this.path.map((node) => ({ ...node })),
|
|
2114
|
-
siblingStacks: this.siblingStacks.map((map) => new Map(map))
|
|
2115
|
-
};
|
|
2116
|
-
}
|
|
2117
|
-
/**
|
|
2118
|
-
* Restore state from snapshot.
|
|
2119
|
-
* @param {Object} snapshot
|
|
2120
|
-
*/
|
|
2121
|
-
restore(snapshot) {
|
|
2122
|
-
this._pathStringCache = null;
|
|
2123
|
-
this.path = snapshot.path.map((node) => ({ ...node }));
|
|
2124
|
-
this.siblingStacks = snapshot.siblingStacks.map((map) => new Map(map));
|
|
2125
|
-
}
|
|
2126
|
-
/**
|
|
2127
|
-
* Return the read-only {@link MatcherView} for this matcher.
|
|
2128
|
-
*
|
|
2129
|
-
* The same instance is returned on every call — no allocation occurs.
|
|
2130
|
-
* It always reflects the current parser state and is safe to pass to
|
|
2131
|
-
* user callbacks without risk of accidental mutation.
|
|
2132
|
-
*
|
|
2133
|
-
* @returns {MatcherView}
|
|
2134
|
-
*
|
|
2135
|
-
* @example
|
|
2136
|
-
* const view = matcher.readOnly();
|
|
2137
|
-
* // pass view to callbacks — it stays in sync automatically
|
|
2138
|
-
* view.matches(expr); // ✓
|
|
2139
|
-
* view.getCurrentTag(); // ✓
|
|
2140
|
-
* // view.push(...) // ✗ method does not exist — caught by TypeScript
|
|
2141
|
-
*/
|
|
2142
|
-
readOnly() {
|
|
2143
|
-
return this._view;
|
|
2144
|
-
}
|
|
2145
|
-
};
|
|
2146
|
-
//#endregion
|
|
2147
|
-
//#region ../../node_modules/.pnpm/fast-xml-parser@5.7.3/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js
|
|
2148
|
-
/**
|
|
2149
|
-
* Extract raw attributes (without prefix) from prefixed attribute map
|
|
2150
|
-
* @param {object} prefixedAttrs - Attributes with prefix from buildAttributesMap
|
|
2151
|
-
* @param {object} options - Parser options containing attributeNamePrefix
|
|
2152
|
-
* @returns {object} Raw attributes for matcher
|
|
2153
|
-
*/
|
|
2154
|
-
function extractRawAttributes(prefixedAttrs, options) {
|
|
2155
|
-
if (!prefixedAttrs) return {};
|
|
2156
|
-
const attrs = options.attributesGroupName ? prefixedAttrs[options.attributesGroupName] : prefixedAttrs;
|
|
2157
|
-
if (!attrs) return {};
|
|
2158
|
-
const rawAttrs = {};
|
|
2159
|
-
for (const key in attrs) if (key.startsWith(options.attributeNamePrefix)) {
|
|
2160
|
-
const rawName = key.substring(options.attributeNamePrefix.length);
|
|
2161
|
-
rawAttrs[rawName] = attrs[key];
|
|
2162
|
-
} else rawAttrs[key] = attrs[key];
|
|
2163
|
-
return rawAttrs;
|
|
2164
|
-
}
|
|
2165
|
-
/**
|
|
2166
|
-
* Extract namespace from raw tag name
|
|
2167
|
-
* @param {string} rawTagName - Tag name possibly with namespace (e.g., "soap:Envelope")
|
|
2168
|
-
* @returns {string|undefined} Namespace or undefined
|
|
2169
|
-
*/
|
|
2170
|
-
function extractNamespace(rawTagName) {
|
|
2171
|
-
if (!rawTagName || typeof rawTagName !== "string") return void 0;
|
|
2172
|
-
const colonIndex = rawTagName.indexOf(":");
|
|
2173
|
-
if (colonIndex !== -1 && colonIndex > 0) {
|
|
2174
|
-
const ns = rawTagName.substring(0, colonIndex);
|
|
2175
|
-
if (ns !== "xmlns") return ns;
|
|
2176
|
-
}
|
|
2177
|
-
}
|
|
2178
|
-
var OrderedObjParser = class {
|
|
2179
|
-
constructor(options, externalEntities) {
|
|
2180
|
-
this.options = options;
|
|
2181
|
-
this.currentNode = null;
|
|
2182
|
-
this.tagsNodeStack = [];
|
|
2183
|
-
this.parseXml = parseXml;
|
|
2184
|
-
this.parseTextData = parseTextData;
|
|
2185
|
-
this.resolveNameSpace = resolveNameSpace;
|
|
2186
|
-
this.buildAttributesMap = buildAttributesMap;
|
|
2187
|
-
this.isItStopNode = isItStopNode;
|
|
2188
|
-
this.replaceEntitiesValue = replaceEntitiesValue;
|
|
2189
|
-
this.readStopNodeData = readStopNodeData;
|
|
2190
|
-
this.saveTextToParentTag = saveTextToParentTag;
|
|
2191
|
-
this.addChild = addChild;
|
|
2192
|
-
this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes);
|
|
2193
|
-
this.entityExpansionCount = 0;
|
|
2194
|
-
this.currentExpandedLength = 0;
|
|
2195
|
-
let namedEntities = { ...XML$1 };
|
|
2196
|
-
if (this.options.entityDecoder) this.entityDecoder = this.options.entityDecoder;
|
|
2197
|
-
else {
|
|
2198
|
-
if (typeof this.options.htmlEntities === "object") namedEntities = this.options.htmlEntities;
|
|
2199
|
-
else if (this.options.htmlEntities === true) namedEntities = {
|
|
2200
|
-
...COMMON_HTML$1,
|
|
2201
|
-
...CURRENCY$1
|
|
2202
|
-
};
|
|
2203
|
-
this.entityDecoder = new EntityDecoder({
|
|
2204
|
-
namedEntities: {
|
|
2205
|
-
...namedEntities,
|
|
2206
|
-
...externalEntities
|
|
2207
|
-
},
|
|
2208
|
-
numericAllowed: this.options.htmlEntities,
|
|
2209
|
-
limit: {
|
|
2210
|
-
maxTotalExpansions: this.options.processEntities.maxTotalExpansions,
|
|
2211
|
-
maxExpandedLength: this.options.processEntities.maxExpandedLength,
|
|
2212
|
-
applyLimitsTo: this.options.processEntities.appliesTo
|
|
2213
|
-
}
|
|
2214
|
-
});
|
|
2215
|
-
}
|
|
2216
|
-
this.matcher = new Matcher();
|
|
2217
|
-
this.readonlyMatcher = this.matcher.readOnly();
|
|
2218
|
-
this.isCurrentNodeStopNode = false;
|
|
2219
|
-
this.stopNodeExpressionsSet = new ExpressionSet();
|
|
2220
|
-
const stopNodesOpts = this.options.stopNodes;
|
|
2221
|
-
if (stopNodesOpts && stopNodesOpts.length > 0) {
|
|
2222
|
-
for (let i = 0; i < stopNodesOpts.length; i++) {
|
|
2223
|
-
const stopNodeExp = stopNodesOpts[i];
|
|
2224
|
-
if (typeof stopNodeExp === "string") this.stopNodeExpressionsSet.add(new Expression(stopNodeExp));
|
|
2225
|
-
else if (stopNodeExp instanceof Expression) this.stopNodeExpressionsSet.add(stopNodeExp);
|
|
2226
|
-
}
|
|
2227
|
-
this.stopNodeExpressionsSet.seal();
|
|
2228
|
-
}
|
|
2229
|
-
}
|
|
2230
|
-
};
|
|
2231
|
-
/**
|
|
2232
|
-
* @param {string} val
|
|
2233
|
-
* @param {string} tagName
|
|
2234
|
-
* @param {string|Matcher} jPath - jPath string or Matcher instance based on options.jPath
|
|
2235
|
-
* @param {boolean} dontTrim
|
|
2236
|
-
* @param {boolean} hasAttributes
|
|
2237
|
-
* @param {boolean} isLeafNode
|
|
2238
|
-
* @param {boolean} escapeEntities
|
|
2239
|
-
*/
|
|
2240
|
-
function parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {
|
|
2241
|
-
const options = this.options;
|
|
2242
|
-
if (val !== void 0) {
|
|
2243
|
-
if (options.trimValues && !dontTrim) val = val.trim();
|
|
2244
|
-
if (val.length > 0) {
|
|
2245
|
-
if (!escapeEntities) val = this.replaceEntitiesValue(val, tagName, jPath);
|
|
2246
|
-
const jPathOrMatcher = options.jPath ? jPath.toString() : jPath;
|
|
2247
|
-
const newval = options.tagValueProcessor(tagName, val, jPathOrMatcher, hasAttributes, isLeafNode);
|
|
2248
|
-
if (newval === null || newval === void 0) return val;
|
|
2249
|
-
else if (typeof newval !== typeof val || newval !== val) return newval;
|
|
2250
|
-
else if (options.trimValues) return parseValue(val, options.parseTagValue, options.numberParseOptions);
|
|
2251
|
-
else if (val.trim() === val) return parseValue(val, options.parseTagValue, options.numberParseOptions);
|
|
2252
|
-
else return val;
|
|
2253
|
-
}
|
|
2254
|
-
}
|
|
2255
|
-
}
|
|
2256
|
-
function resolveNameSpace(tagname) {
|
|
2257
|
-
if (this.options.removeNSPrefix) {
|
|
2258
|
-
const tags = tagname.split(":");
|
|
2259
|
-
const prefix = tagname.charAt(0) === "/" ? "/" : "";
|
|
2260
|
-
if (tags[0] === "xmlns") return "";
|
|
2261
|
-
if (tags.length === 2) tagname = prefix + tags[1];
|
|
2262
|
-
}
|
|
2263
|
-
return tagname;
|
|
2264
|
-
}
|
|
2265
|
-
var attrsRegx = /* @__PURE__ */ new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?", "gm");
|
|
2266
|
-
function buildAttributesMap(attrStr, jPath, tagName, force = false) {
|
|
2267
|
-
const options = this.options;
|
|
2268
|
-
if (force === true || options.ignoreAttributes !== true && typeof attrStr === "string") {
|
|
2269
|
-
const matches = getAllMatches(attrStr, attrsRegx);
|
|
2270
|
-
const len = matches.length;
|
|
2271
|
-
const attrs = {};
|
|
2272
|
-
const processedVals = new Array(len);
|
|
2273
|
-
let hasRawAttrs = false;
|
|
2274
|
-
const rawAttrsForMatcher = {};
|
|
2275
|
-
for (let i = 0; i < len; i++) {
|
|
2276
|
-
const attrName = this.resolveNameSpace(matches[i][1]);
|
|
2277
|
-
const oldVal = matches[i][4];
|
|
2278
|
-
if (attrName.length && oldVal !== void 0) {
|
|
2279
|
-
let val = oldVal;
|
|
2280
|
-
if (options.trimValues) val = val.trim();
|
|
2281
|
-
val = this.replaceEntitiesValue(val, tagName, this.readonlyMatcher);
|
|
2282
|
-
processedVals[i] = val;
|
|
2283
|
-
rawAttrsForMatcher[attrName] = val;
|
|
2284
|
-
hasRawAttrs = true;
|
|
2285
|
-
}
|
|
2286
|
-
}
|
|
2287
|
-
if (hasRawAttrs && typeof jPath === "object" && jPath.updateCurrent) jPath.updateCurrent(rawAttrsForMatcher);
|
|
2288
|
-
const jPathStr = options.jPath ? jPath.toString() : this.readonlyMatcher;
|
|
2289
|
-
let hasAttrs = false;
|
|
2290
|
-
for (let i = 0; i < len; i++) {
|
|
2291
|
-
const attrName = this.resolveNameSpace(matches[i][1]);
|
|
2292
|
-
if (this.ignoreAttributesFn(attrName, jPathStr)) continue;
|
|
2293
|
-
let aName = options.attributeNamePrefix + attrName;
|
|
2294
|
-
if (attrName.length) {
|
|
2295
|
-
if (options.transformAttributeName) aName = options.transformAttributeName(aName);
|
|
2296
|
-
aName = sanitizeName(aName, options);
|
|
2297
|
-
if (matches[i][4] !== void 0) {
|
|
2298
|
-
const oldVal = processedVals[i];
|
|
2299
|
-
const newVal = options.attributeValueProcessor(attrName, oldVal, jPathStr);
|
|
2300
|
-
if (newVal === null || newVal === void 0) attrs[aName] = oldVal;
|
|
2301
|
-
else if (typeof newVal !== typeof oldVal || newVal !== oldVal) attrs[aName] = newVal;
|
|
2302
|
-
else attrs[aName] = parseValue(oldVal, options.parseAttributeValue, options.numberParseOptions);
|
|
2303
|
-
hasAttrs = true;
|
|
2304
|
-
} else if (options.allowBooleanAttributes) {
|
|
2305
|
-
attrs[aName] = true;
|
|
2306
|
-
hasAttrs = true;
|
|
2307
|
-
}
|
|
2308
|
-
}
|
|
2309
|
-
}
|
|
2310
|
-
if (!hasAttrs) return;
|
|
2311
|
-
if (options.attributesGroupName && !options.preserveOrder) {
|
|
2312
|
-
const attrCollection = {};
|
|
2313
|
-
attrCollection[options.attributesGroupName] = attrs;
|
|
2314
|
-
return attrCollection;
|
|
2315
|
-
}
|
|
2316
|
-
return attrs;
|
|
2317
|
-
}
|
|
2318
|
-
}
|
|
2319
|
-
var parseXml = function(xmlData) {
|
|
2320
|
-
xmlData = xmlData.replace(/\r\n?/g, "\n");
|
|
2321
|
-
const xmlObj = new XmlNode("!xml");
|
|
2322
|
-
let currentNode = xmlObj;
|
|
2323
|
-
let textData = "";
|
|
2324
|
-
this.matcher.reset();
|
|
2325
|
-
this.entityDecoder.reset();
|
|
2326
|
-
this.entityExpansionCount = 0;
|
|
2327
|
-
this.currentExpandedLength = 0;
|
|
2328
|
-
const options = this.options;
|
|
2329
|
-
const docTypeReader = new DocTypeReader(options.processEntities);
|
|
2330
|
-
const xmlLen = xmlData.length;
|
|
2331
|
-
for (let i = 0; i < xmlLen; i++) if (xmlData[i] === "<") {
|
|
2332
|
-
const c1 = xmlData.charCodeAt(i + 1);
|
|
2333
|
-
if (c1 === 47) {
|
|
2334
|
-
const closeIndex = findClosingIndex(xmlData, ">", i, "Closing Tag is not closed.");
|
|
2335
|
-
let tagName = xmlData.substring(i + 2, closeIndex).trim();
|
|
2336
|
-
if (options.removeNSPrefix) {
|
|
2337
|
-
const colonIndex = tagName.indexOf(":");
|
|
2338
|
-
if (colonIndex !== -1) tagName = tagName.substr(colonIndex + 1);
|
|
2339
|
-
}
|
|
2340
|
-
tagName = transformTagName(options.transformTagName, tagName, "", options).tagName;
|
|
2341
|
-
if (currentNode) textData = this.saveTextToParentTag(textData, currentNode, this.readonlyMatcher);
|
|
2342
|
-
const lastTagName = this.matcher.getCurrentTag();
|
|
2343
|
-
if (tagName && options.unpairedTagsSet.has(tagName)) throw new Error(`Unpaired tag can not be used as closing tag: </${tagName}>`);
|
|
2344
|
-
if (lastTagName && options.unpairedTagsSet.has(lastTagName)) {
|
|
2345
|
-
this.matcher.pop();
|
|
2346
|
-
this.tagsNodeStack.pop();
|
|
2347
|
-
}
|
|
2348
|
-
this.matcher.pop();
|
|
2349
|
-
this.isCurrentNodeStopNode = false;
|
|
2350
|
-
currentNode = this.tagsNodeStack.pop();
|
|
2351
|
-
textData = "";
|
|
2352
|
-
i = closeIndex;
|
|
2353
|
-
} else if (c1 === 63) {
|
|
2354
|
-
let tagData = readTagExp(xmlData, i, false, "?>");
|
|
2355
|
-
if (!tagData) throw new Error("Pi Tag is not closed.");
|
|
2356
|
-
textData = this.saveTextToParentTag(textData, currentNode, this.readonlyMatcher);
|
|
2357
|
-
const attsMap = this.buildAttributesMap(tagData.tagExp, this.matcher, tagData.tagName, true);
|
|
2358
|
-
if (attsMap) {
|
|
2359
|
-
const ver = attsMap[this.options.attributeNamePrefix + "version"];
|
|
2360
|
-
this.entityDecoder.setXmlVersion(Number(ver) || 1);
|
|
2361
|
-
}
|
|
2362
|
-
if (options.ignoreDeclaration && tagData.tagName === "?xml" || options.ignorePiTags) ; else {
|
|
2363
|
-
const childNode = new XmlNode(tagData.tagName);
|
|
2364
|
-
childNode.add(options.textNodeName, "");
|
|
2365
|
-
if (tagData.tagName !== tagData.tagExp && tagData.attrExpPresent && options.ignoreAttributes !== true) childNode[":@"] = attsMap;
|
|
2366
|
-
this.addChild(currentNode, childNode, this.readonlyMatcher, i);
|
|
2367
|
-
}
|
|
2368
|
-
i = tagData.closeIndex + 1;
|
|
2369
|
-
} else if (c1 === 33 && xmlData.charCodeAt(i + 2) === 45 && xmlData.charCodeAt(i + 3) === 45) {
|
|
2370
|
-
const endIndex = findClosingIndex(xmlData, "-->", i + 4, "Comment is not closed.");
|
|
2371
|
-
if (options.commentPropName) {
|
|
2372
|
-
const comment = xmlData.substring(i + 4, endIndex - 2);
|
|
2373
|
-
textData = this.saveTextToParentTag(textData, currentNode, this.readonlyMatcher);
|
|
2374
|
-
currentNode.add(options.commentPropName, [{ [options.textNodeName]: comment }]);
|
|
2375
|
-
}
|
|
2376
|
-
i = endIndex;
|
|
2377
|
-
} else if (c1 === 33 && xmlData.charCodeAt(i + 2) === 68) {
|
|
2378
|
-
const result = docTypeReader.readDocType(xmlData, i);
|
|
2379
|
-
this.entityDecoder.addInputEntities(result.entities);
|
|
2380
|
-
i = result.i;
|
|
2381
|
-
} else if (c1 === 33 && xmlData.charCodeAt(i + 2) === 91) {
|
|
2382
|
-
const closeIndex = findClosingIndex(xmlData, "]]>", i, "CDATA is not closed.") - 2;
|
|
2383
|
-
const tagExp = xmlData.substring(i + 9, closeIndex);
|
|
2384
|
-
textData = this.saveTextToParentTag(textData, currentNode, this.readonlyMatcher);
|
|
2385
|
-
let val = this.parseTextData(tagExp, currentNode.tagname, this.readonlyMatcher, true, false, true, true);
|
|
2386
|
-
if (val == void 0) val = "";
|
|
2387
|
-
if (options.cdataPropName) currentNode.add(options.cdataPropName, [{ [options.textNodeName]: tagExp }]);
|
|
2388
|
-
else currentNode.add(options.textNodeName, val);
|
|
2389
|
-
i = closeIndex + 2;
|
|
2390
|
-
} else {
|
|
2391
|
-
let result = readTagExp(xmlData, i, options.removeNSPrefix);
|
|
2392
|
-
if (!result) {
|
|
2393
|
-
const context = xmlData.substring(Math.max(0, i - 50), Math.min(xmlLen, i + 50));
|
|
2394
|
-
throw new Error(`readTagExp returned undefined at position ${i}. Context: "${context}"`);
|
|
2395
|
-
}
|
|
2396
|
-
let tagName = result.tagName;
|
|
2397
|
-
const rawTagName = result.rawTagName;
|
|
2398
|
-
let tagExp = result.tagExp;
|
|
2399
|
-
let attrExpPresent = result.attrExpPresent;
|
|
2400
|
-
let closeIndex = result.closeIndex;
|
|
2401
|
-
({tagName, tagExp} = transformTagName(options.transformTagName, tagName, tagExp, options));
|
|
2402
|
-
if (options.strictReservedNames && (tagName === options.commentPropName || tagName === options.cdataPropName || tagName === options.textNodeName || tagName === options.attributesGroupName)) throw new Error(`Invalid tag name: ${tagName}`);
|
|
2403
|
-
if (currentNode && textData) {
|
|
2404
|
-
if (currentNode.tagname !== "!xml") textData = this.saveTextToParentTag(textData, currentNode, this.readonlyMatcher, false);
|
|
2405
|
-
}
|
|
2406
|
-
const lastTag = currentNode;
|
|
2407
|
-
if (lastTag && options.unpairedTagsSet.has(lastTag.tagname)) {
|
|
2408
|
-
currentNode = this.tagsNodeStack.pop();
|
|
2409
|
-
this.matcher.pop();
|
|
2410
|
-
}
|
|
2411
|
-
let isSelfClosing = false;
|
|
2412
|
-
if (tagExp.length > 0 && tagExp.lastIndexOf("/") === tagExp.length - 1) {
|
|
2413
|
-
isSelfClosing = true;
|
|
2414
|
-
if (tagName[tagName.length - 1] === "/") {
|
|
2415
|
-
tagName = tagName.substr(0, tagName.length - 1);
|
|
2416
|
-
tagExp = tagName;
|
|
2417
|
-
} else tagExp = tagExp.substr(0, tagExp.length - 1);
|
|
2418
|
-
attrExpPresent = tagName !== tagExp;
|
|
2419
|
-
}
|
|
2420
|
-
let prefixedAttrs = null;
|
|
2421
|
-
let namespace = void 0;
|
|
2422
|
-
namespace = extractNamespace(rawTagName);
|
|
2423
|
-
if (tagName !== xmlObj.tagname) this.matcher.push(tagName, {}, namespace);
|
|
2424
|
-
if (tagName !== tagExp && attrExpPresent) {
|
|
2425
|
-
prefixedAttrs = this.buildAttributesMap(tagExp, this.matcher, tagName);
|
|
2426
|
-
if (prefixedAttrs) extractRawAttributes(prefixedAttrs, options);
|
|
2427
|
-
}
|
|
2428
|
-
if (tagName !== xmlObj.tagname) this.isCurrentNodeStopNode = this.isItStopNode();
|
|
2429
|
-
const startIndex = i;
|
|
2430
|
-
if (this.isCurrentNodeStopNode) {
|
|
2431
|
-
let tagContent = "";
|
|
2432
|
-
if (isSelfClosing) i = result.closeIndex;
|
|
2433
|
-
else if (options.unpairedTagsSet.has(tagName)) i = result.closeIndex;
|
|
2434
|
-
else {
|
|
2435
|
-
const result = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1);
|
|
2436
|
-
if (!result) throw new Error(`Unexpected end of ${rawTagName}`);
|
|
2437
|
-
i = result.i;
|
|
2438
|
-
tagContent = result.tagContent;
|
|
2439
|
-
}
|
|
2440
|
-
const childNode = new XmlNode(tagName);
|
|
2441
|
-
if (prefixedAttrs) childNode[":@"] = prefixedAttrs;
|
|
2442
|
-
childNode.add(options.textNodeName, tagContent);
|
|
2443
|
-
this.matcher.pop();
|
|
2444
|
-
this.isCurrentNodeStopNode = false;
|
|
2445
|
-
this.addChild(currentNode, childNode, this.readonlyMatcher, startIndex);
|
|
2446
|
-
} else {
|
|
2447
|
-
if (isSelfClosing) {
|
|
2448
|
-
({tagName, tagExp} = transformTagName(options.transformTagName, tagName, tagExp, options));
|
|
2449
|
-
const childNode = new XmlNode(tagName);
|
|
2450
|
-
if (prefixedAttrs) childNode[":@"] = prefixedAttrs;
|
|
2451
|
-
this.addChild(currentNode, childNode, this.readonlyMatcher, startIndex);
|
|
2452
|
-
this.matcher.pop();
|
|
2453
|
-
this.isCurrentNodeStopNode = false;
|
|
2454
|
-
} else if (options.unpairedTagsSet.has(tagName)) {
|
|
2455
|
-
const childNode = new XmlNode(tagName);
|
|
2456
|
-
if (prefixedAttrs) childNode[":@"] = prefixedAttrs;
|
|
2457
|
-
this.addChild(currentNode, childNode, this.readonlyMatcher, startIndex);
|
|
2458
|
-
this.matcher.pop();
|
|
2459
|
-
this.isCurrentNodeStopNode = false;
|
|
2460
|
-
i = result.closeIndex;
|
|
2461
|
-
continue;
|
|
2462
|
-
} else {
|
|
2463
|
-
const childNode = new XmlNode(tagName);
|
|
2464
|
-
if (this.tagsNodeStack.length > options.maxNestedTags) throw new Error("Maximum nested tags exceeded");
|
|
2465
|
-
this.tagsNodeStack.push(currentNode);
|
|
2466
|
-
if (prefixedAttrs) childNode[":@"] = prefixedAttrs;
|
|
2467
|
-
this.addChild(currentNode, childNode, this.readonlyMatcher, startIndex);
|
|
2468
|
-
currentNode = childNode;
|
|
2469
|
-
}
|
|
2470
|
-
textData = "";
|
|
2471
|
-
i = closeIndex;
|
|
2472
|
-
}
|
|
2473
|
-
}
|
|
2474
|
-
} else textData += xmlData[i];
|
|
2475
|
-
return xmlObj.child;
|
|
2476
|
-
};
|
|
2477
|
-
function addChild(currentNode, childNode, matcher, startIndex) {
|
|
2478
|
-
if (!this.options.captureMetaData) startIndex = void 0;
|
|
2479
|
-
const jPathOrMatcher = this.options.jPath ? matcher.toString() : matcher;
|
|
2480
|
-
const result = this.options.updateTag(childNode.tagname, jPathOrMatcher, childNode[":@"]);
|
|
2481
|
-
if (result === false) ; else if (typeof result === "string") {
|
|
2482
|
-
childNode.tagname = result;
|
|
2483
|
-
currentNode.addChild(childNode, startIndex);
|
|
2484
|
-
} else currentNode.addChild(childNode, startIndex);
|
|
2485
|
-
}
|
|
2486
|
-
/**
|
|
2487
|
-
* @param {object} val - Entity object with regex and val properties
|
|
2488
|
-
* @param {string} tagName - Tag name
|
|
2489
|
-
* @param {string|Matcher} jPath - jPath string or Matcher instance based on options.jPath
|
|
2490
|
-
*/
|
|
2491
|
-
function replaceEntitiesValue(val, tagName, jPath) {
|
|
2492
|
-
const entityConfig = this.options.processEntities;
|
|
2493
|
-
if (!entityConfig || !entityConfig.enabled) return val;
|
|
2494
|
-
if (entityConfig.allowedTags) {
|
|
2495
|
-
const jPathOrMatcher = this.options.jPath ? jPath.toString() : jPath;
|
|
2496
|
-
if (!(Array.isArray(entityConfig.allowedTags) ? entityConfig.allowedTags.includes(tagName) : entityConfig.allowedTags(tagName, jPathOrMatcher))) return val;
|
|
2497
|
-
}
|
|
2498
|
-
if (entityConfig.tagFilter) {
|
|
2499
|
-
const jPathOrMatcher = this.options.jPath ? jPath.toString() : jPath;
|
|
2500
|
-
if (!entityConfig.tagFilter(tagName, jPathOrMatcher)) return val;
|
|
2501
|
-
}
|
|
2502
|
-
return this.entityDecoder.decode(val);
|
|
2503
|
-
}
|
|
2504
|
-
function saveTextToParentTag(textData, parentNode, matcher, isLeafNode) {
|
|
2505
|
-
if (textData) {
|
|
2506
|
-
if (isLeafNode === void 0) isLeafNode = parentNode.child.length === 0;
|
|
2507
|
-
textData = this.parseTextData(textData, parentNode.tagname, matcher, false, parentNode[":@"] ? Object.keys(parentNode[":@"]).length !== 0 : false, isLeafNode);
|
|
2508
|
-
if (textData !== void 0 && textData !== "") parentNode.add(this.options.textNodeName, textData);
|
|
2509
|
-
textData = "";
|
|
2510
|
-
}
|
|
2511
|
-
return textData;
|
|
2512
|
-
}
|
|
2513
|
-
/**
|
|
2514
|
-
* @param {Array<Expression>} stopNodeExpressions - Array of compiled Expression objects
|
|
2515
|
-
* @param {Matcher} matcher - Current path matcher
|
|
2516
|
-
*/
|
|
2517
|
-
function isItStopNode() {
|
|
2518
|
-
if (this.stopNodeExpressionsSet.size === 0) return false;
|
|
2519
|
-
return this.matcher.matchesAny(this.stopNodeExpressionsSet);
|
|
2520
|
-
}
|
|
2521
|
-
/**
|
|
2522
|
-
* Returns the tag Expression and where it is ending handling single-double quotes situation
|
|
2523
|
-
* @param {string} xmlData
|
|
2524
|
-
* @param {number} i starting index
|
|
2525
|
-
* @returns
|
|
2526
|
-
*/
|
|
2527
|
-
function tagExpWithClosingIndex(xmlData, i, closingChar = ">") {
|
|
2528
|
-
let attrBoundary = 0;
|
|
2529
|
-
const len = xmlData.length;
|
|
2530
|
-
const closeCode0 = closingChar.charCodeAt(0);
|
|
2531
|
-
const closeCode1 = closingChar.length > 1 ? closingChar.charCodeAt(1) : -1;
|
|
2532
|
-
let result = "";
|
|
2533
|
-
let segmentStart = i;
|
|
2534
|
-
for (let index = i; index < len; index++) {
|
|
2535
|
-
const code = xmlData.charCodeAt(index);
|
|
2536
|
-
if (attrBoundary) {
|
|
2537
|
-
if (code === attrBoundary) attrBoundary = 0;
|
|
2538
|
-
} else if (code === 34 || code === 39) attrBoundary = code;
|
|
2539
|
-
else if (code === closeCode0) if (closeCode1 !== -1) {
|
|
2540
|
-
if (xmlData.charCodeAt(index + 1) === closeCode1) {
|
|
2541
|
-
result += xmlData.substring(segmentStart, index);
|
|
2542
|
-
return {
|
|
2543
|
-
data: result,
|
|
2544
|
-
index
|
|
2545
|
-
};
|
|
2546
|
-
}
|
|
2547
|
-
} else {
|
|
2548
|
-
result += xmlData.substring(segmentStart, index);
|
|
2549
|
-
return {
|
|
2550
|
-
data: result,
|
|
2551
|
-
index
|
|
2552
|
-
};
|
|
2553
|
-
}
|
|
2554
|
-
else if (code === 9 && !attrBoundary) {
|
|
2555
|
-
result += xmlData.substring(segmentStart, index) + " ";
|
|
2556
|
-
segmentStart = index + 1;
|
|
2557
|
-
}
|
|
2558
|
-
}
|
|
2559
|
-
}
|
|
2560
|
-
function findClosingIndex(xmlData, str, i, errMsg) {
|
|
2561
|
-
const closingIndex = xmlData.indexOf(str, i);
|
|
2562
|
-
if (closingIndex === -1) throw new Error(errMsg);
|
|
2563
|
-
else return closingIndex + str.length - 1;
|
|
2564
|
-
}
|
|
2565
|
-
function findClosingChar(xmlData, char, i, errMsg) {
|
|
2566
|
-
const closingIndex = xmlData.indexOf(char, i);
|
|
2567
|
-
if (closingIndex === -1) throw new Error(errMsg);
|
|
2568
|
-
return closingIndex;
|
|
2569
|
-
}
|
|
2570
|
-
function readTagExp(xmlData, i, removeNSPrefix, closingChar = ">") {
|
|
2571
|
-
const result = tagExpWithClosingIndex(xmlData, i + 1, closingChar);
|
|
2572
|
-
if (!result) return;
|
|
2573
|
-
let tagExp = result.data;
|
|
2574
|
-
const closeIndex = result.index;
|
|
2575
|
-
const separatorIndex = tagExp.search(/\s/);
|
|
2576
|
-
let tagName = tagExp;
|
|
2577
|
-
let attrExpPresent = true;
|
|
2578
|
-
if (separatorIndex !== -1) {
|
|
2579
|
-
tagName = tagExp.substring(0, separatorIndex);
|
|
2580
|
-
tagExp = tagExp.substring(separatorIndex + 1).trimStart();
|
|
2581
|
-
}
|
|
2582
|
-
const rawTagName = tagName;
|
|
2583
|
-
if (removeNSPrefix) {
|
|
2584
|
-
const colonIndex = tagName.indexOf(":");
|
|
2585
|
-
if (colonIndex !== -1) {
|
|
2586
|
-
tagName = tagName.substr(colonIndex + 1);
|
|
2587
|
-
attrExpPresent = tagName !== result.data.substr(colonIndex + 1);
|
|
2588
|
-
}
|
|
2589
|
-
}
|
|
2590
|
-
return {
|
|
2591
|
-
tagName,
|
|
2592
|
-
tagExp,
|
|
2593
|
-
closeIndex,
|
|
2594
|
-
attrExpPresent,
|
|
2595
|
-
rawTagName
|
|
2596
|
-
};
|
|
2597
|
-
}
|
|
2598
|
-
/**
|
|
2599
|
-
* find paired tag for a stop node
|
|
2600
|
-
* @param {string} xmlData
|
|
2601
|
-
* @param {string} tagName
|
|
2602
|
-
* @param {number} i
|
|
2603
|
-
*/
|
|
2604
|
-
function readStopNodeData(xmlData, tagName, i) {
|
|
2605
|
-
const startIndex = i;
|
|
2606
|
-
let openTagCount = 1;
|
|
2607
|
-
const xmllen = xmlData.length;
|
|
2608
|
-
for (; i < xmllen; i++) if (xmlData[i] === "<") {
|
|
2609
|
-
const c1 = xmlData.charCodeAt(i + 1);
|
|
2610
|
-
if (c1 === 47) {
|
|
2611
|
-
const closeIndex = findClosingChar(xmlData, ">", i, `${tagName} is not closed`);
|
|
2612
|
-
if (xmlData.substring(i + 2, closeIndex).trim() === tagName) {
|
|
2613
|
-
openTagCount--;
|
|
2614
|
-
if (openTagCount === 0) return {
|
|
2615
|
-
tagContent: xmlData.substring(startIndex, i),
|
|
2616
|
-
i: closeIndex
|
|
2617
|
-
};
|
|
2618
|
-
}
|
|
2619
|
-
i = closeIndex;
|
|
2620
|
-
} else if (c1 === 63) i = findClosingIndex(xmlData, "?>", i + 1, "StopNode is not closed.");
|
|
2621
|
-
else if (c1 === 33 && xmlData.charCodeAt(i + 2) === 45 && xmlData.charCodeAt(i + 3) === 45) i = findClosingIndex(xmlData, "-->", i + 3, "StopNode is not closed.");
|
|
2622
|
-
else if (c1 === 33 && xmlData.charCodeAt(i + 2) === 91) i = findClosingIndex(xmlData, "]]>", i, "StopNode is not closed.") - 2;
|
|
2623
|
-
else {
|
|
2624
|
-
const tagData = readTagExp(xmlData, i, false);
|
|
2625
|
-
if (tagData) {
|
|
2626
|
-
if ((tagData && tagData.tagName) === tagName && tagData.tagExp[tagData.tagExp.length - 1] !== "/") openTagCount++;
|
|
2627
|
-
i = tagData.closeIndex;
|
|
2628
|
-
}
|
|
2629
|
-
}
|
|
2630
|
-
}
|
|
2631
|
-
}
|
|
2632
|
-
function parseValue(val, shouldParse, options) {
|
|
2633
|
-
if (shouldParse && typeof val === "string") {
|
|
2634
|
-
const newval = val.trim();
|
|
2635
|
-
if (newval === "true") return true;
|
|
2636
|
-
else if (newval === "false") return false;
|
|
2637
|
-
else return toNumber(val, options);
|
|
2638
|
-
} else if (isExist(val)) return val;
|
|
2639
|
-
else return "";
|
|
2640
|
-
}
|
|
2641
|
-
function transformTagName(fn, tagName, tagExp, options) {
|
|
2642
|
-
if (fn) {
|
|
2643
|
-
const newTagName = fn(tagName);
|
|
2644
|
-
if (tagExp === tagName) tagExp = newTagName;
|
|
2645
|
-
tagName = newTagName;
|
|
2646
|
-
}
|
|
2647
|
-
tagName = sanitizeName(tagName, options);
|
|
2648
|
-
return {
|
|
2649
|
-
tagName,
|
|
2650
|
-
tagExp
|
|
2651
|
-
};
|
|
2652
|
-
}
|
|
2653
|
-
function sanitizeName(name, options) {
|
|
2654
|
-
if (criticalProperties.includes(name)) throw new Error(`[SECURITY] Invalid name: "${name}" is a reserved JavaScript keyword that could cause prototype pollution`);
|
|
2655
|
-
else if (DANGEROUS_PROPERTY_NAMES.includes(name)) return options.onDangerousProperty(name);
|
|
2656
|
-
return name;
|
|
2657
|
-
}
|
|
2658
|
-
//#endregion
|
|
2659
|
-
//#region ../../node_modules/.pnpm/fast-xml-parser@5.7.3/node_modules/fast-xml-parser/src/xmlparser/node2json.js
|
|
2660
|
-
var METADATA_SYMBOL = XmlNode.getMetaDataSymbol();
|
|
2661
|
-
/**
|
|
2662
|
-
* Helper function to strip attribute prefix from attribute map
|
|
2663
|
-
* @param {object} attrs - Attributes with prefix (e.g., {"@_class": "code"})
|
|
2664
|
-
* @param {string} prefix - Attribute prefix to remove (e.g., "@_")
|
|
2665
|
-
* @returns {object} Attributes without prefix (e.g., {"class": "code"})
|
|
2666
|
-
*/
|
|
2667
|
-
function stripAttributePrefix(attrs, prefix) {
|
|
2668
|
-
if (!attrs || typeof attrs !== "object") return {};
|
|
2669
|
-
if (!prefix) return attrs;
|
|
2670
|
-
const rawAttrs = {};
|
|
2671
|
-
for (const key in attrs) if (key.startsWith(prefix)) {
|
|
2672
|
-
const rawName = key.substring(prefix.length);
|
|
2673
|
-
rawAttrs[rawName] = attrs[key];
|
|
2674
|
-
} else rawAttrs[key] = attrs[key];
|
|
2675
|
-
return rawAttrs;
|
|
2676
|
-
}
|
|
2677
|
-
/**
|
|
2678
|
-
*
|
|
2679
|
-
* @param {array} node
|
|
2680
|
-
* @param {any} options
|
|
2681
|
-
* @param {Matcher} matcher - Path matcher instance
|
|
2682
|
-
* @returns
|
|
2683
|
-
*/
|
|
2684
|
-
function prettify(node, options, matcher, readonlyMatcher) {
|
|
2685
|
-
return compress(node, options, matcher, readonlyMatcher);
|
|
2686
|
-
}
|
|
2687
|
-
/**
|
|
2688
|
-
* @param {array} arr
|
|
2689
|
-
* @param {object} options
|
|
2690
|
-
* @param {Matcher} matcher - Path matcher instance
|
|
2691
|
-
* @returns object
|
|
2692
|
-
*/
|
|
2693
|
-
function compress(arr, options, matcher, readonlyMatcher) {
|
|
2694
|
-
let text;
|
|
2695
|
-
const compressedObj = {};
|
|
2696
|
-
for (let i = 0; i < arr.length; i++) {
|
|
2697
|
-
const tagObj = arr[i];
|
|
2698
|
-
const property = propName(tagObj);
|
|
2699
|
-
if (property !== void 0 && property !== options.textNodeName) {
|
|
2700
|
-
const rawAttrs = stripAttributePrefix(tagObj[":@"] || {}, options.attributeNamePrefix);
|
|
2701
|
-
matcher.push(property, rawAttrs);
|
|
2702
|
-
}
|
|
2703
|
-
if (property === options.textNodeName) if (text === void 0) text = tagObj[property];
|
|
2704
|
-
else text += "" + tagObj[property];
|
|
2705
|
-
else if (property === void 0) continue;
|
|
2706
|
-
else if (tagObj[property]) {
|
|
2707
|
-
let val = compress(tagObj[property], options, matcher, readonlyMatcher);
|
|
2708
|
-
const isLeaf = isLeafTag(val, options);
|
|
2709
|
-
if (Object.keys(val).length === 0 && options.alwaysCreateTextNode) val[options.textNodeName] = "";
|
|
2710
|
-
if (tagObj[":@"]) assignAttributes(val, tagObj[":@"], readonlyMatcher, options);
|
|
2711
|
-
else if (Object.keys(val).length === 1 && val[options.textNodeName] !== void 0 && !options.alwaysCreateTextNode) val = val[options.textNodeName];
|
|
2712
|
-
else if (Object.keys(val).length === 0) if (options.alwaysCreateTextNode) val[options.textNodeName] = "";
|
|
2713
|
-
else val = "";
|
|
2714
|
-
if (tagObj[METADATA_SYMBOL] !== void 0 && typeof val === "object" && val !== null) val[METADATA_SYMBOL] = tagObj[METADATA_SYMBOL];
|
|
2715
|
-
if (compressedObj[property] !== void 0 && Object.prototype.hasOwnProperty.call(compressedObj, property)) {
|
|
2716
|
-
if (!Array.isArray(compressedObj[property])) compressedObj[property] = [compressedObj[property]];
|
|
2717
|
-
compressedObj[property].push(val);
|
|
2718
|
-
} else {
|
|
2719
|
-
const jPathOrMatcher = options.jPath ? readonlyMatcher.toString() : readonlyMatcher;
|
|
2720
|
-
if (options.isArray(property, jPathOrMatcher, isLeaf)) compressedObj[property] = [val];
|
|
2721
|
-
else compressedObj[property] = val;
|
|
2722
|
-
}
|
|
2723
|
-
if (property !== void 0 && property !== options.textNodeName) matcher.pop();
|
|
2724
|
-
}
|
|
2725
|
-
}
|
|
2726
|
-
if (typeof text === "string") {
|
|
2727
|
-
if (text.length > 0) compressedObj[options.textNodeName] = text;
|
|
2728
|
-
} else if (text !== void 0) compressedObj[options.textNodeName] = text;
|
|
2729
|
-
return compressedObj;
|
|
2730
|
-
}
|
|
2731
|
-
function propName(obj) {
|
|
2732
|
-
const keys = Object.keys(obj);
|
|
2733
|
-
for (let i = 0; i < keys.length; i++) {
|
|
2734
|
-
const key = keys[i];
|
|
2735
|
-
if (key !== ":@") return key;
|
|
2736
|
-
}
|
|
2737
|
-
}
|
|
2738
|
-
function assignAttributes(obj, attrMap, readonlyMatcher, options) {
|
|
2739
|
-
if (attrMap) {
|
|
2740
|
-
const keys = Object.keys(attrMap);
|
|
2741
|
-
const len = keys.length;
|
|
2742
|
-
for (let i = 0; i < len; i++) {
|
|
2743
|
-
const atrrName = keys[i];
|
|
2744
|
-
const rawAttrName = atrrName.startsWith(options.attributeNamePrefix) ? atrrName.substring(options.attributeNamePrefix.length) : atrrName;
|
|
2745
|
-
const jPathOrMatcher = options.jPath ? readonlyMatcher.toString() + "." + rawAttrName : readonlyMatcher;
|
|
2746
|
-
if (options.isArray(atrrName, jPathOrMatcher, true, true)) obj[atrrName] = [attrMap[atrrName]];
|
|
2747
|
-
else obj[atrrName] = attrMap[atrrName];
|
|
2748
|
-
}
|
|
2749
|
-
}
|
|
2750
|
-
}
|
|
2751
|
-
function isLeafTag(obj, options) {
|
|
2752
|
-
const { textNodeName } = options;
|
|
2753
|
-
const propCount = Object.keys(obj).length;
|
|
2754
|
-
if (propCount === 0) return true;
|
|
2755
|
-
if (propCount === 1 && (obj[textNodeName] || typeof obj[textNodeName] === "boolean" || obj[textNodeName] === 0)) return true;
|
|
2756
|
-
return false;
|
|
2757
|
-
}
|
|
2758
|
-
//#endregion
|
|
2759
|
-
//#region ../../node_modules/.pnpm/fast-xml-parser@5.7.3/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js
|
|
2760
|
-
var XMLParser = class {
|
|
2761
|
-
constructor(options) {
|
|
2762
|
-
this.externalEntities = {};
|
|
2763
|
-
this.options = buildOptions(options);
|
|
2764
|
-
}
|
|
2765
|
-
/**
|
|
2766
|
-
* Parse XML dats to JS object
|
|
2767
|
-
* @param {string|Uint8Array} xmlData
|
|
2768
|
-
* @param {boolean|Object} validationOption
|
|
2769
|
-
*/
|
|
2770
|
-
parse(xmlData, validationOption) {
|
|
2771
|
-
if (typeof xmlData !== "string" && xmlData.toString) xmlData = xmlData.toString();
|
|
2772
|
-
else if (typeof xmlData !== "string") throw new Error("XML data is accepted in String or Bytes[] form.");
|
|
2773
|
-
if (validationOption) {
|
|
2774
|
-
if (validationOption === true) validationOption = {};
|
|
2775
|
-
const result = validate(xmlData, validationOption);
|
|
2776
|
-
if (result !== true) throw Error(`${result.err.msg}:${result.err.line}:${result.err.col}`);
|
|
2777
|
-
}
|
|
2778
|
-
const orderedObjParser = new OrderedObjParser(this.options, this.externalEntities);
|
|
2779
|
-
const orderedResult = orderedObjParser.parseXml(xmlData);
|
|
2780
|
-
if (this.options.preserveOrder || orderedResult === void 0) return orderedResult;
|
|
2781
|
-
else return prettify(orderedResult, this.options, orderedObjParser.matcher, orderedObjParser.readonlyMatcher);
|
|
2782
|
-
}
|
|
2783
|
-
/**
|
|
2784
|
-
* Add Entity which is not by default supported by this library
|
|
2785
|
-
* @param {string} key
|
|
2786
|
-
* @param {string} value
|
|
2787
|
-
*/
|
|
2788
|
-
addEntity(key, value) {
|
|
2789
|
-
if (value.indexOf("&") !== -1) throw new Error("Entity value can't have '&'");
|
|
2790
|
-
else if (key.indexOf("&") !== -1 || key.indexOf(";") !== -1) throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");
|
|
2791
|
-
else if (value === "&") throw new Error("An entity with value '&' is not permitted");
|
|
2792
|
-
else this.externalEntities[key] = value;
|
|
2793
|
-
}
|
|
2794
|
-
/**
|
|
2795
|
-
* Returns a Symbol that can be used to access the metadata
|
|
2796
|
-
* property on a node.
|
|
2797
|
-
*
|
|
2798
|
-
* If Symbol is not available in the environment, an ordinary property is used
|
|
2799
|
-
* and the name of the property is here returned.
|
|
2800
|
-
*
|
|
2801
|
-
* The XMLMetaData property is only present when `captureMetaData`
|
|
2802
|
-
* is true in the options.
|
|
2803
|
-
*/
|
|
2804
|
-
static getMetaDataSymbol() {
|
|
2805
|
-
return XmlNode.getMetaDataSymbol();
|
|
2806
|
-
}
|
|
2807
|
-
};
|
|
2808
|
-
//#endregion
|
|
2809
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+xml-builder@3.972.24/node_modules/@aws-sdk/xml-builder/dist-es/xml-external/nodable_entities.js
|
|
2810
|
-
var XML = {
|
|
2811
|
-
amp: "&",
|
|
2812
|
-
apos: "'",
|
|
2813
|
-
gt: ">",
|
|
2814
|
-
lt: "<",
|
|
2815
|
-
quot: "\""
|
|
2816
|
-
};
|
|
2817
|
-
var COMMON_HTML = {
|
|
2818
|
-
nbsp: "\xA0",
|
|
2819
|
-
copy: "©",
|
|
2820
|
-
reg: "®",
|
|
2821
|
-
trade: "™",
|
|
2822
|
-
mdash: "—",
|
|
2823
|
-
ndash: "–",
|
|
2824
|
-
hellip: "…",
|
|
2825
|
-
laquo: "«",
|
|
2826
|
-
raquo: "»",
|
|
2827
|
-
lsquo: "‘",
|
|
2828
|
-
rsquo: "’",
|
|
2829
|
-
ldquo: "“",
|
|
2830
|
-
rdquo: "”",
|
|
2831
|
-
bull: "•",
|
|
2832
|
-
para: "¶",
|
|
2833
|
-
sect: "§",
|
|
2834
|
-
deg: "°",
|
|
2835
|
-
frac12: "½",
|
|
2836
|
-
frac14: "¼",
|
|
2837
|
-
frac34: "¾"
|
|
2838
|
-
};
|
|
2839
|
-
var CURRENCY = {
|
|
2840
|
-
cent: "¢",
|
|
2841
|
-
pound: "£",
|
|
2842
|
-
curren: "¤",
|
|
2843
|
-
yen: "¥",
|
|
2844
|
-
euro: "€",
|
|
2845
|
-
dollar: "$",
|
|
2846
|
-
fnof: "ƒ",
|
|
2847
|
-
inr: "₹",
|
|
2848
|
-
af: "؋",
|
|
2849
|
-
birr: "ብር",
|
|
2850
|
-
peso: "₱",
|
|
2851
|
-
rub: "₽",
|
|
2852
|
-
won: "₩",
|
|
2853
|
-
yuan: "¥",
|
|
2854
|
-
cedil: "¸"
|
|
2855
|
-
};
|
|
2856
|
-
var SPECIAL_CHARS = /* @__PURE__ */ new Set("!?\\/[]$%{}^&*()<>|+");
|
|
2857
|
-
function validateEntityName(name) {
|
|
2858
|
-
if (name[0] === "#") throw new Error(`[EntityReplacer] Invalid character '#' in entity name: "${name}"`);
|
|
2859
|
-
for (const ch of name) if (SPECIAL_CHARS.has(ch)) throw new Error(`[EntityReplacer] Invalid character '${ch}' in entity name: "${name}"`);
|
|
2860
|
-
return name;
|
|
2861
|
-
}
|
|
2862
|
-
function mergeEntityMaps(...maps) {
|
|
2863
|
-
const out = Object.create(null);
|
|
2864
|
-
for (const map of maps) {
|
|
2865
|
-
if (!map) continue;
|
|
2866
|
-
for (const key of Object.keys(map)) {
|
|
2867
|
-
const raw = map[key];
|
|
2868
|
-
if (typeof raw === "string") out[key] = raw;
|
|
2869
|
-
else if (raw && typeof raw === "object" && raw.val !== void 0) {
|
|
2870
|
-
const val = raw.val;
|
|
2871
|
-
if (typeof val === "string") out[key] = val;
|
|
2872
|
-
}
|
|
2873
|
-
}
|
|
2874
|
-
}
|
|
2875
|
-
return out;
|
|
2876
|
-
}
|
|
2877
|
-
var LIMIT_TIER_EXTERNAL = "external";
|
|
2878
|
-
var LIMIT_TIER_BASE = "base";
|
|
2879
|
-
var LIMIT_TIER_ALL = "all";
|
|
2880
|
-
function parseLimitTiers(raw) {
|
|
2881
|
-
if (!raw || raw === LIMIT_TIER_EXTERNAL) return new Set([LIMIT_TIER_EXTERNAL]);
|
|
2882
|
-
if (raw === LIMIT_TIER_ALL) return new Set([LIMIT_TIER_ALL]);
|
|
2883
|
-
if (raw === LIMIT_TIER_BASE) return new Set([LIMIT_TIER_BASE]);
|
|
2884
|
-
if (Array.isArray(raw)) return new Set(raw);
|
|
2885
|
-
return new Set([LIMIT_TIER_EXTERNAL]);
|
|
2886
|
-
}
|
|
2887
|
-
var NCR_LEVEL = Object.freeze({
|
|
2888
|
-
allow: 0,
|
|
2889
|
-
leave: 1,
|
|
2890
|
-
remove: 2,
|
|
2891
|
-
throw: 3
|
|
2892
|
-
});
|
|
2893
|
-
var XML10_ALLOWED_C0 = new Set([
|
|
2894
|
-
9,
|
|
2895
|
-
10,
|
|
2896
|
-
13
|
|
2897
|
-
]);
|
|
2898
|
-
function parseNCRConfig(ncr) {
|
|
2899
|
-
if (!ncr) return {
|
|
2900
|
-
xmlVersion: 1,
|
|
2901
|
-
onLevel: NCR_LEVEL.allow,
|
|
2902
|
-
nullLevel: NCR_LEVEL.remove
|
|
2903
|
-
};
|
|
2904
|
-
const xmlVersion = ncr.xmlVersion === 1.1 ? 1.1 : 1;
|
|
2905
|
-
const onLevel = NCR_LEVEL[ncr.onNCR ?? "allow"] ?? NCR_LEVEL.allow;
|
|
2906
|
-
const nullLevel = NCR_LEVEL[ncr.nullNCR ?? "remove"] ?? NCR_LEVEL.remove;
|
|
2907
|
-
return {
|
|
2908
|
-
xmlVersion,
|
|
2909
|
-
onLevel,
|
|
2910
|
-
nullLevel: Math.max(nullLevel, NCR_LEVEL.remove)
|
|
2911
|
-
};
|
|
2912
|
-
}
|
|
2913
|
-
//#endregion
|
|
2914
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+xml-builder@3.972.24/node_modules/@aws-sdk/xml-builder/dist-es/xml-parser.js
|
|
2915
|
-
var entityDecoder = new class EntityDecoderImpl {
|
|
2916
|
-
_limit;
|
|
2917
|
-
_maxTotalExpansions;
|
|
2918
|
-
_maxExpandedLength;
|
|
2919
|
-
_postCheck;
|
|
2920
|
-
_limitTiers;
|
|
2921
|
-
_numericAllowed;
|
|
2922
|
-
_baseMap;
|
|
2923
|
-
_externalMap;
|
|
2924
|
-
_inputMap;
|
|
2925
|
-
_totalExpansions;
|
|
2926
|
-
_expandedLength;
|
|
2927
|
-
_removeSet;
|
|
2928
|
-
_leaveSet;
|
|
2929
|
-
_ncrXmlVersion;
|
|
2930
|
-
_ncrOnLevel;
|
|
2931
|
-
_ncrNullLevel;
|
|
2932
|
-
constructor(options = {}) {
|
|
2933
|
-
this._limit = options.limit || {};
|
|
2934
|
-
this._maxTotalExpansions = this._limit.maxTotalExpansions || 0;
|
|
2935
|
-
this._maxExpandedLength = this._limit.maxExpandedLength || 0;
|
|
2936
|
-
this._postCheck = typeof options.postCheck === "function" ? options.postCheck : (r) => r;
|
|
2937
|
-
this._limitTiers = parseLimitTiers(this._limit.applyLimitsTo ?? LIMIT_TIER_EXTERNAL);
|
|
2938
|
-
this._numericAllowed = options.numericAllowed ?? true;
|
|
2939
|
-
this._baseMap = mergeEntityMaps(XML, options.namedEntities || null);
|
|
2940
|
-
this._externalMap = Object.create(null);
|
|
2941
|
-
this._inputMap = Object.create(null);
|
|
2942
|
-
this._totalExpansions = 0;
|
|
2943
|
-
this._expandedLength = 0;
|
|
2944
|
-
this._removeSet = new Set(options.remove && Array.isArray(options.remove) ? options.remove : []);
|
|
2945
|
-
this._leaveSet = new Set(options.leave && Array.isArray(options.leave) ? options.leave : []);
|
|
2946
|
-
const ncrCfg = parseNCRConfig(options.ncr);
|
|
2947
|
-
this._ncrXmlVersion = ncrCfg.xmlVersion;
|
|
2948
|
-
this._ncrOnLevel = ncrCfg.onLevel;
|
|
2949
|
-
this._ncrNullLevel = ncrCfg.nullLevel;
|
|
2950
|
-
}
|
|
2951
|
-
setExternalEntities(map) {
|
|
2952
|
-
if (map) for (const key of Object.keys(map)) validateEntityName(key);
|
|
2953
|
-
this._externalMap = mergeEntityMaps(map);
|
|
2954
|
-
}
|
|
2955
|
-
addExternalEntity(key, value) {
|
|
2956
|
-
validateEntityName(key);
|
|
2957
|
-
if (typeof value === "string" && value.indexOf("&") === -1) this._externalMap[key] = value;
|
|
2958
|
-
}
|
|
2959
|
-
addInputEntities(map) {
|
|
2960
|
-
this._totalExpansions = 0;
|
|
2961
|
-
this._expandedLength = 0;
|
|
2962
|
-
this._inputMap = mergeEntityMaps(map);
|
|
2963
|
-
}
|
|
2964
|
-
reset() {
|
|
2965
|
-
this._inputMap = Object.create(null);
|
|
2966
|
-
this._totalExpansions = 0;
|
|
2967
|
-
this._expandedLength = 0;
|
|
2968
|
-
return this;
|
|
2969
|
-
}
|
|
2970
|
-
setXmlVersion(version) {
|
|
2971
|
-
this._ncrXmlVersion = version === "1.1" || version === 1.1 ? 1.1 : 1;
|
|
2972
|
-
}
|
|
2973
|
-
decode(str) {
|
|
2974
|
-
if (typeof str !== "string" || str.length === 0) return str;
|
|
2975
|
-
const original = str;
|
|
2976
|
-
const chunks = [];
|
|
2977
|
-
const len = str.length;
|
|
2978
|
-
let last = 0;
|
|
2979
|
-
let i = 0;
|
|
2980
|
-
const limitExpansions = this._maxTotalExpansions > 0;
|
|
2981
|
-
const limitLength = this._maxExpandedLength > 0;
|
|
2982
|
-
const checkLimits = limitExpansions || limitLength;
|
|
2983
|
-
while (i < len) {
|
|
2984
|
-
if (str.charCodeAt(i) !== 38) {
|
|
2985
|
-
i++;
|
|
2986
|
-
continue;
|
|
2987
|
-
}
|
|
2988
|
-
let j = i + 1;
|
|
2989
|
-
while (j < len && str.charCodeAt(j) !== 59 && j - i <= 32) j++;
|
|
2990
|
-
if (j >= len || str.charCodeAt(j) !== 59) {
|
|
2991
|
-
i++;
|
|
2992
|
-
continue;
|
|
2993
|
-
}
|
|
2994
|
-
const token = str.slice(i + 1, j);
|
|
2995
|
-
if (token.length === 0) {
|
|
2996
|
-
i++;
|
|
2997
|
-
continue;
|
|
2998
|
-
}
|
|
2999
|
-
let replacement;
|
|
3000
|
-
let tier;
|
|
3001
|
-
if (this._removeSet.has(token)) {
|
|
3002
|
-
replacement = "";
|
|
3003
|
-
if (tier === void 0) tier = LIMIT_TIER_EXTERNAL;
|
|
3004
|
-
} else if (this._leaveSet.has(token)) {
|
|
3005
|
-
i++;
|
|
3006
|
-
continue;
|
|
3007
|
-
} else if (token.charCodeAt(0) === 35) {
|
|
3008
|
-
const ncrResult = this._resolveNCR(token);
|
|
3009
|
-
if (ncrResult === void 0) {
|
|
3010
|
-
i++;
|
|
3011
|
-
continue;
|
|
3012
|
-
}
|
|
3013
|
-
replacement = ncrResult;
|
|
3014
|
-
tier = LIMIT_TIER_BASE;
|
|
3015
|
-
} else {
|
|
3016
|
-
const resolved = this._resolveName(token);
|
|
3017
|
-
replacement = resolved?.value;
|
|
3018
|
-
tier = resolved?.tier;
|
|
3019
|
-
}
|
|
3020
|
-
if (replacement === void 0) {
|
|
3021
|
-
i++;
|
|
3022
|
-
continue;
|
|
3023
|
-
}
|
|
3024
|
-
if (i > last) chunks.push(str.slice(last, i));
|
|
3025
|
-
chunks.push(replacement);
|
|
3026
|
-
last = j + 1;
|
|
3027
|
-
i = last;
|
|
3028
|
-
if (checkLimits && this._tierCounts(tier)) {
|
|
3029
|
-
if (limitExpansions) {
|
|
3030
|
-
this._totalExpansions++;
|
|
3031
|
-
if (this._totalExpansions > this._maxTotalExpansions) throw new Error(`[EntityReplacer] Entity expansion count limit exceeded: ${this._totalExpansions} > ${this._maxTotalExpansions}`);
|
|
3032
|
-
}
|
|
3033
|
-
if (limitLength) {
|
|
3034
|
-
const delta = replacement.length - (token.length + 2);
|
|
3035
|
-
if (delta > 0) {
|
|
3036
|
-
this._expandedLength += delta;
|
|
3037
|
-
if (this._expandedLength > this._maxExpandedLength) throw new Error(`[EntityReplacer] Expanded content length limit exceeded: ${this._expandedLength} > ${this._maxExpandedLength}`);
|
|
3038
|
-
}
|
|
3039
|
-
}
|
|
3040
|
-
}
|
|
3041
|
-
}
|
|
3042
|
-
if (last < len) chunks.push(str.slice(last));
|
|
3043
|
-
const result = chunks.length === 0 ? str : chunks.join("");
|
|
3044
|
-
return this._postCheck(result, original);
|
|
3045
|
-
}
|
|
3046
|
-
_tierCounts(tier) {
|
|
3047
|
-
if (this._limitTiers.has(LIMIT_TIER_ALL)) return true;
|
|
3048
|
-
return this._limitTiers.has(tier);
|
|
3049
|
-
}
|
|
3050
|
-
_resolveName(name) {
|
|
3051
|
-
if (name in this._inputMap) return {
|
|
3052
|
-
value: this._inputMap[name],
|
|
3053
|
-
tier: LIMIT_TIER_EXTERNAL
|
|
3054
|
-
};
|
|
3055
|
-
if (name in this._externalMap) return {
|
|
3056
|
-
value: this._externalMap[name],
|
|
3057
|
-
tier: LIMIT_TIER_EXTERNAL
|
|
3058
|
-
};
|
|
3059
|
-
if (name in this._baseMap) return {
|
|
3060
|
-
value: this._baseMap[name],
|
|
3061
|
-
tier: LIMIT_TIER_BASE
|
|
3062
|
-
};
|
|
3063
|
-
}
|
|
3064
|
-
_classifyNCR(cp) {
|
|
3065
|
-
if (cp === 0) return this._ncrNullLevel;
|
|
3066
|
-
if (cp >= 55296 && cp <= 57343) return NCR_LEVEL.remove;
|
|
3067
|
-
if (this._ncrXmlVersion === 1) {
|
|
3068
|
-
if (cp >= 1 && cp <= 31 && !XML10_ALLOWED_C0.has(cp)) return NCR_LEVEL.remove;
|
|
3069
|
-
}
|
|
3070
|
-
return -1;
|
|
3071
|
-
}
|
|
3072
|
-
_applyNCRAction(action, token, cp) {
|
|
3073
|
-
switch (action) {
|
|
3074
|
-
case NCR_LEVEL.allow: return String.fromCodePoint(cp);
|
|
3075
|
-
case NCR_LEVEL.remove: return "";
|
|
3076
|
-
case NCR_LEVEL.leave: return;
|
|
3077
|
-
case NCR_LEVEL.throw: throw new Error(`[EntityDecoder] Prohibited numeric character reference &${token}; (U+${cp.toString(16).toUpperCase().padStart(4, "0")})`);
|
|
3078
|
-
default: return String.fromCodePoint(cp);
|
|
3079
|
-
}
|
|
3080
|
-
}
|
|
3081
|
-
_resolveNCR(token) {
|
|
3082
|
-
const second = token.charCodeAt(1);
|
|
3083
|
-
let cp;
|
|
3084
|
-
if (second === 120 || second === 88) cp = parseInt(token.slice(2), 16);
|
|
3085
|
-
else cp = parseInt(token.slice(1), 10);
|
|
3086
|
-
if (Number.isNaN(cp) || cp < 0 || cp > 1114111) return;
|
|
3087
|
-
const minimum = this._classifyNCR(cp);
|
|
3088
|
-
if (!this._numericAllowed && minimum < NCR_LEVEL.remove) return;
|
|
3089
|
-
const effective = minimum === -1 ? this._ncrOnLevel : Math.max(this._ncrOnLevel, minimum);
|
|
3090
|
-
return this._applyNCRAction(effective, token, cp);
|
|
3091
|
-
}
|
|
3092
|
-
}({
|
|
3093
|
-
namedEntities: {
|
|
3094
|
-
...XML,
|
|
3095
|
-
...COMMON_HTML,
|
|
3096
|
-
...CURRENCY
|
|
3097
|
-
},
|
|
3098
|
-
numericAllowed: true,
|
|
3099
|
-
limit: { maxTotalExpansions: Infinity },
|
|
3100
|
-
ncr: { xmlVersion: 1.1 }
|
|
3101
|
-
});
|
|
3102
|
-
var parser = new XMLParser({
|
|
3103
|
-
attributeNamePrefix: "",
|
|
3104
|
-
processEntities: {
|
|
3105
|
-
enabled: true,
|
|
3106
|
-
maxTotalExpansions: Infinity
|
|
3107
|
-
},
|
|
3108
|
-
htmlEntities: true,
|
|
3109
|
-
entityDecoder: {
|
|
3110
|
-
setExternalEntities: (entities) => {
|
|
3111
|
-
entityDecoder.setExternalEntities(entities);
|
|
3112
|
-
},
|
|
3113
|
-
addInputEntities: (entities) => {
|
|
3114
|
-
entityDecoder.addInputEntities(entities);
|
|
3115
|
-
},
|
|
3116
|
-
reset: () => {
|
|
3117
|
-
entityDecoder.reset();
|
|
3118
|
-
},
|
|
3119
|
-
decode: (text) => {
|
|
3120
|
-
return entityDecoder.decode(text);
|
|
3121
|
-
},
|
|
3122
|
-
setXmlVersion: (version) => void 0
|
|
3123
|
-
},
|
|
3124
|
-
ignoreAttributes: false,
|
|
3125
|
-
ignoreDeclaration: true,
|
|
3126
|
-
parseTagValue: false,
|
|
3127
|
-
trimValues: false,
|
|
3128
|
-
tagValueProcessor: (_, val) => val.trim() === "" && val.includes("\n") ? "" : void 0,
|
|
3129
|
-
maxNestedTags: Infinity
|
|
3130
|
-
});
|
|
3131
|
-
function parseXML(xmlString) {
|
|
3132
|
-
return parser.parse(xmlString, true);
|
|
3133
|
-
}
|
|
3134
|
-
//#endregion
|
|
3135
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+core@3.974.11/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeDeserializer.js
|
|
3136
|
-
var XmlShapeDeserializer = class extends SerdeContextConfig {
|
|
3137
|
-
settings;
|
|
3138
|
-
stringDeserializer;
|
|
3139
|
-
constructor(settings) {
|
|
3140
|
-
super();
|
|
3141
|
-
this.settings = settings;
|
|
3142
|
-
this.stringDeserializer = new FromStringShapeDeserializer(settings);
|
|
3143
|
-
}
|
|
3144
|
-
setSerdeContext(serdeContext) {
|
|
3145
|
-
this.serdeContext = serdeContext;
|
|
3146
|
-
this.stringDeserializer.setSerdeContext(serdeContext);
|
|
3147
|
-
}
|
|
3148
|
-
read(schema, bytes, key) {
|
|
3149
|
-
const ns = NormalizedSchema.of(schema);
|
|
3150
|
-
const memberSchemas = ns.getMemberSchemas();
|
|
3151
|
-
if (ns.isStructSchema() && ns.isMemberSchema() && !!Object.values(memberSchemas).find((memberNs) => {
|
|
3152
|
-
return !!memberNs.getMemberTraits().eventPayload;
|
|
3153
|
-
})) {
|
|
3154
|
-
const output = {};
|
|
3155
|
-
const memberName = Object.keys(memberSchemas)[0];
|
|
3156
|
-
if (memberSchemas[memberName].isBlobSchema()) output[memberName] = bytes;
|
|
3157
|
-
else output[memberName] = this.read(memberSchemas[memberName], bytes);
|
|
3158
|
-
return output;
|
|
3159
|
-
}
|
|
3160
|
-
const xmlString = (this.serdeContext?.utf8Encoder ?? toUtf8$1)(bytes);
|
|
3161
|
-
const parsedObject = this.parseXml(xmlString);
|
|
3162
|
-
return this.readSchema(schema, key ? parsedObject[key] : parsedObject);
|
|
3163
|
-
}
|
|
3164
|
-
readSchema(_schema, value) {
|
|
3165
|
-
const ns = NormalizedSchema.of(_schema);
|
|
3166
|
-
if (ns.isUnitSchema()) return;
|
|
3167
|
-
const traits = ns.getMergedTraits();
|
|
3168
|
-
if (ns.isListSchema() && !Array.isArray(value)) return this.readSchema(ns, [value]);
|
|
3169
|
-
if (value == null) return value;
|
|
3170
|
-
if (typeof value === "object") {
|
|
3171
|
-
const flat = !!traits.xmlFlattened;
|
|
3172
|
-
if (ns.isListSchema()) {
|
|
3173
|
-
const listValue = ns.getValueSchema();
|
|
3174
|
-
const buffer = [];
|
|
3175
|
-
const sourceKey = listValue.getMergedTraits().xmlName ?? "member";
|
|
3176
|
-
const source = flat ? value : (value[0] ?? value)[sourceKey];
|
|
3177
|
-
if (source == null) return buffer;
|
|
3178
|
-
const sourceArray = Array.isArray(source) ? source : [source];
|
|
3179
|
-
for (const v of sourceArray) buffer.push(this.readSchema(listValue, v));
|
|
3180
|
-
return buffer;
|
|
3181
|
-
}
|
|
3182
|
-
const buffer = {};
|
|
3183
|
-
if (ns.isMapSchema()) {
|
|
3184
|
-
const keyNs = ns.getKeySchema();
|
|
3185
|
-
const memberNs = ns.getValueSchema();
|
|
3186
|
-
let entries;
|
|
3187
|
-
if (flat) entries = Array.isArray(value) ? value : [value];
|
|
3188
|
-
else entries = Array.isArray(value.entry) ? value.entry : [value.entry];
|
|
3189
|
-
const keyProperty = keyNs.getMergedTraits().xmlName ?? "key";
|
|
3190
|
-
const valueProperty = memberNs.getMergedTraits().xmlName ?? "value";
|
|
3191
|
-
for (const entry of entries) {
|
|
3192
|
-
const key = entry[keyProperty];
|
|
3193
|
-
const value = entry[valueProperty];
|
|
3194
|
-
buffer[key] = this.readSchema(memberNs, value);
|
|
3195
|
-
}
|
|
3196
|
-
return buffer;
|
|
3197
|
-
}
|
|
3198
|
-
if (ns.isStructSchema()) {
|
|
3199
|
-
const union = ns.isUnionSchema();
|
|
3200
|
-
let unionSerde;
|
|
3201
|
-
if (union) unionSerde = new UnionSerde(value, buffer);
|
|
3202
|
-
for (const [memberName, memberSchema] of ns.structIterator()) {
|
|
3203
|
-
const memberTraits = memberSchema.getMergedTraits();
|
|
3204
|
-
const xmlObjectKey = !memberTraits.httpPayload ? memberSchema.getMemberTraits().xmlName ?? memberName : memberTraits.xmlName ?? memberSchema.getName();
|
|
3205
|
-
if (union) unionSerde.mark(xmlObjectKey);
|
|
3206
|
-
if (value[xmlObjectKey] != null) buffer[memberName] = this.readSchema(memberSchema, value[xmlObjectKey]);
|
|
3207
|
-
}
|
|
3208
|
-
if (union) unionSerde.writeUnknown();
|
|
3209
|
-
return buffer;
|
|
3210
|
-
}
|
|
3211
|
-
if (ns.isDocumentSchema()) return value;
|
|
3212
|
-
throw new Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${ns.getName(true)}`);
|
|
3213
|
-
}
|
|
3214
|
-
if (ns.isListSchema()) return [];
|
|
3215
|
-
if (ns.isMapSchema() || ns.isStructSchema()) return {};
|
|
3216
|
-
return this.stringDeserializer.read(ns, value);
|
|
3217
|
-
}
|
|
3218
|
-
parseXml(xml) {
|
|
3219
|
-
if (xml.length) {
|
|
3220
|
-
let parsedObj;
|
|
3221
|
-
try {
|
|
3222
|
-
parsedObj = parseXML(xml);
|
|
3223
|
-
} catch (e) {
|
|
3224
|
-
if (e && typeof e === "object") Object.defineProperty(e, "$responseBodyText", { value: xml });
|
|
3225
|
-
throw e;
|
|
3226
|
-
}
|
|
3227
|
-
const textNodeName = "#text";
|
|
3228
|
-
const key = Object.keys(parsedObj)[0];
|
|
3229
|
-
const parsedObjToReturn = parsedObj[key];
|
|
3230
|
-
if (parsedObjToReturn[textNodeName]) {
|
|
3231
|
-
parsedObjToReturn[key] = parsedObjToReturn[textNodeName];
|
|
3232
|
-
delete parsedObjToReturn[textNodeName];
|
|
3233
|
-
}
|
|
3234
|
-
return getValueFromTextNode(parsedObjToReturn);
|
|
3235
|
-
}
|
|
3236
|
-
return {};
|
|
3237
|
-
}
|
|
3238
|
-
};
|
|
3239
|
-
//#endregion
|
|
3240
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+core@3.974.11/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/QueryShapeSerializer.js
|
|
3241
|
-
var QueryShapeSerializer = class extends SerdeContextConfig {
|
|
3242
|
-
settings;
|
|
3243
|
-
buffer;
|
|
3244
|
-
constructor(settings) {
|
|
3245
|
-
super();
|
|
3246
|
-
this.settings = settings;
|
|
3247
|
-
}
|
|
3248
|
-
write(schema, value, prefix = "") {
|
|
3249
|
-
if (this.buffer === void 0) this.buffer = "";
|
|
3250
|
-
const ns = NormalizedSchema.of(schema);
|
|
3251
|
-
if (prefix && !prefix.endsWith(".")) prefix += ".";
|
|
3252
|
-
if (ns.isBlobSchema()) {
|
|
3253
|
-
if (typeof value === "string" || value instanceof Uint8Array) {
|
|
3254
|
-
this.writeKey(prefix);
|
|
3255
|
-
this.writeValue((this.serdeContext?.base64Encoder ?? toBase64$1)(value));
|
|
3256
|
-
}
|
|
3257
|
-
} else if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isStringSchema()) {
|
|
3258
|
-
if (value != null) {
|
|
3259
|
-
this.writeKey(prefix);
|
|
3260
|
-
this.writeValue(String(value));
|
|
3261
|
-
} else if (ns.isIdempotencyToken()) {
|
|
3262
|
-
this.writeKey(prefix);
|
|
3263
|
-
this.writeValue(generateIdempotencyToken());
|
|
3264
|
-
}
|
|
3265
|
-
} else if (ns.isBigIntegerSchema()) {
|
|
3266
|
-
if (value != null) {
|
|
3267
|
-
this.writeKey(prefix);
|
|
3268
|
-
this.writeValue(String(value));
|
|
3269
|
-
}
|
|
3270
|
-
} else if (ns.isBigDecimalSchema()) {
|
|
3271
|
-
if (value != null) {
|
|
3272
|
-
this.writeKey(prefix);
|
|
3273
|
-
this.writeValue(value instanceof NumericValue ? value.string : String(value));
|
|
3274
|
-
}
|
|
3275
|
-
} else if (ns.isTimestampSchema()) {
|
|
3276
|
-
if (value instanceof Date) {
|
|
3277
|
-
this.writeKey(prefix);
|
|
3278
|
-
switch (determineTimestampFormat(ns, this.settings)) {
|
|
3279
|
-
case 5:
|
|
3280
|
-
this.writeValue(value.toISOString().replace(".000Z", "Z"));
|
|
3281
|
-
break;
|
|
3282
|
-
case 6:
|
|
3283
|
-
this.writeValue(dateToUtcString(value));
|
|
3284
|
-
break;
|
|
3285
|
-
case 7:
|
|
3286
|
-
this.writeValue(String(value.getTime() / 1e3));
|
|
3287
|
-
break;
|
|
3288
|
-
}
|
|
3289
|
-
}
|
|
3290
|
-
} else if (ns.isDocumentSchema()) if (Array.isArray(value)) this.write(79, value, prefix);
|
|
3291
|
-
else if (value instanceof Date) this.write(4, value, prefix);
|
|
3292
|
-
else if (value instanceof Uint8Array) this.write(21, value, prefix);
|
|
3293
|
-
else if (value && typeof value === "object") this.write(143, value, prefix);
|
|
3294
|
-
else {
|
|
3295
|
-
this.writeKey(prefix);
|
|
3296
|
-
this.writeValue(String(value));
|
|
3297
|
-
}
|
|
3298
|
-
else if (ns.isListSchema()) {
|
|
3299
|
-
if (Array.isArray(value)) if (value.length === 0) {
|
|
3300
|
-
if (this.settings.serializeEmptyLists) {
|
|
3301
|
-
this.writeKey(prefix);
|
|
3302
|
-
this.writeValue("");
|
|
3303
|
-
}
|
|
3304
|
-
} else {
|
|
3305
|
-
const member = ns.getValueSchema();
|
|
3306
|
-
const flat = this.settings.flattenLists || ns.getMergedTraits().xmlFlattened;
|
|
3307
|
-
let i = 1;
|
|
3308
|
-
for (const item of value) {
|
|
3309
|
-
if (item == null) continue;
|
|
3310
|
-
const traits = member.getMergedTraits();
|
|
3311
|
-
const suffix = this.getKey("member", traits.xmlName, traits.ec2QueryName);
|
|
3312
|
-
const key = flat ? `${prefix}${i}` : `${prefix}${suffix}.${i}`;
|
|
3313
|
-
this.write(member, item, key);
|
|
3314
|
-
++i;
|
|
3315
|
-
}
|
|
3316
|
-
}
|
|
3317
|
-
} else if (ns.isMapSchema()) {
|
|
3318
|
-
if (value && typeof value === "object") {
|
|
3319
|
-
const keySchema = ns.getKeySchema();
|
|
3320
|
-
const memberSchema = ns.getValueSchema();
|
|
3321
|
-
const flat = ns.getMergedTraits().xmlFlattened;
|
|
3322
|
-
let i = 1;
|
|
3323
|
-
for (const k in value) {
|
|
3324
|
-
const v = value[k];
|
|
3325
|
-
if (v == null) continue;
|
|
3326
|
-
const keyTraits = keySchema.getMergedTraits();
|
|
3327
|
-
const keySuffix = this.getKey("key", keyTraits.xmlName, keyTraits.ec2QueryName);
|
|
3328
|
-
const key = flat ? `${prefix}${i}.${keySuffix}` : `${prefix}entry.${i}.${keySuffix}`;
|
|
3329
|
-
const valTraits = memberSchema.getMergedTraits();
|
|
3330
|
-
const valueSuffix = this.getKey("value", valTraits.xmlName, valTraits.ec2QueryName);
|
|
3331
|
-
const valueKey = flat ? `${prefix}${i}.${valueSuffix}` : `${prefix}entry.${i}.${valueSuffix}`;
|
|
3332
|
-
this.write(keySchema, k, key);
|
|
3333
|
-
this.write(memberSchema, v, valueKey);
|
|
3334
|
-
++i;
|
|
3335
|
-
}
|
|
3336
|
-
}
|
|
3337
|
-
} else if (ns.isStructSchema()) {
|
|
3338
|
-
if (value && typeof value === "object") {
|
|
3339
|
-
let didWriteMember = false;
|
|
3340
|
-
for (const [memberName, member] of ns.structIterator()) {
|
|
3341
|
-
if (value[memberName] == null && !member.isIdempotencyToken()) continue;
|
|
3342
|
-
const traits = member.getMergedTraits();
|
|
3343
|
-
const suffix = this.getKey(memberName, traits.xmlName, traits.ec2QueryName, "struct");
|
|
3344
|
-
const key = `${prefix}${suffix}`;
|
|
3345
|
-
this.write(member, value[memberName], key);
|
|
3346
|
-
didWriteMember = true;
|
|
3347
|
-
}
|
|
3348
|
-
if (!didWriteMember && ns.isUnionSchema()) {
|
|
3349
|
-
const { $unknown } = value;
|
|
3350
|
-
if (Array.isArray($unknown)) {
|
|
3351
|
-
const [k, v] = $unknown;
|
|
3352
|
-
const key = `${prefix}${k}`;
|
|
3353
|
-
this.write(15, v, key);
|
|
3354
|
-
}
|
|
3355
|
-
}
|
|
3356
|
-
}
|
|
3357
|
-
} else if (ns.isUnitSchema()) ; else throw new Error(`@aws-sdk/core/protocols - QuerySerializer unrecognized schema type ${ns.getName(true)}`);
|
|
3358
|
-
}
|
|
3359
|
-
flush() {
|
|
3360
|
-
if (this.buffer === void 0) throw new Error("@aws-sdk/core/protocols - QuerySerializer cannot flush with nothing written to buffer.");
|
|
3361
|
-
const str = this.buffer;
|
|
3362
|
-
delete this.buffer;
|
|
3363
|
-
return str;
|
|
3364
|
-
}
|
|
3365
|
-
getKey(memberName, xmlName, ec2QueryName, keySource) {
|
|
3366
|
-
const { ec2, capitalizeKeys } = this.settings;
|
|
3367
|
-
if (ec2 && ec2QueryName) return ec2QueryName;
|
|
3368
|
-
const key = xmlName ?? memberName;
|
|
3369
|
-
if (capitalizeKeys && keySource === "struct") return key[0].toUpperCase() + key.slice(1);
|
|
3370
|
-
return key;
|
|
3371
|
-
}
|
|
3372
|
-
writeKey(key) {
|
|
3373
|
-
if (key.endsWith(".")) key = key.slice(0, key.length - 1);
|
|
3374
|
-
this.buffer += `&${extendedEncodeURIComponent(key)}=`;
|
|
3375
|
-
}
|
|
3376
|
-
writeValue(value) {
|
|
3377
|
-
this.buffer += extendedEncodeURIComponent(value);
|
|
3378
|
-
}
|
|
3379
|
-
};
|
|
3380
|
-
//#endregion
|
|
3381
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+core@3.974.11/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsQueryProtocol.js
|
|
3382
|
-
var AwsQueryProtocol = class extends RpcProtocol {
|
|
3383
|
-
options;
|
|
3384
|
-
serializer;
|
|
3385
|
-
deserializer;
|
|
3386
|
-
mixin = new ProtocolLib();
|
|
3387
|
-
constructor(options) {
|
|
3388
|
-
super({
|
|
3389
|
-
defaultNamespace: options.defaultNamespace,
|
|
3390
|
-
errorTypeRegistries: options.errorTypeRegistries
|
|
3391
|
-
});
|
|
3392
|
-
this.options = options;
|
|
3393
|
-
const settings = {
|
|
3394
|
-
timestampFormat: {
|
|
3395
|
-
useTrait: true,
|
|
3396
|
-
default: 5
|
|
3397
|
-
},
|
|
3398
|
-
httpBindings: false,
|
|
3399
|
-
xmlNamespace: options.xmlNamespace,
|
|
3400
|
-
serviceNamespace: options.defaultNamespace,
|
|
3401
|
-
serializeEmptyLists: true
|
|
3402
|
-
};
|
|
3403
|
-
this.serializer = new QueryShapeSerializer(settings);
|
|
3404
|
-
this.deserializer = new XmlShapeDeserializer(settings);
|
|
3405
|
-
}
|
|
3406
|
-
getShapeId() {
|
|
3407
|
-
return "aws.protocols#awsQuery";
|
|
3408
|
-
}
|
|
3409
|
-
setSerdeContext(serdeContext) {
|
|
3410
|
-
this.serializer.setSerdeContext(serdeContext);
|
|
3411
|
-
this.deserializer.setSerdeContext(serdeContext);
|
|
3412
|
-
}
|
|
3413
|
-
getPayloadCodec() {
|
|
3414
|
-
throw new Error("AWSQuery protocol has no payload codec.");
|
|
3415
|
-
}
|
|
3416
|
-
async serializeRequest(operationSchema, input, context) {
|
|
3417
|
-
const request = await super.serializeRequest(operationSchema, input, context);
|
|
3418
|
-
if (!request.path.endsWith("/")) request.path += "/";
|
|
3419
|
-
request.headers["content-type"] = "application/x-www-form-urlencoded";
|
|
3420
|
-
if (deref(operationSchema.input) === "unit" || !request.body) request.body = "";
|
|
3421
|
-
request.body = `Action=${operationSchema.name.split("#")[1] ?? operationSchema.name}&Version=${this.options.version}` + request.body;
|
|
3422
|
-
if (request.body.endsWith("&")) request.body = request.body.slice(-1);
|
|
3423
|
-
return request;
|
|
3424
|
-
}
|
|
3425
|
-
async deserializeResponse(operationSchema, context, response) {
|
|
3426
|
-
const deserializer = this.deserializer;
|
|
3427
|
-
const ns = NormalizedSchema.of(operationSchema.output);
|
|
3428
|
-
const dataObject = {};
|
|
3429
|
-
if (response.statusCode >= 300) {
|
|
3430
|
-
const bytes = await collectBody(response.body, context);
|
|
3431
|
-
if (bytes.byteLength > 0) Object.assign(dataObject, await deserializer.read(15, bytes));
|
|
3432
|
-
await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));
|
|
3433
|
-
}
|
|
3434
|
-
for (const header in response.headers) {
|
|
3435
|
-
const value = response.headers[header];
|
|
3436
|
-
delete response.headers[header];
|
|
3437
|
-
response.headers[header.toLowerCase()] = value;
|
|
3438
|
-
}
|
|
3439
|
-
const shortName = operationSchema.name.split("#")[1] ?? operationSchema.name;
|
|
3440
|
-
const awsQueryResultKey = ns.isStructSchema() && this.useNestedResult() ? shortName + "Result" : void 0;
|
|
3441
|
-
const bytes = await collectBody(response.body, context);
|
|
3442
|
-
if (bytes.byteLength > 0) Object.assign(dataObject, await deserializer.read(ns, bytes, awsQueryResultKey));
|
|
3443
|
-
dataObject.$metadata = this.deserializeMetadata(response);
|
|
3444
|
-
return dataObject;
|
|
3445
|
-
}
|
|
3446
|
-
useNestedResult() {
|
|
3447
|
-
return true;
|
|
3448
|
-
}
|
|
3449
|
-
async handleError(operationSchema, context, response, dataObject, metadata) {
|
|
3450
|
-
const errorIdentifier = this.loadQueryErrorCode(response, dataObject) ?? "Unknown";
|
|
3451
|
-
this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace);
|
|
3452
|
-
const errorData = this.loadQueryError(dataObject) ?? {};
|
|
3453
|
-
const message = this.loadQueryErrorMessage(dataObject);
|
|
3454
|
-
errorData.message = message;
|
|
3455
|
-
errorData.Error = {
|
|
3456
|
-
Type: errorData.Type,
|
|
3457
|
-
Code: errorData.Code,
|
|
3458
|
-
Message: message
|
|
3459
|
-
};
|
|
3460
|
-
const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, errorData, metadata, this.mixin.findQueryCompatibleError);
|
|
3461
|
-
const ns = NormalizedSchema.of(errorSchema);
|
|
3462
|
-
const exception = new ((this.compositeErrorRegistry.getErrorCtor(errorSchema)) ?? Error)({});
|
|
3463
|
-
const output = {
|
|
3464
|
-
Type: errorData.Error.Type,
|
|
3465
|
-
Code: errorData.Error.Code,
|
|
3466
|
-
Error: errorData.Error
|
|
3467
|
-
};
|
|
3468
|
-
for (const [name, member] of ns.structIterator()) {
|
|
3469
|
-
const target = member.getMergedTraits().xmlName ?? name;
|
|
3470
|
-
const value = errorData[target] ?? dataObject[target];
|
|
3471
|
-
output[name] = this.deserializer.readSchema(member, value);
|
|
3472
|
-
}
|
|
3473
|
-
throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {
|
|
3474
|
-
$fault: ns.getMergedTraits().error,
|
|
3475
|
-
message
|
|
3476
|
-
}, output), dataObject);
|
|
3477
|
-
}
|
|
3478
|
-
loadQueryErrorCode(output, data) {
|
|
3479
|
-
const code = (data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error)?.Code;
|
|
3480
|
-
if (code !== void 0) return code;
|
|
3481
|
-
if (output.statusCode == 404) return "NotFound";
|
|
3482
|
-
}
|
|
3483
|
-
loadQueryError(data) {
|
|
3484
|
-
return data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error;
|
|
3485
|
-
}
|
|
3486
|
-
loadQueryErrorMessage(data) {
|
|
3487
|
-
const errorData = this.loadQueryError(data);
|
|
3488
|
-
return errorData?.message ?? errorData?.Message ?? data.message ?? data.Message ?? "Unknown";
|
|
3489
|
-
}
|
|
3490
|
-
getDefaultContentType() {
|
|
3491
|
-
return "application/x-www-form-urlencoded";
|
|
3492
|
-
}
|
|
3493
|
-
};
|
|
3494
|
-
//#endregion
|
|
3495
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+signature-v4-multi-region@3.996.27/node_modules/@aws-sdk/signature-v4-multi-region/dist-es/SignatureV4SignWithCredentials.js
|
|
3496
|
-
var SESSION_TOKEN_QUERY_PARAM = "X-Amz-S3session-Token";
|
|
3497
|
-
var SESSION_TOKEN_HEADER = SESSION_TOKEN_QUERY_PARAM.toLowerCase();
|
|
3498
|
-
var SignatureV4SignWithCredentials = class extends SignatureV4 {
|
|
3499
|
-
async signWithCredentials(requestToSign, credentials, options) {
|
|
3500
|
-
const credentialsWithoutSessionToken = getCredentialsWithoutSessionToken(credentials);
|
|
3501
|
-
requestToSign.headers[SESSION_TOKEN_HEADER] = credentials.sessionToken;
|
|
3502
|
-
const privateAccess = this;
|
|
3503
|
-
setSingleOverride(privateAccess, credentialsWithoutSessionToken);
|
|
3504
|
-
return privateAccess.signRequest(requestToSign, options ?? {});
|
|
3505
|
-
}
|
|
3506
|
-
async presignWithCredentials(requestToSign, credentials, options) {
|
|
3507
|
-
const credentialsWithoutSessionToken = getCredentialsWithoutSessionToken(credentials);
|
|
3508
|
-
delete requestToSign.headers[SESSION_TOKEN_HEADER];
|
|
3509
|
-
requestToSign.headers[SESSION_TOKEN_QUERY_PARAM] = credentials.sessionToken;
|
|
3510
|
-
requestToSign.query = requestToSign.query ?? {};
|
|
3511
|
-
requestToSign.query[SESSION_TOKEN_QUERY_PARAM] = credentials.sessionToken;
|
|
3512
|
-
setSingleOverride(this, credentialsWithoutSessionToken);
|
|
3513
|
-
return this.presign(requestToSign, options);
|
|
3514
|
-
}
|
|
3515
|
-
};
|
|
3516
|
-
function getCredentialsWithoutSessionToken(credentials) {
|
|
3517
|
-
return {
|
|
3518
|
-
accessKeyId: credentials.accessKeyId,
|
|
3519
|
-
secretAccessKey: credentials.secretAccessKey,
|
|
3520
|
-
expiration: credentials.expiration
|
|
3521
|
-
};
|
|
3522
|
-
}
|
|
3523
|
-
function setSingleOverride(privateAccess, credentialsWithoutSessionToken) {
|
|
3524
|
-
const currentCredentialProvider = privateAccess.credentialProvider;
|
|
3525
|
-
privateAccess.credentialProvider = () => {
|
|
3526
|
-
privateAccess.credentialProvider = currentCredentialProvider;
|
|
3527
|
-
return Promise.resolve(credentialsWithoutSessionToken);
|
|
3528
|
-
};
|
|
3529
|
-
}
|
|
3530
|
-
//#endregion
|
|
3531
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+signature-v4-multi-region@3.996.27/node_modules/@aws-sdk/signature-v4-multi-region/dist-es/SignatureV4MultiRegion.js
|
|
3532
|
-
var SignatureV4MultiRegion = class {
|
|
3533
|
-
sigv4aSigner;
|
|
3534
|
-
sigv4Signer;
|
|
3535
|
-
signerOptions;
|
|
3536
|
-
static sigv4aDependency() {
|
|
3537
|
-
return "none";
|
|
3538
|
-
}
|
|
3539
|
-
constructor(options) {
|
|
3540
|
-
this.sigv4Signer = new SignatureV4SignWithCredentials(options);
|
|
3541
|
-
this.signerOptions = options;
|
|
3542
|
-
}
|
|
3543
|
-
async sign(requestToSign, options = {}) {
|
|
3544
|
-
if (options.signingRegion === "*") return this.getSigv4aSigner().sign(requestToSign, options);
|
|
3545
|
-
return this.sigv4Signer.sign(requestToSign, options);
|
|
3546
|
-
}
|
|
3547
|
-
async signWithCredentials(requestToSign, credentials, options = {}) {
|
|
3548
|
-
if (options.signingRegion === "*") {
|
|
3549
|
-
this.getSigv4aSigner();
|
|
3550
|
-
throw new Error("signWithCredentials with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the \"@aws-sdk/signature-v4-crt\" package explicitly. You must also register the package by calling [require(\"@aws-sdk/signature-v4-crt\");] or an ESM equivalent such as [import \"@aws-sdk/signature-v4-crt\";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt");
|
|
3551
|
-
}
|
|
3552
|
-
return this.sigv4Signer.signWithCredentials(requestToSign, credentials, options);
|
|
3553
|
-
}
|
|
3554
|
-
async presign(originalRequest, options = {}) {
|
|
3555
|
-
if (options.signingRegion === "*") {
|
|
3556
|
-
this.getSigv4aSigner();
|
|
3557
|
-
throw new Error("presign with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the \"@aws-sdk/signature-v4-crt\" package explicitly. You must also register the package by calling [require(\"@aws-sdk/signature-v4-crt\");] or an ESM equivalent such as [import \"@aws-sdk/signature-v4-crt\";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt");
|
|
3558
|
-
}
|
|
3559
|
-
return this.sigv4Signer.presign(originalRequest, options);
|
|
3560
|
-
}
|
|
3561
|
-
async presignWithCredentials(originalRequest, credentials, options = {}) {
|
|
3562
|
-
if (options.signingRegion === "*") throw new Error("Method presignWithCredentials is not supported for [signingRegion=*].");
|
|
3563
|
-
return this.sigv4Signer.presignWithCredentials(originalRequest, credentials, options);
|
|
3564
|
-
}
|
|
3565
|
-
getSigv4aSigner() {
|
|
3566
|
-
if (!this.sigv4aSigner) {
|
|
3567
|
-
if (this.signerOptions.runtime === "node") {
|
|
3568
|
-
throw new Error("Neither CRT nor JS SigV4a implementation is available. Please load either @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt");
|
|
3569
|
-
} else {
|
|
3570
|
-
throw new Error("JS SigV4a implementation is not available or not a valid constructor. Please check whether you have installed the @aws-sdk/signature-v4a package explicitly. The CRT implementation is not available for browsers. You must also register the package by calling [require('@aws-sdk/signature-v4a');] or an ESM equivalent such as [import '@aws-sdk/signature-v4a';]. For more information please go to https://github.com/aws/aws-sdk-js-v3#using-javascript-non-crt-implementation-of-sigv4a");
|
|
3571
|
-
}
|
|
3572
|
-
}
|
|
3573
|
-
return this.sigv4aSigner;
|
|
3574
|
-
}
|
|
3575
|
-
};
|
|
3576
|
-
//#endregion
|
|
3577
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.9/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/bdd.js
|
|
3578
|
-
var q = "ref";
|
|
3579
|
-
var a = -1, b = true, c = "isSet", d = "PartitionResult", e = "booleanEquals", f = "stringEquals", g = "getAttr", h = "us-east-1", i = "sigv4", j = "sts", k = "https://sts.{Region}.{PartitionResult#dnsSuffix}", l = { [q]: "Endpoint" }, m = { [q]: "Region" }, n = { [q]: d }, o = {}, p = [m];
|
|
3580
|
-
var _data = {
|
|
3581
|
-
conditions: [
|
|
3582
|
-
[c, [l]],
|
|
3583
|
-
[c, p],
|
|
3584
|
-
[
|
|
3585
|
-
"aws.partition",
|
|
3586
|
-
p,
|
|
3587
|
-
d
|
|
3588
|
-
],
|
|
3589
|
-
[e, [{ [q]: "UseFIPS" }, b]],
|
|
3590
|
-
[e, [{ [q]: "UseDualStack" }, b]],
|
|
3591
|
-
[f, [m, "aws-global"]],
|
|
3592
|
-
[e, [{ [q]: "UseGlobalEndpoint" }, b]],
|
|
3593
|
-
[f, [m, "eu-central-1"]],
|
|
3594
|
-
[e, [{
|
|
3595
|
-
fn: g,
|
|
3596
|
-
argv: [n, "supportsDualStack"]
|
|
3597
|
-
}, b]],
|
|
3598
|
-
[e, [{
|
|
3599
|
-
fn: g,
|
|
3600
|
-
argv: [n, "supportsFIPS"]
|
|
3601
|
-
}, b]],
|
|
3602
|
-
[f, [m, "ap-south-1"]],
|
|
3603
|
-
[f, [m, "eu-north-1"]],
|
|
3604
|
-
[f, [m, "eu-west-1"]],
|
|
3605
|
-
[f, [m, "eu-west-2"]],
|
|
3606
|
-
[f, [m, "eu-west-3"]],
|
|
3607
|
-
[f, [m, "sa-east-1"]],
|
|
3608
|
-
[f, [m, h]],
|
|
3609
|
-
[f, [m, "us-east-2"]],
|
|
3610
|
-
[f, [m, "us-west-2"]],
|
|
3611
|
-
[f, [m, "us-west-1"]],
|
|
3612
|
-
[f, [m, "ca-central-1"]],
|
|
3613
|
-
[f, [m, "ap-southeast-1"]],
|
|
3614
|
-
[f, [m, "ap-northeast-1"]],
|
|
3615
|
-
[f, [m, "ap-southeast-2"]],
|
|
3616
|
-
[f, [{
|
|
3617
|
-
fn: g,
|
|
3618
|
-
argv: [n, "name"]
|
|
3619
|
-
}, "aws-us-gov"]]
|
|
3620
|
-
],
|
|
3621
|
-
results: [
|
|
3622
|
-
[a],
|
|
3623
|
-
["https://sts.amazonaws.com", { authSchemes: [{
|
|
3624
|
-
name: i,
|
|
3625
|
-
signingName: j,
|
|
3626
|
-
signingRegion: h
|
|
3627
|
-
}] }],
|
|
3628
|
-
[k, { authSchemes: [{
|
|
3629
|
-
name: i,
|
|
3630
|
-
signingName: j,
|
|
3631
|
-
signingRegion: "{Region}"
|
|
3632
|
-
}] }],
|
|
3633
|
-
[a, "Invalid Configuration: FIPS and custom endpoint are not supported"],
|
|
3634
|
-
[a, "Invalid Configuration: Dualstack and custom endpoint are not supported"],
|
|
3635
|
-
[l, o],
|
|
3636
|
-
["https://sts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", o],
|
|
3637
|
-
[a, "FIPS and DualStack are enabled, but this partition does not support one or both"],
|
|
3638
|
-
["https://sts.{Region}.amazonaws.com", o],
|
|
3639
|
-
["https://sts-fips.{Region}.{PartitionResult#dnsSuffix}", o],
|
|
3640
|
-
[a, "FIPS is enabled but this partition does not support FIPS"],
|
|
3641
|
-
["https://sts.{Region}.{PartitionResult#dualStackDnsSuffix}", o],
|
|
3642
|
-
[a, "DualStack is enabled but this partition does not support DualStack"],
|
|
3643
|
-
[k, o],
|
|
3644
|
-
[a, "Invalid Configuration: Missing Region"]
|
|
3645
|
-
]
|
|
3646
|
-
};
|
|
3647
|
-
var root = 2;
|
|
3648
|
-
var r = 1e8;
|
|
3649
|
-
var nodes = new Int32Array([
|
|
3650
|
-
-1,
|
|
3651
|
-
1,
|
|
3652
|
-
-1,
|
|
3653
|
-
0,
|
|
3654
|
-
30,
|
|
3655
|
-
3,
|
|
3656
|
-
1,
|
|
3657
|
-
4,
|
|
3658
|
-
r + 14,
|
|
3659
|
-
2,
|
|
3660
|
-
5,
|
|
3661
|
-
r + 14,
|
|
3662
|
-
3,
|
|
3663
|
-
25,
|
|
3664
|
-
6,
|
|
3665
|
-
4,
|
|
3666
|
-
24,
|
|
3667
|
-
7,
|
|
3668
|
-
5,
|
|
3669
|
-
r + 1,
|
|
3670
|
-
8,
|
|
3671
|
-
6,
|
|
3672
|
-
9,
|
|
3673
|
-
r + 13,
|
|
3674
|
-
7,
|
|
3675
|
-
r + 1,
|
|
3676
|
-
10,
|
|
3677
|
-
10,
|
|
3678
|
-
r + 1,
|
|
3679
|
-
11,
|
|
3680
|
-
11,
|
|
3681
|
-
r + 1,
|
|
3682
|
-
12,
|
|
3683
|
-
12,
|
|
3684
|
-
r + 1,
|
|
3685
|
-
13,
|
|
3686
|
-
13,
|
|
3687
|
-
r + 1,
|
|
3688
|
-
14,
|
|
3689
|
-
14,
|
|
3690
|
-
r + 1,
|
|
3691
|
-
15,
|
|
3692
|
-
15,
|
|
3693
|
-
r + 1,
|
|
3694
|
-
16,
|
|
3695
|
-
16,
|
|
3696
|
-
r + 1,
|
|
3697
|
-
17,
|
|
3698
|
-
17,
|
|
3699
|
-
r + 1,
|
|
3700
|
-
18,
|
|
3701
|
-
18,
|
|
3702
|
-
r + 1,
|
|
3703
|
-
19,
|
|
3704
|
-
19,
|
|
3705
|
-
r + 1,
|
|
3706
|
-
20,
|
|
3707
|
-
20,
|
|
3708
|
-
r + 1,
|
|
3709
|
-
21,
|
|
3710
|
-
21,
|
|
3711
|
-
r + 1,
|
|
3712
|
-
22,
|
|
3713
|
-
22,
|
|
3714
|
-
r + 1,
|
|
3715
|
-
23,
|
|
3716
|
-
23,
|
|
3717
|
-
r + 1,
|
|
3718
|
-
r + 2,
|
|
3719
|
-
8,
|
|
3720
|
-
r + 11,
|
|
3721
|
-
r + 12,
|
|
3722
|
-
4,
|
|
3723
|
-
28,
|
|
3724
|
-
26,
|
|
3725
|
-
9,
|
|
3726
|
-
27,
|
|
3727
|
-
r + 10,
|
|
3728
|
-
24,
|
|
3729
|
-
r + 8,
|
|
3730
|
-
r + 9,
|
|
3731
|
-
8,
|
|
3732
|
-
29,
|
|
3733
|
-
r + 7,
|
|
3734
|
-
9,
|
|
3735
|
-
r + 6,
|
|
3736
|
-
r + 7,
|
|
3737
|
-
3,
|
|
3738
|
-
r + 3,
|
|
3739
|
-
31,
|
|
3740
|
-
4,
|
|
3741
|
-
r + 4,
|
|
3742
|
-
r + 5
|
|
3743
|
-
]);
|
|
3744
|
-
var bdd = BinaryDecisionDiagram.from(nodes, root, _data.conditions, _data.results);
|
|
3745
|
-
//#endregion
|
|
3746
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.9/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/endpointResolver.js
|
|
3747
|
-
var cache = new EndpointCache({
|
|
3748
|
-
size: 50,
|
|
3749
|
-
params: [
|
|
3750
|
-
"Endpoint",
|
|
3751
|
-
"Region",
|
|
3752
|
-
"UseDualStack",
|
|
3753
|
-
"UseFIPS",
|
|
3754
|
-
"UseGlobalEndpoint"
|
|
3755
|
-
]
|
|
3756
|
-
});
|
|
3757
|
-
var defaultEndpointResolver = (endpointParams, context = {}) => {
|
|
3758
|
-
return cache.get(endpointParams, () => decideEndpoint(bdd, {
|
|
3759
|
-
endpointParams,
|
|
3760
|
-
logger: context.logger
|
|
3761
|
-
}));
|
|
3762
|
-
};
|
|
3763
|
-
customEndpointFunctions.aws = awsEndpointFunctions;
|
|
3764
|
-
//#endregion
|
|
3765
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.9/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/auth/httpAuthSchemeProvider.js
|
|
3766
|
-
var createEndpointRuleSetHttpAuthSchemeParametersProvider = (defaultHttpAuthSchemeParametersProvider) => async (config, context, input) => {
|
|
3767
|
-
if (!input) throw new Error("Could not find `input` for `defaultEndpointRuleSetHttpAuthSchemeParametersProvider`");
|
|
3768
|
-
const defaultParameters = await defaultHttpAuthSchemeParametersProvider(config, context, input);
|
|
3769
|
-
const instructionsFn = getSmithyContext(context)?.commandInstance?.constructor?.getEndpointParameterInstructions;
|
|
3770
|
-
if (!instructionsFn) throw new Error(`getEndpointParameterInstructions() is not defined on '${context.commandName}'`);
|
|
3771
|
-
const endpointParameters = await resolveParams(input, { getEndpointParameterInstructions: instructionsFn }, config);
|
|
3772
|
-
return Object.assign(defaultParameters, endpointParameters);
|
|
3773
|
-
};
|
|
3774
|
-
var _defaultSTSHttpAuthSchemeParametersProvider = async (config, context, input) => {
|
|
3775
|
-
return {
|
|
3776
|
-
operation: getSmithyContext(context).operation,
|
|
3777
|
-
region: await normalizeProvider$1(config.region)() || (() => {
|
|
3778
|
-
throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
|
|
3779
|
-
})()
|
|
3780
|
-
};
|
|
3781
|
-
};
|
|
3782
|
-
var defaultSTSHttpAuthSchemeParametersProvider = createEndpointRuleSetHttpAuthSchemeParametersProvider(_defaultSTSHttpAuthSchemeParametersProvider);
|
|
3783
|
-
function createAwsAuthSigv4HttpAuthOption(authParameters) {
|
|
3784
|
-
return {
|
|
3785
|
-
schemeId: "aws.auth#sigv4",
|
|
3786
|
-
signingProperties: {
|
|
3787
|
-
name: "sts",
|
|
3788
|
-
region: authParameters.region
|
|
3789
|
-
},
|
|
3790
|
-
propertiesExtractor: (config, context) => ({ signingProperties: {
|
|
3791
|
-
config,
|
|
3792
|
-
context
|
|
3793
|
-
} })
|
|
3794
|
-
};
|
|
3795
|
-
}
|
|
3796
|
-
function createAwsAuthSigv4aHttpAuthOption(authParameters) {
|
|
3797
|
-
return {
|
|
3798
|
-
schemeId: "aws.auth#sigv4a",
|
|
3799
|
-
signingProperties: {
|
|
3800
|
-
name: "sts",
|
|
3801
|
-
region: authParameters.region
|
|
3802
|
-
},
|
|
3803
|
-
propertiesExtractor: (config, context) => ({ signingProperties: {
|
|
3804
|
-
config,
|
|
3805
|
-
context
|
|
3806
|
-
} })
|
|
3807
|
-
};
|
|
3808
|
-
}
|
|
3809
|
-
function createSmithyApiNoAuthHttpAuthOption(authParameters) {
|
|
3810
|
-
return { schemeId: "smithy.api#noAuth" };
|
|
3811
|
-
}
|
|
3812
|
-
var createEndpointRuleSetHttpAuthSchemeProvider = (defaultEndpointResolver, defaultHttpAuthSchemeResolver, createHttpAuthOptionFunctions) => {
|
|
3813
|
-
const endpointRuleSetHttpAuthSchemeProvider = (authParameters) => {
|
|
3814
|
-
const authSchemes = defaultEndpointResolver(authParameters).properties?.authSchemes;
|
|
3815
|
-
if (!authSchemes) return defaultHttpAuthSchemeResolver(authParameters);
|
|
3816
|
-
const options = [];
|
|
3817
|
-
for (const scheme of authSchemes) {
|
|
3818
|
-
const { name: resolvedName, properties = {}, ...rest } = scheme;
|
|
3819
|
-
const name = resolvedName.toLowerCase();
|
|
3820
|
-
if (resolvedName !== name) console.warn(`HttpAuthScheme has been normalized with lowercasing: '${resolvedName}' to '${name}'`);
|
|
3821
|
-
let schemeId;
|
|
3822
|
-
if (name === "sigv4a") {
|
|
3823
|
-
schemeId = "aws.auth#sigv4a";
|
|
3824
|
-
const sigv4Present = authSchemes.find((s) => {
|
|
3825
|
-
const name = s.name.toLowerCase();
|
|
3826
|
-
return name !== "sigv4a" && name.startsWith("sigv4");
|
|
3827
|
-
});
|
|
3828
|
-
if (SignatureV4MultiRegion.sigv4aDependency() === "none" && sigv4Present) continue;
|
|
3829
|
-
} else if (name.startsWith("sigv4")) schemeId = "aws.auth#sigv4";
|
|
3830
|
-
else throw new Error(`Unknown HttpAuthScheme found in '@smithy.rules#endpointRuleSet': '${name}'`);
|
|
3831
|
-
const createOption = createHttpAuthOptionFunctions[schemeId];
|
|
3832
|
-
if (!createOption) throw new Error(`Could not find HttpAuthOption create function for '${schemeId}'`);
|
|
3833
|
-
const option = createOption(authParameters);
|
|
3834
|
-
option.schemeId = schemeId;
|
|
3835
|
-
option.signingProperties = {
|
|
3836
|
-
...option.signingProperties || {},
|
|
3837
|
-
...rest,
|
|
3838
|
-
...properties
|
|
3839
|
-
};
|
|
3840
|
-
options.push(option);
|
|
3841
|
-
}
|
|
3842
|
-
return options;
|
|
3843
|
-
};
|
|
3844
|
-
return endpointRuleSetHttpAuthSchemeProvider;
|
|
3845
|
-
};
|
|
3846
|
-
var _defaultSTSHttpAuthSchemeProvider = (authParameters) => {
|
|
3847
|
-
const options = [];
|
|
3848
|
-
switch (authParameters.operation) {
|
|
3849
|
-
case "AssumeRoleWithWebIdentity":
|
|
3850
|
-
options.push(createSmithyApiNoAuthHttpAuthOption());
|
|
3851
|
-
options.push(createAwsAuthSigv4aHttpAuthOption(authParameters));
|
|
3852
|
-
break;
|
|
3853
|
-
default:
|
|
3854
|
-
options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
|
|
3855
|
-
options.push(createAwsAuthSigv4aHttpAuthOption(authParameters));
|
|
3856
|
-
}
|
|
3857
|
-
return options;
|
|
3858
|
-
};
|
|
3859
|
-
var defaultSTSHttpAuthSchemeProvider = createEndpointRuleSetHttpAuthSchemeProvider(defaultEndpointResolver, _defaultSTSHttpAuthSchemeProvider, {
|
|
3860
|
-
"aws.auth#sigv4": createAwsAuthSigv4HttpAuthOption,
|
|
3861
|
-
"aws.auth#sigv4a": createAwsAuthSigv4aHttpAuthOption,
|
|
3862
|
-
"smithy.api#noAuth": createSmithyApiNoAuthHttpAuthOption
|
|
3863
|
-
});
|
|
3864
|
-
var resolveHttpAuthSchemeConfig = (config) => {
|
|
3865
|
-
const config_1 = resolveAwsSdkSigV4AConfig(resolveAwsSdkSigV4Config(config));
|
|
3866
|
-
return Object.assign(config_1, { authSchemePreference: normalizeProvider$1(config.authSchemePreference ?? []) });
|
|
3867
|
-
};
|
|
3868
|
-
//#endregion
|
|
3869
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.9/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/EndpointParameters.js
|
|
3870
|
-
var resolveClientEndpointParameters = (options) => {
|
|
3871
|
-
return Object.assign(options, {
|
|
3872
|
-
useDualstackEndpoint: options.useDualstackEndpoint ?? false,
|
|
3873
|
-
useFipsEndpoint: options.useFipsEndpoint ?? false,
|
|
3874
|
-
useGlobalEndpoint: options.useGlobalEndpoint ?? false,
|
|
3875
|
-
defaultSigningName: "sts"
|
|
3876
|
-
});
|
|
3877
|
-
};
|
|
3878
|
-
var commonParams = {
|
|
3879
|
-
UseGlobalEndpoint: {
|
|
3880
|
-
type: "builtInParams",
|
|
3881
|
-
name: "useGlobalEndpoint"
|
|
3882
|
-
},
|
|
3883
|
-
UseFIPS: {
|
|
3884
|
-
type: "builtInParams",
|
|
3885
|
-
name: "useFipsEndpoint"
|
|
3886
|
-
},
|
|
3887
|
-
Endpoint: {
|
|
3888
|
-
type: "builtInParams",
|
|
3889
|
-
name: "endpoint"
|
|
3890
|
-
},
|
|
3891
|
-
Region: {
|
|
3892
|
-
type: "builtInParams",
|
|
3893
|
-
name: "region"
|
|
3894
|
-
},
|
|
3895
|
-
UseDualStack: {
|
|
3896
|
-
type: "builtInParams",
|
|
3897
|
-
name: "useDualstackEndpoint"
|
|
3898
|
-
}
|
|
3899
|
-
};
|
|
3900
|
-
//#endregion
|
|
3901
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.9/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/STSServiceException.js
|
|
3902
|
-
var STSServiceException = class STSServiceException extends ServiceException {
|
|
3903
|
-
constructor(options) {
|
|
3904
|
-
super(options);
|
|
3905
|
-
Object.setPrototypeOf(this, STSServiceException.prototype);
|
|
3906
|
-
}
|
|
3907
|
-
};
|
|
3908
|
-
//#endregion
|
|
3909
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.9/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/errors.js
|
|
3910
|
-
var ExpiredTokenException = class ExpiredTokenException extends STSServiceException {
|
|
3911
|
-
name = "ExpiredTokenException";
|
|
3912
|
-
$fault = "client";
|
|
3913
|
-
constructor(opts) {
|
|
3914
|
-
super({
|
|
3915
|
-
name: "ExpiredTokenException",
|
|
3916
|
-
$fault: "client",
|
|
3917
|
-
...opts
|
|
3918
|
-
});
|
|
3919
|
-
Object.setPrototypeOf(this, ExpiredTokenException.prototype);
|
|
3920
|
-
}
|
|
3921
|
-
};
|
|
3922
|
-
var MalformedPolicyDocumentException = class MalformedPolicyDocumentException extends STSServiceException {
|
|
3923
|
-
name = "MalformedPolicyDocumentException";
|
|
3924
|
-
$fault = "client";
|
|
3925
|
-
constructor(opts) {
|
|
3926
|
-
super({
|
|
3927
|
-
name: "MalformedPolicyDocumentException",
|
|
3928
|
-
$fault: "client",
|
|
3929
|
-
...opts
|
|
3930
|
-
});
|
|
3931
|
-
Object.setPrototypeOf(this, MalformedPolicyDocumentException.prototype);
|
|
3932
|
-
}
|
|
3933
|
-
};
|
|
3934
|
-
var PackedPolicyTooLargeException = class PackedPolicyTooLargeException extends STSServiceException {
|
|
3935
|
-
name = "PackedPolicyTooLargeException";
|
|
3936
|
-
$fault = "client";
|
|
3937
|
-
constructor(opts) {
|
|
3938
|
-
super({
|
|
3939
|
-
name: "PackedPolicyTooLargeException",
|
|
3940
|
-
$fault: "client",
|
|
3941
|
-
...opts
|
|
3942
|
-
});
|
|
3943
|
-
Object.setPrototypeOf(this, PackedPolicyTooLargeException.prototype);
|
|
3944
|
-
}
|
|
3945
|
-
};
|
|
3946
|
-
var RegionDisabledException = class RegionDisabledException extends STSServiceException {
|
|
3947
|
-
name = "RegionDisabledException";
|
|
3948
|
-
$fault = "client";
|
|
3949
|
-
constructor(opts) {
|
|
3950
|
-
super({
|
|
3951
|
-
name: "RegionDisabledException",
|
|
3952
|
-
$fault: "client",
|
|
3953
|
-
...opts
|
|
3954
|
-
});
|
|
3955
|
-
Object.setPrototypeOf(this, RegionDisabledException.prototype);
|
|
3956
|
-
}
|
|
3957
|
-
};
|
|
3958
|
-
var IDPRejectedClaimException = class IDPRejectedClaimException extends STSServiceException {
|
|
3959
|
-
name = "IDPRejectedClaimException";
|
|
3960
|
-
$fault = "client";
|
|
3961
|
-
constructor(opts) {
|
|
3962
|
-
super({
|
|
3963
|
-
name: "IDPRejectedClaimException",
|
|
3964
|
-
$fault: "client",
|
|
3965
|
-
...opts
|
|
3966
|
-
});
|
|
3967
|
-
Object.setPrototypeOf(this, IDPRejectedClaimException.prototype);
|
|
3968
|
-
}
|
|
3969
|
-
};
|
|
3970
|
-
var InvalidIdentityTokenException = class InvalidIdentityTokenException extends STSServiceException {
|
|
3971
|
-
name = "InvalidIdentityTokenException";
|
|
3972
|
-
$fault = "client";
|
|
3973
|
-
constructor(opts) {
|
|
3974
|
-
super({
|
|
3975
|
-
name: "InvalidIdentityTokenException",
|
|
3976
|
-
$fault: "client",
|
|
3977
|
-
...opts
|
|
3978
|
-
});
|
|
3979
|
-
Object.setPrototypeOf(this, InvalidIdentityTokenException.prototype);
|
|
3980
|
-
}
|
|
3981
|
-
};
|
|
3982
|
-
var IDPCommunicationErrorException = class IDPCommunicationErrorException extends STSServiceException {
|
|
3983
|
-
name = "IDPCommunicationErrorException";
|
|
3984
|
-
$fault = "client";
|
|
3985
|
-
$retryable = {};
|
|
3986
|
-
constructor(opts) {
|
|
3987
|
-
super({
|
|
3988
|
-
name: "IDPCommunicationErrorException",
|
|
3989
|
-
$fault: "client",
|
|
3990
|
-
...opts
|
|
3991
|
-
});
|
|
3992
|
-
Object.setPrototypeOf(this, IDPCommunicationErrorException.prototype);
|
|
3993
|
-
}
|
|
3994
|
-
};
|
|
3995
|
-
//#endregion
|
|
3996
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.9/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/schemas/schemas_0.js
|
|
3997
|
-
var _A = "Arn";
|
|
3998
|
-
var _AKI = "AccessKeyId";
|
|
3999
|
-
var _AR = "AssumeRole";
|
|
4000
|
-
var _ARI = "AssumedRoleId";
|
|
4001
|
-
var _ARR = "AssumeRoleRequest";
|
|
4002
|
-
var _ARRs = "AssumeRoleResponse";
|
|
4003
|
-
var _ARU = "AssumedRoleUser";
|
|
4004
|
-
var _ARWWI = "AssumeRoleWithWebIdentity";
|
|
4005
|
-
var _ARWWIR = "AssumeRoleWithWebIdentityRequest";
|
|
4006
|
-
var _ARWWIRs = "AssumeRoleWithWebIdentityResponse";
|
|
4007
|
-
var _Au = "Audience";
|
|
4008
|
-
var _C = "Credentials";
|
|
4009
|
-
var _CA = "ContextAssertion";
|
|
4010
|
-
var _DS = "DurationSeconds";
|
|
4011
|
-
var _E = "Expiration";
|
|
4012
|
-
var _EI = "ExternalId";
|
|
4013
|
-
var _ETE = "ExpiredTokenException";
|
|
4014
|
-
var _IDPCEE = "IDPCommunicationErrorException";
|
|
4015
|
-
var _IDPRCE = "IDPRejectedClaimException";
|
|
4016
|
-
var _IITE = "InvalidIdentityTokenException";
|
|
4017
|
-
var _K = "Key";
|
|
4018
|
-
var _MPDE = "MalformedPolicyDocumentException";
|
|
4019
|
-
var _P = "Policy";
|
|
4020
|
-
var _PA = "PolicyArns";
|
|
4021
|
-
var _PAr = "ProviderArn";
|
|
4022
|
-
var _PC = "ProvidedContexts";
|
|
4023
|
-
var _PCLT = "ProvidedContextsListType";
|
|
4024
|
-
var _PCr = "ProvidedContext";
|
|
4025
|
-
var _PDT = "PolicyDescriptorType";
|
|
4026
|
-
var _PI = "ProviderId";
|
|
4027
|
-
var _PPS = "PackedPolicySize";
|
|
4028
|
-
var _PPTLE = "PackedPolicyTooLargeException";
|
|
4029
|
-
var _Pr = "Provider";
|
|
4030
|
-
var _RA = "RoleArn";
|
|
4031
|
-
var _RDE = "RegionDisabledException";
|
|
4032
|
-
var _RSN = "RoleSessionName";
|
|
4033
|
-
var _SAK = "SecretAccessKey";
|
|
4034
|
-
var _SFWIT = "SubjectFromWebIdentityToken";
|
|
4035
|
-
var _SI = "SourceIdentity";
|
|
4036
|
-
var _SN = "SerialNumber";
|
|
4037
|
-
var _ST = "SessionToken";
|
|
4038
|
-
var _T = "Tags";
|
|
4039
|
-
var _TC = "TokenCode";
|
|
4040
|
-
var _TTK = "TransitiveTagKeys";
|
|
4041
|
-
var _Ta = "Tag";
|
|
4042
|
-
var _V = "Value";
|
|
4043
|
-
var _WIT = "WebIdentityToken";
|
|
4044
|
-
var _a = "arn";
|
|
4045
|
-
var _aKST = "accessKeySecretType";
|
|
4046
|
-
var _aQE = "awsQueryError";
|
|
4047
|
-
var _c = "client";
|
|
4048
|
-
var _cTT = "clientTokenType";
|
|
4049
|
-
var _e = "error";
|
|
4050
|
-
var _hE = "httpError";
|
|
4051
|
-
var _m = "message";
|
|
4052
|
-
var _pDLT = "policyDescriptorListType";
|
|
4053
|
-
var _s = "smithy.ts.sdk.synthetic.com.amazonaws.sts";
|
|
4054
|
-
var _tLT = "tagListType";
|
|
4055
|
-
var n0 = "com.amazonaws.sts";
|
|
4056
|
-
var _s_registry = TypeRegistry.for(_s);
|
|
4057
|
-
var STSServiceException$ = [
|
|
4058
|
-
-3,
|
|
4059
|
-
_s,
|
|
4060
|
-
"STSServiceException",
|
|
4061
|
-
0,
|
|
4062
|
-
[],
|
|
4063
|
-
[]
|
|
4064
|
-
];
|
|
4065
|
-
_s_registry.registerError(STSServiceException$, STSServiceException);
|
|
4066
|
-
var n0_registry = TypeRegistry.for(n0);
|
|
4067
|
-
var ExpiredTokenException$ = [
|
|
4068
|
-
-3,
|
|
4069
|
-
n0,
|
|
4070
|
-
_ETE,
|
|
4071
|
-
{
|
|
4072
|
-
[_aQE]: [`ExpiredTokenException`, 400],
|
|
4073
|
-
[_e]: _c,
|
|
4074
|
-
[_hE]: 400
|
|
4075
|
-
},
|
|
4076
|
-
[_m],
|
|
4077
|
-
[0]
|
|
4078
|
-
];
|
|
4079
|
-
n0_registry.registerError(ExpiredTokenException$, ExpiredTokenException);
|
|
4080
|
-
var IDPCommunicationErrorException$ = [
|
|
4081
|
-
-3,
|
|
4082
|
-
n0,
|
|
4083
|
-
_IDPCEE,
|
|
4084
|
-
{
|
|
4085
|
-
[_aQE]: [`IDPCommunicationError`, 400],
|
|
4086
|
-
[_e]: _c,
|
|
4087
|
-
[_hE]: 400
|
|
4088
|
-
},
|
|
4089
|
-
[_m],
|
|
4090
|
-
[0]
|
|
4091
|
-
];
|
|
4092
|
-
n0_registry.registerError(IDPCommunicationErrorException$, IDPCommunicationErrorException);
|
|
4093
|
-
var IDPRejectedClaimException$ = [
|
|
4094
|
-
-3,
|
|
4095
|
-
n0,
|
|
4096
|
-
_IDPRCE,
|
|
4097
|
-
{
|
|
4098
|
-
[_aQE]: [`IDPRejectedClaim`, 403],
|
|
4099
|
-
[_e]: _c,
|
|
4100
|
-
[_hE]: 403
|
|
4101
|
-
},
|
|
4102
|
-
[_m],
|
|
4103
|
-
[0]
|
|
4104
|
-
];
|
|
4105
|
-
n0_registry.registerError(IDPRejectedClaimException$, IDPRejectedClaimException);
|
|
4106
|
-
var InvalidIdentityTokenException$ = [
|
|
4107
|
-
-3,
|
|
4108
|
-
n0,
|
|
4109
|
-
_IITE,
|
|
4110
|
-
{
|
|
4111
|
-
[_aQE]: [`InvalidIdentityToken`, 400],
|
|
4112
|
-
[_e]: _c,
|
|
4113
|
-
[_hE]: 400
|
|
4114
|
-
},
|
|
4115
|
-
[_m],
|
|
4116
|
-
[0]
|
|
4117
|
-
];
|
|
4118
|
-
n0_registry.registerError(InvalidIdentityTokenException$, InvalidIdentityTokenException);
|
|
4119
|
-
var MalformedPolicyDocumentException$ = [
|
|
4120
|
-
-3,
|
|
4121
|
-
n0,
|
|
4122
|
-
_MPDE,
|
|
4123
|
-
{
|
|
4124
|
-
[_aQE]: [`MalformedPolicyDocument`, 400],
|
|
4125
|
-
[_e]: _c,
|
|
4126
|
-
[_hE]: 400
|
|
4127
|
-
},
|
|
4128
|
-
[_m],
|
|
4129
|
-
[0]
|
|
4130
|
-
];
|
|
4131
|
-
n0_registry.registerError(MalformedPolicyDocumentException$, MalformedPolicyDocumentException);
|
|
4132
|
-
var PackedPolicyTooLargeException$ = [
|
|
4133
|
-
-3,
|
|
4134
|
-
n0,
|
|
4135
|
-
_PPTLE,
|
|
4136
|
-
{
|
|
4137
|
-
[_aQE]: [`PackedPolicyTooLarge`, 400],
|
|
4138
|
-
[_e]: _c,
|
|
4139
|
-
[_hE]: 400
|
|
4140
|
-
},
|
|
4141
|
-
[_m],
|
|
4142
|
-
[0]
|
|
4143
|
-
];
|
|
4144
|
-
n0_registry.registerError(PackedPolicyTooLargeException$, PackedPolicyTooLargeException);
|
|
4145
|
-
var RegionDisabledException$ = [
|
|
4146
|
-
-3,
|
|
4147
|
-
n0,
|
|
4148
|
-
_RDE,
|
|
4149
|
-
{
|
|
4150
|
-
[_aQE]: [`RegionDisabledException`, 403],
|
|
4151
|
-
[_e]: _c,
|
|
4152
|
-
[_hE]: 403
|
|
4153
|
-
},
|
|
4154
|
-
[_m],
|
|
4155
|
-
[0]
|
|
4156
|
-
];
|
|
4157
|
-
n0_registry.registerError(RegionDisabledException$, RegionDisabledException);
|
|
4158
|
-
var errorTypeRegistries = [_s_registry, n0_registry];
|
|
4159
|
-
var accessKeySecretType = [
|
|
4160
|
-
0,
|
|
4161
|
-
n0,
|
|
4162
|
-
_aKST,
|
|
4163
|
-
8,
|
|
4164
|
-
0
|
|
4165
|
-
];
|
|
4166
|
-
var clientTokenType = [
|
|
4167
|
-
0,
|
|
4168
|
-
n0,
|
|
4169
|
-
_cTT,
|
|
4170
|
-
8,
|
|
4171
|
-
0
|
|
4172
|
-
];
|
|
4173
|
-
var AssumedRoleUser$ = [
|
|
4174
|
-
3,
|
|
4175
|
-
n0,
|
|
4176
|
-
_ARU,
|
|
4177
|
-
0,
|
|
4178
|
-
[_ARI, _A],
|
|
4179
|
-
[0, 0],
|
|
4180
|
-
2
|
|
4181
|
-
];
|
|
4182
|
-
var AssumeRoleRequest$ = [
|
|
4183
|
-
3,
|
|
4184
|
-
n0,
|
|
4185
|
-
_ARR,
|
|
4186
|
-
0,
|
|
4187
|
-
[
|
|
4188
|
-
_RA,
|
|
4189
|
-
_RSN,
|
|
4190
|
-
_PA,
|
|
4191
|
-
_P,
|
|
4192
|
-
_DS,
|
|
4193
|
-
_T,
|
|
4194
|
-
_TTK,
|
|
4195
|
-
_EI,
|
|
4196
|
-
_SN,
|
|
4197
|
-
_TC,
|
|
4198
|
-
_SI,
|
|
4199
|
-
_PC
|
|
4200
|
-
],
|
|
4201
|
-
[
|
|
4202
|
-
0,
|
|
4203
|
-
0,
|
|
4204
|
-
() => policyDescriptorListType,
|
|
4205
|
-
0,
|
|
4206
|
-
1,
|
|
4207
|
-
() => tagListType,
|
|
4208
|
-
64,
|
|
4209
|
-
0,
|
|
4210
|
-
0,
|
|
4211
|
-
0,
|
|
4212
|
-
0,
|
|
4213
|
-
() => ProvidedContextsListType
|
|
4214
|
-
],
|
|
4215
|
-
2
|
|
4216
|
-
];
|
|
4217
|
-
var AssumeRoleResponse$ = [
|
|
4218
|
-
3,
|
|
4219
|
-
n0,
|
|
4220
|
-
_ARRs,
|
|
4221
|
-
0,
|
|
4222
|
-
[
|
|
4223
|
-
_C,
|
|
4224
|
-
_ARU,
|
|
4225
|
-
_PPS,
|
|
4226
|
-
_SI
|
|
4227
|
-
],
|
|
4228
|
-
[
|
|
4229
|
-
[() => Credentials$, 0],
|
|
4230
|
-
() => AssumedRoleUser$,
|
|
4231
|
-
1,
|
|
4232
|
-
0
|
|
4233
|
-
]
|
|
4234
|
-
];
|
|
4235
|
-
var AssumeRoleWithWebIdentityRequest$ = [
|
|
4236
|
-
3,
|
|
4237
|
-
n0,
|
|
4238
|
-
_ARWWIR,
|
|
4239
|
-
0,
|
|
4240
|
-
[
|
|
4241
|
-
_RA,
|
|
4242
|
-
_RSN,
|
|
4243
|
-
_WIT,
|
|
4244
|
-
_PI,
|
|
4245
|
-
_PA,
|
|
4246
|
-
_P,
|
|
4247
|
-
_DS
|
|
4248
|
-
],
|
|
4249
|
-
[
|
|
4250
|
-
0,
|
|
4251
|
-
0,
|
|
4252
|
-
[() => clientTokenType, 0],
|
|
4253
|
-
0,
|
|
4254
|
-
() => policyDescriptorListType,
|
|
4255
|
-
0,
|
|
4256
|
-
1
|
|
4257
|
-
],
|
|
4258
|
-
3
|
|
4259
|
-
];
|
|
4260
|
-
var AssumeRoleWithWebIdentityResponse$ = [
|
|
4261
|
-
3,
|
|
4262
|
-
n0,
|
|
4263
|
-
_ARWWIRs,
|
|
4264
|
-
0,
|
|
4265
|
-
[
|
|
4266
|
-
_C,
|
|
4267
|
-
_SFWIT,
|
|
4268
|
-
_ARU,
|
|
4269
|
-
_PPS,
|
|
4270
|
-
_Pr,
|
|
4271
|
-
_Au,
|
|
4272
|
-
_SI
|
|
4273
|
-
],
|
|
4274
|
-
[
|
|
4275
|
-
[() => Credentials$, 0],
|
|
4276
|
-
0,
|
|
4277
|
-
() => AssumedRoleUser$,
|
|
4278
|
-
1,
|
|
4279
|
-
0,
|
|
4280
|
-
0,
|
|
4281
|
-
0
|
|
4282
|
-
]
|
|
4283
|
-
];
|
|
4284
|
-
var Credentials$ = [
|
|
4285
|
-
3,
|
|
4286
|
-
n0,
|
|
4287
|
-
_C,
|
|
4288
|
-
0,
|
|
4289
|
-
[
|
|
4290
|
-
_AKI,
|
|
4291
|
-
_SAK,
|
|
4292
|
-
_ST,
|
|
4293
|
-
_E
|
|
4294
|
-
],
|
|
4295
|
-
[
|
|
4296
|
-
0,
|
|
4297
|
-
[() => accessKeySecretType, 0],
|
|
4298
|
-
0,
|
|
4299
|
-
4
|
|
4300
|
-
],
|
|
4301
|
-
4
|
|
4302
|
-
];
|
|
4303
|
-
var PolicyDescriptorType$ = [
|
|
4304
|
-
3,
|
|
4305
|
-
n0,
|
|
4306
|
-
_PDT,
|
|
4307
|
-
0,
|
|
4308
|
-
[_a],
|
|
4309
|
-
[0]
|
|
4310
|
-
];
|
|
4311
|
-
var ProvidedContext$ = [
|
|
4312
|
-
3,
|
|
4313
|
-
n0,
|
|
4314
|
-
_PCr,
|
|
4315
|
-
0,
|
|
4316
|
-
[_PAr, _CA],
|
|
4317
|
-
[0, 0]
|
|
4318
|
-
];
|
|
4319
|
-
var Tag$ = [
|
|
4320
|
-
3,
|
|
4321
|
-
n0,
|
|
4322
|
-
_Ta,
|
|
4323
|
-
0,
|
|
4324
|
-
[_K, _V],
|
|
4325
|
-
[0, 0],
|
|
4326
|
-
2
|
|
4327
|
-
];
|
|
4328
|
-
var policyDescriptorListType = [
|
|
4329
|
-
1,
|
|
4330
|
-
n0,
|
|
4331
|
-
_pDLT,
|
|
4332
|
-
0,
|
|
4333
|
-
() => PolicyDescriptorType$
|
|
4334
|
-
];
|
|
4335
|
-
var ProvidedContextsListType = [
|
|
4336
|
-
1,
|
|
4337
|
-
n0,
|
|
4338
|
-
_PCLT,
|
|
4339
|
-
0,
|
|
4340
|
-
() => ProvidedContext$
|
|
4341
|
-
];
|
|
4342
|
-
var tagListType = [
|
|
4343
|
-
1,
|
|
4344
|
-
n0,
|
|
4345
|
-
_tLT,
|
|
4346
|
-
0,
|
|
4347
|
-
() => Tag$
|
|
4348
|
-
];
|
|
4349
|
-
var AssumeRole$ = [
|
|
4350
|
-
9,
|
|
4351
|
-
n0,
|
|
4352
|
-
_AR,
|
|
4353
|
-
0,
|
|
4354
|
-
() => AssumeRoleRequest$,
|
|
4355
|
-
() => AssumeRoleResponse$
|
|
4356
|
-
];
|
|
4357
|
-
var AssumeRoleWithWebIdentity$ = [
|
|
4358
|
-
9,
|
|
4359
|
-
n0,
|
|
4360
|
-
_ARWWI,
|
|
4361
|
-
0,
|
|
4362
|
-
() => AssumeRoleWithWebIdentityRequest$,
|
|
4363
|
-
() => AssumeRoleWithWebIdentityResponse$
|
|
4364
|
-
];
|
|
4365
|
-
//#endregion
|
|
4366
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.9/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.shared.js
|
|
4367
|
-
var getRuntimeConfig$1 = (config) => {
|
|
4368
|
-
return {
|
|
4369
|
-
apiVersion: "2011-06-15",
|
|
4370
|
-
base64Decoder: config?.base64Decoder ?? fromBase64$1,
|
|
4371
|
-
base64Encoder: config?.base64Encoder ?? toBase64$1,
|
|
4372
|
-
disableHostPrefix: config?.disableHostPrefix ?? false,
|
|
4373
|
-
endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,
|
|
4374
|
-
extensions: config?.extensions ?? [],
|
|
4375
|
-
httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultSTSHttpAuthSchemeProvider,
|
|
4376
|
-
httpAuthSchemes: config?.httpAuthSchemes ?? [
|
|
4377
|
-
{
|
|
4378
|
-
schemeId: "aws.auth#sigv4",
|
|
4379
|
-
identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"),
|
|
4380
|
-
signer: new AwsSdkSigV4Signer()
|
|
4381
|
-
},
|
|
4382
|
-
{
|
|
4383
|
-
schemeId: "aws.auth#sigv4a",
|
|
4384
|
-
identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4a"),
|
|
4385
|
-
signer: new AwsSdkSigV4ASigner()
|
|
4386
|
-
},
|
|
4387
|
-
{
|
|
4388
|
-
schemeId: "smithy.api#noAuth",
|
|
4389
|
-
identityProvider: (ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})),
|
|
4390
|
-
signer: new NoAuthSigner()
|
|
4391
|
-
}
|
|
4392
|
-
],
|
|
4393
|
-
logger: config?.logger ?? new NoOpLogger(),
|
|
4394
|
-
protocol: config?.protocol ?? AwsQueryProtocol,
|
|
4395
|
-
protocolSettings: config?.protocolSettings ?? {
|
|
4396
|
-
defaultNamespace: "com.amazonaws.sts",
|
|
4397
|
-
errorTypeRegistries,
|
|
4398
|
-
xmlNamespace: "https://sts.amazonaws.com/doc/2011-06-15/",
|
|
4399
|
-
version: "2011-06-15",
|
|
4400
|
-
serviceTarget: "AWSSecurityTokenServiceV20110615"
|
|
4401
|
-
},
|
|
4402
|
-
serviceId: config?.serviceId ?? "STS",
|
|
4403
|
-
signerConstructor: config?.signerConstructor ?? SignatureV4MultiRegion,
|
|
4404
|
-
urlParser: config?.urlParser ?? parseUrl,
|
|
4405
|
-
utf8Decoder: config?.utf8Decoder ?? fromUtf8$1,
|
|
4406
|
-
utf8Encoder: config?.utf8Encoder ?? toUtf8$1
|
|
4407
|
-
};
|
|
4408
|
-
};
|
|
4409
|
-
//#endregion
|
|
4410
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.9/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.js
|
|
4411
|
-
var getRuntimeConfig = (config) => {
|
|
4412
|
-
emitWarningIfUnsupportedVersion$1(process.version);
|
|
4413
|
-
const defaultsMode = resolveDefaultsModeConfig(config);
|
|
4414
|
-
const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);
|
|
4415
|
-
const clientSharedValues = getRuntimeConfig$1(config);
|
|
4416
|
-
emitWarningIfUnsupportedVersion(process.version);
|
|
4417
|
-
const loaderConfig = {
|
|
4418
|
-
profile: config?.profile,
|
|
4419
|
-
logger: clientSharedValues.logger
|
|
4420
|
-
};
|
|
4421
|
-
return {
|
|
4422
|
-
...clientSharedValues,
|
|
4423
|
-
...config,
|
|
4424
|
-
runtime: "node",
|
|
4425
|
-
defaultsMode,
|
|
4426
|
-
authSchemePreference: config?.authSchemePreference ?? loadConfig(NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),
|
|
4427
|
-
bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,
|
|
4428
|
-
defaultUserAgentProvider: config?.defaultUserAgentProvider ?? createDefaultUserAgentProvider({
|
|
4429
|
-
serviceId: clientSharedValues.serviceId,
|
|
4430
|
-
clientVersion: package_default.version
|
|
4431
|
-
}),
|
|
4432
|
-
httpAuthSchemes: config?.httpAuthSchemes ?? [
|
|
4433
|
-
{
|
|
4434
|
-
schemeId: "aws.auth#sigv4",
|
|
4435
|
-
identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4") || (async (idProps) => await config.credentialDefaultProvider(idProps?.__config || {})()),
|
|
4436
|
-
signer: new AwsSdkSigV4Signer()
|
|
4437
|
-
},
|
|
4438
|
-
{
|
|
4439
|
-
schemeId: "aws.auth#sigv4a",
|
|
4440
|
-
identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4a"),
|
|
4441
|
-
signer: new AwsSdkSigV4ASigner()
|
|
4442
|
-
},
|
|
4443
|
-
{
|
|
4444
|
-
schemeId: "smithy.api#noAuth",
|
|
4445
|
-
identityProvider: (ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})),
|
|
4446
|
-
signer: new NoAuthSigner()
|
|
4447
|
-
}
|
|
4448
|
-
],
|
|
4449
|
-
maxAttempts: config?.maxAttempts ?? loadConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config),
|
|
4450
|
-
region: config?.region ?? loadConfig(NODE_REGION_CONFIG_OPTIONS, {
|
|
4451
|
-
...NODE_REGION_CONFIG_FILE_OPTIONS,
|
|
4452
|
-
...loaderConfig
|
|
4453
|
-
}),
|
|
4454
|
-
requestHandler: NodeHttpHandler.create(config?.requestHandler ?? defaultConfigProvider),
|
|
4455
|
-
retryMode: config?.retryMode ?? loadConfig({
|
|
4456
|
-
...NODE_RETRY_MODE_CONFIG_OPTIONS,
|
|
4457
|
-
default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE
|
|
4458
|
-
}, config),
|
|
4459
|
-
sha256: config?.sha256 ?? Hash.bind(null, "sha256"),
|
|
4460
|
-
sigv4aSigningRegionSet: config?.sigv4aSigningRegionSet ?? loadConfig(NODE_SIGV4A_CONFIG_OPTIONS, loaderConfig),
|
|
4461
|
-
streamCollector: config?.streamCollector ?? streamCollector,
|
|
4462
|
-
useDualstackEndpoint: config?.useDualstackEndpoint ?? loadConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
|
|
4463
|
-
useFipsEndpoint: config?.useFipsEndpoint ?? loadConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
|
|
4464
|
-
userAgentAppId: config?.userAgentAppId ?? loadConfig(NODE_APP_ID_CONFIG_OPTIONS, loaderConfig)
|
|
4465
|
-
};
|
|
4466
|
-
};
|
|
4467
|
-
//#endregion
|
|
4468
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.9/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/auth/httpAuthExtensionConfiguration.js
|
|
4469
|
-
var getHttpAuthExtensionConfiguration = (runtimeConfig) => {
|
|
4470
|
-
const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;
|
|
4471
|
-
let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;
|
|
4472
|
-
let _credentials = runtimeConfig.credentials;
|
|
4473
|
-
return {
|
|
4474
|
-
setHttpAuthScheme(httpAuthScheme) {
|
|
4475
|
-
const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
|
|
4476
|
-
if (index === -1) _httpAuthSchemes.push(httpAuthScheme);
|
|
4477
|
-
else _httpAuthSchemes.splice(index, 1, httpAuthScheme);
|
|
4478
|
-
},
|
|
4479
|
-
httpAuthSchemes() {
|
|
4480
|
-
return _httpAuthSchemes;
|
|
4481
|
-
},
|
|
4482
|
-
setHttpAuthSchemeProvider(httpAuthSchemeProvider) {
|
|
4483
|
-
_httpAuthSchemeProvider = httpAuthSchemeProvider;
|
|
4484
|
-
},
|
|
4485
|
-
httpAuthSchemeProvider() {
|
|
4486
|
-
return _httpAuthSchemeProvider;
|
|
4487
|
-
},
|
|
4488
|
-
setCredentials(credentials) {
|
|
4489
|
-
_credentials = credentials;
|
|
4490
|
-
},
|
|
4491
|
-
credentials() {
|
|
4492
|
-
return _credentials;
|
|
4493
|
-
}
|
|
4494
|
-
};
|
|
4495
|
-
};
|
|
4496
|
-
var resolveHttpAuthRuntimeConfig = (config) => {
|
|
4497
|
-
return {
|
|
4498
|
-
httpAuthSchemes: config.httpAuthSchemes(),
|
|
4499
|
-
httpAuthSchemeProvider: config.httpAuthSchemeProvider(),
|
|
4500
|
-
credentials: config.credentials()
|
|
4501
|
-
};
|
|
4502
|
-
};
|
|
4503
|
-
//#endregion
|
|
4504
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.9/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeExtensions.js
|
|
4505
|
-
var resolveRuntimeExtensions = (runtimeConfig, extensions) => {
|
|
4506
|
-
const extensionConfiguration = Object.assign(getAwsRegionExtensionConfiguration(runtimeConfig), getDefaultExtensionConfiguration(runtimeConfig), getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig));
|
|
4507
|
-
extensions.forEach((extension) => extension.configure(extensionConfiguration));
|
|
4508
|
-
return Object.assign(runtimeConfig, resolveAwsRegionExtensionConfiguration(extensionConfiguration), resolveDefaultRuntimeConfig(extensionConfiguration), resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));
|
|
4509
|
-
};
|
|
4510
|
-
//#endregion
|
|
4511
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.9/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STSClient.js
|
|
4512
|
-
var STSClient = class extends Client {
|
|
4513
|
-
config;
|
|
4514
|
-
constructor(...[configuration]) {
|
|
4515
|
-
const _config_0 = getRuntimeConfig(configuration || {});
|
|
4516
|
-
super(_config_0);
|
|
4517
|
-
this.initConfig = _config_0;
|
|
4518
|
-
this.config = resolveRuntimeExtensions(resolveHttpAuthSchemeConfig(resolveEndpointConfig(resolveHostHeaderConfig(resolveRegionConfig(resolveRetryConfig(resolveUserAgentConfig(resolveClientEndpointParameters(_config_0))))))), configuration?.extensions || []);
|
|
4519
|
-
this.middlewareStack.use(getSchemaSerdePlugin(this.config));
|
|
4520
|
-
this.middlewareStack.use(getUserAgentPlugin(this.config));
|
|
4521
|
-
this.middlewareStack.use(getRetryPlugin(this.config));
|
|
4522
|
-
this.middlewareStack.use(getContentLengthPlugin(this.config));
|
|
4523
|
-
this.middlewareStack.use(getHostHeaderPlugin(this.config));
|
|
4524
|
-
this.middlewareStack.use(getLoggerPlugin(this.config));
|
|
4525
|
-
this.middlewareStack.use(getRecursionDetectionPlugin(this.config));
|
|
4526
|
-
this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {
|
|
4527
|
-
httpAuthSchemeParametersProvider: defaultSTSHttpAuthSchemeParametersProvider,
|
|
4528
|
-
identityProviderConfigProvider: async (config) => new DefaultIdentityProviderConfig({
|
|
4529
|
-
"aws.auth#sigv4": config.credentials,
|
|
4530
|
-
"aws.auth#sigv4a": config.credentials
|
|
4531
|
-
})
|
|
4532
|
-
}));
|
|
4533
|
-
this.middlewareStack.use(getHttpSigningPlugin(this.config));
|
|
4534
|
-
}
|
|
4535
|
-
destroy() {
|
|
4536
|
-
super.destroy();
|
|
4537
|
-
}
|
|
4538
|
-
};
|
|
4539
|
-
//#endregion
|
|
4540
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.9/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/AssumeRoleCommand.js
|
|
4541
|
-
var AssumeRoleCommand = class extends Command.classBuilder().ep(commonParams).m(function(Command, cs, config, o) {
|
|
4542
|
-
return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
|
|
4543
|
-
}).s("AWSSecurityTokenServiceV20110615", "AssumeRole", {}).n("STSClient", "AssumeRoleCommand").sc(AssumeRole$).build() {};
|
|
4544
|
-
//#endregion
|
|
4545
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.9/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/AssumeRoleWithWebIdentityCommand.js
|
|
4546
|
-
var AssumeRoleWithWebIdentityCommand = class extends Command.classBuilder().ep(commonParams).m(function(Command, cs, config, o) {
|
|
4547
|
-
return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
|
|
4548
|
-
}).s("AWSSecurityTokenServiceV20110615", "AssumeRoleWithWebIdentity", {}).n("STSClient", "AssumeRoleWithWebIdentityCommand").sc(AssumeRoleWithWebIdentity$).build() {};
|
|
4549
|
-
//#endregion
|
|
4550
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.9/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/defaultStsRoleAssumers.js
|
|
4551
|
-
var getAccountIdFromAssumedRoleUser = (assumedRoleUser) => {
|
|
4552
|
-
if (typeof assumedRoleUser?.Arn === "string") {
|
|
4553
|
-
const arnComponents = assumedRoleUser.Arn.split(":");
|
|
4554
|
-
if (arnComponents.length > 4 && arnComponents[4] !== "") return arnComponents[4];
|
|
4555
|
-
}
|
|
4556
|
-
};
|
|
4557
|
-
var resolveRegion = async (_region, _parentRegion, credentialProviderLogger, loaderConfig = {}) => {
|
|
4558
|
-
const region = typeof _region === "function" ? await _region() : _region;
|
|
4559
|
-
const parentRegion = typeof _parentRegion === "function" ? await _parentRegion() : _parentRegion;
|
|
4560
|
-
let stsDefaultRegion = "";
|
|
4561
|
-
const resolvedRegion = region ?? parentRegion ?? (stsDefaultRegion = await stsRegionDefaultResolver(loaderConfig)());
|
|
4562
|
-
credentialProviderLogger?.debug?.("@aws-sdk/client-sts::resolveRegion", "accepting first of:", `${region} (credential provider clientConfig)`, `${parentRegion} (contextual client)`, `${stsDefaultRegion} (STS default: AWS_REGION, profile region, or us-east-1)`);
|
|
4563
|
-
return resolvedRegion;
|
|
4564
|
-
};
|
|
4565
|
-
var getDefaultRoleAssumer$1 = (stsOptions, STSClient) => {
|
|
4566
|
-
let stsClient;
|
|
4567
|
-
let closureSourceCreds;
|
|
4568
|
-
return async (sourceCreds, params) => {
|
|
4569
|
-
closureSourceCreds = sourceCreds;
|
|
4570
|
-
if (!stsClient) {
|
|
4571
|
-
const { logger = stsOptions?.parentClientConfig?.logger, profile = stsOptions?.parentClientConfig?.profile, region, requestHandler = stsOptions?.parentClientConfig?.requestHandler, credentialProviderLogger, userAgentAppId = stsOptions?.parentClientConfig?.userAgentAppId } = stsOptions;
|
|
4572
|
-
const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger, {
|
|
4573
|
-
logger,
|
|
4574
|
-
profile
|
|
4575
|
-
});
|
|
4576
|
-
const isCompatibleRequestHandler = !isH2(requestHandler);
|
|
4577
|
-
stsClient = new STSClient({
|
|
4578
|
-
...stsOptions,
|
|
4579
|
-
userAgentAppId,
|
|
4580
|
-
profile,
|
|
4581
|
-
credentialDefaultProvider: () => async () => closureSourceCreds,
|
|
4582
|
-
region: resolvedRegion,
|
|
4583
|
-
requestHandler: isCompatibleRequestHandler ? requestHandler : void 0,
|
|
4584
|
-
logger
|
|
4585
|
-
});
|
|
4586
|
-
}
|
|
4587
|
-
const { Credentials, AssumedRoleUser } = await stsClient.send(new AssumeRoleCommand(params));
|
|
4588
|
-
if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) throw new Error(`Invalid response from STS.assumeRole call with role ${params.RoleArn}`);
|
|
4589
|
-
const accountId = getAccountIdFromAssumedRoleUser(AssumedRoleUser);
|
|
4590
|
-
const credentials = {
|
|
4591
|
-
accessKeyId: Credentials.AccessKeyId,
|
|
4592
|
-
secretAccessKey: Credentials.SecretAccessKey,
|
|
4593
|
-
sessionToken: Credentials.SessionToken,
|
|
4594
|
-
expiration: Credentials.Expiration,
|
|
4595
|
-
...Credentials.CredentialScope && { credentialScope: Credentials.CredentialScope },
|
|
4596
|
-
...accountId && { accountId }
|
|
4597
|
-
};
|
|
4598
|
-
setCredentialFeature(credentials, "CREDENTIALS_STS_ASSUME_ROLE", "i");
|
|
4599
|
-
return credentials;
|
|
4600
|
-
};
|
|
4601
|
-
};
|
|
4602
|
-
var getDefaultRoleAssumerWithWebIdentity$1 = (stsOptions, STSClient) => {
|
|
4603
|
-
let stsClient;
|
|
4604
|
-
return async (params) => {
|
|
4605
|
-
if (!stsClient) {
|
|
4606
|
-
const { logger = stsOptions?.parentClientConfig?.logger, profile = stsOptions?.parentClientConfig?.profile, region, requestHandler = stsOptions?.parentClientConfig?.requestHandler, credentialProviderLogger, userAgentAppId = stsOptions?.parentClientConfig?.userAgentAppId } = stsOptions;
|
|
4607
|
-
const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger, {
|
|
4608
|
-
logger,
|
|
4609
|
-
profile
|
|
4610
|
-
});
|
|
4611
|
-
const isCompatibleRequestHandler = !isH2(requestHandler);
|
|
4612
|
-
stsClient = new STSClient({
|
|
4613
|
-
...stsOptions,
|
|
4614
|
-
userAgentAppId,
|
|
4615
|
-
profile,
|
|
4616
|
-
region: resolvedRegion,
|
|
4617
|
-
requestHandler: isCompatibleRequestHandler ? requestHandler : void 0,
|
|
4618
|
-
logger
|
|
4619
|
-
});
|
|
4620
|
-
}
|
|
4621
|
-
const { Credentials, AssumedRoleUser } = await stsClient.send(new AssumeRoleWithWebIdentityCommand(params));
|
|
4622
|
-
if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) throw new Error(`Invalid response from STS.assumeRoleWithWebIdentity call with role ${params.RoleArn}`);
|
|
4623
|
-
const accountId = getAccountIdFromAssumedRoleUser(AssumedRoleUser);
|
|
4624
|
-
const credentials = {
|
|
4625
|
-
accessKeyId: Credentials.AccessKeyId,
|
|
4626
|
-
secretAccessKey: Credentials.SecretAccessKey,
|
|
4627
|
-
sessionToken: Credentials.SessionToken,
|
|
4628
|
-
expiration: Credentials.Expiration,
|
|
4629
|
-
...Credentials.CredentialScope && { credentialScope: Credentials.CredentialScope },
|
|
4630
|
-
...accountId && { accountId }
|
|
4631
|
-
};
|
|
4632
|
-
if (accountId) setCredentialFeature(credentials, "RESOLVED_ACCOUNT_ID", "T");
|
|
4633
|
-
setCredentialFeature(credentials, "CREDENTIALS_STS_ASSUME_ROLE_WEB_ID", "k");
|
|
4634
|
-
return credentials;
|
|
4635
|
-
};
|
|
4636
|
-
};
|
|
4637
|
-
var isH2 = (requestHandler) => {
|
|
4638
|
-
return requestHandler?.metadata?.handlerProtocol === "h2";
|
|
4639
|
-
};
|
|
4640
|
-
//#endregion
|
|
4641
|
-
//#region ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.9/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/defaultRoleAssumers.js
|
|
4642
|
-
var getCustomizableStsClientCtor = (baseCtor, customizations) => {
|
|
4643
|
-
if (!customizations) return baseCtor;
|
|
4644
|
-
else return class CustomizableSTSClient extends baseCtor {
|
|
4645
|
-
constructor(config) {
|
|
4646
|
-
super(config);
|
|
4647
|
-
for (const customization of customizations) this.middlewareStack.use(customization);
|
|
4648
|
-
}
|
|
4649
|
-
};
|
|
4650
|
-
};
|
|
4651
|
-
var getDefaultRoleAssumer = (stsOptions = {}, stsPlugins) => getDefaultRoleAssumer$1(stsOptions, getCustomizableStsClientCtor(STSClient, stsPlugins));
|
|
4652
|
-
var getDefaultRoleAssumerWithWebIdentity = (stsOptions = {}, stsPlugins) => getDefaultRoleAssumerWithWebIdentity$1(stsOptions, getCustomizableStsClientCtor(STSClient, stsPlugins));
|
|
4653
|
-
|
|
4654
|
-
export { getDefaultRoleAssumer, getDefaultRoleAssumerWithWebIdentity };
|
|
4655
|
-
//# sourceMappingURL=sts-g7LDMLEd.js.map
|