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