lingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
19 lines • 968 B
JavaScript
import { forceGetInstance } from "@lincode/utils";
import { defaultsOptionsMap, defaultsOwnKeysRecordMap } from "../../collections/defaultsCollections";
const inheritOptions = (defaults, parentDefaults) => {
Object.assign(forceGetInstance(defaultsOptionsMap, defaults, Object), defaultsOptionsMap.get(parentDefaults));
Object.assign(forceGetInstance(defaultsOwnKeysRecordMap, defaults, Object), defaultsOwnKeysRecordMap.get(parentDefaults));
};
export const extendDefaults = (parentDefaults, ownDefaults, options, ownKeysRecord) => {
const result = {};
options && defaultsOptionsMap.set(result, options);
ownKeysRecord && defaultsOwnKeysRecordMap.set(result, ownKeysRecord);
for (const defaults of parentDefaults) {
Object.assign(result, defaults);
inheritOptions(result, defaults);
}
Object.assign(result, ownDefaults);
inheritOptions(result, ownDefaults);
return result;
};
//# sourceMappingURL=Defaults.js.map