Add settings page for managing forecasting API key and URL via UI
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
cae411eae7
commit
1c411e402e
19809 changed files with 1962608 additions and 97 deletions
52
frontend/node_modules/es-toolkit/dist/object/flattenObject.js
generated
vendored
Normal file
52
frontend/node_modules/es-toolkit/dist/object/flattenObject.js
generated
vendored
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
const require_isPlainObject = require("../predicate/isPlainObject.js");
|
||||
//#region src/object/flattenObject.ts
|
||||
/**
|
||||
* Flattens a nested object into a single level object with delimiter-separated keys.
|
||||
*
|
||||
* @param object - The object to flatten.
|
||||
* @param [options.delimiter='.'] - The delimiter to use between nested keys.
|
||||
* @returns The flattened object.
|
||||
*
|
||||
* @example
|
||||
* const nestedObject = {
|
||||
* a: {
|
||||
* b: {
|
||||
* c: 1
|
||||
* }
|
||||
* },
|
||||
* d: [2, 3]
|
||||
* };
|
||||
*
|
||||
* const flattened = flattenObject(nestedObject);
|
||||
* console.log(flattened);
|
||||
* // Output:
|
||||
* // {
|
||||
* // 'a.b.c': 1,
|
||||
* // 'd.0': 2,
|
||||
* // 'd.1': 3
|
||||
* // }
|
||||
*/
|
||||
function flattenObject(object, { delimiter = "." } = {}) {
|
||||
return flattenObjectImpl(object, "", delimiter);
|
||||
}
|
||||
function flattenObjectImpl(object, prefix, delimiter) {
|
||||
const result = {};
|
||||
const keys = Object.keys(object);
|
||||
for (let i = 0; i < keys.length; i++) {
|
||||
const key = keys[i];
|
||||
const value = object[key];
|
||||
const prefixedKey = prefix ? `${prefix}${delimiter}${key}` : key;
|
||||
if (require_isPlainObject.isPlainObject(value) && Object.keys(value).length > 0) {
|
||||
Object.assign(result, flattenObjectImpl(value, prefixedKey, delimiter));
|
||||
continue;
|
||||
}
|
||||
if (Array.isArray(value) && value.length > 0) {
|
||||
Object.assign(result, flattenObjectImpl(value, prefixedKey, delimiter));
|
||||
continue;
|
||||
}
|
||||
result[prefixedKey] = value;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
//#endregion
|
||||
exports.flattenObject = flattenObject;
|
||||
Loading…
Add table
Add a link
Reference in a new issue