@nsshunt/stsfhirclient 2.0.29 → 2.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9228,6 +9228,341 @@ function createRetryAxiosClient(retryConfig) {
9228
9228
  return instance;
9229
9229
  }
9230
9230
  //#endregion
9231
+ //#region node_modules/chalk/source/vendor/ansi-styles/index.js
9232
+ var ANSI_BACKGROUND_OFFSET = 10;
9233
+ var wrapAnsi16 = (offset = 0) => (code) => `\u001B[${code + offset}m`;
9234
+ var wrapAnsi256 = (offset = 0) => (code) => `\u001B[${38 + offset};5;${code}m`;
9235
+ var wrapAnsi16m = (offset = 0) => (red, green, blue) => `\u001B[${38 + offset};2;${red};${green};${blue}m`;
9236
+ var styles$1 = {
9237
+ modifier: {
9238
+ reset: [0, 0],
9239
+ bold: [1, 22],
9240
+ dim: [2, 22],
9241
+ italic: [3, 23],
9242
+ underline: [4, 24],
9243
+ overline: [53, 55],
9244
+ inverse: [7, 27],
9245
+ hidden: [8, 28],
9246
+ strikethrough: [9, 29]
9247
+ },
9248
+ color: {
9249
+ black: [30, 39],
9250
+ red: [31, 39],
9251
+ green: [32, 39],
9252
+ yellow: [33, 39],
9253
+ blue: [34, 39],
9254
+ magenta: [35, 39],
9255
+ cyan: [36, 39],
9256
+ white: [37, 39],
9257
+ blackBright: [90, 39],
9258
+ gray: [90, 39],
9259
+ grey: [90, 39],
9260
+ redBright: [91, 39],
9261
+ greenBright: [92, 39],
9262
+ yellowBright: [93, 39],
9263
+ blueBright: [94, 39],
9264
+ magentaBright: [95, 39],
9265
+ cyanBright: [96, 39],
9266
+ whiteBright: [97, 39]
9267
+ },
9268
+ bgColor: {
9269
+ bgBlack: [40, 49],
9270
+ bgRed: [41, 49],
9271
+ bgGreen: [42, 49],
9272
+ bgYellow: [43, 49],
9273
+ bgBlue: [44, 49],
9274
+ bgMagenta: [45, 49],
9275
+ bgCyan: [46, 49],
9276
+ bgWhite: [47, 49],
9277
+ bgBlackBright: [100, 49],
9278
+ bgGray: [100, 49],
9279
+ bgGrey: [100, 49],
9280
+ bgRedBright: [101, 49],
9281
+ bgGreenBright: [102, 49],
9282
+ bgYellowBright: [103, 49],
9283
+ bgBlueBright: [104, 49],
9284
+ bgMagentaBright: [105, 49],
9285
+ bgCyanBright: [106, 49],
9286
+ bgWhiteBright: [107, 49]
9287
+ }
9288
+ };
9289
+ Object.keys(styles$1.modifier);
9290
+ var foregroundColorNames = Object.keys(styles$1.color);
9291
+ var backgroundColorNames = Object.keys(styles$1.bgColor);
9292
+ [...foregroundColorNames, ...backgroundColorNames];
9293
+ function assembleStyles() {
9294
+ const codes = /* @__PURE__ */ new Map();
9295
+ for (const [groupName, group] of Object.entries(styles$1)) {
9296
+ for (const [styleName, style] of Object.entries(group)) {
9297
+ styles$1[styleName] = {
9298
+ open: `\u001B[${style[0]}m`,
9299
+ close: `\u001B[${style[1]}m`
9300
+ };
9301
+ group[styleName] = styles$1[styleName];
9302
+ codes.set(style[0], style[1]);
9303
+ }
9304
+ Object.defineProperty(styles$1, groupName, {
9305
+ value: group,
9306
+ enumerable: false
9307
+ });
9308
+ }
9309
+ Object.defineProperty(styles$1, "codes", {
9310
+ value: codes,
9311
+ enumerable: false
9312
+ });
9313
+ styles$1.color.close = "\x1B[39m";
9314
+ styles$1.bgColor.close = "\x1B[49m";
9315
+ styles$1.color.ansi = wrapAnsi16();
9316
+ styles$1.color.ansi256 = wrapAnsi256();
9317
+ styles$1.color.ansi16m = wrapAnsi16m();
9318
+ styles$1.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
9319
+ styles$1.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
9320
+ styles$1.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
9321
+ Object.defineProperties(styles$1, {
9322
+ rgbToAnsi256: {
9323
+ value(red, green, blue) {
9324
+ if (red === green && green === blue) {
9325
+ if (red < 8) return 16;
9326
+ if (red > 248) return 231;
9327
+ return Math.round((red - 8) / 247 * 24) + 232;
9328
+ }
9329
+ return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
9330
+ },
9331
+ enumerable: false
9332
+ },
9333
+ hexToRgb: {
9334
+ value(hex) {
9335
+ const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
9336
+ if (!matches) return [
9337
+ 0,
9338
+ 0,
9339
+ 0
9340
+ ];
9341
+ let [colorString] = matches;
9342
+ if (colorString.length === 3) colorString = [...colorString].map((character) => character + character).join("");
9343
+ const integer = Number.parseInt(colorString, 16);
9344
+ return [
9345
+ integer >> 16 & 255,
9346
+ integer >> 8 & 255,
9347
+ integer & 255
9348
+ ];
9349
+ },
9350
+ enumerable: false
9351
+ },
9352
+ hexToAnsi256: {
9353
+ value: (hex) => styles$1.rgbToAnsi256(...styles$1.hexToRgb(hex)),
9354
+ enumerable: false
9355
+ },
9356
+ ansi256ToAnsi: {
9357
+ value(code) {
9358
+ if (code < 8) return 30 + code;
9359
+ if (code < 16) return 90 + (code - 8);
9360
+ let red;
9361
+ let green;
9362
+ let blue;
9363
+ if (code >= 232) {
9364
+ red = ((code - 232) * 10 + 8) / 255;
9365
+ green = red;
9366
+ blue = red;
9367
+ } else {
9368
+ code -= 16;
9369
+ const remainder = code % 36;
9370
+ red = Math.floor(code / 36) / 5;
9371
+ green = Math.floor(remainder / 6) / 5;
9372
+ blue = remainder % 6 / 5;
9373
+ }
9374
+ const value = Math.max(red, green, blue) * 2;
9375
+ if (value === 0) return 30;
9376
+ let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
9377
+ if (value === 2) result += 60;
9378
+ return result;
9379
+ },
9380
+ enumerable: false
9381
+ },
9382
+ rgbToAnsi: {
9383
+ value: (red, green, blue) => styles$1.ansi256ToAnsi(styles$1.rgbToAnsi256(red, green, blue)),
9384
+ enumerable: false
9385
+ },
9386
+ hexToAnsi: {
9387
+ value: (hex) => styles$1.ansi256ToAnsi(styles$1.hexToAnsi256(hex)),
9388
+ enumerable: false
9389
+ }
9390
+ });
9391
+ return styles$1;
9392
+ }
9393
+ var ansiStyles = assembleStyles();
9394
+ //#endregion
9395
+ //#region node_modules/chalk/source/vendor/supports-color/browser.js
9396
+ var level = (() => {
9397
+ if (!("navigator" in globalThis)) return 0;
9398
+ if (globalThis.navigator.userAgentData) {
9399
+ const brand = navigator.userAgentData.brands.find(({ brand }) => brand === "Chromium");
9400
+ if (brand && brand.version > 93) return 3;
9401
+ }
9402
+ if (/\b(Chrome|Chromium)\//.test(globalThis.navigator.userAgent)) return 1;
9403
+ return 0;
9404
+ })();
9405
+ var colorSupport = level !== 0 && {
9406
+ level,
9407
+ hasBasic: true,
9408
+ has256: level >= 2,
9409
+ has16m: level >= 3
9410
+ };
9411
+ var supportsColor = {
9412
+ stdout: colorSupport,
9413
+ stderr: colorSupport
9414
+ };
9415
+ //#endregion
9416
+ //#region node_modules/chalk/source/utilities.js
9417
+ function stringReplaceAll(string, substring, replacer) {
9418
+ let index = string.indexOf(substring);
9419
+ if (index === -1) return string;
9420
+ const substringLength = substring.length;
9421
+ let endIndex = 0;
9422
+ let returnValue = "";
9423
+ do {
9424
+ returnValue += string.slice(endIndex, index) + substring + replacer;
9425
+ endIndex = index + substringLength;
9426
+ index = string.indexOf(substring, endIndex);
9427
+ } while (index !== -1);
9428
+ returnValue += string.slice(endIndex);
9429
+ return returnValue;
9430
+ }
9431
+ function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
9432
+ let endIndex = 0;
9433
+ let returnValue = "";
9434
+ do {
9435
+ const gotCR = string[index - 1] === "\r";
9436
+ returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
9437
+ endIndex = index + 1;
9438
+ index = string.indexOf("\n", endIndex);
9439
+ } while (index !== -1);
9440
+ returnValue += string.slice(endIndex);
9441
+ return returnValue;
9442
+ }
9443
+ //#endregion
9444
+ //#region node_modules/chalk/source/index.js
9445
+ var { stdout: stdoutColor, stderr: stderrColor } = supportsColor;
9446
+ var GENERATOR = Symbol("GENERATOR");
9447
+ var STYLER = Symbol("STYLER");
9448
+ var IS_EMPTY = Symbol("IS_EMPTY");
9449
+ var levelMapping = [
9450
+ "ansi",
9451
+ "ansi",
9452
+ "ansi256",
9453
+ "ansi16m"
9454
+ ];
9455
+ var styles = Object.create(null);
9456
+ var applyOptions = (object, options = {}) => {
9457
+ if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) throw new Error("The `level` option should be an integer from 0 to 3");
9458
+ const colorLevel = stdoutColor ? stdoutColor.level : 0;
9459
+ object.level = options.level === void 0 ? colorLevel : options.level;
9460
+ };
9461
+ var chalkFactory = (options) => {
9462
+ const chalk = (...strings) => strings.join(" ");
9463
+ applyOptions(chalk, options);
9464
+ Object.setPrototypeOf(chalk, createChalk.prototype);
9465
+ return chalk;
9466
+ };
9467
+ function createChalk(options) {
9468
+ return chalkFactory(options);
9469
+ }
9470
+ Object.setPrototypeOf(createChalk.prototype, Function.prototype);
9471
+ for (const [styleName, style] of Object.entries(ansiStyles)) styles[styleName] = { get() {
9472
+ const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
9473
+ Object.defineProperty(this, styleName, { value: builder });
9474
+ return builder;
9475
+ } };
9476
+ styles.visible = { get() {
9477
+ const builder = createBuilder(this, this[STYLER], true);
9478
+ Object.defineProperty(this, "visible", { value: builder });
9479
+ return builder;
9480
+ } };
9481
+ var getModelAnsi = (model, level, type, ...arguments_) => {
9482
+ if (model === "rgb") {
9483
+ if (level === "ansi16m") return ansiStyles[type].ansi16m(...arguments_);
9484
+ if (level === "ansi256") return ansiStyles[type].ansi256(ansiStyles.rgbToAnsi256(...arguments_));
9485
+ return ansiStyles[type].ansi(ansiStyles.rgbToAnsi(...arguments_));
9486
+ }
9487
+ if (model === "hex") return getModelAnsi("rgb", level, type, ...ansiStyles.hexToRgb(...arguments_));
9488
+ return ansiStyles[type][model](...arguments_);
9489
+ };
9490
+ for (const model of [
9491
+ "rgb",
9492
+ "hex",
9493
+ "ansi256"
9494
+ ]) {
9495
+ styles[model] = { get() {
9496
+ const { level } = this;
9497
+ return function(...arguments_) {
9498
+ const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansiStyles.color.close, this[STYLER]);
9499
+ return createBuilder(this, styler, this[IS_EMPTY]);
9500
+ };
9501
+ } };
9502
+ const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
9503
+ styles[bgModel] = { get() {
9504
+ const { level } = this;
9505
+ return function(...arguments_) {
9506
+ const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansiStyles.bgColor.close, this[STYLER]);
9507
+ return createBuilder(this, styler, this[IS_EMPTY]);
9508
+ };
9509
+ } };
9510
+ }
9511
+ var proto = Object.defineProperties(() => {}, {
9512
+ ...styles,
9513
+ level: {
9514
+ enumerable: true,
9515
+ get() {
9516
+ return this[GENERATOR].level;
9517
+ },
9518
+ set(level) {
9519
+ this[GENERATOR].level = level;
9520
+ }
9521
+ }
9522
+ });
9523
+ var createStyler = (open, close, parent) => {
9524
+ let openAll;
9525
+ let closeAll;
9526
+ if (parent === void 0) {
9527
+ openAll = open;
9528
+ closeAll = close;
9529
+ } else {
9530
+ openAll = parent.openAll + open;
9531
+ closeAll = close + parent.closeAll;
9532
+ }
9533
+ return {
9534
+ open,
9535
+ close,
9536
+ openAll,
9537
+ closeAll,
9538
+ parent
9539
+ };
9540
+ };
9541
+ var createBuilder = (self, _styler, _isEmpty) => {
9542
+ const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
9543
+ Object.setPrototypeOf(builder, proto);
9544
+ builder[GENERATOR] = self;
9545
+ builder[STYLER] = _styler;
9546
+ builder[IS_EMPTY] = _isEmpty;
9547
+ return builder;
9548
+ };
9549
+ var applyStyle = (self, string) => {
9550
+ if (self.level <= 0 || !string) return self[IS_EMPTY] ? "" : string;
9551
+ let styler = self[STYLER];
9552
+ if (styler === void 0) return string;
9553
+ const { openAll, closeAll } = styler;
9554
+ if (string.includes("\x1B")) while (styler !== void 0) {
9555
+ string = stringReplaceAll(string, styler.close, styler.open);
9556
+ styler = styler.parent;
9557
+ }
9558
+ const lfIndex = string.indexOf("\n");
9559
+ if (lfIndex !== -1) string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
9560
+ return openAll + string + closeAll;
9561
+ };
9562
+ Object.defineProperties(createChalk.prototype, styles);
9563
+ var chalk = createChalk();
9564
+ createChalk({ level: stderrColor ? stderrColor.level : 0 });
9565
+ //#endregion
9231
9566
  //#region src/cv2/fhirRESTClient.ts
