@accelint/map-toolkit 0.4.0 → 0.5.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/CHANGELOG.md +52 -24
- package/README.md +3 -0
- package/catalog-info.yaml +6 -7
- package/dist/_virtual/rolldown_runtime.js +22 -0
- package/dist/camera/events.d.ts +15 -0
- package/dist/camera/events.js +29 -0
- package/dist/camera/events.js.map +1 -0
- package/dist/camera/index.d.ts +16 -0
- package/dist/camera/index.js +17 -0
- package/dist/camera/types.d.ts +84 -0
- package/dist/camera/types.js +12 -0
- package/dist/camera/use-camera-state.d.ts +153 -0
- package/dist/camera/use-camera-state.js +419 -0
- package/dist/camera/use-camera-state.js.map +1 -0
- package/dist/cursor-coordinates/use-cursor-coordinates.js +1 -1
- package/dist/deckgl/base-map/constants.d.ts +6 -1
- package/dist/deckgl/base-map/constants.js +6 -1
- package/dist/deckgl/base-map/constants.js.map +1 -1
- package/dist/deckgl/base-map/controls.d.ts +34 -0
- package/dist/deckgl/base-map/controls.js +50 -0
- package/dist/deckgl/base-map/controls.js.map +1 -0
- package/dist/deckgl/base-map/events.d.ts +4 -0
- package/dist/deckgl/base-map/events.js +5 -1
- package/dist/deckgl/base-map/events.js.map +1 -1
- package/dist/deckgl/base-map/index.d.ts +8 -23
- package/dist/deckgl/base-map/index.js +82 -42
- package/dist/deckgl/base-map/index.js.map +1 -1
- package/dist/deckgl/base-map/provider.d.ts +2 -2
- package/dist/deckgl/base-map/types.d.ts +43 -2
- package/dist/deckgl/index.d.ts +5 -4
- package/dist/deckgl/index.js +2 -1
- package/dist/deckgl/saved-viewports/index.d.ts +32 -0
- package/dist/deckgl/saved-viewports/index.js +52 -0
- package/dist/deckgl/saved-viewports/index.js.map +1 -0
- package/dist/deckgl/saved-viewports/storage.d.ts +21 -0
- package/dist/deckgl/saved-viewports/storage.js +39 -0
- package/dist/deckgl/saved-viewports/storage.js.map +1 -0
- package/dist/maplibre/hooks/use-maplibre.d.ts +2 -2
- package/dist/maplibre/hooks/use-maplibre.js +2 -2
- package/dist/maplibre/hooks/use-maplibre.js.map +1 -1
- package/dist/node_modules/.pnpm/@math.gl_web-mercator@4.1.0/node_modules/@math.gl/web-mercator/dist/assert.js +21 -0
- package/dist/node_modules/.pnpm/@math.gl_web-mercator@4.1.0/node_modules/@math.gl/web-mercator/dist/assert.js.map +1 -0
- package/dist/node_modules/.pnpm/@math.gl_web-mercator@4.1.0/node_modules/@math.gl/web-mercator/dist/fit-bounds.js +63 -0
- package/dist/node_modules/.pnpm/@math.gl_web-mercator@4.1.0/node_modules/@math.gl/web-mercator/dist/fit-bounds.js.map +1 -0
- package/dist/node_modules/.pnpm/@math.gl_web-mercator@4.1.0/node_modules/@math.gl/web-mercator/dist/fly-to-viewport.js +14 -0
- package/dist/node_modules/.pnpm/@math.gl_web-mercator@4.1.0/node_modules/@math.gl/web-mercator/dist/get-bounds.js +20 -0
- package/dist/node_modules/.pnpm/@math.gl_web-mercator@4.1.0/node_modules/@math.gl/web-mercator/dist/get-bounds.js.map +1 -0
- package/dist/node_modules/.pnpm/@math.gl_web-mercator@4.1.0/node_modules/@math.gl/web-mercator/dist/index.js +19 -0
- package/dist/node_modules/.pnpm/@math.gl_web-mercator@4.1.0/node_modules/@math.gl/web-mercator/dist/math-utils.js +25 -0
- package/dist/node_modules/.pnpm/@math.gl_web-mercator@4.1.0/node_modules/@math.gl/web-mercator/dist/math-utils.js.map +1 -0
- package/dist/node_modules/.pnpm/@math.gl_web-mercator@4.1.0/node_modules/@math.gl/web-mercator/dist/normalize-viewport-props.js +14 -0
- package/dist/node_modules/.pnpm/@math.gl_web-mercator@4.1.0/node_modules/@math.gl/web-mercator/dist/web-mercator-utils.js +59 -0
- package/dist/node_modules/.pnpm/@math.gl_web-mercator@4.1.0/node_modules/@math.gl/web-mercator/dist/web-mercator-utils.js.map +1 -0
- package/dist/node_modules/.pnpm/@math.gl_web-mercator@4.1.0/node_modules/@math.gl/web-mercator/dist/web-mercator-viewport.js +16 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/attribution-control.js +29 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/attribution-control.js.map +1 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/fullscreen-control.js +29 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/fullscreen-control.js.map +1 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/geolocate-control.js +54 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/geolocate-control.js.map +1 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/layer.js +15 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/logo-control.js +29 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/logo-control.js.map +1 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/map.js +91 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/map.js.map +1 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/marker.js +88 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/marker.js.map +1 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/navigation-control.js +29 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/navigation-control.js.map +1 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/popup.js +69 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/popup.js.map +1 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/scale-control.js +35 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/scale-control.js.map +1 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/source.js +15 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/terrain-control.js +29 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/terrain-control.js.map +1 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/use-control.js +40 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/use-control.js.map +1 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/use-map.js +23 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/components/use-map.js.map +1 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/index.js +27 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/maplibre/create-ref.js +57 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/maplibre/create-ref.js.map +1 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/maplibre/maplibre.js +343 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/maplibre/maplibre.js.map +1 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/utils/apply-react-style.js +28 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/utils/apply-react-style.js.map +1 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/utils/compare-class-names.js +31 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/utils/compare-class-names.js.map +1 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/utils/deep-equal.js +57 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/utils/deep-equal.js.map +1 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/utils/set-globals.js +30 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/utils/set-globals.js.map +1 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/utils/style-utils.js +53 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/utils/style-utils.js.map +1 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/utils/transform.js +52 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/utils/transform.js.map +1 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/utils/use-isomorphic-layout-effect.js +22 -0
- package/dist/node_modules/.pnpm/@vis.gl_react-maplibre@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@vis.gl/react-maplibre/dist/utils/use-isomorphic-layout-effect.js.map +1 -0
- package/dist/node_modules/.pnpm/immer@10.2.0/node_modules/immer/dist/immer.js +812 -0
- package/dist/node_modules/.pnpm/immer@10.2.0/node_modules/immer/dist/immer.js.map +1 -0
- package/dist/node_modules/.pnpm/radashi@12.7.1/node_modules/radashi/dist/radashi.js +35 -0
- package/dist/node_modules/.pnpm/radashi@12.7.1/node_modules/radashi/dist/radashi.js.map +1 -0
- package/dist/node_modules/.pnpm/react-dom@19.2.3_react@19.2.3/node_modules/react-dom/cjs/react-dom.development.js +195 -0
- package/dist/node_modules/.pnpm/react-dom@19.2.3_react@19.2.3/node_modules/react-dom/cjs/react-dom.development.js.map +1 -0
- package/dist/node_modules/.pnpm/react-dom@19.2.3_react@19.2.3/node_modules/react-dom/cjs/react-dom.production.js +76 -0
- package/dist/node_modules/.pnpm/react-dom@19.2.3_react@19.2.3/node_modules/react-dom/cjs/react-dom.production.js.map +1 -0
- package/dist/node_modules/.pnpm/react-dom@19.2.3_react@19.2.3/node_modules/react-dom/index.js +39 -0
- package/dist/node_modules/.pnpm/react-dom@19.2.3_react@19.2.3/node_modules/react-dom/index.js.map +1 -0
- package/dist/node_modules/.pnpm/react-map-gl@8.1.0_maplibre-gl@5.15.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/react-map-gl/dist/maplibre.js +16 -0
- package/dist/node_modules/.pnpm/zustand@5.0.9_@types_react@19.2.7_immer@10.2.0_react@19.2.3_use-sync-external-store@1.6.0_react@19.2.3_/node_modules/zustand/esm/middleware/immer.js +27 -0
- package/dist/node_modules/.pnpm/zustand@5.0.9_@types_react@19.2.7_immer@10.2.0_react@19.2.3_use-sync-external-store@1.6.0_react@19.2.3_/node_modules/zustand/esm/middleware/immer.js.map +1 -0
- package/dist/node_modules/.pnpm/zustand@5.0.9_@types_react@19.2.7_immer@10.2.0_react@19.2.3_use-sync-external-store@1.6.0_react@19.2.3_/node_modules/zustand/esm/vanilla.js +45 -0
- package/dist/node_modules/.pnpm/zustand@5.0.9_@types_react@19.2.7_immer@10.2.0_react@19.2.3_use-sync-external-store@1.6.0_react@19.2.3_/node_modules/zustand/esm/vanilla.js.map +1 -0
- package/dist/packages/hotkey-manager/dist/actions/register-hotkey/index.js +78 -0
- package/dist/packages/hotkey-manager/dist/actions/register-hotkey/index.js.map +1 -0
- package/dist/packages/hotkey-manager/dist/constants.js +47 -0
- package/dist/packages/hotkey-manager/dist/constants.js.map +1 -0
- package/dist/packages/hotkey-manager/dist/enums/keycode.js +130 -0
- package/dist/packages/hotkey-manager/dist/enums/keycode.js.map +1 -0
- package/dist/packages/hotkey-manager/dist/lib/is-client/index.js +22 -0
- package/dist/packages/hotkey-manager/dist/lib/is-client/index.js.map +1 -0
- package/dist/packages/hotkey-manager/dist/lib/is-mac/index.js +24 -0
- package/dist/packages/hotkey-manager/dist/lib/is-mac/index.js.map +1 -0
- package/dist/packages/hotkey-manager/dist/lib/key-to-id/index.js +39 -0
- package/dist/packages/hotkey-manager/dist/lib/key-to-id/index.js.map +1 -0
- package/dist/packages/hotkey-manager/dist/lib/key-to-string/index.js +27 -0
- package/dist/packages/hotkey-manager/dist/lib/key-to-string/index.js.map +1 -0
- package/dist/packages/hotkey-manager/dist/stores/hotkey-store/index.js +95 -0
- package/dist/packages/hotkey-manager/dist/stores/hotkey-store/index.js.map +1 -0
- package/package.json +98 -85
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"immer.js","names":[],"sources":["../../../../../../../../../node_modules/.pnpm/immer@10.2.0/node_modules/immer/dist/immer.mjs"],"sourcesContent":["// src/utils/env.ts\nvar NOTHING = Symbol.for(\"immer-nothing\");\nvar DRAFTABLE = Symbol.for(\"immer-draftable\");\nvar DRAFT_STATE = Symbol.for(\"immer-state\");\n\n// src/utils/errors.ts\nvar errors = process.env.NODE_ENV !== \"production\" ? [\n // All error codes, starting by 0:\n function(plugin) {\n return `The plugin for '${plugin}' has not been loaded into Immer. To enable the plugin, import and call \\`enable${plugin}()\\` when initializing your application.`;\n },\n function(thing) {\n return `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${thing}'`;\n },\n \"This object has been frozen and should not be mutated\",\n function(data) {\n return \"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" + data;\n },\n \"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",\n \"Immer forbids circular references\",\n \"The first or second argument to `produce` must be a function\",\n \"The third argument to `produce` must be a function or undefined\",\n \"First argument to `createDraft` must be a plain object, an array, or an immerable object\",\n \"First argument to `finishDraft` must be a draft returned by `createDraft`\",\n function(thing) {\n return `'current' expects a draft, got: ${thing}`;\n },\n \"Object.defineProperty() cannot be used on an Immer draft\",\n \"Object.setPrototypeOf() cannot be used on an Immer draft\",\n \"Immer only supports deleting array indices\",\n \"Immer only supports setting array indices and the 'length' property\",\n function(thing) {\n return `'original' expects a draft, got: ${thing}`;\n }\n // Note: if more errors are added, the errorOffset in Patches.ts should be increased\n // See Patches.ts for additional errors\n] : [];\nfunction die(error, ...args) {\n if (process.env.NODE_ENV !== \"production\") {\n const e = errors[error];\n const msg = typeof e === \"function\" ? e.apply(null, args) : e;\n throw new Error(`[Immer] ${msg}`);\n }\n throw new Error(\n `[Immer] minified error nr: ${error}. Full error at: https://bit.ly/3cXEKWf`\n );\n}\n\n// src/utils/common.ts\nvar getPrototypeOf = Object.getPrototypeOf;\nfunction isDraft(value) {\n return !!value && !!value[DRAFT_STATE];\n}\nfunction isDraftable(value) {\n if (!value)\n return false;\n return isPlainObject(value) || Array.isArray(value) || !!value[DRAFTABLE] || !!value.constructor?.[DRAFTABLE] || isMap(value) || isSet(value);\n}\nvar objectCtorString = Object.prototype.constructor.toString();\nvar cachedCtorStrings = /* @__PURE__ */ new WeakMap();\nfunction isPlainObject(value) {\n if (!value || typeof value !== \"object\")\n return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null || proto === Object.prototype)\n return true;\n const Ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n if (Ctor === Object)\n return true;\n if (typeof Ctor !== \"function\")\n return false;\n let ctorString = cachedCtorStrings.get(Ctor);\n if (ctorString === void 0) {\n ctorString = Function.toString.call(Ctor);\n cachedCtorStrings.set(Ctor, ctorString);\n }\n return ctorString === objectCtorString;\n}\nfunction original(value) {\n if (!isDraft(value))\n die(15, value);\n return value[DRAFT_STATE].base_;\n}\nfunction each(obj, iter, strict = true) {\n if (getArchtype(obj) === 0 /* Object */) {\n const keys = strict ? Reflect.ownKeys(obj) : Object.keys(obj);\n keys.forEach((key) => {\n iter(key, obj[key], obj);\n });\n } else {\n obj.forEach((entry, index) => iter(index, entry, obj));\n }\n}\nfunction getArchtype(thing) {\n const state = thing[DRAFT_STATE];\n return state ? state.type_ : Array.isArray(thing) ? 1 /* Array */ : isMap(thing) ? 2 /* Map */ : isSet(thing) ? 3 /* Set */ : 0 /* Object */;\n}\nfunction has(thing, prop) {\n return getArchtype(thing) === 2 /* Map */ ? thing.has(prop) : Object.prototype.hasOwnProperty.call(thing, prop);\n}\nfunction get(thing, prop) {\n return getArchtype(thing) === 2 /* Map */ ? thing.get(prop) : thing[prop];\n}\nfunction set(thing, propOrOldValue, value) {\n const t = getArchtype(thing);\n if (t === 2 /* Map */)\n thing.set(propOrOldValue, value);\n else if (t === 3 /* Set */) {\n thing.add(value);\n } else\n thing[propOrOldValue] = value;\n}\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\nfunction isMap(target) {\n return target instanceof Map;\n}\nfunction isSet(target) {\n return target instanceof Set;\n}\nfunction latest(state) {\n return state.copy_ || state.base_;\n}\nfunction shallowCopy(base, strict) {\n if (isMap(base)) {\n return new Map(base);\n }\n if (isSet(base)) {\n return new Set(base);\n }\n if (Array.isArray(base))\n return Array.prototype.slice.call(base);\n const isPlain = isPlainObject(base);\n if (strict === true || strict === \"class_only\" && !isPlain) {\n const descriptors = Object.getOwnPropertyDescriptors(base);\n delete descriptors[DRAFT_STATE];\n let keys = Reflect.ownKeys(descriptors);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const desc = descriptors[key];\n if (desc.writable === false) {\n desc.writable = true;\n desc.configurable = true;\n }\n if (desc.get || desc.set)\n descriptors[key] = {\n configurable: true,\n writable: true,\n // could live with !!desc.set as well here...\n enumerable: desc.enumerable,\n value: base[key]\n };\n }\n return Object.create(getPrototypeOf(base), descriptors);\n } else {\n const proto = getPrototypeOf(base);\n if (proto !== null && isPlain) {\n return { ...base };\n }\n const obj = Object.create(proto);\n return Object.assign(obj, base);\n }\n}\nfunction freeze(obj, deep = false) {\n if (isFrozen(obj) || isDraft(obj) || !isDraftable(obj))\n return obj;\n if (getArchtype(obj) > 1) {\n Object.defineProperties(obj, {\n set: dontMutateMethodOverride,\n add: dontMutateMethodOverride,\n clear: dontMutateMethodOverride,\n delete: dontMutateMethodOverride\n });\n }\n Object.freeze(obj);\n if (deep)\n Object.values(obj).forEach((value) => freeze(value, true));\n return obj;\n}\nfunction dontMutateFrozenCollections() {\n die(2);\n}\nvar dontMutateMethodOverride = {\n value: dontMutateFrozenCollections\n};\nfunction isFrozen(obj) {\n if (obj === null || typeof obj !== \"object\")\n return true;\n return Object.isFrozen(obj);\n}\n\n// src/utils/plugins.ts\nvar plugins = {};\nfunction getPlugin(pluginKey) {\n const plugin = plugins[pluginKey];\n if (!plugin) {\n die(0, pluginKey);\n }\n return plugin;\n}\nfunction loadPlugin(pluginKey, implementation) {\n if (!plugins[pluginKey])\n plugins[pluginKey] = implementation;\n}\n\n// src/core/scope.ts\nvar currentScope;\nfunction getCurrentScope() {\n return currentScope;\n}\nfunction createScope(parent_, immer_) {\n return {\n drafts_: [],\n parent_,\n immer_,\n // Whenever the modified draft contains a draft from another scope, we\n // need to prevent auto-freezing so the unowned draft can be finalized.\n canAutoFreeze_: true,\n unfinalizedDrafts_: 0\n };\n}\nfunction usePatchesInScope(scope, patchListener) {\n if (patchListener) {\n getPlugin(\"Patches\");\n scope.patches_ = [];\n scope.inversePatches_ = [];\n scope.patchListener_ = patchListener;\n }\n}\nfunction revokeScope(scope) {\n leaveScope(scope);\n scope.drafts_.forEach(revokeDraft);\n scope.drafts_ = null;\n}\nfunction leaveScope(scope) {\n if (scope === currentScope) {\n currentScope = scope.parent_;\n }\n}\nfunction enterScope(immer2) {\n return currentScope = createScope(currentScope, immer2);\n}\nfunction revokeDraft(draft) {\n const state = draft[DRAFT_STATE];\n if (state.type_ === 0 /* Object */ || state.type_ === 1 /* Array */)\n state.revoke_();\n else\n state.revoked_ = true;\n}\n\n// src/core/finalize.ts\nfunction processResult(result, scope) {\n scope.unfinalizedDrafts_ = scope.drafts_.length;\n const baseDraft = scope.drafts_[0];\n const isReplaced = result !== void 0 && result !== baseDraft;\n if (isReplaced) {\n if (baseDraft[DRAFT_STATE].modified_) {\n revokeScope(scope);\n die(4);\n }\n if (isDraftable(result)) {\n result = finalize(scope, result);\n if (!scope.parent_)\n maybeFreeze(scope, result);\n }\n if (scope.patches_) {\n getPlugin(\"Patches\").generateReplacementPatches_(\n baseDraft[DRAFT_STATE].base_,\n result,\n scope.patches_,\n scope.inversePatches_\n );\n }\n } else {\n result = finalize(scope, baseDraft, []);\n }\n revokeScope(scope);\n if (scope.patches_) {\n scope.patchListener_(scope.patches_, scope.inversePatches_);\n }\n return result !== NOTHING ? result : void 0;\n}\nfunction finalize(rootScope, value, path) {\n if (isFrozen(value))\n return value;\n const useStrictIteration = rootScope.immer_.shouldUseStrictIteration();\n const state = value[DRAFT_STATE];\n if (!state) {\n each(\n value,\n (key, childValue) => finalizeProperty(rootScope, state, value, key, childValue, path),\n useStrictIteration\n );\n return value;\n }\n if (state.scope_ !== rootScope)\n return value;\n if (!state.modified_) {\n maybeFreeze(rootScope, state.base_, true);\n return state.base_;\n }\n if (!state.finalized_) {\n state.finalized_ = true;\n state.scope_.unfinalizedDrafts_--;\n const result = state.copy_;\n let resultEach = result;\n let isSet2 = false;\n if (state.type_ === 3 /* Set */) {\n resultEach = new Set(result);\n result.clear();\n isSet2 = true;\n }\n each(\n resultEach,\n (key, childValue) => finalizeProperty(\n rootScope,\n state,\n result,\n key,\n childValue,\n path,\n isSet2\n ),\n useStrictIteration\n );\n maybeFreeze(rootScope, result, false);\n if (path && rootScope.patches_) {\n getPlugin(\"Patches\").generatePatches_(\n state,\n path,\n rootScope.patches_,\n rootScope.inversePatches_\n );\n }\n }\n return state.copy_;\n}\nfunction finalizeProperty(rootScope, parentState, targetObject, prop, childValue, rootPath, targetIsSet) {\n if (childValue == null) {\n return;\n }\n if (typeof childValue !== \"object\" && !targetIsSet) {\n return;\n }\n const childIsFrozen = isFrozen(childValue);\n if (childIsFrozen && !targetIsSet) {\n return;\n }\n if (process.env.NODE_ENV !== \"production\" && childValue === targetObject)\n die(5);\n if (isDraft(childValue)) {\n const path = rootPath && parentState && parentState.type_ !== 3 /* Set */ && // Set objects are atomic since they have no keys.\n !has(parentState.assigned_, prop) ? rootPath.concat(prop) : void 0;\n const res = finalize(rootScope, childValue, path);\n set(targetObject, prop, res);\n if (isDraft(res)) {\n rootScope.canAutoFreeze_ = false;\n } else\n return;\n } else if (targetIsSet) {\n targetObject.add(childValue);\n }\n if (isDraftable(childValue) && !childIsFrozen) {\n if (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n return;\n }\n if (parentState && parentState.base_ && parentState.base_[prop] === childValue && childIsFrozen) {\n return;\n }\n finalize(rootScope, childValue);\n if ((!parentState || !parentState.scope_.parent_) && typeof prop !== \"symbol\" && (isMap(targetObject) ? targetObject.has(prop) : Object.prototype.propertyIsEnumerable.call(targetObject, prop)))\n maybeFreeze(rootScope, childValue);\n }\n}\nfunction maybeFreeze(scope, value, deep = false) {\n if (!scope.parent_ && scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n freeze(value, deep);\n }\n}\n\n// src/core/proxy.ts\nfunction createProxyProxy(base, parent) {\n const isArray = Array.isArray(base);\n const state = {\n type_: isArray ? 1 /* Array */ : 0 /* Object */,\n // Track which produce call this is associated with.\n scope_: parent ? parent.scope_ : getCurrentScope(),\n // True for both shallow and deep changes.\n modified_: false,\n // Used during finalization.\n finalized_: false,\n // Track which properties have been assigned (true) or deleted (false).\n assigned_: {},\n // The parent draft state.\n parent_: parent,\n // The base state.\n base_: base,\n // The base proxy.\n draft_: null,\n // set below\n // The base copy with any updated values.\n copy_: null,\n // Called by the `produce` function.\n revoke_: null,\n isManual_: false\n };\n let target = state;\n let traps = objectTraps;\n if (isArray) {\n target = [state];\n traps = arrayTraps;\n }\n const { revoke, proxy } = Proxy.revocable(target, traps);\n state.draft_ = proxy;\n state.revoke_ = revoke;\n return proxy;\n}\nvar objectTraps = {\n get(state, prop) {\n if (prop === DRAFT_STATE)\n return state;\n const source = latest(state);\n if (!has(source, prop)) {\n return readPropFromProto(state, source, prop);\n }\n const value = source[prop];\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (value === peek(state.base_, prop)) {\n prepareCopy(state);\n return state.copy_[prop] = createProxy(value, state);\n }\n return value;\n },\n has(state, prop) {\n return prop in latest(state);\n },\n ownKeys(state) {\n return Reflect.ownKeys(latest(state));\n },\n set(state, prop, value) {\n const desc = getDescriptorFromProto(latest(state), prop);\n if (desc?.set) {\n desc.set.call(state.draft_, value);\n return true;\n }\n if (!state.modified_) {\n const current2 = peek(latest(state), prop);\n const currentState = current2?.[DRAFT_STATE];\n if (currentState && currentState.base_ === value) {\n state.copy_[prop] = value;\n state.assigned_[prop] = false;\n return true;\n }\n if (is(value, current2) && (value !== void 0 || has(state.base_, prop)))\n return true;\n prepareCopy(state);\n markChanged(state);\n }\n if (state.copy_[prop] === value && // special case: handle new props with value 'undefined'\n (value !== void 0 || prop in state.copy_) || // special case: NaN\n Number.isNaN(value) && Number.isNaN(state.copy_[prop]))\n return true;\n state.copy_[prop] = value;\n state.assigned_[prop] = true;\n return true;\n },\n deleteProperty(state, prop) {\n if (peek(state.base_, prop) !== void 0 || prop in state.base_) {\n state.assigned_[prop] = false;\n prepareCopy(state);\n markChanged(state);\n } else {\n delete state.assigned_[prop];\n }\n if (state.copy_) {\n delete state.copy_[prop];\n }\n return true;\n },\n // Note: We never coerce `desc.value` into an Immer draft, because we can't make\n // the same guarantee in ES5 mode.\n getOwnPropertyDescriptor(state, prop) {\n const owner = latest(state);\n const desc = Reflect.getOwnPropertyDescriptor(owner, prop);\n if (!desc)\n return desc;\n return {\n writable: true,\n configurable: state.type_ !== 1 /* Array */ || prop !== \"length\",\n enumerable: desc.enumerable,\n value: owner[prop]\n };\n },\n defineProperty() {\n die(11);\n },\n getPrototypeOf(state) {\n return getPrototypeOf(state.base_);\n },\n setPrototypeOf() {\n die(12);\n }\n};\nvar arrayTraps = {};\neach(objectTraps, (key, fn) => {\n arrayTraps[key] = function() {\n arguments[0] = arguments[0][0];\n return fn.apply(this, arguments);\n };\n});\narrayTraps.deleteProperty = function(state, prop) {\n if (process.env.NODE_ENV !== \"production\" && isNaN(parseInt(prop)))\n die(13);\n return arrayTraps.set.call(this, state, prop, void 0);\n};\narrayTraps.set = function(state, prop, value) {\n if (process.env.NODE_ENV !== \"production\" && prop !== \"length\" && isNaN(parseInt(prop)))\n die(14);\n return objectTraps.set.call(this, state[0], prop, value, state[0]);\n};\nfunction peek(draft, prop) {\n const state = draft[DRAFT_STATE];\n const source = state ? latest(state) : draft;\n return source[prop];\n}\nfunction readPropFromProto(state, source, prop) {\n const desc = getDescriptorFromProto(source, prop);\n return desc ? `value` in desc ? desc.value : (\n // This is a very special case, if the prop is a getter defined by the\n // prototype, we should invoke it with the draft as context!\n desc.get?.call(state.draft_)\n ) : void 0;\n}\nfunction getDescriptorFromProto(source, prop) {\n if (!(prop in source))\n return void 0;\n let proto = getPrototypeOf(source);\n while (proto) {\n const desc = Object.getOwnPropertyDescriptor(proto, prop);\n if (desc)\n return desc;\n proto = getPrototypeOf(proto);\n }\n return void 0;\n}\nfunction markChanged(state) {\n if (!state.modified_) {\n state.modified_ = true;\n if (state.parent_) {\n markChanged(state.parent_);\n }\n }\n}\nfunction prepareCopy(state) {\n if (!state.copy_) {\n state.copy_ = shallowCopy(\n state.base_,\n state.scope_.immer_.useStrictShallowCopy_\n );\n }\n}\n\n// src/core/immerClass.ts\nvar Immer2 = class {\n constructor(config) {\n this.autoFreeze_ = true;\n this.useStrictShallowCopy_ = false;\n this.useStrictIteration_ = true;\n /**\n * The `produce` function takes a value and a \"recipe function\" (whose\n * return value often depends on the base state). The recipe function is\n * free to mutate its first argument however it wants. All mutations are\n * only ever applied to a __copy__ of the base state.\n *\n * Pass only a function to create a \"curried producer\" which relieves you\n * from passing the recipe function every time.\n *\n * Only plain objects and arrays are made mutable. All other objects are\n * considered uncopyable.\n *\n * Note: This function is __bound__ to its `Immer` instance.\n *\n * @param {any} base - the initial state\n * @param {Function} recipe - function that receives a proxy of the base state as first argument and which can be freely modified\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\n * @returns {any} a new state, or the initial state if nothing was modified\n */\n this.produce = (base, recipe, patchListener) => {\n if (typeof base === \"function\" && typeof recipe !== \"function\") {\n const defaultBase = recipe;\n recipe = base;\n const self = this;\n return function curriedProduce(base2 = defaultBase, ...args) {\n return self.produce(base2, (draft) => recipe.call(this, draft, ...args));\n };\n }\n if (typeof recipe !== \"function\")\n die(6);\n if (patchListener !== void 0 && typeof patchListener !== \"function\")\n die(7);\n let result;\n if (isDraftable(base)) {\n const scope = enterScope(this);\n const proxy = createProxy(base, void 0);\n let hasError = true;\n try {\n result = recipe(proxy);\n hasError = false;\n } finally {\n if (hasError)\n revokeScope(scope);\n else\n leaveScope(scope);\n }\n usePatchesInScope(scope, patchListener);\n return processResult(result, scope);\n } else if (!base || typeof base !== \"object\") {\n result = recipe(base);\n if (result === void 0)\n result = base;\n if (result === NOTHING)\n result = void 0;\n if (this.autoFreeze_)\n freeze(result, true);\n if (patchListener) {\n const p = [];\n const ip = [];\n getPlugin(\"Patches\").generateReplacementPatches_(base, result, p, ip);\n patchListener(p, ip);\n }\n return result;\n } else\n die(1, base);\n };\n this.produceWithPatches = (base, recipe) => {\n if (typeof base === \"function\") {\n return (state, ...args) => this.produceWithPatches(state, (draft) => base(draft, ...args));\n }\n let patches, inversePatches;\n const result = this.produce(base, recipe, (p, ip) => {\n patches = p;\n inversePatches = ip;\n });\n return [result, patches, inversePatches];\n };\n if (typeof config?.autoFreeze === \"boolean\")\n this.setAutoFreeze(config.autoFreeze);\n if (typeof config?.useStrictShallowCopy === \"boolean\")\n this.setUseStrictShallowCopy(config.useStrictShallowCopy);\n if (typeof config?.useStrictIteration === \"boolean\")\n this.setUseStrictIteration(config.useStrictIteration);\n }\n createDraft(base) {\n if (!isDraftable(base))\n die(8);\n if (isDraft(base))\n base = current(base);\n const scope = enterScope(this);\n const proxy = createProxy(base, void 0);\n proxy[DRAFT_STATE].isManual_ = true;\n leaveScope(scope);\n return proxy;\n }\n finishDraft(draft, patchListener) {\n const state = draft && draft[DRAFT_STATE];\n if (!state || !state.isManual_)\n die(9);\n const { scope_: scope } = state;\n usePatchesInScope(scope, patchListener);\n return processResult(void 0, scope);\n }\n /**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * By default, auto-freezing is enabled.\n */\n setAutoFreeze(value) {\n this.autoFreeze_ = value;\n }\n /**\n * Pass true to enable strict shallow copy.\n *\n * By default, immer does not copy the object descriptors such as getter, setter and non-enumrable properties.\n */\n setUseStrictShallowCopy(value) {\n this.useStrictShallowCopy_ = value;\n }\n /**\n * Pass false to use faster iteration that skips non-enumerable properties\n * but still handles symbols for compatibility.\n *\n * By default, strict iteration is enabled (includes all own properties).\n */\n setUseStrictIteration(value) {\n this.useStrictIteration_ = value;\n }\n shouldUseStrictIteration() {\n return this.useStrictIteration_;\n }\n applyPatches(base, patches) {\n let i;\n for (i = patches.length - 1; i >= 0; i--) {\n const patch = patches[i];\n if (patch.path.length === 0 && patch.op === \"replace\") {\n base = patch.value;\n break;\n }\n }\n if (i > -1) {\n patches = patches.slice(i + 1);\n }\n const applyPatchesImpl = getPlugin(\"Patches\").applyPatches_;\n if (isDraft(base)) {\n return applyPatchesImpl(base, patches);\n }\n return this.produce(\n base,\n (draft) => applyPatchesImpl(draft, patches)\n );\n }\n};\nfunction createProxy(value, parent) {\n const draft = isMap(value) ? getPlugin(\"MapSet\").proxyMap_(value, parent) : isSet(value) ? getPlugin(\"MapSet\").proxySet_(value, parent) : createProxyProxy(value, parent);\n const scope = parent ? parent.scope_ : getCurrentScope();\n scope.drafts_.push(draft);\n return draft;\n}\n\n// src/core/current.ts\nfunction current(value) {\n if (!isDraft(value))\n die(10, value);\n return currentImpl(value);\n}\nfunction currentImpl(value) {\n if (!isDraftable(value) || isFrozen(value))\n return value;\n const state = value[DRAFT_STATE];\n let copy;\n let strict = true;\n if (state) {\n if (!state.modified_)\n return state.base_;\n state.finalized_ = true;\n copy = shallowCopy(value, state.scope_.immer_.useStrictShallowCopy_);\n strict = state.scope_.immer_.shouldUseStrictIteration();\n } else {\n copy = shallowCopy(value, true);\n }\n each(\n copy,\n (key, childValue) => {\n set(copy, key, currentImpl(childValue));\n },\n strict\n );\n if (state) {\n state.finalized_ = false;\n }\n return copy;\n}\n\n// src/plugins/patches.ts\nfunction enablePatches() {\n const errorOffset = 16;\n if (process.env.NODE_ENV !== \"production\") {\n errors.push(\n 'Sets cannot have \"replace\" patches.',\n function(op) {\n return \"Unsupported patch operation: \" + op;\n },\n function(path) {\n return \"Cannot apply patch, path doesn't resolve: \" + path;\n },\n \"Patching reserved attributes like __proto__, prototype and constructor is not allowed\"\n );\n }\n const REPLACE = \"replace\";\n const ADD = \"add\";\n const REMOVE = \"remove\";\n function generatePatches_(state, basePath, patches, inversePatches) {\n switch (state.type_) {\n case 0 /* Object */:\n case 2 /* Map */:\n return generatePatchesFromAssigned(\n state,\n basePath,\n patches,\n inversePatches\n );\n case 1 /* Array */:\n return generateArrayPatches(state, basePath, patches, inversePatches);\n case 3 /* Set */:\n return generateSetPatches(\n state,\n basePath,\n patches,\n inversePatches\n );\n }\n }\n function generateArrayPatches(state, basePath, patches, inversePatches) {\n let { base_, assigned_ } = state;\n let copy_ = state.copy_;\n if (copy_.length < base_.length) {\n ;\n [base_, copy_] = [copy_, base_];\n [patches, inversePatches] = [inversePatches, patches];\n }\n for (let i = 0; i < base_.length; i++) {\n if (assigned_[i] && copy_[i] !== base_[i]) {\n const path = basePath.concat([i]);\n patches.push({\n op: REPLACE,\n path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[i])\n });\n inversePatches.push({\n op: REPLACE,\n path,\n value: clonePatchValueIfNeeded(base_[i])\n });\n }\n }\n for (let i = base_.length; i < copy_.length; i++) {\n const path = basePath.concat([i]);\n patches.push({\n op: ADD,\n path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[i])\n });\n }\n for (let i = copy_.length - 1; base_.length <= i; --i) {\n const path = basePath.concat([i]);\n inversePatches.push({\n op: REMOVE,\n path\n });\n }\n }\n function generatePatchesFromAssigned(state, basePath, patches, inversePatches) {\n const { base_, copy_ } = state;\n each(state.assigned_, (key, assignedValue) => {\n const origValue = get(base_, key);\n const value = get(copy_, key);\n const op = !assignedValue ? REMOVE : has(base_, key) ? REPLACE : ADD;\n if (origValue === value && op === REPLACE)\n return;\n const path = basePath.concat(key);\n patches.push(op === REMOVE ? { op, path } : { op, path, value });\n inversePatches.push(\n op === ADD ? { op: REMOVE, path } : op === REMOVE ? { op: ADD, path, value: clonePatchValueIfNeeded(origValue) } : { op: REPLACE, path, value: clonePatchValueIfNeeded(origValue) }\n );\n });\n }\n function generateSetPatches(state, basePath, patches, inversePatches) {\n let { base_, copy_ } = state;\n let i = 0;\n base_.forEach((value) => {\n if (!copy_.has(value)) {\n const path = basePath.concat([i]);\n patches.push({\n op: REMOVE,\n path,\n value\n });\n inversePatches.unshift({\n op: ADD,\n path,\n value\n });\n }\n i++;\n });\n i = 0;\n copy_.forEach((value) => {\n if (!base_.has(value)) {\n const path = basePath.concat([i]);\n patches.push({\n op: ADD,\n path,\n value\n });\n inversePatches.unshift({\n op: REMOVE,\n path,\n value\n });\n }\n i++;\n });\n }\n function generateReplacementPatches_(baseValue, replacement, patches, inversePatches) {\n patches.push({\n op: REPLACE,\n path: [],\n value: replacement === NOTHING ? void 0 : replacement\n });\n inversePatches.push({\n op: REPLACE,\n path: [],\n value: baseValue\n });\n }\n function applyPatches_(draft, patches) {\n patches.forEach((patch) => {\n const { path, op } = patch;\n let base = draft;\n for (let i = 0; i < path.length - 1; i++) {\n const parentType = getArchtype(base);\n let p = path[i];\n if (typeof p !== \"string\" && typeof p !== \"number\") {\n p = \"\" + p;\n }\n if ((parentType === 0 /* Object */ || parentType === 1 /* Array */) && (p === \"__proto__\" || p === \"constructor\"))\n die(errorOffset + 3);\n if (typeof base === \"function\" && p === \"prototype\")\n die(errorOffset + 3);\n base = get(base, p);\n if (typeof base !== \"object\")\n die(errorOffset + 2, path.join(\"/\"));\n }\n const type = getArchtype(base);\n const value = deepClonePatchValue(patch.value);\n const key = path[path.length - 1];\n switch (op) {\n case REPLACE:\n switch (type) {\n case 2 /* Map */:\n return base.set(key, value);\n case 3 /* Set */:\n die(errorOffset);\n default:\n return base[key] = value;\n }\n case ADD:\n switch (type) {\n case 1 /* Array */:\n return key === \"-\" ? base.push(value) : base.splice(key, 0, value);\n case 2 /* Map */:\n return base.set(key, value);\n case 3 /* Set */:\n return base.add(value);\n default:\n return base[key] = value;\n }\n case REMOVE:\n switch (type) {\n case 1 /* Array */:\n return base.splice(key, 1);\n case 2 /* Map */:\n return base.delete(key);\n case 3 /* Set */:\n return base.delete(patch.value);\n default:\n return delete base[key];\n }\n default:\n die(errorOffset + 1, op);\n }\n });\n return draft;\n }\n function deepClonePatchValue(obj) {\n if (!isDraftable(obj))\n return obj;\n if (Array.isArray(obj))\n return obj.map(deepClonePatchValue);\n if (isMap(obj))\n return new Map(\n Array.from(obj.entries()).map(([k, v]) => [k, deepClonePatchValue(v)])\n );\n if (isSet(obj))\n return new Set(Array.from(obj).map(deepClonePatchValue));\n const cloned = Object.create(getPrototypeOf(obj));\n for (const key in obj)\n cloned[key] = deepClonePatchValue(obj[key]);\n if (has(obj, DRAFTABLE))\n cloned[DRAFTABLE] = obj[DRAFTABLE];\n return cloned;\n }\n function clonePatchValueIfNeeded(obj) {\n if (isDraft(obj)) {\n return deepClonePatchValue(obj);\n } else\n return obj;\n }\n loadPlugin(\"Patches\", {\n applyPatches_,\n generatePatches_,\n generateReplacementPatches_\n });\n}\n\n// src/plugins/mapset.ts\nfunction enableMapSet() {\n class DraftMap extends Map {\n constructor(target, parent) {\n super();\n this[DRAFT_STATE] = {\n type_: 2 /* Map */,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: void 0,\n assigned_: void 0,\n base_: target,\n draft_: this,\n isManual_: false,\n revoked_: false\n };\n }\n get size() {\n return latest(this[DRAFT_STATE]).size;\n }\n has(key) {\n return latest(this[DRAFT_STATE]).has(key);\n }\n set(key, value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!latest(state).has(key) || latest(state).get(key) !== value) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_.set(key, true);\n state.copy_.set(key, value);\n state.assigned_.set(key, true);\n }\n return this;\n }\n delete(key) {\n if (!this.has(key)) {\n return false;\n }\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareMapCopy(state);\n markChanged(state);\n if (state.base_.has(key)) {\n state.assigned_.set(key, false);\n } else {\n state.assigned_.delete(key);\n }\n state.copy_.delete(key);\n return true;\n }\n clear() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (latest(state).size) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_ = /* @__PURE__ */ new Map();\n each(state.base_, (key) => {\n state.assigned_.set(key, false);\n });\n state.copy_.clear();\n }\n }\n forEach(cb, thisArg) {\n const state = this[DRAFT_STATE];\n latest(state).forEach((_value, key, _map) => {\n cb.call(thisArg, this.get(key), key, this);\n });\n }\n get(key) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n const value = latest(state).get(key);\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (value !== state.base_.get(key)) {\n return value;\n }\n const draft = createProxy(value, state);\n prepareMapCopy(state);\n state.copy_.set(key, draft);\n return draft;\n }\n keys() {\n return latest(this[DRAFT_STATE]).keys();\n }\n values() {\n const iterator = this.keys();\n return {\n [Symbol.iterator]: () => this.values(),\n next: () => {\n const r = iterator.next();\n if (r.done)\n return r;\n const value = this.get(r.value);\n return {\n done: false,\n value\n };\n }\n };\n }\n entries() {\n const iterator = this.keys();\n return {\n [Symbol.iterator]: () => this.entries(),\n next: () => {\n const r = iterator.next();\n if (r.done)\n return r;\n const value = this.get(r.value);\n return {\n done: false,\n value: [r.value, value]\n };\n }\n };\n }\n [(DRAFT_STATE, Symbol.iterator)]() {\n return this.entries();\n }\n }\n function proxyMap_(target, parent) {\n return new DraftMap(target, parent);\n }\n function prepareMapCopy(state) {\n if (!state.copy_) {\n state.assigned_ = /* @__PURE__ */ new Map();\n state.copy_ = new Map(state.base_);\n }\n }\n class DraftSet extends Set {\n constructor(target, parent) {\n super();\n this[DRAFT_STATE] = {\n type_: 3 /* Set */,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: void 0,\n base_: target,\n draft_: this,\n drafts_: /* @__PURE__ */ new Map(),\n revoked_: false,\n isManual_: false\n };\n }\n get size() {\n return latest(this[DRAFT_STATE]).size;\n }\n has(value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!state.copy_) {\n return state.base_.has(value);\n }\n if (state.copy_.has(value))\n return true;\n if (state.drafts_.has(value) && state.copy_.has(state.drafts_.get(value)))\n return true;\n return false;\n }\n add(value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!this.has(value)) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.add(value);\n }\n return this;\n }\n delete(value) {\n if (!this.has(value)) {\n return false;\n }\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n markChanged(state);\n return state.copy_.delete(value) || (state.drafts_.has(value) ? state.copy_.delete(state.drafts_.get(value)) : (\n /* istanbul ignore next */\n false\n ));\n }\n clear() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (latest(state).size) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.clear();\n }\n }\n values() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.values();\n }\n entries() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.entries();\n }\n keys() {\n return this.values();\n }\n [(DRAFT_STATE, Symbol.iterator)]() {\n return this.values();\n }\n forEach(cb, thisArg) {\n const iterator = this.values();\n let result = iterator.next();\n while (!result.done) {\n cb.call(thisArg, result.value, result.value, this);\n result = iterator.next();\n }\n }\n }\n function proxySet_(target, parent) {\n return new DraftSet(target, parent);\n }\n function prepareSetCopy(state) {\n if (!state.copy_) {\n state.copy_ = /* @__PURE__ */ new Set();\n state.base_.forEach((value) => {\n if (isDraftable(value)) {\n const draft = createProxy(value, state);\n state.drafts_.set(value, draft);\n state.copy_.add(draft);\n } else {\n state.copy_.add(value);\n }\n });\n }\n }\n function assertUnrevoked(state) {\n if (state.revoked_)\n die(3, JSON.stringify(latest(state)));\n }\n loadPlugin(\"MapSet\", { proxyMap_, proxySet_ });\n}\n\n// src/immer.ts\nvar immer = new Immer2();\nvar produce = immer.produce;\nvar produceWithPatches = /* @__PURE__ */ immer.produceWithPatches.bind(\n immer\n);\nvar setAutoFreeze = /* @__PURE__ */ immer.setAutoFreeze.bind(immer);\nvar setUseStrictShallowCopy = /* @__PURE__ */ immer.setUseStrictShallowCopy.bind(\n immer\n);\nvar setUseStrictIteration = /* @__PURE__ */ immer.setUseStrictIteration.bind(\n immer\n);\nvar applyPatches = /* @__PURE__ */ immer.applyPatches.bind(immer);\nvar createDraft = /* @__PURE__ */ immer.createDraft.bind(immer);\nvar finishDraft = /* @__PURE__ */ immer.finishDraft.bind(immer);\nfunction castDraft(value) {\n return value;\n}\nfunction castImmutable(value) {\n return value;\n}\nexport {\n Immer2 as Immer,\n applyPatches,\n castDraft,\n castImmutable,\n createDraft,\n current,\n enableMapSet,\n enablePatches,\n finishDraft,\n freeze,\n DRAFTABLE as immerable,\n isDraft,\n isDraftable,\n NOTHING as nothing,\n original,\n produce,\n produceWithPatches,\n setAutoFreeze,\n setUseStrictIteration,\n setUseStrictShallowCopy\n};\n//# sourceMappingURL=immer.mjs.map"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
//#region ../../node_modules/.pnpm/radashi@12.7.1/node_modules/radashi/dist/radashi.js
|
|
15
|
+
function castArray(value) {
|
|
16
|
+
return Array.isArray(value) ? value.slice() : [value];
|
|
17
|
+
}
|
|
18
|
+
function iterate(count, func, initValue) {
|
|
19
|
+
let value = initValue;
|
|
20
|
+
for (let i = 1; i <= count; i++) value = func(value, i);
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
23
|
+
function random(min2, max2) {
|
|
24
|
+
return Math.floor(Math.random() * (max2 - min2 + 1) + min2);
|
|
25
|
+
}
|
|
26
|
+
function uid(length, specials = "") {
|
|
27
|
+
const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" + specials;
|
|
28
|
+
return iterate(length, (acc) => {
|
|
29
|
+
return acc + characters.charAt(random(0, characters.length - 1));
|
|
30
|
+
}, "");
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
//#endregion
|
|
34
|
+
export { castArray, uid };
|
|
35
|
+
//# sourceMappingURL=radashi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radashi.js","names":[],"sources":["../../../../../../../../../node_modules/.pnpm/radashi@12.7.1/node_modules/radashi/dist/radashi.js"],"sourcesContent":["// src/array/alphabetical.ts\nfunction alphabetical(array, getter, direction = \"asc\") {\n if (!array) {\n return [];\n }\n const asc = (a, b) => `${getter(a)}`.localeCompare(getter(b));\n const dsc = (a, b) => `${getter(b)}`.localeCompare(getter(a));\n return array.slice().sort(direction === \"desc\" ? dsc : asc);\n}\n\n// src/array/boil.ts\nfunction boil(array, compareFunc) {\n if (!array || (array.length ?? 0) === 0) {\n return null;\n }\n return array.reduce(compareFunc);\n}\n\n// src/array/cartesianProduct.ts\nfunction cartesianProduct(...arrays) {\n let out = [[]];\n for (const array of arrays) {\n const result = [];\n for (const currentArray of out) {\n for (const item of array) {\n const currentArrayCopy = currentArray.slice();\n currentArrayCopy.push(item);\n result.push(currentArrayCopy);\n }\n }\n out = result;\n }\n return out;\n}\n\n// src/array/castArray.ts\nfunction castArray(value) {\n return Array.isArray(value) ? value.slice() : [value];\n}\n\n// src/array/castArrayIfExists.ts\nfunction castArrayIfExists(value) {\n return Array.isArray(value) ? value.slice() : value != null ? [value] : value;\n}\n\n// src/array/cluster.ts\nfunction cluster(array, size = 2) {\n const clusters = [];\n if (size > 0) {\n for (let i = 0; i < array.length; i += size) {\n clusters.push(array.slice(i, i + size));\n }\n }\n return clusters;\n}\n\n// src/array/concat.ts\nfunction concat(...values) {\n const result = [];\n const append = (value) => value != null && result.push(value);\n for (const value of values) {\n if (Array.isArray(value)) {\n value.forEach(append);\n } else {\n append(value);\n }\n }\n return result;\n}\n\n// src/array/counting.ts\nfunction counting(array, identity2) {\n if (!array) {\n return {};\n }\n return array.reduce(\n (acc, item) => {\n const id = identity2(item);\n acc[id] = (acc[id] ?? 0) + 1;\n return acc;\n },\n {}\n );\n}\n\n// src/array/diff.ts\nfunction diff(root, other, identity2 = (t) => t) {\n if (!(root == null ? void 0 : root.length) && !(other == null ? void 0 : other.length)) {\n return [];\n }\n if ((root == null ? void 0 : root.length) === void 0) {\n return [...other];\n }\n if (!(other == null ? void 0 : other.length)) {\n return [...root];\n }\n const bKeys = other.reduce(\n (acc, item) => {\n acc[identity2(item)] = true;\n return acc;\n },\n {}\n );\n return root.filter((a) => !bKeys[identity2(a)]);\n}\n\n// src/array/first.ts\nfunction first(array, defaultValue) {\n return (array == null ? void 0 : array.length) > 0 ? array[0] : defaultValue;\n}\n\n// src/array/flat.ts\nfunction flat(lists) {\n return lists.reduce((acc, list2) => {\n acc.push(...list2);\n return acc;\n }, []);\n}\n\n// src/array/fork.ts\nfunction fork(array, condition) {\n const forked = [[], []];\n if (array) {\n for (const item of array) {\n forked[condition(item) ? 0 : 1].push(item);\n }\n }\n return forked;\n}\n\n// src/array/group.ts\nfunction group(array, getGroupId) {\n const groups = /* @__PURE__ */ Object.create(null);\n array.forEach((item, index) => {\n const groupId = getGroupId(item, index);\n if (!groups[groupId]) {\n groups[groupId] = [];\n }\n groups[groupId].push(item);\n });\n return groups;\n}\n\n// src/array/intersects.ts\nfunction intersects(listA, listB, identity2) {\n if (!listA || !listB) {\n return false;\n }\n if (identity2) {\n const known = new Set(listA.map(identity2));\n return listB.some((item) => known.has(identity2(item)));\n }\n return listB.some((item) => listA.includes(item));\n}\n\n// src/array/isArrayEqual.ts\nfunction isArrayEqual(array1, array2) {\n if (array1 !== array2) {\n if (array1.length !== array2.length) {\n return false;\n }\n for (let i = 0; i < array1.length; i++) {\n if (!Object.is(array1[i], array2[i])) {\n return false;\n }\n }\n }\n return true;\n}\n\n// src/array/iterate.ts\nfunction iterate(count, func, initValue) {\n let value = initValue;\n for (let i = 1; i <= count; i++) {\n value = func(value, i);\n }\n return value;\n}\n\n// src/array/last.ts\nfunction last(array, defaultValue) {\n return (array == null ? void 0 : array.length) > 0 ? array[array.length - 1] : defaultValue;\n}\n\n// src/array/list.ts\nfunction list(startOrLength, end, valueOrMapper, step) {\n return Array.from(range(startOrLength, end, valueOrMapper, step));\n}\n\n// src/array/mapify.ts\nfunction mapify(array, getKey, getValue = (item) => item) {\n const map2 = /* @__PURE__ */ new Map();\n for (const [index, item] of array.entries()) {\n map2.set(getKey(item, index), getValue(item, index));\n }\n return map2;\n}\n\n// src/array/merge.ts\nfunction merge(prev, array, toKey) {\n if (!array && !prev) {\n return [];\n }\n if (!array) {\n return [...prev];\n }\n if (!prev) {\n return [];\n }\n if (!toKey) {\n return [...prev];\n }\n const keys2 = /* @__PURE__ */ new Map();\n for (const item of array) {\n keys2.set(toKey(item), item);\n }\n return prev.map((prevItem) => {\n const key = toKey(prevItem);\n return keys2.has(key) ? keys2.get(key) : prevItem;\n });\n}\n\n// src/array/objectify.ts\nfunction objectify(array, getKey, getValue = (item) => item) {\n return array.reduce(\n (acc, item, i) => {\n acc[getKey(item, i)] = getValue(item, i);\n return acc;\n },\n {}\n );\n}\n\n// src/array/pluck.ts\nfunction pluck(array, mappings) {\n return array.map(\n mappings ? (item) => mappings.map(\n (mapping) => isFunction(mapping) ? mapping(item) : item[mapping]\n ) : Object.values\n );\n}\n\n// src/array/remove.ts\nfunction remove(array, predicate) {\n return array.filter((item) => !predicate(item));\n}\n\n// src/array/replace.ts\nfunction replace(array, newItem, match) {\n if (!array) {\n return [];\n }\n if (newItem === void 0) {\n return [...array];\n }\n const out = array.slice();\n for (let index = 0; index < array.length; index++) {\n if (match(array[index], index)) {\n out[index] = newItem;\n break;\n }\n }\n return out;\n}\n\n// src/array/replaceOrAppend.ts\nfunction replaceOrAppend(array, newItem, match) {\n if (!array && !newItem) {\n return [];\n }\n if (!newItem) {\n return [...array];\n }\n if (!array) {\n return [newItem];\n }\n const out = array.slice();\n for (let index = 0; index < array.length; index++) {\n if (match(array[index], index)) {\n out[index] = newItem;\n return out;\n }\n }\n out.push(newItem);\n return out;\n}\n\n// src/array/select.ts\nfunction select(array, mapper, condition) {\n if (!array) {\n return [];\n }\n let mapped;\n return array.reduce((acc, item, index) => {\n if (condition) {\n condition(item, index) && acc.push(mapper(item, index));\n } else if ((mapped = mapper(item, index)) != null) {\n acc.push(mapped);\n }\n return acc;\n }, []);\n}\n\n// src/array/selectFirst.ts\nfunction selectFirst(array, mapper, condition) {\n if (!array) {\n return void 0;\n }\n let foundIndex = -1;\n const found = array.find((item, index) => {\n foundIndex = index;\n return condition ? condition(item, index) : mapper(item, index) != null;\n });\n return found === void 0 ? void 0 : mapper(found, foundIndex);\n}\n\n// src/array/shift.ts\nfunction shift(arr, n) {\n if (arr.length === 0) {\n return [...arr];\n }\n const shiftNumber = n % arr.length;\n if (shiftNumber === 0) {\n return [...arr];\n }\n return [...arr.slice(-shiftNumber, arr.length), ...arr.slice(0, -shiftNumber)];\n}\n\n// src/array/sift.ts\nfunction sift(array) {\n return (array == null ? void 0 : array.filter((x) => !!x)) ?? [];\n}\n\n// src/array/sort.ts\nfunction sort(array, getter = identity, desc = false) {\n if (!array) {\n return [];\n }\n const asc = (a, b) => getter(a) - getter(b);\n const dsc = (a, b) => getter(b) - getter(a);\n return array.slice().sort(desc === true ? dsc : asc);\n}\n\n// src/array/toggle.ts\nfunction toggle(array, item, toKey, options) {\n if (!array) {\n return item !== void 0 ? [item] : [];\n }\n if (item === void 0) {\n return [...array];\n }\n let matcher;\n if (toKey) {\n const key = toKey(item, -1);\n matcher = (x, idx) => toKey(x, idx) === key;\n } else {\n matcher = (x) => x === item;\n }\n const existing = array.find(matcher);\n if (existing !== void 0) {\n return array.filter((x, idx) => !matcher(x, idx));\n }\n return (options == null ? void 0 : options.strategy) === \"prepend\" ? [item, ...array] : [...array, item];\n}\n\n// src/array/unique.ts\nfunction unique(array, toKey) {\n if (toKey) {\n const keys2 = /* @__PURE__ */ new Set();\n return array.reduce((acc, item) => {\n const key = toKey(item);\n if (!keys2.has(key)) {\n keys2.add(key);\n acc.push(item);\n }\n return acc;\n }, []);\n }\n return [...new Set(array)];\n}\n\n// src/array/unzip.ts\nfunction unzip(arrays) {\n if (!arrays || !arrays.length) {\n return [];\n }\n const out = new Array(\n arrays.reduce((max2, arr) => Math.max(max2, arr.length), 0)\n );\n let index = 0;\n const get2 = (array) => array[index];\n for (; index < out.length; index++) {\n out[index] = Array.from(arrays, get2);\n }\n return out;\n}\n\n// src/array/zip.ts\nfunction zip(...arrays) {\n return unzip(arrays);\n}\n\n// src/array/zipToObject.ts\nfunction zipToObject(keys2, values) {\n if (!keys2 || !keys2.length) {\n return {};\n }\n const getValue = isFunction(values) ? values : isArray(values) ? (_k, i) => values[i] : (_k, _i) => values;\n return keys2.reduce(\n (acc, key, idx) => {\n acc[key] = getValue(key, idx);\n return acc;\n },\n {}\n );\n}\n\n// src/async/all.ts\nasync function all(input) {\n const errors = [];\n const onError = (err) => {\n errors.push(err);\n };\n let output;\n if (isArray(input)) {\n output = await Promise.all(\n input.map((value) => Promise.resolve(value).catch(onError))\n );\n } else {\n output = { ...input };\n await Promise.all(\n Object.keys(output).map(async (key) => {\n output[key] = await Promise.resolve(output[key]).catch(onError);\n })\n );\n }\n if (errors.length > 0) {\n throw new AggregateErrorOrPolyfill(errors);\n }\n return output;\n}\n\n// src/async/defer.ts\nasync function defer(func) {\n const callbacks = [];\n const register = (fn, options) => callbacks.push({\n fn,\n rethrow: (options == null ? void 0 : options.rethrow) ?? false\n });\n const [err, response] = await tryit(func)(register);\n for (const { fn, rethrow } of callbacks) {\n const [rethrown] = await tryit(fn)(err);\n if (rethrown && rethrow) {\n throw rethrown;\n }\n }\n if (err) {\n throw err;\n }\n return response;\n}\n\n// src/async/guard.ts\nfunction guard(func, shouldGuard) {\n const onError = (err) => {\n if (shouldGuard && !shouldGuard(err)) {\n throw err;\n }\n };\n try {\n const result = func();\n return result instanceof Promise ? result.catch(onError) : result;\n } catch (err) {\n return onError(err);\n }\n}\n\n// src/async/map.ts\nasync function map(array, asyncMapFunc) {\n if (!array) {\n return [];\n }\n const result = [];\n let index = 0;\n for (const value of array) {\n const newValue = await asyncMapFunc(value, index++);\n result.push(newValue);\n }\n return result;\n}\n\n// src/async/parallel.ts\nasync function parallel(options, array, func) {\n if (!array.length) {\n return [];\n }\n const work = array.map((item, index) => ({\n index,\n item\n }));\n let signal;\n if (isNumber(options)) {\n options = {\n limit: options\n };\n } else {\n signal = options.signal;\n signal == null ? void 0 : signal.throwIfAborted();\n }\n const processor = async (resolve) => {\n const results2 = [];\n while (!(signal == null ? void 0 : signal.aborted)) {\n const next = work.pop();\n if (!next) {\n break;\n }\n const [error, result] = await tryit(func)(next.item);\n results2.push({\n error,\n result,\n index: next.index\n });\n }\n return resolve(results2);\n };\n const queues = Promise.all(\n list(1, clamp(options.limit, 1, array.length)).map(\n () => new Promise(processor)\n )\n );\n let signalPromise;\n if (signal) {\n signalPromise = new Promise((_, reject) => {\n const onAbort = () => reject(signal.reason);\n signal.addEventListener(\"abort\", onAbort);\n queues.then(() => signal.removeEventListener(\"abort\", onAbort));\n });\n }\n const itemResults = await (signalPromise ? Promise.race([queues, signalPromise]) : queues);\n const [errors, results] = fork(\n sort(flat(itemResults), (r) => r.index),\n (x) => !!x.error\n );\n if (errors.length > 0) {\n throw new AggregateErrorOrPolyfill(errors.map((error) => error.error));\n }\n return results.map((r) => r.result);\n}\n\n// src/async/queueByKey.ts\nfunction queueByKey(asyncFn, keyFn) {\n const queues = /* @__PURE__ */ new Map();\n return async (...args) => {\n const key = keyFn(...args);\n const next = () => asyncFn(...args);\n const queue = (queues.get(key) || Promise.resolve()).then(next, next);\n queues.set(key, queue);\n const cleanup = () => queues.get(key) === queue && queues.delete(key);\n queue.then(cleanup, cleanup);\n return queue;\n };\n}\n\n// src/async/reduce.ts\nasync function reduce(array, reducer, initialValue) {\n if (!array) {\n array = [];\n }\n let index = 0;\n let acc = initialValue;\n if (acc === void 0 && arguments.length < 3) {\n if (!array.length) {\n throw new TypeError(\"Reduce of empty array with no initial value\");\n }\n acc = array[index++];\n }\n while (index < array.length) {\n acc = await reducer(acc, array[index], index++);\n }\n return acc;\n}\n\n// src/async/retry.ts\nasync function retry(options, func) {\n const times = (options == null ? void 0 : options.times) ?? 3;\n const delay = options == null ? void 0 : options.delay;\n const backoff = (options == null ? void 0 : options.backoff) ?? null;\n const signal = options == null ? void 0 : options.signal;\n let i = 0;\n while (true) {\n const [err, result] = await tryit(func)((err2) => {\n throw { _exited: err2 };\n });\n signal == null ? void 0 : signal.throwIfAborted();\n if (!err) {\n return result;\n }\n if (err._exited) {\n throw err._exited;\n }\n if (++i >= times) {\n throw err;\n }\n if (delay) {\n await sleep(delay);\n }\n if (backoff) {\n await sleep(backoff(i));\n }\n }\n}\n\n// src/async/sleep.ts\nfunction sleep(milliseconds) {\n return new Promise((res) => setTimeout(res, milliseconds));\n}\n\n// src/async/timeout.ts\nfunction timeout(ms, error) {\n return new Promise(\n (_, reject) => setTimeout(\n () => reject(isFunction(error) ? error() : new TimeoutError(error)),\n ms\n )\n );\n}\n\n// src/async/toResult.ts\nasync function toResult(promise) {\n try {\n const result = await promise;\n return [void 0, result];\n } catch (error) {\n if (isError(error)) {\n return [error, void 0];\n }\n throw error;\n }\n}\n\n// src/async/tryit.ts\nfunction tryit(func) {\n return (...args) => {\n try {\n const result = func(...args);\n return isPromise(result) ? result.then(\n (value) => [void 0, value],\n (err) => [err, void 0]\n ) : [void 0, result];\n } catch (err) {\n return [err, void 0];\n }\n };\n}\n\n// src/async/withResolvers.ts\nfunction withResolvers() {\n let resolve;\n let reject;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n return { resolve, reject, promise };\n}\n\n// src/curry/callable.ts\nfunction callable(obj, fn) {\n return new Proxy(Object.assign(fn.bind(null), obj), {\n get: (target, key) => target[key],\n set: (target, key, value) => {\n target[key] = value;\n return true;\n },\n apply: (target, _, args) => fn(Object.assign({}, target))(...args)\n });\n}\n\n// src/curry/chain.ts\nfunction chain(...funcs) {\n return (...args) => {\n return funcs.slice(1).reduce((acc, fn) => fn(acc), funcs[0](...args));\n };\n}\n\n// src/curry/compose.ts\nfunction compose(...funcs) {\n return funcs.reverse().reduce((acc, fn) => fn(acc));\n}\n\n// src/curry/debounce.ts\nfunction debounce({ delay, leading }, func) {\n let timer = void 0;\n let active = true;\n const debounced = (...args) => {\n if (active) {\n clearTimeout(timer);\n timer = setTimeout(() => {\n active && func(...args);\n timer = void 0;\n }, delay);\n if (leading) {\n func(...args);\n leading = false;\n }\n } else {\n func(...args);\n }\n };\n debounced.isPending = () => {\n return timer !== void 0;\n };\n debounced.cancel = () => {\n active = false;\n };\n debounced.flush = (...args) => func(...args);\n return debounced;\n}\n\n// src/curry/flip.ts\nfunction flip(fn) {\n return (arg2, arg1, ...args) => fn(arg1, arg2, ...args);\n}\n\n// src/curry/memo.ts\nfunction memoize(cache, func, keyFunc, ttl) {\n return function callWithMemo(...args) {\n const key = keyFunc ? keyFunc(...args) : JSON.stringify({ args });\n const existing = cache[key];\n if (existing !== void 0) {\n if (!existing.exp) {\n return existing.value;\n }\n if (existing.exp > (/* @__PURE__ */ new Date()).getTime()) {\n return existing.value;\n }\n }\n const result = func(...args);\n cache[key] = {\n exp: ttl ? (/* @__PURE__ */ new Date()).getTime() + ttl : null,\n value: result\n };\n return result;\n };\n}\nfunction memo(func, options = {}) {\n return memoize({}, func, options.key ?? null, options.ttl ?? null);\n}\n\n// src/curry/memoLastCall.ts\nfunction memoLastCall(fn) {\n let lastArgs = null;\n let lastResult = null;\n return (...args) => {\n if (lastArgs && lastArgs.length === args.length && lastArgs.every((arg, i) => Object.is(arg, args[i]))) {\n return lastResult;\n }\n const result = fn(...args);\n lastArgs = args;\n lastResult = result;\n return result;\n };\n}\n\n// src/curry/once.ts\nvar once = /* @__PURE__ */ (() => {\n const onceSymbol = /* @__PURE__ */ Symbol();\n const once2 = (fn) => {\n const onceFn = function(...args) {\n if (onceFn[onceSymbol] === onceSymbol) {\n onceFn[onceSymbol] = fn.apply(this, args);\n }\n return onceFn[onceSymbol];\n };\n onceFn[onceSymbol] = onceSymbol;\n return onceFn;\n };\n once2.reset = (fn) => {\n fn[onceSymbol] = onceSymbol;\n };\n return once2;\n})();\n\n// src/curry/partial.ts\nfunction partial(fn, ...args) {\n return (...rest) => fn(...[...args, ...rest]);\n}\n\n// src/curry/partob.ts\nfunction partob(fn, argObj) {\n return (restObj) => fn({ ...argObj, ...restObj });\n}\n\n// src/curry/promiseChain.ts\nfunction promiseChain(...funcs) {\n return async (...args) => {\n let result = await funcs[0](...args);\n for (let i = 1; i < funcs.length; i++) {\n result = await funcs[i](result);\n }\n return result;\n };\n}\n\n// src/curry/proxied.ts\nfunction proxied(handler) {\n return new Proxy(\n {},\n {\n get: (target, propertyName) => handler(propertyName)\n }\n );\n}\n\n// src/curry/throttle.ts\nfunction throttle({ interval, trailing }, func) {\n let timer;\n let lastCalled = 0;\n let trailingArgs;\n const throttled = (...args) => {\n if (!isThrottled()) {\n trigger(...args);\n } else if (trailing) {\n trailingArgs = args;\n }\n };\n const isThrottled = () => Date.now() - lastCalled < interval;\n throttled.isThrottled = isThrottled;\n const trigger = throttled.trigger = (...args) => {\n func(...args);\n lastCalled = Date.now();\n if (trailing) {\n trailingArgs = void 0;\n clearTimeout(timer);\n timer = setTimeout(\n () => trailingArgs && trigger(...trailingArgs),\n interval\n );\n }\n };\n return throttled;\n}\n\n// src/function/always.ts\nfunction always(value) {\n return () => value;\n}\n\n// src/function/castComparator.ts\nfunction castComparator(mapping, compare, reverse) {\n const map2 = isFunction(mapping) ? mapping : (obj) => obj[mapping];\n const comparator = (left, right) => {\n const mappedLeft = map2(left);\n const mappedRight = map2(right);\n if (compare) {\n return compare(mappedLeft, mappedRight);\n }\n return mappedLeft > mappedRight ? 1 : mappedLeft < mappedRight ? -1 : 0;\n };\n return reverse ? flip(comparator) : comparator;\n}\n\n// src/function/castMapping.ts\nfunction castMapping(mapping) {\n return isFunction(mapping) ? mapping : mapping != null ? (input) => input[mapping] : (input) => input;\n}\n\n// src/function/identity.ts\nfunction identity(value) {\n return value;\n}\n\n// src/function/noop.ts\nfunction noop() {\n}\n\n// src/number/clamp.ts\nfunction clamp(n, min2, max2) {\n if (max2 != null && min2 != null && min2 > max2) {\n throw new Error(\"invalid clamp range\");\n }\n return max2 != null && n > max2 ? max2 : min2 != null && n < min2 ? min2 : n;\n}\n\n// src/number/inRange.ts\nfunction inRange(number, start, end) {\n const isTypeSafe = typeof number === \"number\" && typeof start === \"number\" && (typeof end === \"undefined\" || typeof end === \"number\");\n if (!isTypeSafe) {\n return false;\n }\n if (typeof end === \"undefined\") {\n end = start;\n start = 0;\n }\n return number >= Math.min(start, end) && number < Math.max(start, end);\n}\n\n// src/number/lerp.ts\nfunction lerp(from, to, amount) {\n return from + (to - from) * amount;\n}\n\n// src/number/max.ts\nfunction max(array, getter) {\n if (!array || (array.length ?? 0) === 0) {\n return null;\n }\n const get2 = getter ?? ((v) => v);\n return array.reduce((a, b) => get2(a) > get2(b) ? a : b);\n}\n\n// src/number/min.ts\nfunction min(array, getter) {\n if (!array || (array.length ?? 0) === 0) {\n return null;\n }\n const get2 = getter ?? ((v) => v);\n return array.reduce((a, b) => get2(a) < get2(b) ? a : b);\n}\n\n// src/number/parseDuration.ts\nfunction parseDuration(duration, options) {\n return new DurationParser(options).parse(duration);\n}\n\n// src/number/parseQuantity.ts\nfunction parseQuantity(quantity, options) {\n return new QuantityParser(options).parse(quantity);\n}\n\n// src/number/range.ts\nfunction* range(startOrLength, end, valueOrMapper = (i) => i, step = 1) {\n const mapper = isFunction(valueOrMapper) ? valueOrMapper : () => valueOrMapper;\n const start = end !== void 0 ? startOrLength : 0;\n const final = end ?? startOrLength;\n for (let i = start; i <= final; i += step) {\n yield mapper(i);\n }\n}\n\n// src/number/round.ts\nfunction round(value, precision, toInteger = Math.round) {\n if (precision) {\n const p = precision > 0 ? Math.min(precision, 292) : Math.max(precision, -323);\n let [q, e] = `${value}e`.split(\"e\");\n [q, e] = `${toInteger(+`${q}e${+e + p}`)}e`.split(\"e\");\n return +`${q}e${+e - p}`;\n }\n return toInteger(value);\n}\n\n// src/number/sum.ts\nfunction sum(array, fn) {\n return (array || []).reduce((acc, item) => acc + (fn ? fn(item) : item), 0);\n}\n\n// src/number/toFloat.ts\nfunction toFloat(value, defaultValue) {\n const parsedValue = isSymbol(value) ? Number.NaN : Number.parseFloat(value);\n return Number.isNaN(parsedValue) ? defaultValue !== void 0 ? defaultValue : 0 : parsedValue;\n}\n\n// src/number/toInt.ts\nfunction toInt(value, defaultValue) {\n const parsedValue = isSymbol(value) ? Number.NaN : Number.parseInt(value);\n return Number.isNaN(parsedValue) ? defaultValue !== void 0 ? defaultValue : 0 : parsedValue;\n}\n\n// src/object/assign.ts\nfunction assign(initial, override) {\n if (!initial || !override) {\n return initial ?? override ?? {};\n }\n const proto = Object.getPrototypeOf(initial);\n const merged = proto ? { ...initial } : Object.assign(Object.create(proto), initial);\n for (const key of Object.keys(override)) {\n merged[key] = isPlainObject(initial[key]) && isPlainObject(override[key]) ? assign(initial[key], override[key]) : override[key];\n }\n return merged;\n}\n\n// src/object/clone.ts\nfunction clone(obj) {\n if (isPrimitive(obj)) {\n return obj;\n }\n if (typeof obj === \"function\") {\n return obj.bind({});\n }\n const proto = Object.getPrototypeOf(obj);\n const newObj = typeof (proto == null ? void 0 : proto.constructor) === \"function\" ? new proto.constructor() : Object.create(proto);\n for (const key of Object.getOwnPropertyNames(obj)) {\n newObj[key] = obj[key];\n }\n return newObj;\n}\n\n// src/object/cloneDeep.ts\nvar DefaultCloningStrategy = {\n cloneMap(input, track, clone2) {\n const output = track(/* @__PURE__ */ new Map());\n for (const [key, value] of input) {\n output.set(key, clone2(value));\n }\n return output;\n },\n cloneSet(input, track, clone2) {\n const output = track(/* @__PURE__ */ new Set());\n for (const value of input) {\n output.add(clone2(value));\n }\n return output;\n },\n cloneArray(input, track, clone2) {\n const output = track(new Array(input.length));\n input.forEach((value, index) => {\n output[index] = clone2(value);\n });\n return output;\n },\n cloneObject(input, track, clone2) {\n const output = track(Object.create(Object.getPrototypeOf(input)));\n for (const key of Reflect.ownKeys(input)) {\n const descriptor = Object.getOwnPropertyDescriptor(input, key);\n if (\"value\" in descriptor) {\n descriptor.value = clone2(descriptor.value);\n }\n Object.defineProperty(output, key, descriptor);\n }\n return output;\n },\n cloneOther(input, track) {\n return track(input);\n }\n};\nvar FastCloningStrategy = {\n cloneObject: (input, track, clone2) => {\n const output = track({ ...input });\n for (const key of Object.keys(input)) {\n output[key] = clone2(input[key]);\n }\n return output;\n }\n};\nfunction cloneDeep(root, customStrategy) {\n const strategy = { ...DefaultCloningStrategy, ...customStrategy };\n const tracked = /* @__PURE__ */ new Map();\n const track = (parent, newParent) => {\n tracked.set(parent, newParent);\n return newParent;\n };\n const clone2 = (value) => value && typeof value === \"object\" ? tracked.get(value) ?? cloneDeep2(value, strategy) : value;\n const cloneDeep2 = (parent, strategy2) => {\n const cloneParent = isObject(parent) ? strategy2.cloneObject : isArray(parent) ? strategy2.cloneArray : isMap(parent) ? strategy2.cloneMap : isSet(parent) ? strategy2.cloneSet : strategy2.cloneOther;\n const newParent = cloneParent(parent, track.bind(null, parent), clone2);\n if (!newParent) {\n return cloneDeep2(parent, DefaultCloningStrategy);\n }\n tracked.set(parent, newParent);\n return newParent;\n };\n return cloneDeep2(root, strategy);\n}\n\n// src/object/construct.ts\nfunction construct(obj) {\n if (!obj) {\n return {};\n }\n return Object.keys(obj).reduce((acc, path) => {\n return set(acc, path, obj[path]);\n }, {});\n}\n\n// src/object/crush.ts\nfunction crush(value) {\n if (!value) {\n return {};\n }\n return function crushReducer(crushed, value2, path) {\n if (isObject(value2) || isArray(value2)) {\n for (const [prop, propValue] of Object.entries(value2)) {\n crushReducer(crushed, propValue, path ? `${path}.${prop}` : prop);\n }\n } else {\n crushed[path] = value2;\n }\n return crushed;\n }({}, value, \"\");\n}\n\n// src/object/filterKey.ts\nfunction filterKey(obj, key, filter) {\n return Object.prototype.hasOwnProperty.call(obj, key) && (filter == null || (isArray(filter) ? filter.includes(key) : filter(obj[key], key, obj)));\n}\n\n// src/object/get.ts\nfunction get(value, path, defaultValue) {\n const segments = path.split(/[\\.\\[\\]]/g);\n let current = value;\n for (const key of segments) {\n if (current === null) {\n return defaultValue;\n }\n if (current === void 0) {\n return defaultValue;\n }\n const unquotedKey = key.replace(/['\"]/g, \"\");\n if (unquotedKey.trim() === \"\") {\n continue;\n }\n current = current[unquotedKey];\n }\n if (current === void 0) {\n return defaultValue;\n }\n return current;\n}\n\n// src/object/getOrInsert.ts\nfunction getOrInsert(map2, key, value) {\n if (map2.has(key)) {\n return map2.get(key);\n }\n map2.set(key, value);\n return value;\n}\n\n// src/object/getOrInsertComputed.ts\nfunction getOrInsertComputed(map2, key, compute) {\n if (map2.has(key)) {\n return map2.get(key);\n }\n const newValue = compute();\n map2.set(key, newValue);\n return newValue;\n}\n\n// src/object/invert.ts\nfunction invert(obj) {\n if (!obj) {\n return {};\n }\n const keys2 = Object.keys(obj);\n return keys2.reduce(\n (acc, key) => {\n acc[obj[key]] = key;\n return acc;\n },\n {}\n );\n}\n\n// src/object/isDangerousKey.ts\nfunction isDangerousKey(key, object) {\n return !(object && !Object.getPrototypeOf(object)) && (key === \"__proto__\" || key === \"prototype\" || key === \"constructor\");\n}\n\n// src/object/keys.ts\nfunction keys(value) {\n if (!value) {\n return [];\n }\n const keys2 = [];\n const keyPath = [];\n const recurse = (value2) => {\n if (isPlainObject(value2)) {\n for (const [prop, propValue] of Object.entries(value2)) {\n keyPath.push(prop);\n recurse(propValue);\n keyPath.pop();\n }\n } else if (isArray(value2)) {\n value2.forEach((item, index) => {\n keyPath.push(index);\n recurse(item);\n keyPath.pop();\n });\n } else {\n keys2.push(keyPath.join(\".\"));\n }\n };\n recurse(value);\n return keys2;\n}\n\n// src/object/listify.ts\nfunction listify(obj, toItem) {\n if (!obj) {\n return [];\n }\n const entries = Object.entries(obj);\n if (entries.length === 0) {\n return [];\n }\n return entries.reduce((acc, entry) => {\n acc.push(toItem(entry[0], entry[1]));\n return acc;\n }, []);\n}\n\n// src/object/lowerize.ts\nfunction lowerize(obj) {\n return mapKeys(obj, (k) => k.toLowerCase());\n}\n\n// src/object/mapEntries.ts\nfunction mapEntries(obj, toEntry) {\n if (!obj) {\n return {};\n }\n return Object.entries(obj).reduce(\n (acc, [key, value]) => {\n const [newKey, newValue] = toEntry(key, value);\n acc[newKey] = newValue;\n return acc;\n },\n {}\n );\n}\n\n// src/object/mapKeys.ts\nfunction mapKeys(obj, mapFunc) {\n const keys2 = Object.keys(obj);\n return keys2.reduce(\n (acc, key) => {\n acc[mapFunc(key, obj[key])] = obj[key];\n return acc;\n },\n {}\n );\n}\n\n// src/object/mapValues.ts\nfunction mapValues(obj, mapFunc) {\n return Object.keys(obj).reduce(\n (acc, key) => {\n acc[key] = mapFunc(obj[key], key);\n return acc;\n },\n {}\n );\n}\n\n// src/object/omit.ts\nfunction omit(obj, keys2) {\n if (!obj) {\n return {};\n }\n if (!keys2 || keys2.length === 0) {\n return obj;\n }\n return keys2.reduce(\n (acc, key) => {\n delete acc[key];\n return acc;\n },\n { ...obj }\n );\n}\n\n// src/object/pick.ts\nfunction pick(obj, filter) {\n if (!obj) {\n return {};\n }\n let keys2 = filter;\n if (isArray(filter)) {\n filter = null;\n } else {\n keys2 = Reflect.ownKeys(obj);\n }\n return keys2.reduce((acc, key) => {\n if (filterKey(obj, key, filter)) {\n acc[key] = obj[key];\n }\n return acc;\n }, {});\n}\n\n// src/object/set.ts\nfunction set(initial, path, value) {\n if (!initial) {\n return {};\n }\n if (!path || value === void 0) {\n return initial;\n }\n return function recurse(object, keys2, index) {\n const key = keys2[index];\n object ??= isIntString(key) ? [] : {};\n if (isDangerousKey(key, object)) {\n throw new Error(\"Unsafe key in path: \" + key);\n }\n if (index < keys2.length - 1) {\n value = recurse(object[key], keys2, index + 1);\n }\n if (!Object.is(object[key], value)) {\n object = clone(object);\n object[key] = value;\n }\n return object;\n }(initial, path.match(/[^.[\\]]+/g), 0);\n}\n\n// src/object/shake.ts\nfunction shake(obj, filter = (value) => value === void 0) {\n if (!obj) {\n return {};\n }\n return Object.keys(obj).reduce((acc, key) => {\n if (!filter(obj[key])) {\n acc[key] = obj[key];\n }\n return acc;\n }, {});\n}\n\n// src/object/traverse.ts\nfunction traverse(root, visitor, options, outerContext) {\n const context = outerContext ?? {\n value: null,\n key: null,\n parent: null,\n parents: [],\n path: [],\n skipped: /* @__PURE__ */ new Set(),\n skip(obj) {\n context.skipped.add(obj ?? context.value);\n }\n };\n const { rootNeedsVisit } = options ??= {};\n const ownKeys = options.ownKeys ?? Object.keys;\n const nestedOptions = {\n ...options,\n rootNeedsVisit: null\n };\n let ok = true;\n const visit = (value, key) => {\n if (context.parent.constructor === Map) {\n [key, value] = value;\n }\n context.path.push(key);\n const result = visitor(\n context.value = value,\n context.key = key,\n context.parent,\n context,\n nestedOptions\n );\n if (result === false) {\n return ok = false;\n }\n if (value !== null && typeof value === \"object\" && (isArray(value) || isPlainObject(value)) && !context.skipped.has(value) && !context.parents.includes(value)) {\n traverse2(value, result);\n }\n context.path.pop();\n return ok;\n };\n const traverse2 = (parent, parentResult) => {\n context.parents.push(parent);\n context.parent = parent;\n if (rootNeedsVisit && parent === root) {\n parentResult = visitor(\n context.value = parent,\n context.key = null,\n context.parent,\n context,\n nestedOptions\n );\n if (parentResult === false) {\n return ok;\n }\n }\n if (isArray(parent)) {\n parent.slice().forEach((value, index, values) => {\n if (visit(value, index) === false) {\n values.length = 0;\n }\n });\n } else if (parent === root && isIterable(parent)) {\n let index = 0;\n for (const value of parent) {\n if (visit(value, index) === false) {\n return ok;\n }\n index++;\n }\n } else {\n for (const key of ownKeys(parent)) {\n if (visit(parent[key], key) === false) {\n return ok;\n }\n }\n }\n context.parents.pop();\n context.parent = last(context.parents);\n if (ok && isFunction(parentResult)) {\n ok = parentResult() !== false;\n }\n return ok;\n };\n if (outerContext) {\n if (outerContext.skipped.has(root)) {\n return true;\n }\n const { value, key } = context;\n traverse2(root);\n context.value = value;\n context.key = key;\n return ok;\n }\n return traverse2(root);\n}\n\n// src/object/upperize.ts\nfunction upperize(obj) {\n return mapKeys(obj, (k) => k.toUpperCase());\n}\n\n// src/oop/AggregateError.ts\nvar AggregateErrorOrPolyfill = /* @__PURE__ */ (() => globalThis.AggregateError ?? class AggregateError extends Error {\n constructor(errors = []) {\n var _a, _b;\n super();\n const name = ((_a = errors.find((e) => e.name)) == null ? void 0 : _a.name) ?? \"\";\n this.name = `AggregateError(${name}...)`;\n this.message = `AggregateError with ${errors.length} errors`;\n this.stack = ((_b = errors.find((e) => e.stack)) == null ? void 0 : _b.stack) ?? this.stack;\n this.errors = errors;\n }\n})();\n\n// src/oop/QuantityParser.ts\nvar QuantityParser = class {\n constructor({ units, short }) {\n this.units = units;\n this.short = short;\n }\n /**\n * Parse a quantity string into its numeric value\n *\n * @throws {Error} If the quantity string is invalid or contains an unknown unit\n */\n parse(quantity) {\n var _a;\n const match = quantity.match(/^(-?\\d+(?:\\.\\d+)?) ?(\\w+)?s?$/);\n if (!match) {\n throw new Error(`Invalid quantity, cannot parse: ${quantity}`);\n }\n let unit = match[2];\n unit = ((_a = this.short) == null ? void 0 : _a[unit]) || unit;\n const count = Number.parseFloat(match[1]);\n if (Math.abs(count) > 1 && unit.endsWith(\"s\")) {\n unit = unit.substring(0, unit.length - 1);\n }\n if (!this.units[unit]) {\n throw new Error(\n `Invalid unit: ${unit}, makes sure it is one of: ${Object.keys(this.units).join(\", \")}`\n );\n }\n return count * this.units[unit];\n }\n};\n\n// src/oop/DurationParser.ts\nvar DURATION_UNITS = {\n week: 6048e5,\n day: 864e5,\n hour: 36e5,\n minute: 6e4,\n second: 1e3,\n millisecond: 1\n};\nvar DURATION_SHORT_UNITS = {\n w: \"week\",\n d: \"day\",\n h: \"hour\",\n m: \"minute\",\n s: \"second\",\n ms: \"millisecond\"\n};\nvar DurationParser = class _DurationParser extends QuantityParser {\n constructor(options) {\n super({\n units: {\n ..._DurationParser.units,\n ...options == null ? void 0 : options.units\n },\n short: {\n ..._DurationParser.shortUnits,\n ...options == null ? void 0 : options.short\n }\n });\n }\n static get units() {\n return DURATION_UNITS;\n }\n static get shortUnits() {\n return DURATION_SHORT_UNITS;\n }\n};\n\n// src/oop/Semaphore.ts\nvar SemaphorePermit = class {\n constructor(semaphore, request, weight) {\n this.semaphore = semaphore;\n this.request = request;\n this.weight = weight;\n }\n /**\n * Releases this permit back to the semaphore, allowing another\n * operation to acquire it.\n */\n release() {\n this.semaphore.release(this);\n this.release = noop;\n }\n};\nvar Semaphore = class {\n /**\n * Creates a new semaphore with the specified capacity.\n * @param maxCapacity Maximum number of permits that can be issued simultaneously\n */\n constructor(maxCapacity) {\n this.maxCapacity = maxCapacity;\n this.queue = [];\n if (maxCapacity <= 0) {\n throw new Error(\"maxCapacity must be > 0\");\n }\n this.capacity = maxCapacity;\n }\n /**\n * Number of pending acquisition requests.\n */\n get queueLength() {\n return this.queue.length;\n }\n /**\n * Acquires a permit from this semaphore, waiting if necessary until\n * one becomes available.\n * @param options.signal - The signal to abort the acquisition\n * @param options.weight - The weight of the permit to acquire\n * @returns A promise that resolves to a permit when one is\n * available\n */\n async acquire({\n signal,\n weight = 1\n } = {}) {\n if (weight <= 0) {\n throw new Error(\"weight must be > 0\");\n }\n if (weight > this.maxCapacity) {\n throw new Error(\"weight must be \\u2264 maxCapacity\");\n }\n const request = withResolvers();\n const permit = new SemaphorePermit(this, request, weight);\n if (signal) {\n const abort = () => {\n const index = this.queue.indexOf(permit);\n if (index >= 0) {\n this.queue.splice(index, 1);\n request.reject(signal.reason);\n }\n };\n signal.addEventListener(\"abort\", abort);\n const cleanup = () => {\n signal.removeEventListener(\"abort\", abort);\n };\n request.promise.then(cleanup, cleanup);\n }\n if (this.capacity < weight) {\n this.queue.push(permit);\n await request.promise;\n } else {\n this.capacity -= weight;\n }\n return permit;\n }\n /**\n * Rejects all pending acquisition requests.\n */\n reject(error) {\n this.acquire = () => Promise.reject(error);\n this.queue.forEach((permit) => permit.request.reject(error));\n this.queue = [];\n }\n /**\n * Releases a permit back to the semaphore, increasing capacity and\n * potentially fulfilling a pending acquisition request.\n */\n release(permit) {\n this.capacity += permit.weight;\n const nextPermit = this.queue[0];\n if (nextPermit && this.capacity >= nextPermit.weight) {\n this.capacity -= nextPermit.weight;\n this.queue.shift();\n nextPermit.request.resolve();\n }\n }\n};\n\n// src/oop/TimeoutError.ts\nvar TimeoutError = class extends Error {\n constructor(message) {\n super(message ?? \"Operation timed out\");\n this.name = \"TimeoutError\";\n }\n};\n\n// src/random/absoluteJitter.ts\nfunction absoluteJitter(base, offset) {\n return base + offset * (2 * Math.random() - 1);\n}\n\n// src/random/draw.ts\nfunction draw(array) {\n const max2 = array.length;\n if (max2 === 0) {\n return null;\n }\n const index = random(0, max2 - 1);\n return array[index];\n}\n\n// src/random/proportionalJitter.ts\nfunction proportionalJitter(base, factor) {\n return base * (1 - factor * (2 * Math.random() - 1));\n}\n\n// src/random/random.ts\nfunction random(min2, max2) {\n return Math.floor(Math.random() * (max2 - min2 + 1) + min2);\n}\n\n// src/random/shuffle.ts\nfunction shuffle(array, random2 = random) {\n const newArray = array.slice();\n for (let idx = array.length - 1, randomIdx, item; idx > 0; idx--) {\n randomIdx = random2(0, idx);\n item = newArray[idx];\n newArray[idx] = newArray[randomIdx];\n newArray[randomIdx] = item;\n }\n return newArray;\n}\n\n// src/random/uid.ts\nfunction uid(length, specials = \"\") {\n const characters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\" + specials;\n return iterate(\n length,\n (acc) => {\n return acc + characters.charAt(random(0, characters.length - 1));\n },\n \"\"\n );\n}\n\n// src/series/series.ts\nvar series = (items, toKey = (item) => `${item}`) => {\n const indexesByKey = {};\n const itemsByIndex = {};\n for (const idx of range(items.length - 1)) {\n const item = items[idx];\n indexesByKey[toKey(item)] = idx;\n itemsByIndex[idx] = item;\n }\n const first2 = () => itemsByIndex[0];\n const last2 = () => itemsByIndex[items.length - 1];\n const next = (current, defaultValue) => itemsByIndex[indexesByKey[toKey(current)] + 1] ?? defaultValue ?? first2();\n const previous = (current, defaultValue) => itemsByIndex[indexesByKey[toKey(current)] - 1] ?? defaultValue ?? last2();\n return {\n /**\n * Given two values in the series, returns the value that occurs\n * earlier in the series.\n */\n min(a, b) {\n return indexesByKey[toKey(a)] < indexesByKey[toKey(b)] ? a : b;\n },\n /**\n * Given two values in the series, returns the value that occurs\n * later in the series.\n */\n max(a, b) {\n return indexesByKey[toKey(a)] > indexesByKey[toKey(b)] ? a : b;\n },\n first: first2,\n last: last2,\n next,\n previous,\n /**\n * A more dynamic method than `next` and `previous` that lets you move\n * many times in either direction.\n *\n * ```ts\n * series(weekdays).spin('wednesday', 3) // => 'monday'\n * series(weekdays).spin('wednesday', -3) // => 'friday'\n * ```\n */\n spin(current, num) {\n if (num === 0) {\n return current;\n }\n const abs = Math.abs(num);\n const rel = abs > items.length ? abs % items.length : abs;\n return list(0, rel - 1).reduce(\n (acc) => num > 0 ? next(acc) : previous(acc),\n current\n );\n }\n };\n};\n\n// src/string/camel.ts\nfunction camel(str) {\n var _a;\n const parts = ((_a = str == null ? void 0 : str.replace(/([A-Z])+/g, capitalize)) == null ? void 0 : _a.split(/(?=[A-Z])|[\\.\\-\\s_]/).map((x) => x.toLowerCase())) ?? [];\n if (parts.length === 0) {\n return \"\";\n }\n if (parts.length === 1) {\n return parts[0];\n }\n return parts.reduce((acc, part) => {\n return `${acc}${part.charAt(0).toUpperCase()}${part.slice(1)}`;\n });\n}\n\n// src/string/capitalize.ts\nfunction capitalize(str) {\n if (!str || str.length === 0) {\n return \"\";\n }\n const lower = str.toLowerCase();\n return lower.substring(0, 1).toUpperCase() + lower.substring(1, lower.length);\n}\n\n// src/string/dash.ts\nfunction dash(str) {\n var _a;\n const parts = ((_a = str == null ? void 0 : str.replace(/([A-Z])+/g, capitalize)) == null ? void 0 : _a.split(/(?=[A-Z])|[\\.\\-\\s_]/).map((x) => x.toLowerCase())) ?? [];\n if (parts.length === 0) {\n return \"\";\n }\n if (parts.length === 1) {\n return parts[0];\n }\n return parts.reduce((acc, part) => {\n return `${acc}-${part.toLowerCase()}`;\n });\n}\n\n// src/string/dedent.ts\nfunction dedent(text, ...values) {\n var _a;\n if (isArray(text)) {\n if (values.length > 0) {\n return dedent(\n text.reduce((acc, input, i) => {\n var _a2;\n let value = String(values[i] ?? \"\");\n const indent2 = value.includes(\"\\n\") && ((_a2 = input.match(/[ \\t]*(?=[^\\n]*$)/)) == null ? void 0 : _a2[0]);\n if (indent2) {\n value = value.replace(/\\n(?=[^\\n]*?\\S)/g, \"\\n\" + indent2);\n }\n return acc + input + value;\n }, \"\")\n );\n }\n text = text[0];\n }\n const indent = values[0] ?? ((_a = text.match(/^[ \\t]*(?=\\S)/m)) == null ? void 0 : _a[0]);\n const output = indent ? text.replace(new RegExp(`^${indent}`, \"gm\"), \"\") : text;\n return output.replace(/^[ \\t]*\\n|\\n[ \\t]*$/g, \"\");\n}\n\n// src/string/escapeHTML.ts\nvar htmlCharacters = /[&<>\"']/g;\nvar replacements = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n};\nfunction escapeHTML(input) {\n return input.replace(htmlCharacters, (char) => replacements[char]);\n}\n\n// src/string/pascal.ts\nfunction pascal(str) {\n if (!str) {\n return \"\";\n }\n const result = str.replace(\n /(?:[^\\w\\d]|_|\\s)+(\\w)([A-Z]+)?/g,\n (_, firstCharacter, capitalizedLetters) => {\n if (capitalizedLetters) {\n return firstCharacter.toUpperCase() + capitalizedLetters.toLowerCase();\n }\n return firstCharacter.toUpperCase();\n }\n );\n return result[0].toUpperCase() + result.substring(1);\n}\n\n// src/string/similarity.ts\nfunction similarity(str1, str2) {\n if (str1 === str2) {\n return 0;\n }\n let start = 0;\n let end1 = str1.length - 1;\n let end2 = str2.length - 1;\n while (start <= end1 && start <= end2 && str1[start] === str2[start]) {\n start++;\n }\n while (end1 >= start && end2 >= start && str1[end1] === str2[end2]) {\n end1--;\n end2--;\n }\n const length1 = end1 - start + 1;\n const length2 = end2 - start + 1;\n if (length1 === 0) {\n return length2;\n }\n if (length2 === 0) {\n return length1;\n }\n const numRows = length1 + 1;\n const numColumns = length2 + 1;\n const distances = new Array(numRows * numColumns).fill(0);\n for (let x = 1; x < numColumns; x++) {\n distances[x] = x;\n }\n for (let y = 1; y < numRows; y++) {\n distances[y * numColumns] = y;\n }\n for (let x = 1; x < numColumns; x++) {\n for (let y = 1; y < numRows; y++) {\n const i = y * numColumns + x;\n distances[i] = Math.min(\n // Cost of a deletion.\n distances[i - numColumns] + 1,\n // Cost of an insertion.\n distances[i - 1] + 1,\n // Cost of a substitution.\n distances[i - numColumns - 1] + (str1[start + y - 1] === str2[start + x - 1] ? 0 : 1)\n );\n }\n }\n return distances[length1 * numColumns + length2];\n}\n\n// src/string/snake.ts\nfunction snake(str, options) {\n const parts = (str == null ? void 0 : str.replace(/([A-Z])+/g, capitalize).split(/(?=[A-Z])|[\\.\\-\\s_]/).map((x) => x.toLowerCase())) ?? [];\n if (parts.length === 0) {\n return \"\";\n }\n if (parts.length === 1) {\n return parts[0];\n }\n const result = parts.reduce((acc, part) => {\n return `${acc}_${part.toLowerCase()}`;\n });\n return (options == null ? void 0 : options.splitOnNumber) === false ? result : result.replace(/([A-Za-z]{1}[0-9]{1})/, (val) => `${val[0]}_${val[1]}`);\n}\n\n// src/string/template.ts\nfunction template(str, data, regex = /\\{\\{(.+?)\\}\\}/g) {\n let result = \"\";\n let from = 0;\n let match;\n while (match = regex.exec(str)) {\n result += str.slice(from, match.index) + data[match[1]];\n from = regex.lastIndex;\n }\n return result + str.slice(from);\n}\n\n// src/string/title.ts\nfunction title(str) {\n if (!str) {\n return \"\";\n }\n return str.split(/(?=[A-Z])|[\\.\\-\\s_]/).map((s) => s.trim()).filter((s) => !!s).map((s) => capitalize(s.toLowerCase())).join(\" \");\n}\n\n// src/string/trim.ts\nfunction trim(str, charsToTrim = \" \") {\n if (!str) {\n return \"\";\n }\n const toTrim = charsToTrim.replace(/[\\W]{1}/g, \"\\\\$&\");\n const regex = new RegExp(`^[${toTrim}]+|[${toTrim}]+$`, \"g\");\n return str.replace(regex, \"\");\n}\n\n// src/typed/assert.ts\nfunction assert(condition, message) {\n if (!condition) {\n throw message instanceof Error ? message : new Error(message ?? \"Assertion failed\");\n }\n}\n\n// src/typed/isArray.ts\nvar isArray = /* @__PURE__ */ (() => Array.isArray)();\n\n// src/typed/isAsyncIterable.ts\nvar asyncIteratorSymbol = (\n /* c8 ignore next */\n Symbol.asyncIterator || /* @__PURE__ */ Symbol.for(\"Symbol.asyncIterator\")\n);\nfunction isAsyncIterable(value) {\n return !!value && typeof value === \"object\" && typeof value[asyncIteratorSymbol] === \"function\";\n}\n\n// src/typed/isBigInt.ts\nfunction isBigInt(value) {\n return typeof value === \"bigint\";\n}\n\n// src/typed/isBoolean.ts\nfunction isBoolean(value) {\n return typeof value === \"boolean\";\n}\n\n// src/typed/isClass.ts\nfunction isClass(value) {\n return isFunction(value) && Function.prototype.toString.call(value).startsWith(\"class \");\n}\n\n// src/typed/isDate.ts\nfunction isDate(value) {\n return isTagged(value, \"[object Date]\");\n}\n\n// src/typed/isEmpty.ts\nfunction isEmpty(value) {\n if (typeof value !== \"object\" || value === null) {\n return !value || value === true;\n }\n if (isDate(value)) {\n return Number.isNaN(value.getTime());\n }\n const length = value.length;\n if (isNumber(length)) {\n return length === 0;\n }\n const size = value.size;\n if (isNumber(size)) {\n return size === 0;\n }\n const keys2 = Object.keys(value).length;\n return keys2 === 0;\n}\n\n// src/typed/isEqual.ts\nfunction isEqual(x, y) {\n if (Object.is(x, y)) {\n return true;\n }\n if (x instanceof Date && y instanceof Date) {\n return x.getTime() === y.getTime();\n }\n if (x instanceof RegExp && y instanceof RegExp) {\n return x.toString() === y.toString();\n }\n if (typeof x !== \"object\" || x === null || typeof y !== \"object\" || y === null) {\n return false;\n }\n const keysX = Reflect.ownKeys(x);\n const keysY = Reflect.ownKeys(y);\n if (keysX.length !== keysY.length) {\n return false;\n }\n for (let i = 0; i < keysX.length; i++) {\n if (!Reflect.has(y, keysX[i])) {\n return false;\n }\n if (!isEqual(x[keysX[i]], y[keysX[i]])) {\n return false;\n }\n }\n return true;\n}\n\n// src/typed/isError.ts\nfunction isError(value) {\n return isTagged(value, \"[object Error]\");\n}\n\n// src/typed/isFloat.ts\nfunction isFloat(value) {\n return isNumber(value) && value % 1 !== 0;\n}\n\n// src/typed/isFunction.ts\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\n// src/typed/isInt.ts\nvar isInt = /* @__PURE__ */ (() => Number.isInteger)();\n\n// src/typed/isIntString.ts\nfunction isIntString(value) {\n if (!isString(value)) {\n return false;\n }\n const num = +value;\n return Number.isInteger(num) && `${num}` === value;\n}\n\n// src/typed/isIterable.ts\nfunction isIterable(value) {\n return typeof value === \"object\" && value !== null && Symbol.iterator in value;\n}\n\n// src/typed/isMap.ts\nfunction isMap(value) {\n return isTagged(value, \"[object Map]\");\n}\n\n// src/typed/isMapEqual.ts\nfunction isMapEqual(x, y) {\n if (x.size !== y.size) {\n return false;\n }\n for (const [key, value] of x) {\n if (!isEqual(value, y.get(key))) {\n return false;\n }\n }\n return true;\n}\n\n// src/typed/isNullish.ts\nfunction isNullish(value) {\n return value === null || value === void 0;\n}\n\n// src/typed/isNumber.ts\nfunction isNumber(value) {\n return typeof value === \"number\" && !Number.isNaN(value);\n}\n\n// src/typed/isObject.ts\nfunction isObject(value) {\n return isTagged(value, \"[object Object]\");\n}\n\n// src/typed/isPlainObject.ts\nfunction isPlainObject(value) {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n return (\n // Fast path for most common objects.\n prototype === Object.prototype || // Support objects created without a prototype.\n prototype === null || // Support plain objects from other realms.\n Object.getPrototypeOf(prototype) === null\n );\n}\n\n// src/typed/isPrimitive.ts\nfunction isPrimitive(value) {\n return value === void 0 || value === null || typeof value !== \"object\" && typeof value !== \"function\";\n}\n\n// src/typed/isPromise.ts\nfunction isPromise(value) {\n return !!value && isFunction(value.then);\n}\n\n// src/typed/isRegExp.ts\nfunction isRegExp(value) {\n return isTagged(value, \"[object RegExp]\");\n}\n\n// src/typed/isResult.ts\nfunction isResult(value) {\n return isArray(value) && value.length === 2 && (isError(value[0]) ? value[1] : value[0]) === void 0;\n}\n\n// src/typed/isResultErr.ts\nfunction isResultErr(value) {\n return isResult(value) && value[0] !== void 0;\n}\n\n// src/typed/isResultOk.ts\nfunction isResultOk(value) {\n return isResult(value) && value[0] === void 0;\n}\n\n// src/typed/isSet.ts\nfunction isSet(value) {\n return isTagged(value, \"[object Set]\");\n}\n\n// src/typed/isSetEqual.ts\nfunction isSetEqual(x, y) {\n if (x.size !== y.size) {\n return false;\n }\n for (const item of x) {\n if (!y.has(item)) {\n return false;\n }\n }\n return true;\n}\n\n// src/typed/isString.ts\nfunction isString(value) {\n return typeof value === \"string\";\n}\n\n// src/typed/isSymbol.ts\nfunction isSymbol(value) {\n return typeof value === \"symbol\";\n}\n\n// src/typed/isTagged.ts\nfunction isTagged(value, tag) {\n return Object.prototype.toString.call(value) === tag;\n}\n\n// src/typed/isUndefined.ts\nfunction isUndefined(value) {\n return typeof value === \"undefined\";\n}\n\n// src/typed/isWeakMap.ts\nfunction isWeakMap(value) {\n return isTagged(value, \"[object WeakMap]\");\n}\n\n// src/typed/isWeakSet.ts\nfunction isWeakSet(value) {\n return isTagged(value, \"[object WeakSet]\");\n}\n\nexport { AggregateErrorOrPolyfill as AggregateError, DefaultCloningStrategy, DurationParser, FastCloningStrategy, QuantityParser, Semaphore, SemaphorePermit, TimeoutError, absoluteJitter, all, alphabetical, always, assert, assign, boil, callable, camel, capitalize, cartesianProduct, castArray, castArrayIfExists, castComparator, castMapping, chain, clamp, clone, cloneDeep, cluster, compose, concat, construct, counting, crush, dash, debounce, dedent, defer, diff, draw, escapeHTML, filterKey, first, flat, flip, fork, get, getOrInsert, getOrInsertComputed, group, guard, identity, inRange, intersects, invert, isArray, isArrayEqual, isAsyncIterable, isBigInt, isBoolean, isClass, isDangerousKey, isDate, isEmpty, isEqual, isError, isFloat, isFunction, isInt, isIntString, isIterable, isMap, isMapEqual, isNullish, isNumber, isObject, isPlainObject, isPrimitive, isPromise, isRegExp, isResult, isResultErr, isResultOk, isSet, isSetEqual, isString, isSymbol, isTagged, isUndefined, isWeakMap, isWeakSet, iterate, keys, last, lerp, list, listify, lowerize, map, mapEntries, mapKeys, mapValues, mapify, max, memo, memoLastCall, merge, min, noop, objectify, omit, once, parallel, parseDuration, parseQuantity, partial, partob, pascal, pick, pluck, promiseChain, proportionalJitter, proxied, queueByKey, random, range, reduce, remove, replace, replaceOrAppend, retry, round, select, selectFirst, series, set, shake, shift, shuffle, sift, similarity, sleep, snake, sort, sum, template, throttle, timeout, title, toFloat, toInt, toResult, toggle, traverse, trim, tryit as try, tryit, uid, unique, unzip, upperize, withResolvers, zip, zipToObject };\n"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;AAoCA,SAAS,UAAU,OAAO;AACxB,QAAO,MAAM,QAAQ,MAAM,GAAG,MAAM,OAAO,GAAG,CAAC,MAAM;;AAsIvD,SAAS,QAAQ,OAAO,MAAM,WAAW;CACvC,IAAI,QAAQ;AACZ,MAAK,IAAI,IAAI,GAAG,KAAK,OAAO,IAC1B,SAAQ,KAAK,OAAO,EAAE;AAExB,QAAO;;AAg7CT,SAAS,OAAO,MAAM,MAAM;AAC1B,QAAO,KAAK,MAAM,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,KAAK;;AAgB7D,SAAS,IAAI,QAAQ,WAAW,IAAI;CAClC,MAAM,aAAa,mEAAmE;AACtF,QAAO,QACL,SACC,QAAQ;AACP,SAAO,MAAM,WAAW,OAAO,OAAO,GAAG,WAAW,SAAS,EAAE,CAAC;IAElE,GACD"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
import { __commonJSMin, __require } from "../../../../../../_virtual/rolldown_runtime.js";
|
|
15
|
+
|
|
16
|
+
//#region ../../node_modules/.pnpm/react-dom@19.2.3_react@19.2.3/node_modules/react-dom/cjs/react-dom.development.js
|
|
17
|
+
/**
|
|
18
|
+
* @license React
|
|
19
|
+
* react-dom.development.js
|
|
20
|
+
*
|
|
21
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
22
|
+
*
|
|
23
|
+
* This source code is licensed under the MIT license found in the
|
|
24
|
+
* LICENSE file in the root directory of this source tree.
|
|
25
|
+
*/
|
|
26
|
+
var require_react_dom_development = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
27
|
+
"production" !== process.env.NODE_ENV && (function() {
|
|
28
|
+
function noop() {}
|
|
29
|
+
function testStringCoercion(value) {
|
|
30
|
+
return "" + value;
|
|
31
|
+
}
|
|
32
|
+
function createPortal$1(children, containerInfo, implementation) {
|
|
33
|
+
var key = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;
|
|
34
|
+
try {
|
|
35
|
+
testStringCoercion(key);
|
|
36
|
+
var JSCompiler_inline_result = !1;
|
|
37
|
+
} catch (e) {
|
|
38
|
+
JSCompiler_inline_result = !0;
|
|
39
|
+
}
|
|
40
|
+
JSCompiler_inline_result && (console.error("The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", "function" === typeof Symbol && Symbol.toStringTag && key[Symbol.toStringTag] || key.constructor.name || "Object"), testStringCoercion(key));
|
|
41
|
+
return {
|
|
42
|
+
$$typeof: REACT_PORTAL_TYPE,
|
|
43
|
+
key: null == key ? null : "" + key,
|
|
44
|
+
children,
|
|
45
|
+
containerInfo,
|
|
46
|
+
implementation
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function getCrossOriginStringAs(as, input) {
|
|
50
|
+
if ("font" === as) return "";
|
|
51
|
+
if ("string" === typeof input) return "use-credentials" === input ? input : "";
|
|
52
|
+
}
|
|
53
|
+
function getValueDescriptorExpectingObjectForWarning(thing) {
|
|
54
|
+
return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : "something with type \"" + typeof thing + "\"";
|
|
55
|
+
}
|
|
56
|
+
function getValueDescriptorExpectingEnumForWarning(thing) {
|
|
57
|
+
return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : "string" === typeof thing ? JSON.stringify(thing) : "number" === typeof thing ? "`" + thing + "`" : "something with type \"" + typeof thing + "\"";
|
|
58
|
+
}
|
|
59
|
+
function resolveDispatcher() {
|
|
60
|
+
var dispatcher = ReactSharedInternals.H;
|
|
61
|
+
null === dispatcher && console.error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.");
|
|
62
|
+
return dispatcher;
|
|
63
|
+
}
|
|
64
|
+
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
|
|
65
|
+
var React = __require("react"), Internals = {
|
|
66
|
+
d: {
|
|
67
|
+
f: noop,
|
|
68
|
+
r: function() {
|
|
69
|
+
throw Error("Invalid form element. requestFormReset must be passed a form that was rendered by React.");
|
|
70
|
+
},
|
|
71
|
+
D: noop,
|
|
72
|
+
C: noop,
|
|
73
|
+
L: noop,
|
|
74
|
+
m: noop,
|
|
75
|
+
X: noop,
|
|
76
|
+
S: noop,
|
|
77
|
+
M: noop
|
|
78
|
+
},
|
|
79
|
+
p: 0,
|
|
80
|
+
findDOMNode: null
|
|
81
|
+
}, REACT_PORTAL_TYPE = Symbol.for("react.portal"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
|
|
82
|
+
"function" === typeof Map && null != Map.prototype && "function" === typeof Map.prototype.forEach && "function" === typeof Set && null != Set.prototype && "function" === typeof Set.prototype.clear && "function" === typeof Set.prototype.forEach || console.error("React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills");
|
|
83
|
+
exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = Internals;
|
|
84
|
+
exports.createPortal = function(children, container) {
|
|
85
|
+
var key = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;
|
|
86
|
+
if (!container || 1 !== container.nodeType && 9 !== container.nodeType && 11 !== container.nodeType) throw Error("Target container is not a DOM element.");
|
|
87
|
+
return createPortal$1(children, container, null, key);
|
|
88
|
+
};
|
|
89
|
+
exports.flushSync = function(fn) {
|
|
90
|
+
var previousTransition = ReactSharedInternals.T, previousUpdatePriority = Internals.p;
|
|
91
|
+
try {
|
|
92
|
+
if (ReactSharedInternals.T = null, Internals.p = 2, fn) return fn();
|
|
93
|
+
} finally {
|
|
94
|
+
ReactSharedInternals.T = previousTransition, Internals.p = previousUpdatePriority, Internals.d.f() && console.error("flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task.");
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
exports.preconnect = function(href, options) {
|
|
98
|
+
"string" === typeof href && href ? null != options && "object" !== typeof options ? console.error("ReactDOM.preconnect(): Expected the `options` argument (second) to be an object but encountered %s instead. The only supported option at this time is `crossOrigin` which accepts a string.", getValueDescriptorExpectingEnumForWarning(options)) : null != options && "string" !== typeof options.crossOrigin && console.error("ReactDOM.preconnect(): Expected the `crossOrigin` option (second argument) to be a string but encountered %s instead. Try removing this option or passing a string value instead.", getValueDescriptorExpectingObjectForWarning(options.crossOrigin)) : console.error("ReactDOM.preconnect(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.", getValueDescriptorExpectingObjectForWarning(href));
|
|
99
|
+
"string" === typeof href && (options ? (options = options.crossOrigin, options = "string" === typeof options ? "use-credentials" === options ? options : "" : void 0) : options = null, Internals.d.C(href, options));
|
|
100
|
+
};
|
|
101
|
+
exports.prefetchDNS = function(href) {
|
|
102
|
+
if ("string" !== typeof href || !href) console.error("ReactDOM.prefetchDNS(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.", getValueDescriptorExpectingObjectForWarning(href));
|
|
103
|
+
else if (1 < arguments.length) {
|
|
104
|
+
var options = arguments[1];
|
|
105
|
+
"object" === typeof options && options.hasOwnProperty("crossOrigin") ? console.error("ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. It looks like the you are attempting to set a crossOrigin property for this DNS lookup hint. Browsers do not perform DNS queries using CORS and setting this attribute on the resource hint has no effect. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.", getValueDescriptorExpectingEnumForWarning(options)) : console.error("ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.", getValueDescriptorExpectingEnumForWarning(options));
|
|
106
|
+
}
|
|
107
|
+
"string" === typeof href && Internals.d.D(href);
|
|
108
|
+
};
|
|
109
|
+
exports.preinit = function(href, options) {
|
|
110
|
+
"string" === typeof href && href ? null == options || "object" !== typeof options ? console.error("ReactDOM.preinit(): Expected the `options` argument (second) to be an object with an `as` property describing the type of resource to be preinitialized but encountered %s instead.", getValueDescriptorExpectingEnumForWarning(options)) : "style" !== options.as && "script" !== options.as && console.error("ReactDOM.preinit(): Expected the `as` property in the `options` argument (second) to contain a valid value describing the type of resource to be preinitialized but encountered %s instead. Valid values for `as` are \"style\" and \"script\".", getValueDescriptorExpectingEnumForWarning(options.as)) : console.error("ReactDOM.preinit(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.", getValueDescriptorExpectingObjectForWarning(href));
|
|
111
|
+
if ("string" === typeof href && options && "string" === typeof options.as) {
|
|
112
|
+
var as = options.as, crossOrigin = getCrossOriginStringAs(as, options.crossOrigin), integrity = "string" === typeof options.integrity ? options.integrity : void 0, fetchPriority = "string" === typeof options.fetchPriority ? options.fetchPriority : void 0;
|
|
113
|
+
"style" === as ? Internals.d.S(href, "string" === typeof options.precedence ? options.precedence : void 0, {
|
|
114
|
+
crossOrigin,
|
|
115
|
+
integrity,
|
|
116
|
+
fetchPriority
|
|
117
|
+
}) : "script" === as && Internals.d.X(href, {
|
|
118
|
+
crossOrigin,
|
|
119
|
+
integrity,
|
|
120
|
+
fetchPriority,
|
|
121
|
+
nonce: "string" === typeof options.nonce ? options.nonce : void 0
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
exports.preinitModule = function(href, options) {
|
|
126
|
+
var encountered = "";
|
|
127
|
+
"string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
|
|
128
|
+
void 0 !== options && "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : options && "as" in options && "script" !== options.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingEnumForWarning(options.as) + ".");
|
|
129
|
+
if (encountered) console.error("ReactDOM.preinitModule(): Expected up to two arguments, a non-empty `href` string and, optionally, an `options` object with a valid `as` property.%s", encountered);
|
|
130
|
+
else switch (encountered = options && "string" === typeof options.as ? options.as : "script", encountered) {
|
|
131
|
+
case "script": break;
|
|
132
|
+
default: encountered = getValueDescriptorExpectingEnumForWarning(encountered), console.error("ReactDOM.preinitModule(): Currently the only supported \"as\" type for this function is \"script\" but received \"%s\" instead. This warning was generated for `href` \"%s\". In the future other module types will be supported, aligning with the import-attributes proposal. Learn more here: (https://github.com/tc39/proposal-import-attributes)", encountered, href);
|
|
133
|
+
}
|
|
134
|
+
if ("string" === typeof href) if ("object" === typeof options && null !== options) {
|
|
135
|
+
if (null == options.as || "script" === options.as) encountered = getCrossOriginStringAs(options.as, options.crossOrigin), Internals.d.M(href, {
|
|
136
|
+
crossOrigin: encountered,
|
|
137
|
+
integrity: "string" === typeof options.integrity ? options.integrity : void 0,
|
|
138
|
+
nonce: "string" === typeof options.nonce ? options.nonce : void 0
|
|
139
|
+
});
|
|
140
|
+
} else options ?? Internals.d.M(href);
|
|
141
|
+
};
|
|
142
|
+
exports.preload = function(href, options) {
|
|
143
|
+
var encountered = "";
|
|
144
|
+
"string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
|
|
145
|
+
null == options || "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : "string" === typeof options.as && options.as || (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options.as) + ".");
|
|
146
|
+
encountered && console.error("ReactDOM.preload(): Expected two arguments, a non-empty `href` string and an `options` object with an `as` property valid for a `<link rel=\"preload\" as=\"...\" />` tag.%s", encountered);
|
|
147
|
+
if ("string" === typeof href && "object" === typeof options && null !== options && "string" === typeof options.as) {
|
|
148
|
+
encountered = options.as;
|
|
149
|
+
var crossOrigin = getCrossOriginStringAs(encountered, options.crossOrigin);
|
|
150
|
+
Internals.d.L(href, encountered, {
|
|
151
|
+
crossOrigin,
|
|
152
|
+
integrity: "string" === typeof options.integrity ? options.integrity : void 0,
|
|
153
|
+
nonce: "string" === typeof options.nonce ? options.nonce : void 0,
|
|
154
|
+
type: "string" === typeof options.type ? options.type : void 0,
|
|
155
|
+
fetchPriority: "string" === typeof options.fetchPriority ? options.fetchPriority : void 0,
|
|
156
|
+
referrerPolicy: "string" === typeof options.referrerPolicy ? options.referrerPolicy : void 0,
|
|
157
|
+
imageSrcSet: "string" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,
|
|
158
|
+
imageSizes: "string" === typeof options.imageSizes ? options.imageSizes : void 0,
|
|
159
|
+
media: "string" === typeof options.media ? options.media : void 0
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
exports.preloadModule = function(href, options) {
|
|
164
|
+
var encountered = "";
|
|
165
|
+
"string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
|
|
166
|
+
void 0 !== options && "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : options && "as" in options && "string" !== typeof options.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options.as) + ".");
|
|
167
|
+
encountered && console.error("ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `<link rel=\"modulepreload\" as=\"...\" />` tag.%s", encountered);
|
|
168
|
+
"string" === typeof href && (options ? (encountered = getCrossOriginStringAs(options.as, options.crossOrigin), Internals.d.m(href, {
|
|
169
|
+
as: "string" === typeof options.as && "script" !== options.as ? options.as : void 0,
|
|
170
|
+
crossOrigin: encountered,
|
|
171
|
+
integrity: "string" === typeof options.integrity ? options.integrity : void 0
|
|
172
|
+
})) : Internals.d.m(href));
|
|
173
|
+
};
|
|
174
|
+
exports.requestFormReset = function(form) {
|
|
175
|
+
Internals.d.r(form);
|
|
176
|
+
};
|
|
177
|
+
exports.unstable_batchedUpdates = function(fn, a) {
|
|
178
|
+
return fn(a);
|
|
179
|
+
};
|
|
180
|
+
exports.useFormState = function(action, initialState, permalink) {
|
|
181
|
+
return resolveDispatcher().useFormState(action, initialState, permalink);
|
|
182
|
+
};
|
|
183
|
+
exports.useFormStatus = function() {
|
|
184
|
+
return resolveDispatcher().useHostTransitionStatus();
|
|
185
|
+
};
|
|
186
|
+
exports.version = "19.2.3";
|
|
187
|
+
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
|
|
188
|
+
})();
|
|
189
|
+
}));
|
|
190
|
+
|
|
191
|
+
//#endregion
|
|
192
|
+
export default require_react_dom_development();
|
|
193
|
+
|
|
194
|
+
export { require_react_dom_development };
|
|
195
|
+
//# sourceMappingURL=react-dom.development.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-dom.development.js","names":[],"sources":["../../../../../../../../../node_modules/.pnpm/react-dom@19.2.3_react@19.2.3/node_modules/react-dom/cjs/react-dom.development.js"],"sourcesContent":["/**\n * @license React\n * react-dom.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function noop() {}\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n try {\n testStringCoercion(key);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n JSCompiler_inline_result &&\n (console.error(\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n key[Symbol.toStringTag]) ||\n key.constructor.name ||\n \"Object\"\n ),\n testStringCoercion(key));\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n }\n function getCrossOriginStringAs(as, input) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input)\n return \"use-credentials\" === input ? input : \"\";\n }\n function getValueDescriptorExpectingObjectForWarning(thing) {\n return null === thing\n ? \"`null`\"\n : void 0 === thing\n ? \"`undefined`\"\n : \"\" === thing\n ? \"an empty string\"\n : 'something with type \"' + typeof thing + '\"';\n }\n function getValueDescriptorExpectingEnumForWarning(thing) {\n return null === thing\n ? \"`null`\"\n : void 0 === thing\n ? \"`undefined`\"\n : \"\" === thing\n ? \"an empty string\"\n : \"string\" === typeof thing\n ? JSON.stringify(thing)\n : \"number\" === typeof thing\n ? \"`\" + thing + \"`\"\n : 'something with type \"' + typeof thing + '\"';\n }\n function resolveDispatcher() {\n var dispatcher = ReactSharedInternals.H;\n null === dispatcher &&\n console.error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n return dispatcher;\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n Internals = {\n d: {\n f: noop,\n r: function () {\n throw Error(\n \"Invalid form element. requestFormReset must be passed a form that was rendered by React.\"\n );\n },\n D: noop,\n C: noop,\n L: noop,\n m: noop,\n X: noop,\n S: noop,\n M: noop\n },\n p: 0,\n findDOMNode: null\n },\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n (\"function\" === typeof Map &&\n null != Map.prototype &&\n \"function\" === typeof Map.prototype.forEach &&\n \"function\" === typeof Set &&\n null != Set.prototype &&\n \"function\" === typeof Set.prototype.clear &&\n \"function\" === typeof Set.prototype.forEach) ||\n console.error(\n \"React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\"\n );\n exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n Internals;\n exports.createPortal = function (children, container) {\n var key =\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (\n !container ||\n (1 !== container.nodeType &&\n 9 !== container.nodeType &&\n 11 !== container.nodeType)\n )\n throw Error(\"Target container is not a DOM element.\");\n return createPortal$1(children, container, null, key);\n };\n exports.flushSync = function (fn) {\n var previousTransition = ReactSharedInternals.T,\n previousUpdatePriority = Internals.p;\n try {\n if (((ReactSharedInternals.T = null), (Internals.p = 2), fn))\n return fn();\n } finally {\n (ReactSharedInternals.T = previousTransition),\n (Internals.p = previousUpdatePriority),\n Internals.d.f() &&\n console.error(\n \"flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task.\"\n );\n }\n };\n exports.preconnect = function (href, options) {\n \"string\" === typeof href && href\n ? null != options && \"object\" !== typeof options\n ? console.error(\n \"ReactDOM.preconnect(): Expected the `options` argument (second) to be an object but encountered %s instead. The only supported option at this time is `crossOrigin` which accepts a string.\",\n getValueDescriptorExpectingEnumForWarning(options)\n )\n : null != options &&\n \"string\" !== typeof options.crossOrigin &&\n console.error(\n \"ReactDOM.preconnect(): Expected the `crossOrigin` option (second argument) to be a string but encountered %s instead. Try removing this option or passing a string value instead.\",\n getValueDescriptorExpectingObjectForWarning(options.crossOrigin)\n )\n : console.error(\n \"ReactDOM.preconnect(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.\",\n getValueDescriptorExpectingObjectForWarning(href)\n );\n \"string\" === typeof href &&\n (options\n ? ((options = options.crossOrigin),\n (options =\n \"string\" === typeof options\n ? \"use-credentials\" === options\n ? options\n : \"\"\n : void 0))\n : (options = null),\n Internals.d.C(href, options));\n };\n exports.prefetchDNS = function (href) {\n if (\"string\" !== typeof href || !href)\n console.error(\n \"ReactDOM.prefetchDNS(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.\",\n getValueDescriptorExpectingObjectForWarning(href)\n );\n else if (1 < arguments.length) {\n var options = arguments[1];\n \"object\" === typeof options && options.hasOwnProperty(\"crossOrigin\")\n ? console.error(\n \"ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. It looks like the you are attempting to set a crossOrigin property for this DNS lookup hint. Browsers do not perform DNS queries using CORS and setting this attribute on the resource hint has no effect. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.\",\n getValueDescriptorExpectingEnumForWarning(options)\n )\n : console.error(\n \"ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.\",\n getValueDescriptorExpectingEnumForWarning(options)\n );\n }\n \"string\" === typeof href && Internals.d.D(href);\n };\n exports.preinit = function (href, options) {\n \"string\" === typeof href && href\n ? null == options || \"object\" !== typeof options\n ? console.error(\n \"ReactDOM.preinit(): Expected the `options` argument (second) to be an object with an `as` property describing the type of resource to be preinitialized but encountered %s instead.\",\n getValueDescriptorExpectingEnumForWarning(options)\n )\n : \"style\" !== options.as &&\n \"script\" !== options.as &&\n console.error(\n 'ReactDOM.preinit(): Expected the `as` property in the `options` argument (second) to contain a valid value describing the type of resource to be preinitialized but encountered %s instead. Valid values for `as` are \"style\" and \"script\".',\n getValueDescriptorExpectingEnumForWarning(options.as)\n )\n : console.error(\n \"ReactDOM.preinit(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.\",\n getValueDescriptorExpectingObjectForWarning(href)\n );\n if (\n \"string\" === typeof href &&\n options &&\n \"string\" === typeof options.as\n ) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin),\n integrity =\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n fetchPriority =\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0;\n \"style\" === as\n ? Internals.d.S(\n href,\n \"string\" === typeof options.precedence\n ? options.precedence\n : void 0,\n {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority\n }\n )\n : \"script\" === as &&\n Internals.d.X(href, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n };\n exports.preinitModule = function (href, options) {\n var encountered = \"\";\n (\"string\" === typeof href && href) ||\n (encountered +=\n \" The `href` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(href) +\n \".\");\n void 0 !== options && \"object\" !== typeof options\n ? (encountered +=\n \" The `options` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(options) +\n \".\")\n : options &&\n \"as\" in options &&\n \"script\" !== options.as &&\n (encountered +=\n \" The `as` option encountered was \" +\n getValueDescriptorExpectingEnumForWarning(options.as) +\n \".\");\n if (encountered)\n console.error(\n \"ReactDOM.preinitModule(): Expected up to two arguments, a non-empty `href` string and, optionally, an `options` object with a valid `as` property.%s\",\n encountered\n );\n else\n switch (\n ((encountered =\n options && \"string\" === typeof options.as ? options.as : \"script\"),\n encountered)\n ) {\n case \"script\":\n break;\n default:\n (encountered =\n getValueDescriptorExpectingEnumForWarning(encountered)),\n console.error(\n 'ReactDOM.preinitModule(): Currently the only supported \"as\" type for this function is \"script\" but received \"%s\" instead. This warning was generated for `href` \"%s\". In the future other module types will be supported, aligning with the import-attributes proposal. Learn more here: (https://github.com/tc39/proposal-import-attributes)',\n encountered,\n href\n );\n }\n if (\"string\" === typeof href)\n if (\"object\" === typeof options && null !== options) {\n if (null == options.as || \"script\" === options.as)\n (encountered = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n )),\n Internals.d.M(href, {\n crossOrigin: encountered,\n integrity:\n \"string\" === typeof options.integrity\n ? options.integrity\n : void 0,\n nonce:\n \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n } else null == options && Internals.d.M(href);\n };\n exports.preload = function (href, options) {\n var encountered = \"\";\n (\"string\" === typeof href && href) ||\n (encountered +=\n \" The `href` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(href) +\n \".\");\n null == options || \"object\" !== typeof options\n ? (encountered +=\n \" The `options` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(options) +\n \".\")\n : (\"string\" === typeof options.as && options.as) ||\n (encountered +=\n \" The `as` option encountered was \" +\n getValueDescriptorExpectingObjectForWarning(options.as) +\n \".\");\n encountered &&\n console.error(\n 'ReactDOM.preload(): Expected two arguments, a non-empty `href` string and an `options` object with an `as` property valid for a `<link rel=\"preload\" as=\"...\" />` tag.%s',\n encountered\n );\n if (\n \"string\" === typeof href &&\n \"object\" === typeof options &&\n null !== options &&\n \"string\" === typeof options.as\n ) {\n encountered = options.as;\n var crossOrigin = getCrossOriginStringAs(\n encountered,\n options.crossOrigin\n );\n Internals.d.L(href, encountered, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n type: \"string\" === typeof options.type ? options.type : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0,\n referrerPolicy:\n \"string\" === typeof options.referrerPolicy\n ? options.referrerPolicy\n : void 0,\n imageSrcSet:\n \"string\" === typeof options.imageSrcSet\n ? options.imageSrcSet\n : void 0,\n imageSizes:\n \"string\" === typeof options.imageSizes\n ? options.imageSizes\n : void 0,\n media: \"string\" === typeof options.media ? options.media : void 0\n });\n }\n };\n exports.preloadModule = function (href, options) {\n var encountered = \"\";\n (\"string\" === typeof href && href) ||\n (encountered +=\n \" The `href` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(href) +\n \".\");\n void 0 !== options && \"object\" !== typeof options\n ? (encountered +=\n \" The `options` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(options) +\n \".\")\n : options &&\n \"as\" in options &&\n \"string\" !== typeof options.as &&\n (encountered +=\n \" The `as` option encountered was \" +\n getValueDescriptorExpectingObjectForWarning(options.as) +\n \".\");\n encountered &&\n console.error(\n 'ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `<link rel=\"modulepreload\" as=\"...\" />` tag.%s',\n encountered\n );\n \"string\" === typeof href &&\n (options\n ? ((encountered = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n )),\n Internals.d.m(href, {\n as:\n \"string\" === typeof options.as && \"script\" !== options.as\n ? options.as\n : void 0,\n crossOrigin: encountered,\n integrity:\n \"string\" === typeof options.integrity\n ? options.integrity\n : void 0\n }))\n : Internals.d.m(href));\n };\n exports.requestFormReset = function (form) {\n Internals.d.r(form);\n };\n exports.unstable_batchedUpdates = function (fn, a) {\n return fn(a);\n };\n exports.useFormState = function (action, initialState, permalink) {\n return resolveDispatcher().useFormState(action, initialState, permalink);\n };\n exports.useFormStatus = function () {\n return resolveDispatcher().useHostTransitionStatus();\n };\n exports.version = \"19.2.3\";\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n"],"x_google_ignoreList":[0],"mappings":"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"}
|