react-application-core
Version:
A react-based application core for the business applications.
64 lines • 1.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EntityUtils = void 0;
var R = require("ramda");
var cond_1 = require("./cond");
var join_1 = require("./join");
/**
* @stable [23.01.2021]
* @param entity
*/
var isNewEntity = function (entity) {
return R.isNil(entity) || R.isNil(entity.id);
};
/**
* @stable [23.01.2021]
* @param entity
*/
var isPhantomEntity = function (entity) {
return !isNewEntity(entity) && entity.id < 0;
};
/**
* @stable [23.01.2021]
* @param entity
*/
var isNewExtendedEntity = function (entity) {
return R.isNil(entity) || entity.newEntity === true;
};
/**
* @stable [23.01.2021]
* @param extendedEntity
*/
var doesExtendedEntityExist = function (extendedEntity) {
return !isNewExtendedEntity(extendedEntity);
};
/**
* @stable [23.01.2021]
* @param entities
*/
var asEntitiesIds = function (entities) { return entities === null || entities === void 0 ? void 0 : entities.map(function (entity) { return entity.id; }); };
/**
* @stable [23.01.2021]
* @param entity
*/
var entityAsFileName = function (entity) {
return cond_1.ConditionUtils.ifNotNilThanValue(entity, function () { return (join_1.JoinUtils.join([
entity.id,
cond_1.ConditionUtils.ifNotNilThanValue(entity.name, function (name) { return "-" + name.replace(/ /g, '_'); })
], '')); }, '');
};
/**
* @stable [23.01.2021]
*/
var EntityUtils = /** @class */ (function () {
function EntityUtils() {
}
EntityUtils.asEntitiesIds = asEntitiesIds;
EntityUtils.doesExtendedEntityExist = doesExtendedEntityExist;
EntityUtils.entityAsFileName = entityAsFileName;
EntityUtils.isNewEntity = isNewEntity;
EntityUtils.isPhantomEntity = isPhantomEntity;
return EntityUtils;
}());
exports.EntityUtils = EntityUtils;
//# sourceMappingURL=entity.js.map