@highstate/designer 0.19.1 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +3 -3
- package/.output/public/_nuxt/57B6Rca8.js +1 -0
- package/.output/public/_nuxt/5X7smno1.js +1 -0
- package/.output/public/_nuxt/{Cp2bjttb.js → 83L43bj1.js} +1 -1
- package/.output/public/_nuxt/8MSfy8uY.js +1 -0
- package/.output/public/_nuxt/9I37tBe7.js +1 -0
- package/.output/public/_nuxt/Aopv2gwH.js +1 -0
- package/.output/public/_nuxt/B13uiJCv.js +1 -0
- package/.output/public/_nuxt/B7c-h3xW.js +1 -0
- package/.output/public/_nuxt/B8nw2aST.js +2 -0
- package/.output/public/_nuxt/{1DNp92w6.js → B93PlW-d.js} +1 -1
- package/.output/public/_nuxt/BA0jw7CM.js +1 -0
- package/.output/public/_nuxt/BBf5iR-q.js +1 -0
- package/.output/public/_nuxt/BCVaR2pQ.js +1 -0
- package/.output/public/_nuxt/BDAHnC4j.js +1 -0
- package/.output/public/_nuxt/BDa1f6PF.js +2 -0
- package/.output/public/_nuxt/{YB_1Ta41.js → BDs6uo3D.js} +1 -1
- package/.output/public/_nuxt/BEEt8Am7.js +1 -0
- package/.output/public/_nuxt/BE_Meo09.js +269 -0
- package/.output/public/_nuxt/BGHnOYBU.js +1 -0
- package/.output/public/_nuxt/BH7IYjvW.js +1 -0
- package/.output/public/_nuxt/BJDFO7_C.js +1 -0
- package/.output/public/_nuxt/BJK6uMxG.js +1 -0
- package/.output/public/_nuxt/BLF3u89x.js +1 -0
- package/.output/public/_nuxt/{Xi2tawMN.js → BLmx8bSh.js} +1 -1
- package/.output/public/_nuxt/{DlfHMoPT.js → BPQ3VLAy.js} +1 -1
- package/.output/public/_nuxt/BPcwi1q2.js +1 -0
- package/.output/public/_nuxt/{BBGuKPBd.js → BR5kRUq4.js} +1 -1
- package/.output/public/_nuxt/BTifaqeh.js +1 -0
- package/.output/public/_nuxt/BUNf2Yb8.js +1 -0
- package/.output/public/_nuxt/BUw7H-hv.js +1 -0
- package/.output/public/_nuxt/{DRprw4p4.js → BVQ-GDCI.js} +1 -1
- package/.output/public/_nuxt/{BbQj0Z2C.js → BYV0-3_D.js} +1 -1
- package/.output/public/_nuxt/BZvkOJ9d.js +1 -0
- package/.output/public/_nuxt/Ba13S78F.js +1 -0
- package/.output/public/_nuxt/BcVCzyr7.js +1 -0
- package/.output/public/_nuxt/BhRPY-oY.js +1 -0
- package/.output/public/_nuxt/{uMbE6_td.js → Bhrxn6JZ.js} +1 -1
- package/.output/public/_nuxt/BkNNRtnm.js +1 -0
- package/.output/public/_nuxt/BlfjmxyP.js +1 -0
- package/.output/public/_nuxt/Bmn6On1c.js +1 -0
- package/.output/public/_nuxt/Bo8jzlL1.js +18 -0
- package/.output/public/_nuxt/BpkvlDNi.js +1 -0
- package/.output/public/_nuxt/{BIAuTxu3.js → Br6cN0cg.js} +1 -1
- package/.output/public/_nuxt/{CUEJCptM.js → BrzmwbiE.js} +1 -1
- package/.output/public/_nuxt/{D32k8WzR.js → BtvRca6l.js} +1 -1
- package/.output/public/_nuxt/BuJgCY_C.js +1 -0
- package/.output/public/_nuxt/Bv_4Rxtq.js +1 -0
- package/.output/public/_nuxt/BvzEVeQv.js +1 -0
- package/.output/public/_nuxt/BxAss8Tj.js +1 -0
- package/.output/public/_nuxt/BxaP9l2T.js +1 -0
- package/.output/public/_nuxt/BxgE0vQu.js +1 -0
- package/.output/public/_nuxt/ByBNG4eo.js +1 -0
- package/.output/public/_nuxt/{COI20M4I.js → BzTr9Aqm.js} +1 -1
- package/.output/public/_nuxt/{CXu1NL6O.js → C-HG3fhB.js} +1 -1
- package/.output/public/_nuxt/C-sUppwS.js +1 -0
- package/.output/public/_nuxt/C1FLL1Qz.js +1 -0
- package/.output/public/_nuxt/C3Wv6jpd.js +1 -0
- package/.output/public/_nuxt/C47S-Tmv.js +1 -0
- package/.output/public/_nuxt/C4EeE6gA.js +1 -0
- package/.output/public/_nuxt/{C-Jbm3Hp.js → C4gqWexZ.js} +1 -1
- package/.output/public/_nuxt/{DTMYz4Jt.js → C5YyOfLZ.js} +1 -1
- package/.output/public/_nuxt/C7zT0LnQ.js +1 -0
- package/.output/public/_nuxt/C8lm7lgC.js +1 -0
- package/.output/public/_nuxt/C9dUb6Cb.js +1 -0
- package/.output/public/_nuxt/{DS1LvVMU.js → C9oPPf7i.js} +1 -1
- package/.output/public/_nuxt/{D1uDOp7C.js → CFHQjOhq.js} +1 -1
- package/.output/public/_nuxt/{Dtc2v4kS.js → CGscLIrv.js} +1 -1
- package/.output/public/_nuxt/{DKzvysjW.js → CH1njM8p.js} +1 -1
- package/.output/public/_nuxt/CJWmG4YP.js +12 -0
- package/.output/public/_nuxt/CLZrNe3w.js +1 -0
- package/.output/public/_nuxt/CMTm3GFP.js +1 -0
- package/.output/public/_nuxt/CMjwMIkn.js +1 -0
- package/.output/public/_nuxt/COcwbKMJ.js +1 -0
- package/.output/public/_nuxt/CPZSvMBB.js +1 -0
- package/.output/public/_nuxt/CPpO8vcZ.js +1 -0
- package/.output/public/_nuxt/CQ8jqdy-.js +1 -0
- package/.output/public/_nuxt/CV5MeYf9.js +1 -0
- package/.output/public/_nuxt/{CcyOm34o.js → CVdnzihN.js} +1 -1
- package/.output/public/_nuxt/CW8IKDeL.js +1 -0
- package/.output/public/_nuxt/{pkIJ47B4.js → CXZktZb0.js} +1 -1
- package/.output/public/_nuxt/CYsAdtH9.js +1 -0
- package/.output/public/_nuxt/{BUyGWigt.js → CZhp0h8q.js} +1 -1
- package/.output/public/_nuxt/CaJ-zn_Z.js +2 -0
- package/.output/public/_nuxt/CcOKGYBt.js +1 -0
- package/.output/public/_nuxt/{oTG82Wo1.js → CenWIFCC.js} +1 -1
- package/.output/public/_nuxt/ChaZkl1J.js +1 -0
- package/.output/public/_nuxt/CjoLj4QM.js +1 -0
- package/.output/public/_nuxt/{BtsDLbAf.js → Cl0AqbOI.js} +1 -1
- package/.output/public/_nuxt/Cm-2nZ05.js +1 -0
- package/.output/public/_nuxt/{DUSGQflk.js → Cm3UrAx6.js} +1 -1
- package/.output/public/_nuxt/{BGHREFWD.js → CmIQRyeF.js} +1 -1
- package/.output/public/_nuxt/{f7oK2omx.js → Cn7AkR1O.js} +1 -1
- package/.output/public/_nuxt/{JhPuU2gP.js → CnnebwVN.js} +1 -1
- package/.output/public/_nuxt/CnsnAmq5.js +1 -0
- package/.output/public/_nuxt/CoDkCxhg.js +1 -0
- package/.output/public/_nuxt/{B-hkwWGT.js → CpOuai2O.js} +1 -1
- package/.output/public/_nuxt/CudFwYib.js +1 -0
- package/.output/public/_nuxt/{BDzgwa52.js → CufHLc7y.js} +1 -1
- package/.output/public/_nuxt/CwoSXNpI.js +1 -0
- package/.output/public/_nuxt/CxEW7TG8.js +1 -0
- package/.output/public/_nuxt/CxLEBnE3.js +1 -0
- package/.output/public/_nuxt/{DNrj_gVY.js → CxbxFI8M.js} +1 -1
- package/.output/public/_nuxt/CzSiA7V6.js +1 -0
- package/.output/public/_nuxt/D-wGZMZP.js +1 -0
- package/.output/public/_nuxt/D27ZAKIj.js +1 -0
- package/.output/public/_nuxt/D2aToa54.js +1 -0
- package/.output/public/_nuxt/D2obegTF.js +1 -0
- package/.output/public/_nuxt/{NleAzG8P.js → D4_iv3hh.js} +1 -1
- package/.output/public/_nuxt/D53aC0YG.js +1 -0
- package/.output/public/_nuxt/D5z-4QVk.js +1 -0
- package/.output/public/_nuxt/D6fh7rEe.js +2 -0
- package/.output/public/_nuxt/D87Tk5Gz.js +1 -0
- package/.output/public/_nuxt/D8_7TLub.js +1 -0
- package/.output/public/_nuxt/D91rOou-.js +13 -0
- package/.output/public/_nuxt/DCBCRx0O.js +1 -0
- package/.output/public/_nuxt/DCR009rv.js +1 -0
- package/.output/public/_nuxt/DCinzvm1.js +1 -0
- package/.output/public/_nuxt/DEthMvLe.js +1 -0
- package/.output/public/_nuxt/DFWUc33u.js +1 -0
- package/.output/public/_nuxt/{5bLW0GMw.js → DGP4VlC8.js} +1 -1
- package/.output/public/_nuxt/{CnK8MTSM.js → DHQR4-dF.js} +1 -1
- package/.output/public/_nuxt/DJN0y8jO.js +1 -0
- package/.output/public/_nuxt/DJjDtW9f.js +1 -0
- package/.output/public/_nuxt/DKhcu7kD.js +1 -0
- package/.output/public/_nuxt/DMwsHuHA.js +1 -0
- package/.output/public/_nuxt/{GAB5JH5K.js → DNqd6Nek.js} +1 -1
- package/.output/public/_nuxt/DOMRsNpU.js +1 -0
- package/.output/public/_nuxt/DOPqH6_T.js +1 -0
- package/.output/public/_nuxt/DQHHT9y-.js +1 -0
- package/.output/public/_nuxt/{B5ZR69Tn.js → DQwYQDb2.js} +1 -1
- package/.output/public/_nuxt/DQyhUUbL.js +1 -0
- package/.output/public/_nuxt/DRfxs3PN.js +1 -0
- package/.output/public/_nuxt/{DPcUKYIF.js → DRw_LuNl.js} +1 -1
- package/.output/public/_nuxt/DV7GczEv.js +1 -0
- package/.output/public/_nuxt/DWQRqdcR.js +1 -0
- package/.output/public/_nuxt/DWa2aw6r.js +1 -0
- package/.output/public/_nuxt/DYoxhk2S.js +1 -0
- package/.output/public/_nuxt/DZf3V79B.js +1 -0
- package/.output/public/_nuxt/{BPzJO5Oe.js → DZu-aV2c.js} +1 -1
- package/.output/public/_nuxt/Dbwml2gB.js +1 -0
- package/.output/public/_nuxt/DfvKjH24.js +1 -0
- package/.output/public/_nuxt/{Cdx7mHEO.js → DhmSosst.js} +1 -1
- package/.output/public/_nuxt/DiTMzCP2.js +1 -0
- package/.output/public/_nuxt/{CA7CTBwS.js → Dph4kLrZ.js} +1 -1
- package/.output/public/_nuxt/DqQDbK_p.js +1 -0
- package/.output/public/_nuxt/DsS90Fp6.js +1 -0
- package/.output/public/_nuxt/Dspwwk_N.js +1 -0
- package/.output/public/_nuxt/DsumFeuD.js +1 -0
- package/.output/public/_nuxt/DxERyYWQ.js +1 -0
- package/.output/public/_nuxt/{D7ScPSBf.js → DxNHbxmM.js} +1 -1
- package/.output/public/_nuxt/{CLvts2aQ.js → DxSwrfjg.js} +1 -1
- package/.output/public/_nuxt/{DcmvOc98.js → DyMmfYiE.js} +1 -1
- package/.output/public/_nuxt/DzWdbJvx.js +1 -0
- package/.output/public/_nuxt/{COEtLSDF.js → Dzze3sRP.js} +1 -1
- package/.output/public/_nuxt/G13IRnB2.js +1 -0
- package/.output/public/_nuxt/GDxZ_Nvm.js +14 -0
- package/.output/public/_nuxt/GgtqCdye.js +1 -0
- package/.output/public/_nuxt/{DkhsQLT2.js → GsRaNv29.js} +1 -1
- package/.output/public/_nuxt/IF9eRakj.js +1 -0
- package/.output/public/_nuxt/RCBWmVHz.js +1 -0
- package/.output/public/_nuxt/{Cb0HU5_O.js → RNghxpo_.js} +1 -1
- package/.output/public/_nuxt/{SecretValueField.DcyO8gGc.css → SecretValueField.Dy80RlGP.css} +1 -1
- package/.output/public/_nuxt/{B8ROHVmM.js → TsXTqZ29.js} +1 -1
- package/.output/public/_nuxt/VCDPK7BO.js +1 -0
- package/.output/public/_nuxt/{CU27uY9n.js → W9tJ9s81.js} +1 -1
- package/.output/public/_nuxt/{CmALWFRB.js → XEA9GSJd.js} +16 -468
- package/.output/public/_nuxt/{DeWFVDHI.js → YqXBG_HV.js} +1 -1
- package/.output/public/_nuxt/ZbicA1ry.js +1 -0
- package/.output/public/_nuxt/_snapshotId_.ChuSNeNY.css +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/a1fec520-0c95-4ae0-af5e-964780fad341.json +1 -0
- package/.output/public/_nuxt/d-NZQb9b.js +1 -0
- package/.output/public/_nuxt/edge-router-BdPMCV6u.js +1 -0
- package/.output/public/_nuxt/{entry.dxugZJXl.css → entry.Bc0aTA0K.css} +1 -1
- package/.output/public/_nuxt/error-404.X7H_YhdC.css +1 -0
- package/.output/public/_nuxt/error-500.BOQe1fsk.css +1 -0
- package/.output/public/_nuxt/f3TOpYbw.js +1 -0
- package/.output/public/_nuxt/{DrZfEa88.js → fKv21gyL.js} +1 -1
- package/.output/public/_nuxt/graph-layout-B7wl80r3.js +1 -0
- package/.output/public/_nuxt/graph-resolver-DKNtntr2.js +180 -0
- package/.output/public/_nuxt/{CGqH5EJj.js → hJgmCMqR.js} +1 -1
- package/.output/public/_nuxt/{BoKiGodi.js → k_qm7-4y.js} +1 -1
- package/.output/public/_nuxt/{IvJ92aGK.js → m17aaUwq.js} +1 -1
- package/.output/public/_nuxt/mUFnM-_q.js +1 -0
- package/.output/public/_nuxt/mWjccvbQ.js +1 -0
- package/.output/public/_nuxt/{BXY8tDGw.js → mjskCLCv.js} +1 -1
- package/.output/public/_nuxt/n0RAZLbO.js +1 -0
- package/.output/public/_nuxt/n2N0HUVH.js +1 -0
- package/.output/public/_nuxt/o_m1mZtJ.js +6 -0
- package/.output/public/_nuxt/pxXmJ8QX.js +1 -0
- package/.output/public/_nuxt/{BHrmToEH.js → qdsjHGoJ.js} +1 -1
- package/.output/public/_nuxt/{BbcW6ACK.js → rGO070M0.js} +1 -1
- package/.output/public/_nuxt/rcFevLEP.js +2 -0
- package/.output/public/_nuxt/rgN_MdZl.js +1 -0
- package/.output/public/_nuxt/tsyQDnRt.js +5 -0
- package/.output/public/_nuxt/u5AG7uiY.js +1 -0
- package/.output/public/_nuxt/uYugtg8r.js +1 -0
- package/.output/public/_nuxt/vuetify.BzdWZaIq.css +1 -0
- package/.output/public/_nuxt/{BMMyXqK5.js → wDzz0qaB.js} +1 -1
- package/.output/public/_nuxt/xA6NntuA.js +1 -0
- package/.output/public/_nuxt/xdsXwj_J.js +1 -0
- package/.output/public/_nuxt/xp27HhqZ.js +1 -0
- package/.output/public/_nuxt/xrNU8mHG.js +3 -0
- package/.output/public/_nuxt/yaml.worker-C1Cl1y5J.js +399 -0
- package/.output/public/_nuxt/ziXKbM2N.js +1 -0
- package/.output/public/libavoid.wasm +0 -0
- package/.output/server/index.mjs +2213 -6830
- package/.output/server/index.mjs.map +1 -1
- package/.output/server/node_modules/@babel/parser/lib/index.js +427 -440
- package/.output/server/node_modules/@babel/parser/package.json +6 -6
- package/.output/server/node_modules/@trpc/server/dist/adapters/fetch/index.mjs +4 -4
- package/.output/server/node_modules/@trpc/server/dist/adapters/ws.mjs +10 -10
- package/.output/server/node_modules/@trpc/server/dist/{utils-CLZnJdb_.mjs → codes-DagpWZLc.mjs} +66 -66
- package/.output/server/node_modules/@trpc/server/dist/{getErrorShape-BH60iMC2.mjs → getErrorShape-vC8mUXJD.mjs} +3 -3
- package/.output/server/node_modules/@trpc/server/dist/index.mjs +4 -4
- package/.output/server/node_modules/@trpc/server/dist/{initTRPC-CB9uBez5.mjs → initTRPC-RoZMIBeA.mjs} +4 -4
- package/.output/server/node_modules/@trpc/server/dist/{node-http-8dtdvMrE.mjs → node-http-DtA2iLK9.mjs} +7 -5
- package/.output/server/node_modules/@trpc/server/dist/{parseTRPCMessage-BlZeZ60t.mjs → parseTRPCMessage-CTow-umk.mjs} +2 -2
- package/.output/server/node_modules/@trpc/server/dist/{resolveResponse-DngSgha6.mjs → resolveResponse-BVDlNZwN.mjs} +45 -48
- package/.output/server/node_modules/@trpc/server/dist/{tracked-Blz8XOf1.mjs → tracked-Bjtgv3wJ.mjs} +11 -9
- package/.output/server/node_modules/@trpc/server/dist/{unstable-core-do-not-import-D89CaGtL.mjs → unstable-core-do-not-import-9NNw8uQM.mjs} +5 -3
- package/.output/server/node_modules/@trpc/server/dist/{ws-BR20IWki.mjs → ws-CJgZE7Hg.mjs} +60 -20
- package/.output/server/node_modules/@trpc/server/package.json +6 -6
- package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +128 -106
- package/.output/server/node_modules/@vue/compiler-core/package.json +5 -5
- package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +54 -54
- package/.output/server/node_modules/@vue/compiler-dom/package.json +3 -3
- package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +35 -33
- package/.output/server/node_modules/@vue/compiler-ssr/package.json +3 -3
- package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +105 -42
- package/.output/server/node_modules/@vue/reactivity/package.json +2 -2
- package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +2129 -2063
- package/.output/server/node_modules/@vue/runtime-core/package.json +3 -3
- package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +78 -31
- package/.output/server/node_modules/@vue/runtime-dom/package.json +5 -5
- package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +6 -6
- package/.output/server/node_modules/@vue/server-renderer/package.json +4 -4
- package/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +1 -1
- package/.output/server/node_modules/@vue/shared/package.json +1 -1
- package/.output/server/node_modules/copy-anything/dist/index.js +47 -31
- package/.output/server/node_modules/copy-anything/package.json +19 -72
- package/.output/server/node_modules/devalue/index.js +1 -0
- package/.output/server/node_modules/devalue/package.json +2 -2
- package/.output/server/node_modules/devalue/src/constants.js +1 -0
- package/.output/server/node_modules/devalue/src/parse.js +55 -4
- package/.output/server/node_modules/devalue/src/stringify.js +101 -12
- package/.output/server/node_modules/devalue/src/uneval.js +100 -13
- package/.output/server/node_modules/devalue/src/utils.js +35 -1
- package/.output/server/node_modules/entities/{lib/decode_codepoint.js → dist/commonjs/decode-codepoint.js} +16 -15
- package/.output/server/node_modules/entities/{lib → dist/commonjs}/decode.js +200 -168
- package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
- package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
- package/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
- package/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
- package/.output/server/node_modules/entities/dist/commonjs/package.json +3 -0
- package/.output/server/node_modules/entities/package.json +99 -69
- package/.output/server/node_modules/hookable/dist/index.mjs +244 -268
- package/.output/server/node_modules/hookable/package.json +29 -26
- package/.output/server/node_modules/is-what/dist/getType.js +4 -0
- package/.output/server/node_modules/is-what/dist/index.js +43 -171
- package/.output/server/node_modules/is-what/dist/isAnyObject.js +8 -0
- package/.output/server/node_modules/is-what/dist/isArray.js +5 -0
- package/.output/server/node_modules/is-what/dist/isBigInt.js +5 -0
- package/.output/server/node_modules/is-what/dist/isBlob.js +5 -0
- package/.output/server/node_modules/is-what/dist/isBoolean.js +5 -0
- package/.output/server/node_modules/is-what/dist/isDate.js +5 -0
- package/.output/server/node_modules/is-what/dist/isEmptyArray.js +5 -0
- package/.output/server/node_modules/is-what/dist/isEmptyObject.js +8 -0
- package/.output/server/node_modules/is-what/dist/isEmptyString.js +4 -0
- package/.output/server/node_modules/is-what/dist/isError.js +5 -0
- package/.output/server/node_modules/is-what/dist/isFile.js +5 -0
- package/.output/server/node_modules/is-what/dist/isFullArray.js +5 -0
- package/.output/server/node_modules/is-what/dist/isFullObject.js +8 -0
- package/.output/server/node_modules/is-what/dist/isFullString.js +5 -0
- package/.output/server/node_modules/is-what/dist/isFunction.js +4 -0
- package/.output/server/node_modules/is-what/dist/isHexDecimal.js +12 -0
- package/.output/server/node_modules/is-what/dist/isInstanceOf.js +19 -0
- package/.output/server/node_modules/is-what/dist/isInteger.js +5 -0
- package/.output/server/node_modules/is-what/dist/isIterable.js +16 -0
- package/.output/server/node_modules/is-what/dist/isMap.js +5 -0
- package/.output/server/node_modules/is-what/dist/isNaNValue.js +5 -0
- package/.output/server/node_modules/is-what/dist/isNegativeInteger.js +5 -0
- package/.output/server/node_modules/is-what/dist/isNegativeNumber.js +5 -0
- package/.output/server/node_modules/is-what/dist/isNull.js +5 -0
- package/.output/server/node_modules/is-what/dist/isNullOrUndefined.js +5 -0
- package/.output/server/node_modules/is-what/dist/isNumber.js +9 -0
- package/.output/server/node_modules/is-what/dist/isObject.js +8 -0
- package/.output/server/node_modules/is-what/dist/isObjectLike.js +11 -0
- package/.output/server/node_modules/is-what/dist/isOneOf.js +15 -0
- package/.output/server/node_modules/is-what/dist/isPlainObject.js +11 -0
- package/.output/server/node_modules/is-what/dist/isPositiveInteger.js +5 -0
- package/.output/server/node_modules/is-what/dist/isPositiveNumber.js +5 -0
- package/.output/server/node_modules/is-what/dist/isPrimitive.js +21 -0
- package/.output/server/node_modules/is-what/dist/isPromise.js +5 -0
- package/.output/server/node_modules/is-what/dist/isRegExp.js +5 -0
- package/.output/server/node_modules/is-what/dist/isSet.js +5 -0
- package/.output/server/node_modules/is-what/dist/isString.js +5 -0
- package/.output/server/node_modules/is-what/dist/isSymbol.js +5 -0
- package/.output/server/node_modules/is-what/dist/isType.js +20 -0
- package/.output/server/node_modules/is-what/dist/isUndefined.js +5 -0
- package/.output/server/node_modules/is-what/dist/isWeakMap.js +5 -0
- package/.output/server/node_modules/is-what/dist/isWeakSet.js +5 -0
- package/.output/server/node_modules/is-what/package.json +23 -88
- package/.output/server/node_modules/superjson/dist/index.js +9 -6
- package/.output/server/node_modules/superjson/dist/pathstringifier.js +13 -2
- package/.output/server/node_modules/superjson/dist/plainer.js +23 -11
- package/.output/server/node_modules/superjson/dist/transformer.js +4 -1
- package/.output/server/node_modules/superjson/package.json +5 -21
- package/.output/server/node_modules/ufo/dist/index.mjs +16 -9
- package/.output/server/node_modules/ufo/package.json +15 -14
- package/.output/server/node_modules/unhead/dist/plugins.mjs +2 -2
- package/.output/server/node_modules/unhead/dist/server.mjs +4 -6
- package/.output/server/node_modules/unhead/dist/shared/{unhead.DH45uomy.mjs → unhead.BFfcxOoW.mjs} +3 -3
- package/.output/server/node_modules/unhead/dist/shared/{unhead.DZbvapt-.mjs → unhead.CbpEuj3y.mjs} +3 -2
- package/.output/server/node_modules/unhead/dist/shared/{unhead.Djo8ep_Y.mjs → unhead.ckV6dpEQ.mjs} +1 -1
- package/.output/server/node_modules/unhead/dist/shared/{unhead.BpRRHAhY.mjs → unhead.eK9_7LaY.mjs} +16 -12
- package/.output/server/node_modules/unhead/dist/utils.mjs +2 -2
- package/.output/server/node_modules/unhead/package.json +2 -2
- package/.output/server/node_modules/vue/dist/vue.cjs.js +1 -1
- package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +1 -1
- package/.output/server/node_modules/vue/package.json +6 -6
- package/.output/server/node_modules/ws/lib/constants.js +1 -0
- package/.output/server/node_modules/ws/lib/websocket-server.js +5 -1
- package/.output/server/node_modules/ws/lib/websocket.js +13 -8
- package/.output/server/node_modules/ws/package.json +1 -1
- package/.output/server/node_modules/zod/package.json +1 -1
- package/.output/server/node_modules/zod/v4/classic/checks.js +1 -1
- package/.output/server/node_modules/zod/v4/classic/external.js +3 -1
- package/.output/server/node_modules/zod/v4/classic/from-json-schema.js +584 -0
- package/.output/server/node_modules/zod/v4/classic/schemas.js +121 -4
- package/.output/server/node_modules/zod/v4/core/api.js +157 -0
- package/.output/server/node_modules/zod/v4/core/checks.js +8 -2
- package/.output/server/node_modules/zod/v4/core/core.js +20 -11
- package/.output/server/node_modules/zod/v4/core/index.js +2 -0
- package/.output/server/node_modules/zod/v4/core/json-schema-generator.js +95 -0
- package/.output/server/node_modules/zod/v4/core/json-schema-processors.js +605 -0
- package/.output/server/node_modules/zod/v4/core/regexes.js +8 -2
- package/.output/server/node_modules/zod/v4/core/registries.js +3 -4
- package/.output/server/node_modules/zod/v4/core/schemas.js +204 -66
- package/.output/server/node_modules/zod/v4/core/to-json-schema.js +391 -869
- package/.output/server/node_modules/zod/v4/core/util.js +58 -8
- package/.output/server/node_modules/zod/v4/core/versions.js +2 -2
- package/.output/server/node_modules/zod/v4/locales/ar.js +14 -24
- package/.output/server/node_modules/zod/v4/locales/az.js +14 -24
- package/.output/server/node_modules/zod/v4/locales/be.js +16 -24
- package/.output/server/node_modules/zod/v4/locales/bg.js +16 -24
- package/.output/server/node_modules/zod/v4/locales/ca.js +14 -25
- package/.output/server/node_modules/zod/v4/locales/cs.js +18 -42
- package/.output/server/node_modules/zod/v4/locales/da.js +23 -39
- package/.output/server/node_modules/zod/v4/locales/de.js +16 -24
- package/.output/server/node_modules/zod/v4/locales/en.js +16 -24
- package/.output/server/node_modules/zod/v4/locales/eo.js +17 -24
- package/.output/server/node_modules/zod/v4/locales/es.js +42 -59
- package/.output/server/node_modules/zod/v4/locales/fa.js +16 -24
- package/.output/server/node_modules/zod/v4/locales/fi.js +14 -24
- package/.output/server/node_modules/zod/v4/locales/fr-CA.js +14 -24
- package/.output/server/node_modules/zod/v4/locales/fr.js +16 -24
- package/.output/server/node_modules/zod/v4/locales/he.js +175 -78
- package/.output/server/node_modules/zod/v4/locales/hu.js +16 -25
- package/.output/server/node_modules/zod/v4/locales/hy.js +147 -0
- package/.output/server/node_modules/zod/v4/locales/id.js +14 -24
- package/.output/server/node_modules/zod/v4/locales/index.js +2 -0
- package/.output/server/node_modules/zod/v4/locales/is.js +16 -24
- package/.output/server/node_modules/zod/v4/locales/it.js +16 -25
- package/.output/server/node_modules/zod/v4/locales/ja.js +16 -24
- package/.output/server/node_modules/zod/v4/locales/ka.js +19 -32
- package/.output/server/node_modules/zod/v4/locales/km.js +17 -24
- package/.output/server/node_modules/zod/v4/locales/ko.js +14 -24
- package/.output/server/node_modules/zod/v4/locales/lt.js +27 -54
- package/.output/server/node_modules/zod/v4/locales/mk.js +16 -25
- package/.output/server/node_modules/zod/v4/locales/ms.js +15 -24
- package/.output/server/node_modules/zod/v4/locales/nl.js +25 -32
- package/.output/server/node_modules/zod/v4/locales/no.js +16 -24
- package/.output/server/node_modules/zod/v4/locales/ota.js +17 -25
- package/.output/server/node_modules/zod/v4/locales/pl.js +16 -24
- package/.output/server/node_modules/zod/v4/locales/ps.js +16 -24
- package/.output/server/node_modules/zod/v4/locales/pt.js +16 -24
- package/.output/server/node_modules/zod/v4/locales/ru.js +16 -24
- package/.output/server/node_modules/zod/v4/locales/sl.js +16 -24
- package/.output/server/node_modules/zod/v4/locales/sv.js +16 -24
- package/.output/server/node_modules/zod/v4/locales/ta.js +17 -24
- package/.output/server/node_modules/zod/v4/locales/th.js +17 -24
- package/.output/server/node_modules/zod/v4/locales/tr.js +14 -24
- package/.output/server/node_modules/zod/v4/locales/uk.js +16 -25
- package/.output/server/node_modules/zod/v4/locales/ur.js +17 -24
- package/.output/server/node_modules/zod/v4/locales/uz.js +109 -0
- package/.output/server/node_modules/zod/v4/locales/vi.js +16 -24
- package/.output/server/node_modules/zod/v4/locales/yo.js +16 -24
- package/.output/server/node_modules/zod/v4/locales/zh-CN.js +17 -24
- package/.output/server/node_modules/zod/v4/locales/zh-TW.js +14 -24
- package/.output/server/package.json +22 -22
- package/package.json +6 -6
- package/.output/public/_nuxt/-oaD50UK.js +0 -1
- package/.output/public/_nuxt/0ekw3e2V.js +0 -1
- package/.output/public/_nuxt/1f5tAgHw.js +0 -1
- package/.output/public/_nuxt/5ggY4uig.js +0 -1
- package/.output/public/_nuxt/6nHXG8SA.js +0 -1
- package/.output/public/_nuxt/9hmcqHPO.js +0 -1
- package/.output/public/_nuxt/BBxmzUt6.js +0 -1
- package/.output/public/_nuxt/BE2KfCdU.js +0 -1
- package/.output/public/_nuxt/BFNM2w_f.js +0 -1
- package/.output/public/_nuxt/BGLu70Yq.js +0 -1
- package/.output/public/_nuxt/BIuj43Wh.js +0 -1
- package/.output/public/_nuxt/BLsOQd1H.js +0 -280
- package/.output/public/_nuxt/BNGfscqk.js +0 -1
- package/.output/public/_nuxt/BQvybpQq.js +0 -1
- package/.output/public/_nuxt/BU7Cl-8B.js +0 -1
- package/.output/public/_nuxt/BUXOnL59.js +0 -1
- package/.output/public/_nuxt/Bbwybh3N.js +0 -2
- package/.output/public/_nuxt/BczD6j-v.js +0 -1
- package/.output/public/_nuxt/BepWV7mh.js +0 -1
- package/.output/public/_nuxt/Bh0qehhp.js +0 -1
- package/.output/public/_nuxt/Bl2oy6fF.js +0 -1
- package/.output/public/_nuxt/BmDdxTjo.js +0 -1
- package/.output/public/_nuxt/BqeRdtD4.js +0 -2
- package/.output/public/_nuxt/BvAqAH-y.js +0 -1
- package/.output/public/_nuxt/BxZD33h1.js +0 -1
- package/.output/public/_nuxt/C4zpeTvm.js +0 -1
- package/.output/public/_nuxt/C7Pw0Ztw.js +0 -1
- package/.output/public/_nuxt/C8-UwF3o.js +0 -1
- package/.output/public/_nuxt/CCd08HS_.js +0 -1
- package/.output/public/_nuxt/CEYFgC8B.js +0 -1
- package/.output/public/_nuxt/CHadp7IV.js +0 -1
- package/.output/public/_nuxt/CHh-QcGE.js +0 -1
- package/.output/public/_nuxt/CIUZ1G5V.js +0 -1
- package/.output/public/_nuxt/CJ6lOLXp.js +0 -1
- package/.output/public/_nuxt/CN9dMhDM.js +0 -1
- package/.output/public/_nuxt/CQ4fj8p0.js +0 -1
- package/.output/public/_nuxt/CTWiQX6C.js +0 -1
- package/.output/public/_nuxt/CXxzV4dz.js +0 -1
- package/.output/public/_nuxt/CZlF05X6.js +0 -1
- package/.output/public/_nuxt/CatV_12G.js +0 -1
- package/.output/public/_nuxt/CeMkeBDb.js +0 -1
- package/.output/public/_nuxt/CelvVQyk.js +0 -1
- package/.output/public/_nuxt/CfV455SO.js +0 -1
- package/.output/public/_nuxt/CfeIJUat.js +0 -1
- package/.output/public/_nuxt/CfqrF6sE.js +0 -1
- package/.output/public/_nuxt/Cfs9EX91.js +0 -1
- package/.output/public/_nuxt/ChH_ziBE.js +0 -1
- package/.output/public/_nuxt/ChM1GEGa.js +0 -1
- package/.output/public/_nuxt/Cu8OsqJL.js +0 -1
- package/.output/public/_nuxt/CusJppg0.js +0 -1
- package/.output/public/_nuxt/Cv9koXgw.js +0 -1
- package/.output/public/_nuxt/CvELRi2k.js +0 -5
- package/.output/public/_nuxt/Cw6nGM9K.js +0 -1
- package/.output/public/_nuxt/CwUT5n6w.js +0 -1
- package/.output/public/_nuxt/D-AHKB2i.js +0 -6
- package/.output/public/_nuxt/D-kcn2fr.js +0 -1
- package/.output/public/_nuxt/D08WgyRC.js +0 -1
- package/.output/public/_nuxt/D1Jbgd7O.js +0 -13
- package/.output/public/_nuxt/D1ibY74j.js +0 -1
- package/.output/public/_nuxt/D22FLkUw.js +0 -1
- package/.output/public/_nuxt/D2CYqzqI.js +0 -1
- package/.output/public/_nuxt/D34EmFco.js +0 -1
- package/.output/public/_nuxt/D4OhWExI.js +0 -1
- package/.output/public/_nuxt/DDHikT5j.js +0 -1
- package/.output/public/_nuxt/DDTT3lYc.js +0 -1
- package/.output/public/_nuxt/DHLkt8Yr.js +0 -1
- package/.output/public/_nuxt/DHuTDtaT.js +0 -12
- package/.output/public/_nuxt/DKYwYmdq.js +0 -1
- package/.output/public/_nuxt/DMDPKkZ0.js +0 -1
- package/.output/public/_nuxt/DNEoBllO.js +0 -1
- package/.output/public/_nuxt/DRzH1pOL.js +0 -1
- package/.output/public/_nuxt/DSUF3NDE.js +0 -1
- package/.output/public/_nuxt/DTAwr92a.js +0 -1
- package/.output/public/_nuxt/DWmtspXK.js +0 -1
- package/.output/public/_nuxt/DXh9HyqW.js +0 -1
- package/.output/public/_nuxt/DXtl0MQI.js +0 -1
- package/.output/public/_nuxt/D_zCY0Xl.js +0 -1
- package/.output/public/_nuxt/DaZJpzOl.js +0 -1
- package/.output/public/_nuxt/Df68jz8_.js +0 -1
- package/.output/public/_nuxt/DhQfdAdO.js +0 -1
- package/.output/public/_nuxt/DiinP2Uv.js +0 -1
- package/.output/public/_nuxt/DljmTZ5-.js +0 -1
- package/.output/public/_nuxt/Dm4QKadl.js +0 -26
- package/.output/public/_nuxt/DmCK90gL.js +0 -1
- package/.output/public/_nuxt/Dn2_MT6a.js +0 -1
- package/.output/public/_nuxt/Don94nLk.js +0 -1
- package/.output/public/_nuxt/Dr8Zlu6v.js +0 -1
- package/.output/public/_nuxt/Drp5UXmf.js +0 -1
- package/.output/public/_nuxt/DtFoCuZo.js +0 -1
- package/.output/public/_nuxt/DxuitVdg.js +0 -2
- package/.output/public/_nuxt/DyJlTyXw.js +0 -1
- package/.output/public/_nuxt/Jep7L2Wt.js +0 -1
- package/.output/public/_nuxt/LUl67wzp.js +0 -1
- package/.output/public/_nuxt/M2rHlmBj.js +0 -1
- package/.output/public/_nuxt/N3RVRbLb.js +0 -1
- package/.output/public/_nuxt/NBseiqgx.js +0 -1
- package/.output/public/_nuxt/PoHY5YXO.js +0 -1
- package/.output/public/_nuxt/SdwduGaY.js +0 -1
- package/.output/public/_nuxt/SytC7lKg.js +0 -1
- package/.output/public/_nuxt/U3pqMjXV.js +0 -1
- package/.output/public/_nuxt/UInuXPgp.js +0 -1
- package/.output/public/_nuxt/YXI84j39.js +0 -2
- package/.output/public/_nuxt/ZZ6g6dXy.js +0 -2
- package/.output/public/_nuxt/builds/meta/033f259e-8ba9-4c82-8824-56febea80b7d.json +0 -1
- package/.output/public/_nuxt/dglhsJpM.js +0 -1
- package/.output/public/_nuxt/dwrHE3tM.js +0 -14
- package/.output/public/_nuxt/edge-router-yEORMNQw.js +0 -4
- package/.output/public/_nuxt/error-404.CttAF9VE.css +0 -1
- package/.output/public/_nuxt/error-500.DXXd6-x4.css +0 -1
- package/.output/public/_nuxt/ga9TZ2z5.js +0 -1
- package/.output/public/_nuxt/graph-layout-CFj469YF.js +0 -1
- package/.output/public/_nuxt/graph-resolver-eG1ZUsYn.js +0 -166
- package/.output/public/_nuxt/ov4D99rA.js +0 -1
- package/.output/public/_nuxt/qYU5Tabh.js +0 -1
- package/.output/public/_nuxt/qliWkHmV.js +0 -1
- package/.output/public/_nuxt/vuetify.BrkCt9t5.css +0 -5
- package/.output/public/_nuxt/yaml.worker-CQ6dFw39.js +0 -405
- package/.output/server/node_modules/entities/lib/generated/decode-data-html.js +0 -9
- package/.output/server/node_modules/entities/lib/generated/decode-data-xml.js +0 -9
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
NEGATIVE_INFINITY,
|
|
6
6
|
NEGATIVE_ZERO,
|
|
7
7
|
POSITIVE_INFINITY,
|
|
8
|
+
SPARSE,
|
|
8
9
|
UNDEFINED
|
|
9
10
|
} from './constants.js';
|
|
10
11
|
|
|
@@ -33,6 +34,13 @@ export function unflatten(parsed, revivers) {
|
|
|
33
34
|
|
|
34
35
|
const hydrated = Array(values.length);
|
|
35
36
|
|
|
37
|
+
/**
|
|
38
|
+
* A set of values currently being hydrated with custom revivers,
|
|
39
|
+
* used to detect invalid cyclical dependencies
|
|
40
|
+
* @type {Set<number> | null}
|
|
41
|
+
*/
|
|
42
|
+
let hydrating = null;
|
|
43
|
+
|
|
36
44
|
/**
|
|
37
45
|
* @param {number} index
|
|
38
46
|
* @returns {any}
|
|
@@ -58,9 +66,30 @@ export function unflatten(parsed, revivers) {
|
|
|
58
66
|
if (typeof value[0] === 'string') {
|
|
59
67
|
const type = value[0];
|
|
60
68
|
|
|
61
|
-
const reviver =
|
|
69
|
+
const reviver =
|
|
70
|
+
revivers && Object.hasOwn(revivers, type)
|
|
71
|
+
? revivers[type]
|
|
72
|
+
: undefined;
|
|
73
|
+
|
|
62
74
|
if (reviver) {
|
|
63
|
-
|
|
75
|
+
let i = value[1];
|
|
76
|
+
if (typeof i !== 'number') {
|
|
77
|
+
// if it's not a number, it was serialized by a builtin reviver
|
|
78
|
+
// so we need to munge it into the format expected by a custom reviver
|
|
79
|
+
i = values.push(value[1]) - 1;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
hydrating ??= new Set();
|
|
83
|
+
|
|
84
|
+
if (hydrating.has(i)) {
|
|
85
|
+
throw new Error('Invalid circular reference');
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
hydrating.add(i);
|
|
89
|
+
hydrated[index] = reviver(hydrate(i));
|
|
90
|
+
hydrating.delete(i);
|
|
91
|
+
|
|
92
|
+
return hydrated[index];
|
|
64
93
|
}
|
|
65
94
|
|
|
66
95
|
switch (type) {
|
|
@@ -115,8 +144,16 @@ export function unflatten(parsed, revivers) {
|
|
|
115
144
|
case 'Float64Array':
|
|
116
145
|
case 'BigInt64Array':
|
|
117
146
|
case 'BigUint64Array': {
|
|
147
|
+
if (values[value[1]][0] !== 'ArrayBuffer') {
|
|
148
|
+
// without this, if we receive malformed input we could
|
|
149
|
+
// end up trying to hydrate in a circle or allocate
|
|
150
|
+
// huge amounts of memory when we call `new TypedArrayConstructor(buffer)`
|
|
151
|
+
throw new Error('Invalid data');
|
|
152
|
+
}
|
|
153
|
+
|
|
118
154
|
const TypedArrayConstructor = globalThis[type];
|
|
119
|
-
const
|
|
155
|
+
const buffer = hydrate(value[1]);
|
|
156
|
+
const typedArray = new TypedArrayConstructor(buffer);
|
|
120
157
|
|
|
121
158
|
hydrated[index] =
|
|
122
159
|
value[2] !== undefined
|
|
@@ -128,6 +165,9 @@ export function unflatten(parsed, revivers) {
|
|
|
128
165
|
|
|
129
166
|
case 'ArrayBuffer': {
|
|
130
167
|
const base64 = value[1];
|
|
168
|
+
if (typeof base64 !== 'string') {
|
|
169
|
+
throw new Error('Invalid ArrayBuffer encoding');
|
|
170
|
+
}
|
|
131
171
|
const arraybuffer = decode64(base64);
|
|
132
172
|
hydrated[index] = arraybuffer;
|
|
133
173
|
break;
|
|
@@ -162,6 +202,17 @@ export function unflatten(parsed, revivers) {
|
|
|
162
202
|
default:
|
|
163
203
|
throw new Error(`Unknown type ${type}`);
|
|
164
204
|
}
|
|
205
|
+
} else if (value[0] === SPARSE) {
|
|
206
|
+
// Sparse array encoding: [SPARSE, length, idx, val, idx, val, ...]
|
|
207
|
+
const len = value[1];
|
|
208
|
+
|
|
209
|
+
const array = new Array(len);
|
|
210
|
+
hydrated[index] = array;
|
|
211
|
+
|
|
212
|
+
for (let i = 2; i < value.length; i += 2) {
|
|
213
|
+
const idx = value[i];
|
|
214
|
+
array[idx] = hydrate(value[i + 1]);
|
|
215
|
+
}
|
|
165
216
|
} else {
|
|
166
217
|
const array = new Array(value.length);
|
|
167
218
|
hydrated[index] = array;
|
|
@@ -178,7 +229,7 @@ export function unflatten(parsed, revivers) {
|
|
|
178
229
|
const object = {};
|
|
179
230
|
hydrated[index] = object;
|
|
180
231
|
|
|
181
|
-
for (const key
|
|
232
|
+
for (const key of Object.keys(value)) {
|
|
182
233
|
if (key === '__proto__') {
|
|
183
234
|
throw new Error('Cannot parse an object with a `__proto__` property');
|
|
184
235
|
}
|
|
@@ -5,7 +5,8 @@ import {
|
|
|
5
5
|
is_plain_object,
|
|
6
6
|
is_primitive,
|
|
7
7
|
stringify_key,
|
|
8
|
-
stringify_string
|
|
8
|
+
stringify_string,
|
|
9
|
+
valid_array_indices
|
|
9
10
|
} from './utils.js';
|
|
10
11
|
import {
|
|
11
12
|
HOLE,
|
|
@@ -13,6 +14,7 @@ import {
|
|
|
13
14
|
NEGATIVE_INFINITY,
|
|
14
15
|
NEGATIVE_ZERO,
|
|
15
16
|
POSITIVE_INFINITY,
|
|
17
|
+
SPARSE,
|
|
16
18
|
UNDEFINED
|
|
17
19
|
} from './constants.js';
|
|
18
20
|
import { encode64 } from './base64.js';
|
|
@@ -44,10 +46,6 @@ export function stringify(value, reducers) {
|
|
|
44
46
|
|
|
45
47
|
/** @param {any} thing */
|
|
46
48
|
function flatten(thing) {
|
|
47
|
-
if (typeof thing === 'function') {
|
|
48
|
-
throw new DevalueError(`Cannot stringify a function`, keys);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
49
|
if (thing === undefined) return UNDEFINED;
|
|
52
50
|
if (Number.isNaN(thing)) return NAN;
|
|
53
51
|
if (thing === Infinity) return POSITIVE_INFINITY;
|
|
@@ -67,6 +65,10 @@ export function stringify(value, reducers) {
|
|
|
67
65
|
}
|
|
68
66
|
}
|
|
69
67
|
|
|
68
|
+
if (typeof thing === 'function') {
|
|
69
|
+
throw new DevalueError(`Cannot stringify a function`, keys, thing, value);
|
|
70
|
+
}
|
|
71
|
+
|
|
70
72
|
let str = '';
|
|
71
73
|
|
|
72
74
|
if (is_primitive(thing)) {
|
|
@@ -105,24 +107,89 @@ export function stringify(value, reducers) {
|
|
|
105
107
|
: `["RegExp",${stringify_string(source)}]`;
|
|
106
108
|
break;
|
|
107
109
|
|
|
108
|
-
case 'Array':
|
|
110
|
+
case 'Array': {
|
|
111
|
+
// For dense arrays (no holes), we iterate normally.
|
|
112
|
+
// When we encounter the first hole, we call Object.keys
|
|
113
|
+
// to determine the sparseness, then decide between:
|
|
114
|
+
// - HOLE encoding: [-2, val, -2, ...] (default)
|
|
115
|
+
// - Sparse encoding: [-7, length, idx, val, ...] (for very sparse arrays)
|
|
116
|
+
// Only the sparse path avoids iterating every slot, which
|
|
117
|
+
// is what protects against the DoS of e.g. `arr[1000000] = 1`.
|
|
118
|
+
let mostly_dense = false;
|
|
119
|
+
|
|
109
120
|
str = '[';
|
|
110
121
|
|
|
111
122
|
for (let i = 0; i < thing.length; i += 1) {
|
|
112
123
|
if (i > 0) str += ',';
|
|
113
124
|
|
|
114
|
-
if (i
|
|
125
|
+
if (Object.hasOwn(thing, i)) {
|
|
115
126
|
keys.push(`[${i}]`);
|
|
116
127
|
str += flatten(thing[i]);
|
|
117
128
|
keys.pop();
|
|
118
|
-
} else {
|
|
129
|
+
} else if (mostly_dense) {
|
|
130
|
+
// Use dense encoding. The heuristic guarantees the
|
|
131
|
+
// array is only mildly sparse, so iterating over every
|
|
132
|
+
// slot is fine.
|
|
119
133
|
str += HOLE;
|
|
134
|
+
} else {
|
|
135
|
+
// Decide between HOLE encoding and sparse encoding.
|
|
136
|
+
//
|
|
137
|
+
// HOLE encoding: each hole is serialized as the HOLE
|
|
138
|
+
// sentinel (-2). For example, [, "a", ,] becomes
|
|
139
|
+
// [-2, 0, -2]. Each hole costs 3 chars ("-2" + comma).
|
|
140
|
+
//
|
|
141
|
+
// Sparse encoding: lists only populated indices.
|
|
142
|
+
// For example, [, "a", ,] becomes [-7, 3, 1, 0] — the
|
|
143
|
+
// -7 sentinel, the array length (3), then index-value
|
|
144
|
+
// pairs. This avoids paying per-hole, but each element
|
|
145
|
+
// costs extra chars to write its index.
|
|
146
|
+
//
|
|
147
|
+
// The values are the same size either way, so the
|
|
148
|
+
// choice comes down to structural overhead:
|
|
149
|
+
//
|
|
150
|
+
// HOLE overhead:
|
|
151
|
+
// 3 chars per hole ("-2" + comma)
|
|
152
|
+
// = (L - P) * 3
|
|
153
|
+
//
|
|
154
|
+
// Sparse overhead:
|
|
155
|
+
// "-7," — 3 chars (sparse sentinel + comma)
|
|
156
|
+
// + length + "," — (d + 1) chars (array length + comma)
|
|
157
|
+
// + per element: index + "," — (d + 1) chars
|
|
158
|
+
// = (4 + d) + P * (d + 1)
|
|
159
|
+
//
|
|
160
|
+
// where L is the array length, P is the number of
|
|
161
|
+
// populated elements, and d is the number of digits
|
|
162
|
+
// in L (an upper bound on the digits in any index).
|
|
163
|
+
//
|
|
164
|
+
// Sparse encoding is cheaper when:
|
|
165
|
+
// (4 + d) + P * (d + 1) < (L - P) * 3
|
|
166
|
+
const populated_keys = valid_array_indices(/** @type {any[]} */ (thing));
|
|
167
|
+
const population = populated_keys.length;
|
|
168
|
+
const d = String(thing.length).length;
|
|
169
|
+
|
|
170
|
+
const hole_cost = (thing.length - population) * 3;
|
|
171
|
+
const sparse_cost = 4 + d + population * (d + 1);
|
|
172
|
+
|
|
173
|
+
if (hole_cost > sparse_cost) {
|
|
174
|
+
str = '[' + SPARSE + ',' + thing.length;
|
|
175
|
+
for (let j = 0; j < populated_keys.length; j++) {
|
|
176
|
+
const key = populated_keys[j];
|
|
177
|
+
keys.push(`[${key}]`);
|
|
178
|
+
str += ',' + key + ',' + flatten(thing[key]);
|
|
179
|
+
keys.pop();
|
|
180
|
+
}
|
|
181
|
+
break;
|
|
182
|
+
} else {
|
|
183
|
+
mostly_dense = true;
|
|
184
|
+
str += HOLE;
|
|
185
|
+
}
|
|
120
186
|
}
|
|
121
187
|
}
|
|
122
188
|
|
|
123
189
|
str += ']';
|
|
124
190
|
|
|
125
191
|
break;
|
|
192
|
+
}
|
|
126
193
|
|
|
127
194
|
case 'Set':
|
|
128
195
|
str = '["Set"';
|
|
@@ -200,20 +267,33 @@ export function stringify(value, reducers) {
|
|
|
200
267
|
if (!is_plain_object(thing)) {
|
|
201
268
|
throw new DevalueError(
|
|
202
269
|
`Cannot stringify arbitrary non-POJOs`,
|
|
203
|
-
keys
|
|
270
|
+
keys,
|
|
271
|
+
thing,
|
|
272
|
+
value
|
|
204
273
|
);
|
|
205
274
|
}
|
|
206
275
|
|
|
207
276
|
if (enumerable_symbols(thing).length > 0) {
|
|
208
277
|
throw new DevalueError(
|
|
209
278
|
`Cannot stringify POJOs with symbolic keys`,
|
|
210
|
-
keys
|
|
279
|
+
keys,
|
|
280
|
+
thing,
|
|
281
|
+
value
|
|
211
282
|
);
|
|
212
283
|
}
|
|
213
284
|
|
|
214
285
|
if (Object.getPrototypeOf(thing) === null) {
|
|
215
286
|
str = '["null"';
|
|
216
|
-
for (const key
|
|
287
|
+
for (const key of Object.keys(thing)) {
|
|
288
|
+
if (key === '__proto__') {
|
|
289
|
+
throw new DevalueError(
|
|
290
|
+
`Cannot stringify objects with __proto__ keys`,
|
|
291
|
+
keys,
|
|
292
|
+
thing,
|
|
293
|
+
value
|
|
294
|
+
);
|
|
295
|
+
}
|
|
296
|
+
|
|
217
297
|
keys.push(stringify_key(key));
|
|
218
298
|
str += `,${stringify_string(key)},${flatten(thing[key])}`;
|
|
219
299
|
keys.pop();
|
|
@@ -222,7 +302,16 @@ export function stringify(value, reducers) {
|
|
|
222
302
|
} else {
|
|
223
303
|
str = '{';
|
|
224
304
|
let started = false;
|
|
225
|
-
for (const key
|
|
305
|
+
for (const key of Object.keys(thing)) {
|
|
306
|
+
if (key === '__proto__') {
|
|
307
|
+
throw new DevalueError(
|
|
308
|
+
`Cannot stringify objects with __proto__ keys`,
|
|
309
|
+
keys,
|
|
310
|
+
thing,
|
|
311
|
+
value
|
|
312
|
+
);
|
|
313
|
+
}
|
|
314
|
+
|
|
226
315
|
if (started) str += ',';
|
|
227
316
|
started = true;
|
|
228
317
|
keys.push(stringify_key(key));
|
|
@@ -6,7 +6,8 @@ import {
|
|
|
6
6
|
is_plain_object,
|
|
7
7
|
is_primitive,
|
|
8
8
|
stringify_key,
|
|
9
|
-
stringify_string
|
|
9
|
+
stringify_string,
|
|
10
|
+
valid_array_indices
|
|
10
11
|
} from './utils.js';
|
|
11
12
|
|
|
12
13
|
const chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_$';
|
|
@@ -29,10 +30,6 @@ export function uneval(value, replacer) {
|
|
|
29
30
|
|
|
30
31
|
/** @param {any} thing */
|
|
31
32
|
function walk(thing) {
|
|
32
|
-
if (typeof thing === 'function') {
|
|
33
|
-
throw new DevalueError(`Cannot stringify a function`, keys);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
33
|
if (!is_primitive(thing)) {
|
|
37
34
|
if (counts.has(thing)) {
|
|
38
35
|
counts.set(thing, counts.get(thing) + 1);
|
|
@@ -50,6 +47,10 @@ export function uneval(value, replacer) {
|
|
|
50
47
|
}
|
|
51
48
|
}
|
|
52
49
|
|
|
50
|
+
if (typeof thing === 'function') {
|
|
51
|
+
throw new DevalueError(`Cannot stringify a function`, keys, thing, value);
|
|
52
|
+
}
|
|
53
|
+
|
|
53
54
|
const type = get_type(thing);
|
|
54
55
|
|
|
55
56
|
switch (type) {
|
|
@@ -116,18 +117,31 @@ export function uneval(value, replacer) {
|
|
|
116
117
|
if (!is_plain_object(thing)) {
|
|
117
118
|
throw new DevalueError(
|
|
118
119
|
`Cannot stringify arbitrary non-POJOs`,
|
|
119
|
-
keys
|
|
120
|
+
keys,
|
|
121
|
+
thing,
|
|
122
|
+
value
|
|
120
123
|
);
|
|
121
124
|
}
|
|
122
125
|
|
|
123
126
|
if (enumerable_symbols(thing).length > 0) {
|
|
124
127
|
throw new DevalueError(
|
|
125
128
|
`Cannot stringify POJOs with symbolic keys`,
|
|
126
|
-
keys
|
|
129
|
+
keys,
|
|
130
|
+
thing,
|
|
131
|
+
value
|
|
127
132
|
);
|
|
128
133
|
}
|
|
129
134
|
|
|
130
|
-
for (const key
|
|
135
|
+
for (const key of Object.keys(thing)) {
|
|
136
|
+
if (key === '__proto__') {
|
|
137
|
+
throw new DevalueError(
|
|
138
|
+
`Cannot stringify objects with __proto__ keys`,
|
|
139
|
+
keys,
|
|
140
|
+
thing,
|
|
141
|
+
value
|
|
142
|
+
);
|
|
143
|
+
}
|
|
144
|
+
|
|
131
145
|
keys.push(stringify_key(key));
|
|
132
146
|
walk(thing[key]);
|
|
133
147
|
keys.pop();
|
|
@@ -186,12 +200,85 @@ export function uneval(value, replacer) {
|
|
|
186
200
|
case 'URLSearchParams':
|
|
187
201
|
return `new URLSearchParams(${stringify_string(thing.toString())})`;
|
|
188
202
|
|
|
189
|
-
case 'Array':
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
203
|
+
case 'Array': {
|
|
204
|
+
// For dense arrays (no holes), we iterate normally.
|
|
205
|
+
// When we encounter the first hole, we call Object.keys
|
|
206
|
+
// to determine the sparseness, then decide between:
|
|
207
|
+
// - Array literal with holes: [,"a",,] (default)
|
|
208
|
+
// - Object.assign: Object.assign(Array(n),{...}) (for very sparse arrays)
|
|
209
|
+
// Only the Object.assign path avoids iterating every slot, which
|
|
210
|
+
// is what protects against the DoS of e.g. `arr[1000000] = 1`.
|
|
211
|
+
let has_holes = false;
|
|
212
|
+
|
|
213
|
+
let result = '[';
|
|
214
|
+
|
|
215
|
+
for (let i = 0; i < thing.length; i += 1) {
|
|
216
|
+
if (i > 0) result += ',';
|
|
217
|
+
|
|
218
|
+
if (Object.hasOwn(thing, i)) {
|
|
219
|
+
result += stringify(thing[i]);
|
|
220
|
+
} else if (!has_holes) {
|
|
221
|
+
// Decide between array literal and Object.assign.
|
|
222
|
+
//
|
|
223
|
+
// Array literal: holes are consecutive commas.
|
|
224
|
+
// For example, [, "a", ,] is written as [,"a",,].
|
|
225
|
+
// Each hole costs 1 char (a comma).
|
|
226
|
+
//
|
|
227
|
+
// Object.assign: populated indices are listed explicitly.
|
|
228
|
+
// For example, [, "a", ,] would be written as
|
|
229
|
+
// Object.assign(Array(3),{1:"a"}). This avoids paying
|
|
230
|
+
// per-hole, but has a large fixed overhead for the
|
|
231
|
+
// "Object.assign(Array(n),{...})" wrapper, and each
|
|
232
|
+
// element costs extra chars for its index and colon.
|
|
233
|
+
//
|
|
234
|
+
// The serialized values are the same size either way, so
|
|
235
|
+
// the choice comes down to the structural overhead:
|
|
236
|
+
//
|
|
237
|
+
// Array literal overhead:
|
|
238
|
+
// 1 char per element or hole (comma separators)
|
|
239
|
+
// + 2 chars for "[" and "]"
|
|
240
|
+
// = L + 2
|
|
241
|
+
//
|
|
242
|
+
// Object.assign overhead:
|
|
243
|
+
// "Object.assign(Array(" — 20 chars
|
|
244
|
+
// + length — d chars
|
|
245
|
+
// + "),{" — 3 chars
|
|
246
|
+
// + for each populated element:
|
|
247
|
+
// index + ":" + "," — (d + 2) chars
|
|
248
|
+
// + "})" — 2 chars
|
|
249
|
+
// = (25 + d) + P * (d + 2)
|
|
250
|
+
//
|
|
251
|
+
// where L is the array length, P is the number of
|
|
252
|
+
// populated elements, and d is the number of digits
|
|
253
|
+
// in L (an upper bound on the digits in any index).
|
|
254
|
+
//
|
|
255
|
+
// Object.assign is cheaper when:
|
|
256
|
+
// (25 + d) + P * (d + 2) < L + 2
|
|
257
|
+
const populated_keys = valid_array_indices(/** @type {any[]} */ (thing));
|
|
258
|
+
const population = populated_keys.length;
|
|
259
|
+
const d = String(thing.length).length;
|
|
260
|
+
|
|
261
|
+
const hole_cost = thing.length + 2;
|
|
262
|
+
const sparse_cost = (25 + d) + population * (d + 2);
|
|
263
|
+
|
|
264
|
+
if (hole_cost > sparse_cost) {
|
|
265
|
+
const entries = populated_keys
|
|
266
|
+
.map((k) => `${k}:${stringify(thing[k])}`)
|
|
267
|
+
.join(',');
|
|
268
|
+
return `Object.assign(Array(${thing.length}),{${entries}})`;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
// Re-process this index as a hole in the array literal
|
|
272
|
+
has_holes = true;
|
|
273
|
+
i -= 1;
|
|
274
|
+
}
|
|
275
|
+
// else: already decided on array literal, hole is just an empty slot
|
|
276
|
+
// (the comma separator is all we need — no content for this position)
|
|
277
|
+
}
|
|
278
|
+
|
|
193
279
|
const tail = thing.length === 0 || thing.length - 1 in thing ? '' : ',';
|
|
194
|
-
return
|
|
280
|
+
return result + tail + ']';
|
|
281
|
+
}
|
|
195
282
|
|
|
196
283
|
case 'Set':
|
|
197
284
|
case 'Map':
|
|
@@ -15,11 +15,15 @@ export class DevalueError extends Error {
|
|
|
15
15
|
/**
|
|
16
16
|
* @param {string} message
|
|
17
17
|
* @param {string[]} keys
|
|
18
|
+
* @param {any} [value] - The value that failed to be serialized
|
|
19
|
+
* @param {any} [root] - The root value being serialized
|
|
18
20
|
*/
|
|
19
|
-
constructor(message, keys) {
|
|
21
|
+
constructor(message, keys, value, root) {
|
|
20
22
|
super(message);
|
|
21
23
|
this.name = 'DevalueError';
|
|
22
24
|
this.path = keys.join('');
|
|
25
|
+
this.value = value;
|
|
26
|
+
this.root = root;
|
|
23
27
|
}
|
|
24
28
|
}
|
|
25
29
|
|
|
@@ -112,3 +116,33 @@ const is_identifier = /^[a-zA-Z_$][a-zA-Z_$0-9]*$/;
|
|
|
112
116
|
export function stringify_key(key) {
|
|
113
117
|
return is_identifier.test(key) ? '.' + key : '[' + JSON.stringify(key) + ']';
|
|
114
118
|
}
|
|
119
|
+
|
|
120
|
+
/** @param {string} s */
|
|
121
|
+
function is_valid_array_index(s) {
|
|
122
|
+
if (s.length === 0) return false;
|
|
123
|
+
if (s.length > 1 && s.charCodeAt(0) === 48) return false; // leading zero
|
|
124
|
+
for (let i = 0; i < s.length; i++) {
|
|
125
|
+
const c = s.charCodeAt(i);
|
|
126
|
+
if (c < 48 || c > 57) return false;
|
|
127
|
+
}
|
|
128
|
+
// by this point we know it's a string of digits, but it has to be within the range of valid array indices
|
|
129
|
+
const n = +s;
|
|
130
|
+
if (n >= 2 ** 32 - 1) return false;
|
|
131
|
+
if (n < 0) return false;
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Finds the populated indices of an array.
|
|
137
|
+
* @param {unknown[]} array
|
|
138
|
+
*/
|
|
139
|
+
export function valid_array_indices(array) {
|
|
140
|
+
const keys = Object.keys(array);
|
|
141
|
+
for (var i = keys.length - 1; i >= 0; i--) {
|
|
142
|
+
if (is_valid_array_index(keys[i])) {
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
keys.length = i + 1;
|
|
147
|
+
return keys;
|
|
148
|
+
}
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134
|
|
3
3
|
var _a;
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.
|
|
6
|
-
|
|
5
|
+
exports.fromCodePoint = void 0;
|
|
6
|
+
exports.replaceCodePoint = replaceCodePoint;
|
|
7
|
+
exports.decodeCodePoint = decodeCodePoint;
|
|
8
|
+
const decodeMap = new Map([
|
|
7
9
|
[0, 65533],
|
|
8
10
|
// C1 Unicode control character reference replacements
|
|
9
11
|
[128, 8364],
|
|
@@ -38,17 +40,17 @@ var decodeMap = new Map([
|
|
|
38
40
|
* Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point.
|
|
39
41
|
*/
|
|
40
42
|
exports.fromCodePoint =
|
|
41
|
-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition,
|
|
42
|
-
(_a = String.fromCodePoint) !== null && _a !== void 0 ? _a :
|
|
43
|
-
|
|
44
|
-
if (codePoint >
|
|
45
|
-
codePoint -=
|
|
46
|
-
output += String.fromCharCode(((codePoint >>> 10) &
|
|
47
|
-
codePoint =
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, n/no-unsupported-features/es-builtins
|
|
44
|
+
(_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : ((codePoint) => {
|
|
45
|
+
let output = "";
|
|
46
|
+
if (codePoint > 65535) {
|
|
47
|
+
codePoint -= 65536;
|
|
48
|
+
output += String.fromCharCode(((codePoint >>> 10) & 1023) | 55296);
|
|
49
|
+
codePoint = 56320 | (codePoint & 1023);
|
|
48
50
|
}
|
|
49
51
|
output += String.fromCharCode(codePoint);
|
|
50
52
|
return output;
|
|
51
|
-
};
|
|
53
|
+
});
|
|
52
54
|
/**
|
|
53
55
|
* Replace the given code point with a replacement character if it is a
|
|
54
56
|
* surrogate or is outside the valid range. Otherwise return the code
|
|
@@ -56,12 +58,12 @@ exports.fromCodePoint =
|
|
|
56
58
|
*/
|
|
57
59
|
function replaceCodePoint(codePoint) {
|
|
58
60
|
var _a;
|
|
59
|
-
if ((codePoint >=
|
|
60
|
-
|
|
61
|
+
if ((codePoint >= 55296 && codePoint <= 57343) ||
|
|
62
|
+
codePoint > 1114111) {
|
|
63
|
+
return 65533;
|
|
61
64
|
}
|
|
62
65
|
return (_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint;
|
|
63
66
|
}
|
|
64
|
-
exports.replaceCodePoint = replaceCodePoint;
|
|
65
67
|
/**
|
|
66
68
|
* Replace the code point if relevant, then convert it to a string.
|
|
67
69
|
*
|
|
@@ -72,5 +74,4 @@ exports.replaceCodePoint = replaceCodePoint;
|
|
|
72
74
|
function decodeCodePoint(codePoint) {
|
|
73
75
|
return (0, exports.fromCodePoint)(replaceCodePoint(codePoint));
|
|
74
76
|
}
|
|
75
|
-
|
|
76
|
-
//# sourceMappingURL=decode_codepoint.js.map
|
|
77
|
+
//# sourceMappingURL=decode-codepoint.js.map
|