chaite
Version:
core for chatgpt-plugin and karin-plugin-chatgpt
54 lines (52 loc) • 1.52 kB
JavaScript
import { t as __commonJS } from "../../rolldown-runtime-DVriDoez.mjs";
//#region node_modules/.pnpm/array-flatten@1.1.1/node_modules/array-flatten/array-flatten.js
var require_array_flatten = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/array-flatten@1.1.1/node_modules/array-flatten/array-flatten.js": ((exports, module) => {
/**
* Expose `arrayFlatten`.
*/
module.exports = arrayFlatten;
/**
* Recursive flatten function with depth.
*
* @param {Array} array
* @param {Array} result
* @param {Number} depth
* @return {Array}
*/
function flattenWithDepth(array, result, depth) {
for (var i = 0; i < array.length; i++) {
var value = array[i];
if (depth > 0 && Array.isArray(value)) flattenWithDepth(value, result, depth - 1);
else result.push(value);
}
return result;
}
/**
* Recursive flatten function. Omitting depth is slightly faster.
*
* @param {Array} array
* @param {Array} result
* @return {Array}
*/
function flattenForever(array, result) {
for (var i = 0; i < array.length; i++) {
var value = array[i];
if (Array.isArray(value)) flattenForever(value, result);
else result.push(value);
}
return result;
}
/**
* Flatten an array, with the ability to define a depth.
*
* @param {Array} array
* @param {Number} depth
* @return {Array}
*/
function arrayFlatten(array, depth) {
if (depth == null) return flattenForever(array, []);
return flattenWithDepth(array, [], depth);
}
}) });
//#endregion
export { require_array_flatten as t };