@mcma/core
Version:
Node module with type definitions and helper utils for the EBU MCMA framework
35 lines (34 loc) • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.McmaResource = void 0;
exports.onResourceCreate = onResourceCreate;
exports.onResourceUpsert = onResourceUpsert;
const mcma_object_1 = require("./mcma-object");
const utils_1 = require("../utils");
function onResourceCreate(resource, id) {
resource.id = id;
resource.dateModified = resource.dateCreated = new Date();
}
function onResourceUpsert(resource, id) {
resource.id = id;
resource.dateModified = new Date();
if (!resource.dateCreated) {
resource.dateCreated = resource.dateModified;
}
}
class McmaResource extends mcma_object_1.McmaObject {
id;
dateCreated;
dateModified;
custom;
constructor(type, properties) {
super(type);
this.id = properties?.id;
this.dateCreated = utils_1.Utils.ensureValidDateOrUndefined(properties?.dateCreated);
this.dateModified = utils_1.Utils.ensureValidDateOrUndefined(properties?.dateModified);
if (typeof properties?.custom === "object" && Object.keys(properties?.custom).length > 0) {
this.custom = Object.assign({}, properties.custom);
}
}
}
exports.McmaResource = McmaResource;