UNPKG

fhirbuilder

Version:
89 lines (88 loc) 3.02 kB
"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;