UNPKG

fhirbuilder

Version:
49 lines (48 loc) 1.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ReferenceBuilder = void 0; const models_1 = require("../../models"); const ElementBuilder_1 = require("../base/ElementBuilder"); class ReferenceBuilder extends ElementBuilder_1.ElementBuilder { reference; constructor() { super(); this.reference = new models_1.Reference(); } addPrimitiveExtension(param, extension) { this.reference[param] = extension; return this; } setReference(value) { if (typeof value === 'string') { this.reference.reference = value; } else { this.reference.reference = transformReference(value); } return this; } setDisplay(value) { this.reference.display = value; return this; } setIdentifier(value) { this.reference.identifier = value; return this; } setType(value) { this.reference.type = value; return this; } build() { return Object.assign(this.reference, super.build()); } } exports.ReferenceBuilder = ReferenceBuilder; function transformReference(item) { if (!item.resourceType) throw new Error('Reference must have a resourceType'); if (!item.id) throw new Error('Reference must have an id'); return `${item.resourceType}/${item.id}`; }