*Add missing files
This commit is contained in:
parent
9095cd5b5a
commit
1174999864
|
@ -0,0 +1,2 @@
|
|||
export declare function flatten(target: any, opts?: any): any[];
|
||||
//# sourceMappingURL=util.d.ts.map
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAWA,wBAAgB,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,GAAE,GAAQ,GAAG,GAAG,EAAE,CAuC1D"}
|
|
@ -0,0 +1,39 @@
|
|||
function isBuffer(obj) {
|
||||
return (obj &&
|
||||
obj.constructor &&
|
||||
typeof obj.constructor.isBuffer === "function" &&
|
||||
obj.constructor.isBuffer(obj));
|
||||
}
|
||||
/*
|
||||
Forked from https://github.com/hughsk/flat
|
||||
*/
|
||||
export function flatten(target, opts = {}) {
|
||||
opts = opts || {};
|
||||
const delimiter = opts.delimiter || ".";
|
||||
const maxDepth = opts.maxDepth;
|
||||
const transformKey = opts.transformKey || ((key) => (isNaN(parseInt(key)) ? key : ""));
|
||||
const output = [];
|
||||
function step(object, prev, currentDepth) {
|
||||
currentDepth = currentDepth || 1;
|
||||
Object.keys(object).forEach(function (key) {
|
||||
const value = object[key];
|
||||
const isarray = opts.safe && Array.isArray(value);
|
||||
const type = Object.prototype.toString.call(value);
|
||||
const isbuffer = isBuffer(value);
|
||||
const isobject = type === "[object Object]" || type === "[object Array]";
|
||||
const newKey = prev
|
||||
? prev + delimiter + transformKey(key)
|
||||
: transformKey(key);
|
||||
if (!isarray &&
|
||||
!isbuffer &&
|
||||
isobject &&
|
||||
Object.keys(value).length &&
|
||||
(!opts.maxDepth || currentDepth < maxDepth)) {
|
||||
return step(value, newKey, currentDepth + 1);
|
||||
}
|
||||
output.push(`${newKey}=${value}`);
|
||||
});
|
||||
}
|
||||
step(target);
|
||||
return output;
|
||||
}
|
Loading…
Reference in New Issue