emsi-lib
Version:
A EMSI (Emergency Management Shared Information) object model to manipulate emergency messages defined in ISO/TR 22351 document
39 lines (38 loc) • 1.39 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.Casualties = void 0;
const default_1 = require("../../common/default");
const types_1 = require("../../common/types");
const error_1 = require("../../error");
const informations_1 = require("./informations");
class Casualties extends default_1.Default {
constructor(context, count, datime) {
if (count < 0)
throw new error_1.EventError('Count should be positive');
super();
this.count = count;
this.context = context;
this.datime = (datime || new Date()).toISOString();
}
setInformations(informations) {
this.informations = informations;
return this;
}
static default() {
return new Casualties(types_1.CasualtiesContext.INITIAL_STATEMENT, 0);
}
assign(source) {
let key;
const keys = Object.keys(source);
if ((key = keys.find(f => f === 'datime')))
this.datime = source[key];
if ((key = keys.find(f => f === 'context')))
this.context = source[key];
if ((key = keys.find(f => f === 'count')))
this.count = source[key];
if ((key = keys.find(f => f === 'informations')))
this.informations = informations_1.Informations.default().assign(source[key]);
return this;
}
}
exports.Casualties = Casualties;
;