{"version":3,"sources":["../../src/functions/isArray/isArray.ts","../../src/functions/castArray/castArrayIfDefined.ts","../../src/functions/castArray/castArray.ts"],"names":[],"mappings":";AAMO,IAAM,UAAmB,MAAM;;;ACwB/B,SAAS,mBACd,OAGA;AACA,MAAI,SAAS,MAAM;AACjB,WAAO;AAAA,EACT;AAEA,MAAI,QAAQ,KAAK,GAAG;AAClB,WAAO;AAAA,EACT;AAEA,SAAO,CAAC,KAAK;AACf;;;ACnCO,SAAS,UACd,OAGA;AACA,SAAO,mBAAmB,SAAS,CAAC,CAAC;AACvC","sourcesContent":["import { Many } from '../../types';\n\n/**\n * The same as `Array.isArray` but with a better type guard.\n */\n// eslint-disable-next-line prefer-destructuring\nexport const isArray: IsArray = Array.isArray;\n\ninterface IsArray {\n  <T>(value: Many<T>): value is readonly T[];\n  <T>(value: unknown): value is readonly T[];\n}\n","import { Many, Maybe } from '../../types';\nimport { isArray } from '../isArray';\n\n/**\n * Converts the given value to an array if it's not already one, or returns an value as-is if it's not defined (i.e. `null` or `undefined`).\n * @note If the value is already an array, it is returned as-is (same reference).\n *\n * @example\n * ```ts\n * // Returns `[1, 2, 3]`\n * castArrayIfDefined([1, 2, 3])\n *\n * // Returns `[42]`\n * castArrayIfDefined(42)\n *\n * // Returns `null`\n * castArrayIfDefined(null)\n *\n * // Returns `undefined`\n * castArrayIfDefined(undefined)\n * ```\n */\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function castArrayIfDefined<T>(value: null): null;\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function castArrayIfDefined<T>(value: undefined): undefined;\nexport function castArrayIfDefined<T>(value: readonly T[]): readonly T[];\nexport function castArrayIfDefined<T>(value: T[]): T[];\nexport function castArrayIfDefined<T>(value: NonNullable<T>): T[];\nexport function castArrayIfDefined<T>(\n  value: Maybe<\n    Many<NonNullable<T>, 'mutable'> | Many<NonNullable<T>, 'immutable'>\n  >\n) {\n  if (value == null) {\n    return value;\n  }\n\n  if (isArray(value)) {\n    return value;\n  }\n\n  return [value];\n}\n","import { Many, Maybe } from '../../types';\n\nimport { castArrayIfDefined } from './castArrayIfDefined';\n\nexport function castArray<T>(value: null): T[];\nexport function castArray<T>(value: undefined): T[];\nexport function castArray<T>(value: readonly T[]): readonly T[];\nexport function castArray<T>(value: T[]): T[];\nexport function castArray<T>(value: NonNullable<T>): T[];\nexport function castArray<T>(\n  value: Maybe<\n    Many<NonNullable<T>, 'mutable'> | Many<NonNullable<T>, 'immutable'>\n  >\n) {\n  return castArrayIfDefined(value ?? []);\n}\n"]}