react-application-core
Version:
A react-based application core for the business applications.
89 lines • 3.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ObjectUtils = exports.isStringNotEmpty = exports.isObjectNotEmpty = void 0;
var R = require("ramda");
var definitions_interface_1 = require("../definitions.interface");
var type_1 = require("./type");
/**
* @stable [18.04.2020]
* @param {AnyT} o
* @returns {boolean}
*/
exports.isObjectNotEmpty = function (o) { return !R.isNil(o) && !R.isEmpty(o); };
/**
* @stable [19.09.2020]
* @param o
*/
var isObjectEmpty = function (o) { return !exports.isObjectNotEmpty(o); };
/**
* @stable [18.03.2020]
* @param {AnyT} o
* @returns {boolean}
*/
exports.isStringNotEmpty = function (o) { return type_1.TypeUtils.isString(o) && exports.isObjectNotEmpty(o); };
/**
* @stable [20.03.2019]
* @param {AnyT} current
* @param {AnyT} previous
* @returns {boolean}
*/
var isCurrentValueNotEqualPreviousValue = function (current, previous) {
return exports.isObjectNotEmpty(current) && !R.equals(current, previous);
};
/**
* @stable [04.09.2020]
* @param object
* @param mergeFn
* @param keyAccessor
*/
var buildValuesObjectBy = function (object, mergeFn, keyAccessor) {
if (mergeFn === void 0) { mergeFn = function (o, key) { return o[key]; }; }
if (keyAccessor === void 0) { keyAccessor = function (o, key) { return key; }; }
return R.isNil(object)
? object
: R.mergeAll(Object.keys(object).map(function (key) {
var _a;
return (_a = {}, _a[keyAccessor(object, key)] = mergeFn(object, key), _a);
}));
};
/**
* @stable [04.09.2020]
* @param object
*/
var buildUndefValuesObject = function (object) {
return buildValuesObjectBy(object, function () { return definitions_interface_1.UNDEF; });
};
/**
* @stable [05.11.2020]
* @param object
*/
var buildTrueValuesObject = function (object) {
return buildValuesObjectBy(object, function () { return true; });
};
/**
* @stable [04.09.2020]
* @param object
*/
var buildNotEmptyOrNullValuesObject = function (object) {
return buildValuesObjectBy(object, function (o, key) {
var value = object[key];
return exports.isObjectNotEmpty(value) ? value : null;
});
};
/**
* @stable [15.05.2020]
*/
var ObjectUtils = /** @class */ (function () {
function ObjectUtils() {
}
ObjectUtils.buildNotEmptyOrNullValuesObject = buildNotEmptyOrNullValuesObject; /* @stable [15.05.2020] */
ObjectUtils.buildTrueValuesObject = buildTrueValuesObject; /* @stable [05.11.2020] */
ObjectUtils.buildUndefValuesObject = buildUndefValuesObject; /* @stable [15.05.2020] */
ObjectUtils.buildValuesObjectBy = buildValuesObjectBy; /* @stable [15.05.2020] */
ObjectUtils.isCurrentValueNotEqualPreviousValue = isCurrentValueNotEqualPreviousValue; /* @stable [15.05.2020] */
ObjectUtils.isObjectEmpty = isObjectEmpty; /* @stable [04.09.2020] */
ObjectUtils.isObjectNotEmpty = exports.isObjectNotEmpty; /* @stable [15.05.2020] */
return ObjectUtils;
}());
exports.ObjectUtils = ObjectUtils;
//# sourceMappingURL=object.js.map