fix(core): update
This commit is contained in:
@@ -1,21 +1,29 @@
|
||||
export const toFlatObject = (objectArg: object) => {
|
||||
const returnObject: {[key: string]: any} = {};
|
||||
const extractLayer = (subObject: {[key: string]: any}, pathArg: string, loopProtection: object[]) => {
|
||||
const returnObject: { [key: string]: any } = {};
|
||||
const extractLayer = (
|
||||
subObject: { [key: string]: any },
|
||||
pathArg: string,
|
||||
loopProtection: object[]
|
||||
) => {
|
||||
if (loopProtection.indexOf(subObject) > -1) {
|
||||
return;
|
||||
}
|
||||
if (subObject)
|
||||
for (const key of Object.keys(subObject)) {
|
||||
let localPathArg = pathArg;
|
||||
if (typeof subObject[ key ] === 'object' && !(subObject[ key ] instanceof Array)) {
|
||||
if (typeof subObject[key] === 'object' && !(subObject[key] instanceof Array)) {
|
||||
const newLoopbackArray = loopProtection.slice();
|
||||
newLoopbackArray.push(subObject);
|
||||
extractLayer(subObject[ key ], localPathArg ? localPathArg += `.${key}` : key, newLoopbackArray);
|
||||
extractLayer(
|
||||
subObject[key],
|
||||
localPathArg ? (localPathArg += `.${key}`) : key,
|
||||
newLoopbackArray
|
||||
);
|
||||
} else {
|
||||
returnObject[localPathArg ? localPathArg += `.${key}` : key] = subObject[key];
|
||||
returnObject[localPathArg ? (localPathArg += `.${key}`) : key] = subObject[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
extractLayer(objectArg, '', []);
|
||||
return returnObject;
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user