@ts-fns/stdlib 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/array/index.cjs +54 -1
  2. package/dist/array/index.cjs.map +1 -1
  3. package/dist/array/index.d.cts +46 -5
  4. package/dist/array/index.d.cts.map +1 -1
  5. package/dist/array/index.d.mts +46 -5
  6. package/dist/array/index.d.mts.map +1 -1
  7. package/dist/array/index.mjs +53 -2
  8. package/dist/array/index.mjs.map +1 -1
  9. package/dist/function/index.cjs +3 -3
  10. package/dist/function/index.d.cts +29 -27
  11. package/dist/function/index.d.cts.map +1 -1
  12. package/dist/function/index.d.mts +29 -27
  13. package/dist/function/index.d.mts.map +1 -1
  14. package/dist/function/index.mjs +2 -2
  15. package/dist/{function-CYHPhQCQ.mjs → function-DI38qfqp.mjs} +6 -8
  16. package/dist/function-DI38qfqp.mjs.map +1 -0
  17. package/dist/{function-DYPifnmg.cjs → function-Dn9QtmOy.cjs} +19 -15
  18. package/dist/function-Dn9QtmOy.cjs.map +1 -0
  19. package/dist/lens/index.cjs +18 -2
  20. package/dist/lens/index.cjs.map +1 -1
  21. package/dist/lens/index.d.cts +30 -1
  22. package/dist/lens/index.d.cts.map +1 -1
  23. package/dist/lens/index.d.mts +30 -1
  24. package/dist/lens/index.d.mts.map +1 -1
  25. package/dist/lens/index.mjs +18 -3
  26. package/dist/lens/index.mjs.map +1 -1
  27. package/dist/object/index.cjs +4 -3
  28. package/dist/object/index.cjs.map +1 -1
  29. package/dist/object/index.d.cts +1 -5
  30. package/dist/object/index.d.cts.map +1 -1
  31. package/dist/object/index.d.mts +1 -5
  32. package/dist/object/index.d.mts.map +1 -1
  33. package/dist/object/index.mjs +4 -3
  34. package/dist/object/index.mjs.map +1 -1
  35. package/dist/string/index.cjs +1 -1
  36. package/dist/string/index.mjs +1 -1
  37. package/package.json +6 -6
  38. package/dist/function-CYHPhQCQ.mjs.map +0 -1
  39. package/dist/function-DYPifnmg.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function-Dn9QtmOy.cjs","names":["purry","purry"],"sources":["../src/function/orThrow.ts","../src/function/always.ts","../src/function/internal/_compose.ts","../src/function/compose.ts","../src/function/identity.ts","../src/function/memoizeOne.ts","../src/function/noop.ts","../src/function/internal/_pipe.ts","../src/function/pipe.ts","../src/function/tap.ts","../src/function/unless.ts","../src/function/when.ts"],"sourcesContent":["/**\n * Wraps a function so that an error result is thrown instead of returned.\n *\n * @example\n * ```ts\n * const parse = orThrow((s: string) => (s ? s : new Error('empty')));\n * parse('ok'); // 'ok'\n * parse(''); // throws Error\n * ```\n */\nexport function orThrow(fn: (...args: readonly any[]) => unknown): (...args: readonly unknown[]) => unknown {\n const argLength = fn.length;\n\n const wrappedFn = (...args: readonly unknown[]): unknown => {\n const result = fn(...args);\n if (result instanceof Error) {\n throw result;\n }\n return result;\n };\n\n Object.defineProperty(wrappedFn, 'length', {\n value: argLength,\n });\n\n return wrappedFn;\n}\n","/**\n * Returns a function that always yields the same value, ignoring its arguments.\n *\n * @example\n * ```ts\n * always(42)(); // 42\n * always('hi')(1, 2, 3); // 'hi'\n * ```\n */\nexport function always<T>(value: T): (...args: unknown[]) => T {\n return () => value;\n}\n","export function composeImplementation(input: unknown, ...pipeline: readonly ((value: any) => unknown)[]): any {\n const len = pipeline.length;\n let output: unknown = input;\n for (let i = len - 1; i >= 0; i -= 1) {\n output = pipeline[i]!(output);\n if (Error.isError(output)) {\n return output;\n }\n }\n return output;\n}\n","import type { Err, Fn, Ok } from '../types';\n\nimport { composeImplementation } from './internal/_compose';\n\n/**\n * Composes a value through a sequence of functions from right to left.\n * Functions are listed last-to-first; the rightmost function is applied first.\n * Stops and returns the first error encountered in the pipeline.\n *\n * @example\n * ```ts\n * compose(1, n => n * 2, n => n + 1); // 4\n * compose('a', s => s + '!', s => s.toUpperCase()); // 'A!'\n * ```\n */\nexport function compose<A, B>(input: A, fn1: Fn<Ok<A>, B>): B | Err<A>;\nexport function compose<A, B, C>(input: A, fn2: Fn<Ok<B>, C>, fn1: Fn<Ok<A>, B>): C | Err<A> | Err<B>;\nexport function compose<A, B, C, D>(\n input: A,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): D | Err<A> | Err<B> | Err<C>;\nexport function compose<A, B, C, D, E>(\n input: A,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): E | Err<A> | Err<B> | Err<C> | Err<D>;\nexport function compose<A, B, C, D, E, F>(\n input: A,\n fn5: Fn<Ok<E>, F>,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | F;\nexport function compose<A, B, C, D, E, F, G>(\n input: A,\n fn6: Fn<Ok<F>, G>,\n fn5: Fn<Ok<E>, F>,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | G;\nexport function compose<A, B, C, D, E, F, G, H>(\n input: A,\n fn7: Fn<Ok<G>, H>,\n fn6: Fn<Ok<F>, G>,\n fn5: Fn<Ok<E>, F>,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | H;\nexport function compose<A, B, C, D, E, F, G, H, I>(\n input: A,\n fn8: Fn<Ok<H>, I>,\n fn7: Fn<Ok<G>, H>,\n fn6: Fn<Ok<F>, G>,\n fn5: Fn<Ok<E>, F>,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | Err<H> | I;\nexport function compose<A, B, C, D, E, F, G, H, I, J>(\n input: A,\n fn9: Fn<Ok<I>, J>,\n fn8: Fn<Ok<H>, I>,\n fn7: Fn<Ok<G>, H>,\n fn6: Fn<Ok<F>, G>,\n fn5: Fn<Ok<E>, F>,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | Err<H> | Err<I> | J;\nexport function compose(input: unknown, ...pipeline: readonly ((value: any) => unknown)[]): any {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return composeImplementation(input, ...pipeline);\n}\n\n/**\n * Returns a function that composes a value through a sequence of functions from right to left.\n * Functions are listed last-to-first; the rightmost function is applied first.\n * Stops and returns the first error encountered in the pipeline.\n *\n * @example\n * ```ts\n * compose.create(n => n * 2, n => n + 1)(1); // 4\n * compose.create(s => s + '!', s => s.toUpperCase())('a'); // 'A!'\n * ```\n */\nexport function createCompose<A, B>(fn1: Fn<Ok<A>, B>): (input: A) => B | Err<A>;\nexport function createCompose<A, B, C>(fn2: Fn<Ok<B>, C>, fn1: Fn<Ok<A>, B>): (input: A) => C | Err<A> | Err<B>;\nexport function createCompose<A, B, C, D>(\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): (input: A) => D | Err<A> | Err<B> | Err<C>;\nexport function createCompose<A, B, C, D, E>(\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): (input: A) => E | Err<A> | Err<B> | Err<C> | Err<D>;\nexport function createCompose<A, B, C, D, E, F>(\n fn5: Fn<Ok<E>, F>,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | F;\nexport function createCompose<A, B, C, D, E, F, G>(\n fn6: Fn<Ok<F>, G>,\n fn5: Fn<Ok<E>, F>,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | G;\nexport function createCompose<A, B, C, D, E, F, G, H>(\n fn7: Fn<Ok<G>, H>,\n fn6: Fn<Ok<F>, G>,\n fn5: Fn<Ok<E>, F>,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | H;\nexport function createCompose<A, B, C, D, E, F, G, H, I>(\n fn8: Fn<Ok<H>, I>,\n fn7: Fn<Ok<G>, H>,\n fn6: Fn<Ok<F>, G>,\n fn5: Fn<Ok<E>, F>,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | Err<H> | I;\nexport function createCompose<A, B, C, D, E, F, G, H, I, J>(\n fn9: Fn<Ok<I>, J>,\n fn8: Fn<Ok<H>, I>,\n fn7: Fn<Ok<G>, H>,\n fn6: Fn<Ok<F>, G>,\n fn5: Fn<Ok<E>, F>,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | Err<H> | Err<I> | J;\nexport function createCompose(...pipeline: readonly ((input: unknown) => unknown)[]): (input: unknown) => any {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return (input: unknown) => composeImplementation(input, ...pipeline);\n}\n\ncompose.create = createCompose;\n","/**\n * Returns its argument unchanged.\n *\n * @example\n * ```ts\n * identity(42); // 42\n * identity('hello'); // 'hello'\n * ```\n */\nexport function identity<T>(value: T): T {\n return value;\n}\n","function equalsByRef(first: unknown, second: unknown): boolean {\n if (first === second) {\n return true;\n }\n if (Number.isNaN(first) && Number.isNaN(second)) {\n return true;\n }\n\n return false;\n}\n\nfunction areInputsEqual(newInputs: readonly unknown[], lastInputs: readonly unknown[]): boolean {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n\n for (let i = 0; i < newInputs.length; i += 1) {\n if (!equalsByRef(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nexport type ArgumentCompareFn<TFunc extends (...args: unknown[]) => unknown> = (\n newArgs: Parameters<TFunc>,\n lastArgs: Parameters<TFunc>,\n) => boolean;\n\nexport type MemoizedFn<TFunc extends (this: unknown, ...args: unknown[]) => unknown> = {\n clear: () => void;\n (this: ThisParameterType<TFunc>, ...args: Parameters<TFunc>): ReturnType<TFunc>;\n};\n\ntype Cache<TFunc extends (this: unknown, ...args: unknown[]) => unknown> = {\n lastArgs: Parameters<TFunc>;\n lastResult: ReturnType<TFunc>;\n lastThis: ThisParameterType<TFunc>;\n};\n\nexport function memoizeOneImplementation<TFunc extends (this: unknown, ...args: unknown[]) => unknown>(\n fn: TFunc,\n argumentCompareFn: ArgumentCompareFn<TFunc>,\n): MemoizedFn<TFunc> {\n let cache: Cache<TFunc> | null = null;\n\n function memoized(this: ThisParameterType<TFunc>, ...newArgs: Parameters<TFunc>): ReturnType<TFunc> {\n if (cache?.lastThis === this && argumentCompareFn(newArgs, cache.lastArgs)) {\n return cache.lastResult;\n }\n\n const lastResult = fn.apply(this, newArgs) as ReturnType<TFunc>;\n cache = {\n lastArgs: newArgs,\n lastResult,\n lastThis: this,\n };\n\n return lastResult;\n }\n\n memoized.clear = () => {\n cache = null;\n };\n\n return memoized;\n}\n\n/**\n * Memoizes a function so that it reuses the last result when called with the same arguments.\n * Uses reference equality to compare arguments.\n *\n * @example\n * ```ts\n * const add = memoizeOne((a: number, b: number) => a + b);\n * add(1, 2); // 3 (computed)\n * add(1, 2); // 3 (cached)\n * add.clear();\n * ```\n */\nexport function memoizeOne<TFunc extends (this: unknown, ...args: unknown[]) => unknown>(fn: TFunc): MemoizedFn<TFunc> {\n return memoizeOneImplementation(fn, areInputsEqual);\n}\n\n/**\n * Like `memoizeOne`, but accepts a custom function for comparing arguments.\n *\n * @example\n * ```ts\n * const fn = memoizeOne.with(\n * (a: { n: number }) => a.n * 2,\n * ([a], [b]) => a.n === b.n,\n * );\n * fn({ n: 1 }); // 2 (computed)\n * fn({ n: 1 }); // 2 (cached, compared by `n`)\n * ```\n */\nmemoizeOne.with = memoizeOneImplementation;\n","/**\n * A function that does nothing.\n *\n * @example\n * ```ts\n * noop(); // void\n * noop(1, 2, 3); // void\n * ```\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function noop(...args: unknown[]): void {\n // noop\n}\n","export function pipeImplementation(input: unknown, ...pipeline: readonly ((value: any) => unknown)[]): any {\n const len = pipeline.length;\n let output: unknown = input;\n for (let i = 0; i < len; i += 1) {\n output = pipeline[i]!(output);\n if (Error.isError(output)) {\n return output;\n }\n }\n return output;\n}\n","import type { Err, Fn, Ok } from '../types';\n\nimport { pipeImplementation } from './internal/_pipe';\n\n/**\n * Pipes a value through a sequence of functions from left to right.\n * Stops and returns the first error encountered in the pipeline.\n *\n * @example\n * ```ts\n * pipe(1, n => n + 1, n => n * 2); // 4\n * pipe('a', s => s.toUpperCase(), s => s + '!'); // 'A!'\n * ```\n */\n// TODO: add up to 9 arguments\nexport function pipe<A, B>(value: A, fn1: Fn<Ok<A>, B>): B | Err<A>;\nexport function pipe<A, B, C>(value: A, fn1: Fn<Ok<A>, B>, fn2: Fn<Ok<B>, C>): C | Err<A> | Err<B>;\nexport function pipe<A, B, C, D>(\n value: A,\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n): D | Err<A> | Err<B> | Err<C>;\nexport function pipe<A, B, C, D, E>(\n value: A,\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n): E | Err<A> | Err<B> | Err<C> | Err<D>;\nexport function pipe<A, B, C, D, E, F>(\n value: A,\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n fn5: Fn<Ok<E>, F>,\n): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | F;\nexport function pipe<A, B, C, D, E, F, G>(\n value: A,\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n fn5: Fn<Ok<E>, F>,\n fn6: Fn<Ok<F>, G>,\n): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | G;\nexport function pipe<A, B, C, D, E, F, G, H>(\n value: A,\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n fn5: Fn<Ok<E>, F>,\n fn6: Fn<Ok<F>, G>,\n fn7: Fn<Ok<G>, H>,\n): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | H;\nexport function pipe<A, B, C, D, E, F, G, H, I>(\n value: A,\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n fn5: Fn<Ok<E>, F>,\n fn6: Fn<Ok<F>, G>,\n fn7: Fn<Ok<G>, H>,\n fn8: Fn<Ok<H>, I>,\n): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | Err<H> | I;\nexport function pipe<A, B, C, D, E, F, G, H, I, J>(\n value: A,\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n fn5: Fn<Ok<E>, F>,\n fn6: Fn<Ok<F>, G>,\n fn7: Fn<Ok<G>, H>,\n fn8: Fn<Ok<H>, I>,\n fn9: Fn<Ok<I>, J>,\n): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | Err<H> | Err<I> | J;\nexport function pipe(input: unknown, ...pipeline: readonly ((value: any) => unknown)[]): any {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return pipeImplementation(input, ...pipeline);\n}\n\n/**\n * Returns a function that pipes a value through a sequence of functions from left to right.\n * Stops and returns the first error encountered in the pipeline.\n *\n * @example\n * ```ts\n * pipe.create(n => n + 1, n => n * 2)(1); // 4\n * pipe.create(s => s.toUpperCase(), s => s + '!')('a'); // 'A!'\n * ```\n */\nexport function createPipe<A, B>(fn1: Fn<Ok<A>, B>): (input: A) => B | Err<A>;\nexport function createPipe<A, B, C>(fn1: Fn<Ok<A>, B>, fn2: Fn<Ok<B>, C>): (input: A) => C | Err<A> | Err<B>;\nexport function createPipe<A, B, C, D>(\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n): (input: A) => D | Err<A> | Err<B> | Err<C>;\nexport function createPipe<A, B, C, D, E>(\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n): (input: A) => E | Err<A> | Err<B> | Err<C> | Err<D>;\nexport function createPipe<A, B, C, D, E, F>(\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n fn5: Fn<Ok<E>, F>,\n): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | F;\nexport function createPipe<A, B, C, D, E, F, G>(\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n fn5: Fn<Ok<E>, F>,\n fn6: Fn<Ok<F>, G>,\n): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | G;\nexport function createPipe<A, B, C, D, E, F, G, H>(\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n fn5: Fn<Ok<E>, F>,\n fn6: Fn<Ok<F>, G>,\n fn7: Fn<Ok<G>, H>,\n): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | H;\nexport function createPipe<A, B, C, D, E, F, G, H, I>(\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n fn5: Fn<Ok<E>, F>,\n fn6: Fn<Ok<F>, G>,\n fn7: Fn<Ok<G>, H>,\n fn8: Fn<Ok<H>, I>,\n): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | Err<H> | I;\nexport function createPipe<A, B, C, D, E, F, G, H, I, J>(\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n fn5: Fn<Ok<E>, F>,\n fn6: Fn<Ok<F>, G>,\n fn7: Fn<Ok<G>, H>,\n fn8: Fn<Ok<H>, I>,\n fn9: Fn<Ok<I>, J>,\n): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | Err<H> | Err<I> | J;\nexport function createPipe(...pipeline: readonly ((input: unknown) => unknown)[]): (input: unknown) => any {\n return (value: unknown): unknown => pipeImplementation(value, ...pipeline);\n}\n\npipe.create = createPipe;\n","/**\n * Runs a side-effect callback on a value and returns the original value unchanged.\n *\n * @example\n * ```ts\n * tap(console.log)(42); // logs 42, returns 42\n * tap(n => console.log(n * 2))([1, 2, 3]); // logs [2, 4, 6], returns [1, 2, 3]\n * ```\n */\nexport function tap<T>(callbackFn: (data: T) => void): (data: T) => T {\n return (data: T) => {\n callbackFn(data);\n return data;\n };\n}\n","import { purry } from './purry';\n\nfunction unlessImplementation<T>(data: T, predicate: (data: T) => boolean, fn: (data: T) => T): T {\n return predicate(data) ? data : fn(data);\n}\n\n/**\n * Applies a transformation when a predicate is false; otherwise returns the value unchanged.\n *\n * @example\n * ```ts\n * unless(1, n => n > 1, n => n * 10); // 10\n * unless(n => n > 1, n => n * 10)(1); // 10\n * unless(2, n => n > 1, n => n * 10); // 2\n * ```\n */\nexport function unless<T, S extends T>(predicate: (data: T) => data is S, fn: (data: S) => T): (data: T) => T;\nexport function unless<T>(predicate: (data: T) => boolean, fn: (data: T) => T): (data: T) => T;\nexport function unless<T, S extends T>(data: T, predicate: (data: T) => data is S, fn: (data: S) => T): T;\nexport function unless<T>(data: T, predicate: (data: T) => boolean, fn: (data: T) => T): T;\nexport function unless(...args: unknown[]): unknown {\n return purry(unlessImplementation, args);\n}\n","import { purry } from './purry';\n\nfunction whenImplementation<T>(data: T, predicate: (data: T) => boolean, fn: (data: T) => T): T {\n return predicate(data) ? fn(data) : data;\n}\n\n/**\n * Applies a transformation when a predicate is true; otherwise returns the value unchanged.\n *\n * @example\n * ```ts\n * when(2, n => n > 1, n => n * 10); // 20\n * when(n => n > 1, n => n * 10)(2); // 20\n * when(1, n => n > 1, n => n * 10); // 1\n * ```\n */\nexport function when<T, S extends T>(predicate: (data: T) => data is S, fn: (data: S) => T): (data: T) => T;\nexport function when<T>(predicate: (data: T) => boolean, fn: (data: T) => T): (data: T) => T;\nexport function when<T, S extends T>(data: T, predicate: (data: T) => data is S, fn: (data: S) => T): T;\nexport function when<T>(data: T, predicate: (data: T) => boolean, fn: (data: T) => T): T;\nexport function when(...args: unknown[]): unknown {\n return purry(whenImplementation, args);\n}\n"],"mappings":"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"}
@@ -1,9 +1,21 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_function = require("../function-DYPifnmg.cjs");
2
+ const require_function = require("../function-Dn9QtmOy.cjs");
3
3
  const require_purry = require("../purry-Dqp_F64t.cjs");
4
4
  const require_errors = require("../errors-O-d_Vemi.cjs");
5
5
  const require_array_index = require("../array/index.cjs");
6
6
  const require_get = require("../get-1kqkxPFX.cjs");
7
+ //#region src/lens/compose.ts
8
+ function compose(...pipeline) {
9
+ return (input) => require_function.composeImplementation(input, ...pipeline);
10
+ }
11
+ function composeFrom() {
12
+ return compose;
13
+ }
14
+ /**
15
+ *
16
+ */
17
+ compose.from = composeFrom;
18
+ //#endregion
7
19
  //#region src/lens/lens.ts
8
20
  function lens(getter, setter) {
9
21
  return (toFunctorFn) => {
@@ -83,7 +95,7 @@ function Identity(value) {
83
95
  }
84
96
  function overImplementation(lens) {
85
97
  return function innerOverOntoLens(source, updateFn) {
86
- return lens(require_function.piped(updateFn, Identity))(source).value;
98
+ return lens(require_function.pipe.create(updateFn, Identity))(source).value;
87
99
  };
88
100
  }
89
101
  //#endregion
@@ -158,6 +170,9 @@ prop.or = function propOr(key, defaultValue) {
158
170
  };
159
171
  return lens(getter, setter);
160
172
  };
173
+ prop.assert = function propAssert(key) {
174
+ return prop(key);
175
+ };
161
176
  //#endregion
162
177
  //#region src/lens/set.ts
163
178
  function setImplementation(lens) {
@@ -183,6 +198,7 @@ function view(lens) {
183
198
  };
184
199
  }
185
200
  //#endregion
201
+ exports.compose = compose;
186
202
  exports.idx = idx;
187
203
  exports.iso = iso;
188
204
  exports.lens = lens;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["purry","piped","purry","NilError","at","get","NotFoundError","purry","purry","purry","purry","purry"],"sources":["../../src/lens/lens.ts","../../src/lens/internal/_idx.ts","../../src/lens/idx.ts","../../src/lens/iso.ts","../../src/lens/internal/_lens.ts","../../src/lens/over.ts","../../src/lens/internal/_path.ts","../../src/lens/path.ts","../../src/lens/pathUnsafe.ts","../../src/lens/pathOr.ts","../../src/lens/pathOrUnsafe.ts","../../src/lens/prop.ts","../../src/lens/set.ts","../../src/lens/tuple.ts","../../src/lens/view.ts"],"sourcesContent":["import type { Functor, Lens } from './internal/_lens';\n\nexport function lens<Source, Focus>(\n getter: (source: Source) => Focus,\n setter: (focus: Focus, source: Source) => Source,\n): Lens<Source, Focus> {\n return (toFunctorFn: (focus: Focus) => Functor<Focus>): ((source: Source) => Functor<Source>) => {\n return (source: Source): Functor<Source> => {\n const got = getter(source);\n return toFunctorFn(got).map(focus => {\n return setter(focus, source);\n });\n };\n };\n}\n","import * as Arr from '../../array';\nimport { lens } from '../lens';\n\nimport type { Lens } from './_lens';\n\nexport function idxImplementation<T>(index: number): Lens<T[], T> {\n const getter = (source: T[]): T => {\n const value = Arr.at(source, index);\n return value as T;\n };\n\n const setter = (focus: T, source: T[]): T[] => {\n const updatedSource = Arr.insert(source, index, focus);\n return updatedSource;\n };\n\n return lens(getter, setter);\n}\n","import * as Arr from '../array';\nimport { purry } from '../function';\nimport type { Accessed } from '../types';\n\nimport { idxImplementation } from './internal/_idx';\nimport type { Lens } from './internal/_lens';\nimport { lens } from './lens';\n\nexport function idx<T>(index: number): Lens<T[], Accessed<T>> {\n return idxImplementation(index) as Lens<T[], Accessed<T>>;\n}\n\nfunction idxOrImplementation<T>(index: number, defaultValue: T): Lens<T[], T> {\n const getter = (source: T[]): T => {\n const value = Arr.at(source, index);\n return (value as T) ?? defaultValue;\n };\n\n const setter = (focus: T, source: T[]): T[] => {\n const updatedSource = Arr.insert(source, index, focus);\n return updatedSource;\n };\n\n return lens(getter, setter);\n}\n\nfunction idxOr<T>(index: number, defaultValue: T): Lens<T[], T>;\nfunction idxOr(...args: readonly unknown[]): unknown {\n return purry(idxOrImplementation, args);\n}\n\nidx.or = idxOr;\n","import type { Lens } from './internal/_lens';\nimport { lens } from './lens';\n\nexport function iso<A, B>(to: (a: A) => B, from: (b: B) => A): Lens<A, B> {\n // by ignoring `source` in the setter, we are effectively transforming on _self_\n return lens(to, focus => from(focus));\n}\n","import { piped } from '../../function/piped';\n\nexport interface Functor<A> {\n map<B>(fn: (a: A) => B): Functor<B>;\n get value(): A;\n}\n\nexport type Lens<Source, Focus> = (\n functorFactory: (focus: Focus) => Functor<Focus>,\n) => (source: Source) => Functor<Source>;\n\n/**\n * Function constructor for a Const functor.\n * Const's map func ignores it's given fn, returning itself.\n * In other words, the value contained is constant from initial construction)\n *\n * Typing for this is impossible with Higher-Kinded-Types\n */\nexport function Const(value: unknown): Functor<unknown> {\n const functor: Functor<unknown> = {\n map(this: Functor<unknown>, _fn: (value: unknown) => unknown): Functor<any> {\n return this;\n },\n get value() {\n return value;\n },\n };\n return functor;\n}\n\n/**\n * Function constructor for an Identity Functor\n * This is the most basic functor you can map, simply changing the value contained per the map fn it receives\n */\nexport function Identity<A>(value: A): Functor<A> {\n return {\n map<B>(fn: (value: A) => B): Functor<B> {\n return Identity(fn(value));\n },\n get value() {\n return value;\n },\n };\n}\n\nexport function overImplementation<Source, Focus>(\n lens: Lens<Source, Focus>,\n): (source: Source, updateFn: (value: Focus) => Focus) => Source {\n return function innerOverOntoLens(source, updateFn) {\n const temp = piped(updateFn, Identity);\n // @ts-expect-error - types will never be correct here because of how Identity works\n return lens(temp)(source).value;\n };\n}\n","import { purry } from '../function';\n\nimport type { Lens } from './internal/_lens';\nimport { overImplementation } from './internal/_lens';\n\nexport function over<Source, Focus>(\n lens: Lens<Source, Focus>,\n): {\n (updateFn: (value: Focus) => Focus): (source: Source) => Source;\n (source: Source, updateFn: (value: Focus) => Focus): Source;\n};\nexport function over<Source, Focus>(lens: Lens<Source, Focus>): unknown {\n return function overOntoLens(...args: unknown[]): unknown {\n return purry(overImplementation(lens), args);\n };\n}\n","import { at } from '../../array/at';\nimport { NilError, NotFoundError } from '../../errors';\nimport { get } from '../../object/get';\n\nexport type ValueAtPath<Obj, Tuple extends readonly PropertyKey[]> = Tuple extends readonly [infer Key, ...unknown[]]\n ? Tuple extends readonly [unknown, ...infer Rest]\n ? Key extends keyof Obj\n ? Rest extends []\n ? NonNullable<Obj[Key]>\n : Rest extends readonly PropertyKey[]\n ? ValueAtPath<NonNullable<Required<Obj>[Key]>, Rest>\n : never\n : never\n : never\n : never;\n\nexport function pathImplementation(obj: object | null | undefined, keys: (number | string)[]): unknown {\n const len = keys.length;\n if (len === 0) {\n throw new RangeError('Lens.path does not support passing in an empty keys array');\n }\n\n if (obj == null) {\n throw new NilError('Lens.path does not support passing null or undefined');\n }\n\n let result: unknown = obj;\n\n for (let i = 0; i < len; i += 1) {\n const key = keys[i]!;\n\n if (typeof key === 'number') {\n result = at(result as any[], key);\n } else {\n result = get(result as Record<string, unknown>, key);\n }\n }\n\n return result;\n}\n\nexport function pathOrImplementation(obj: object, pathway: (number | string)[], defaultValue: unknown): unknown {\n const result = pathImplementation(obj, pathway);\n if (result instanceof NotFoundError) {\n return defaultValue;\n }\n return result;\n}\n","import { purry } from '../function/purry';\n\nimport type { ValueAtPath } from './internal/_path';\nimport { pathImplementation } from './internal/_path';\n\n/**\n *\n * @throws RangeError\n */\nexport function path(path: readonly []): never;\nexport function path<Obj extends object, K1 extends keyof Required<Obj>>(\n path: readonly [K1],\n): (data: Obj) => ValueAtPath<Obj, [K1]> | null;\nexport function path<Obj, K1 extends keyof Required<Obj>, K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>>(\n path: readonly [K1, K2],\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n>(path: readonly [K1, K2, K3]): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n>(path: readonly [K1, K2, K3, K4]): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n>(path: readonly [K1, K2, K3, K4, K5]): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4, K5]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n>(path: readonly [K1, K2, K3, K4, K5, K6]): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n>(path: readonly [K1, K2, K3, K4, K5, K6, K7]): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n K8 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>>,\n>(\n path: readonly [K1, K2, K3, K4, K5, K6, K7, K8],\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n K8 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>>,\n K9 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8]>>,\n>(\n path: readonly [K1, K2, K3, K4, K5, K6, K7, K8, K9],\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8, K9]> | null;\nexport function path<const P extends readonly PropertyKey[]>(\n path: P,\n): <S extends object>(data: S) => never extends ValueAtPath<S, P> ? ValueAtPath<S, P> | null : never;\n\nexport function path(obj: unknown, path: readonly []): never;\nexport function path<Obj, K1 extends keyof Required<Obj>>(obj: Obj, path: readonly [K1]): ValueAtPath<Obj, [K1]> | null;\nexport function path<Obj, K1 extends keyof Required<Obj>, K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>>(\n obj: Obj,\n path: readonly [K1, K2],\n): ValueAtPath<Obj, [K1, K2]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n>(obj: Obj, path: readonly [K1, K2, K3]): ValueAtPath<Obj, [K1, K2, K3]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n>(obj: Obj, path: readonly [K1, K2, K3, K4]): ValueAtPath<Obj, [K1, K2, K3, K4]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n>(obj: Obj, path: readonly [K1, K2, K3, K4, K5]): ValueAtPath<Obj, [K1, K2, K3, K4, K5]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n>(obj: Obj, path: readonly [K1, K2, K3, K4, K5, K6]): ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n>(obj: Obj, path: readonly [K1, K2, K3, K4, K5, K6, K7]): ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n K8 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>>,\n>(obj: Obj, path: readonly [K1, K2, K3, K4, K5, K6, K7, K8]): ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n K8 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>>,\n K9 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8]>>,\n>(\n obj: Obj,\n path: readonly [K1, K2, K3, K4, K5, K6, K7, K8, K9],\n): ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8, K9]> | null;\nexport function path(...args: unknown[]): unknown {\n return purry(pathImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nimport { pathImplementation } from './internal/_path';\n\nexport function pathUnsafe<T = unknown>(path: readonly PropertyKey[]): (data: object) => T | null;\nexport function pathUnsafe<T = unknown>(data: object, path: readonly PropertyKey[]): T | null;\nexport function pathUnsafe(...args: unknown[]): unknown {\n return purry(pathImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nimport type { ValueAtPath } from './internal/_path';\nimport { pathOrImplementation } from './internal/_path';\n\nexport function pathOr(path: readonly [], defaultValue: unknown): never;\nexport function pathOr<Obj extends object, K1 extends keyof Required<Obj>>(\n path: readonly [K1],\n defaultValue: ValueAtPath<Obj, [K1]>,\n): (data: Obj) => ValueAtPath<Obj, [K1]>;\nexport function pathOr<Obj, K1 extends keyof Required<Obj>, K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>>(\n path: readonly [K1, K2],\n defaultValue: ValueAtPath<Obj, [K1, K2]>,\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n>(\n path: readonly [K1, K2, K3],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3]>,\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n>(\n path: readonly [K1, K2, K3, K4],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4]>,\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n>(\n path: readonly [K1, K2, K3, K4, K5],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4, K5]>,\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4, K5]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n>(\n path: readonly [K1, K2, K3, K4, K5, K6],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>,\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n>(\n path: readonly [K1, K2, K3, K4, K5, K6, K7],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>,\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n K8 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>>,\n>(\n path: readonly [K1, K2, K3, K4, K5, K6, K7, K8],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8]>,\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n K8 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>>,\n K9 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8]>>,\n>(\n path: readonly [K1, K2, K3, K4, K5, K6, K7, K8, K9],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8, K9]>,\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8, K9]>;\nexport function pathOr<const Path extends readonly PropertyKey[], Value>(\n pathway: Path,\n defaultValue: Value,\n): <Obj extends object>(obj: Value extends ValueAtPath<Obj, Path> ? Obj : never) => ValueAtPath<Obj, Path>;\n\nexport function pathOr(obj: unknown, path: readonly [], defaultValue: unknown): never;\nexport function pathOr<Obj, K1 extends keyof Required<Obj>>(\n obj: Obj,\n path: readonly [K1],\n defaultValue: ValueAtPath<Obj, [K1]>,\n): ValueAtPath<Obj, [K1]>;\nexport function pathOr<Obj, K1 extends keyof Required<Obj>, K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>>(\n obj: Obj,\n path: readonly [K1, K2],\n defaultValue: ValueAtPath<Obj, [K1, K2]>,\n): ValueAtPath<Obj, [K1, K2]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n>(obj: Obj, path: readonly [K1, K2, K3], defaultValue: ValueAtPath<Obj, [K1, K2, K3]>): ValueAtPath<Obj, [K1, K2, K3]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n>(\n obj: Obj,\n path: readonly [K1, K2, K3, K4],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4]>,\n): ValueAtPath<Obj, [K1, K2, K3, K4]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n>(\n obj: Obj,\n path: readonly [K1, K2, K3, K4, K5],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4, K5]>,\n): ValueAtPath<Obj, [K1, K2, K3, K4, K5]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n>(\n obj: Obj,\n path: readonly [K1, K2, K3, K4, K5, K6],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>,\n): ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n>(\n obj: Obj,\n path: readonly [K1, K2, K3, K4, K5, K6, K7],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>,\n): ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n K8 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>>,\n>(\n obj: Obj,\n path: readonly [K1, K2, K3, K4, K5, K6, K7, K8],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8]>,\n): ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n K8 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>>,\n K9 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8]>>,\n>(\n obj: Obj,\n path: readonly [K1, K2, K3, K4, K5, K6, K7, K8, K9],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8, K9]>,\n): ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8, K9]>;\nexport function pathOr(...args: unknown[]): unknown {\n return purry(pathOrImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nimport { pathOrImplementation } from './internal/_path';\n\nexport function pathOrUnsafe<T = unknown>(path: readonly PropertyKey[], defaultValue: T): (data: object) => T;\nexport function pathOrUnsafe<T = unknown>(data: object, path: readonly PropertyKey[], defaultValue: T): T;\nexport function pathOrUnsafe(...args: unknown[]): unknown {\n return purry(pathOrImplementation, args);\n}\n","import type { Lens } from './internal/_lens';\nimport { lens } from './lens';\n\nexport function prop<Obj extends Record<string, unknown>, Key extends keyof Obj>(\n key: string extends keyof Obj ? never : Key,\n): Lens<Obj, Obj[Key]>;\nexport function prop<Obj extends Record<string, unknown>>(key: string): Lens<Obj, Obj[string] | undefined>;\nexport function prop<Obj extends Record<string, unknown>>(key: string): Lens<Obj, Obj[string] | undefined> {\n const getter = (data: Obj): Obj[string] | undefined => {\n return data[key] as Obj[string] | undefined;\n };\n\n const setter = (value: Obj[string] | undefined, data: Obj): Obj => {\n return { ...data, [key]: value };\n };\n\n const theLens = lens(getter, setter);\n return theLens;\n}\n\nprop.or = function propOr<Obj extends object, Key extends keyof Obj>(key: Key, defaultValue: NonNullable<Obj[Key]>) {\n const getter = (data: Obj): NonNullable<Obj[Key]> => {\n return data[key] ?? defaultValue;\n };\n const setter = (value: Obj[Key], data: Obj): Obj => {\n return { ...data, [key]: value };\n };\n\n return lens(getter, setter);\n};\n","import { purry } from '../function/purry';\n\nimport type { Lens } from './internal/_lens';\nimport { overImplementation } from './internal/_lens';\n\nfunction setImplementation<Source, Focus>(lens: Lens<Source, Focus>): (source: Source, value: Focus) => Source {\n return function innerSetOntoLens(source, value) {\n return overImplementation(lens)(source, () => value);\n };\n}\n\nexport function set<Source, Focus>(lens: Lens<Source, Focus>): (source: Source, value: Focus) => Source;\nexport function set<Source, Focus>(lens: Lens<Source, Focus>, source: Source, value: Focus): Source;\nexport function set<Source, Focus>(lens: Lens<Source, Focus>): unknown {\n return function setOntoLens(...args: unknown[]): unknown {\n return purry(setImplementation(lens), args);\n };\n}\n","import { idxImplementation } from './internal/_idx';\nimport type { Lens } from './internal/_lens';\n\nexport function tuple<A, B>(index: 0): Lens<[A, B], A>;\nexport function tuple<A, B>(index: 1): Lens<[A, B], B>;\nexport function tuple(index: number): unknown {\n return idxImplementation(index);\n}\n","import type { Lens } from './internal/_lens';\nimport { Const } from './internal/_lens';\n\nexport function view<Source, Focus>(lens: Lens<Source, Focus>): (source: Source) => Focus {\n return function viewOntoLens(source: Source): Focus {\n // @ts-expect-error - types will never be correct here because of how Const works\n return lens(Const)(source).value;\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["composeImplementation","purry","pipe","purry","NilError","at","get","NotFoundError","purry","purry","purry","purry","purry"],"sources":["../../src/lens/compose.ts","../../src/lens/lens.ts","../../src/lens/internal/_idx.ts","../../src/lens/idx.ts","../../src/lens/iso.ts","../../src/lens/internal/_lens.ts","../../src/lens/over.ts","../../src/lens/internal/_path.ts","../../src/lens/path.ts","../../src/lens/pathUnsafe.ts","../../src/lens/pathOr.ts","../../src/lens/pathOrUnsafe.ts","../../src/lens/prop.ts","../../src/lens/set.ts","../../src/lens/tuple.ts","../../src/lens/view.ts"],"sourcesContent":["import { composeImplementation } from '../function/internal/_compose';\n\nimport type { Lens } from './internal/_lens';\n\n/**\n * Compose Lenses\n */\nexport function compose<A, B>(lens1: Lens<A, B>): Lens<A, B>;\nexport function compose<A, B, C>(lens1: Lens<A, B>, lens2: Lens<B, C>): Lens<A, C>;\nexport function compose<A, B, C, D>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>): Lens<A, D>;\nexport function compose<A, B, C, D, E>(\n lens1: Lens<A, B>,\n lens2: Lens<B, C>,\n lens3: Lens<C, D>,\n lens4: Lens<D, E>,\n): Lens<A, E>;\nexport function compose<A, B, C, D, E, F>(\n lens1: Lens<A, B>,\n lens2: Lens<B, C>,\n lens3: Lens<C, D>,\n lens4: Lens<D, E>,\n lens5: Lens<E, F>,\n): Lens<A, F>;\nexport function compose<A, B, C, D, E, F, G>(\n lens1: Lens<A, B>,\n lens2: Lens<B, C>,\n lens3: Lens<C, D>,\n lens4: Lens<D, E>,\n lens5: Lens<E, F>,\n lens6: Lens<F, G>,\n): Lens<A, G>;\nexport function compose<A, B, C, D, E, F, G, H>(\n lens1: Lens<A, B>,\n lens2: Lens<B, C>,\n lens3: Lens<C, D>,\n lens4: Lens<D, E>,\n lens5: Lens<E, F>,\n lens6: Lens<F, G>,\n lens7: Lens<G, H>,\n): Lens<A, H>;\nexport function compose<A, B, C, D, E, F, G, H, I>(\n lens1: Lens<A, B>,\n lens2: Lens<B, C>,\n lens3: Lens<C, D>,\n lens4: Lens<D, E>,\n lens5: Lens<E, F>,\n lens6: Lens<F, G>,\n lens7: Lens<G, H>,\n lens8: Lens<G, I>,\n): Lens<A, I>;\nexport function compose<A, B, C, D, E, F, G, H, I, J>(\n lens1: Lens<A, B>,\n lens2: Lens<B, C>,\n lens3: Lens<C, D>,\n lens4: Lens<D, E>,\n lens5: Lens<E, F>,\n lens6: Lens<F, G>,\n lens7: Lens<G, H>,\n lens8: Lens<G, I>,\n lens9: Lens<I, J>,\n): Lens<A, J>;\nexport function compose(...pipeline: readonly Lens<unknown, unknown>[]): (input: unknown) => any {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return (input: unknown) => composeImplementation(input, ...pipeline);\n}\n\nfunction composeFrom<A>(): {\n <B>(lens1: Lens<A, B>): Lens<A, B>;\n <B, C>(lens1: Lens<A, B>, lens2: Lens<B, C>): Lens<A, C>;\n <B, C, D>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>): Lens<A, D>;\n <B, C, D, E>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>): Lens<A, E>;\n <B, C, D, E, F>(\n lens1: Lens<A, B>,\n lens2: Lens<B, C>,\n lens3: Lens<C, D>,\n lens4: Lens<D, E>,\n lens5: Lens<E, F>,\n ): Lens<A, F>;\n <B, C, D, E, F, G>(\n lens1: Lens<A, B>,\n lens2: Lens<B, C>,\n lens3: Lens<C, D>,\n lens4: Lens<D, E>,\n lens5: Lens<E, F>,\n lens6: Lens<F, G>,\n ): Lens<A, G>;\n <B, C, D, E, F, G, H>(\n lens1: Lens<A, B>,\n lens2: Lens<B, C>,\n lens3: Lens<C, D>,\n lens4: Lens<D, E>,\n lens5: Lens<E, F>,\n lens6: Lens<F, G>,\n lens7: Lens<G, H>,\n ): Lens<A, H>;\n <B, C, D, E, F, G, H, I>(\n lens1: Lens<A, B>,\n lens2: Lens<B, C>,\n lens3: Lens<C, D>,\n lens4: Lens<D, E>,\n lens5: Lens<E, F>,\n lens6: Lens<F, G>,\n lens7: Lens<G, H>,\n lens8: Lens<G, I>,\n ): Lens<A, I>;\n <B, C, D, E, F, G, H, I, J>(\n lens1: Lens<A, B>,\n lens2: Lens<B, C>,\n lens3: Lens<C, D>,\n lens4: Lens<D, E>,\n lens5: Lens<E, F>,\n lens6: Lens<F, G>,\n lens7: Lens<G, H>,\n lens8: Lens<G, I>,\n lens9: Lens<I, J>,\n ): Lens<A, J>;\n} {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return compose as any;\n}\n\n/**\n *\n */\ncompose.from = composeFrom;\n","import type { Functor, Lens } from './internal/_lens';\n\nexport function lens<Source, Focus>(\n getter: (source: Source) => Focus,\n setter: (focus: Focus, source: Source) => Source,\n): Lens<Source, Focus> {\n return (toFunctorFn: (focus: Focus) => Functor<Focus>): ((source: Source) => Functor<Source>) => {\n return (source: Source): Functor<Source> => {\n const got = getter(source);\n return toFunctorFn(got).map(focus => {\n return setter(focus, source);\n });\n };\n };\n}\n","import * as Arr from '../../array';\nimport { lens } from '../lens';\n\nimport type { Lens } from './_lens';\n\nexport function idxImplementation<T>(index: number): Lens<T[], T> {\n const getter = (source: T[]): T => {\n const value = Arr.at(source, index);\n return value as T;\n };\n\n const setter = (focus: T, source: T[]): T[] => {\n const updatedSource = Arr.insert(source, index, focus);\n return updatedSource;\n };\n\n return lens(getter, setter);\n}\n","import * as Arr from '../array';\nimport { purry } from '../function';\nimport type { Accessed } from '../types';\n\nimport { idxImplementation } from './internal/_idx';\nimport type { Lens } from './internal/_lens';\nimport { lens } from './lens';\n\nexport function idx<T>(index: number): Lens<T[], Accessed<T>> {\n return idxImplementation(index) as Lens<T[], Accessed<T>>;\n}\n\nfunction idxOrImplementation<T>(index: number, defaultValue: T): Lens<T[], T> {\n const getter = (source: T[]): T => {\n const value = Arr.at(source, index);\n return (value as T) ?? defaultValue;\n };\n\n const setter = (focus: T, source: T[]): T[] => {\n const updatedSource = Arr.insert(source, index, focus);\n return updatedSource;\n };\n\n return lens(getter, setter);\n}\n\nfunction idxOr<T>(index: number, defaultValue: T): Lens<T[], T>;\nfunction idxOr(...args: readonly unknown[]): unknown {\n return purry(idxOrImplementation, args);\n}\n\nidx.or = idxOr;\n","import type { Lens } from './internal/_lens';\nimport { lens } from './lens';\n\nexport function iso<A, B>(to: (a: A) => B, from: (b: B) => A): Lens<A, B> {\n // by ignoring `source` in the setter, we are effectively transforming on _self_\n return lens(to, focus => from(focus));\n}\n","import { pipe } from '../../function/pipe';\n\nexport interface Functor<A> {\n map<B>(fn: (a: A) => B): Functor<B>;\n get value(): A;\n}\n\nexport type Lens<Source, Focus> = (\n functorFactory: (focus: Focus) => Functor<Focus>,\n) => (source: Source) => Functor<Source>;\n\n/**\n * Function constructor for a Const functor.\n * Const's map func ignores it's given fn, returning itself.\n * In other words, the value contained is constant from initial construction)\n *\n * Typing for this is impossible with Higher-Kinded-Types\n */\nexport function Const(value: unknown): Functor<unknown> {\n const functor: Functor<unknown> = {\n map(this: Functor<unknown>, _fn: (value: unknown) => unknown): Functor<any> {\n return this;\n },\n get value() {\n return value;\n },\n };\n return functor;\n}\n\n/**\n * Function constructor for an Identity Functor\n * This is the most basic functor you can map, simply changing the value contained per the map fn it receives\n */\nexport function Identity<A>(value: A): Functor<A> {\n return {\n map<B>(fn: (value: A) => B): Functor<B> {\n return Identity(fn(value));\n },\n get value() {\n return value;\n },\n };\n}\n\nexport function overImplementation<Source, Focus>(\n lens: Lens<Source, Focus>,\n): (source: Source, updateFn: (value: Focus) => Focus) => Source {\n return function innerOverOntoLens(source, updateFn) {\n const temp = pipe.create(updateFn, Identity);\n // @ts-expect-error - types will never be correct here because of how Identity works\n return lens(temp)(source).value;\n };\n}\n","import { purry } from '../function';\n\nimport type { Lens } from './internal/_lens';\nimport { overImplementation } from './internal/_lens';\n\nexport function over<Source, Focus>(\n lens: Lens<Source, Focus>,\n): {\n (updateFn: (value: Focus) => Focus): (source: Source) => Source;\n (source: Source, updateFn: (value: Focus) => Focus): Source;\n};\nexport function over<Source, Focus>(lens: Lens<Source, Focus>): unknown {\n return function overOntoLens(...args: unknown[]): unknown {\n return purry(overImplementation(lens), args);\n };\n}\n","import { at } from '../../array/at';\nimport { NilError, NotFoundError } from '../../errors';\nimport { get } from '../../object/get';\n\nexport type ValueAtPath<Obj, Tuple extends readonly PropertyKey[]> = Tuple extends readonly [infer Key, ...unknown[]]\n ? Tuple extends readonly [unknown, ...infer Rest]\n ? Key extends keyof Obj\n ? Rest extends []\n ? NonNullable<Obj[Key]>\n : Rest extends readonly PropertyKey[]\n ? ValueAtPath<NonNullable<Required<Obj>[Key]>, Rest>\n : never\n : never\n : never\n : never;\n\nexport function pathImplementation(obj: object | null | undefined, keys: (number | string)[]): unknown {\n const len = keys.length;\n if (len === 0) {\n throw new RangeError('Lens.path does not support passing in an empty keys array');\n }\n\n if (obj == null) {\n throw new NilError('Lens.path does not support passing null or undefined');\n }\n\n let result: unknown = obj;\n\n for (let i = 0; i < len; i += 1) {\n const key = keys[i]!;\n\n if (typeof key === 'number') {\n result = at(result as any[], key);\n } else {\n result = get(result as Record<string, unknown>, key);\n }\n }\n\n return result;\n}\n\nexport function pathOrImplementation(obj: object, pathway: (number | string)[], defaultValue: unknown): unknown {\n const result = pathImplementation(obj, pathway);\n if (result instanceof NotFoundError) {\n return defaultValue;\n }\n return result;\n}\n","import { purry } from '../function/purry';\n\nimport type { ValueAtPath } from './internal/_path';\nimport { pathImplementation } from './internal/_path';\n\n/**\n *\n * @throws RangeError\n */\nexport function path(path: readonly []): never;\nexport function path<Obj extends object, K1 extends keyof Required<Obj>>(\n path: readonly [K1],\n): (data: Obj) => ValueAtPath<Obj, [K1]> | null;\nexport function path<Obj, K1 extends keyof Required<Obj>, K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>>(\n path: readonly [K1, K2],\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n>(path: readonly [K1, K2, K3]): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n>(path: readonly [K1, K2, K3, K4]): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n>(path: readonly [K1, K2, K3, K4, K5]): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4, K5]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n>(path: readonly [K1, K2, K3, K4, K5, K6]): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n>(path: readonly [K1, K2, K3, K4, K5, K6, K7]): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n K8 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>>,\n>(\n path: readonly [K1, K2, K3, K4, K5, K6, K7, K8],\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n K8 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>>,\n K9 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8]>>,\n>(\n path: readonly [K1, K2, K3, K4, K5, K6, K7, K8, K9],\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8, K9]> | null;\nexport function path<const P extends readonly PropertyKey[]>(\n path: P,\n): <S extends object>(data: S) => never extends ValueAtPath<S, P> ? ValueAtPath<S, P> | null : never;\n\nexport function path(obj: unknown, path: readonly []): never;\nexport function path<Obj, K1 extends keyof Required<Obj>>(obj: Obj, path: readonly [K1]): ValueAtPath<Obj, [K1]> | null;\nexport function path<Obj, K1 extends keyof Required<Obj>, K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>>(\n obj: Obj,\n path: readonly [K1, K2],\n): ValueAtPath<Obj, [K1, K2]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n>(obj: Obj, path: readonly [K1, K2, K3]): ValueAtPath<Obj, [K1, K2, K3]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n>(obj: Obj, path: readonly [K1, K2, K3, K4]): ValueAtPath<Obj, [K1, K2, K3, K4]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n>(obj: Obj, path: readonly [K1, K2, K3, K4, K5]): ValueAtPath<Obj, [K1, K2, K3, K4, K5]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n>(obj: Obj, path: readonly [K1, K2, K3, K4, K5, K6]): ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n>(obj: Obj, path: readonly [K1, K2, K3, K4, K5, K6, K7]): ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n K8 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>>,\n>(obj: Obj, path: readonly [K1, K2, K3, K4, K5, K6, K7, K8]): ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8]> | null;\nexport function path<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n K8 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>>,\n K9 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8]>>,\n>(\n obj: Obj,\n path: readonly [K1, K2, K3, K4, K5, K6, K7, K8, K9],\n): ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8, K9]> | null;\nexport function path(...args: unknown[]): unknown {\n return purry(pathImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nimport { pathImplementation } from './internal/_path';\n\nexport function pathUnsafe<T = unknown>(path: readonly PropertyKey[]): (data: object) => T | null;\nexport function pathUnsafe<T = unknown>(data: object, path: readonly PropertyKey[]): T | null;\nexport function pathUnsafe(...args: unknown[]): unknown {\n return purry(pathImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nimport type { ValueAtPath } from './internal/_path';\nimport { pathOrImplementation } from './internal/_path';\n\nexport function pathOr(path: readonly [], defaultValue: unknown): never;\nexport function pathOr<Obj extends object, K1 extends keyof Required<Obj>>(\n path: readonly [K1],\n defaultValue: ValueAtPath<Obj, [K1]>,\n): (data: Obj) => ValueAtPath<Obj, [K1]>;\nexport function pathOr<Obj, K1 extends keyof Required<Obj>, K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>>(\n path: readonly [K1, K2],\n defaultValue: ValueAtPath<Obj, [K1, K2]>,\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n>(\n path: readonly [K1, K2, K3],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3]>,\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n>(\n path: readonly [K1, K2, K3, K4],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4]>,\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n>(\n path: readonly [K1, K2, K3, K4, K5],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4, K5]>,\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4, K5]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n>(\n path: readonly [K1, K2, K3, K4, K5, K6],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>,\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n>(\n path: readonly [K1, K2, K3, K4, K5, K6, K7],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>,\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n K8 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>>,\n>(\n path: readonly [K1, K2, K3, K4, K5, K6, K7, K8],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8]>,\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n K8 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>>,\n K9 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8]>>,\n>(\n path: readonly [K1, K2, K3, K4, K5, K6, K7, K8, K9],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8, K9]>,\n): (obj: Obj) => ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8, K9]>;\nexport function pathOr<const Path extends readonly PropertyKey[], Value>(\n pathway: Path,\n defaultValue: Value,\n): <Obj extends object>(obj: Value extends ValueAtPath<Obj, Path> ? Obj : never) => ValueAtPath<Obj, Path>;\n\nexport function pathOr(obj: unknown, path: readonly [], defaultValue: unknown): never;\nexport function pathOr<Obj, K1 extends keyof Required<Obj>>(\n obj: Obj,\n path: readonly [K1],\n defaultValue: ValueAtPath<Obj, [K1]>,\n): ValueAtPath<Obj, [K1]>;\nexport function pathOr<Obj, K1 extends keyof Required<Obj>, K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>>(\n obj: Obj,\n path: readonly [K1, K2],\n defaultValue: ValueAtPath<Obj, [K1, K2]>,\n): ValueAtPath<Obj, [K1, K2]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n>(obj: Obj, path: readonly [K1, K2, K3], defaultValue: ValueAtPath<Obj, [K1, K2, K3]>): ValueAtPath<Obj, [K1, K2, K3]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n>(\n obj: Obj,\n path: readonly [K1, K2, K3, K4],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4]>,\n): ValueAtPath<Obj, [K1, K2, K3, K4]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n>(\n obj: Obj,\n path: readonly [K1, K2, K3, K4, K5],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4, K5]>,\n): ValueAtPath<Obj, [K1, K2, K3, K4, K5]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n>(\n obj: Obj,\n path: readonly [K1, K2, K3, K4, K5, K6],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>,\n): ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n>(\n obj: Obj,\n path: readonly [K1, K2, K3, K4, K5, K6, K7],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>,\n): ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n K8 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>>,\n>(\n obj: Obj,\n path: readonly [K1, K2, K3, K4, K5, K6, K7, K8],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8]>,\n): ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8]>;\nexport function pathOr<\n Obj,\n K1 extends keyof Required<Obj>,\n K2 extends keyof NonNullable<ValueAtPath<Obj, [K1]>>,\n K3 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2]>>,\n K4 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3]>>,\n K5 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4]>>,\n K6 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5]>>,\n K7 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6]>>,\n K8 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7]>>,\n K9 extends keyof NonNullable<ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8]>>,\n>(\n obj: Obj,\n path: readonly [K1, K2, K3, K4, K5, K6, K7, K8, K9],\n defaultValue: ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8, K9]>,\n): ValueAtPath<Obj, [K1, K2, K3, K4, K5, K6, K7, K8, K9]>;\nexport function pathOr(...args: unknown[]): unknown {\n return purry(pathOrImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nimport { pathOrImplementation } from './internal/_path';\n\nexport function pathOrUnsafe<T = unknown>(path: readonly PropertyKey[], defaultValue: T): (data: object) => T;\nexport function pathOrUnsafe<T = unknown>(data: object, path: readonly PropertyKey[], defaultValue: T): T;\nexport function pathOrUnsafe(...args: unknown[]): unknown {\n return purry(pathOrImplementation, args);\n}\n","import type { Lens } from './internal/_lens';\nimport { lens } from './lens';\n\nexport function prop<Obj extends Record<string, unknown>, Key extends keyof Obj>(\n key: string extends keyof Obj ? never : Key,\n): Lens<Obj, Obj[Key]>;\nexport function prop<Obj extends Record<string, unknown>>(key: string): Lens<Obj, Obj[string] | undefined>;\nexport function prop<Obj extends Record<string, unknown>>(key: string): Lens<Obj, Obj[string] | undefined> {\n const getter = (data: Obj): Obj[string] | undefined => {\n return data[key] as Obj[string] | undefined;\n };\n\n const setter = (value: Obj[string] | undefined, data: Obj): Obj => {\n return { ...data, [key]: value };\n };\n\n const theLens = lens(getter, setter);\n return theLens;\n}\n\nprop.or = function propOr<Obj extends object, Key extends keyof Obj>(key: Key, defaultValue: NonNullable<Obj[Key]>) {\n const getter = (data: Obj): NonNullable<Obj[Key]> => {\n return data[key] ?? defaultValue;\n };\n const setter = (value: Obj[Key], data: Obj): Obj => {\n return { ...data, [key]: value };\n };\n\n return lens(getter, setter);\n};\n\nprop.assert = function propAssert<Obj extends Record<string, unknown>>(key: string): Lens<Obj, Obj[string]> {\n return prop(key) as Lens<Obj, Obj[string]>;\n};\n","import { purry } from '../function/purry';\n\nimport type { Lens } from './internal/_lens';\nimport { overImplementation } from './internal/_lens';\n\nfunction setImplementation<Source, Focus>(lens: Lens<Source, Focus>): (source: Source, value: Focus) => Source {\n return function innerSetOntoLens(source, value) {\n return overImplementation(lens)(source, () => value);\n };\n}\n\nexport function set<Source, Focus>(lens: Lens<Source, Focus>): (source: Source, value: Focus) => Source;\nexport function set<Source, Focus>(lens: Lens<Source, Focus>, source: Source, value: Focus): Source;\nexport function set<Source, Focus>(lens: Lens<Source, Focus>): unknown {\n return function setOntoLens(...args: unknown[]): unknown {\n return purry(setImplementation(lens), args);\n };\n}\n","import { idxImplementation } from './internal/_idx';\nimport type { Lens } from './internal/_lens';\n\nexport function tuple<A, B>(index: 0): Lens<[A, B], A>;\nexport function tuple<A, B>(index: 1): Lens<[A, B], B>;\nexport function tuple(index: number): unknown {\n return idxImplementation(index);\n}\n","import type { Lens } from './internal/_lens';\nimport { Const } from './internal/_lens';\n\nexport function view<Source, Focus>(lens: Lens<Source, Focus>): (source: Source) => Focus {\n return function viewOntoLens(source: Source): Focus {\n // @ts-expect-error - types will never be correct here because of how Const works\n return lens(Const)(source).value;\n };\n}\n"],"mappings":";;;;;;;AA6DA,SAAgB,QAAQ,GAAG,UAAsE;CAE/F,QAAQ,UAAmBA,iBAAAA,sBAAsB,OAAO,GAAG,QAAQ;AACrE;AAEA,SAAS,cAkDP;CAEA,OAAO;AACT;;;;AAKA,QAAQ,OAAO;;;AC1Hf,SAAgB,KACd,QACA,QACqB;CACrB,QAAQ,gBAAyF;EAC/F,QAAQ,WAAoC;GAE1C,OAAO,YADK,OAAO,MACE,CAAC,CAAC,CAAC,KAAI,UAAS;IACnC,OAAO,OAAO,OAAO,MAAM;GAC7B,CAAC;EACH;CACF;AACF;;;ACTA,SAAgB,kBAAqB,OAA6B;CAChE,MAAM,UAAU,WAAmB;EAEjC,OAAA,oBAAA,GADqB,QAAQ,KAClB;CACb;CAEA,MAAM,UAAU,OAAU,WAAqB;EAE7C,OAAA,oBAAA,OADiC,QAAQ,OAAO,KAC7B;CACrB;CAEA,OAAO,KAAK,QAAQ,MAAM;AAC5B;;;ACTA,SAAgB,IAAO,OAAuC;CAC5D,OAAO,kBAAkB,KAAK;AAChC;AAEA,SAAS,oBAAuB,OAAe,cAA+B;CAC5E,MAAM,UAAU,WAAmB;EAEjC,OAAA,oBAAA,GADqB,QAAQ,KACjB,KAAW;CACzB;CAEA,MAAM,UAAU,OAAU,WAAqB;EAE7C,OAAA,oBAAA,OADiC,QAAQ,OAAO,KAC7B;CACrB;CAEA,OAAO,KAAK,QAAQ,MAAM;AAC5B;AAGA,SAAS,MAAM,GAAG,MAAmC;CACnD,OAAOC,cAAAA,MAAM,qBAAqB,IAAI;AACxC;AAEA,IAAI,KAAK;;;AC5BT,SAAgB,IAAU,IAAiB,MAA+B;CAExE,OAAO,KAAK,KAAI,UAAS,KAAK,KAAK,CAAC;AACtC;;;;;;;;;;ACYA,SAAgB,MAAM,OAAkC;CAStD,OAAO;EAPL,IAA4B,KAAgD;GAC1E,OAAO;EACT;EACA,IAAI,QAAQ;GACV,OAAO;EACT;CAEW;AACf;;;;;AAMA,SAAgB,SAAY,OAAsB;CAChD,OAAO;EACL,IAAO,IAAiC;GACtC,OAAO,SAAS,GAAG,KAAK,CAAC;EAC3B;EACA,IAAI,QAAQ;GACV,OAAO;EACT;CACF;AACF;AAEA,SAAgB,mBACd,MAC+D;CAC/D,OAAO,SAAS,kBAAkB,QAAQ,UAAU;EAGlD,OAAO,KAFMC,iBAAAA,KAAK,OAAO,UAAU,QAEpB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;CAC5B;AACF;;;AC1CA,SAAgB,KAAoB,MAAoC;CACtE,OAAO,SAAS,aAAa,GAAG,MAA0B;EACxD,OAAOC,cAAAA,MAAM,mBAAmB,IAAI,GAAG,IAAI;CAC7C;AACF;;;ACCA,SAAgB,mBAAmB,KAAgC,MAAoC;CACrG,MAAM,MAAM,KAAK;CACjB,IAAI,QAAQ,GACV,MAAM,IAAI,WAAW,2DAA2D;CAGlF,IAAI,OAAO,MACT,MAAM,IAAIC,eAAAA,SAAS,sDAAsD;CAG3E,IAAI,SAAkB;CAEtB,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG;EAC/B,MAAM,MAAM,KAAK;EAEjB,IAAI,OAAO,QAAQ,UACjB,SAASC,oBAAAA,GAAG,QAAiB,GAAG;OAEhC,SAASC,YAAAA,IAAI,QAAmC,GAAG;CAEvD;CAEA,OAAO;AACT;AAEA,SAAgB,qBAAqB,KAAa,SAA8B,cAAgC;CAC9G,MAAM,SAAS,mBAAmB,KAAK,OAAO;CAC9C,IAAI,kBAAkBC,eAAAA,eACpB,OAAO;CAET,OAAO;AACT;;;ACgHA,SAAgB,KAAK,GAAG,MAA0B;CAChD,OAAOC,cAAAA,MAAM,oBAAoB,IAAI;AACvC;;;AC3JA,SAAgB,WAAW,GAAG,MAA0B;CACtD,OAAOC,cAAAA,MAAM,oBAAoB,IAAI;AACvC;;;ACiMA,SAAgB,OAAO,GAAG,MAA0B;CAClD,OAAOC,cAAAA,MAAM,sBAAsB,IAAI;AACzC;;;ACrMA,SAAgB,aAAa,GAAG,MAA0B;CACxD,OAAOC,cAAAA,MAAM,sBAAsB,IAAI;AACzC;;;ACDA,SAAgB,KAA0C,KAAiD;CACzG,MAAM,UAAU,SAAuC;EACrD,OAAO,KAAK;CACd;CAEA,MAAM,UAAU,OAAgC,SAAmB;EACjE,OAAO;GAAE,GAAG;IAAO,MAAM;EAAM;CACjC;CAGA,OADgB,KAAK,QAAQ,MAChB;AACf;AAEA,KAAK,KAAK,SAAS,OAAkD,KAAU,cAAqC;CAClH,MAAM,UAAU,SAAqC;EACnD,OAAO,KAAK,QAAQ;CACtB;CACA,MAAM,UAAU,OAAiB,SAAmB;EAClD,OAAO;GAAE,GAAG;IAAO,MAAM;EAAM;CACjC;CAEA,OAAO,KAAK,QAAQ,MAAM;AAC5B;AAEA,KAAK,SAAS,SAAS,WAAgD,KAAqC;CAC1G,OAAO,KAAK,GAAG;AACjB;;;AC5BA,SAAS,kBAAiC,MAAqE;CAC7G,OAAO,SAAS,iBAAiB,QAAQ,OAAO;EAC9C,OAAO,mBAAmB,IAAI,CAAC,CAAC,cAAc,KAAK;CACrD;AACF;AAIA,SAAgB,IAAmB,MAAoC;CACrE,OAAO,SAAS,YAAY,GAAG,MAA0B;EACvD,OAAOC,cAAAA,MAAM,kBAAkB,IAAI,GAAG,IAAI;CAC5C;AACF;;;ACZA,SAAgB,MAAM,OAAwB;CAC5C,OAAO,kBAAkB,KAAK;AAChC;;;ACJA,SAAgB,KAAoB,MAAsD;CACxF,OAAO,SAAS,aAAa,QAAuB;EAElD,OAAO,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;CAC7B;AACF"}
@@ -7,6 +7,34 @@ interface Functor<A> {
7
7
  }
8
8
  type Lens<Source, Focus> = (functorFactory: (focus: Focus) => Functor<Focus>) => (source: Source) => Functor<Source>;
9
9
  //#endregion
10
+ //#region src/lens/compose.d.ts
11
+ /**
12
+ * Compose Lenses
13
+ */
14
+ declare function compose<A, B>(lens1: Lens<A, B>): Lens<A, B>;
15
+ declare function compose<A, B, C>(lens1: Lens<A, B>, lens2: Lens<B, C>): Lens<A, C>;
16
+ declare function compose<A, B, C, D>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>): Lens<A, D>;
17
+ declare function compose<A, B, C, D, E>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>): Lens<A, E>;
18
+ declare function compose<A, B, C, D, E, F>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>, lens5: Lens<E, F>): Lens<A, F>;
19
+ declare function compose<A, B, C, D, E, F, G>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>, lens5: Lens<E, F>, lens6: Lens<F, G>): Lens<A, G>;
20
+ declare function compose<A, B, C, D, E, F, G, H>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>, lens5: Lens<E, F>, lens6: Lens<F, G>, lens7: Lens<G, H>): Lens<A, H>;
21
+ declare function compose<A, B, C, D, E, F, G, H, I>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>, lens5: Lens<E, F>, lens6: Lens<F, G>, lens7: Lens<G, H>, lens8: Lens<G, I>): Lens<A, I>;
22
+ declare function compose<A, B, C, D, E, F, G, H, I, J>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>, lens5: Lens<E, F>, lens6: Lens<F, G>, lens7: Lens<G, H>, lens8: Lens<G, I>, lens9: Lens<I, J>): Lens<A, J>;
23
+ declare namespace compose {
24
+ var from: typeof composeFrom;
25
+ }
26
+ declare function composeFrom<A>(): {
27
+ <B>(lens1: Lens<A, B>): Lens<A, B>;
28
+ <B, C>(lens1: Lens<A, B>, lens2: Lens<B, C>): Lens<A, C>;
29
+ <B, C, D>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>): Lens<A, D>;
30
+ <B, C, D, E>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>): Lens<A, E>;
31
+ <B, C, D, E, F>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>, lens5: Lens<E, F>): Lens<A, F>;
32
+ <B, C, D, E, F, G>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>, lens5: Lens<E, F>, lens6: Lens<F, G>): Lens<A, G>;
33
+ <B, C, D, E, F, G, H>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>, lens5: Lens<E, F>, lens6: Lens<F, G>, lens7: Lens<G, H>): Lens<A, H>;
34
+ <B, C, D, E, F, G, H, I>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>, lens5: Lens<E, F>, lens6: Lens<F, G>, lens7: Lens<G, H>, lens8: Lens<G, I>): Lens<A, I>;
35
+ <B, C, D, E, F, G, H, I, J>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>, lens5: Lens<E, F>, lens6: Lens<F, G>, lens7: Lens<G, H>, lens8: Lens<G, I>, lens9: Lens<I, J>): Lens<A, J>;
36
+ };
37
+ //#endregion
10
38
  //#region src/lens/idx.d.ts
