@ts-fns/stdlib 0.1.0 → 0.2.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 (135) hide show
  1. package/dist/array/index.cjs +230 -33
  2. package/dist/array/index.cjs.map +1 -1
  3. package/dist/array/index.d.cts +434 -32
  4. package/dist/array/index.d.cts.map +1 -1
  5. package/dist/array/index.d.mts +434 -32
  6. package/dist/array/index.d.mts.map +1 -1
  7. package/dist/array/index.mjs +216 -18
  8. package/dist/array/index.mjs.map +1 -1
  9. package/dist/function/index.cjs +4 -2
  10. package/dist/function/index.d.cts +128 -13
  11. package/dist/function/index.d.cts.map +1 -1
  12. package/dist/function/index.d.mts +128 -13
  13. package/dist/function/index.d.mts.map +1 -1
  14. package/dist/function/index.mjs +3 -3
  15. package/dist/{function-DnI2v0p3.mjs → function-CYHPhQCQ.mjs} +84 -6
  16. package/dist/function-CYHPhQCQ.mjs.map +1 -0
  17. package/dist/{function-CB82a2GS.cjs → function-DYPifnmg.cjs} +95 -5
  18. package/dist/function-DYPifnmg.cjs.map +1 -0
  19. package/dist/{get-yrs1Kqho.cjs → get-1kqkxPFX.cjs} +20 -8
  20. package/dist/get-1kqkxPFX.cjs.map +1 -0
  21. package/dist/{get-CWL_cu6G.mjs → get-Dv6ejLZg.mjs} +21 -3
  22. package/dist/get-Dv6ejLZg.mjs.map +1 -0
  23. package/dist/guard/index.cjs +5 -12
  24. package/dist/guard/index.cjs.map +1 -1
  25. package/dist/guard/index.d.cts +18 -17
  26. package/dist/guard/index.d.cts.map +1 -1
  27. package/dist/guard/index.d.mts +18 -17
  28. package/dist/guard/index.d.mts.map +1 -1
  29. package/dist/guard/index.mjs +4 -12
  30. package/dist/guard/index.mjs.map +1 -1
  31. package/dist/index-MbdqaUt1.d.cts +54 -0
  32. package/dist/index-MbdqaUt1.d.cts.map +1 -0
  33. package/dist/index-k-paNOu4.d.mts +54 -0
  34. package/dist/index-k-paNOu4.d.mts.map +1 -0
  35. package/dist/iterator/index.cjs +72 -26
  36. package/dist/iterator/index.cjs.map +1 -1
  37. package/dist/iterator/index.d.cts +157 -5
  38. package/dist/iterator/index.d.cts.map +1 -1
  39. package/dist/iterator/index.d.mts +157 -5
  40. package/dist/iterator/index.d.mts.map +1 -1
  41. package/dist/iterator/index.mjs +66 -24
  42. package/dist/iterator/index.mjs.map +1 -1
  43. package/dist/lens/index.cjs +3 -3
  44. package/dist/lens/index.cjs.map +1 -1
  45. package/dist/lens/index.mjs +3 -3
  46. package/dist/lens/index.mjs.map +1 -1
  47. package/dist/map/index.cjs +88 -1
  48. package/dist/map/index.cjs.map +1 -1
  49. package/dist/map/index.d.cts +130 -2
  50. package/dist/map/index.d.cts.map +1 -1
  51. package/dist/map/index.d.mts +130 -2
  52. package/dist/map/index.d.mts.map +1 -1
  53. package/dist/map/index.mjs +86 -2
  54. package/dist/map/index.mjs.map +1 -1
  55. package/dist/number/index.cjs +91 -18
  56. package/dist/number/index.cjs.map +1 -1
  57. package/dist/number/index.d.cts +134 -19
  58. package/dist/number/index.d.cts.map +1 -1
  59. package/dist/number/index.d.mts +134 -19
  60. package/dist/number/index.d.mts.map +1 -1
  61. package/dist/number/index.mjs +91 -18
  62. package/dist/number/index.mjs.map +1 -1
  63. package/dist/object/index.cjs +111 -7
  64. package/dist/object/index.cjs.map +1 -1
  65. package/dist/object/index.d.cts +186 -26
  66. package/dist/object/index.d.cts.map +1 -1
  67. package/dist/object/index.d.mts +186 -26
  68. package/dist/object/index.d.mts.map +1 -1
  69. package/dist/object/index.mjs +111 -7
  70. package/dist/object/index.mjs.map +1 -1
  71. package/dist/orNull-CJNrTjhQ.cjs +45 -0
  72. package/dist/orNull-CJNrTjhQ.cjs.map +1 -0
  73. package/dist/orNull-EeXiCxD4.mjs +34 -0
  74. package/dist/orNull-EeXiCxD4.mjs.map +1 -0
  75. package/dist/order/index.cjs +22 -1
  76. package/dist/order/index.cjs.map +1 -1
  77. package/dist/order/index.d.cts +2 -2
  78. package/dist/order/index.d.mts +2 -2
  79. package/dist/order/index.mjs +22 -1
  80. package/dist/order/index.mjs.map +1 -1
  81. package/dist/{order.constants-BWSCg3C7.d.cts → order.constants-DpGY-EDp.d.cts} +4 -1
  82. package/dist/order.constants-DpGY-EDp.d.cts.map +1 -0
  83. package/dist/{order.constants-BWSCg3C7.d.mts → order.constants-DpGY-EDp.d.mts} +4 -1
  84. package/dist/order.constants-DpGY-EDp.d.mts.map +1 -0
  85. package/dist/purry-DXnhXie9.mjs +22 -0
  86. package/dist/purry-DXnhXie9.mjs.map +1 -0
  87. package/dist/purry-Dqp_F64t.cjs +27 -0
  88. package/dist/purry-Dqp_F64t.cjs.map +1 -0
  89. package/dist/set/index.cjs +59 -1
  90. package/dist/set/index.cjs.map +1 -1
  91. package/dist/set/index.d.cts +151 -2
  92. package/dist/set/index.d.cts.map +1 -1
  93. package/dist/set/index.d.mts +151 -2
  94. package/dist/set/index.d.mts.map +1 -1
  95. package/dist/set/index.mjs +59 -2
  96. package/dist/set/index.mjs.map +1 -1
  97. package/dist/string/index.cjs +289 -15
  98. package/dist/string/index.cjs.map +1 -1
  99. package/dist/string/index.d.cts +406 -1
  100. package/dist/string/index.d.cts.map +1 -1
  101. package/dist/string/index.d.mts +406 -1
  102. package/dist/string/index.d.mts.map +1 -1
  103. package/dist/string/index.mjs +271 -4
  104. package/dist/string/index.mjs.map +1 -1
  105. package/dist/tuple/index.cjs +20 -21
  106. package/dist/tuple/index.cjs.map +1 -1
  107. package/dist/tuple/index.d.cts +27 -58
  108. package/dist/tuple/index.d.cts.map +1 -1
  109. package/dist/tuple/index.d.mts +27 -58
  110. package/dist/tuple/index.d.mts.map +1 -1
  111. package/dist/tuple/index.mjs +20 -22
  112. package/dist/tuple/index.mjs.map +1 -1
  113. package/package.json +5 -6
  114. package/dist/function-CB82a2GS.cjs.map +0 -1
  115. package/dist/function-DnI2v0p3.mjs.map +0 -1
  116. package/dist/get-CWL_cu6G.mjs.map +0 -1
  117. package/dist/get-yrs1Kqho.cjs.map +0 -1
  118. package/dist/index-BJlKyBJH.d.cts +0 -18
  119. package/dist/index-BJlKyBJH.d.cts.map +0 -1
  120. package/dist/index-DGrnGMDt.d.mts +0 -18
  121. package/dist/index-DGrnGMDt.d.mts.map +0 -1
  122. package/dist/isNotNil-DrF-ohem.cjs +0 -28
  123. package/dist/isNotNil-DrF-ohem.cjs.map +0 -1
  124. package/dist/isNotNil-R5f1hC53.mjs +0 -23
  125. package/dist/isNotNil-R5f1hC53.mjs.map +0 -1
  126. package/dist/orThrow-V91Jw2lF.mjs +0 -15
  127. package/dist/orThrow-V91Jw2lF.mjs.map +0 -1
  128. package/dist/orThrow-ejzcQYAI.cjs +0 -20
  129. package/dist/orThrow-ejzcQYAI.cjs.map +0 -1
  130. package/dist/order.constants-BWSCg3C7.d.cts.map +0 -1
  131. package/dist/order.constants-BWSCg3C7.d.mts.map +0 -1
  132. package/dist/purry-B2_0DGLV.cjs +0 -28
  133. package/dist/purry-B2_0DGLV.cjs.map +0 -1
  134. package/dist/purry-BOWmqwDB.mjs +0 -23
  135. package/dist/purry-BOWmqwDB.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["purry","purry","purry","purry","purry","purry","purry","purry","purry","purry"],"sources":["../../src/object/_globalAliases.ts","../../src/object/clone.ts","../../src/object/evolve.ts","../../src/object/forEach.ts","../../src/object/groupBy.ts","../../src/object/indexBy.ts","../../src/object/map.ts","../../src/object/merge.ts","../../src/object/omit.ts","../../src/object/pick.ts","../../src/object/set.ts","../../src/object/upsert.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/prefer-destructuring */\nexport const { fromEntries, hasOwn, is, keys, values } = Object;\n\n/**\n * @category Object\n * @function\n * @example\n * ```ts\n * entries({ a: 1, b: 2 }); // [['a', 1], ['b', 2]]\n * ```\n */\nexport const entries = Object.entries;\n","/**\n * Alias of structuredClone without the optional second argument\n */\nexport function clone<T>(data: T): T {\n return globalThis.structuredClone(data);\n}\n","import type { Simplify } from 'type-fest';\n\nimport { purry } from '../function';\n\ntype Evolved<Obj extends object, Evolver extends { [K in keyof Partial<Obj>]: (value: Obj[K]) => unknown }> = {\n [K in keyof Obj]: Obj extends Record<K, infer T>\n ? Evolver extends Record<K, (value: Obj[K]) => infer R>\n ? R extends T\n ? T\n : unknown\n : never\n : never;\n};\n\nfunction evolveImplementation<\n Obj extends object,\n Evolver extends { [K in keyof Partial<Obj>]: (value: Obj[K]) => unknown },\n>(obj: Obj, evolver: Evolver): Simplify<Evolved<Obj, Evolver>> {\n const evolved = (Object.entries(evolver) as [keyof Obj, (value: unknown) => unknown][]).reduce<\n Partial<Record<keyof Obj, any>>\n >((acc, [k, fn]) => {\n // key must exist on obj, otherwise no value\n if (Object.hasOwn(obj, k)) {\n acc[k] = fn(obj[k]);\n }\n return acc;\n }, {});\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return { ...obj, ...evolved } as any;\n}\n\nexport function evolve<Obj extends object, Evolver extends { [K in keyof Partial<Obj>]: (value: Obj[K]) => unknown }>(\n evolver: Evolver,\n): (obj: Obj) => Simplify<Evolved<Obj, Evolver>>;\nexport function evolve<Obj extends object, Evolver extends { [K in keyof Partial<Obj>]: (value: Obj[K]) => unknown }>(\n obj: Obj,\n evolver: Evolver,\n): Simplify<Evolved<Obj, Evolver>>;\nexport function evolve(...args: unknown[]): unknown {\n return purry(evolveImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction forEachImplementation<T>(\n data: Record<string, T>,\n callbackfn: (value: T, key: string) => void,\n): Record<string, T> {\n for (const [k, v] of Object.entries(data)) {\n callbackfn(v, k);\n }\n return data;\n}\n\nexport function forEach<T>(callbackfn: (value: T, key: string) => void): (data: Record<string, T>) => Record<string, T>;\nexport function forEach<T>(data: Record<string, T>, callbackfn: (value: T, key: string) => void): Record<string, T>;\nexport function forEach(...args: readonly unknown[]): unknown {\n return purry(forEachImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction groupByImplementation<T>(\n items: Iterable<T>,\n keySelector: (item: T, index: number) => string,\n): Partial<Record<string, T[]>> {\n return Object.groupBy(items, keySelector);\n}\n\nexport function groupBy<T>(\n keySelector: (item: T, index: number) => string,\n): (items: Iterable<T>) => Partial<Record<string, T[]>>;\nexport function groupBy<T>(\n items: Iterable<T>,\n keySelector: (item: T, index: number) => string,\n): Partial<Record<string, T[]>>;\nexport function groupBy(...args: readonly unknown[]): unknown {\n return purry(groupByImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction indexByImplementation<T>(\n data: Iterable<T>,\n keySelector: (item: T, index: number) => string,\n): Record<string, T> {\n const asArray = [...data];\n const len = asArray.length;\n const rtnObj: Record<string, T> = {};\n for (let i = 0; i < len; i += 1) {\n const value = asArray[i]!;\n rtnObj[keySelector(value, i)] = value;\n }\n return rtnObj;\n}\n\nexport function indexBy<T>(keySelector: (item: T, index: number) => string): (data: Iterable<T>) => Record<string, T>;\nexport function indexBy<T>(data: Iterable<T>, keySelector: (item: T, index: number) => string): Record<string, T>;\nexport function indexBy(...args: readonly unknown[]): unknown {\n return purry(indexByImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction mapImplementation<T, U>(data: Record<string, T>, callbackfn: (value: T, key: string) => U): Record<string, U> {\n const entries = Object.entries(data);\n const len = entries.length;\n const newObj: Record<string, U> = {};\n for (let i = 0; i < len; i += 1) {\n const [k, v] = entries[i]!;\n newObj[k] = callbackfn(v, k);\n }\n return newObj;\n}\n\nexport function map<T, U>(callbackfn: (value: T, key: string) => U): (data: Record<string, T>) => Record<string, U>;\nexport function map<T, U>(data: Record<string, T>, callbackfn: (value: T, key: string) => U): Record<string, U>;\nexport function map(...args: readonly unknown[]): unknown {\n return purry(mapImplementation, args);\n}\n","import type { Merge } from 'type-fest';\n\nimport { purry } from '../function';\n\nfunction mergeImplementation<Obj extends object, Other extends object>(left: Obj, right: Other): Merge<Obj, Other> {\n return { ...left, ...right } as unknown as Merge<Obj, Other>;\n}\n\nexport function merge<Obj extends object, Other extends object>(right: Other): (left: Obj) => Merge<Obj, Other>;\nexport function merge<Obj extends object, Other extends object>(left: Obj, right: Other): Merge<Obj, Other>;\nexport function merge(...args: unknown[]): unknown {\n return purry(mergeImplementation, args);\n}\n\nfunction mergeLeftImplementation<Obj extends object, Other extends object>(left: Obj, right: Other): Merge<Other, Obj> {\n return { ...right, ...left } as unknown as Merge<Other, Obj>;\n}\n\nexport function mergeLeft<Obj extends object, Other extends object>(right: Other): (left: Obj) => Merge<Other, Obj>;\nexport function mergeLeft<Obj extends object, Other extends object>(left: Obj, right: Other): Merge<Other, Obj>;\nexport function mergeLeft(...args: unknown[]): unknown {\n return purry(mergeLeftImplementation, args);\n}\n\nmerge.left = mergeLeft;\n","import { purry } from '../function/purry';\n\nfunction omitImplementation(data: Record<string, unknown>, keys: Iterable<string>): Record<string, unknown> {\n const keysSet = new Set(keys);\n\n const newObj: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(data)) {\n if (!keysSet.has(key)) {\n newObj[key] = value;\n }\n }\n\n return newObj;\n}\n\nexport function omit<Obj extends Record<string, unknown>, Key extends keyof Obj>(\n keys: Iterable<Key>,\n): (data: Obj) => Omit<Obj, Key>;\nexport function omit<Obj extends Record<string, unknown>, Key extends keyof Obj>(\n data: Obj,\n keys: Iterable<Key>,\n): Omit<Obj, Key>;\nexport function omit(...args: readonly unknown[]): unknown {\n return purry(omitImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction pickImplementation(data: Record<string, unknown>, keys: Iterable<string>): Record<string, unknown> {\n const keysSet = new Set(keys);\n\n const newObj: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(data)) {\n if (keysSet.has(key)) {\n newObj[key] = value;\n }\n }\n\n return newObj;\n}\n\nexport function pick<Obj extends Record<string, unknown>, Key extends keyof Obj>(\n keys: Iterable<Key>,\n): (data: Obj) => Pick<Obj, Key>;\nexport function pick<Obj extends Record<string, unknown>, Key extends keyof Obj>(\n data: Obj,\n keys: Iterable<Key>,\n): Pick<Obj, Key>;\nexport function pick(...args: readonly unknown[]): unknown {\n return purry(pickImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nexport function setImplementation<Obj extends object, Key extends keyof Obj>(obj: Obj, key: Key, value: Obj[Key]): Obj {\n return { ...obj, [key]: value };\n}\n\nexport function set<Obj extends object, Key extends keyof Obj>(key: Key, value: Obj[Key]): (obj: Obj) => Obj;\nexport function set<Obj extends object, Key extends keyof Obj>(obj: Obj, key: Key, value: Obj[Key]): Obj;\nexport function set(...args: readonly unknown[]): unknown {\n return purry(setImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction upsertImplementation<T>(\n data: Record<string, T>,\n key: string,\n fn: (value: T | null | undefined) => T,\n): Record<string, T> {\n if (!(key in data)) {\n const updatedValue = fn(undefined);\n return { ...data, [key]: updatedValue };\n }\n\n const value = data[key];\n\n // this checks for both `undefined` and `null`\n if (value == null) {\n const updatedValue = fn(null);\n return { ...data, [key]: updatedValue };\n }\n\n const updatedValue = fn(value);\n return { ...data, [key]: updatedValue };\n}\n\n/**\n * Upsert is meant to be used on `Record<K, V>` types that have unknown keys that may or may not exists\n * The callback function is unique in that it will return `V | null | undefined`\n * * `V` is returned if the key is present and a value exists\n * * `null` is returned if the key is present, but is set to `null` or `undefined`\n * * `undefined` is returned if the key is not present\n */\nexport function upsert<T>(\n key: string,\n fn: (value: T | null | undefined) => T,\n): (data: Record<string, T>) => Record<string, T>;\nexport function upsert<T>(\n data: Record<string, T>,\n key: string,\n fn: (value: T | null | undefined) => T,\n): Record<string, T>;\nexport function upsert(...args: readonly unknown[]): unknown {\n return purry(upsertImplementation, args);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["purry","purry","purry","purry","purry","purry","purry","purry","purry","purry","purry"],"sources":["../../src/object/_globalAliases.ts","../../src/object/clone.ts","../../src/object/evolve.ts","../../src/object/forEach.ts","../../src/object/groupBy.ts","../../src/object/indexBy.ts","../../src/object/map.ts","../../src/object/merge.ts","../../src/object/mergeDeep.ts","../../src/object/omit.ts","../../src/object/pick.ts","../../src/object/set.ts","../../src/object/upsert.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/prefer-destructuring */\n\n/**\n * Creates an object from an iterable of key-value pairs.\n * @function\n *\n * @example\n * ```ts\n * fromEntries([['a', 1], ['b', 2]]); // { a: 1, b: 2 }\n * ```\n */\nexport const fromEntries = Object.fromEntries;\n\n/**\n * Checks whether an object has the specified property as its own property.\n * @function\n *\n * @example\n * ```ts\n * hasOwn({ a: 1 }, 'a'); // true\n * hasOwn({ a: 1 }, 'toString'); // false\n * ```\n */\nexport const hasOwn = Object.hasOwn;\n\n/**\n * Determines whether two values are the same value.\n * @function\n *\n * @example\n * ```ts\n * is(NaN, NaN); // true\n * is(0, -0); // false\n * ```\n */\nexport const is = Object.is;\n\n/**\n * Returns an array of an object's own enumerable string-keyed property names.\n * @function\n *\n * @example\n * ```ts\n * keys({ a: 1, b: 2 }); // ['a', 'b']\n * ```\n */\nexport const keys = Object.keys;\n\n/**\n * Returns an array of an object's own enumerable property values.\n * @function\n *\n * @example\n * ```ts\n * values({ a: 1, b: 2 }); // [1, 2]\n * ```\n */\nexport const values = Object.values;\n\n/**\n * Returns an array of an object's own enumerable string-keyed property key-value pairs.\n * @function\n *\n * @example\n * ```ts\n * entries({ a: 1, b: 2 }); // [['a', 1], ['b', 2]]\n * ```\n */\nexport const entries = Object.entries;\n","/**\n * Creates a deep clone of a value using `structuredClone`.\n *\n * @example\n * ```ts\n * clone({ a: 1, b: { c: 2 } }); // { a: 1, b: { c: 2 } }\n * ```\n */\nexport function clone<T>(data: T): T {\n return globalThis.structuredClone(data);\n}\n","import type { Simplify } from 'type-fest';\n\nimport { purry } from '../function';\n\ntype Evolved<Obj extends object, Evolver extends { [K in keyof Partial<Obj>]: (value: Obj[K]) => unknown }> = {\n [K in keyof Obj]: Obj extends Record<K, infer T>\n ? Evolver extends Record<K, (value: Obj[K]) => infer R>\n ? R extends T\n ? T\n : unknown\n : never\n : never;\n};\n\nfunction evolveImplementation<\n Obj extends object,\n Evolver extends { [K in keyof Partial<Obj>]: (value: Obj[K]) => unknown },\n>(obj: Obj, evolver: Evolver): Simplify<Evolved<Obj, Evolver>> {\n const evolved = (Object.entries(evolver) as [keyof Obj, (value: unknown) => unknown][]).reduce<\n Partial<Record<keyof Obj, any>>\n >((acc, [k, fn]) => {\n // key must exist on obj, otherwise no value\n if (Object.hasOwn(obj, k)) {\n acc[k] = fn(obj[k]);\n }\n return acc;\n }, {});\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return { ...obj, ...evolved } as any;\n}\n\n/**\n * Transforms selected properties of an object using per-key functions.\n * Only keys present on the object are evolved.\n *\n * @example\n * ```ts\n * evolve({ count: n => n + 1 })({ count: 1, name: 'Ada' }); // { count: 2, name: 'Ada' }\n * evolve({ count: 1, name: 'Ada' }, { count: n => n + 1 }); // { count: 2, name: 'Ada' }\n * ```\n */\nexport function evolve<Obj extends object, Evolver extends { [K in keyof Partial<Obj>]: (value: Obj[K]) => unknown }>(\n evolver: Evolver,\n): (obj: Obj) => Simplify<Evolved<Obj, Evolver>>;\nexport function evolve<Obj extends object, Evolver extends { [K in keyof Partial<Obj>]: (value: Obj[K]) => unknown }>(\n obj: Obj,\n evolver: Evolver,\n): Simplify<Evolved<Obj, Evolver>>;\nexport function evolve(...args: unknown[]): unknown {\n return purry(evolveImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction forEachImplementation<T>(\n data: Record<string, T>,\n callbackfn: (value: T, key: string) => void,\n): Record<string, T> {\n for (const [k, v] of Object.entries(data)) {\n callbackfn(v, k);\n }\n return data;\n}\n\n/**\n * Iterates over an object's own enumerable properties, invoking a callback for each entry.\n * Returns the original object.\n *\n * @example\n * ```ts\n * forEach((v, k) => console.log(k, v))({ a: 1, b: 2 });\n * forEach({ a: 1, b: 2 }, (v, k) => console.log(k, v));\n * ```\n */\nexport function forEach<T>(callbackfn: (value: T, key: string) => void): (data: Record<string, T>) => Record<string, T>;\nexport function forEach<T>(data: Record<string, T>, callbackfn: (value: T, key: string) => void): Record<string, T>;\nexport function forEach(...args: readonly unknown[]): unknown {\n return purry(forEachImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction groupByImplementation<T>(\n items: Iterable<T>,\n keySelector: (item: T, index: number) => string,\n): Partial<Record<string, T[]>> {\n return Object.groupBy(items, keySelector);\n}\n\n/**\n * Groups iterable items into arrays keyed by a selector function.\n *\n * @example\n * ```ts\n * groupBy(x => String(x.length), ['a', 'bb', 'ccc']); // { '1': ['a'], '2': ['bb'], '3': ['ccc'] }\n * groupBy(x => String(x.length))(['a', 'bb', 'ccc']); // { '1': ['a'], '2': ['bb'], '3': ['ccc'] }\n * ```\n */\nexport function groupBy<T>(\n keySelector: (item: T, index: number) => string,\n): (items: Iterable<T>) => Partial<Record<string, T[]>>;\nexport function groupBy<T>(\n items: Iterable<T>,\n keySelector: (item: T, index: number) => string,\n): Partial<Record<string, T[]>>;\nexport function groupBy(...args: readonly unknown[]): unknown {\n return purry(groupByImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction indexByImplementation<T>(\n data: Iterable<T>,\n keySelector: (item: T, index: number) => string,\n): Record<string, T> {\n const asArray = [...data];\n const len = asArray.length;\n const rtnObj: Record<string, T> = {};\n for (let i = 0; i < len; i += 1) {\n const value = asArray[i]!;\n rtnObj[keySelector(value, i)] = value;\n }\n return rtnObj;\n}\n\n/**\n * Indexes iterable items into an object keyed by a selector function.\n * Later items overwrite earlier ones that share the same key.\n *\n * @example\n * ```ts\n * indexBy(x => x.id, [{ id: 'a', v: 1 }, { id: 'b', v: 2 }]); // { a: { id: 'a', v: 1 }, b: { id: 'b', v: 2 } }\n * indexBy(x => x.id)([{ id: 'a', v: 1 }]); // { a: { id: 'a', v: 1 } }\n * ```\n */\nexport function indexBy<T>(keySelector: (item: T, index: number) => string): (data: Iterable<T>) => Record<string, T>;\nexport function indexBy<T>(data: Iterable<T>, keySelector: (item: T, index: number) => string): Record<string, T>;\nexport function indexBy(...args: readonly unknown[]): unknown {\n return purry(indexByImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction mapImplementation<T, U>(data: Record<string, T>, callbackfn: (value: T, key: string) => U): Record<string, U> {\n const entries = Object.entries(data);\n const len = entries.length;\n const newObj: Record<string, U> = {};\n for (let i = 0; i < len; i += 1) {\n const [k, v] = entries[i]!;\n newObj[k] = callbackfn(v, k);\n }\n return newObj;\n}\n\n/**\n * Maps over an object's own enumerable properties, transforming each value.\n *\n * @example\n * ```ts\n * map((v, k) => v * 2, { a: 1, b: 2 }); // { a: 2, b: 4 }\n * map(v => v * 2)({ a: 1, b: 2 }); // { a: 2, b: 4 }\n * ```\n */\nexport function map<T, U>(callbackfn: (value: T, key: string) => U): (data: Record<string, T>) => Record<string, U>;\nexport function map<T, U>(data: Record<string, T>, callbackfn: (value: T, key: string) => U): Record<string, U>;\nexport function map(...args: readonly unknown[]): unknown {\n return purry(mapImplementation, args);\n}\n","import type { Merge } from 'type-fest';\n\nimport { purry } from '../function';\n\nfunction mergeImplementation<Obj extends object, Other extends object>(left: Obj, right: Other): Merge<Obj, Other> {\n return { ...left, ...right } as unknown as Merge<Obj, Other>;\n}\n\n/**\n * Merges two objects, with properties from the right object taking precedence.\n *\n * @example\n * ```ts\n * merge({ a: 1 }, { b: 2 }); // { a: 1, b: 2 }\n * merge({ b: 3 })({ a: 1, b: 2 }); // { a: 1, b: 3 }\n * ```\n */\nexport function merge<Obj extends object, Other extends object>(right: Other): (left: Obj) => Merge<Obj, Other>;\nexport function merge<Obj extends object, Other extends object>(left: Obj, right: Other): Merge<Obj, Other>;\nexport function merge(...args: unknown[]): unknown {\n return purry(mergeImplementation, args);\n}\n\nfunction mergeLeftImplementation<Obj extends object, Other extends object>(left: Obj, right: Other): Merge<Other, Obj> {\n return { ...right, ...left } as unknown as Merge<Other, Obj>;\n}\n\nexport function mergeLeft<Obj extends object, Other extends object>(right: Other): (left: Obj) => Merge<Other, Obj>;\nexport function mergeLeft<Obj extends object, Other extends object>(left: Obj, right: Other): Merge<Other, Obj>;\nexport function mergeLeft(...args: unknown[]): unknown {\n return purry(mergeLeftImplementation, args);\n}\n\n/**\n * Like `merge`, but gives precedence to properties from the left object.\n *\n * @example\n * ```ts\n * merge.left({ a: 1 }, { b: 2 }); // { a: 1, b: 2 }\n * merge.left({ b: 3 })({ a: 1, b: 2 }); // { a: 1, b: 3 }\n * ```\n */\nmerge.left = mergeLeft;\n","import type { MergeDeep } from 'type-fest';\n\nimport { purry } from '../function';\n\n// TODO: move this somewhere common\nfunction isObjectType(data: unknown): data is object {\n return typeof data === 'object' && data !== null;\n}\n\nfunction mergeDeepImplementation<Left extends object, Right extends object>(\n left: Left,\n right: Right,\n): MergeDeep<Left, Right> {\n // start in the reverse direction so the keys in other that don't exist on obj are there to start with\n const nextObj = { ...right, ...left } as Record<string, unknown>;\n\n // then go through all the keys in obj\n for (const key of Object.keys(left)) {\n // skipping in no present on other\n // eslint-disable-next-line no-continue\n if (!Object.hasOwn(right, key)) continue;\n\n // apply recursively if both objects\n // @ts-expect-error\n const leftVal: unknown = left[key];\n // @ts-expect-error\n const rightVal: unknown = right[key];\n\n // but not if either is an array\n if (isObjectType(leftVal) && isObjectType(rightVal) && !Array.isArray(leftVal) && !Array.isArray(rightVal)) {\n nextObj[key] = mergeDeepImplementation(leftVal, rightVal);\n } else {\n // @ts-expect-error\n nextObj[key] = right[key];\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return nextObj as any;\n}\n\n/**\n * Recursively merges two objects, with properties from the right object taking precedence.\n *\n * @example\n * ```ts\n * mergeDeep({ a: { x: 1 } }, { a: { y: 2 }, b: 3 }); // { a: { x: 1, y: 2 }, b: 3 }\n * mergeDeep({ b: 3 })({ a: { x: 1 }, b: { y: 2 } }); // { a: { x: 1 }, b: 3 }\n * ```\n */\nexport function mergeDeep<Left extends object, Right extends object>(\n right: Right,\n): (left: Left) => MergeDeep<Left, Right>;\nexport function mergeDeep<Left extends object, Right extends object>(left: Left, right: Right): MergeDeep<Left, Right>;\nexport function mergeDeep(...args: unknown[]): unknown {\n return purry(mergeDeepImplementation, args);\n}\n\nfunction mergeDeepLeftImplementation<Left extends object, Right extends object>(\n left: Left,\n right: Right,\n): MergeDeep<Right, Left> {\n return mergeDeepImplementation(right, left);\n}\n\nfunction mergeDeepLeft<Left extends object, Right extends object>(right: Right): (left: Left) => MergeDeep<Right, Left>;\nfunction mergeDeepLeft<Left extends object, Right extends object>(left: Left, right: Right): MergeDeep<Right, Left>;\nfunction mergeDeepLeft(...args: unknown[]): unknown {\n return purry(mergeDeepLeftImplementation, args);\n}\n\n/**\n * Like `mergeDeep`, but gives precedence to properties from the left object.\n *\n * @example\n * ```ts\n * mergeDeep.left({ a: { x: 1 } }, { a: { y: 2 }, b: 3 }); // { a: { x: 1, y: 2 }, b: 3 }\n * mergeDeep.left({ b: 3 })({ a: { x: 1 }, b: { y: 2 } }); // { a: { x: 1 }, b: 3 }\n * ```\n */\nmergeDeep.left = mergeDeepLeft;\n","import { purry } from '../function/purry';\n\nfunction omitImplementation(data: Record<string, unknown>, keys: Iterable<string>): Record<string, unknown> {\n const keysSet = new Set(keys);\n\n const newObj: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(data)) {\n if (!keysSet.has(key)) {\n newObj[key] = value;\n }\n }\n\n return newObj;\n}\n\n/**\n * Creates a new object without the specified keys.\n *\n * @example\n * ```ts\n * omit(['b'], { a: 1, b: 2, c: 3 }); // { a: 1, c: 3 }\n * omit(['b'])({ a: 1, b: 2, c: 3 }); // { a: 1, c: 3 }\n * ```\n */\nexport function omit<Obj extends Record<string, unknown>, Key extends keyof Obj>(\n keys: Iterable<Key>,\n): (data: Obj) => Omit<Obj, Key>;\nexport function omit<Obj extends Record<string, unknown>, Key extends keyof Obj>(\n data: Obj,\n keys: Iterable<Key>,\n): Omit<Obj, Key>;\nexport function omit(...args: readonly unknown[]): unknown {\n return purry(omitImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction pickImplementation(data: Record<string, unknown>, keys: Iterable<string>): Record<string, unknown> {\n const keysSet = new Set(keys);\n\n const newObj: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(data)) {\n if (keysSet.has(key)) {\n newObj[key] = value;\n }\n }\n\n return newObj;\n}\n\n/**\n * Creates a new object containing only the specified keys.\n *\n * @example\n * ```ts\n * pick(['a', 'c'], { a: 1, b: 2, c: 3 }); // { a: 1, c: 3 }\n * pick(['a', 'c'])({ a: 1, b: 2, c: 3 }); // { a: 1, c: 3 }\n * ```\n */\nexport function pick<Obj extends Record<string, unknown>, Key extends keyof Obj>(\n keys: Iterable<Key>,\n): (data: Obj) => Pick<Obj, Key>;\nexport function pick<Obj extends Record<string, unknown>, Key extends keyof Obj>(\n data: Obj,\n keys: Iterable<Key>,\n): Pick<Obj, Key>;\nexport function pick(...args: readonly unknown[]): unknown {\n return purry(pickImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nexport function setImplementation<Obj extends object, Key extends keyof Obj>(obj: Obj, key: Key, value: Obj[Key]): Obj {\n return { ...obj, [key]: value };\n}\n\n/**\n * Returns a new object with a single property updated.\n *\n * @example\n * ```ts\n * set('b', 2, { a: 1 }); // { a: 1, b: 2 }\n * set('b', 2)({ a: 1 }); // { a: 1, b: 2 }\n * ```\n */\nexport function set<Obj extends object, Key extends keyof Obj>(key: Key, value: Obj[Key]): (obj: Obj) => Obj;\nexport function set<Obj extends object, Key extends keyof Obj>(obj: Obj, key: Key, value: Obj[Key]): Obj;\nexport function set(...args: readonly unknown[]): unknown {\n return purry(setImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction upsertImplementation<T>(\n data: Record<string, T>,\n key: string,\n fn: (value: T | null | undefined) => T,\n): Record<string, T> {\n if (!(key in data)) {\n const updatedValue = fn(undefined);\n return { ...data, [key]: updatedValue };\n }\n\n const value = data[key];\n\n // this checks for both `undefined` and `null`\n if (value == null) {\n const updatedValue = fn(null);\n return { ...data, [key]: updatedValue };\n }\n\n const updatedValue = fn(value);\n return { ...data, [key]: updatedValue };\n}\n\n/**\n * Updates or inserts a value in a record.\n * The callback receives the current value, `null` when the key exists but is nullish, or `undefined` when the key is absent.\n *\n * @example\n * ```ts\n * upsert('a', v => (v ?? 0) + 1, { a: 1 }); // { a: 2 }\n * upsert('b', () => 0)({ a: 1 }); // { a: 1, b: 0 }\n * ```\n */\nexport function upsert<T>(\n key: string,\n fn: (value: T | null | undefined) => T,\n): (data: Record<string, T>) => Record<string, T>;\nexport function upsert<T>(\n data: Record<string, T>,\n key: string,\n fn: (value: T | null | undefined) => T,\n): Record<string, T>;\nexport function upsert(...args: readonly unknown[]): unknown {\n return purry(upsertImplementation, args);\n}\n"],"mappings":"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"}
@@ -1,24 +1,76 @@
1
1
  import { r as NotFoundError } from "../errors-CJsLpYo9.cjs";
2
- import { Merge, Simplify } from "type-fest";
2
+ import { Merge, MergeDeep, Simplify } from "type-fest";
3
3
 
4
4
  //#region src/object/_globalAliases.d.ts
5
+ /**
6
+ * Creates an object from an iterable of key-value pairs.
7
+ * @function
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * fromEntries([['a', 1], ['b', 2]]); // { a: 1, b: 2 }
12
+ * ```
13
+ */
5
14
  declare const fromEntries: {
6
- <T = any>(entries: Iterable<readonly [PropertyKey, T]>): {
7
- [k: string]: T;
8
- };
9
- (entries: Iterable<readonly any[]>): any;
10
- }, hasOwn: (o: object, v: PropertyKey) => boolean, is: (value1: any, value2: any) => boolean, keys: {
11
- (o: object): string[];
12
- (o: {}): string[];
13
- }, values: {
14
- <T>(o: {
15
- [s: string]: T;
16
- } | ArrayLike<T>): T[];
17
- (o: {}): any[];
15
+ <T = any>(entries: Iterable<readonly [PropertyKey, T]>): {
16
+ [k: string]: T;
18
17
  };
18
+ (entries: Iterable<readonly any[]>): any;
19
+ };
20
+ /**
21
+ * Checks whether an object has the specified property as its own property.
22
+ * @function
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * hasOwn({ a: 1 }, 'a'); // true
27
+ * hasOwn({ a: 1 }, 'toString'); // false
28
+ * ```
29
+ */
30
+ declare const hasOwn: (o: object, v: PropertyKey) => boolean;
31
+ /**
32
+ * Determines whether two values are the same value.
33
+ * @function
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * is(NaN, NaN); // true
38
+ * is(0, -0); // false
39
+ * ```
40
+ */
41
+ declare const is: (value1: any, value2: any) => boolean;
42
+ /**
43
+ * Returns an array of an object's own enumerable string-keyed property names.
44
+ * @function
45
+ *
46
+ * @example
47
+ * ```ts
48
+ * keys({ a: 1, b: 2 }); // ['a', 'b']
49
+ * ```
50
+ */
51
+ declare const keys: {
52
+ (o: object): string[];
53
+ (o: {}): string[];
54
+ };
55
+ /**
56
+ * Returns an array of an object's own enumerable property values.
57
+ * @function
58
+ *
59
+ * @example
60
+ * ```ts
61
+ * values({ a: 1, b: 2 }); // [1, 2]
62
+ * ```
63
+ */
64
+ declare const values: {
65
+ <T>(o: {
66
+ [s: string]: T;
67
+ } | ArrayLike<T>): T[];
68
+ (o: {}): any[];
69
+ };
19
70
  /**
20
- * @category Object
71
+ * Returns an array of an object's own enumerable string-keyed property key-value pairs.
21
72
  * @function
73
+ *
22
74
  * @example
23
75
  * ```ts
24
76
  * entries({ a: 1, b: 2 }); // [['a', 1], ['b', 2]]
@@ -33,30 +85,53 @@ declare const entries: {
33
85
  //#endregion
34
86
  //#region src/object/clone.d.ts
35
87
  /**
36
- * Alias of structuredClone without the optional second argument
88
+ * Creates a deep clone of a value using `structuredClone`.
89
+ *
90
+ * @example
91
+ * ```ts
92
+ * clone({ a: 1, b: { c: 2 } }); // { a: 1, b: { c: 2 } }
93
+ * ```
37
94
  */
38
95
  declare function clone<T>(data: T): T;
39
96
  //#endregion
40
97
  //#region src/object/evolve.d.ts
41
98
  type Evolved<Obj extends object, Evolver extends { [K in keyof Partial<Obj>]: (value: Obj[K]) => unknown }> = { [K in keyof Obj]: Obj extends Record<K, infer T> ? Evolver extends Record<K, (value: Obj[K]) => infer R> ? R extends T ? T : unknown : never : never };
99
+ /**
100
+ * Transforms selected properties of an object using per-key functions.
101
+ * Only keys present on the object are evolved.
102
+ *
103
+ * @example
104
+ * ```ts
105
+ * evolve({ count: n => n + 1 })({ count: 1, name: 'Ada' }); // { count: 2, name: 'Ada' }
106
+ * evolve({ count: 1, name: 'Ada' }, { count: n => n + 1 }); // { count: 2, name: 'Ada' }
107
+ * ```
108
+ */
42
109
  declare function evolve<Obj extends object, Evolver extends { [K in keyof Partial<Obj>]: (value: Obj[K]) => unknown }>(evolver: Evolver): (obj: Obj) => Simplify<Evolved<Obj, Evolver>>;
43
110
  declare function evolve<Obj extends object, Evolver extends { [K in keyof Partial<Obj>]: (value: Obj[K]) => unknown }>(obj: Obj, evolver: Evolver): Simplify<Evolved<Obj, Evolver>>;
44
111
  //#endregion
45
112
  //#region src/object/forEach.d.ts
113
+ /**
114
+ * Iterates over an object's own enumerable properties, invoking a callback for each entry.
115
+ * Returns the original object.
116
+ *
117
+ * @example
118
+ * ```ts
119
+ * forEach((v, k) => console.log(k, v))({ a: 1, b: 2 });
120
+ * forEach({ a: 1, b: 2 }, (v, k) => console.log(k, v));
121
+ * ```
122
+ */
46
123
  declare function forEach<T>(callbackfn: (value: T, key: string) => void): (data: Record<string, T>) => Record<string, T>;
47
124
  declare function forEach<T>(data: Record<string, T>, callbackfn: (value: T, key: string) => void): Record<string, T>;
48
125
  //#endregion
49
126
  //#region src/object/get.d.ts
50
127
  /**
51
- * Get a property from an object by key.
52
- *
53
- * @category Object
54
- * @param key - The key to get the property from.
55
- * @param obj - The object to get the property from.
128
+ * Gets a property from an object by key.
129
+ * Returns a not-found error when the property is missing or nullish.
56
130
  *
57
131
  * @example
58
132
  * ```ts
59
133
  * get('name', { name: 'John' }); // 'John'
134
+ * get('age')({ name: 'John' }); // NotFoundError
60
135
  * ```
61
136
  */
62
137
  declare function get<Obj extends object, Key extends keyof Obj>(key: Key): (obj: Obj) => NonNullable<Obj[Key]> | NotFoundError;
@@ -70,18 +145,55 @@ declare function getAssert<Obj extends object, Key extends keyof Obj>(key: Key):
70
145
  declare function getAssert<Obj extends object, Key extends keyof Obj>(obj: Obj, key: Key): NonNullable<Obj[Key]>;
71
146
  //#endregion
72
147
  //#region src/object/groupBy.d.ts
148
+ /**
149
+ * Groups iterable items into arrays keyed by a selector function.
150
+ *
151
+ * @example
152
+ * ```ts
153
+ * groupBy(x => String(x.length), ['a', 'bb', 'ccc']); // { '1': ['a'], '2': ['bb'], '3': ['ccc'] }
154
+ * groupBy(x => String(x.length))(['a', 'bb', 'ccc']); // { '1': ['a'], '2': ['bb'], '3': ['ccc'] }
155
+ * ```
156
+ */
73
157
  declare function groupBy<T>(keySelector: (item: T, index: number) => string): (items: Iterable<T>) => Partial<Record<string, T[]>>;
74
158
  declare function groupBy<T>(items: Iterable<T>, keySelector: (item: T, index: number) => string): Partial<Record<string, T[]>>;
75
159
  //#endregion
76
160
  //#region src/object/indexBy.d.ts
161
+ /**
162
+ * Indexes iterable items into an object keyed by a selector function.
163
+ * Later items overwrite earlier ones that share the same key.
164
+ *
165
+ * @example
166
+ * ```ts
167
+ * indexBy(x => x.id, [{ id: 'a', v: 1 }, { id: 'b', v: 2 }]); // { a: { id: 'a', v: 1 }, b: { id: 'b', v: 2 } }
168
+ * indexBy(x => x.id)([{ id: 'a', v: 1 }]); // { a: { id: 'a', v: 1 } }
169
+ * ```
170
+ */
77
171
  declare function indexBy<T>(keySelector: (item: T, index: number) => string): (data: Iterable<T>) => Record<string, T>;
78
172
  declare function indexBy<T>(data: Iterable<T>, keySelector: (item: T, index: number) => string): Record<string, T>;
79
173
  //#endregion
80
174
  //#region src/object/map.d.ts
175
+ /**
176
+ * Maps over an object's own enumerable properties, transforming each value.
177
+ *
178
+ * @example
179
+ * ```ts
180
+ * map((v, k) => v * 2, { a: 1, b: 2 }); // { a: 2, b: 4 }
181
+ * map(v => v * 2)({ a: 1, b: 2 }); // { a: 2, b: 4 }
182
+ * ```
183
+ */
81
184
  declare function map<T, U>(callbackfn: (value: T, key: string) => U): (data: Record<string, T>) => Record<string, U>;
82
185
  declare function map<T, U>(data: Record<string, T>, callbackfn: (value: T, key: string) => U): Record<string, U>;
83
186
  //#endregion
84
187
  //#region src/object/merge.d.ts
188
+ /**
189
+ * Merges two objects, with properties from the right object taking precedence.
190
+ *
191
+ * @example
192
+ * ```ts
193
+ * merge({ a: 1 }, { b: 2 }); // { a: 1, b: 2 }
194
+ * merge({ b: 3 })({ a: 1, b: 2 }); // { a: 1, b: 3 }
195
+ * ```
196
+ */
85
197
  declare function merge<Obj extends object, Other extends object>(right: Other): (left: Obj) => Merge<Obj, Other>;
86
198
  declare function merge<Obj extends object, Other extends object>(left: Obj, right: Other): Merge<Obj, Other>;
87
199
  declare namespace merge {
@@ -90,29 +202,77 @@ declare namespace merge {
90
202
  declare function mergeLeft<Obj extends object, Other extends object>(right: Other): (left: Obj) => Merge<Other, Obj>;
91
203
  declare function mergeLeft<Obj extends object, Other extends object>(left: Obj, right: Other): Merge<Other, Obj>;
92
204
  //#endregion
205
+ //#region src/object/mergeDeep.d.ts
206
+ /**
207
+ * Recursively merges two objects, with properties from the right object taking precedence.
208
+ *
209
+ * @example
210
+ * ```ts
211
+ * mergeDeep({ a: { x: 1 } }, { a: { y: 2 }, b: 3 }); // { a: { x: 1, y: 2 }, b: 3 }
212
+ * mergeDeep({ b: 3 })({ a: { x: 1 }, b: { y: 2 } }); // { a: { x: 1 }, b: 3 }
213
+ * ```
214
+ */
215
+ declare function mergeDeep<Left extends object, Right extends object>(right: Right): (left: Left) => MergeDeep<Left, Right>;
216
+ declare function mergeDeep<Left extends object, Right extends object>(left: Left, right: Right): MergeDeep<Left, Right>;
217
+ declare namespace mergeDeep {
218
+ var left: typeof mergeDeepLeft;
219
+ }
220
+ declare function mergeDeepLeft<Left extends object, Right extends object>(right: Right): (left: Left) => MergeDeep<Right, Left>;
221
+ declare function mergeDeepLeft<Left extends object, Right extends object>(left: Left, right: Right): MergeDeep<Right, Left>;
222
+ //#endregion
93
223
  //#region src/object/omit.d.ts
224
+ /**
225
+ * Creates a new object without the specified keys.
226
+ *
227
+ * @example
228
+ * ```ts
229
+ * omit(['b'], { a: 1, b: 2, c: 3 }); // { a: 1, c: 3 }
230
+ * omit(['b'])({ a: 1, b: 2, c: 3 }); // { a: 1, c: 3 }
231
+ * ```
232
+ */
94
233
  declare function omit<Obj extends Record<string, unknown>, Key extends keyof Obj>(keys: Iterable<Key>): (data: Obj) => Omit<Obj, Key>;
95
234
  declare function omit<Obj extends Record<string, unknown>, Key extends keyof Obj>(data: Obj, keys: Iterable<Key>): Omit<Obj, Key>;
96
235
  //#endregion
97
236
  //#region src/object/pick.d.ts
237
+ /**
238
+ * Creates a new object containing only the specified keys.
239
+ *
240
+ * @example
241
+ * ```ts
242
+ * pick(['a', 'c'], { a: 1, b: 2, c: 3 }); // { a: 1, c: 3 }
243
+ * pick(['a', 'c'])({ a: 1, b: 2, c: 3 }); // { a: 1, c: 3 }
244
+ * ```
245
+ */
98
246
  declare function pick<Obj extends Record<string, unknown>, Key extends keyof Obj>(keys: Iterable<Key>): (data: Obj) => Pick<Obj, Key>;
99
247
  declare function pick<Obj extends Record<string, unknown>, Key extends keyof Obj>(data: Obj, keys: Iterable<Key>): Pick<Obj, Key>;
100
248
  //#endregion
101
249
  //#region src/object/set.d.ts
102
250
  declare function setImplementation<Obj extends object, Key extends keyof Obj>(obj: Obj, key: Key, value: Obj[Key]): Obj;
251
+ /**
252
+ * Returns a new object with a single property updated.
253
+ *
254
+ * @example
255
+ * ```ts
256
+ * set('b', 2, { a: 1 }); // { a: 1, b: 2 }
257
+ * set('b', 2)({ a: 1 }); // { a: 1, b: 2 }
258
+ * ```
259
+ */
103
260
  declare function set<Obj extends object, Key extends keyof Obj>(key: Key, value: Obj[Key]): (obj: Obj) => Obj;
104
261
  declare function set<Obj extends object, Key extends keyof Obj>(obj: Obj, key: Key, value: Obj[Key]): Obj;
105
262
  //#endregion
106
263
  //#region src/object/upsert.d.ts
107
264
  /**
108
- * Upsert is meant to be used on `Record<K, V>` types that have unknown keys that may or may not exists
109
- * The callback function is unique in that it will return `V | null | undefined`
110
- * * `V` is returned if the key is present and a value exists
111
- * * `null` is returned if the key is present, but is set to `null` or `undefined`
112
- * * `undefined` is returned if the key is not present
265
+ * Updates or inserts a value in a record.
266
+ * The callback receives the current value, `null` when the key exists but is nullish, or `undefined` when the key is absent.
267
+ *
268
+ * @example
269
+ * ```ts
270
+ * upsert('a', v => (v ?? 0) + 1, { a: 1 }); // { a: 2 }
271
+ * upsert('b', () => 0)({ a: 1 }); // { a: 1, b: 0 }
272
+ * ```
113
273
  */
114
274
  declare function upsert<T>(key: string, fn: (value: T | null | undefined) => T): (data: Record<string, T>) => Record<string, T>;
115
275
  declare function upsert<T>(data: Record<string, T>, key: string, fn: (value: T | null | undefined) => T): Record<string, T>;
116
276
  //#endregion
117
- export { clone, entries, evolve, forEach, fromEntries, get, getAssert, groupBy, hasOwn, indexBy, is, keys, map, merge, mergeLeft, omit, pick, set, setImplementation, upsert, values };
277
+ export { clone, entries, evolve, forEach, fromEntries, get, groupBy, hasOwn, indexBy, is, keys, map, merge, mergeDeep, mergeLeft, omit, pick, set, setImplementation, upsert, values };
118
278
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/object/_globalAliases.ts","../../src/object/clone.ts","../../src/object/evolve.ts","../../src/object/forEach.ts","../../src/object/get.ts","../../src/object/groupBy.ts","../../src/object/indexBy.ts","../../src/object/map.ts","../../src/object/merge.ts","../../src/object/omit.ts","../../src/object/pick.ts","../../src/object/set.ts","../../src/object/upsert.ts"],"mappings":";;;;cACe,WAAA;IAAA;;;;cAAmB,CAAA,UAAA,CAAA,EAAA,WAAA,mBAAI,MAAA,OAAA,MAAA;IAAA;;;;;;;;;;;;;;;;cAUzB,OAAA;EAAA;;;;;;;;;;iBCRG,KAAA,IAAS,IAAA,EAAM,CAAA,GAAI,CAAC;;;KCC/B,OAAA,mDAA0D,OAAA,CAAQ,GAAA,KAAQ,KAAA,EAAO,GAAA,CAAI,CAAA,iCAC5E,GAAA,GAAM,GAAA,SAAY,MAAA,CAAO,CAAA,aACjC,OAAA,SAAgB,MAAA,CAAO,CAAA,GAAI,KAAA,EAAO,GAAA,CAAI,CAAA,iBACpC,CAAA,SAAU,CAAA,GACR,CAAA;AAAA,iBAwBM,MAAA,mDAAyD,OAAA,CAAQ,GAAA,KAAQ,KAAA,EAAO,GAAA,CAAI,CAAA,iBAClG,OAAA,EAAS,OAAA,IACP,GAAA,EAAK,GAAA,KAAQ,QAAA,CAAS,OAAA,CAAQ,GAAA,EAAK,OAAA;AAAA,iBACvB,MAAA,mDAAyD,OAAA,CAAQ,GAAA,KAAQ,KAAA,EAAO,GAAA,CAAI,CAAA,iBAClG,GAAA,EAAK,GAAA,EACL,OAAA,EAAS,OAAA,GACR,QAAA,CAAS,OAAA,CAAQ,GAAA,EAAK,OAAA;;;iBC1BT,OAAA,IAAW,UAAA,GAAa,KAAA,EAAO,CAAA,EAAG,GAAA,qBAAwB,IAAA,EAAM,MAAA,SAAe,CAAA,MAAO,MAAA,SAAe,CAAA;AAAA,iBACrG,OAAA,IAAW,IAAA,EAAM,MAAA,SAAe,CAAA,GAAI,UAAA,GAAa,KAAA,EAAO,CAAA,EAAG,GAAA,oBAAuB,MAAA,SAAe,CAAA;;;;;;AHZjH;;;;;;;;;iBIqBgB,GAAA,uCAA0C,GAAA,EACxD,GAAA,EAAK,GAAA,IACH,GAAA,EAAK,GAAA,KAAQ,WAAA,CAAY,GAAA,CAAI,GAAA,KAAQ,aAAA;AAAA,iBACzB,GAAA,uCAA0C,GAAA,EACxD,GAAA,EAAK,GAAA,EACL,GAAA,EAAK,GAAA,GACJ,WAAA,CAAY,GAAA,CAAI,GAAA,KAAQ,aAAA;AAAA,kBAHX,GAAA;EAAA,eAAG,KAAA;EAAA,mBAAA,SAAA;AAAA;AAAA,iBAgBV,KAAA,uCAA4C,GAAA,EACnD,GAAA,EAAK,GAAA,EACL,GAAA,EAAK,GAAA,EACL,YAAA,EAAc,WAAA,CAAY,GAAA,CAAI,GAAA,KAC7B,GAAA,CAAI,GAAA;AAAA,iBAWS,SAAA,uCAAgD,GAAA,EAAK,GAAA,EAAK,GAAA,IAAO,GAAA,EAAK,GAAA,KAAQ,WAAA,CAAY,GAAA,CAAI,GAAA;AAAA,iBAC9F,SAAA,uCAAgD,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,GAAA,GAAM,WAAA,CAAY,GAAA,CAAI,GAAA;;;iBChD1F,OAAA,IACd,WAAA,GAAc,IAAA,EAAM,CAAA,EAAG,KAAA,uBACrB,KAAA,EAAO,QAAA,CAAS,CAAA,MAAO,OAAA,CAAQ,MAAA,SAAe,CAAA;AAAA,iBAClC,OAAA,IACd,KAAA,EAAO,QAAA,CAAS,CAAA,GAChB,WAAA,GAAc,IAAA,EAAM,CAAA,EAAG,KAAA,sBACtB,OAAA,CAAQ,MAAA,SAAe,CAAA;;;iBCCV,OAAA,IAAW,WAAA,GAAc,IAAA,EAAM,CAAA,EAAG,KAAA,uBAA4B,IAAA,EAAM,QAAA,CAAS,CAAA,MAAO,MAAA,SAAe,CAAA;AAAA,iBACnG,OAAA,IAAW,IAAA,EAAM,QAAA,CAAS,CAAA,GAAI,WAAA,GAAc,IAAA,EAAM,CAAA,EAAG,KAAA,sBAA2B,MAAA,SAAe,CAAA;;;iBCJ/F,GAAA,OAAU,UAAA,GAAa,KAAA,EAAO,CAAA,EAAG,GAAA,aAAgB,CAAA,IAAK,IAAA,EAAM,MAAA,SAAe,CAAA,MAAO,MAAA,SAAe,CAAA;AAAA,iBACjG,GAAA,OAAU,IAAA,EAAM,MAAA,SAAe,CAAA,GAAI,UAAA,GAAa,KAAA,EAAO,CAAA,EAAG,GAAA,aAAgB,CAAA,GAAI,MAAA,SAAe,CAAA;;;iBCN7F,KAAA,2CAAgD,KAAA,EAAO,KAAA,IAAS,IAAA,EAAM,GAAA,KAAQ,KAAA,CAAM,GAAA,EAAK,KAAA;AAAA,iBACzF,KAAA,2CAAgD,IAAA,EAAM,GAAA,EAAK,KAAA,EAAO,KAAA,GAAQ,KAAA,CAAM,GAAA,EAAK,KAAA;AAAA,kBAArF,KAAA;EAAA,iBAAK,SAAA;AAAA;AAAA,iBASL,SAAA,2CAAoD,KAAA,EAAO,KAAA,IAAS,IAAA,EAAM,GAAA,KAAQ,KAAA,CAAM,KAAA,EAAO,GAAA;AAAA,iBAC/F,SAAA,2CAAoD,IAAA,EAAM,GAAA,EAAK,KAAA,EAAO,KAAA,GAAQ,KAAA,CAAM,KAAA,EAAO,GAAA;;;iBCJ3F,IAAA,aAAiB,MAAA,qCAA2C,GAAA,EAC1E,IAAA,EAAM,QAAA,CAAS,GAAA,KACb,IAAA,EAAM,GAAA,KAAQ,IAAA,CAAK,GAAA,EAAK,GAAA;AAAA,iBACZ,IAAA,aAAiB,MAAA,qCAA2C,GAAA,EAC1E,IAAA,EAAM,GAAA,EACN,IAAA,EAAM,QAAA,CAAS,GAAA,IACd,IAAA,CAAK,GAAA,EAAK,GAAA;;;iBCNG,IAAA,aAAiB,MAAA,qCAA2C,GAAA,EAC1E,IAAA,EAAM,QAAA,CAAS,GAAA,KACb,IAAA,EAAM,GAAA,KAAQ,IAAA,CAAK,GAAA,EAAK,GAAA;AAAA,iBACZ,IAAA,aAAiB,MAAA,qCAA2C,GAAA,EAC1E,IAAA,EAAM,GAAA,EACN,IAAA,EAAM,QAAA,CAAS,GAAA,IACd,IAAA,CAAK,GAAA,EAAK,GAAA;;;iBCnBG,iBAAA,uCAAwD,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,KAAA,EAAO,GAAA,CAAI,GAAA,IAAO,GAAA;AAAA,iBAInG,GAAA,uCAA0C,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,KAAA,EAAO,GAAA,CAAI,GAAA,KAAQ,GAAA,EAAK,GAAA,KAAQ,GAAA;AAAA,iBACzF,GAAA,uCAA0C,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,KAAA,EAAO,GAAA,CAAI,GAAA,IAAO,GAAA;;;;;;;AXNrG;;;iBY8BgB,MAAA,IACd,GAAA,UACA,EAAA,GAAK,KAAA,EAAO,CAAA,wBAAyB,CAAA,IACnC,IAAA,EAAM,MAAA,SAAe,CAAA,MAAO,MAAA,SAAe,CAAA;AAAA,iBAC/B,MAAA,IACd,IAAA,EAAM,MAAA,SAAe,CAAA,GACrB,GAAA,UACA,EAAA,GAAK,KAAA,EAAO,CAAA,wBAAyB,CAAA,GACpC,MAAA,SAAe,CAAA"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/object/_globalAliases.ts","../../src/object/clone.ts","../../src/object/evolve.ts","../../src/object/forEach.ts","../../src/object/get.ts","../../src/object/groupBy.ts","../../src/object/indexBy.ts","../../src/object/map.ts","../../src/object/merge.ts","../../src/object/mergeDeep.ts","../../src/object/omit.ts","../../src/object/pick.ts","../../src/object/set.ts","../../src/object/upsert.ts"],"mappings":"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"}