@lmvz-ds/components 0.12.4 → 0.12.5-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/app-globals-V2Kpy_OQ.js.map +1 -0
- package/dist/cjs/assets-Cswkqk_c.js +18971 -0
- package/dist/cjs/assets-Cswkqk_c.js.map +1 -0
- package/dist/cjs/axe-C2rxi-K2.js +32837 -0
- package/dist/cjs/axe-C2rxi-K2.js.map +1 -0
- package/dist/cjs/header-integration.lmvz-button.lmvz-header.lmvz-icon.lmvz-input.lmvz-menuitem-BTL_B6qg.js +3665 -0
- package/dist/cjs/header-integration.lmvz-button.lmvz-header.lmvz-icon.lmvz-input.lmvz-menuitem-BTL_B6qg.js.map +1 -0
- package/dist/cjs/header-integration_6.cjs.entry.js +18 -0
- package/dist/cjs/header-integration_6.cjs.entry.js.map +1 -0
- package/dist/cjs/icons-jn_Uak9B.js +1063 -0
- package/dist/cjs/icons-jn_Uak9B.js.map +1 -0
- package/dist/cjs/index-DpBPf1cE.js +2112 -0
- package/dist/cjs/index-DpBPf1cE.js.map +1 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/lmvz-action.cjs.entry.js.map +1 -0
- package/dist/cjs/lmvz-card.cjs.entry.js.map +1 -0
- package/dist/cjs/lmvz-chip.cjs.entry.js.map +1 -0
- package/dist/cjs/lmvz-components.cjs.js.map +1 -0
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/collection/api/ds.constants.js.map +1 -0
- package/dist/collection/api/index.js.map +1 -0
- package/dist/collection/components/lmvz-action/lmvz-action.js.map +1 -0
- package/dist/collection/components/lmvz-button/lmvz-button.js.map +1 -0
- package/dist/collection/components/lmvz-card/lmvz-card.js.map +1 -0
- package/dist/collection/components/lmvz-chip/lmvz-chip.js.map +1 -0
- package/dist/collection/components/lmvz-header/lmvz-header.js.map +1 -0
- package/dist/collection/components/lmvz-icon/icons.js.map +1 -0
- package/dist/collection/components/lmvz-icon/lmvz-icon.js.map +1 -0
- package/dist/collection/components/lmvz-icon/public.js.map +1 -0
- package/dist/collection/components/lmvz-icon/test/icons.unit.js.map +1 -0
- package/dist/collection/components/lmvz-input/lmvz-input.js.map +1 -0
- package/dist/collection/components/lmvz-menuitem/lmvz-menuitem.js.map +1 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/integration/header-integration.js +22 -4
- package/dist/collection/integration/header-integration.js.map +1 -0
- package/dist/collection/utils/assets.js.map +1 -0
- package/dist/collection/utils/component.js.map +1 -0
- package/dist/collection/utils/effect.js.map +1 -0
- package/dist/collection/utils/element-activation-controller.js.map +1 -0
- package/dist/collection/utils/environment.js.map +1 -0
- package/dist/collection/utils/http.js.map +1 -0
- package/dist/collection/utils/http.test.js.map +1 -0
- package/dist/collection/utils/list-keyboard-controller.js.map +1 -0
- package/dist/collection/utils/public.js.map +1 -0
- package/dist/collection/utils/reactive-controller-host.js.map +1 -0
- package/dist/collection/utils/typing.js.map +1 -0
- package/dist/collection/utils/validation/aria-validation-controller.js.map +1 -0
- package/dist/collection/utils/validation/svg.js.map +1 -0
- package/dist/components/header-integration.d.ts +11 -0
- package/dist/components/header-integration.js +2 -0
- package/dist/components/header-integration.js.map +1 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/lmvz-action.js.map +1 -0
- package/dist/components/lmvz-button.js.map +1 -0
- package/dist/components/lmvz-card.js.map +1 -0
- package/dist/components/lmvz-chip.js.map +1 -0
- package/dist/components/lmvz-header.js.map +1 -0
- package/dist/components/lmvz-icon.js.map +1 -0
- package/dist/components/lmvz-input.js.map +1 -0
- package/dist/components/lmvz-menuitem.js.map +1 -0
- package/dist/components/p-B3JVFwO1.js.map +1 -0
- package/dist/components/p-B85MJLTf.js.map +1 -0
- package/dist/components/p-CN0JX9-m.js.map +1 -0
- package/dist/components/p-Cd4nH2vx.js +2 -0
- package/dist/components/p-Cd4nH2vx.js.map +1 -0
- package/dist/components/p-CdofjRtQ.js.map +1 -0
- package/dist/components/p-CkTUjPwD.js +2 -0
- package/dist/components/p-CkTUjPwD.js.map +1 -0
- package/dist/components/p-CpI4KFOu.js +2 -0
- package/dist/components/p-CpI4KFOu.js.map +1 -0
- package/dist/components/p-D1HbKFuh.js.map +1 -0
- package/dist/components/p-D7xthqTT.js +2 -0
- package/dist/components/p-D7xthqTT.js.map +1 -0
- package/dist/components/p-DBeynNeU.js +2 -0
- package/dist/components/p-DBeynNeU.js.map +1 -0
- package/dist/components/p-DMLRPGid.js.map +1 -0
- package/dist/components/p-UiqQVZhU.js +2 -0
- package/dist/components/p-UiqQVZhU.js.map +1 -0
- package/dist/components/p-Xq267cFM.js +2 -0
- package/dist/components/p-Xq267cFM.js.map +1 -0
- package/dist/components/p-glDDybgu.js +2 -0
- package/dist/components/p-glDDybgu.js.map +1 -0
- package/dist/esm/app-globals-DQuL1Twl.js.map +1 -0
- package/dist/esm/assets-K2FHD9qn.js +18770 -0
- package/dist/esm/assets-K2FHD9qn.js.map +1 -0
- package/dist/esm/axe-CZ0Rtkog.js +32835 -0
- package/dist/esm/axe-CZ0Rtkog.js.map +1 -0
- package/dist/esm/header-integration.lmvz-button.lmvz-header.lmvz-icon.lmvz-input.lmvz-menuitem-CW3FGLZC.js +3657 -0
- package/dist/esm/header-integration.lmvz-button.lmvz-header.lmvz-icon.lmvz-input.lmvz-menuitem-CW3FGLZC.js.map +1 -0
- package/dist/esm/header-integration_6.entry.js +7 -0
- package/dist/esm/header-integration_6.entry.js.map +1 -0
- package/dist/esm/icons-BITzEzmq.js +1032 -0
- package/dist/esm/icons-BITzEzmq.js.map +1 -0
- package/dist/esm/index-D2eyw7iv.js +2101 -0
- package/dist/esm/index-D2eyw7iv.js.map +1 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lmvz-action.entry.js.map +1 -0
- package/dist/esm/lmvz-card.entry.js.map +1 -0
- package/dist/esm/lmvz-chip.entry.js.map +1 -0
- package/dist/esm/lmvz-components.js.map +1 -0
- package/dist/esm/loader.js.map +1 -0
- package/dist/lmvz-components/index.esm.js.map +1 -0
- package/dist/lmvz-components/lmvz-components.esm.js.map +1 -0
- package/dist/lmvz-components/p-366a01f8.entry.js +2 -0
- package/dist/lmvz-components/p-366a01f8.entry.js.map +1 -0
- package/dist/lmvz-components/p-84ee7919.entry.js +2 -0
- package/dist/lmvz-components/p-84ee7919.entry.js.map +1 -0
- package/dist/lmvz-components/p-BLwPC3DQ.js +2 -0
- package/dist/lmvz-components/p-BLwPC3DQ.js.map +1 -0
- package/dist/lmvz-components/p-D2eyw7iv.js +3 -0
- package/dist/lmvz-components/p-D2eyw7iv.js.map +1 -0
- package/dist/lmvz-components/p-DANVVVBd.js +7 -0
- package/dist/lmvz-components/p-DANVVVBd.js.map +1 -0
- package/dist/lmvz-components/p-DQuL1Twl.js.map +1 -0
- package/dist/lmvz-components/p-DlDurXvX.js +2 -0
- package/dist/lmvz-components/p-DlDurXvX.js.map +1 -0
- package/dist/lmvz-components/p-Hc4uxoTU.js +13 -0
- package/dist/lmvz-components/p-Hc4uxoTU.js.map +1 -0
- package/dist/lmvz-components/p-a4200b26.entry.js +2 -0
- package/dist/lmvz-components/p-a4200b26.entry.js.map +1 -0
- package/dist/lmvz-components/p-d3243bae.entry.js +2 -0
- package/dist/lmvz-components/p-d3243bae.entry.js.map +1 -0
- package/dist/manifest.json +26 -2
- package/package.json +10 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons-jn_Uak9B.js","sources":["../../node_modules/effect/dist/esm/Brand.js","../../node_modules/effect/dist/esm/Deferred.js","../../node_modules/effect/dist/esm/Exit.js","../../node_modules/effect/dist/esm/MutableList.js","../../node_modules/effect/dist/esm/MutableQueue.js","../../node_modules/effect/dist/esm/internal/cache.js","../../node_modules/effect/dist/esm/Cache.js","src/utils/http.ts","src/utils/validation/svg.ts","src/components/lmvz-icon/icons.ts"],"sourcesContent":["/**\n * This module provides types and utility functions to create and work with branded types,\n * which are TypeScript types with an added type tag to prevent accidental usage of a value in the wrong context.\n *\n * The `refined` and `nominal` functions are both used to create branded types in TypeScript.\n * The main difference between them is that `refined` allows for validation of the data, while `nominal` does not.\n *\n * The `nominal` function is used to create a new branded type that has the same underlying type as the input, but with a different name.\n * This is useful when you want to distinguish between two values of the same type that have different meanings.\n * The `nominal` function does not perform any validation of the input data.\n *\n * On the other hand, the `refined` function is used to create a new branded type that has the same underlying type as the input,\n * but with a different name, and it also allows for validation of the input data.\n * The `refined` function takes a predicate that is used to validate the input data.\n * If the input data fails the validation, a `BrandErrors` is returned, which provides information about the specific validation failure.\n *\n * @since 2.0.0\n */\nimport * as Arr from \"./Array.js\";\nimport * as Either from \"./Either.js\";\nimport { identity, unsafeCoerce } from \"./Function.js\";\nimport * as Option from \"./Option.js\";\n/**\n * @since 2.0.0\n * @category symbols\n */\nexport const BrandTypeId = /*#__PURE__*/Symbol.for(\"effect/Brand\");\n/**\n * @since 2.0.0\n * @category symbols\n */\nexport const RefinedConstructorsTypeId = /*#__PURE__*/Symbol.for(\"effect/Brand/Refined\");\n/**\n * Returns a `BrandErrors` that contains a single `RefinementError`.\n *\n * @since 2.0.0\n * @category constructors\n */\nexport const error = (message, meta) => [{\n message,\n meta\n}];\n/**\n * Takes a variable number of `BrandErrors` and returns a single `BrandErrors` that contains all refinement errors.\n *\n * @since 2.0.0\n * @category constructors\n */\nexport const errors = (...errors) => Arr.flatten(errors);\nexport function refined(...args) {\n const either = args.length === 2 ? unbranded => args[0](unbranded) ? Either.right(unbranded) : Either.left(args[1](unbranded)) : unbranded => {\n return Option.match(args[0](unbranded), {\n onNone: () => Either.right(unbranded),\n onSome: Either.left\n });\n };\n return Object.assign(unbranded => Either.getOrThrowWith(either(unbranded), identity), {\n [RefinedConstructorsTypeId]: RefinedConstructorsTypeId,\n option: args => Option.getRight(either(args)),\n either,\n is: args => Either.isRight(either(args))\n });\n}\n/**\n * This function returns a `Brand.Constructor` that **does not apply any runtime checks**, it just returns the provided value.\n * It can be used to create nominal types that allow distinguishing between two values of the same type but with different meanings.\n *\n * If you also want to perform some validation, see {@link refined}.\n *\n * **Example**\n *\n * ```ts\n * import * as assert from \"node:assert\"\n * import { Brand } from \"effect\"\n *\n * type UserId = number & Brand.Brand<\"UserId\">\n *\n * const UserId = Brand.nominal<UserId>()\n *\n * console.log(UserId(1))\n * // 1\n * ```\n *\n * @since 2.0.0\n * @category constructors\n */\nexport const nominal = () => {\n // @ts-expect-error\n return Object.assign(args => args, {\n [RefinedConstructorsTypeId]: RefinedConstructorsTypeId,\n option: args => Option.some(args),\n either: args => Either.right(args),\n is: _args => true\n });\n};\n/**\n * Combines two or more brands together to form a single branded type.\n * This API is useful when you want to validate that the input data passes multiple brand validators.\n *\n * **Example**\n *\n * ```ts\n * import * as assert from \"node:assert\"\n * import { Brand } from \"effect\"\n *\n * type Int = number & Brand.Brand<\"Int\">\n * const Int = Brand.refined<Int>(\n * (n) => Number.isInteger(n),\n * (n) => Brand.error(`Expected ${n} to be an integer`)\n * )\n * type Positive = number & Brand.Brand<\"Positive\">\n * const Positive = Brand.refined<Positive>(\n * (n) => n > 0,\n * (n) => Brand.error(`Expected ${n} to be positive`)\n * )\n *\n * const PositiveInt = Brand.all(Int, Positive)\n *\n * console.log(PositiveInt(1))\n * // 1\n *\n * assert.throws(() => PositiveInt(1.1))\n * ```\n *\n * @since 2.0.0\n * @category combining\n */\nexport const all = (...brands) => {\n const either = args => {\n let result = Either.right(args);\n for (const brand of brands) {\n const nextResult = brand.either(args);\n if (Either.isLeft(result) && Either.isLeft(nextResult)) {\n result = Either.left([...result.left, ...nextResult.left]);\n } else {\n result = Either.isLeft(result) ? result : nextResult;\n }\n }\n return result;\n };\n // @ts-expect-error\n return Object.assign(args => Either.match(either(args), {\n onLeft: e => {\n throw e;\n },\n onRight: identity\n }), {\n [RefinedConstructorsTypeId]: RefinedConstructorsTypeId,\n option: args => Option.getRight(either(args)),\n either,\n is: args => Either.isRight(either(args))\n });\n};\n/**\n * Retrieves the unbranded value from a `Brand` instance.\n *\n * @since 3.15.0\n * @category getters\n */\nexport const unbranded = unsafeCoerce;\n//# sourceMappingURL=Brand.js.map","import * as core from \"./internal/core.js\";\nimport * as internal from \"./internal/deferred.js\";\n/**\n * @since 2.0.0\n * @category symbols\n */\nexport const DeferredTypeId = internal.DeferredTypeId;\n/**\n * Creates a new `Deferred`.\n *\n * @since 2.0.0\n * @category constructors\n */\nexport const make = core.deferredMake;\n/**\n * Creates a new `Deferred` from the specified `FiberId`.\n *\n * @since 2.0.0\n * @category constructors\n */\nexport const makeAs = core.deferredMakeAs;\nconst _await = core.deferredAwait;\nexport {\n/**\n * Retrieves the value of the `Deferred`, suspending the fiber running the\n * workflow until the result is available.\n *\n * @since 2.0.0\n * @category getters\n */\n_await as await };\n/**\n * Completes the deferred with the result of the specified effect. If the\n * deferred has already been completed, the method will produce false.\n *\n * Note that `Deferred.completeWith` will be much faster, so consider using\n * that if you do not need to memoize the result of the specified effect.\n *\n * @since 2.0.0\n * @category utils\n */\nexport const complete = core.deferredComplete;\n/**\n * Completes the deferred with the result of the specified effect. If the\n * deferred has already been completed, the method will produce false.\n *\n * @since 2.0.0\n * @category utils\n */\nexport const completeWith = core.deferredCompleteWith;\n/**\n * Exits the `Deferred` with the specified `Exit` value, which will be\n * propagated to all fibers waiting on the value of the `Deferred`.\n *\n * @since 2.0.0\n * @category utils\n */\nexport const done = core.deferredDone;\n/**\n * Fails the `Deferred` with the specified error, which will be propagated to\n * all fibers waiting on the value of the `Deferred`.\n *\n * @since 2.0.0\n * @category utils\n */\nexport const fail = core.deferredFail;\n/**\n * Fails the `Deferred` with the specified error, which will be propagated to\n * all fibers waiting on the value of the `Deferred`.\n *\n * @since 2.0.0\n * @category utils\n */\nexport const failSync = core.deferredFailSync;\n/**\n * Fails the `Deferred` with the specified `Cause`, which will be propagated to\n * all fibers waiting on the value of the `Deferred`.\n *\n * @since 2.0.0\n * @category utils\n */\nexport const failCause = core.deferredFailCause;\n/**\n * Fails the `Deferred` with the specified `Cause`, which will be propagated to\n * all fibers waiting on the value of the `Deferred`.\n *\n * @since 2.0.0\n * @category utils\n */\nexport const failCauseSync = core.deferredFailCauseSync;\n/**\n * Kills the `Deferred` with the specified defect, which will be propagated to\n * all fibers waiting on the value of the `Deferred`.\n *\n * @since 2.0.0\n * @category utils\n */\nexport const die = core.deferredDie;\n/**\n * Kills the `Deferred` with the specified defect, which will be propagated to\n * all fibers waiting on the value of the `Deferred`.\n *\n * @since 2.0.0\n * @category utils\n */\nexport const dieSync = core.deferredDieSync;\n/**\n * Completes the `Deferred` with interruption. This will interrupt all fibers\n * waiting on the value of the `Deferred` with the `FiberId` of the fiber\n * calling this method.\n *\n * @since 2.0.0\n * @category utils\n */\nexport const interrupt = core.deferredInterrupt;\n/**\n * Completes the `Deferred` with interruption. This will interrupt all fibers\n * waiting on the value of the `Deferred` with the specified `FiberId`.\n *\n * @since 2.0.0\n * @category utils\n */\nexport const interruptWith = core.deferredInterruptWith;\n/**\n * Returns `true` if this `Deferred` has already been completed with a value or\n * an error, `false` otherwise.\n *\n * @since 2.0.0\n * @category getters\n */\nexport const isDone = core.deferredIsDone;\n/**\n * Returns a `Some<Effect<A, E, R>>` from the `Deferred` if this `Deferred` has\n * already been completed, `None` otherwise.\n *\n * @since 2.0.0\n * @category getters\n */\nexport const poll = core.deferredPoll;\n/**\n * Completes the `Deferred` with the specified value.\n *\n * @since 2.0.0\n * @category utils\n */\nexport const succeed = core.deferredSucceed;\n/**\n * Completes the `Deferred` with the specified lazily evaluated value.\n *\n * @since 2.0.0\n * @category utils\n */\nexport const sync = core.deferredSync;\n/**\n * Unsafely creates a new `Deferred` from the specified `FiberId`.\n *\n * @since 2.0.0\n * @category unsafe\n */\nexport const unsafeMake = core.deferredUnsafeMake;\n/**\n * Unsafely exits the `Deferred` with the specified `Exit` value, which will be\n * propagated to all fibers waiting on the value of the `Deferred`.\n *\n * @since 2.0.0\n * @category unsafe\n */\nexport const unsafeDone = core.deferredUnsafeDone;\n//# sourceMappingURL=Deferred.js.map","import * as core from \"./internal/core.js\";\n/**\n * Returns `true` if the specified value is an `Exit`, `false` otherwise.\n *\n * @since 2.0.0\n * @category refinements\n */\nexport const isExit = core.exitIsExit;\n/**\n * Returns `true` if the specified `Exit` is a `Failure`, `false` otherwise.\n *\n * @since 2.0.0\n * @category refinements\n */\nexport const isFailure = core.exitIsFailure;\n/**\n * Returns `true` if the specified `Exit` is a `Success`, `false` otherwise.\n *\n * @since 2.0.0\n * @category refinements\n */\nexport const isSuccess = core.exitIsSuccess;\n/**\n * Returns `true` if the specified exit is a `Failure` **and** the `Cause` of\n * the failure was due to interruption, `false` otherwise.\n *\n * @since 2.0.0\n * @category getters\n */\nexport const isInterrupted = core.exitIsInterrupted;\n/**\n * Maps the `Success` value of the specified exit to the provided constant\n * value.\n *\n * @since 2.0.0\n * @category mapping\n */\nexport const as = core.exitAs;\n/**\n * Maps the `Success` value of the specified exit to a void.\n *\n * @since 2.0.0\n * @category mapping\n */\nexport const asVoid = core.exitAsVoid;\n/**\n * Returns a `Some<Cause<E>>` if the specified exit is a `Failure`, `None`\n * otherwise.\n *\n * @since 2.0.0\n * @category getters\n */\nexport const causeOption = core.exitCauseOption;\n/**\n * Collects all of the specified exit values into a `Some<Exit<List<A>, E>>`. If\n * the provided iterable contains no elements, `None` will be returned.\n *\n * @since 2.0.0\n * @category constructors\n */\nexport const all = core.exitCollectAll;\n/**\n * Constructs a new `Exit.Failure` from the specified unrecoverable defect.\n *\n * @since 2.0.0\n * @category constructors\n */\nexport const die = core.exitDie;\n/**\n * Executes the predicate on the value of the specified exit if it is a\n * `Success`, otherwise returns `false`.\n *\n * @since 2.0.0\n * @category elements\n */\nexport const exists = core.exitExists;\n/**\n * Constructs a new `Exit.Failure` from the specified recoverable error of type\n * `E`.\n *\n * @since 2.0.0\n * @category constructors\n */\nexport const fail = core.exitFail;\n/**\n * Constructs a new `Exit.Failure` from the specified `Cause` of type `E`.\n *\n * @since 2.0.0\n * @category constructors\n */\nexport const failCause = core.exitFailCause;\n/**\n * @since 2.0.0\n * @category sequencing\n */\nexport const flatMap = core.exitFlatMap;\n/**\n * @since 2.0.0\n * @category sequencing\n */\nexport const flatMapEffect = core.exitFlatMapEffect;\n/**\n * @since 2.0.0\n * @category sequencing\n */\nexport const flatten = core.exitFlatten;\n/**\n * @since 2.0.0\n * @category traversing\n */\nexport const forEachEffect = core.exitForEachEffect;\n/**\n * Converts an `Either<R, L>` into an `Exit<R, L>`.\n *\n * @since 2.0.0\n * @category conversions\n */\nexport const fromEither = core.exitFromEither;\n/**\n * Converts an `Option<A>` into an `Exit<void, A>`.\n *\n * @since 2.0.0\n * @category conversions\n */\nexport const fromOption = core.exitFromOption;\n/**\n * Returns the `A` if specified exit is a `Success`, otherwise returns the\n * alternate `A` value computed from the specified function which receives the\n * `Cause<E>` of the exit `Failure`.\n *\n * @since 2.0.0\n * @category getters\n */\nexport const getOrElse = core.exitGetOrElse;\n/**\n * Constructs a new `Exit.Failure` from the specified `FiberId` indicating that\n * the `Fiber` running an `Effect` workflow was terminated due to interruption.\n *\n * @since 2.0.0\n * @category constructors\n */\nexport const interrupt = core.exitInterrupt;\n/**\n * Maps over the `Success` value of the specified exit using the provided\n * function.\n *\n * @since 2.0.0\n * @category mapping\n */\nexport const map = core.exitMap;\n/**\n * Maps over the `Success` and `Failure` cases of the specified exit using the\n * provided functions.\n *\n * @since 2.0.0\n * @category mapping\n */\nexport const mapBoth = core.exitMapBoth;\n/**\n * Maps over the error contained in the `Failure` of the specified exit using\n * the provided function.\n *\n * @since 2.0.0\n * @category mapping\n */\nexport const mapError = core.exitMapError;\n/**\n * Maps over the `Cause` contained in the `Failure` of the specified exit using\n * the provided function.\n *\n * @since 2.0.0\n * @category mapping\n */\nexport const mapErrorCause = core.exitMapErrorCause;\n/**\n * @since 2.0.0\n * @category folding\n */\nexport const match = core.exitMatch;\n/**\n * @since 2.0.0\n * @category folding\n */\nexport const matchEffect = core.exitMatchEffect;\n/**\n * Constructs a new `Exit.Success` containing the specified value of type `A`.\n *\n * @since 2.0.0\n * @category constructors\n */\nexport const succeed = core.exitSucceed;\nconst void_ = core.exitVoid;\nexport {\n/**\n * Represents an `Exit` which succeeds with `undefined`.\n *\n * @since 2.0.0\n * @category constructors\n */\nvoid_ as void };\n/**\n * Sequentially zips the this result with the specified result or else returns\n * the failed `Cause<E | E2>`.\n *\n * @since 2.0.0\n * @category zipping\n */\nexport const zip = core.exitZip;\n/**\n * Sequentially zips the this result with the specified result discarding the\n * second element of the tuple or else returns the failed `Cause<E | E2>`.\n *\n * @since 2.0.0\n * @category zipping\n */\nexport const zipLeft = core.exitZipLeft;\n/**\n * Sequentially zips the this result with the specified result discarding the\n * first element of the tuple or else returns the failed `Cause<E | E2>`.\n *\n * @since 2.0.0\n * @category zipping\n */\nexport const zipRight = core.exitZipRight;\n/**\n * Parallelly zips the this result with the specified result or else returns\n * the failed `Cause<E | E2>`.\n *\n * @since 2.0.0\n * @category zipping\n */\nexport const zipPar = core.exitZipPar;\n/**\n * Parallelly zips the this result with the specified result discarding the\n * second element of the tuple or else returns the failed `Cause<E | E2>`.\n *\n * @since 2.0.0\n * @category zipping\n */\nexport const zipParLeft = core.exitZipParLeft;\n/**\n * Parallelly zips the this result with the specified result discarding the\n * first element of the tuple or else returns the failed `Cause<E | E2>`.\n *\n * @since 2.0.0\n * @category zipping\n */\nexport const zipParRight = core.exitZipParRight;\n/**\n * Zips this exit together with that exit using the specified combination\n * functions.\n *\n * @since 2.0.0\n * @category zipping\n */\nexport const zipWith = core.exitZipWith;\n//# sourceMappingURL=Exit.js.map","/**\n * @since 2.0.0\n */\nimport * as Dual from \"./Function.js\";\nimport { format, NodeInspectSymbol, toJSON } from \"./Inspectable.js\";\nimport { pipeArguments } from \"./Pipeable.js\";\nconst TypeId = /*#__PURE__*/Symbol.for(\"effect/MutableList\");\nconst MutableListProto = {\n [TypeId]: TypeId,\n [Symbol.iterator]() {\n let done = false;\n let head = this.head;\n return {\n next() {\n if (done) {\n return this.return();\n }\n if (head == null) {\n done = true;\n return this.return();\n }\n const value = head.value;\n head = head.next;\n return {\n done,\n value\n };\n },\n return(value) {\n if (!done) {\n done = true;\n }\n return {\n done: true,\n value\n };\n }\n };\n },\n toString() {\n return format(this.toJSON());\n },\n toJSON() {\n return {\n _id: \"MutableList\",\n values: Array.from(this).map(toJSON)\n };\n },\n [NodeInspectSymbol]() {\n return this.toJSON();\n },\n pipe() {\n return pipeArguments(this, arguments);\n }\n};\n/** @internal */\nconst makeNode = value => ({\n value,\n removed: false,\n prev: undefined,\n next: undefined\n});\n/**\n * Creates an empty `MutableList`.\n *\n * @since 2.0.0\n * @category constructors\n */\nexport const empty = () => {\n const list = Object.create(MutableListProto);\n list.head = undefined;\n list.tail = undefined;\n list._length = 0;\n return list;\n};\n/**\n * Creates a new `MutableList` from an iterable collection of values.\n *\n * @since 2.0.0\n * @category constructors\n */\nexport const fromIterable = iterable => {\n const list = empty();\n for (const element of iterable) {\n append(list, element);\n }\n return list;\n};\n/**\n * Creates a new `MutableList` from the specified elements.\n *\n * @since 2.0.0\n * @category constructors\n */\nexport const make = (...elements) => fromIterable(elements);\n/**\n * Returns `true` if the list contains zero elements, `false`, otherwise.\n *\n * @since 2.0.0\n * @category getters\n */\nexport const isEmpty = self => length(self) === 0;\n/**\n * Returns the length of the list.\n *\n * @since 2.0.0\n * @category getters\n */\nexport const length = self => self._length;\n/**\n * Returns the last element of the list, if it exists.\n *\n * @since 2.0.0\n * @category getters\n */\nexport const tail = self => self.tail === undefined ? undefined : self.tail.value;\n/**\n * Returns the first element of the list, if it exists.\n *\n * @since 2.0.0\n * @category getters\n */\nexport const head = self => self.head === undefined ? undefined : self.head.value;\n/**\n * Executes the specified function `f` for each element in the list.\n *\n * @since 2.0.0\n * @category traversing\n */\nexport const forEach = /*#__PURE__*/Dual.dual(2, (self, f) => {\n let current = self.head;\n while (current !== undefined) {\n f(current.value);\n current = current.next;\n }\n});\n/**\n * Removes all elements from the doubly-linked list.\n *\n * @since 2.0.0\n */\nexport const reset = self => {\n ;\n self._length = 0;\n self.head = undefined;\n self.tail = undefined;\n return self;\n};\n/**\n * Appends the specified element to the end of the `MutableList`.\n *\n * @category concatenating\n * @since 2.0.0\n */\nexport const append = /*#__PURE__*/Dual.dual(2, (self, value) => {\n const node = makeNode(value);\n if (self.head === undefined) {\n self.head = node;\n }\n if (self.tail === undefined) {\n self.tail = node;\n } else {\n self.tail.next = node;\n node.prev = self.tail;\n self.tail = node;\n }\n ;\n self._length += 1;\n return self;\n});\n/**\n * Removes the first value from the list and returns it, if it exists.\n *\n * @since 0.0.1\n */\nexport const shift = self => {\n const head = self.head;\n if (head !== undefined) {\n remove(self, head);\n return head.value;\n }\n return undefined;\n};\n/**\n * Removes the last value from the list and returns it, if it exists.\n *\n * @since 0.0.1\n */\nexport const pop = self => {\n const tail = self.tail;\n if (tail !== undefined) {\n remove(self, tail);\n return tail.value;\n }\n return undefined;\n};\n/**\n * Prepends the specified value to the beginning of the list.\n *\n * @category concatenating\n * @since 2.0.0\n */\nexport const prepend = /*#__PURE__*/Dual.dual(2, (self, value) => {\n const node = makeNode(value);\n node.next = self.head;\n if (self.head !== undefined) {\n self.head.prev = node;\n }\n self.head = node;\n if (self.tail === undefined) {\n self.tail = node;\n }\n ;\n self._length += 1;\n return self;\n});\nconst remove = (self, node) => {\n if (node.removed) {\n return;\n }\n node.removed = true;\n if (node.prev !== undefined && node.next !== undefined) {\n node.prev.next = node.next;\n node.next.prev = node.prev;\n } else if (node.prev !== undefined) {\n self.tail = node.prev;\n node.prev.next = undefined;\n } else if (node.next !== undefined) {\n self.head = node.next;\n node.next.prev = undefined;\n } else {\n self.tail = undefined;\n self.head = undefined;\n }\n if (self._length > 0) {\n ;\n self._length -= 1;\n }\n};\n//# sourceMappingURL=MutableList.js.map","/**\n * @since 2.0.0\n */\nimport * as Chunk from \"./Chunk.js\";\nimport * as Dual from \"./Function.js\";\nimport { format, NodeInspectSymbol, toJSON } from \"./Inspectable.js\";\nimport * as MutableList from \"./MutableList.js\";\nimport { pipeArguments } from \"./Pipeable.js\";\nconst TypeId = /*#__PURE__*/Symbol.for(\"effect/MutableQueue\");\n/**\n * @since 2.0.0\n * @category symbol\n */\nexport const EmptyMutableQueue = /*#__PURE__*/Symbol.for(\"effect/mutable/MutableQueue/Empty\");\nconst MutableQueueProto = {\n [TypeId]: TypeId,\n [Symbol.iterator]() {\n return Array.from(this.queue)[Symbol.iterator]();\n },\n toString() {\n return format(this.toJSON());\n },\n toJSON() {\n return {\n _id: \"MutableQueue\",\n values: Array.from(this).map(toJSON)\n };\n },\n [NodeInspectSymbol]() {\n return this.toJSON();\n },\n pipe() {\n return pipeArguments(this, arguments);\n }\n};\nconst make = capacity => {\n const queue = Object.create(MutableQueueProto);\n queue.queue = MutableList.empty();\n queue.capacity = capacity;\n return queue;\n};\n/**\n * Creates a new bounded `MutableQueue`.\n *\n * @since 2.0.0\n * @category constructors\n */\nexport const bounded = capacity => make(capacity);\n/**\n * Creates a new unbounded `MutableQueue`.\n *\n * @since 2.0.0\n * @category constructors\n */\nexport const unbounded = () => make(undefined);\n/**\n * Returns the current number of elements in the queue.\n *\n * @since 2.0.0\n * @category getters\n */\nexport const length = self => MutableList.length(self.queue);\n/**\n * Returns `true` if the queue is empty, `false` otherwise.\n *\n * @since 2.0.0\n * @category getters\n */\nexport const isEmpty = self => MutableList.isEmpty(self.queue);\n/**\n * Returns `true` if the queue is full, `false` otherwise.\n *\n * @since 2.0.0\n * @category getters\n */\nexport const isFull = self => self.capacity === undefined ? false : MutableList.length(self.queue) === self.capacity;\n/**\n * The **maximum** number of elements that a queue can hold.\n *\n * **Note**: unbounded queues can still implement this interface with\n * `capacity = Infinity`.\n *\n * @since 2.0.0\n * @category getters\n */\nexport const capacity = self => self.capacity === undefined ? Infinity : self.capacity;\n/**\n * Offers an element to the queue.\n *\n * Returns whether the enqueue was successful or not.\n *\n * @since 2.0.0\n */\nexport const offer = /*#__PURE__*/Dual.dual(2, (self, value) => {\n const queueLength = MutableList.length(self.queue);\n if (self.capacity !== undefined && queueLength === self.capacity) {\n return false;\n }\n MutableList.append(value)(self.queue);\n return true;\n});\n/**\n * Enqueues a collection of values into the queue.\n *\n * Returns a `Chunk` of the values that were **not** able to be enqueued.\n *\n * @since 2.0.0\n */\nexport const offerAll = /*#__PURE__*/Dual.dual(2, (self, values) => {\n const iterator = values[Symbol.iterator]();\n let next;\n let remainder = Chunk.empty();\n let offering = true;\n while (offering && (next = iterator.next()) && !next.done) {\n offering = offer(next.value)(self);\n }\n while (next != null && !next.done) {\n remainder = Chunk.prepend(next.value)(remainder);\n next = iterator.next();\n }\n return Chunk.reverse(remainder);\n});\n/**\n * Dequeues an element from the queue.\n *\n * Returns either an element from the queue, or the `def` param.\n *\n * **Note**: if there is no meaningful default for your type, you can always\n * use `poll(MutableQueue.EmptyMutableQueue)`.\n *\n * @since 2.0.0\n */\nexport const poll = /*#__PURE__*/Dual.dual(2, (self, def) => {\n if (MutableList.isEmpty(self.queue)) {\n return def;\n }\n return MutableList.shift(self.queue);\n});\n/**\n * Dequeues up to `n` elements from the queue.\n *\n * Returns a `List` of up to `n` elements.\n *\n * @since 2.0.0\n */\nexport const pollUpTo = /*#__PURE__*/Dual.dual(2, (self, n) => {\n let result = Chunk.empty();\n let count = 0;\n while (count < n) {\n const element = poll(EmptyMutableQueue)(self);\n if (element === EmptyMutableQueue) {\n break;\n }\n result = Chunk.prepend(element)(result);\n count += 1;\n }\n return Chunk.reverse(result);\n});\n//# sourceMappingURL=MutableQueue.js.map","import * as Context from \"../Context.js\";\nimport * as Deferred from \"../Deferred.js\";\nimport * as Duration from \"../Duration.js\";\nimport * as Either from \"../Either.js\";\nimport * as Equal from \"../Equal.js\";\nimport * as Exit from \"../Exit.js\";\nimport { pipe } from \"../Function.js\";\nimport * as Hash from \"../Hash.js\";\nimport * as MutableHashMap from \"../MutableHashMap.js\";\nimport * as MutableQueue from \"../MutableQueue.js\";\nimport * as MutableRef from \"../MutableRef.js\";\nimport * as Option from \"../Option.js\";\nimport { hasProperty } from \"../Predicate.js\";\nimport * as effect from \"./core-effect.js\";\nimport * as core from \"./core.js\";\nimport * as Data from \"./data.js\";\nimport { none } from \"./fiberId.js\";\nimport * as fiberRuntime from \"./fiberRuntime.js\";\n/** @internal */\nexport const complete = (key, exit, entryStats, timeToLiveMillis) => Data.struct({\n _tag: \"Complete\",\n key,\n exit,\n entryStats,\n timeToLiveMillis\n});\n/** @internal */\nexport const pending = (key, deferred) => Data.struct({\n _tag: \"Pending\",\n key,\n deferred\n});\n/** @internal */\nexport const refreshing = (deferred, complete) => Data.struct({\n _tag: \"Refreshing\",\n deferred,\n complete\n});\n/** @internal */\nexport const MapKeyTypeId = /*#__PURE__*/Symbol.for(\"effect/Cache/MapKey\");\nclass MapKeyImpl {\n current;\n [MapKeyTypeId] = MapKeyTypeId;\n previous = undefined;\n next = undefined;\n constructor(current) {\n this.current = current;\n }\n [Hash.symbol]() {\n return pipe(Hash.hash(this.current), Hash.combine(Hash.hash(this.previous)), Hash.combine(Hash.hash(this.next)), Hash.cached(this));\n }\n [Equal.symbol](that) {\n if (this === that) {\n return true;\n }\n return isMapKey(that) && Equal.equals(this.current, that.current) && Equal.equals(this.previous, that.previous) && Equal.equals(this.next, that.next);\n }\n}\n/** @internal */\nexport const makeMapKey = current => new MapKeyImpl(current);\n/** @internal */\nexport const isMapKey = u => hasProperty(u, MapKeyTypeId);\nclass KeySetImpl {\n head = undefined;\n tail = undefined;\n add(key) {\n if (key !== this.tail) {\n if (this.tail === undefined) {\n this.head = key;\n this.tail = key;\n } else {\n const previous = key.previous;\n const next = key.next;\n if (next !== undefined) {\n key.next = undefined;\n if (previous !== undefined) {\n previous.next = next;\n next.previous = previous;\n } else {\n this.head = next;\n this.head.previous = undefined;\n }\n }\n this.tail.next = key;\n key.previous = this.tail;\n this.tail = key;\n }\n }\n }\n remove() {\n const key = this.head;\n if (key !== undefined) {\n const next = key.next;\n if (next !== undefined) {\n key.next = undefined;\n this.head = next;\n this.head.previous = undefined;\n } else {\n this.head = undefined;\n this.tail = undefined;\n }\n }\n return key;\n }\n}\n/** @internal */\nexport const makeKeySet = () => new KeySetImpl();\n/**\n * Constructs a new `CacheState` from the specified values.\n *\n * @internal\n */\nexport const makeCacheState = (map, keys, accesses, updating, hits, misses) => ({\n map,\n keys,\n accesses,\n updating,\n hits,\n misses\n});\n/**\n * Constructs an initial cache state.\n *\n * @internal\n */\nexport const initialCacheState = () => makeCacheState(MutableHashMap.empty(), makeKeySet(), MutableQueue.unbounded(), MutableRef.make(false), 0, 0);\n/** @internal */\nconst CacheSymbolKey = \"effect/Cache\";\n/** @internal */\nexport const CacheTypeId = /*#__PURE__*/Symbol.for(CacheSymbolKey);\nconst cacheVariance = {\n /* c8 ignore next */\n _Key: _ => _,\n /* c8 ignore next */\n _Error: _ => _,\n /* c8 ignore next */\n _Value: _ => _\n};\n/** @internal */\nconst ConsumerCacheSymbolKey = \"effect/ConsumerCache\";\n/** @internal */\nexport const ConsumerCacheTypeId = /*#__PURE__*/Symbol.for(ConsumerCacheSymbolKey);\nconst consumerCacheVariance = {\n /* c8 ignore next */\n _Key: _ => _,\n /* c8 ignore next */\n _Error: _ => _,\n /* c8 ignore next */\n _Value: _ => _\n};\n/** @internal */\nexport const makeCacheStats = options => options;\n/** @internal */\nexport const makeEntryStats = loadedMillis => ({\n loadedMillis\n});\nclass CacheImpl {\n capacity;\n context;\n fiberId;\n lookup;\n timeToLive;\n [CacheTypeId] = cacheVariance;\n [ConsumerCacheTypeId] = consumerCacheVariance;\n cacheState;\n constructor(capacity, context, fiberId, lookup, timeToLive) {\n this.capacity = capacity;\n this.context = context;\n this.fiberId = fiberId;\n this.lookup = lookup;\n this.timeToLive = timeToLive;\n this.cacheState = initialCacheState();\n }\n get(key) {\n return core.map(this.getEither(key), Either.merge);\n }\n get cacheStats() {\n return core.sync(() => makeCacheStats({\n hits: this.cacheState.hits,\n misses: this.cacheState.misses,\n size: MutableHashMap.size(this.cacheState.map)\n }));\n }\n getOption(key) {\n return core.suspend(() => Option.match(MutableHashMap.get(this.cacheState.map, key), {\n onNone: () => {\n const mapKey = makeMapKey(key);\n this.trackAccess(mapKey);\n this.trackMiss();\n return core.succeed(Option.none());\n },\n onSome: value => this.resolveMapValue(value)\n }));\n }\n getOptionComplete(key) {\n return core.suspend(() => Option.match(MutableHashMap.get(this.cacheState.map, key), {\n onNone: () => {\n const mapKey = makeMapKey(key);\n this.trackAccess(mapKey);\n this.trackMiss();\n return core.succeed(Option.none());\n },\n onSome: value => this.resolveMapValue(value, true)\n }));\n }\n contains(key) {\n return core.sync(() => MutableHashMap.has(this.cacheState.map, key));\n }\n entryStats(key) {\n return core.sync(() => {\n const option = MutableHashMap.get(this.cacheState.map, key);\n if (Option.isSome(option)) {\n switch (option.value._tag) {\n case \"Complete\":\n {\n const loaded = option.value.entryStats.loadedMillis;\n return Option.some(makeEntryStats(loaded));\n }\n case \"Pending\":\n {\n return Option.none();\n }\n case \"Refreshing\":\n {\n const loaded = option.value.complete.entryStats.loadedMillis;\n return Option.some(makeEntryStats(loaded));\n }\n }\n }\n return Option.none();\n });\n }\n getEither(key) {\n return core.suspend(() => {\n const k = key;\n let mapKey = undefined;\n let deferred = undefined;\n let value = Option.getOrUndefined(MutableHashMap.get(this.cacheState.map, k));\n if (value === undefined) {\n deferred = Deferred.unsafeMake(this.fiberId);\n mapKey = makeMapKey(k);\n if (MutableHashMap.has(this.cacheState.map, k)) {\n value = Option.getOrUndefined(MutableHashMap.get(this.cacheState.map, k));\n } else {\n MutableHashMap.set(this.cacheState.map, k, pending(mapKey, deferred));\n }\n }\n if (value === undefined) {\n this.trackAccess(mapKey);\n this.trackMiss();\n return core.map(this.lookupValueOf(key, deferred), Either.right);\n } else {\n return core.flatMap(this.resolveMapValue(value), Option.match({\n onNone: () => this.getEither(key),\n onSome: value => core.succeed(Either.left(value))\n }));\n }\n });\n }\n invalidate(key) {\n return core.sync(() => {\n MutableHashMap.remove(this.cacheState.map, key);\n });\n }\n invalidateWhen(key, when) {\n return core.sync(() => {\n const value = MutableHashMap.get(this.cacheState.map, key);\n if (Option.isSome(value) && value.value._tag === \"Complete\") {\n if (value.value.exit._tag === \"Success\") {\n if (when(value.value.exit.value)) {\n MutableHashMap.remove(this.cacheState.map, key);\n }\n }\n }\n });\n }\n get invalidateAll() {\n return core.sync(() => {\n this.cacheState.map = MutableHashMap.empty();\n });\n }\n refresh(key) {\n return effect.clockWith(clock => core.suspend(() => {\n const k = key;\n const deferred = Deferred.unsafeMake(this.fiberId);\n let value = Option.getOrUndefined(MutableHashMap.get(this.cacheState.map, k));\n if (value === undefined) {\n if (MutableHashMap.has(this.cacheState.map, k)) {\n value = Option.getOrUndefined(MutableHashMap.get(this.cacheState.map, k));\n } else {\n MutableHashMap.set(this.cacheState.map, k, pending(makeMapKey(k), deferred));\n }\n }\n if (value === undefined) {\n return core.asVoid(this.lookupValueOf(key, deferred));\n } else {\n switch (value._tag) {\n case \"Complete\":\n {\n if (this.hasExpired(clock, value.timeToLiveMillis)) {\n const found = Option.getOrUndefined(MutableHashMap.get(this.cacheState.map, k));\n if (Equal.equals(found, value)) {\n MutableHashMap.remove(this.cacheState.map, k);\n }\n return core.asVoid(this.get(key));\n }\n // Only trigger the lookup if we're still the current value, `completedResult`\n return pipe(this.lookupValueOf(key, deferred), effect.when(() => {\n const current = Option.getOrUndefined(MutableHashMap.get(this.cacheState.map, k));\n if (Equal.equals(current, value)) {\n const mapValue = refreshing(deferred, value);\n MutableHashMap.set(this.cacheState.map, k, mapValue);\n return true;\n }\n return false;\n }), core.asVoid);\n }\n case \"Pending\":\n {\n return Deferred.await(value.deferred);\n }\n case \"Refreshing\":\n {\n return Deferred.await(value.deferred);\n }\n }\n }\n }));\n }\n set(key, value) {\n return effect.clockWith(clock => core.sync(() => {\n const now = clock.unsafeCurrentTimeMillis();\n const k = key;\n const lookupResult = Exit.succeed(value);\n const mapValue = complete(makeMapKey(k), lookupResult, makeEntryStats(now), now + Duration.toMillis(Duration.decode(this.timeToLive(lookupResult))));\n MutableHashMap.set(this.cacheState.map, k, mapValue);\n }));\n }\n get size() {\n return core.sync(() => {\n return MutableHashMap.size(this.cacheState.map);\n });\n }\n get values() {\n return core.sync(() => {\n const values = [];\n for (const entry of this.cacheState.map) {\n if (entry[1]._tag === \"Complete\" && entry[1].exit._tag === \"Success\") {\n values.push(entry[1].exit.value);\n }\n }\n return values;\n });\n }\n get entries() {\n return core.sync(() => {\n const values = [];\n for (const entry of this.cacheState.map) {\n if (entry[1]._tag === \"Complete\" && entry[1].exit._tag === \"Success\") {\n values.push([entry[0], entry[1].exit.value]);\n }\n }\n return values;\n });\n }\n get keys() {\n return core.sync(() => {\n const keys = [];\n for (const entry of this.cacheState.map) {\n if (entry[1]._tag === \"Complete\" && entry[1].exit._tag === \"Success\") {\n keys.push(entry[0]);\n }\n }\n return keys;\n });\n }\n resolveMapValue(value, ignorePending = false) {\n return effect.clockWith(clock => {\n switch (value._tag) {\n case \"Complete\":\n {\n this.trackAccess(value.key);\n if (this.hasExpired(clock, value.timeToLiveMillis)) {\n MutableHashMap.remove(this.cacheState.map, value.key.current);\n return core.succeed(Option.none());\n }\n this.trackHit();\n return core.map(value.exit, Option.some);\n }\n case \"Pending\":\n {\n this.trackAccess(value.key);\n this.trackHit();\n if (ignorePending) {\n return core.succeed(Option.none());\n }\n return core.map(Deferred.await(value.deferred), Option.some);\n }\n case \"Refreshing\":\n {\n this.trackAccess(value.complete.key);\n this.trackHit();\n if (this.hasExpired(clock, value.complete.timeToLiveMillis)) {\n if (ignorePending) {\n return core.succeed(Option.none());\n }\n return core.map(Deferred.await(value.deferred), Option.some);\n }\n return core.map(value.complete.exit, Option.some);\n }\n }\n });\n }\n trackHit() {\n this.cacheState.hits = this.cacheState.hits + 1;\n }\n trackMiss() {\n this.cacheState.misses = this.cacheState.misses + 1;\n }\n trackAccess(key) {\n MutableQueue.offer(this.cacheState.accesses, key);\n if (MutableRef.compareAndSet(this.cacheState.updating, false, true)) {\n let loop = true;\n while (loop) {\n const key = MutableQueue.poll(this.cacheState.accesses, MutableQueue.EmptyMutableQueue);\n if (key === MutableQueue.EmptyMutableQueue) {\n loop = false;\n } else {\n this.cacheState.keys.add(key);\n }\n }\n let size = MutableHashMap.size(this.cacheState.map);\n loop = size > this.capacity;\n while (loop) {\n const key = this.cacheState.keys.remove();\n if (key !== undefined) {\n if (MutableHashMap.has(this.cacheState.map, key.current)) {\n MutableHashMap.remove(this.cacheState.map, key.current);\n size = size - 1;\n loop = size > this.capacity;\n }\n } else {\n loop = false;\n }\n }\n MutableRef.set(this.cacheState.updating, false);\n }\n }\n hasExpired(clock, timeToLiveMillis) {\n return clock.unsafeCurrentTimeMillis() > timeToLiveMillis;\n }\n lookupValueOf(input, deferred) {\n return effect.clockWith(clock => core.suspend(() => {\n const key = input;\n return pipe(this.lookup(input), core.provideContext(this.context), core.exit, core.flatMap(exit => {\n const now = clock.unsafeCurrentTimeMillis();\n const stats = makeEntryStats(now);\n const value = complete(makeMapKey(key), exit, stats, now + Duration.toMillis(Duration.decode(this.timeToLive(exit))));\n MutableHashMap.set(this.cacheState.map, key, value);\n return core.zipRight(Deferred.done(deferred, exit), exit);\n }), core.onInterrupt(() => core.zipRight(Deferred.interrupt(deferred), core.sync(() => {\n MutableHashMap.remove(this.cacheState.map, key);\n }))));\n }));\n }\n}\n/** @internal */\nexport const make = options => {\n const timeToLive = Duration.decode(options.timeToLive);\n return makeWith({\n capacity: options.capacity,\n lookup: options.lookup,\n timeToLive: () => timeToLive\n });\n};\n/** @internal */\nexport const makeWith = options => core.map(fiberRuntime.all([core.context(), core.fiberId]), ([context, fiberId]) => new CacheImpl(options.capacity, context, fiberId, options.lookup, exit => Duration.decode(options.timeToLive(exit))));\n/** @internal */\nexport const unsafeMakeWith = (capacity, lookup, timeToLive) => new CacheImpl(capacity, Context.empty(), none, lookup, exit => Duration.decode(timeToLive(exit)));\n//# sourceMappingURL=cache.js.map","import * as internal from \"./internal/cache.js\";\n/**\n * @since 2.0.0\n * @category symbols\n */\nexport const CacheTypeId = internal.CacheTypeId;\n/**\n * @since 3.6.4\n * @category symbols\n */\nexport const ConsumerCacheTypeId = internal.ConsumerCacheTypeId;\n/**\n * Constructs a new cache with the specified capacity, time to live, and\n * lookup function.\n *\n * @since 2.0.0\n * @category constructors\n */\nexport const make = internal.make;\n/**\n * Constructs a new cache with the specified capacity, time to live, and\n * lookup function, where the time to live can depend on the `Exit` value\n * returned by the lookup function.\n *\n * @since 2.0.0\n * @category constructors\n */\nexport const makeWith = internal.makeWith;\n/**\n * Constructs a new `CacheStats` from the specified values.\n *\n * @since 2.0.0\n * @category constructors\n */\nexport const makeCacheStats = internal.makeCacheStats;\n/**\n * Constructs a new `EntryStats` from the specified values.\n *\n * @since 2.0.0\n * @category constructors\n */\nexport const makeEntryStats = internal.makeEntryStats;\n//# sourceMappingURL=Cache.js.map","import { Data, Effect } from 'effect';\n\nexport class FetchError extends Data.TaggedError('FetchError')<{ cause: unknown }> {}\nexport class NotFoundError extends Data.TaggedError('NotFoundError')<{ url: string }> {}\n\nexport const httpClient = (input: RequestInfo | URL, init?: RequestInit) =>\n Effect.gen(function* () {\n const response = yield* Effect.tryPromise({\n try: () => fetch(input, init),\n catch: error => new FetchError({ cause: error }),\n });\n\n if (response.status === 404) {\n return yield* new NotFoundError({ url: response.url });\n }\n\n return response;\n });\n\nexport class ResponseTextError extends Data.TaggedError('ResponseTextError')<Error> {\n constructor(error: Error) {\n super(new Error(`Failed to read response text`, { cause: error }));\n }\n}\n\nexport const responseAsText = (res: Response) =>\n Effect.tryPromise({\n try: () => res.text(),\n catch: error => new ResponseTextError(error as Error),\n });\n","import { Brand, Data, Effect } from 'effect';\n\nexport type SVGString = string & Brand.Brand<'SVG'>;\nexport const SVGString = Brand.refined<SVGString>(isValidSVG, () => Brand.error('SVG data is malformed'));\nexport class BrandValidationError extends Data.TaggedError('BrandValidationError')<Error> {\n constructor(error: Error, type: string) {\n super(new Error(`Brand validation failed for type ${type}.`, { cause: error }));\n }\n}\n\nexport const createValidSVGString = (svg: string) =>\n Effect.try({\n try: () => SVGString(svg),\n catch: error => new BrandValidationError(error as Error, 'SVGString'),\n });\n\nfunction isValidSVG(svg: string): boolean {\n if (typeof svg !== 'string') {\n return false;\n }\n try {\n const parser = new DOMParser();\n const doc = parser.parseFromString(svg, 'image/svg+xml');\n return doc.documentElement.nodeName === 'svg';\n } catch {\n return false;\n }\n}\n","import { Cache, Duration, Effect } from 'effect';\nimport { Icon } from '../..';\nimport { syncCreateAssetUrlSafely } from '../../utils/assets';\nimport type { UnwrapEffect } from '../../utils/effect';\nimport { httpClient, responseAsText } from '../../utils/http';\nimport { createValidSVGString, SVGString } from '../../utils/validation/svg';\n\nexport type IconData = SVGString;\nexport type IconCacheKey = `${Icon.IconName}`;\nexport const emptyDefaultSvg = () => SVGString(`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"></svg>`);\n\n// Create a cache for icon data (concurrent-safe, TTL infinite)\nconst createIconCache = () =>\n Cache.make({\n capacity: 200,\n timeToLive: Duration.infinity,\n lookup: (key: IconCacheKey) =>\n Effect.gen(function* () {\n const name = key as Icon.IconName;\n const assetPath = yield* syncCreateAssetUrlSafely(`${name}.svg`, 'icons');\n const res = yield* httpClient(assetPath);\n const responseString = yield* responseAsText(res);\n return yield* createValidSVGString(responseString);\n }),\n });\n\nlet cacheInstance: UnwrapEffect<ReturnType<typeof createIconCache>>[0] | null = null;\n\n/**\n * Fetches an icon from the cache by name, falling back to an empty default SVG if not found.\n *\n * @param name - The name of the icon to fetch from the cache.\n * @returns An Effect that yields a valid SVG string (branded), always.\n *\n * @example\n * ```typescript\n * const iconEffect = fetchIcon('home');\n * ```\n */\nexport function fetchIconSvg(name: Icon.IconName) {\n const key: IconCacheKey = name;\n return Effect.gen(function* () {\n if (!cacheInstance) {\n cacheInstance = yield* createIconCache();\n }\n return yield* cacheInstance.get(key) satisfies Effect.Effect<SVGString, unknown, never>;\n });\n}\n\nexport function clearIconCache() {\n return Effect.gen(function* () {\n if (cacheInstance) {\n yield* cacheInstance.invalidateAll;\n } else {\n Effect.logWarning('Attempted to clear icon cache before it was initialized');\n }\n });\n}\n"],"names":["Either.right","Either.left","Option.match","Either.getOrThrowWith","identity","Option.getRight","Either.isRight","make","core.deferredMake","core.deferredAwait","core.deferredDone","failCause","core.deferredFailCause","core.deferredInterrupt","core.deferredIsDone","succeed","core.deferredSucceed","core.deferredUnsafeMake","core.exitIsFailure","core.exitIsSuccess","core.exitCollectAll","core.exitDie","core.exitFail","core.exitFailCause","core.exitMap","core.exitMatch","core.exitSucceed","core.exitVoid","core.exitZip","core.exitZipRight","TypeId","format","toJSON","NodeInspectSymbol","pipeArguments","isEmpty","length","Dual.dual","MutableList.empty","MutableList.length","MutableList.isEmpty","MutableList.append","Chunk.empty","Chunk.prepend","Chunk.reverse","MutableList.shift","Data.struct","Hash.symbol","pipe","Hash.hash","Hash.combine","Hash.cached","Equal.symbol","Equal.equals","hasProperty","MutableHashMap.empty","MutableQueue.unbounded","MutableRef.make","core.map","Either.merge","core.sync","MutableHashMap.size","core.suspend","MutableHashMap.get","core.succeed","Option.none","MutableHashMap.has","Option.isSome","Option.some","Option.getOrUndefined","Deferred.unsafeMake","MutableHashMap.set","core.flatMap","MutableHashMap.remove","effect.clockWith","core.asVoid","effect.when","Deferred.await","Exit.succeed","Duration.toMillis","Duration.decode","MutableQueue.offer","MutableRef.compareAndSet","MutableQueue.poll","MutableQueue.EmptyMutableQueue","MutableRef.set","core.provideContext","core.exit","core.zipRight","Deferred.done","core.onInterrupt","Deferred.interrupt","fiberRuntime.all","core.context","core.fiberId","internal.make","Data.TaggedError","Effect.gen","Effect.tryPromise","Brand.refined","Brand.error","Effect.try","Cache.make","Duration.infinity","syncCreateAssetUrlSafely","Effect.logWarning"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAUA;AACA;AACA;AACA;AACO,MAAM,yBAAyB,gBAAgB,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC;AACxF;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC;AACzC,EAAE,OAAO;AACT,EAAE;AACF,CAAC,CAAC;AAQK,SAAS,OAAO,CAAC,GAAG,IAAI,EAAE;AACjC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAGA,YAAY,CAAC,SAAS,CAAC,GAAGC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,IAAI;AAChJ,IAAI,OAAOC,cAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;AAC5C,MAAM,MAAM,EAAE,MAAMF,YAAY,CAAC,SAAS,CAAC;AAC3C,MAAM,MAAM,EAAEC;AACd,KAAK,CAAC;AACN,GAAG;AACH,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,IAAIE,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAEC,eAAQ,CAAC,EAAE;AACxF,IAAI,CAAC,yBAAyB,GAAG,yBAAyB;AAC1D,IAAI,MAAM,EAAE,IAAI,IAAIC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACjD,IAAI,MAAM;AACV,IAAI,EAAE,EAAE,IAAI,IAAIC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC;AAC3C,GAAG,CAAC;AACJ;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACY,MAACC,MAAI,GAAGC;AAQf,MAAC,MAAM,GAAGC;AA6Bf;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,IAAI,GAAGC,mBAAiB;AAiBrC;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAACC,WAAS,GAAGC;AAyBzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,SAAS,GAAGC,wBAAsB;AAS/C;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,MAAM,GAAGC;AAStB;AACA;AACA;AACA;AACA;AACA;AACY,MAACC,SAAO,GAAGC;AAQvB;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,UAAU,GAAGC,yBAAuB;;ACvJjD;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,SAAS,GAAGC;AACzB;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,SAAS,GAAGC;AAgCzB;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,GAAG,GAAGC;AACnB;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,GAAG,GAAGC;AASnB;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,IAAI,GAAGC;AACpB;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,SAAS,GAAGC;AAoDzB;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,GAAG,GAAGC;AAyBnB;AACA;AACA;AACA;AACY,MAAC,KAAK,GAAGC;AAMrB;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,OAAO,GAAGC;AAClB,MAAC,KAAK,GAAGC;AASd;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,GAAG,GAAGC;AASnB;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,QAAQ,GAAGC;;AC/NxB;AACA;AACA;AAIA,MAAMC,QAAM,gBAAgB,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;AAC5D,MAAM,gBAAgB,GAAG;AACzB,EAAE,CAACA,QAAM,GAAGA,QAAM;AAClB,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG;AACtB,IAAI,IAAI,IAAI,GAAG,KAAK;AACpB,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI;AACxB,IAAI,OAAO;AACX,MAAM,IAAI,GAAG;AACb,QAAQ,IAAI,IAAI,EAAE;AAClB,UAAU,OAAO,IAAI,CAAC,MAAM,EAAE;AAC9B;AACA,QAAQ,IAAI,IAAI,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","x_google_ignoreList":[0,1,2,3,4,5,6]}
|