11
39
  declare function idx<T>(index: number): Lens<T[], Accessed<T>>;
12
40
  declare namespace idx {
@@ -92,6 +120,7 @@ declare function prop<Obj extends Record<string, unknown>, Key extends keyof Obj
92
120
  declare function prop<Obj extends Record<string, unknown>>(key: string): Lens<Obj, Obj[string] | undefined>;
93
121
  declare namespace prop {
94
122
  var or: <Obj extends object, Key extends keyof Obj>(key: Key, defaultValue: NonNullable<Obj[Key]>) => Lens<Obj, NonNullable<Obj[Key]>>;
123
+ var assert: <Obj extends Record<string, unknown>>(key: string) => Lens<Obj, Obj[string]>;
95
124
  }
96
125
  //#endregion
97
126
  //#region src/lens/set.d.ts
@@ -105,5 +134,5 @@ declare function tuple<A, B>(index: 1): Lens<[A, B], B>;
105
134
  //#region src/lens/view.d.ts
106
135
  declare function view<Source, Focus>(lens: Lens<Source, Focus>): (source: Source) => Focus;
107
136
  //#endregion
108
- export { idx, iso, lens, over, path, pathOr, pathOrUnsafe, pathUnsafe, prop, set, tuple, view };
137
+ export { compose, idx, iso, lens, over, path, pathOr, pathOrUnsafe, pathUnsafe, prop, set, tuple, view };
109
138
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/lens/internal/_lens.ts","../../src/lens/idx.ts","../../src/lens/iso.ts","../../src/lens/lens.ts","../../src/lens/over.ts","../../src/lens/internal/_path.ts","../../src/lens/path.ts","../../src/lens/pathUnsafe.ts","../../src/lens/pathOr.ts","../../src/lens/pathOrUnsafe.ts","../../src/lens/prop.ts","../../src/lens/set.ts","../../src/lens/tuple.ts","../../src/lens/view.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/lens/internal/_lens.ts","../../src/lens/compose.ts","../../src/lens/idx.ts","../../src/lens/iso.ts","../../src/lens/lens.ts","../../src/lens/over.ts","../../src/lens/internal/_path.ts","../../src/lens/path.ts","../../src/lens/pathUnsafe.ts","../../src/lens/pathOr.ts","../../src/lens/pathOrUnsafe.ts","../../src/lens/prop.ts","../../src/lens/set.ts","../../src/lens/tuple.ts","../../src/lens/view.ts"],"mappings":"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"}
@@ -7,6 +7,34 @@ interface Functor<A> {
7
7
  }
8
8
  type Lens<Source, Focus> = (functorFactory: (focus: Focus) => Functor<Focus>) => (source: Source) => Functor<Source>;
9
9
  //#endregion
10
+ //#region src/lens/compose.d.ts
11
+ /**
12
+ * Compose Lenses
13
+ */
14
+ declare function compose<A, B>(lens1: Lens<A, B>): Lens<A, B>;
15
+ declare function compose<A, B, C>(lens1: Lens<A, B>, lens2: Lens<B, C>): Lens<A, C>;
16
+ declare function compose<A, B, C, D>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>): Lens<A, D>;
17
+ declare function compose<A, B, C, D, E>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>): Lens<A, E>;
18
+ declare function compose<A, B, C, D, E, F>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>, lens5: Lens<E, F>): Lens<A, F>;
19
+ declare function compose<A, B, C, D, E, F, G>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>, lens5: Lens<E, F>, lens6: Lens<F, G>): Lens<A, G>;
20
+ declare function compose<A, B, C, D, E, F, G, H>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>, lens5: Lens<E, F>, lens6: Lens<F, G>, lens7: Lens<G, H>): Lens<A, H>;
21
+ declare function compose<A, B, C, D, E, F, G, H, I>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>, lens5: Lens<E, F>, lens6: Lens<F, G>, lens7: Lens<G, H>, lens8: Lens<G, I>): Lens<A, I>;
22
+ declare function compose<A, B, C, D, E, F, G, H, I, J>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>, lens5: Lens<E, F>, lens6: Lens<F, G>, lens7: Lens<G, H>, lens8: Lens<G, I>, lens9: Lens<I, J>): Lens<A, J>;
23
+ declare namespace compose {
24
+ var from: typeof composeFrom;
25
+ }
26
+ declare function composeFrom<A>(): {
27
+ <B>(lens1: Lens<A, B>): Lens<A, B>;
28
+ <B, C>(lens1: Lens<A, B>, lens2: Lens<B, C>): Lens<A, C>;
29
+ <B, C, D>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>): Lens<A, D>;
30
+ <B, C, D, E>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>): Lens<A, E>;
31
+ <B, C, D, E, F>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>, lens5: Lens<E, F>): Lens<A, F>;
32
+ <B, C, D, E, F, G>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>, lens5: Lens<E, F>, lens6: Lens<F, G>): Lens<A, G>;
33
+ <B, C, D, E, F, G, H>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>, lens5: Lens<E, F>, lens6: Lens<F, G>, lens7: Lens<G, H>): Lens<A, H>;
34
+ <B, C, D, E, F, G, H, I>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>, lens5: Lens<E, F>, lens6: Lens<F, G>, lens7: Lens<G, H>, lens8: Lens<G, I>): Lens<A, I>;
35
+ <B, C, D, E, F, G, H, I, J>(lens1: Lens<A, B>, lens2: Lens<B, C>, lens3: Lens<C, D>, lens4: Lens<D, E>, lens5: Lens<E, F>, lens6: Lens<F, G>, lens7: Lens<G, H>, lens8: Lens<G, I>, lens9: Lens<I, J>): Lens<A, J>;
36
+ };
37
+ //#endregion
10
38
  //#region src/lens/idx.d.ts
