fhirbuilder
Version:
Another FHIR Tool to build FHIR Resources
89 lines (88 loc) • 3.02 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.LocationHoursOfOperationBuilder = void 0;
const models_1 = require("../../models");
const base_1 = require("../base");
/**
* @version R4 (v4.0.1)
* @summary FHIR® Specification by HL7®
* @description Class for building a LocationHoursOfOperation
* @class LocationHoursOfOperationBuilder
* @extends {BackboneBuilder}
* @implements {ILocationHoursOfOperationBuilder}
* @author Roberto Araneda Espinoza
*/
class LocationHoursOfOperationBuilder extends base_1.BackboneBuilder {
locationHoursOfOperation;
constructor() {
super();
this.locationHoursOfOperation = new models_1.LocationHoursOfOperation();
}
/**
* @description Adds a primitive extension to the element
* @param param - the field to add the extension to
* @param extension - the extension to add
* @returns {this}
* @example addPrimitiveExtension('_value', { value: 'test' })
*/
addPrimitiveExtension(param, extension) {
const arrayParam = ['_daysOfWeek'];
if (arrayParam.includes(param)) {
this.locationHoursOfOperation[param] = this.locationHoursOfOperation[param] || [];
this.locationHoursOfOperation[param].push(extension);
return this;
}
const localParam = param;
this.locationHoursOfOperation[localParam] = extension;
return this;
}
/**
* @description Builds the model
* @returns {LocationHoursOfOperation}
*/
build() {
return Object.assign(this.locationHoursOfOperation, super.build());
}
/**
* @description Adds a value to the daysOfWeek array
* @description Indicates which days of the week are available between the start and end Times.
* @param value - the value to add
* @returns {this}
*/
addDaysOfWeek(value) {
this.locationHoursOfOperation.daysOfWeek = this.locationHoursOfOperation.daysOfWeek || [];
this.locationHoursOfOperation.daysOfWeek.push(value);
return this;
}
/**
* @description Sets the allDay value
* @description The Location is open all day.
* @param value - the value to set
* @returns {this}
*/
setAllDay(value) {
this.locationHoursOfOperation.allDay = value;
return this;
}
/**
* @description Sets the openingTime value
* @description Time that the Location opens.
* @param value - the value to set
* @returns {this}
*/
setOpeningTime(value) {
this.locationHoursOfOperation.openingTime = value;
return this;
}
/**
* @description Sets the closingTime value
* @description Time that the Location closes.
* @param value - the value to set
* @returns {this}
*/
setClosingTime(value) {
this.locationHoursOfOperation.closingTime = value;
return this;
}
}
exports.LocationHoursOfOperationBuilder = LocationHoursOfOperationBuilder;