@ema/js-base-library
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.2.0.
76 lines • 5.22 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
var ObjectUtil = /** @class */ (function () {
function ObjectUtil() {
}
/**
* @param {?} target
* @param {...?} sources
* @return {?}
*/
ObjectUtil.deepAssign = /**
* @param {?} target
* @param {...?} sources
* @return {?}
*/
function (target) {
var sources = [];
for (var _i = 1; _i < arguments.length; _i++) {
sources[_i - 1] = arguments[_i];
}
if (!sources.length) {
return target;
}
/** @type {?} */
var source = sources.shift();
if (source === undefined) {
return target;
}
if (ObjectUtil.isMergebleObject(target) && ObjectUtil.isMergebleObject(source)) {
Object.keys(source).forEach((/**
* @param {?} key
* @return {?}
*/
function (key) {
if (ObjectUtil.isMergebleObject(source[key])) {
if (!target[key]) {
target[key] = {};
}
ObjectUtil.deepAssign(target[key], source[key]);
}
else {
target[key] = source[key];
}
}));
}
return ObjectUtil.deepAssign.apply(ObjectUtil, tslib_1.__spread([target], sources));
};
/**
* @param {?} item
* @return {?}
*/
ObjectUtil.isMergebleObject = /**
* @param {?} item
* @return {?}
*/
function (item) {
return ObjectUtil.isObject(item) && !Array.isArray(item);
};
/**
* @param {?} item
* @return {?}
*/
ObjectUtil.isObject = /**
* @param {?} item
* @return {?}
*/
function (item) {
return item !== null && typeof item === 'object';
};
return ObjectUtil;
}());
export { ObjectUtil };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXV0aWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZW1hL2pzLWJhc2UtbGlicmFyeS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9vYmplY3QtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBO0lBQUE7SUFpQ0EsQ0FBQzs7Ozs7O0lBL0JVLHFCQUFVOzs7OztJQUFqQixVQUFrQixNQUFNO1FBQUUsaUJBQVU7YUFBVixVQUFVLEVBQVYscUJBQVUsRUFBVixJQUFVO1lBQVYsZ0NBQVU7O1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2pCLE9BQU8sTUFBTSxDQUFDO1NBQ2pCOztZQUNLLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFO1FBQzlCLElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRTtZQUN0QixPQUFPLE1BQU0sQ0FBQztTQUNqQjtRQUNELElBQUksVUFBVSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM1RSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU87Ozs7WUFBQyxVQUFTLEdBQVc7Z0JBQzVDLElBQUksVUFBVSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO29CQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO3dCQUNkLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7cUJBQ3BCO29CQUNELFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUNuRDtxQkFBTTtvQkFDSCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUM3QjtZQUNMLENBQUMsRUFBQyxDQUFDO1NBQ047UUFDRCxPQUFPLFVBQVUsQ0FBQyxVQUFVLE9BQXJCLFVBQVUsb0JBQVksTUFBTSxHQUFLLE9BQU8sR0FBRTtJQUNyRCxDQUFDOzs7OztJQUVNLDJCQUFnQjs7OztJQUF2QixVQUF3QixJQUFJO1FBQ3hCLE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7Ozs7SUFFTSxtQkFBUTs7OztJQUFmLFVBQWdCLElBQVM7UUFDckIsT0FBTyxJQUFJLEtBQUssSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQztJQUNyRCxDQUFDO0lBRUwsaUJBQUM7QUFBRCxDQUFDLEFBakNELElBaUNDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIE9iamVjdFV0aWwge1xuXG4gICAgc3RhdGljIGRlZXBBc3NpZ24odGFyZ2V0LCAuLi5zb3VyY2VzKSB7XG4gICAgICAgIGlmICghc291cmNlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc291cmNlID0gc291cmNlcy5zaGlmdCgpO1xuICAgICAgICBpZiAoc291cmNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE9iamVjdFV0aWwuaXNNZXJnZWJsZU9iamVjdCh0YXJnZXQpICYmIE9iamVjdFV0aWwuaXNNZXJnZWJsZU9iamVjdChzb3VyY2UpKSB7XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24oa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0VXRpbC5pc01lcmdlYmxlT2JqZWN0KHNvdXJjZVtrZXldKSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRhcmdldFtrZXldKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRba2V5XSA9IHt9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIE9iamVjdFV0aWwuZGVlcEFzc2lnbih0YXJnZXRba2V5XSwgc291cmNlW2tleV0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9iamVjdFV0aWwuZGVlcEFzc2lnbih0YXJnZXQsIC4uLnNvdXJjZXMpO1xuICAgIH1cblxuICAgIHN0YXRpYyBpc01lcmdlYmxlT2JqZWN0KGl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdFV0aWwuaXNPYmplY3QoaXRlbSkgJiYgIUFycmF5LmlzQXJyYXkoaXRlbSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGlzT2JqZWN0KGl0ZW06IGFueSkge1xuICAgICAgICByZXR1cm4gaXRlbSAhPT0gbnVsbCAmJiB0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCc7XG4gICAgfVxuXG59Il19