UNPKG

dinoloop-es8

Version:

A lightweight REST API Library for building scalable Node.js server-side applications powered by Typescript

54 lines 3.62 kB
"use strict"; 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==