dinoloop-es8
Version:
A lightweight REST API Library for building scalable Node.js server-side applications powered by Typescript
54 lines • 3.62 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const data_utility_1 = require("./data.utility");
/**
* Wrapper methods for native js Object
* Just to make sure not to inject native js functions into the API
* This increases to support older versions that dont support the latest Object api
*/
class ObjectUtility {
static _replaceObjectReferences(obj, objToReplace, className) {
ObjectUtility.keys(obj).forEach(key => {
if (obj[key] instanceof className) {
obj[key] = objToReplace;
}
else if (typeof obj[key] === 'object' && obj[key] !== null) {
ObjectUtility._replaceObjectReferences(obj[key], objToReplace, className);
}
});
}
/**
* Works exactly => Object.create(obj)
*/
static create(obj) {
return Object.create(obj);
}
/**
* Works exactly => Object.keys(obj)
*/
static keys(obj) {
return Object.keys(obj);
}
/**
* Works exactly => Object.getPrototypeOf(obj)
*/
static getPrototypeOf(obj) {
return Object.getPrototypeOf(obj);
}
/**
* Works exactly => Object.getOwnPropertyNames(obj)
*/
static getOwnPropertyNames(obj) {
return Object.getOwnPropertyNames(obj);
}
static replaceObjectReferences(obj, objToReplace, className) {
if (data_utility_1.DataUtility.isUndefinedOrNull(obj) || data_utility_1.DataUtility.isString(obj))
return obj;
if (!data_utility_1.DataUtility.isFunction(className))
return obj;
ObjectUtility._replaceObjectReferences(obj, objToReplace, className);
return obj;
}
}
exports.ObjectUtility = ObjectUtility;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LnV0aWxpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kdWxlcy91dGlsaXR5L29iamVjdC51dGlsaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaURBQTZDO0FBRTdDOzs7O0dBSUc7QUFDSDtJQUVZLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxHQUFRLEVBQUUsWUFBaUIsRUFBRSxTQUFtQjtRQUNwRixhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNsQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsWUFBWSxTQUFTLEVBQUU7Z0JBQy9CLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUM7YUFDM0I7aUJBQU0sSUFBSSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDMUQsYUFBYSxDQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUM7YUFDN0U7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBUTtRQUNsQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFRO1FBQ2hCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQVE7UUFDMUIsT0FBTyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFRO1FBQy9CLE9BQU8sTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQUMsR0FBUSxFQUFFLFlBQWlCLEVBQUUsU0FBbUI7UUFFM0UsSUFBSSwwQkFBVyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLDBCQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUFFLE9BQU8sR0FBRyxDQUFDO1FBQ2hGLElBQUksQ0FBQywwQkFBVyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7WUFBRSxPQUFPLEdBQUcsQ0FBQztRQUVuRCxhQUFhLENBQUMsd0JBQXdCLENBQUMsR0FBRyxFQUFFLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUVyRSxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7Q0FDSjtBQWpERCxzQ0FpREMifQ==