{"version":3,"file":"each-prop.mjs","sources":["../src/errors.ts","../src/create.ts","../src/has-own.ts","../src/is-object.ts","../src/wrap-callback.ts","../src/every.ts","../src/fill.ts","../src/filter.ts","../src/find.ts","../src/find-key.ts","../src/for-each.ts","../src/key-of.ts","../src/includes.ts","../src/last-key-of.ts","../src/map.ts","../src/reduce.ts","../src/some.ts"],"sourcesContent":["import { Anything } from './types';\r\n\r\nfunction createErrorFactory<T extends (...args: Anything[]) => TypeError>(template: string): T {\r\n  return function (): TypeError {\r\n    // eslint-disable-next-line prefer-rest-params\r\n    const args = arguments as ArrayLike<unknown>;\r\n    return new TypeError(template.replace(/\\$(\\d+)/g, (_, i: string) => {\r\n      // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\r\n      return `${args[+i]}`;\r\n    }));\r\n  } as T;\r\n}\r\n\r\nexport const notEnoughArgs = createErrorFactory<(count: number, expected: number) => TypeError>('expected $1 arguments, got $0.');\r\nexport const invalidObject = createErrorFactory<(object: unknown) => TypeError>('$0 is not an object.');\r\nexport const invalidCallback = createErrorFactory<(callback: unknown) => TypeError>('$0 is not a function.');\r\nexport const invalidArray = createErrorFactory<(object: unknown) => TypeError>('$0 is not an array.');\r\n","import { invalidArray } from './errors';\r\nimport { Key } from './types';\r\n\r\nexport function create<V, K extends Key>(keys: K[], value: V): Record<K, V>;\r\nexport function create<K extends Key>(keys: K[], value?: undefined): Record<K, undefined>;\r\nexport function create<V, K extends Key>(keys: K[], value?: V): Record<K, V | undefined> {\r\n\r\n  if (!Array.isArray(keys)) {\r\n    throw invalidArray(keys);\r\n  }\r\n\r\n  const result: Record<Key, V | undefined> = {};\r\n  for (const key of keys) {\r\n    result[key] = value;\r\n  }\r\n  return result;\r\n}\r\n","// eslint-disable-next-line @typescript-eslint/unbound-method\r\nconst hasOwn = {}.hasOwnProperty;\r\nexport default hasOwn;\r\n","import { Anything, Key } from './types';\r\n\r\nfunction isObject<K extends Key = Key, V = Anything>(param: unknown): param is Record<K, V> {\r\n  return !!param && typeof param === 'object';\r\n}\r\n\r\nexport default isObject;\r\n","import toArray from 'args-to-arr';\r\nimport isFunction from 'is-function';\r\nimport { invalidCallback } from './errors';\r\nimport { Anything, Extra, FilterCallback, ImmutableObject, Key, MapCallback, ReduceCallback, WrappedFilterCallback, WrappedReduceCallback } from './types';\r\n\r\nexport function wrapFilterCallback<V, K extends Key, E extends Extra, TH = Anything, R = Anything>(\r\n  callback: FilterCallback<V, K, E, TH>,\r\n  thisArg: TH,\r\n  object: ImmutableObject<K, V>,\r\n  args: IArguments,\r\n  argsLen: number,\r\n): WrappedFilterCallback<K, R> {\r\n\r\n  if (!isFunction(callback)) {\r\n    throw invalidCallback(callback);\r\n  }\r\n\r\n  if (argsLen === 2) {\r\n    return (key: K): R => (callback as MapCallback<V, K, E, TH, R>).call<TH, Anything, R>(\r\n      thisArg,\r\n      object[key],\r\n      key,\r\n    );\r\n  }\r\n\r\n  if (argsLen === 3) {\r\n    const extra = args[2] as never;\r\n    return (key: K): R => (callback as MapCallback<V, K, E, TH, R>).call<TH, Anything, R>(\r\n      thisArg,\r\n      object[key],\r\n      key,\r\n      extra,\r\n    );\r\n  }\r\n\r\n  const extra = toArray(args, 2) as E;\r\n\r\n  return (key: K): R => (callback as MapCallback<V, K, E, TH, R>).call<TH, Anything, R>(\r\n    thisArg,\r\n    object[key],\r\n    key,\r\n    ...extra,\r\n  );\r\n\r\n}\r\n\r\nexport function wrapReduceCallback<V, K extends Key, E extends Extra, R = Anything, TH = Anything>(\r\n  callback: ReduceCallback<V, K, E, TH, R>,\r\n  thisArg: TH,\r\n  object: ImmutableObject<K, V>,\r\n  args: IArguments,\r\n  argsLen: number,\r\n): WrappedReduceCallback<K, R> {\r\n\r\n  if (!isFunction(callback)) {\r\n    throw invalidCallback(callback);\r\n  }\r\n\r\n  if (argsLen === 3) {\r\n    return (key: K, result: R | undefined): R => callback.call<TH, Anything, R>(\r\n      thisArg,\r\n      result,\r\n      object[key],\r\n      key,\r\n    );\r\n  }\r\n\r\n  if (argsLen === 4) {\r\n    const extra = args[3] as never;\r\n    return (key: K, result: R | undefined): R => callback.call<TH, Anything, R>(\r\n      thisArg,\r\n      result,\r\n      object[key],\r\n      key,\r\n      extra,\r\n    );\r\n  }\r\n\r\n  const extra = toArray(args, 3) as E;\r\n\r\n  return (key: K, result: R | undefined): R => callback.call<TH, Anything, R>(\r\n    thisArg,\r\n    result,\r\n    object[key],\r\n    key,\r\n    ...extra,\r\n  );\r\n\r\n}\r\n","import { invalidObject, notEnoughArgs } from './errors';\r\nimport hasOwn from './has-own';\r\nimport isObject from './is-object';\r\nimport { Anything, Extra, FilterCallback, ImmutableObject, Key } from './types';\r\nimport { wrapFilterCallback } from './wrap-callback';\r\n\r\nfunction every<V, K extends Key, E extends Extra, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: FilterCallback<V, K, E, TH>,\r\n  ...extra: E\r\n): boolean;\r\n\r\nfunction every<V, K extends Key, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: FilterCallback<V, K, Extra, TH>,\r\n  ...extra: Extra\r\n): boolean;\r\n\r\nfunction every<V, K extends Key, E extends Extra, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: FilterCallback<V, K, E, TH>,\r\n): boolean {\r\n\r\n  // eslint-disable-next-line prefer-rest-params\r\n  const args = arguments;\r\n  const argsLen = args.length;\r\n\r\n  if (argsLen < 2) {\r\n    throw notEnoughArgs(argsLen, 2);\r\n  }\r\n\r\n  if (!isObject(object)) {\r\n    throw invalidObject(object);\r\n  }\r\n\r\n  const wrapped = wrapFilterCallback<V, K, E, TH, Anything>(\r\n    callback,\r\n    this,\r\n    object,\r\n    args,\r\n    argsLen,\r\n  );\r\n\r\n  for (const key in object) {\r\n    if (\r\n      hasOwn.call(object, key) &&\r\n      !wrapped(key)\r\n    ) {\r\n      return false;\r\n    }\r\n  }\r\n\r\n  return true;\r\n\r\n}\r\n\r\nexport default every;\r\n","import { invalidObject, notEnoughArgs } from './errors';\r\nimport hasOwn from './has-own';\r\nimport isObject from './is-object';\r\nimport { Anything, ImmutableObject, Key } from './types';\r\n\r\nfunction fill<V, K extends Key, RV = Anything>(\r\n  object: ImmutableObject<K, V>,\r\n  value: RV,\r\n): Record<K, RV> {\r\n\r\n  // eslint-disable-next-line prefer-rest-params\r\n  const { length: argsLen } = arguments;\r\n\r\n  if (argsLen < 2) {\r\n    throw notEnoughArgs(argsLen, 2);\r\n  }\r\n\r\n  if (!isObject(object)) {\r\n    throw invalidObject(object);\r\n  }\r\n\r\n  const result: Record<Key, RV> = {};\r\n\r\n  for (const key in object) {\r\n    if (hasOwn.call(object, key)) {\r\n      result[key as Key] = value;\r\n    }\r\n  }\r\n\r\n  return result;\r\n\r\n}\r\n\r\nexport default fill;\r\n","import { invalidObject, notEnoughArgs } from './errors';\r\nimport hasOwn from './has-own';\r\nimport isObject from './is-object';\r\nimport { Anything, Extra, FilterCallback, ImmutableObject, Key } from './types';\r\nimport { wrapFilterCallback } from './wrap-callback';\r\n\r\nfunction filter<V, K extends Key, E extends Extra, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: FilterCallback<V, K, E, TH>,\r\n  ...extra: E\r\n): Record<K, V>;\r\n\r\nfunction filter<V, K extends Key, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: FilterCallback<V, K, Extra, TH>,\r\n  ...extra: Extra\r\n): Record<K, V>;\r\n\r\nfunction filter<V, K extends Key, E extends Extra, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: FilterCallback<V, K, E, TH>,\r\n): Record<K, V> {\r\n\r\n  // eslint-disable-next-line prefer-rest-params\r\n  const args = arguments;\r\n  const argsLen = args.length;\r\n\r\n  if (argsLen < 2) {\r\n    throw notEnoughArgs(argsLen, 2);\r\n  }\r\n\r\n  if (!isObject(object)) {\r\n    throw invalidObject(object);\r\n  }\r\n\r\n  const wrapped = wrapFilterCallback<V, K, E, TH, Anything>(\r\n    callback,\r\n    this,\r\n    object,\r\n    args,\r\n    argsLen,\r\n  );\r\n\r\n  const result: Record<Key, Anything> = {};\r\n\r\n  for (const key in object) {\r\n    if (\r\n      hasOwn.call(object, key) &&\r\n      wrapped(key)\r\n    ) {\r\n      result[key] = object[key];\r\n    }\r\n  }\r\n\r\n  return result;\r\n\r\n}\r\n\r\nexport default filter;\r\n","import { invalidObject, notEnoughArgs } from './errors';\r\nimport hasOwn from './has-own';\r\nimport isObject from './is-object';\r\nimport { Anything, Extra, FilterCallback, ImmutableObject, Key } from './types';\r\nimport { wrapFilterCallback } from './wrap-callback';\r\n\r\nfunction find<V, K extends Key, E extends Extra, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: FilterCallback<V, K, E, TH>,\r\n  ...extra: E\r\n): V | void;\r\n\r\nfunction find<V, K extends Key, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: FilterCallback<V, K, Extra, TH>,\r\n  ...extra: Extra\r\n): V | void;\r\n\r\nfunction find<V, K extends Key, E extends Extra, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: FilterCallback<V, K, E, TH>,\r\n): V | void {\r\n\r\n  // eslint-disable-next-line prefer-rest-params\r\n  const args = arguments;\r\n  const argsLen = args.length;\r\n\r\n  if (argsLen < 2) {\r\n    throw notEnoughArgs(argsLen, 2);\r\n  }\r\n\r\n  if (!isObject(object)) {\r\n    throw invalidObject(object);\r\n  }\r\n\r\n  const wrapped = wrapFilterCallback<V, K, E, TH, Anything>(\r\n    callback,\r\n    this,\r\n    object,\r\n    args,\r\n    argsLen,\r\n  );\r\n\r\n  for (const key in object) {\r\n    if (\r\n      hasOwn.call(object, key) &&\r\n      wrapped(key)\r\n    ) {\r\n      return object[key];\r\n    }\r\n  }\r\n\r\n}\r\n\r\nexport default find;\r\n","import { invalidObject, notEnoughArgs } from './errors';\r\nimport hasOwn from './has-own';\r\nimport isObject from './is-object';\r\nimport { Anything, Extra, FilterCallback, ImmutableObject, Key } from './types';\r\nimport { wrapFilterCallback } from './wrap-callback';\r\n\r\nfunction findKey<V, K extends Key, E extends Extra, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: FilterCallback<V, K, E, TH>,\r\n  ...extra: E\r\n): K | null;\r\n\r\nfunction findKey<V, K extends Key, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: FilterCallback<V, K, Extra, TH>,\r\n  ...extra: Extra\r\n): K | null;\r\n\r\nfunction findKey<V, K extends Key, E extends Extra, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: FilterCallback<V, K, E, TH>,\r\n): K | null {\r\n\r\n  // eslint-disable-next-line prefer-rest-params\r\n  const args = arguments;\r\n  const argsLen = args.length;\r\n\r\n  if (argsLen < 2) {\r\n    throw notEnoughArgs(argsLen, 2);\r\n  }\r\n\r\n  if (!isObject(object)) {\r\n    throw invalidObject(object);\r\n  }\r\n\r\n  const wrapped = wrapFilterCallback<V, K, E, TH, Anything>(\r\n    callback,\r\n    this,\r\n    object,\r\n    args,\r\n    argsLen,\r\n  );\r\n\r\n  for (const key in object) {\r\n    if (\r\n      hasOwn.call(object, key) &&\r\n      wrapped(key)\r\n    ) {\r\n      return key;\r\n    }\r\n  }\r\n\r\n  return null;\r\n\r\n}\r\n\r\nexport default findKey;\r\n","import { invalidObject, notEnoughArgs } from './errors';\r\nimport hasOwn from './has-own';\r\nimport isObject from './is-object';\r\nimport { Anything, Extra, ForEachCallback, ImmutableObject, Key } from './types';\r\nimport { wrapFilterCallback } from './wrap-callback';\r\n\r\nfunction forEach<V, K extends Key, E extends Extra, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: ForEachCallback<V, K, E, TH>,\r\n  ...extra: E\r\n): void;\r\n\r\nfunction forEach<V, K extends Key, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: ForEachCallback<V, K, Extra, TH>,\r\n  ...extra: Extra\r\n): void;\r\n\r\nfunction forEach<V, K extends Key, E extends Extra, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: ForEachCallback<V, K, E, TH>,\r\n): void {\r\n\r\n  // eslint-disable-next-line prefer-rest-params\r\n  const args = arguments;\r\n  const argsLen = args.length;\r\n\r\n  if (argsLen < 2) {\r\n    throw notEnoughArgs(argsLen, 2);\r\n  }\r\n\r\n  if (!isObject(object)) {\r\n    throw invalidObject(object);\r\n  }\r\n\r\n  const wrapped = wrapFilterCallback<V, K, E, TH, void>(\r\n    callback,\r\n    this,\r\n    object,\r\n    args,\r\n    argsLen,\r\n  );\r\n\r\n  for (const key in object) {\r\n    if (hasOwn.call(object, key)) {\r\n      wrapped(key);\r\n    }\r\n  }\r\n\r\n}\r\n\r\nexport default forEach;\r\n","import { invalidObject, notEnoughArgs } from './errors';\r\nimport hasOwn from './has-own';\r\nimport isObject from './is-object';\r\nimport { Anything, ImmutableObject, Key } from './types';\r\n\r\nfunction keyOf<K extends Key>(object: ImmutableObject<K, Anything>, value: Anything): K | null {\r\n\r\n  const argsLen = arguments.length;\r\n\r\n  if (argsLen < 2) {\r\n    throw notEnoughArgs(argsLen, 2);\r\n  }\r\n\r\n  if (!isObject(object)) {\r\n    throw invalidObject(object);\r\n  }\r\n\r\n  for (const key in object) {\r\n    if (\r\n      hasOwn.call(object, key) &&\r\n      object[key] === value\r\n    ) {\r\n      return key as K;\r\n    }\r\n  }\r\n\r\n  return null;\r\n\r\n}\r\n\r\nexport default keyOf;\r\n","import keyOf from './key-of';\r\nimport { Anything, ImmutableObject, Key } from './types';\r\n\r\nfunction includes(object: ImmutableObject<Key, Anything>, value: Anything): boolean {\r\n  return keyOf(object, value) !== null;\r\n}\r\n\r\nexport default includes;\r\n","import { invalidObject, notEnoughArgs } from './errors';\r\nimport hasOwn from './has-own';\r\nimport isObject from './is-object';\r\nimport { Anything, ImmutableObject, Key } from './types';\r\n\r\nfunction lastKeyOf<K extends Key>(object: ImmutableObject<K, Anything>, value: Anything): K | null {\r\n\r\n  const argsLen = arguments.length;\r\n\r\n  if (argsLen < 2) {\r\n    throw notEnoughArgs(argsLen, 2);\r\n  }\r\n\r\n  if (!isObject(object)) {\r\n    throw invalidObject(object);\r\n  }\r\n\r\n  let result: K | null = null;\r\n\r\n  for (const key in object) {\r\n    if (\r\n      hasOwn.call(object, key) &&\r\n      object[key] === value\r\n    ) {\r\n      result = key as K;\r\n    }\r\n  }\r\n\r\n  return result;\r\n\r\n}\r\n\r\nexport default lastKeyOf;\r\n","import { invalidObject, notEnoughArgs } from './errors';\r\nimport hasOwn from './has-own';\r\nimport isObject from './is-object';\r\nimport { Anything, Extra, Key, MapCallback } from './types';\r\nimport { wrapFilterCallback } from './wrap-callback';\r\n\r\nfunction map<V, K extends Key, E extends Extra, RV = Anything, TH = Anything>(\r\n  this: TH,\r\n  object: Record<K, V>,\r\n  callback: MapCallback<V, K, E, TH, RV>,\r\n  ...extra: E\r\n): Record<K, RV>;\r\n\r\nfunction map<V, K extends Key, RV = Anything, TH = Anything>(\r\n  this: TH,\r\n  object: Record<K, V>,\r\n  callback: MapCallback<V, K, Extra, TH, RV>,\r\n  ...extra: Extra\r\n): Record<K, RV>;\r\n\r\nfunction map<V, K extends Key, E extends Extra, RV = Anything, TH = Anything>(\r\n  this: TH,\r\n  object: Record<K, V>,\r\n  callback: MapCallback<V, K, E, TH, RV>,\r\n): Record<K, RV> {\r\n\r\n  // eslint-disable-next-line prefer-rest-params\r\n  const args = arguments;\r\n  const argsLen = args.length;\r\n\r\n  if (argsLen < 2) {\r\n    throw notEnoughArgs(argsLen, 2);\r\n  }\r\n\r\n  if (!isObject(object)) {\r\n    throw invalidObject(object);\r\n  }\r\n\r\n  const wrapped = wrapFilterCallback<V, K, E, TH, RV>(\r\n    callback,\r\n    this,\r\n    object,\r\n    args,\r\n    argsLen,\r\n  );\r\n\r\n  const result: Record<Key, RV> = {};\r\n\r\n  for (const key in object) {\r\n    if (hasOwn.call(object, key)) {\r\n      result[key as Key] = wrapped(key);\r\n    }\r\n  }\r\n\r\n  return result;\r\n\r\n}\r\n\r\nexport default map;\r\n","import { invalidObject, notEnoughArgs } from './errors';\r\nimport hasOwn from './has-own';\r\nimport isObject from './is-object';\r\nimport { Anything, Extra, ImmutableObject, Key, ReduceCallback } from './types';\r\nimport { wrapReduceCallback } from './wrap-callback';\r\n\r\nfunction reduce<V, K extends Key, E extends Extra, R = Anything, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: ReduceCallback<V, K, E, TH, R>,\r\n  initial: R,\r\n  ...extra: E\r\n): R;\r\n\r\nfunction reduce<V, K extends Key, R = Anything, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: ReduceCallback<V, K, Extra, TH, R>,\r\n  initial: R,\r\n  ...extra: Extra\r\n): R;\r\n\r\nfunction reduce<V, K extends Key, E extends Extra, R = Anything, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: ReduceCallback<V, K, E, TH, R>,\r\n  initial?: R,\r\n  ...extra: E\r\n): R | undefined;\r\n\r\nfunction reduce<V, K extends Key, R = Anything, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: ReduceCallback<V, K, Extra, TH, R>,\r\n  initial?: R,\r\n  ...extra: Extra\r\n): R | undefined;\r\n\r\nfunction reduce<V, K extends Key, E extends Extra, R = Anything, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: ReduceCallback<V, K, E, TH, R>,\r\n  initial?: R,\r\n): R | undefined {\r\n\r\n  // eslint-disable-next-line prefer-rest-params\r\n  const args = arguments;\r\n  const argsLen = args.length;\r\n\r\n  if (argsLen < 2) {\r\n    throw notEnoughArgs(argsLen, 2);\r\n  }\r\n\r\n  if (!isObject(object)) {\r\n    throw invalidObject(object);\r\n  }\r\n\r\n  const wrapped = wrapReduceCallback<V, K, E, R, TH>(\r\n    callback,\r\n    this,\r\n    object,\r\n    args,\r\n    argsLen,\r\n  );\r\n\r\n  let result = initial;\r\n\r\n  for (const key in object) {\r\n    if (hasOwn.call(object, key)) {\r\n      result = wrapped(key, result);\r\n    }\r\n  }\r\n\r\n  return result;\r\n\r\n}\r\n\r\nexport default reduce;\r\n","import { invalidObject, notEnoughArgs } from './errors';\r\nimport hasOwn from './has-own';\r\nimport isObject from './is-object';\r\nimport { Anything, Extra, FilterCallback, ImmutableObject, Key } from './types';\r\nimport { wrapFilterCallback } from './wrap-callback';\r\n\r\nfunction some<V, K extends Key, E extends Extra, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: FilterCallback<V, K, E, TH>,\r\n  ...extra: E\r\n): boolean;\r\n\r\nfunction some<V, K extends Key, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: FilterCallback<V, K, Extra, TH>,\r\n  ...extra: Extra\r\n): boolean;\r\n\r\nfunction some<V, K extends Key, E extends Extra, TH = Anything>(\r\n  this: TH,\r\n  object: ImmutableObject<K, V>,\r\n  callback: FilterCallback<V, K, E, TH>,\r\n): boolean {\r\n\r\n  // eslint-disable-next-line prefer-rest-params\r\n  const args = arguments;\r\n  const argsLen = args.length;\r\n\r\n  if (argsLen < 2) {\r\n    throw notEnoughArgs(argsLen, 2);\r\n  }\r\n\r\n  if (!isObject(object)) {\r\n    throw invalidObject(object);\r\n  }\r\n\r\n  const wrapped = wrapFilterCallback<V, K, E, TH, Anything>(\r\n    callback,\r\n    this,\r\n    object,\r\n    args,\r\n    argsLen,\r\n  );\r\n\r\n  for (const key in object) {\r\n    if (\r\n      hasOwn.call(object, key) &&\r\n      wrapped(key)\r\n    ) {\r\n      return true;\r\n    }\r\n  }\r\n\r\n  return false;\r\n\r\n}\r\n\r\nexport default some;\r\n"],"names":["createErrorFactory","template","args","arguments","TypeError","replace","_","i","notEnoughArgs","invalidObject","invalidCallback","invalidArray","create","keys","value","Array","isArray","result","key","hasOwn","hasOwnProperty","isObject","param","wrapFilterCallback","callback","thisArg","object","argsLen","isFunction","call","extra","toArray","wrapReduceCallback","every","length","wrapped","fill","filter","find","findKey","forEach","keyOf","includes","lastKeyOf","map","reduce","initial","some"],"mappings":"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"}