9232
9567
  var FhirRESTClient = class {
9233
9568
  #options;
@@ -9237,10 +9572,27 @@ var FhirRESTClient = class {
9237
9572
  BaseUrl() {
9238
9573
  return `${this.#options.endpoint}:${this.#options.stsfhirport}${this.#options.stsfhirapiroot}`;
9239
9574
  }
9575
+ HandleError = (error) => {
9576
+ this.#options.logger.error(chalk.red(`HandleError(): Error: [${error}]`));
9577
+ if (axios.default.isAxiosError(error)) {
9578
+ const axiosError = error;
9579
+ if (axiosError.response) {
9580
+ this.#options.logger.error(chalk.red(`AXIOS Error Response.Status = [${axiosError.response.status}]`));
9581
+ if (axiosError.response.headers) this.#options.logger.error(chalk.red(` headers: [${JSON.stringify(axiosError.response.headers)}]`));
9582
+ if (axiosError.response.data) this.#options.logger.error(chalk.red(` data: [${JSON.stringify(axiosError.response.data)}]`));
9583
+ try {
9584
+ if (axiosError.response.config) this.#options.logger.error(chalk.red(` config: [${JSON.stringify(axiosError.response.config)}]`));
9585
+ } catch (innererror) {
9586
+ this.#options.logger.error(chalk.red(` could not get response config, error: [${innererror}]`));
9587
+ }
9588
+ } else this.#options.logger.error(chalk.red(`AXIOS Error = [${axiosError}]`));
9589
+ }
9590
+ };
9240
9591
  LogError = (method, error) => {
9241
9592
  this.#options.logger.error(`FhirRESTClient:${method}(): Error: [${error}]`);
9242
9593
  this.#options.logger.error(error);
9243
9594
  console.error(error);
9595
+ this.HandleError(error);
9244
9596
  process.exit(0);
9245
9597
  };
9246
9598
  LogWarning = (method, message) => {
@@ -9395,430 +9747,95 @@ var FhirRESTClient = class {
9395
9747
  this.LogError("PostResource", error);
9396
9748
  throw error;
9397
9749
  }
9398
- };
9399
- GetHistoryInstanceFhirResource = async (resourceType, resourceId, versionId) => {
9400
- try {
9401
- const url = `${`${this.BaseUrl()}/${resourceType}`}/${resourceId}/_history/${versionId.toString()}`;
9402
- const retVal = await this.#InvokeResourceAPI(url, "get", null, null);
9403
- if (retVal) return {
9404
- status: retVal.status,
9405
- body: retVal.data
9406
- };
9407
- else throw new Error(`FhirRESTClient:GetHistoryInstanceFhirResource(): No response from #InvokeResourceAPI`);
9408
- } catch (error) {
9409
- if (axios.default.isAxiosError(error)) {
9410
- const axiosError = error;
9411
- return {
9412
- status: axiosError.response.status,
9413
- body: axiosError.response.data,
9414
- headers: { ETag: axiosError.response.headers["etag"] }
9415
- };
9416
- } else throw error;
9417
- }
9418
- };
9419
- ExtractNumber(str) {
9420
- if (typeof str !== "string") return null;
9421
- const match = str.match(/^\s*(?:W\/\s*)?"\s*([\d.]+)\s*"$/i);
9422
- return match ? Number(match[1]) : null;
9423
- }
9424
- DeleteResource = async (resourceType, resourceId, versionIdETag) => {
9425
- try {
9426
- let url = `${`${this.BaseUrl()}/${resourceType}`}/${resourceId}`;
9427
- const retVal = await this.#InvokeResourceAPI(url, "delete", versionIdETag, null);
9428
- if (retVal) return {
9429
- status: retVal.status,
9430
- body: retVal.data
9431
- };
9432
- else throw new Error(`FhirRESTClient:DeleteResource(): No response from #InvokeResourceAPI`);
9433
- } catch (error) {
9434
- if (axios.default.isAxiosError(error)) {
9435
- const axiosError = error;
9436
- const versionNumber = this.ExtractNumber(versionIdETag) + 1;
9437
- return {
9438
- status: axiosError.response.status,
9439
- body: axiosError.response.data,
9440
- headers: { ETag: `W/"${versionNumber}"` }
9441
- };
9442
- } else throw error;
9443
- }
9444
- };
9445
- GetMetadata = async () => {
9446
- try {
9447
- const resourceUrl = `${this.BaseUrl()}/metadata`;
9448
- const retVal = await this.#InvokeResourceAPI(resourceUrl, "get", null, null);
9449
- if (retVal) return {
9450
- status: retVal.status,
9451
- body: retVal.data
9452
- };
9453
- else throw new Error(`FhirRESTClient:GetMetadata(): No response from #InvokeResourceAPI`);
9454
- } catch (error) {
9455
- this.LogError("GetMetadata", error);
9456
- throw error;
9457
- }
9458
- };
9459
- GetLatency = async (params) => {
9460
- try {
9461
- const url = `${this.BaseUrl()}/latency`;
9462
- const retVal = await this.#InvokeResourceAPI(url, "get", null, null);
9463
- if (retVal) return {
9464
- status: retVal.status,
9465
- body: retVal.data
9466
- };
9467
- else throw new Error(`FhirRESTClient:GetLatency(): No response from #InvokeResourceAPI`);
9468
- } catch (error) {
9469
- this.LogError("GetLatency", error);
9470
- throw error;
9471
- }
9472
- };
9473
- GenericSearchTesting = async (resourceType, params) => {
9474
- try {
9475
- const retVal = await this.#InvokeResourceAPI(`${this.BaseUrl()}/${resourceType}/_genericSearchTesting`, "post", null, params);
9476
- if (retVal) return {
9477
- status: retVal.status,
9478
- body: retVal.data
9479
- };
9480
- else throw new Error(`FhirRESTClient:GenericSearchTesting(): No response from #InvokeResourceAPI`);
9481
- } catch (error) {
9482
- this.LogError("GenericSearchTesting", error);
9483
- throw error;
9484
- }
9485
- };
9486
- };
9487
- //#endregion
9488
- //#region node_modules/chalk/source/vendor/ansi-styles/index.js
9489
- var ANSI_BACKGROUND_OFFSET = 10;
9490
- var wrapAnsi16 = (offset = 0) => (code) => `\u001B[${code + offset}m`;
9491
- var wrapAnsi256 = (offset = 0) => (code) => `\u001B[${38 + offset};5;${code}m`;
9492
- var wrapAnsi16m = (offset = 0) => (red, green, blue) => `\u001B[${38 + offset};2;${red};${green};${blue}m`;
9493
- var styles$1 = {
9494
- modifier: {
9495
- reset: [0, 0],
9496
- bold: [1, 22],
9497
- dim: [2, 22],
9498
- italic: [3, 23],
9499
- underline: [4, 24],
9500
- overline: [53, 55],
9501
- inverse: [7, 27],
9502
- hidden: [8, 28],
9503
- strikethrough: [9, 29]
9504
- },
9505
- color: {
9506
- black: [30, 39],
9507
- red: [31, 39],
9508
- green: [32, 39],
9509
- yellow: [33, 39],
9510
- blue: [34, 39],
9511
- magenta: [35, 39],
9512
- cyan: [36, 39],
9513
- white: [37, 39],
9514
- blackBright: [90, 39],
9515
- gray: [90, 39],
9516
- grey: [90, 39],
9517
- redBright: [91, 39],
9518
- greenBright: [92, 39],
9519
- yellowBright: [93, 39],
9520
- blueBright: [94, 39],
9521
- magentaBright: [95, 39],
9522
- cyanBright: [96, 39],
9523
- whiteBright: [97, 39]
9524
- },
9525
- bgColor: {
9526
- bgBlack: [40, 49],
9527
- bgRed: [41, 49],
9528
- bgGreen: [42, 49],
9529
- bgYellow: [43, 49],
9530
- bgBlue: [44, 49],
9531
- bgMagenta: [45, 49],
9532
- bgCyan: [46, 49],
9533
- bgWhite: [47, 49],
9534
- bgBlackBright: [100, 49],
9535
- bgGray: [100, 49],
9536
- bgGrey: [100, 49],
9537
- bgRedBright: [101, 49],
9538
- bgGreenBright: [102, 49],
9539
- bgYellowBright: [103, 49],
9540
- bgBlueBright: [104, 49],
9541
- bgMagentaBright: [105, 49],
9542
- bgCyanBright: [106, 49],
9543
- bgWhiteBright: [107, 49]
9544
- }
9545
- };
9546
- Object.keys(styles$1.modifier);
9547
- var foregroundColorNames = Object.keys(styles$1.color);
9548
- var backgroundColorNames = Object.keys(styles$1.bgColor);
9549
- [...foregroundColorNames, ...backgroundColorNames];
9550
- function assembleStyles() {
9551
- const codes = /* @__PURE__ */ new Map();
9552
- for (const [groupName, group] of Object.entries(styles$1)) {
9553
- for (const [styleName, style] of Object.entries(group)) {
9554
- styles$1[styleName] = {
9555
- open: `\u001B[${style[0]}m`,
9556
- close: `\u001B[${style[1]}m`
9557
- };
9558
- group[styleName] = styles$1[styleName];
9559
- codes.set(style[0], style[1]);
9560
- }
9561
- Object.defineProperty(styles$1, groupName, {
9562
- value: group,
9563
- enumerable: false
9564
- });
9565
- }
9566
- Object.defineProperty(styles$1, "codes", {
9567
- value: codes,
9568
- enumerable: false
9569
- });
9570
- styles$1.color.close = "\x1B[39m";
9571
- styles$1.bgColor.close = "\x1B[49m";
9572
- styles$1.color.ansi = wrapAnsi16();
9573
- styles$1.color.ansi256 = wrapAnsi256();
9574
- styles$1.color.ansi16m = wrapAnsi16m();
9575
- styles$1.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
9576
- styles$1.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
9577
- styles$1.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
9578
- Object.defineProperties(styles$1, {
9579
- rgbToAnsi256: {
9580
- value(red, green, blue) {
9581
- if (red === green && green === blue) {
9582
- if (red < 8) return 16;
9583
- if (red > 248) return 231;
9584
- return Math.round((red - 8) / 247 * 24) + 232;
9585
- }
9586
- return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
9587
- },
9588
- enumerable: false
9589
- },
9590
- hexToRgb: {
9591
- value(hex) {
9592
- const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
9593
- if (!matches) return [
9594
- 0,
9595
- 0,
9596
- 0
9597
- ];
9598
- let [colorString] = matches;
9599
- if (colorString.length === 3) colorString = [...colorString].map((character) => character + character).join("");
9600
- const integer = Number.parseInt(colorString, 16);
9601
- return [
9602
- integer >> 16 & 255,
9603
- integer >> 8 & 255,
9604
- integer & 255
9605
- ];
9606
- },
9607
- enumerable: false
9608
- },
9609
- hexToAnsi256: {
9610
- value: (hex) => styles$1.rgbToAnsi256(...styles$1.hexToRgb(hex)),
9611
- enumerable: false
9612
- },
9613
- ansi256ToAnsi: {
9614
- value(code) {
9615
- if (code < 8) return 30 + code;
9616
- if (code < 16) return 90 + (code - 8);
9617
- let red;
9618
- let green;
9619
- let blue;
9620
- if (code >= 232) {
9621
- red = ((code - 232) * 10 + 8) / 255;
9622
- green = red;
9623
- blue = red;
9624
- } else {
9625
- code -= 16;
9626
- const remainder = code % 36;
9627
- red = Math.floor(code / 36) / 5;
9628
- green = Math.floor(remainder / 6) / 5;
9629
- blue = remainder % 6 / 5;
9630
- }
9631
- const value = Math.max(red, green, blue) * 2;
9632
- if (value === 0) return 30;
9633
- let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
9634
- if (value === 2) result += 60;
9635
- return result;
9636
- },
9637
- enumerable: false
9638
- },
9639
- rgbToAnsi: {
9640
- value: (red, green, blue) => styles$1.ansi256ToAnsi(styles$1.rgbToAnsi256(red, green, blue)),
9641
- enumerable: false
9642
- },
9643
- hexToAnsi: {
9644
- value: (hex) => styles$1.ansi256ToAnsi(styles$1.hexToAnsi256(hex)),
9645
- enumerable: false
9646
- }
9647
- });
9648
- return styles$1;
9649
- }
9650
- var ansiStyles = assembleStyles();
9651
- //#endregion
9652
- //#region node_modules/chalk/source/vendor/supports-color/browser.js
9653
- var level = (() => {
9654
- if (!("navigator" in globalThis)) return 0;
9655
- if (globalThis.navigator.userAgentData) {
9656
- const brand = navigator.userAgentData.brands.find(({ brand }) => brand === "Chromium");
9657
- if (brand && brand.version > 93) return 3;
9658
- }
9659
- if (/\b(Chrome|Chromium)\//.test(globalThis.navigator.userAgent)) return 1;
9660
- return 0;
9661
- })();
9662
- var colorSupport = level !== 0 && {
9663
- level,
9664
- hasBasic: true,
9665
- has256: level >= 2,
9666
- has16m: level >= 3
9667
- };
9668
- var supportsColor = {
9669
- stdout: colorSupport,
9670
- stderr: colorSupport
9671
- };
9672
- //#endregion
9673
- //#region node_modules/chalk/source/utilities.js
9674
- function stringReplaceAll(string, substring, replacer) {
9675
- let index = string.indexOf(substring);
9676
- if (index === -1) return string;
9677
- const substringLength = substring.length;
9678
- let endIndex = 0;
9679
- let returnValue = "";
9680
- do {
9681
- returnValue += string.slice(endIndex, index) + substring + replacer;
9682
- endIndex = index + substringLength;
9683
- index = string.indexOf(substring, endIndex);
9684
- } while (index !== -1);
9685
- returnValue += string.slice(endIndex);
9686
- return returnValue;
9687
- }
9688
- function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
9689
- let endIndex = 0;
9690
- let returnValue = "";
9691
- do {
9692
- const gotCR = string[index - 1] === "\r";
9693
- returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
9694
- endIndex = index + 1;
9695
- index = string.indexOf("\n", endIndex);
9696
- } while (index !== -1);
9697
- returnValue += string.slice(endIndex);
9698
- return returnValue;
9699
- }
9700
- //#endregion
9701
- //#region node_modules/chalk/source/index.js
9702
- var { stdout: stdoutColor, stderr: stderrColor } = supportsColor;
9703
- var GENERATOR = Symbol("GENERATOR");
9704
- var STYLER = Symbol("STYLER");
9705
- var IS_EMPTY = Symbol("IS_EMPTY");
9706
- var levelMapping = [
9707
- "ansi",
9708
- "ansi",
9709
- "ansi256",
9710
- "ansi16m"
9711
- ];
9712
- var styles = Object.create(null);
9713
- var applyOptions = (object, options = {}) => {
9714
- if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) throw new Error("The `level` option should be an integer from 0 to 3");
9715
- const colorLevel = stdoutColor ? stdoutColor.level : 0;
9716
- object.level = options.level === void 0 ? colorLevel : options.level;
9717
- };
9718
- var chalkFactory = (options) => {
9719
- const chalk = (...strings) => strings.join(" ");
9720
- applyOptions(chalk, options);
9721
- Object.setPrototypeOf(chalk, createChalk.prototype);
9722
- return chalk;
9723
- };
9724
- function createChalk(options) {
9725
- return chalkFactory(options);
9726
- }
9727
- Object.setPrototypeOf(createChalk.prototype, Function.prototype);
9728
- for (const [styleName, style] of Object.entries(ansiStyles)) styles[styleName] = { get() {
9729
- const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
9730
- Object.defineProperty(this, styleName, { value: builder });
9731
- return builder;
9732
- } };
9733
- styles.visible = { get() {
9734
- const builder = createBuilder(this, this[STYLER], true);
9735
- Object.defineProperty(this, "visible", { value: builder });
9736
- return builder;
9737
- } };
9738
- var getModelAnsi = (model, level, type, ...arguments_) => {
9739
- if (model === "rgb") {
9740
- if (level === "ansi16m") return ansiStyles[type].ansi16m(...arguments_);
9741
- if (level === "ansi256") return ansiStyles[type].ansi256(ansiStyles.rgbToAnsi256(...arguments_));
9742
- return ansiStyles[type].ansi(ansiStyles.rgbToAnsi(...arguments_));
9743
- }
9744
- if (model === "hex") return getModelAnsi("rgb", level, type, ...ansiStyles.hexToRgb(...arguments_));
9745
- return ansiStyles[type][model](...arguments_);
9746
- };
9747
- for (const model of [
9748
- "rgb",
9749
- "hex",
9750
- "ansi256"
9751
- ]) {
9752
- styles[model] = { get() {
9753
- const { level } = this;
9754
- return function(...arguments_) {
9755
- const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansiStyles.color.close, this[STYLER]);
9756
- return createBuilder(this, styler, this[IS_EMPTY]);
9757
- };
9758
- } };
9759
- const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
9760
- styles[bgModel] = { get() {
9761
- const { level } = this;
9762
- return function(...arguments_) {
9763
- const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansiStyles.bgColor.close, this[STYLER]);
9764
- return createBuilder(this, styler, this[IS_EMPTY]);
9765
- };
9766
- } };
9767
- }
9768
- var proto = Object.defineProperties(() => {}, {
9769
- ...styles,
9770
- level: {
9771
- enumerable: true,
9772
- get() {
9773
- return this[GENERATOR].level;
9774
- },
9775
- set(level) {
9776
- this[GENERATOR].level = level;
9750
+ };
9751
+ GetHistoryInstanceFhirResource = async (resourceType, resourceId, versionId) => {
9752
+ try {
9753
+ const url = `${`${this.BaseUrl()}/${resourceType}`}/${resourceId}/_history/${versionId.toString()}`;
9754
+ const retVal = await this.#InvokeResourceAPI(url, "get", null, null);
9755
+ if (retVal) return {
9756
+ status: retVal.status,
9757
+ body: retVal.data
9758
+ };
9759
+ else throw new Error(`FhirRESTClient:GetHistoryInstanceFhirResource(): No response from #InvokeResourceAPI`);
9760
+ } catch (error) {
9761
+ if (axios.default.isAxiosError(error)) {
9762
+ const axiosError = error;
9763
+ return {
9764
+ status: axiosError.response.status,
9765
+ body: axiosError.response.data,
9766
+ headers: { ETag: axiosError.response.headers["etag"] }
9767
+ };
9768
+ } else throw error;
9777
9769
  }
9778
- }
9779
- });
9780
- var createStyler = (open, close, parent) => {
9781
- let openAll;
9782
- let closeAll;
9783
- if (parent === void 0) {
9784
- openAll = open;
9785
- closeAll = close;
9786
- } else {
9787
- openAll = parent.openAll + open;
9788
- closeAll = close + parent.closeAll;
9789
- }
9790
- return {
9791
- open,
9792
- close,
9793
- openAll,
9794
- closeAll,
9795
- parent
9796
9770
  };
9797
- };
9798
- var createBuilder = (self, _styler, _isEmpty) => {
9799
- const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
9800
- Object.setPrototypeOf(builder, proto);
9801
- builder[GENERATOR] = self;
9802
- builder[STYLER] = _styler;
9803
- builder[IS_EMPTY] = _isEmpty;
9804
- return builder;
9805
- };
9806
- var applyStyle = (self, string) => {
9807
- if (self.level <= 0 || !string) return self[IS_EMPTY] ? "" : string;
9808
- let styler = self[STYLER];
9809
- if (styler === void 0) return string;
9810
- const { openAll, closeAll } = styler;
9811
- if (string.includes("\x1B")) while (styler !== void 0) {
9812
- string = stringReplaceAll(string, styler.close, styler.open);
9813
- styler = styler.parent;
9771
+ ExtractNumber(str) {
9772
+ if (typeof str !== "string") return null;
9773
+ const match = str.match(/^\s*(?:W\/\s*)?"\s*([\d.]+)\s*"$/i);
9774
+ return match ? Number(match[1]) : null;
9814
9775
  }
9815
- const lfIndex = string.indexOf("\n");
9816
- if (lfIndex !== -1) string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
9817
- return openAll + string + closeAll;
9776
+ DeleteResource = async (resourceType, resourceId, versionIdETag) => {
9777
+ try {
9778
+ let url = `${`${this.BaseUrl()}/${resourceType}`}/${resourceId}`;
9779
+ const retVal = await this.#InvokeResourceAPI(url, "delete", versionIdETag, null);
9780
+ if (retVal) return {
9781
+ status: retVal.status,
9782
+ body: retVal.data
9783
+ };
9784
+ else throw new Error(`FhirRESTClient:DeleteResource(): No response from #InvokeResourceAPI`);
9785
+ } catch (error) {
9786
+ if (axios.default.isAxiosError(error)) {
9787
+ const axiosError = error;
9788
+ const versionNumber = this.ExtractNumber(versionIdETag) + 1;
9789
+ return {
9790
+ status: axiosError.response.status,
9791
+ body: axiosError.response.data,
9792
+ headers: { ETag: `W/"${versionNumber}"` }
9793
+ };
9794
+ } else throw error;
9795
+ }
9796
+ };
9797
+ GetMetadata = async () => {
9798
+ try {
9799
+ const resourceUrl = `${this.BaseUrl()}/metadata`;
9800
+ const retVal = await this.#InvokeResourceAPI(resourceUrl, "get", null, null);
9801
+ if (retVal) return {
9802
+ status: retVal.status,
9803
+ body: retVal.data
9804
+ };
9805
+ else throw new Error(`FhirRESTClient:GetMetadata(): No response from #InvokeResourceAPI`);
9806
+ } catch (error) {
9807
+ this.LogError("GetMetadata", error);
9808
+ throw error;
9809
+ }
9810
+ };
9811
+ GetLatency = async (params) => {
9812
+ try {
9813
+ const url = `${this.BaseUrl()}/latency`;
9814
+ const retVal = await this.#InvokeResourceAPI(url, "get", null, null);
9815
+ if (retVal) return {
9816
+ status: retVal.status,
9817
+ body: retVal.data
9818
+ };
9819
+ else throw new Error(`FhirRESTClient:GetLatency(): No response from #InvokeResourceAPI`);
9820
+ } catch (error) {
9821
+ this.LogError("GetLatency", error);
9822
+ throw error;
9823
+ }
9824
+ };
9825
+ GenericSearchTesting = async (resourceType, params) => {
9826
+ try {
9827
+ const retVal = await this.#InvokeResourceAPI(`${this.BaseUrl()}/${resourceType}/_genericSearchTesting`, "post", null, params);
9828
+ if (retVal) return {
9829
+ status: retVal.status,
9830
+ body: retVal.data
9831
+ };
9832
+ else throw new Error(`FhirRESTClient:GenericSearchTesting(): No response from #InvokeResourceAPI`);
9833
+ } catch (error) {
9834
+ this.LogError("GenericSearchTesting", error);
9835
+ throw error;
9836
+ }
9837
+ };
9818
9838
  };
9819
- Object.defineProperties(createChalk.prototype, styles);
9820
- var chalk = createChalk();
9821
- createChalk({ level: stderrColor ? stderrColor.level : 0 });
9822
9839
  //#endregion
9823
9840
  //#region node_modules/@nsshunt/stssocketioutils/dist/tiny-emitter-DcZ69ZvJ.js
9824
9841
  var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);