11
39
  declare function idx<T>(index: number): Lens<T[], Accessed<T>>;
12
40
  declare namespace idx {
@@ -92,6 +120,7 @@ declare function prop<Obj extends Record<string, unknown>, Key extends keyof Obj
92
120
  declare function prop<Obj extends Record<string, unknown>>(key: string): Lens<Obj, Obj[string] | undefined>;
93
121
  declare namespace prop {
94
122
  var or: <Obj extends object, Key extends keyof Obj>(key: Key, defaultValue: NonNullable<Obj[Key]>) => Lens<Obj, NonNullable<Obj[Key]>>;
123
+ var assert: <Obj extends Record<string, unknown>>(key: string) => Lens<Obj, Obj[string]>;
95
124
  }
96
125
  //#endregion
97
126
  //#region src/lens/set.d.ts
@@ -105,5 +134,5 @@ declare function tuple<A, B>(index: 1): Lens<[A, B], B>;
105
134
  //#region src/lens/view.d.ts
106
135
  declare function view<Source, Focus>(lens: Lens<Source, Focus>): (source: Source) => Focus;
107
136
  //#endregion
108
- export { idx, iso, lens, over, path, pathOr, pathOrUnsafe, pathUnsafe, prop, set, tuple, view };
137
+ export { compose, idx, iso, lens, over, path, pathOr, pathOrUnsafe, pathUnsafe, prop, set, tuple, view };
109
138
  //# sourceMappingURL=index.d.mts.map