{"version":3,"sources":["jsdelivr-header.js","/npm/array-flatten@3.0.0/src/index.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,aCWA,SAAgB,QAAkC,GAChD,IAAM,EAAuB,GAE7B,OADA,SAAY,EAAO,GACZ,CACT,CAKA,SAAS,SACP,EACA,GAEA,IAAK,IAAI,EAAI,EAAG,EAAI,EAAM,OAAQ,IAAK,CACrC,IAAM,EAAQ,EAAM,GAEhB,MAAM,QAAQ,GAChB,SAAS,EAAc,GAEvB,EAAO,KAAK,E,CAGlB,C,uDAtBA,QAAA","file":"/npm/array-flatten@3.0.0/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/array-flatten@3.0.0/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/**\n * Pick the value from an array.\n */\nexport type PickValue<T> = T extends ReadonlyArray<any>\n  ? {\n      [K in Extract<keyof T, number>]: PickValue<T[K]>;\n    }[number]\n  : T;\n\n/**\n * Flatten an `ArrayLike` object in TypeScript.\n */\nexport type FlatArray<T extends ArrayLike<any>> = Array<PickValue<T[number]>>;\n\n/**\n * Flatten an array indefinitely.\n */\nexport function flatten<T extends ArrayLike<any>>(array: T): FlatArray<T> {\n  const result: FlatArray<T> = [];\n  $flatten<T>(array, result);\n  return result;\n}\n\n/**\n * Internal flatten function recursively passes `result`.\n */\nfunction $flatten<T extends ArrayLike<any>>(\n  array: T,\n  result: FlatArray<T>\n): void {\n  for (let i = 0; i < array.length; i++) {\n    const value = array[i];\n\n    if (Array.isArray(value)) {\n      $flatten(value as any, result);\n    } else {\n      result.push(value);\n    }\n  }\n}\n"]}