@rstest/core 0.8.5 → 0.9.1

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.
@@ -6360,7 +6360,7 @@ __webpack_require__.add({
6360
6360
  module.exports = fn;
6361
6361
  },
6362
6362
  "../../node_modules/.pnpm/is-typed-array@1.1.15/node_modules/is-typed-array/index.js" (module, __unused_rspack_exports, __webpack_require__) {
6363
- var whichTypedArray = __webpack_require__("../../node_modules/.pnpm/which-typed-array@1.1.19/node_modules/which-typed-array/index.js");
6363
+ var whichTypedArray = __webpack_require__("../../node_modules/.pnpm/which-typed-array@1.1.20/node_modules/which-typed-array/index.js");
6364
6364
  module.exports = function isTypedArray(value) {
6365
6365
  return !!whichTypedArray(value);
6366
6366
  };
@@ -8885,7 +8885,7 @@ __webpack_require__.add({
8885
8885
  "../../node_modules/.pnpm/util@0.12.5/node_modules/util/support/types.js" (__unused_rspack_module, exports, __webpack_require__) {
8886
8886
  var isArgumentsObject = __webpack_require__("../../node_modules/.pnpm/is-arguments@1.2.0/node_modules/is-arguments/index.js");
8887
8887
  var isGeneratorFunction = __webpack_require__("../../node_modules/.pnpm/is-generator-function@1.1.2/node_modules/is-generator-function/index.js");
8888
- var whichTypedArray = __webpack_require__("../../node_modules/.pnpm/which-typed-array@1.1.19/node_modules/which-typed-array/index.js");
8888
+ var whichTypedArray = __webpack_require__("../../node_modules/.pnpm/which-typed-array@1.1.20/node_modules/which-typed-array/index.js");
8889
8889
  var isTypedArray = __webpack_require__("../../node_modules/.pnpm/is-typed-array@1.1.15/node_modules/is-typed-array/index.js");
8890
8890
  function uncurryThis(f) {
8891
8891
  return f.call.bind(f);
@@ -9551,7 +9551,7 @@ __webpack_require__.add({
9551
9551
  }
9552
9552
  exports.callbackify = callbackify;
9553
9553
  },
9554
- "../../node_modules/.pnpm/which-typed-array@1.1.19/node_modules/which-typed-array/index.js" (module, __unused_rspack_exports, __webpack_require__) {
9554
+ "../../node_modules/.pnpm/which-typed-array@1.1.20/node_modules/which-typed-array/index.js" (module, __unused_rspack_exports, __webpack_require__) {
9555
9555
  var forEach = __webpack_require__("../../node_modules/.pnpm/for-each@0.3.5/node_modules/for-each/index.js");
9556
9556
  var availableTypedArrays = __webpack_require__("../../node_modules/.pnpm/available-typed-arrays@1.0.7/node_modules/available-typed-arrays/index.js");
9557
9557
  var callBind = __webpack_require__("../../node_modules/.pnpm/call-bind@1.0.8/node_modules/call-bind/index.js");
@@ -9579,12 +9579,18 @@ __webpack_require__.add({
9579
9579
  var superProto = getProto(proto);
9580
9580
  descriptor = gOPD(superProto, Symbol.toStringTag);
9581
9581
  }
9582
- cache['$' + typedArray] = callBind(descriptor.get);
9582
+ if (descriptor && descriptor.get) {
9583
+ var bound = callBind(descriptor.get);
9584
+ cache['$' + typedArray] = bound;
9585
+ }
9583
9586
  }
9584
9587
  }) : forEach(typedArrays, function(typedArray) {
9585
9588
  var arr = new g[typedArray]();
9586
9589
  var fn = arr.slice || arr.set;
9587
- if (fn) cache['$' + typedArray] = callBind(fn);
9590
+ if (fn) {
9591
+ var bound = callBind(fn);
9592
+ cache['$' + typedArray] = bound;
9593
+ }
9588
9594
  });
9589
9595
  var tryTypedArrays = function(value) {
9590
9596
  var found = false;
@@ -17871,9 +17877,18 @@ const JestExtend = (chai, utils)=>{
17871
17877
  use(JestExtendPlugin(chai, expect, expects));
17872
17878
  });
17873
17879
  };
17880
+ const util_0 = __webpack_require__("../../node_modules/.pnpm/util@0.12.5/node_modules/util/util.js");
17874
17881
  const browser = __webpack_require__("../../node_modules/.pnpm/process@0.11.10/node_modules/process/browser.js");
17875
17882
  const browser_0 = __webpack_require__("../../node_modules/.pnpm/os-browserify@0.3.0/node_modules/os-browserify/browser.js");
17876
17883
  const tty_browserify = __webpack_require__("../../node_modules/.pnpm/tty-browserify@0.0.1/node_modules/tty-browserify/index.js");
17884
+ const createStyler = (style)=>(text)=>(0, util_0.styleText)(style, String(text));
17885
+ const bold = createStyler('bold');
17886
+ const red = createStyler('red');
17887
+ const green = createStyler('green');
17888
+ const yellow = createStyler('yellow');
17889
+ const magenta = createStyler('magenta');
17890
+ const cyan = createStyler('cyan');
17891
+ const gray = createStyler('gray');
17877
17892
  function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : browser.argv) {
17878
17893
  const prefix = flag.startsWith('-') ? '' : 1 === flag.length ? '-' : '--';
17879
17894
  const position = argv.indexOf(prefix + flag);
@@ -17980,24 +17995,6 @@ let errorStackRegExp = /at [^\r\n]{0,200}:\d+:\d+[\s\)]*$/;
17980
17995
  let anonymousErrorStackRegExp = /at [^\r\n]{0,200}\(<anonymous>\)$/;
17981
17996
  let indexErrorStackRegExp = /at [^\r\n]{0,200}\(index\s\d+\)$/;
17982
17997
  let isErrorStackMessage = (message)=>errorStackRegExp.test(message) || anonymousErrorStackRegExp.test(message) || indexErrorStackRegExp.test(message);
17983
- let formatter = (open, close, replace = open)=>colorLevel >= 2 ? (input)=>{
17984
- let string = '' + input;
17985
- let index = string.indexOf(close, open.length);
17986
- return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close;
17987
- } : String;
17988
- let replaceClose = (string, close, replace, index)=>{
17989
- let start = string.substring(0, index) + replace;
17990
- let end = string.substring(index + close.length);
17991
- let nextIndex = end.indexOf(close);
17992
- return ~nextIndex ? start + replaceClose(end, close, replace, nextIndex) : start + end;
17993
- };
17994
- const bold = formatter('\x1b[1m', '\x1b[22m', '\x1b[22m\x1b[1m');
17995
- const red = formatter('\x1b[31m', '\x1b[39m');
17996
- const green = formatter('\x1b[32m', '\x1b[39m');
17997
- const yellow = formatter('\x1b[33m', '\x1b[39m');
17998
- const magenta = formatter('\x1b[35m', '\x1b[39m');
17999
- const cyan = formatter('\x1b[36m', '\x1b[39m');
18000
- const gray = formatter('\x1b[90m', '\x1b[39m');
18001
17998
  let startColor = [
18002
17999
  189,
18003
18000
  255,
@@ -18179,256 +18176,3250 @@ const castArray = (arr)=>{
18179
18176
  const getTaskNames = (test)=>(test.parentNames || []).concat(test.name).filter(Boolean);
18180
18177
  const getTaskNameWithPrefix = (test, delimiter = ">")=>getTaskNames(test).join(delimiter ? ` ${delimiter} ` : ' ');
18181
18178
  void 0 !== helper_process && helper_process.versions?.deno;
18182
- const build_0 = __webpack_require__("../../node_modules/.pnpm/jest-diff@30.2.0/node_modules/jest-diff/build/index.js");
18183
- build_0.DIFF_DELETE;
18184
- build_0.DIFF_EQUAL;
18185
- build_0.DIFF_INSERT;
18186
- build_0.Diff;
18187
- const build_diff = build_0.diff;
18188
- build_0.diffLinesRaw;
18189
- build_0.diffLinesUnified;
18190
- build_0.diffLinesUnified2;
18191
- build_0.diffStringsRaw;
18192
- build_0.diffStringsUnified;
18193
- const build_1 = __webpack_require__("../../node_modules/.pnpm/pretty-format@30.2.0/node_modules/pretty-format/build/index.js");
18194
- build_1.DEFAULT_OPTIONS;
18195
- const build_format = build_1.format;
18196
- const build_plugins = build_1.plugins;
18197
- build_1["default"];
18198
- __webpack_require__("../../node_modules/.pnpm/process@0.11.10/node_modules/process/browser.js");
18199
- const REAL_TIMERS = {};
18200
- const setRealTimers = ()=>{
18201
- REAL_TIMERS.setTimeout ??= globalThis.setTimeout.bind(globalThis);
18202
- };
18203
- const getRealTimers = ()=>REAL_TIMERS;
18204
- const formatTestError = (err, test)=>{
18205
- const errors = Array.isArray(err) ? err : [
18206
- err
18207
- ];
18208
- return errors.map((rawError)=>{
18209
- const error = 'string' == typeof rawError ? {
18210
- message: rawError
18211
- } : rawError;
18212
- const errObj = {
18213
- fullStack: error.fullStack,
18214
- message: error.message,
18215
- name: error.name,
18216
- stack: error.stack
18217
- };
18218
- if (error instanceof TestRegisterError && test?.type === 'case') errObj.message = `Can't nest describe or test inside a test. ${error.message} because it is nested within test '${test.name}'`;
18219
- if (error.showDiff || void 0 === error.showDiff && void 0 !== error.expected && void 0 !== error.actual) {
18220
- errObj.diff = build_diff(err.expected, err.actual, {
18221
- expand: false
18222
- });
18223
- errObj.expected = 'string' == typeof error.expected ? error.expected : build_format(error.expected, {
18224
- plugins: Object.values(build_plugins)
18225
- });
18226
- errObj.actual = 'string' == typeof error.actual ? error.actual : build_format(error.actual, {
18227
- plugins: Object.values(build_plugins)
18228
- });
18229
- }
18230
- return errObj;
18231
- });
18232
- };
18233
- const util_formatRegExp = /%[sdjifoOc%]/;
18234
- const formatTemplate = (template, values)=>{
18235
- if (!util_formatRegExp.test(template)) return template;
18236
- let valueIndex = 0;
18237
- return template.replace(/%[sdjifoOc%]/g, (specifier)=>{
18238
- if ('%%' === specifier) return '%';
18239
- const value = values[valueIndex++];
18240
- switch(specifier){
18241
- case '%s':
18242
- case '%O':
18243
- case '%o':
18244
- case '%c':
18245
- return String(value);
18246
- case '%d':
18247
- case '%i':
18248
- return Number.parseInt(String(value), 10).toString();
18249
- case '%f':
18250
- return Number(value).toString();
18251
- case '%j':
18252
- try {
18253
- return JSON.stringify(value);
18254
- } catch {
18255
- return '[Circular]';
18256
- }
18257
- default:
18258
- return String(value ?? '');
18259
- }
18179
+ var node_modules_chai_Buffer = __webpack_require__("../../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.js")["Buffer"];
18180
+ var chai_defProp = Object.defineProperty;
18181
+ var __defNormalProp = (obj, key, value)=>key in obj ? chai_defProp(obj, key, {
18182
+ enumerable: true,
18183
+ configurable: true,
18184
+ writable: true,
18185
+ value
18186
+ }) : obj[key] = value;
18187
+ var chai_name = (target, value)=>chai_defProp(target, "name", {
18188
+ value,
18189
+ configurable: true
18260
18190
  });
18261
- };
18262
- const formatName = (template, param, index)=>{
18263
- let templateStr = template;
18264
- if ([
18265
- '%%',
18266
- '%#',
18267
- '%$'
18268
- ].some((flag)=>templateStr.includes(flag))) templateStr = templateStr.replace(/%%/g, '__rstest_escaped_%__').replace(/%#/g, `${index}`).replace(/%\$/g, `${index + 1}`).replace(/__rstest_escaped_%__/g, '%%');
18269
- if (Array.isArray(param)) {
18270
- if (util_formatRegExp.test(templateStr)) return formatTemplate(templateStr, param);
18271
- return templateStr;
18272
- }
18273
- if (util_formatRegExp.test(templateStr)) templateStr = formatTemplate(templateStr, [
18274
- param
18275
- ]);
18276
- return templateStr.replace(/\$([$\w.]+)/g, (_, key)=>{
18277
- const value = util_getValue(param, key);
18278
- return value?.toString();
18191
+ var chai_export = (target, all)=>{
18192
+ for(var name in all)chai_defProp(target, name, {
18193
+ get: all[name],
18194
+ enumerable: true
18279
18195
  });
18280
18196
  };
18281
- function util_getValue(source, path, defaultValue) {
18282
- const paths = path.replace(/\[(\d+)\]/g, '.$1').split('.');
18283
- let result = source;
18284
- for (const p of paths){
18285
- result = result[p];
18286
- if (void 0 === result) return defaultValue;
18287
- }
18288
- return result;
18289
- }
18290
- class TestRegisterError extends Error {
18197
+ var __publicField = (obj, key, value)=>__defNormalProp(obj, "symbol" != typeof key ? key + "" : key, value);
18198
+ var chai_utils_exports = {};
18199
+ chai_export(chai_utils_exports, {
18200
+ addChainableMethod: ()=>chai_addChainableMethod,
18201
+ addLengthGuard: ()=>chai_addLengthGuard,
18202
+ addMethod: ()=>node_modules_chai_addMethod,
18203
+ addProperty: ()=>chai_addProperty,
18204
+ checkError: ()=>chai_check_error_exports,
18205
+ compareByInspect: ()=>chai_compareByInspect,
18206
+ eql: ()=>chai_deep_eql_default,
18207
+ events: ()=>events,
18208
+ expectTypes: ()=>chai_expectTypes,
18209
+ flag: ()=>node_modules_chai_flag,
18210
+ getActual: ()=>chai_getActual,
18211
+ getMessage: ()=>chai_getMessage2,
18212
+ getName: ()=>chai_getName,
18213
+ getOperator: ()=>chai_getOperator,
18214
+ getOwnEnumerableProperties: ()=>chai_getOwnEnumerableProperties,
18215
+ getOwnEnumerablePropertySymbols: ()=>chai_getOwnEnumerablePropertySymbols,
18216
+ getPathInfo: ()=>chai_getPathInfo,
18217
+ hasProperty: ()=>chai_hasProperty,
18218
+ inspect: ()=>chai_inspect2,
18219
+ isNaN: ()=>chai_isNaN2,
18220
+ isNumeric: ()=>chai_isNumeric,
18221
+ isProxyEnabled: ()=>chai_isProxyEnabled,
18222
+ isRegExp: ()=>chai_isRegExp2,
18223
+ objDisplay: ()=>node_modules_chai_objDisplay,
18224
+ overwriteChainableMethod: ()=>chai_overwriteChainableMethod,
18225
+ overwriteMethod: ()=>chai_overwriteMethod,
18226
+ overwriteProperty: ()=>chai_overwriteProperty,
18227
+ proxify: ()=>chai_proxify,
18228
+ test: ()=>node_modules_chai_test,
18229
+ transferFlags: ()=>chai_transferFlags,
18230
+ type: ()=>node_modules_chai_type
18231
+ });
18232
+ var chai_check_error_exports = {};
18233
+ chai_export(chai_check_error_exports, {
18234
+ compatibleConstructor: ()=>chai_compatibleConstructor,
18235
+ compatibleInstance: ()=>chai_compatibleInstance,
18236
+ compatibleMessage: ()=>chai_compatibleMessage,
18237
+ getConstructorName: ()=>node_modules_chai_getConstructorName,
18238
+ getMessage: ()=>chai_getMessage
18239
+ });
18240
+ function chai_isErrorInstance(obj) {
18241
+ return obj instanceof Error || "[object Error]" === Object.prototype.toString.call(obj);
18291
18242
  }
18292
- const unsupported = [
18293
- 'matchSnapshot',
18294
- 'toMatchSnapshot',
18295
- 'toMatchInlineSnapshot',
18296
- 'toThrowErrorMatchingSnapshot',
18297
- 'toThrowErrorMatchingInlineSnapshot',
18298
- 'throws',
18299
- 'Throw',
18300
- 'throw',
18301
- 'toThrow',
18302
- 'toThrowError'
18303
- ];
18304
- function createExpectPoll(expect) {
18305
- return function poll(fn, options = {}) {
18306
- const { interval = 50, timeout = 1000, message } = options;
18307
- const assertion = expect(null, message).withContext({
18308
- poll: true
18309
- });
18310
- fn = fn.bind(assertion);
18311
- const test = utils_exports.flag(assertion, 'vitest-test');
18312
- if (!test) throw new Error('expect.poll() must be called inside a test');
18313
- const proxy = new Proxy(assertion, {
18314
- get (target, key, receiver) {
18315
- const assertionFunction = Reflect.get(target, key, receiver);
18316
- if ('function' != typeof assertionFunction) return assertionFunction instanceof Assertion ? proxy : assertionFunction;
18317
- if ('assert' === key) return assertionFunction;
18318
- if ('string' == typeof key && unsupported.includes(key)) throw new SyntaxError(`expect.poll() is not supported in combination with .${key}(). Use rstest.waitFor() if your assertion condition is unstable.`);
18319
- return function(...args) {
18320
- const STACK_TRACE_ERROR = new Error('STACK_TRACE_ERROR');
18321
- const promise = ()=>new Promise((resolve, reject)=>{
18322
- let intervalId;
18323
- let timeoutId;
18324
- let lastError;
18325
- const check = async ()=>{
18326
- try {
18327
- utils_exports.flag(assertion, '_name', key);
18328
- const obj = await fn();
18329
- utils_exports.flag(assertion, 'object', obj);
18330
- resolve(await assertionFunction.call(assertion, ...args));
18331
- clearTimeout(intervalId);
18332
- clearTimeout(timeoutId);
18333
- } catch (err) {
18334
- lastError = err;
18335
- if (!utils_exports.flag(assertion, '_isLastPollAttempt')) intervalId = getRealTimers().setTimeout(check, interval);
18336
- }
18337
- };
18338
- timeoutId = getRealTimers().setTimeout(()=>{
18339
- clearTimeout(intervalId);
18340
- utils_exports.flag(assertion, '_isLastPollAttempt', true);
18341
- const rejectWithCause = (cause)=>{
18342
- reject(copyStackTrace(new Error(`Matcher did not succeed in ${timeout}ms`, {
18343
- cause
18344
- }), STACK_TRACE_ERROR));
18345
- };
18346
- check().then(()=>rejectWithCause(lastError)).catch((e)=>rejectWithCause(e));
18347
- }, timeout);
18348
- check();
18349
- });
18350
- let awaited = false;
18351
- test.onFinished ??= [];
18352
- test.onFinished.push(()=>{
18353
- if (!awaited) {
18354
- const negated = utils_exports.flag(assertion, 'negate') ? 'not.' : '';
18355
- const name = utils_exports.flag(assertion, '_poll.element') ? 'element(locator)' : 'poll(assertion)';
18356
- const assertionString = `expect.${name}.${negated}${String(key)}()`;
18357
- const error = new Error(`${assertionString} was not awaited. This assertion is asynchronous and must be awaited; otherwise, it is not executed to avoid unhandled rejections:\n\nawait ${assertionString}\n`);
18358
- throw copyStackTrace(error, STACK_TRACE_ERROR);
18359
- }
18360
- });
18361
- let resultPromise;
18362
- return {
18363
- then (onFulfilled, onRejected) {
18364
- awaited = true;
18365
- resultPromise ||= promise();
18366
- return resultPromise.then(onFulfilled, onRejected);
18367
- },
18368
- catch (onRejected) {
18369
- resultPromise ||= promise();
18370
- return resultPromise.catch(onRejected);
18371
- },
18372
- finally (onFinally) {
18373
- resultPromise ||= promise();
18374
- return resultPromise.finally(onFinally);
18375
- },
18376
- [Symbol.toStringTag]: 'Promise'
18377
- };
18378
- };
18379
- }
18380
- });
18381
- return proxy;
18382
- };
18243
+ chai_name(chai_isErrorInstance, "isErrorInstance");
18244
+ function chai_isRegExp(obj) {
18245
+ return "[object RegExp]" === Object.prototype.toString.call(obj);
18383
18246
  }
18384
- function copyStackTrace(target, source) {
18385
- if (void 0 !== source.stack) target.stack = source.stack.replace(source.message, target.message);
18386
- return target;
18247
+ chai_name(chai_isRegExp, "isRegExp");
18248
+ function chai_compatibleInstance(thrown, errorLike) {
18249
+ return chai_isErrorInstance(errorLike) && thrown === errorLike;
18387
18250
  }
18388
- var pathe_M_eThtNZ_process = __webpack_require__("../../node_modules/.pnpm/process@0.11.10/node_modules/process/browser.js");
18389
- const _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//;
18390
- function normalizeWindowsPath(input = "") {
18391
- if (!input) return input;
18392
- return input.replace(/\\/g, "/").replace(_DRIVE_LETTER_START_RE, (r)=>r.toUpperCase());
18251
+ chai_name(chai_compatibleInstance, "compatibleInstance");
18252
+ function chai_compatibleConstructor(thrown, errorLike) {
18253
+ if (chai_isErrorInstance(errorLike)) return thrown.constructor === errorLike.constructor || thrown instanceof errorLike.constructor;
18254
+ if (("object" == typeof errorLike || "function" == typeof errorLike) && errorLike.prototype) return thrown.constructor === errorLike || thrown instanceof errorLike;
18255
+ return false;
18393
18256
  }
18394
- const _UNC_REGEX = /^[/\\]{2}/;
18395
- const _IS_ABSOLUTE_RE = /^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/;
18396
- const _DRIVE_LETTER_RE = /^[A-Za-z]:$/;
18397
- const pathe_M_eThtNZ_normalize = function(path) {
18398
- if (0 === path.length) return ".";
18399
- path = normalizeWindowsPath(path);
18400
- const isUNCPath = path.match(_UNC_REGEX);
18401
- const isPathAbsolute = pathe_M_eThtNZ_isAbsolute(path);
18402
- const trailingSeparator = "/" === path[path.length - 1];
18403
- path = normalizeString(path, !isPathAbsolute);
18404
- if (0 === path.length) {
18405
- if (isPathAbsolute) return "/";
18406
- return trailingSeparator ? "./" : ".";
18407
- }
18408
- if (trailingSeparator) path += "/";
18409
- if (_DRIVE_LETTER_RE.test(path)) path += "/";
18410
- if (isUNCPath) {
18411
- if (!isPathAbsolute) return `//./${path}`;
18412
- return `//${path}`;
18413
- }
18414
- return isPathAbsolute && !pathe_M_eThtNZ_isAbsolute(path) ? `/${path}` : path;
18415
- };
18416
- function cwd() {
18417
- if (void 0 !== pathe_M_eThtNZ_process && "function" == typeof pathe_M_eThtNZ_process.cwd) return pathe_M_eThtNZ_process.cwd().replace(/\\/g, "/");
18418
- return "/";
18257
+ chai_name(chai_compatibleConstructor, "compatibleConstructor");
18258
+ function chai_compatibleMessage(thrown, errMatcher) {
18259
+ const comparisonString = "string" == typeof thrown ? thrown : thrown.message;
18260
+ if (chai_isRegExp(errMatcher)) return errMatcher.test(comparisonString);
18261
+ if ("string" == typeof errMatcher) return -1 !== comparisonString.indexOf(errMatcher);
18262
+ return false;
18419
18263
  }
18420
- const pathe_M_eThtNZ_resolve = function(...arguments_) {
18421
- arguments_ = arguments_.map((argument)=>normalizeWindowsPath(argument));
18422
- let resolvedPath = "";
18423
- let resolvedAbsolute = false;
18424
- for(let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--){
18425
- const path = index >= 0 ? arguments_[index] : cwd();
18426
- if (path && 0 !== path.length) {
18427
- resolvedPath = `${path}/${resolvedPath}`;
18428
- resolvedAbsolute = pathe_M_eThtNZ_isAbsolute(path);
18264
+ chai_name(chai_compatibleMessage, "compatibleMessage");
18265
+ function node_modules_chai_getConstructorName(errorLike) {
18266
+ let constructorName = errorLike;
18267
+ if (chai_isErrorInstance(errorLike)) constructorName = errorLike.constructor.name;
18268
+ else if ("function" == typeof errorLike) {
18269
+ constructorName = errorLike.name;
18270
+ if ("" === constructorName) {
18271
+ const newConstructorName = new errorLike().name;
18272
+ constructorName = newConstructorName || constructorName;
18429
18273
  }
18430
18274
  }
18431
- resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute);
18275
+ return constructorName;
18276
+ }
18277
+ chai_name(node_modules_chai_getConstructorName, "getConstructorName");
18278
+ function chai_getMessage(errorLike) {
18279
+ let msg = "";
18280
+ if (errorLike && errorLike.message) msg = errorLike.message;
18281
+ else if ("string" == typeof errorLike) msg = errorLike;
18282
+ return msg;
18283
+ }
18284
+ chai_name(chai_getMessage, "getMessage");
18285
+ function node_modules_chai_flag(obj, key, value) {
18286
+ let flags = obj.__flags || (obj.__flags = /* @__PURE__ */ Object.create(null));
18287
+ if (3 !== arguments.length) return flags[key];
18288
+ flags[key] = value;
18289
+ }
18290
+ chai_name(node_modules_chai_flag, "flag");
18291
+ function node_modules_chai_test(obj, args) {
18292
+ let negate = node_modules_chai_flag(obj, "negate"), expr = args[0];
18293
+ return negate ? !expr : expr;
18294
+ }
18295
+ chai_name(node_modules_chai_test, "test");
18296
+ function node_modules_chai_type(obj) {
18297
+ if (void 0 === obj) return "undefined";
18298
+ if (null === obj) return "null";
18299
+ const stringTag = obj[Symbol.toStringTag];
18300
+ if ("string" == typeof stringTag) return stringTag;
18301
+ const type3 = Object.prototype.toString.call(obj).slice(8, -1);
18302
+ return type3;
18303
+ }
18304
+ chai_name(node_modules_chai_type, "type");
18305
+ var chai_canElideFrames = "captureStackTrace" in Error;
18306
+ var node_modules_chai_AssertionError = class _AssertionError extends Error {
18307
+ constructor(message = "Unspecified AssertionError", props, ssf){
18308
+ super(message);
18309
+ __publicField(this, "message");
18310
+ this.message = message;
18311
+ if (chai_canElideFrames) Error.captureStackTrace(this, ssf || _AssertionError);
18312
+ for(const key in props)if (!(key in this)) this[key] = props[key];
18313
+ }
18314
+ get name() {
18315
+ return "AssertionError";
18316
+ }
18317
+ get ok() {
18318
+ return false;
18319
+ }
18320
+ toJSON(stack) {
18321
+ return {
18322
+ ...this,
18323
+ name: this.name,
18324
+ message: this.message,
18325
+ ok: false,
18326
+ stack: false !== stack ? this.stack : void 0
18327
+ };
18328
+ }
18329
+ };
18330
+ chai_name(node_modules_chai_AssertionError, "AssertionError");
18331
+ var chai_6_2_2_node_modules_chai_AssertionError = node_modules_chai_AssertionError;
18332
+ function chai_expectTypes(obj, types) {
18333
+ let flagMsg = node_modules_chai_flag(obj, "message");
18334
+ let ssfi = node_modules_chai_flag(obj, "ssfi");
18335
+ flagMsg = flagMsg ? flagMsg + ": " : "";
18336
+ obj = node_modules_chai_flag(obj, "object");
18337
+ types = types.map(function(t) {
18338
+ return t.toLowerCase();
18339
+ });
18340
+ types.sort();
18341
+ let str = types.map(function(t, index) {
18342
+ let art = ~[
18343
+ "a",
18344
+ "e",
18345
+ "i",
18346
+ "o",
18347
+ "u"
18348
+ ].indexOf(t.charAt(0)) ? "an" : "a";
18349
+ let or = types.length > 1 && index === types.length - 1 ? "or " : "";
18350
+ return or + art + " " + t;
18351
+ }).join(", ");
18352
+ let objType = node_modules_chai_type(obj).toLowerCase();
18353
+ if (!types.some(function(expected) {
18354
+ return objType === expected;
18355
+ })) throw new chai_6_2_2_node_modules_chai_AssertionError(flagMsg + "object tested must be " + str + ", but " + objType + " given", void 0, ssfi);
18356
+ }
18357
+ chai_name(chai_expectTypes, "expectTypes");
18358
+ function chai_getActual(obj, args) {
18359
+ return args.length > 4 ? args[4] : obj._obj;
18360
+ }
18361
+ chai_name(chai_getActual, "getActual");
18362
+ var node_modules_chai_ansiColors = {
18363
+ bold: [
18364
+ "1",
18365
+ "22"
18366
+ ],
18367
+ dim: [
18368
+ "2",
18369
+ "22"
18370
+ ],
18371
+ italic: [
18372
+ "3",
18373
+ "23"
18374
+ ],
18375
+ underline: [
18376
+ "4",
18377
+ "24"
18378
+ ],
18379
+ inverse: [
18380
+ "7",
18381
+ "27"
18382
+ ],
18383
+ hidden: [
18384
+ "8",
18385
+ "28"
18386
+ ],
18387
+ strike: [
18388
+ "9",
18389
+ "29"
18390
+ ],
18391
+ black: [
18392
+ "30",
18393
+ "39"
18394
+ ],
18395
+ red: [
18396
+ "31",
18397
+ "39"
18398
+ ],
18399
+ green: [
18400
+ "32",
18401
+ "39"
18402
+ ],
18403
+ yellow: [
18404
+ "33",
18405
+ "39"
18406
+ ],
18407
+ blue: [
18408
+ "34",
18409
+ "39"
18410
+ ],
18411
+ magenta: [
18412
+ "35",
18413
+ "39"
18414
+ ],
18415
+ cyan: [
18416
+ "36",
18417
+ "39"
18418
+ ],
18419
+ white: [
18420
+ "37",
18421
+ "39"
18422
+ ],
18423
+ brightblack: [
18424
+ "30;1",
18425
+ "39"
18426
+ ],
18427
+ brightred: [
18428
+ "31;1",
18429
+ "39"
18430
+ ],
18431
+ brightgreen: [
18432
+ "32;1",
18433
+ "39"
18434
+ ],
18435
+ brightyellow: [
18436
+ "33;1",
18437
+ "39"
18438
+ ],
18439
+ brightblue: [
18440
+ "34;1",
18441
+ "39"
18442
+ ],
18443
+ brightmagenta: [
18444
+ "35;1",
18445
+ "39"
18446
+ ],
18447
+ brightcyan: [
18448
+ "36;1",
18449
+ "39"
18450
+ ],
18451
+ brightwhite: [
18452
+ "37;1",
18453
+ "39"
18454
+ ],
18455
+ grey: [
18456
+ "90",
18457
+ "39"
18458
+ ]
18459
+ };
18460
+ var node_modules_chai_styles = {
18461
+ special: "cyan",
18462
+ number: "yellow",
18463
+ bigint: "yellow",
18464
+ boolean: "yellow",
18465
+ undefined: "grey",
18466
+ null: "bold",
18467
+ string: "green",
18468
+ symbol: "green",
18469
+ date: "magenta",
18470
+ regexp: "red"
18471
+ };
18472
+ var node_modules_chai_truncator = "\u2026";
18473
+ function node_modules_chai_colorise(value, styleType) {
18474
+ const color = node_modules_chai_ansiColors[node_modules_chai_styles[styleType]] || node_modules_chai_ansiColors[styleType] || "";
18475
+ if (!color) return String(value);
18476
+ return `\x1B[${color[0]}m${String(value)}\x1B[${color[1]}m`;
18477
+ }
18478
+ chai_name(node_modules_chai_colorise, "colorise");
18479
+ function node_modules_chai_normaliseOptions({ showHidden = false, depth = 2, colors = false, customInspect = true, showProxy = false, maxArrayLength = 1 / 0, breakLength = 1 / 0, seen = [], truncate: truncate2 = 1 / 0, stylize = String } = {}, inspect3) {
18480
+ const options = {
18481
+ showHidden: Boolean(showHidden),
18482
+ depth: Number(depth),
18483
+ colors: Boolean(colors),
18484
+ customInspect: Boolean(customInspect),
18485
+ showProxy: Boolean(showProxy),
18486
+ maxArrayLength: Number(maxArrayLength),
18487
+ breakLength: Number(breakLength),
18488
+ truncate: Number(truncate2),
18489
+ seen,
18490
+ inspect: inspect3,
18491
+ stylize
18492
+ };
18493
+ if (options.colors) options.stylize = node_modules_chai_colorise;
18494
+ return options;
18495
+ }
18496
+ chai_name(node_modules_chai_normaliseOptions, "normaliseOptions");
18497
+ function node_modules_chai_isHighSurrogate(char) {
18498
+ return char >= "\uD800" && char <= "\uDBFF";
18499
+ }
18500
+ chai_name(node_modules_chai_isHighSurrogate, "isHighSurrogate");
18501
+ function node_modules_chai_truncate(string, length, tail = node_modules_chai_truncator) {
18502
+ string = String(string);
18503
+ const tailLength = tail.length;
18504
+ const stringLength = string.length;
18505
+ if (tailLength > length && stringLength > tailLength) return tail;
18506
+ if (stringLength > length && stringLength > tailLength) {
18507
+ let end = length - tailLength;
18508
+ if (end > 0 && node_modules_chai_isHighSurrogate(string[end - 1])) end -= 1;
18509
+ return `${string.slice(0, end)}${tail}`;
18510
+ }
18511
+ return string;
18512
+ }
18513
+ chai_name(node_modules_chai_truncate, "truncate");
18514
+ function node_modules_chai_inspectList(list, options, inspectItem, separator = ", ") {
18515
+ inspectItem = inspectItem || options.inspect;
18516
+ const size = list.length;
18517
+ if (0 === size) return "";
18518
+ const originalLength = options.truncate;
18519
+ let output = "";
18520
+ let peek = "";
18521
+ let truncated = "";
18522
+ for(let i = 0; i < size; i += 1){
18523
+ const last = i + 1 === list.length;
18524
+ const secondToLast = i + 2 === list.length;
18525
+ truncated = `${node_modules_chai_truncator}(${list.length - i})`;
18526
+ const value = list[i];
18527
+ options.truncate = originalLength - output.length - (last ? 0 : separator.length);
18528
+ const string = peek || inspectItem(value, options) + (last ? "" : separator);
18529
+ const nextLength = output.length + string.length;
18530
+ const truncatedLength = nextLength + truncated.length;
18531
+ if (last && nextLength > originalLength && output.length + truncated.length <= originalLength) break;
18532
+ if (!last && !secondToLast && truncatedLength > originalLength) break;
18533
+ peek = last ? "" : inspectItem(list[i + 1], options) + (secondToLast ? "" : separator);
18534
+ if (!last && secondToLast && truncatedLength > originalLength && nextLength + peek.length > originalLength) break;
18535
+ output += string;
18536
+ if (!last && !secondToLast && nextLength + peek.length >= originalLength) {
18537
+ truncated = `${node_modules_chai_truncator}(${list.length - i - 1})`;
18538
+ break;
18539
+ }
18540
+ truncated = "";
18541
+ }
18542
+ return `${output}${truncated}`;
18543
+ }
18544
+ chai_name(node_modules_chai_inspectList, "inspectList");
18545
+ function node_modules_chai_quoteComplexKey(key) {
18546
+ if (key.match(/^[a-zA-Z_][a-zA-Z_0-9]*$/)) return key;
18547
+ return JSON.stringify(key).replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'");
18548
+ }
18549
+ chai_name(node_modules_chai_quoteComplexKey, "quoteComplexKey");
18550
+ function node_modules_chai_inspectProperty([key, value], options) {
18551
+ options.truncate -= 2;
18552
+ if ("string" == typeof key) key = node_modules_chai_quoteComplexKey(key);
18553
+ else if ("number" != typeof key) key = `[${options.inspect(key, options)}]`;
18554
+ options.truncate -= key.length;
18555
+ value = options.inspect(value, options);
18556
+ return `${key}: ${value}`;
18557
+ }
18558
+ chai_name(node_modules_chai_inspectProperty, "inspectProperty");
18559
+ function node_modules_chai_inspectArray(array, options) {
18560
+ const nonIndexProperties = Object.keys(array).slice(array.length);
18561
+ if (!array.length && !nonIndexProperties.length) return "[]";
18562
+ options.truncate -= 4;
18563
+ const listContents = node_modules_chai_inspectList(array, options);
18564
+ options.truncate -= listContents.length;
18565
+ let propertyContents = "";
18566
+ if (nonIndexProperties.length) propertyContents = node_modules_chai_inspectList(nonIndexProperties.map((key)=>[
18567
+ key,
18568
+ array[key]
18569
+ ]), options, node_modules_chai_inspectProperty);
18570
+ return `[ ${listContents}${propertyContents ? `, ${propertyContents}` : ""} ]`;
18571
+ }
18572
+ chai_name(node_modules_chai_inspectArray, "inspectArray");
18573
+ var node_modules_chai_getArrayName = /* @__PURE__ */ chai_name((array)=>{
18574
+ if ("function" == typeof node_modules_chai_Buffer && array instanceof node_modules_chai_Buffer) return "Buffer";
18575
+ if (array[Symbol.toStringTag]) return array[Symbol.toStringTag];
18576
+ return array.constructor.name;
18577
+ }, "getArrayName");
18578
+ function node_modules_chai_inspectTypedArray(array, options) {
18579
+ const name = node_modules_chai_getArrayName(array);
18580
+ options.truncate -= name.length + 4;
18581
+ const nonIndexProperties = Object.keys(array).slice(array.length);
18582
+ if (!array.length && !nonIndexProperties.length) return `${name}[]`;
18583
+ let output = "";
18584
+ for(let i = 0; i < array.length; i++){
18585
+ const string = `${options.stylize(node_modules_chai_truncate(array[i], options.truncate), "number")}${i === array.length - 1 ? "" : ", "}`;
18586
+ options.truncate -= string.length;
18587
+ if (array[i] !== array.length && options.truncate <= 3) {
18588
+ output += `${node_modules_chai_truncator}(${array.length - array[i] + 1})`;
18589
+ break;
18590
+ }
18591
+ output += string;
18592
+ }
18593
+ let propertyContents = "";
18594
+ if (nonIndexProperties.length) propertyContents = node_modules_chai_inspectList(nonIndexProperties.map((key)=>[
18595
+ key,
18596
+ array[key]
18597
+ ]), options, node_modules_chai_inspectProperty);
18598
+ return `${name}[ ${output}${propertyContents ? `, ${propertyContents}` : ""} ]`;
18599
+ }
18600
+ chai_name(node_modules_chai_inspectTypedArray, "inspectTypedArray");
18601
+ function node_modules_chai_inspectDate(dateObject, options) {
18602
+ const stringRepresentation = dateObject.toJSON();
18603
+ if (null === stringRepresentation) return "Invalid Date";
18604
+ const split = stringRepresentation.split("T");
18605
+ const date = split[0];
18606
+ return options.stylize(`${date}T${node_modules_chai_truncate(split[1], options.truncate - date.length - 1)}`, "date");
18607
+ }
18608
+ chai_name(node_modules_chai_inspectDate, "inspectDate");
18609
+ function node_modules_chai_inspectFunction(func, options) {
18610
+ const functionType = func[Symbol.toStringTag] || "Function";
18611
+ const name = func.name;
18612
+ if (!name) return options.stylize(`[${functionType}]`, "special");
18613
+ return options.stylize(`[${functionType} ${node_modules_chai_truncate(name, options.truncate - 11)}]`, "special");
18614
+ }
18615
+ chai_name(node_modules_chai_inspectFunction, "inspectFunction");
18616
+ function node_modules_chai_inspectMapEntry([key, value], options) {
18617
+ options.truncate -= 4;
18618
+ key = options.inspect(key, options);
18619
+ options.truncate -= key.length;
18620
+ value = options.inspect(value, options);
18621
+ return `${key} => ${value}`;
18622
+ }
18623
+ chai_name(node_modules_chai_inspectMapEntry, "inspectMapEntry");
18624
+ function node_modules_chai_mapToEntries(map) {
18625
+ const entries = [];
18626
+ map.forEach((value, key)=>{
18627
+ entries.push([
18628
+ key,
18629
+ value
18630
+ ]);
18631
+ });
18632
+ return entries;
18633
+ }
18634
+ chai_name(node_modules_chai_mapToEntries, "mapToEntries");
18635
+ function node_modules_chai_inspectMap(map, options) {
18636
+ if (0 === map.size) return "Map{}";
18637
+ options.truncate -= 7;
18638
+ return `Map{ ${node_modules_chai_inspectList(node_modules_chai_mapToEntries(map), options, node_modules_chai_inspectMapEntry)} }`;
18639
+ }
18640
+ chai_name(node_modules_chai_inspectMap, "inspectMap");
18641
+ var node_modules_chai_isNaN = Number.isNaN || ((i)=>i !== i);
18642
+ function node_modules_chai_inspectNumber(number, options) {
18643
+ if (node_modules_chai_isNaN(number)) return options.stylize("NaN", "number");
18644
+ if (number === 1 / 0) return options.stylize("Infinity", "number");
18645
+ if (number === -1 / 0) return options.stylize("-Infinity", "number");
18646
+ if (0 === number) return options.stylize(1 / number === 1 / 0 ? "+0" : "-0", "number");
18647
+ return options.stylize(node_modules_chai_truncate(String(number), options.truncate), "number");
18648
+ }
18649
+ chai_name(node_modules_chai_inspectNumber, "inspectNumber");
18650
+ function node_modules_chai_inspectBigInt(number, options) {
18651
+ let nums = node_modules_chai_truncate(number.toString(), options.truncate - 1);
18652
+ if (nums !== node_modules_chai_truncator) nums += "n";
18653
+ return options.stylize(nums, "bigint");
18654
+ }
18655
+ chai_name(node_modules_chai_inspectBigInt, "inspectBigInt");
18656
+ function node_modules_chai_inspectRegExp(value, options) {
18657
+ const flags = value.toString().split("/")[2];
18658
+ const sourceLength = options.truncate - (2 + flags.length);
18659
+ const source = value.source;
18660
+ return options.stylize(`/${node_modules_chai_truncate(source, sourceLength)}/${flags}`, "regexp");
18661
+ }
18662
+ chai_name(node_modules_chai_inspectRegExp, "inspectRegExp");
18663
+ function node_modules_chai_arrayFromSet(set2) {
18664
+ const values = [];
18665
+ set2.forEach((value)=>{
18666
+ values.push(value);
18667
+ });
18668
+ return values;
18669
+ }
18670
+ chai_name(node_modules_chai_arrayFromSet, "arrayFromSet");
18671
+ function node_modules_chai_inspectSet(set2, options) {
18672
+ if (0 === set2.size) return "Set{}";
18673
+ options.truncate -= 7;
18674
+ return `Set{ ${node_modules_chai_inspectList(node_modules_chai_arrayFromSet(set2), options)} }`;
18675
+ }
18676
+ chai_name(node_modules_chai_inspectSet, "inspectSet");
18677
+ var node_modules_chai_stringEscapeChars = new RegExp("['\\u0000-\\u001f\\u007f-\\u009f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]", "g");
18678
+ var node_modules_chai_escapeCharacters = {
18679
+ "\b": "\\b",
18680
+ " ": "\\t",
18681
+ "\n": "\\n",
18682
+ "\f": "\\f",
18683
+ "\r": "\\r",
18684
+ "'": "\\'",
18685
+ "\\": "\\\\"
18686
+ };
18687
+ var node_modules_chai_hex = 16;
18688
+ var node_modules_chai_unicodeLength = 4;
18689
+ function node_modules_chai_escape(char) {
18690
+ return node_modules_chai_escapeCharacters[char] || `\\u${`0000${char.charCodeAt(0).toString(node_modules_chai_hex)}`.slice(-node_modules_chai_unicodeLength)}`;
18691
+ }
18692
+ chai_name(node_modules_chai_escape, "escape");
18693
+ function node_modules_chai_inspectString(string, options) {
18694
+ if (node_modules_chai_stringEscapeChars.test(string)) string = string.replace(node_modules_chai_stringEscapeChars, node_modules_chai_escape);
18695
+ return options.stylize(`'${node_modules_chai_truncate(string, options.truncate - 2)}'`, "string");
18696
+ }
18697
+ chai_name(node_modules_chai_inspectString, "inspectString");
18698
+ function node_modules_chai_inspectSymbol(value) {
18699
+ if ("description" in Symbol.prototype) return value.description ? `Symbol(${value.description})` : "Symbol()";
18700
+ return value.toString();
18701
+ }
18702
+ chai_name(node_modules_chai_inspectSymbol, "inspectSymbol");
18703
+ var node_modules_chai_getPromiseValue = /* @__PURE__ */ chai_name(()=>"Promise{\u2026}", "getPromiseValue");
18704
+ var chai_promise_default = node_modules_chai_getPromiseValue;
18705
+ function node_modules_chai_inspectObject(object, options) {
18706
+ const properties = Object.getOwnPropertyNames(object);
18707
+ const symbols = Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(object) : [];
18708
+ if (0 === properties.length && 0 === symbols.length) return "{}";
18709
+ options.truncate -= 4;
18710
+ options.seen = options.seen || [];
18711
+ if (options.seen.includes(object)) return "[Circular]";
18712
+ options.seen.push(object);
18713
+ const propertyContents = node_modules_chai_inspectList(properties.map((key)=>[
18714
+ key,
18715
+ object[key]
18716
+ ]), options, node_modules_chai_inspectProperty);
18717
+ const symbolContents = node_modules_chai_inspectList(symbols.map((key)=>[
18718
+ key,
18719
+ object[key]
18720
+ ]), options, node_modules_chai_inspectProperty);
18721
+ options.seen.pop();
18722
+ let sep = "";
18723
+ if (propertyContents && symbolContents) sep = ", ";
18724
+ return `{ ${propertyContents}${sep}${symbolContents} }`;
18725
+ }
18726
+ chai_name(node_modules_chai_inspectObject, "inspectObject");
18727
+ var node_modules_chai_toStringTag = "u" > typeof Symbol && Symbol.toStringTag ? Symbol.toStringTag : false;
18728
+ function node_modules_chai_inspectClass(value, options) {
18729
+ let name = "";
18730
+ if (node_modules_chai_toStringTag && node_modules_chai_toStringTag in value) name = value[node_modules_chai_toStringTag];
18731
+ name = name || value.constructor.name;
18732
+ if (!name || "_class" === name) name = "<Anonymous Class>";
18733
+ options.truncate -= name.length;
18734
+ return `${name}${node_modules_chai_inspectObject(value, options)}`;
18735
+ }
18736
+ chai_name(node_modules_chai_inspectClass, "inspectClass");
18737
+ function node_modules_chai_inspectArguments(args, options) {
18738
+ if (0 === args.length) return "Arguments[]";
18739
+ options.truncate -= 13;
18740
+ return `Arguments[ ${node_modules_chai_inspectList(args, options)} ]`;
18741
+ }
18742
+ chai_name(node_modules_chai_inspectArguments, "inspectArguments");
18743
+ var node_modules_chai_errorKeys = [
18744
+ "stack",
18745
+ "line",
18746
+ "column",
18747
+ "name",
18748
+ "message",
18749
+ "fileName",
18750
+ "lineNumber",
18751
+ "columnNumber",
18752
+ "number",
18753
+ "description",
18754
+ "cause"
18755
+ ];
18756
+ function chai_inspectObject2(error, options) {
18757
+ const properties = Object.getOwnPropertyNames(error).filter((key)=>-1 === node_modules_chai_errorKeys.indexOf(key));
18758
+ const name = error.name;
18759
+ options.truncate -= name.length;
18760
+ let message = "";
18761
+ if ("string" == typeof error.message) message = node_modules_chai_truncate(error.message, options.truncate);
18762
+ else properties.unshift("message");
18763
+ message = message ? `: ${message}` : "";
18764
+ options.truncate -= message.length + 5;
18765
+ options.seen = options.seen || [];
18766
+ if (options.seen.includes(error)) return "[Circular]";
18767
+ options.seen.push(error);
18768
+ const propertyContents = node_modules_chai_inspectList(properties.map((key)=>[
18769
+ key,
18770
+ error[key]
18771
+ ]), options, node_modules_chai_inspectProperty);
18772
+ return `${name}${message}${propertyContents ? ` { ${propertyContents} }` : ""}`;
18773
+ }
18774
+ chai_name(chai_inspectObject2, "inspectObject");
18775
+ function node_modules_chai_inspectAttribute([key, value], options) {
18776
+ options.truncate -= 3;
18777
+ if (!value) return `${options.stylize(String(key), "yellow")}`;
18778
+ return `${options.stylize(String(key), "yellow")}=${options.stylize(`"${value}"`, "string")}`;
18779
+ }
18780
+ chai_name(node_modules_chai_inspectAttribute, "inspectAttribute");
18781
+ function node_modules_chai_inspectNodeCollection(collection, options) {
18782
+ return node_modules_chai_inspectList(collection, options, node_modules_chai_inspectNode, "\n");
18783
+ }
18784
+ chai_name(node_modules_chai_inspectNodeCollection, "inspectNodeCollection");
18785
+ function node_modules_chai_inspectNode(node, options) {
18786
+ switch(node.nodeType){
18787
+ case 1:
18788
+ return node_modules_chai_inspectHTML(node, options);
18789
+ case 3:
18790
+ return options.inspect(node.data, options);
18791
+ default:
18792
+ return options.inspect(node, options);
18793
+ }
18794
+ }
18795
+ chai_name(node_modules_chai_inspectNode, "inspectNode");
18796
+ function node_modules_chai_inspectHTML(element, options) {
18797
+ const properties = element.getAttributeNames();
18798
+ const name = element.tagName.toLowerCase();
18799
+ const head = options.stylize(`<${name}`, "special");
18800
+ const headClose = options.stylize(">", "special");
18801
+ const tail = options.stylize(`</${name}>`, "special");
18802
+ options.truncate -= 2 * name.length + 5;
18803
+ let propertyContents = "";
18804
+ if (properties.length > 0) {
18805
+ propertyContents += " ";
18806
+ propertyContents += node_modules_chai_inspectList(properties.map((key)=>[
18807
+ key,
18808
+ element.getAttribute(key)
18809
+ ]), options, node_modules_chai_inspectAttribute, " ");
18810
+ }
18811
+ options.truncate -= propertyContents.length;
18812
+ const truncate2 = options.truncate;
18813
+ let children = node_modules_chai_inspectNodeCollection(element.children, options);
18814
+ if (children && children.length > truncate2) children = `${node_modules_chai_truncator}(${element.children.length})`;
18815
+ return `${head}${propertyContents}${headClose}${children}${tail}`;
18816
+ }
18817
+ chai_name(node_modules_chai_inspectHTML, "inspectHTML");
18818
+ var node_modules_chai_symbolsSupported = "function" == typeof Symbol && "function" == typeof Symbol.for;
18819
+ var node_modules_chai_chaiInspect = node_modules_chai_symbolsSupported ? /* @__PURE__ */ Symbol.for("chai/inspect") : "@@chai/inspect";
18820
+ var node_modules_chai_nodeInspect = /* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom");
18821
+ var node_modules_chai_constructorMap = /* @__PURE__ */ new WeakMap();
18822
+ var node_modules_chai_stringTagMap = {};
18823
+ var node_modules_chai_baseTypesMap = {
18824
+ undefined: /* @__PURE__ */ chai_name((value, options)=>options.stylize("undefined", "undefined"), "undefined"),
18825
+ null: /* @__PURE__ */ chai_name((value, options)=>options.stylize("null", "null"), "null"),
18826
+ boolean: /* @__PURE__ */ chai_name((value, options)=>options.stylize(String(value), "boolean"), "boolean"),
18827
+ Boolean: /* @__PURE__ */ chai_name((value, options)=>options.stylize(String(value), "boolean"), "Boolean"),
18828
+ number: node_modules_chai_inspectNumber,
18829
+ Number: node_modules_chai_inspectNumber,
18830
+ bigint: node_modules_chai_inspectBigInt,
18831
+ BigInt: node_modules_chai_inspectBigInt,
18832
+ string: node_modules_chai_inspectString,
18833
+ String: node_modules_chai_inspectString,
18834
+ function: node_modules_chai_inspectFunction,
18835
+ Function: node_modules_chai_inspectFunction,
18836
+ symbol: node_modules_chai_inspectSymbol,
18837
+ Symbol: node_modules_chai_inspectSymbol,
18838
+ Array: node_modules_chai_inspectArray,
18839
+ Date: node_modules_chai_inspectDate,
18840
+ Map: node_modules_chai_inspectMap,
18841
+ Set: node_modules_chai_inspectSet,
18842
+ RegExp: node_modules_chai_inspectRegExp,
18843
+ Promise: chai_promise_default,
18844
+ WeakSet: /* @__PURE__ */ chai_name((value, options)=>options.stylize("WeakSet{\u2026}", "special"), "WeakSet"),
18845
+ WeakMap: /* @__PURE__ */ chai_name((value, options)=>options.stylize("WeakMap{\u2026}", "special"), "WeakMap"),
18846
+ Arguments: node_modules_chai_inspectArguments,
18847
+ Int8Array: node_modules_chai_inspectTypedArray,
18848
+ Uint8Array: node_modules_chai_inspectTypedArray,
18849
+ Uint8ClampedArray: node_modules_chai_inspectTypedArray,
18850
+ Int16Array: node_modules_chai_inspectTypedArray,
18851
+ Uint16Array: node_modules_chai_inspectTypedArray,
18852
+ Int32Array: node_modules_chai_inspectTypedArray,
18853
+ Uint32Array: node_modules_chai_inspectTypedArray,
18854
+ Float32Array: node_modules_chai_inspectTypedArray,
18855
+ Float64Array: node_modules_chai_inspectTypedArray,
18856
+ Generator: /* @__PURE__ */ chai_name(()=>"", "Generator"),
18857
+ DataView: /* @__PURE__ */ chai_name(()=>"", "DataView"),
18858
+ ArrayBuffer: /* @__PURE__ */ chai_name(()=>"", "ArrayBuffer"),
18859
+ Error: chai_inspectObject2,
18860
+ HTMLCollection: node_modules_chai_inspectNodeCollection,
18861
+ NodeList: node_modules_chai_inspectNodeCollection
18862
+ };
18863
+ var node_modules_chai_inspectCustom = /* @__PURE__ */ chai_name((value, options, type3, inspectFn)=>{
18864
+ if (node_modules_chai_chaiInspect in value && "function" == typeof value[node_modules_chai_chaiInspect]) return value[node_modules_chai_chaiInspect](options);
18865
+ if (node_modules_chai_nodeInspect in value && "function" == typeof value[node_modules_chai_nodeInspect]) return value[node_modules_chai_nodeInspect](options.depth, options, inspectFn);
18866
+ if ("inspect" in value && "function" == typeof value.inspect) return value.inspect(options.depth, options);
18867
+ if ("constructor" in value && node_modules_chai_constructorMap.has(value.constructor)) return node_modules_chai_constructorMap.get(value.constructor)(value, options);
18868
+ if (node_modules_chai_stringTagMap[type3]) return node_modules_chai_stringTagMap[type3](value, options);
18869
+ return "";
18870
+ }, "inspectCustom");
18871
+ var node_modules_chai_toString = Object.prototype.toString;
18872
+ function node_modules_chai_inspect(value, opts = {}) {
18873
+ const options = node_modules_chai_normaliseOptions(opts, node_modules_chai_inspect);
18874
+ const { customInspect } = options;
18875
+ let type3 = null === value ? "null" : typeof value;
18876
+ if ("object" === type3) type3 = node_modules_chai_toString.call(value).slice(8, -1);
18877
+ if (type3 in node_modules_chai_baseTypesMap) return node_modules_chai_baseTypesMap[type3](value, options);
18878
+ if (customInspect && value) {
18879
+ const output = node_modules_chai_inspectCustom(value, options, type3, node_modules_chai_inspect);
18880
+ if (output) {
18881
+ if ("string" == typeof output) return output;
18882
+ return node_modules_chai_inspect(output, options);
18883
+ }
18884
+ }
18885
+ const proto = value ? Object.getPrototypeOf(value) : false;
18886
+ if (proto === Object.prototype || null === proto) return node_modules_chai_inspectObject(value, options);
18887
+ if (value && "function" == typeof HTMLElement && value instanceof HTMLElement) return node_modules_chai_inspectHTML(value, options);
18888
+ if ("constructor" in value) {
18889
+ if (value.constructor !== Object) return node_modules_chai_inspectClass(value, options);
18890
+ return node_modules_chai_inspectObject(value, options);
18891
+ }
18892
+ if (value === Object(value)) return node_modules_chai_inspectObject(value, options);
18893
+ return options.stylize(String(value), type3);
18894
+ }
18895
+ chai_name(node_modules_chai_inspect, "inspect");
18896
+ var node_modules_chai_config = {
18897
+ includeStack: false,
18898
+ showDiff: true,
18899
+ truncateThreshold: 40,
18900
+ useProxy: true,
18901
+ proxyExcludedKeys: [
18902
+ "then",
18903
+ "catch",
18904
+ "inspect",
18905
+ "toJSON"
18906
+ ],
18907
+ deepEqual: null
18908
+ };
18909
+ function chai_inspect2(obj, showHidden, depth, colors) {
18910
+ let options = {
18911
+ colors,
18912
+ depth: void 0 === depth ? 2 : depth,
18913
+ showHidden,
18914
+ truncate: node_modules_chai_config.truncateThreshold ? node_modules_chai_config.truncateThreshold : 1 / 0
18915
+ };
18916
+ return node_modules_chai_inspect(obj, options);
18917
+ }
18918
+ chai_name(chai_inspect2, "inspect");
18919
+ function node_modules_chai_objDisplay(obj) {
18920
+ let str = chai_inspect2(obj), type3 = Object.prototype.toString.call(obj);
18921
+ if (!node_modules_chai_config.truncateThreshold || !(str.length >= node_modules_chai_config.truncateThreshold)) return str;
18922
+ if ("[object Function]" === type3) return obj.name && "" !== obj.name ? "[Function: " + obj.name + "]" : "[Function]";
18923
+ if ("[object Array]" === type3) return "[ Array(" + obj.length + ") ]";
18924
+ {
18925
+ if ("[object Object]" !== type3) return str;
18926
+ let keys = Object.keys(obj), kstr = keys.length > 2 ? keys.splice(0, 2).join(", ") + ", ..." : keys.join(", ");
18927
+ return "{ Object (" + kstr + ") }";
18928
+ }
18929
+ }
18930
+ chai_name(node_modules_chai_objDisplay, "objDisplay");
18931
+ function chai_getMessage2(obj, args) {
18932
+ let negate = node_modules_chai_flag(obj, "negate");
18933
+ let val = node_modules_chai_flag(obj, "object");
18934
+ let expected = args[3];
18935
+ let actual = chai_getActual(obj, args);
18936
+ let msg = negate ? args[2] : args[1];
18937
+ let flagMsg = node_modules_chai_flag(obj, "message");
18938
+ if ("function" == typeof msg) msg = msg();
18939
+ msg = msg || "";
18940
+ msg = msg.replace(/#\{this\}/g, function() {
18941
+ return node_modules_chai_objDisplay(val);
18942
+ }).replace(/#\{act\}/g, function() {
18943
+ return node_modules_chai_objDisplay(actual);
18944
+ }).replace(/#\{exp\}/g, function() {
18945
+ return node_modules_chai_objDisplay(expected);
18946
+ });
18947
+ return flagMsg ? flagMsg + ": " + msg : msg;
18948
+ }
18949
+ chai_name(chai_getMessage2, "getMessage");
18950
+ function chai_transferFlags(assertion, object, includeAll) {
18951
+ let flags = assertion.__flags || (assertion.__flags = /* @__PURE__ */ Object.create(null));
18952
+ if (!object.__flags) object.__flags = /* @__PURE__ */ Object.create(null);
18953
+ includeAll = 3 === arguments.length ? includeAll : true;
18954
+ for(let flag3 in flags)if (includeAll || "object" !== flag3 && "ssfi" !== flag3 && "lockSsfi" !== flag3 && "message" != flag3) object.__flags[flag3] = flags[flag3];
18955
+ }
18956
+ chai_name(chai_transferFlags, "transferFlags");
18957
+ function chai_type2(obj) {
18958
+ if (void 0 === obj) return "undefined";
18959
+ if (null === obj) return "null";
18960
+ const stringTag = obj[Symbol.toStringTag];
18961
+ if ("string" == typeof stringTag) return stringTag;
18962
+ const sliceStart = 8;
18963
+ const sliceEnd = -1;
18964
+ return Object.prototype.toString.call(obj).slice(sliceStart, sliceEnd);
18965
+ }
18966
+ chai_name(chai_type2, "type");
18967
+ function chai_FakeMap() {
18968
+ this._key = "chai/deep-eql__" + Math.random() + Date.now();
18969
+ }
18970
+ chai_name(chai_FakeMap, "FakeMap");
18971
+ chai_FakeMap.prototype = {
18972
+ get: /* @__PURE__ */ chai_name(function get(key) {
18973
+ return key[this._key];
18974
+ }, "get"),
18975
+ set: /* @__PURE__ */ chai_name(function set(key, value) {
18976
+ if (Object.isExtensible(key)) Object.defineProperty(key, this._key, {
18977
+ value,
18978
+ configurable: true
18979
+ });
18980
+ }, "set")
18981
+ };
18982
+ var chai_MemoizeMap = "function" == typeof WeakMap ? WeakMap : chai_FakeMap;
18983
+ function chai_memoizeCompare(leftHandOperand, rightHandOperand, memoizeMap) {
18984
+ if (!memoizeMap || node_modules_chai_isPrimitive(leftHandOperand) || node_modules_chai_isPrimitive(rightHandOperand)) return null;
18985
+ var leftHandMap = memoizeMap.get(leftHandOperand);
18986
+ if (leftHandMap) {
18987
+ var result = leftHandMap.get(rightHandOperand);
18988
+ if ("boolean" == typeof result) return result;
18989
+ }
18990
+ return null;
18991
+ }
18992
+ chai_name(chai_memoizeCompare, "memoizeCompare");
18993
+ function chai_memoizeSet(leftHandOperand, rightHandOperand, memoizeMap, result) {
18994
+ if (!memoizeMap || node_modules_chai_isPrimitive(leftHandOperand) || node_modules_chai_isPrimitive(rightHandOperand)) return;
18995
+ var leftHandMap = memoizeMap.get(leftHandOperand);
18996
+ if (leftHandMap) leftHandMap.set(rightHandOperand, result);
18997
+ else {
18998
+ leftHandMap = new chai_MemoizeMap();
18999
+ leftHandMap.set(rightHandOperand, result);
19000
+ memoizeMap.set(leftHandOperand, leftHandMap);
19001
+ }
19002
+ }
19003
+ chai_name(chai_memoizeSet, "memoizeSet");
19004
+ var chai_deep_eql_default = chai_deepEqual;
19005
+ function chai_deepEqual(leftHandOperand, rightHandOperand, options) {
19006
+ if (options && options.comparator) return chai_extensiveDeepEqual(leftHandOperand, rightHandOperand, options);
19007
+ var simpleResult = chai_simpleEqual(leftHandOperand, rightHandOperand);
19008
+ if (null !== simpleResult) return simpleResult;
19009
+ return chai_extensiveDeepEqual(leftHandOperand, rightHandOperand, options);
19010
+ }
19011
+ chai_name(chai_deepEqual, "deepEqual");
19012
+ function chai_simpleEqual(leftHandOperand, rightHandOperand) {
19013
+ if (leftHandOperand === rightHandOperand) return 0 !== leftHandOperand || 1 / leftHandOperand === 1 / rightHandOperand;
19014
+ if (leftHandOperand !== leftHandOperand && rightHandOperand !== rightHandOperand) return true;
19015
+ if (node_modules_chai_isPrimitive(leftHandOperand) || node_modules_chai_isPrimitive(rightHandOperand)) return false;
19016
+ return null;
19017
+ }
19018
+ chai_name(chai_simpleEqual, "simpleEqual");
19019
+ function chai_extensiveDeepEqual(leftHandOperand, rightHandOperand, options) {
19020
+ options = options || {};
19021
+ options.memoize = false === options.memoize ? false : options.memoize || new chai_MemoizeMap();
19022
+ var comparator = options && options.comparator;
19023
+ var memoizeResultLeft = chai_memoizeCompare(leftHandOperand, rightHandOperand, options.memoize);
19024
+ if (null !== memoizeResultLeft) return memoizeResultLeft;
19025
+ var memoizeResultRight = chai_memoizeCompare(rightHandOperand, leftHandOperand, options.memoize);
19026
+ if (null !== memoizeResultRight) return memoizeResultRight;
19027
+ if (comparator) {
19028
+ var comparatorResult = comparator(leftHandOperand, rightHandOperand);
19029
+ if (false === comparatorResult || true === comparatorResult) {
19030
+ chai_memoizeSet(leftHandOperand, rightHandOperand, options.memoize, comparatorResult);
19031
+ return comparatorResult;
19032
+ }
19033
+ var simpleResult = chai_simpleEqual(leftHandOperand, rightHandOperand);
19034
+ if (null !== simpleResult) return simpleResult;
19035
+ }
19036
+ var leftHandType = chai_type2(leftHandOperand);
19037
+ if (leftHandType !== chai_type2(rightHandOperand)) {
19038
+ chai_memoizeSet(leftHandOperand, rightHandOperand, options.memoize, false);
19039
+ return false;
19040
+ }
19041
+ chai_memoizeSet(leftHandOperand, rightHandOperand, options.memoize, true);
19042
+ var result = chai_extensiveDeepEqualByType(leftHandOperand, rightHandOperand, leftHandType, options);
19043
+ chai_memoizeSet(leftHandOperand, rightHandOperand, options.memoize, result);
19044
+ return result;
19045
+ }
19046
+ chai_name(chai_extensiveDeepEqual, "extensiveDeepEqual");
19047
+ function chai_extensiveDeepEqualByType(leftHandOperand, rightHandOperand, leftHandType, options) {
19048
+ switch(leftHandType){
19049
+ case "String":
19050
+ case "Number":
19051
+ case "Boolean":
19052
+ case "Date":
19053
+ return chai_deepEqual(leftHandOperand.valueOf(), rightHandOperand.valueOf());
19054
+ case "Promise":
19055
+ case "Symbol":
19056
+ case "function":
19057
+ case "WeakMap":
19058
+ case "WeakSet":
19059
+ return leftHandOperand === rightHandOperand;
19060
+ case "Error":
19061
+ return chai_keysEqual(leftHandOperand, rightHandOperand, [
19062
+ "name",
19063
+ "message",
19064
+ "code"
19065
+ ], options);
19066
+ case "Arguments":
19067
+ case "Int8Array":
19068
+ case "Uint8Array":
19069
+ case "Uint8ClampedArray":
19070
+ case "Int16Array":
19071
+ case "Uint16Array":
19072
+ case "Int32Array":
19073
+ case "Uint32Array":
19074
+ case "Float32Array":
19075
+ case "Float64Array":
19076
+ case "Array":
19077
+ return chai_iterableEqual(leftHandOperand, rightHandOperand, options);
19078
+ case "RegExp":
19079
+ return chai_regexpEqual(leftHandOperand, rightHandOperand);
19080
+ case "Generator":
19081
+ return chai_generatorEqual(leftHandOperand, rightHandOperand, options);
19082
+ case "DataView":
19083
+ return chai_iterableEqual(new Uint8Array(leftHandOperand.buffer), new Uint8Array(rightHandOperand.buffer), options);
19084
+ case "ArrayBuffer":
19085
+ return chai_iterableEqual(new Uint8Array(leftHandOperand), new Uint8Array(rightHandOperand), options);
19086
+ case "Set":
19087
+ return chai_entriesEqual(leftHandOperand, rightHandOperand, options);
19088
+ case "Map":
19089
+ return chai_entriesEqual(leftHandOperand, rightHandOperand, options);
19090
+ case "Temporal.PlainDate":
19091
+ case "Temporal.PlainTime":
19092
+ case "Temporal.PlainDateTime":
19093
+ case "Temporal.Instant":
19094
+ case "Temporal.ZonedDateTime":
19095
+ case "Temporal.PlainYearMonth":
19096
+ case "Temporal.PlainMonthDay":
19097
+ return leftHandOperand.equals(rightHandOperand);
19098
+ case "Temporal.Duration":
19099
+ return leftHandOperand.total("nanoseconds") === rightHandOperand.total("nanoseconds");
19100
+ case "Temporal.TimeZone":
19101
+ case "Temporal.Calendar":
19102
+ return leftHandOperand.toString() === rightHandOperand.toString();
19103
+ default:
19104
+ return chai_objectEqual(leftHandOperand, rightHandOperand, options);
19105
+ }
19106
+ }
19107
+ chai_name(chai_extensiveDeepEqualByType, "extensiveDeepEqualByType");
19108
+ function chai_regexpEqual(leftHandOperand, rightHandOperand) {
19109
+ return leftHandOperand.toString() === rightHandOperand.toString();
19110
+ }
19111
+ chai_name(chai_regexpEqual, "regexpEqual");
19112
+ function chai_entriesEqual(leftHandOperand, rightHandOperand, options) {
19113
+ try {
19114
+ if (leftHandOperand.size !== rightHandOperand.size) return false;
19115
+ if (0 === leftHandOperand.size) return true;
19116
+ } catch (sizeError) {
19117
+ return false;
19118
+ }
19119
+ var leftHandItems = [];
19120
+ var rightHandItems = [];
19121
+ leftHandOperand.forEach(/* @__PURE__ */ chai_name(function gatherEntries(key, value) {
19122
+ leftHandItems.push([
19123
+ key,
19124
+ value
19125
+ ]);
19126
+ }, "gatherEntries"));
19127
+ rightHandOperand.forEach(/* @__PURE__ */ chai_name(function gatherEntries(key, value) {
19128
+ rightHandItems.push([
19129
+ key,
19130
+ value
19131
+ ]);
19132
+ }, "gatherEntries"));
19133
+ return chai_iterableEqual(leftHandItems.sort(), rightHandItems.sort(), options);
19134
+ }
19135
+ chai_name(chai_entriesEqual, "entriesEqual");
19136
+ function chai_iterableEqual(leftHandOperand, rightHandOperand, options) {
19137
+ var length = leftHandOperand.length;
19138
+ if (length !== rightHandOperand.length) return false;
19139
+ if (0 === length) return true;
19140
+ var index = -1;
19141
+ while(++index < length)if (false === chai_deepEqual(leftHandOperand[index], rightHandOperand[index], options)) return false;
19142
+ return true;
19143
+ }
19144
+ chai_name(chai_iterableEqual, "iterableEqual");
19145
+ function chai_generatorEqual(leftHandOperand, rightHandOperand, options) {
19146
+ return chai_iterableEqual(chai_getGeneratorEntries(leftHandOperand), chai_getGeneratorEntries(rightHandOperand), options);
19147
+ }
19148
+ chai_name(chai_generatorEqual, "generatorEqual");
19149
+ function chai_hasIteratorFunction(target) {
19150
+ return "u" > typeof Symbol && "object" == typeof target && void 0 !== Symbol.iterator && "function" == typeof target[Symbol.iterator];
19151
+ }
19152
+ chai_name(chai_hasIteratorFunction, "hasIteratorFunction");
19153
+ function chai_getIteratorEntries(target) {
19154
+ if (chai_hasIteratorFunction(target)) try {
19155
+ return chai_getGeneratorEntries(target[Symbol.iterator]());
19156
+ } catch (iteratorError) {}
19157
+ return [];
19158
+ }
19159
+ chai_name(chai_getIteratorEntries, "getIteratorEntries");
19160
+ function chai_getGeneratorEntries(generator) {
19161
+ var generatorResult = generator.next();
19162
+ var accumulator = [
19163
+ generatorResult.value
19164
+ ];
19165
+ while(false === generatorResult.done){
19166
+ generatorResult = generator.next();
19167
+ accumulator.push(generatorResult.value);
19168
+ }
19169
+ return accumulator;
19170
+ }
19171
+ chai_name(chai_getGeneratorEntries, "getGeneratorEntries");
19172
+ function chai_getEnumerableKeys(target) {
19173
+ var keys = [];
19174
+ for(var key in target)keys.push(key);
19175
+ return keys;
19176
+ }
19177
+ chai_name(chai_getEnumerableKeys, "getEnumerableKeys");
19178
+ function chai_getEnumerableSymbols(target) {
19179
+ var keys = [];
19180
+ var allKeys = Object.getOwnPropertySymbols(target);
19181
+ for(var i = 0; i < allKeys.length; i += 1){
19182
+ var key = allKeys[i];
19183
+ if (Object.getOwnPropertyDescriptor(target, key).enumerable) keys.push(key);
19184
+ }
19185
+ return keys;
19186
+ }
19187
+ chai_name(chai_getEnumerableSymbols, "getEnumerableSymbols");
19188
+ function chai_keysEqual(leftHandOperand, rightHandOperand, keys, options) {
19189
+ var length = keys.length;
19190
+ if (0 === length) return true;
19191
+ for(var i = 0; i < length; i += 1)if (false === chai_deepEqual(leftHandOperand[keys[i]], rightHandOperand[keys[i]], options)) return false;
19192
+ return true;
19193
+ }
19194
+ chai_name(chai_keysEqual, "keysEqual");
19195
+ function chai_objectEqual(leftHandOperand, rightHandOperand, options) {
19196
+ var leftHandKeys = chai_getEnumerableKeys(leftHandOperand);
19197
+ var rightHandKeys = chai_getEnumerableKeys(rightHandOperand);
19198
+ var leftHandSymbols = chai_getEnumerableSymbols(leftHandOperand);
19199
+ var rightHandSymbols = chai_getEnumerableSymbols(rightHandOperand);
19200
+ leftHandKeys = leftHandKeys.concat(leftHandSymbols);
19201
+ rightHandKeys = rightHandKeys.concat(rightHandSymbols);
19202
+ if (leftHandKeys.length && leftHandKeys.length === rightHandKeys.length) {
19203
+ if (false === chai_iterableEqual(chai_mapSymbols(leftHandKeys).sort(), chai_mapSymbols(rightHandKeys).sort())) return false;
19204
+ return chai_keysEqual(leftHandOperand, rightHandOperand, leftHandKeys, options);
19205
+ }
19206
+ var leftHandEntries = chai_getIteratorEntries(leftHandOperand);
19207
+ var rightHandEntries = chai_getIteratorEntries(rightHandOperand);
19208
+ if (leftHandEntries.length && leftHandEntries.length === rightHandEntries.length) {
19209
+ leftHandEntries.sort();
19210
+ rightHandEntries.sort();
19211
+ return chai_iterableEqual(leftHandEntries, rightHandEntries, options);
19212
+ }
19213
+ if (0 === leftHandKeys.length && 0 === leftHandEntries.length && 0 === rightHandKeys.length && 0 === rightHandEntries.length) return true;
19214
+ return false;
19215
+ }
19216
+ chai_name(chai_objectEqual, "objectEqual");
19217
+ function node_modules_chai_isPrimitive(value) {
19218
+ return null === value || "object" != typeof value;
19219
+ }
19220
+ chai_name(node_modules_chai_isPrimitive, "isPrimitive");
19221
+ function chai_mapSymbols(arr) {
19222
+ return arr.map(/* @__PURE__ */ chai_name(function mapSymbol(entry) {
19223
+ if ("symbol" == typeof entry) return entry.toString();
19224
+ return entry;
19225
+ }, "mapSymbol"));
19226
+ }
19227
+ chai_name(chai_mapSymbols, "mapSymbols");
19228
+ function chai_hasProperty(obj, name) {
19229
+ if (null == obj) return false;
19230
+ return name in Object(obj);
19231
+ }
19232
+ chai_name(chai_hasProperty, "hasProperty");
19233
+ function chai_parsePath(path) {
19234
+ const str = path.replace(/([^\\])\[/g, "$1.[");
19235
+ const parts = str.match(/(\\\.|[^.]+?)+/g);
19236
+ return parts.map((value)=>{
19237
+ if ("constructor" === value || "__proto__" === value || "prototype" === value) return {};
19238
+ const regexp = /^\[(\d+)\]$/;
19239
+ const mArr = regexp.exec(value);
19240
+ let parsed = null;
19241
+ parsed = mArr ? {
19242
+ i: parseFloat(mArr[1])
19243
+ } : {
19244
+ p: value.replace(/\\([.[\]])/g, "$1")
19245
+ };
19246
+ return parsed;
19247
+ });
19248
+ }
19249
+ chai_name(chai_parsePath, "parsePath");
19250
+ function chai_internalGetPathValue(obj, parsed, pathDepth) {
19251
+ let temporaryValue = obj;
19252
+ let res = null;
19253
+ pathDepth = void 0 === pathDepth ? parsed.length : pathDepth;
19254
+ for(let i = 0; i < pathDepth; i++){
19255
+ const part = parsed[i];
19256
+ if (temporaryValue) {
19257
+ temporaryValue = void 0 === part.p ? temporaryValue[part.i] : temporaryValue[part.p];
19258
+ if (i === pathDepth - 1) res = temporaryValue;
19259
+ }
19260
+ }
19261
+ return res;
19262
+ }
19263
+ chai_name(chai_internalGetPathValue, "internalGetPathValue");
19264
+ function chai_getPathInfo(obj, path) {
19265
+ const parsed = chai_parsePath(path);
19266
+ const last = parsed[parsed.length - 1];
19267
+ const info = {
19268
+ parent: parsed.length > 1 ? chai_internalGetPathValue(obj, parsed, parsed.length - 1) : obj,
19269
+ name: last.p || last.i,
19270
+ value: chai_internalGetPathValue(obj, parsed)
19271
+ };
19272
+ info.exists = chai_hasProperty(info.parent, info.name);
19273
+ return info;
19274
+ }
19275
+ chai_name(chai_getPathInfo, "getPathInfo");
19276
+ var chai_Assertion = class _Assertion {
19277
+ constructor(obj, msg, ssfi, lockSsfi){
19278
+ __publicField(this, "__flags", {});
19279
+ node_modules_chai_flag(this, "ssfi", ssfi || _Assertion);
19280
+ node_modules_chai_flag(this, "lockSsfi", lockSsfi);
19281
+ node_modules_chai_flag(this, "object", obj);
19282
+ node_modules_chai_flag(this, "message", msg);
19283
+ node_modules_chai_flag(this, "eql", node_modules_chai_config.deepEqual || chai_deep_eql_default);
19284
+ return chai_proxify(this);
19285
+ }
19286
+ static get includeStack() {
19287
+ console.warn("Assertion.includeStack is deprecated, use chai.config.includeStack instead.");
19288
+ return node_modules_chai_config.includeStack;
19289
+ }
19290
+ static set includeStack(value) {
19291
+ console.warn("Assertion.includeStack is deprecated, use chai.config.includeStack instead.");
19292
+ node_modules_chai_config.includeStack = value;
19293
+ }
19294
+ static get showDiff() {
19295
+ console.warn("Assertion.showDiff is deprecated, use chai.config.showDiff instead.");
19296
+ return node_modules_chai_config.showDiff;
19297
+ }
19298
+ static set showDiff(value) {
19299
+ console.warn("Assertion.showDiff is deprecated, use chai.config.showDiff instead.");
19300
+ node_modules_chai_config.showDiff = value;
19301
+ }
19302
+ static addProperty(name, fn) {
19303
+ chai_addProperty(this.prototype, name, fn);
19304
+ }
19305
+ static addMethod(name, fn) {
19306
+ node_modules_chai_addMethod(this.prototype, name, fn);
19307
+ }
19308
+ static addChainableMethod(name, fn, chainingBehavior) {
19309
+ chai_addChainableMethod(this.prototype, name, fn, chainingBehavior);
19310
+ }
19311
+ static overwriteProperty(name, fn) {
19312
+ chai_overwriteProperty(this.prototype, name, fn);
19313
+ }
19314
+ static overwriteMethod(name, fn) {
19315
+ chai_overwriteMethod(this.prototype, name, fn);
19316
+ }
19317
+ static overwriteChainableMethod(name, fn, chainingBehavior) {
19318
+ chai_overwriteChainableMethod(this.prototype, name, fn, chainingBehavior);
19319
+ }
19320
+ assert(_expr, msg, _negateMsg, expected, _actual, showDiff) {
19321
+ const ok = node_modules_chai_test(this, arguments);
19322
+ if (false !== showDiff) showDiff = true;
19323
+ if (void 0 === expected && void 0 === _actual) showDiff = false;
19324
+ if (true !== node_modules_chai_config.showDiff) showDiff = false;
19325
+ if (!ok) {
19326
+ msg = chai_getMessage2(this, arguments);
19327
+ const actual = chai_getActual(this, arguments);
19328
+ const assertionErrorObjectProperties = {
19329
+ actual,
19330
+ expected,
19331
+ showDiff
19332
+ };
19333
+ const operator = chai_getOperator(this, arguments);
19334
+ if (operator) assertionErrorObjectProperties.operator = operator;
19335
+ throw new chai_6_2_2_node_modules_chai_AssertionError(msg, assertionErrorObjectProperties, node_modules_chai_config.includeStack ? this.assert : node_modules_chai_flag(this, "ssfi"));
19336
+ }
19337
+ }
19338
+ get _obj() {
19339
+ return node_modules_chai_flag(this, "object");
19340
+ }
19341
+ set _obj(val) {
19342
+ node_modules_chai_flag(this, "object", val);
19343
+ }
19344
+ };
19345
+ chai_name(chai_Assertion, "Assertion");
19346
+ var node_modules_chai_Assertion = chai_Assertion;
19347
+ var events = new EventTarget();
19348
+ var chai_PluginEvent = class extends Event {
19349
+ constructor(type3, name, fn){
19350
+ super(type3);
19351
+ this.name = String(name);
19352
+ this.fn = fn;
19353
+ }
19354
+ };
19355
+ chai_name(chai_PluginEvent, "PluginEvent");
19356
+ var PluginEvent = chai_PluginEvent;
19357
+ function chai_isProxyEnabled() {
19358
+ return node_modules_chai_config.useProxy && "u" > typeof Proxy && "u" > typeof Reflect;
19359
+ }
19360
+ chai_name(chai_isProxyEnabled, "isProxyEnabled");
19361
+ function chai_addProperty(ctx, name, getter) {
19362
+ getter = void 0 === getter ? function() {} : getter;
19363
+ Object.defineProperty(ctx, name, {
19364
+ get: /* @__PURE__ */ chai_name(function propertyGetter() {
19365
+ if (!chai_isProxyEnabled() && !node_modules_chai_flag(this, "lockSsfi")) node_modules_chai_flag(this, "ssfi", propertyGetter);
19366
+ let result = getter.call(this);
19367
+ if (void 0 !== result) return result;
19368
+ let newAssertion = new node_modules_chai_Assertion();
19369
+ chai_transferFlags(this, newAssertion);
19370
+ return newAssertion;
19371
+ }, "propertyGetter"),
19372
+ configurable: true
19373
+ });
19374
+ events.dispatchEvent(new PluginEvent("addProperty", name, getter));
19375
+ }
19376
+ chai_name(chai_addProperty, "addProperty");
19377
+ var chai_fnLengthDesc = Object.getOwnPropertyDescriptor(function() {}, "length");
19378
+ function chai_addLengthGuard(fn, assertionName, isChainable) {
19379
+ if (!chai_fnLengthDesc.configurable) return fn;
19380
+ Object.defineProperty(fn, "length", {
19381
+ get: /* @__PURE__ */ chai_name(function() {
19382
+ if (isChainable) throw Error("Invalid Chai property: " + assertionName + '.length. Due to a compatibility issue, "length" cannot directly follow "' + assertionName + '". Use "' + assertionName + '.lengthOf" instead.');
19383
+ throw Error("Invalid Chai property: " + assertionName + '.length. See docs for proper usage of "' + assertionName + '".');
19384
+ }, "get")
19385
+ });
19386
+ return fn;
19387
+ }
19388
+ chai_name(chai_addLengthGuard, "addLengthGuard");
19389
+ function chai_getProperties(object) {
19390
+ let result = Object.getOwnPropertyNames(object);
19391
+ function addProperty2(property) {
19392
+ if (-1 === result.indexOf(property)) result.push(property);
19393
+ }
19394
+ chai_name(addProperty2, "addProperty");
19395
+ let proto = Object.getPrototypeOf(object);
19396
+ while(null !== proto){
19397
+ Object.getOwnPropertyNames(proto).forEach(addProperty2);
19398
+ proto = Object.getPrototypeOf(proto);
19399
+ }
19400
+ return result;
19401
+ }
19402
+ chai_name(chai_getProperties, "getProperties");
19403
+ var chai_builtins = [
19404
+ "__flags",
19405
+ "__methods",
19406
+ "_obj",
19407
+ "assert"
19408
+ ];
19409
+ function chai_proxify(obj, nonChainableMethodName) {
19410
+ if (!chai_isProxyEnabled()) return obj;
19411
+ return new Proxy(obj, {
19412
+ get: /* @__PURE__ */ chai_name(function proxyGetter(target, property) {
19413
+ if ("string" == typeof property && -1 === node_modules_chai_config.proxyExcludedKeys.indexOf(property) && !Reflect.has(target, property)) {
19414
+ if (nonChainableMethodName) throw Error("Invalid Chai property: " + nonChainableMethodName + "." + property + '. See docs for proper usage of "' + nonChainableMethodName + '".');
19415
+ let suggestion = null;
19416
+ let suggestionDistance = 4;
19417
+ chai_getProperties(target).forEach(function(prop) {
19418
+ if (!Object.prototype.hasOwnProperty(prop) && -1 === chai_builtins.indexOf(prop)) {
19419
+ let dist = chai_stringDistanceCapped(property, prop, suggestionDistance);
19420
+ if (dist < suggestionDistance) {
19421
+ suggestion = prop;
19422
+ suggestionDistance = dist;
19423
+ }
19424
+ }
19425
+ });
19426
+ if (null !== suggestion) throw Error("Invalid Chai property: " + property + '. Did you mean "' + suggestion + '"?');
19427
+ throw Error("Invalid Chai property: " + property);
19428
+ }
19429
+ if (-1 === chai_builtins.indexOf(property) && !node_modules_chai_flag(target, "lockSsfi")) node_modules_chai_flag(target, "ssfi", proxyGetter);
19430
+ return Reflect.get(target, property);
19431
+ }, "proxyGetter")
19432
+ });
19433
+ }
19434
+ chai_name(chai_proxify, "proxify");
19435
+ function chai_stringDistanceCapped(strA, strB, cap) {
19436
+ if (Math.abs(strA.length - strB.length) >= cap) return cap;
19437
+ let memo = [];
19438
+ for(let i = 0; i <= strA.length; i++){
19439
+ memo[i] = Array(strB.length + 1).fill(0);
19440
+ memo[i][0] = i;
19441
+ }
19442
+ for(let j = 0; j < strB.length; j++)memo[0][j] = j;
19443
+ for(let i = 1; i <= strA.length; i++){
19444
+ let ch = strA.charCodeAt(i - 1);
19445
+ for(let j = 1; j <= strB.length; j++){
19446
+ if (Math.abs(i - j) >= cap) {
19447
+ memo[i][j] = cap;
19448
+ continue;
19449
+ }
19450
+ memo[i][j] = Math.min(memo[i - 1][j] + 1, memo[i][j - 1] + 1, memo[i - 1][j - 1] + (ch === strB.charCodeAt(j - 1) ? 0 : 1));
19451
+ }
19452
+ }
19453
+ return memo[strA.length][strB.length];
19454
+ }
19455
+ chai_name(chai_stringDistanceCapped, "stringDistanceCapped");
19456
+ function node_modules_chai_addMethod(ctx, name, method) {
19457
+ let methodWrapper = /* @__PURE__ */ chai_name(function() {
19458
+ if (!node_modules_chai_flag(this, "lockSsfi")) node_modules_chai_flag(this, "ssfi", methodWrapper);
19459
+ let result = method.apply(this, arguments);
19460
+ if (void 0 !== result) return result;
19461
+ let newAssertion = new node_modules_chai_Assertion();
19462
+ chai_transferFlags(this, newAssertion);
19463
+ return newAssertion;
19464
+ }, "methodWrapper");
19465
+ chai_addLengthGuard(methodWrapper, name, false);
19466
+ ctx[name] = chai_proxify(methodWrapper, name);
19467
+ events.dispatchEvent(new PluginEvent("addMethod", name, method));
19468
+ }
19469
+ chai_name(node_modules_chai_addMethod, "addMethod");
19470
+ function chai_overwriteProperty(ctx, name, getter) {
19471
+ let _get = Object.getOwnPropertyDescriptor(ctx, name), _super = /* @__PURE__ */ chai_name(function() {}, "_super");
19472
+ if (_get && "function" == typeof _get.get) _super = _get.get;
19473
+ Object.defineProperty(ctx, name, {
19474
+ get: /* @__PURE__ */ chai_name(function overwritingPropertyGetter() {
19475
+ if (!chai_isProxyEnabled() && !node_modules_chai_flag(this, "lockSsfi")) node_modules_chai_flag(this, "ssfi", overwritingPropertyGetter);
19476
+ let origLockSsfi = node_modules_chai_flag(this, "lockSsfi");
19477
+ node_modules_chai_flag(this, "lockSsfi", true);
19478
+ let result = getter(_super).call(this);
19479
+ node_modules_chai_flag(this, "lockSsfi", origLockSsfi);
19480
+ if (void 0 !== result) return result;
19481
+ let newAssertion = new node_modules_chai_Assertion();
19482
+ chai_transferFlags(this, newAssertion);
19483
+ return newAssertion;
19484
+ }, "overwritingPropertyGetter"),
19485
+ configurable: true
19486
+ });
19487
+ }
19488
+ chai_name(chai_overwriteProperty, "overwriteProperty");
19489
+ function chai_overwriteMethod(ctx, name, method) {
19490
+ let _method = ctx[name], _super = /* @__PURE__ */ chai_name(function() {
19491
+ throw new Error(name + " is not a function");
19492
+ }, "_super");
19493
+ if (_method && "function" == typeof _method) _super = _method;
19494
+ let overwritingMethodWrapper = /* @__PURE__ */ chai_name(function() {
19495
+ if (!node_modules_chai_flag(this, "lockSsfi")) node_modules_chai_flag(this, "ssfi", overwritingMethodWrapper);
19496
+ let origLockSsfi = node_modules_chai_flag(this, "lockSsfi");
19497
+ node_modules_chai_flag(this, "lockSsfi", true);
19498
+ let result = method(_super).apply(this, arguments);
19499
+ node_modules_chai_flag(this, "lockSsfi", origLockSsfi);
19500
+ if (void 0 !== result) return result;
19501
+ let newAssertion = new node_modules_chai_Assertion();
19502
+ chai_transferFlags(this, newAssertion);
19503
+ return newAssertion;
19504
+ }, "overwritingMethodWrapper");
19505
+ chai_addLengthGuard(overwritingMethodWrapper, name, false);
19506
+ ctx[name] = chai_proxify(overwritingMethodWrapper, name);
19507
+ }
19508
+ chai_name(chai_overwriteMethod, "overwriteMethod");
19509
+ var chai_canSetPrototype = "function" == typeof Object.setPrototypeOf;
19510
+ var node_modules_chai_testFn = /* @__PURE__ */ chai_name(function() {}, "testFn");
19511
+ var chai_excludeNames = Object.getOwnPropertyNames(node_modules_chai_testFn).filter(function(name) {
19512
+ let propDesc = Object.getOwnPropertyDescriptor(node_modules_chai_testFn, name);
19513
+ if ("object" != typeof propDesc) return true;
19514
+ return !propDesc.configurable;
19515
+ });
19516
+ var chai_call = Function.prototype.call;
19517
+ var chai_apply = Function.prototype.apply;
19518
+ var chai_PluginAddChainableMethodEvent = class extends PluginEvent {
19519
+ constructor(type3, name, fn, chainingBehavior){
19520
+ super(type3, name, fn);
19521
+ this.chainingBehavior = chainingBehavior;
19522
+ }
19523
+ };
19524
+ chai_name(chai_PluginAddChainableMethodEvent, "PluginAddChainableMethodEvent");
19525
+ var PluginAddChainableMethodEvent = chai_PluginAddChainableMethodEvent;
19526
+ function chai_addChainableMethod(ctx, name, method, chainingBehavior) {
19527
+ if ("function" != typeof chainingBehavior) chainingBehavior = /* @__PURE__ */ chai_name(function() {}, "chainingBehavior");
19528
+ let chainableBehavior = {
19529
+ method,
19530
+ chainingBehavior
19531
+ };
19532
+ if (!ctx.__methods) ctx.__methods = {};
19533
+ ctx.__methods[name] = chainableBehavior;
19534
+ Object.defineProperty(ctx, name, {
19535
+ get: /* @__PURE__ */ chai_name(function chainableMethodGetter() {
19536
+ chainableBehavior.chainingBehavior.call(this);
19537
+ let chainableMethodWrapper = /* @__PURE__ */ chai_name(function() {
19538
+ if (!node_modules_chai_flag(this, "lockSsfi")) node_modules_chai_flag(this, "ssfi", chainableMethodWrapper);
19539
+ let result = chainableBehavior.method.apply(this, arguments);
19540
+ if (void 0 !== result) return result;
19541
+ let newAssertion = new node_modules_chai_Assertion();
19542
+ chai_transferFlags(this, newAssertion);
19543
+ return newAssertion;
19544
+ }, "chainableMethodWrapper");
19545
+ chai_addLengthGuard(chainableMethodWrapper, name, true);
19546
+ if (chai_canSetPrototype) {
19547
+ let prototype = Object.create(this);
19548
+ prototype.call = chai_call;
19549
+ prototype.apply = chai_apply;
19550
+ Object.setPrototypeOf(chainableMethodWrapper, prototype);
19551
+ } else {
19552
+ let asserterNames = Object.getOwnPropertyNames(ctx);
19553
+ asserterNames.forEach(function(asserterName) {
19554
+ if (-1 !== chai_excludeNames.indexOf(asserterName)) return;
19555
+ let pd = Object.getOwnPropertyDescriptor(ctx, asserterName);
19556
+ Object.defineProperty(chainableMethodWrapper, asserterName, pd);
19557
+ });
19558
+ }
19559
+ chai_transferFlags(this, chainableMethodWrapper);
19560
+ return chai_proxify(chainableMethodWrapper);
19561
+ }, "chainableMethodGetter"),
19562
+ configurable: true
19563
+ });
19564
+ events.dispatchEvent(new PluginAddChainableMethodEvent("addChainableMethod", name, method, chainingBehavior));
19565
+ }
19566
+ chai_name(chai_addChainableMethod, "addChainableMethod");
19567
+ function chai_overwriteChainableMethod(ctx, name, method, chainingBehavior) {
19568
+ let chainableBehavior = ctx.__methods[name];
19569
+ let _chainingBehavior = chainableBehavior.chainingBehavior;
19570
+ chainableBehavior.chainingBehavior = /* @__PURE__ */ chai_name(function overwritingChainableMethodGetter() {
19571
+ let result = chainingBehavior(_chainingBehavior).call(this);
19572
+ if (void 0 !== result) return result;
19573
+ let newAssertion = new node_modules_chai_Assertion();
19574
+ chai_transferFlags(this, newAssertion);
19575
+ return newAssertion;
19576
+ }, "overwritingChainableMethodGetter");
19577
+ let _method = chainableBehavior.method;
19578
+ chainableBehavior.method = /* @__PURE__ */ chai_name(function overwritingChainableMethodWrapper() {
19579
+ let result = method(_method).apply(this, arguments);
19580
+ if (void 0 !== result) return result;
19581
+ let newAssertion = new node_modules_chai_Assertion();
19582
+ chai_transferFlags(this, newAssertion);
19583
+ return newAssertion;
19584
+ }, "overwritingChainableMethodWrapper");
19585
+ }
19586
+ chai_name(chai_overwriteChainableMethod, "overwriteChainableMethod");
19587
+ function chai_compareByInspect(a, b) {
19588
+ return chai_inspect2(a) < chai_inspect2(b) ? -1 : 1;
19589
+ }
19590
+ chai_name(chai_compareByInspect, "compareByInspect");
19591
+ function chai_getOwnEnumerablePropertySymbols(obj) {
19592
+ if ("function" != typeof Object.getOwnPropertySymbols) return [];
19593
+ return Object.getOwnPropertySymbols(obj).filter(function(sym) {
19594
+ return Object.getOwnPropertyDescriptor(obj, sym).enumerable;
19595
+ });
19596
+ }
19597
+ chai_name(chai_getOwnEnumerablePropertySymbols, "getOwnEnumerablePropertySymbols");
19598
+ function chai_getOwnEnumerableProperties(obj) {
19599
+ return Object.keys(obj).concat(chai_getOwnEnumerablePropertySymbols(obj));
19600
+ }
19601
+ chai_name(chai_getOwnEnumerableProperties, "getOwnEnumerableProperties");
19602
+ var chai_isNaN2 = Number.isNaN;
19603
+ function chai_isObjectType(obj) {
19604
+ let objectType = node_modules_chai_type(obj);
19605
+ let objectTypes = [
19606
+ "Array",
19607
+ "Object",
19608
+ "Function"
19609
+ ];
19610
+ return -1 !== objectTypes.indexOf(objectType);
19611
+ }
19612
+ chai_name(chai_isObjectType, "isObjectType");
19613
+ function chai_getOperator(obj, args) {
19614
+ let operator = node_modules_chai_flag(obj, "operator");
19615
+ let negate = node_modules_chai_flag(obj, "negate");
19616
+ let expected = args[3];
19617
+ let msg = negate ? args[2] : args[1];
19618
+ if (operator) return operator;
19619
+ if ("function" == typeof msg) msg = msg();
19620
+ msg = msg || "";
19621
+ if (!msg) return;
19622
+ if (/\shave\s/.test(msg)) return;
19623
+ let isObject = chai_isObjectType(expected);
19624
+ if (/\snot\s/.test(msg)) return isObject ? "notDeepStrictEqual" : "notStrictEqual";
19625
+ return isObject ? "deepStrictEqual" : "strictEqual";
19626
+ }
19627
+ chai_name(chai_getOperator, "getOperator");
19628
+ function chai_getName(fn) {
19629
+ return fn.name;
19630
+ }
19631
+ chai_name(chai_getName, "getName");
19632
+ function chai_isRegExp2(obj) {
19633
+ return "[object RegExp]" === Object.prototype.toString.call(obj);
19634
+ }
19635
+ chai_name(chai_isRegExp2, "isRegExp");
19636
+ function chai_isNumeric(obj) {
19637
+ return [
19638
+ "Number",
19639
+ "BigInt"
19640
+ ].includes(node_modules_chai_type(obj));
19641
+ }
19642
+ chai_name(chai_isNumeric, "isNumeric");
19643
+ var { flag: chai_flag2 } = chai_utils_exports;
19644
+ [
19645
+ "to",
19646
+ "be",
19647
+ "been",
19648
+ "is",
19649
+ "and",
19650
+ "has",
19651
+ "have",
19652
+ "with",
19653
+ "that",
19654
+ "which",
19655
+ "at",
19656
+ "of",
19657
+ "same",
19658
+ "but",
19659
+ "does",
19660
+ "still",
19661
+ "also"
19662
+ ].forEach(function(chain) {
19663
+ node_modules_chai_Assertion.addProperty(chain);
19664
+ });
19665
+ node_modules_chai_Assertion.addProperty("not", function() {
19666
+ chai_flag2(this, "negate", true);
19667
+ });
19668
+ node_modules_chai_Assertion.addProperty("deep", function() {
19669
+ chai_flag2(this, "deep", true);
19670
+ });
19671
+ node_modules_chai_Assertion.addProperty("nested", function() {
19672
+ chai_flag2(this, "nested", true);
19673
+ });
19674
+ node_modules_chai_Assertion.addProperty("own", function() {
19675
+ chai_flag2(this, "own", true);
19676
+ });
19677
+ node_modules_chai_Assertion.addProperty("ordered", function() {
19678
+ chai_flag2(this, "ordered", true);
19679
+ });
19680
+ node_modules_chai_Assertion.addProperty("any", function() {
19681
+ chai_flag2(this, "any", true);
19682
+ chai_flag2(this, "all", false);
19683
+ });
19684
+ node_modules_chai_Assertion.addProperty("all", function() {
19685
+ chai_flag2(this, "all", true);
19686
+ chai_flag2(this, "any", false);
19687
+ });
19688
+ var chai_functionTypes = {
19689
+ function: [
19690
+ "function",
19691
+ "asyncfunction",
19692
+ "generatorfunction",
19693
+ "asyncgeneratorfunction"
19694
+ ],
19695
+ asyncfunction: [
19696
+ "asyncfunction",
19697
+ "asyncgeneratorfunction"
19698
+ ],
19699
+ generatorfunction: [
19700
+ "generatorfunction",
19701
+ "asyncgeneratorfunction"
19702
+ ],
19703
+ asyncgeneratorfunction: [
19704
+ "asyncgeneratorfunction"
19705
+ ]
19706
+ };
19707
+ function chai_an(type3, msg) {
19708
+ if (msg) chai_flag2(this, "message", msg);
19709
+ type3 = type3.toLowerCase();
19710
+ let obj = chai_flag2(this, "object"), article = ~[
19711
+ "a",
19712
+ "e",
19713
+ "i",
19714
+ "o",
19715
+ "u"
19716
+ ].indexOf(type3.charAt(0)) ? "an " : "a ";
19717
+ const detectedType = node_modules_chai_type(obj).toLowerCase();
19718
+ if (chai_functionTypes["function"].includes(type3)) this.assert(chai_functionTypes[type3].includes(detectedType), "expected #{this} to be " + article + type3, "expected #{this} not to be " + article + type3);
19719
+ else this.assert(type3 === detectedType, "expected #{this} to be " + article + type3, "expected #{this} not to be " + article + type3);
19720
+ }
19721
+ chai_name(chai_an, "an");
19722
+ node_modules_chai_Assertion.addChainableMethod("an", chai_an);
19723
+ node_modules_chai_Assertion.addChainableMethod("a", chai_an);
19724
+ function chai_SameValueZero(a, b) {
19725
+ return chai_isNaN2(a) && chai_isNaN2(b) || a === b;
19726
+ }
19727
+ chai_name(chai_SameValueZero, "SameValueZero");
19728
+ function chai_includeChainingBehavior() {
19729
+ chai_flag2(this, "contains", true);
19730
+ }
19731
+ chai_name(chai_includeChainingBehavior, "includeChainingBehavior");
19732
+ function chai_include(val, msg) {
19733
+ if (msg) chai_flag2(this, "message", msg);
19734
+ let obj = chai_flag2(this, "object"), objType = node_modules_chai_type(obj).toLowerCase(), flagMsg = chai_flag2(this, "message"), negate = chai_flag2(this, "negate"), ssfi = chai_flag2(this, "ssfi"), isDeep = chai_flag2(this, "deep"), descriptor = isDeep ? "deep " : "", isEql = isDeep ? chai_flag2(this, "eql") : chai_SameValueZero;
19735
+ flagMsg = flagMsg ? flagMsg + ": " : "";
19736
+ let included = false;
19737
+ switch(objType){
19738
+ case "string":
19739
+ included = -1 !== obj.indexOf(val);
19740
+ break;
19741
+ case "weakset":
19742
+ if (isDeep) throw new chai_6_2_2_node_modules_chai_AssertionError(flagMsg + "unable to use .deep.include with WeakSet", void 0, ssfi);
19743
+ included = obj.has(val);
19744
+ break;
19745
+ case "map":
19746
+ obj.forEach(function(item) {
19747
+ included = included || isEql(item, val);
19748
+ });
19749
+ break;
19750
+ case "set":
19751
+ if (isDeep) obj.forEach(function(item) {
19752
+ included = included || isEql(item, val);
19753
+ });
19754
+ else included = obj.has(val);
19755
+ break;
19756
+ case "array":
19757
+ included = isDeep ? obj.some(function(item) {
19758
+ return isEql(item, val);
19759
+ }) : -1 !== obj.indexOf(val);
19760
+ break;
19761
+ default:
19762
+ {
19763
+ if (val !== Object(val)) throw new chai_6_2_2_node_modules_chai_AssertionError(flagMsg + "the given combination of arguments (" + objType + " and " + node_modules_chai_type(val).toLowerCase() + ") is invalid for this assertion. You can use an array, a map, an object, a set, a string, or a weakset instead of a " + node_modules_chai_type(val).toLowerCase(), void 0, ssfi);
19764
+ let props = Object.keys(val);
19765
+ let firstErr = null;
19766
+ let numErrs = 0;
19767
+ props.forEach(function(prop) {
19768
+ let propAssertion = new node_modules_chai_Assertion(obj);
19769
+ chai_transferFlags(this, propAssertion, true);
19770
+ chai_flag2(propAssertion, "lockSsfi", true);
19771
+ if (!negate || 1 === props.length) return void propAssertion.property(prop, val[prop]);
19772
+ try {
19773
+ propAssertion.property(prop, val[prop]);
19774
+ } catch (err) {
19775
+ if (!chai_check_error_exports.compatibleConstructor(err, chai_6_2_2_node_modules_chai_AssertionError)) throw err;
19776
+ if (null === firstErr) firstErr = err;
19777
+ numErrs++;
19778
+ }
19779
+ }, this);
19780
+ if (negate && props.length > 1 && numErrs === props.length) throw firstErr;
19781
+ return;
19782
+ }
19783
+ }
19784
+ this.assert(included, "expected #{this} to " + descriptor + "include " + chai_inspect2(val), "expected #{this} to not " + descriptor + "include " + chai_inspect2(val));
19785
+ }
19786
+ chai_name(chai_include, "include");
19787
+ node_modules_chai_Assertion.addChainableMethod("include", chai_include, chai_includeChainingBehavior);
19788
+ node_modules_chai_Assertion.addChainableMethod("contain", chai_include, chai_includeChainingBehavior);
19789
+ node_modules_chai_Assertion.addChainableMethod("contains", chai_include, chai_includeChainingBehavior);
19790
+ node_modules_chai_Assertion.addChainableMethod("includes", chai_include, chai_includeChainingBehavior);
19791
+ node_modules_chai_Assertion.addProperty("ok", function() {
19792
+ this.assert(chai_flag2(this, "object"), "expected #{this} to be truthy", "expected #{this} to be falsy");
19793
+ });
19794
+ node_modules_chai_Assertion.addProperty("true", function() {
19795
+ this.assert(true === chai_flag2(this, "object"), "expected #{this} to be true", "expected #{this} to be false", !chai_flag2(this, "negate"));
19796
+ });
19797
+ node_modules_chai_Assertion.addProperty("numeric", function() {
19798
+ const object = chai_flag2(this, "object");
19799
+ this.assert([
19800
+ "Number",
19801
+ "BigInt"
19802
+ ].includes(node_modules_chai_type(object)), "expected #{this} to be numeric", "expected #{this} to not be numeric", !chai_flag2(this, "negate"));
19803
+ });
19804
+ node_modules_chai_Assertion.addProperty("callable", function() {
19805
+ const val = chai_flag2(this, "object");
19806
+ const ssfi = chai_flag2(this, "ssfi");
19807
+ const message = chai_flag2(this, "message");
19808
+ const msg = message ? `${message}: ` : "";
19809
+ const negate = chai_flag2(this, "negate");
19810
+ const assertionMessage = negate ? `${msg}expected ${chai_inspect2(val)} not to be a callable function` : `${msg}expected ${chai_inspect2(val)} to be a callable function`;
19811
+ const isCallable = [
19812
+ "Function",
19813
+ "AsyncFunction",
19814
+ "GeneratorFunction",
19815
+ "AsyncGeneratorFunction"
19816
+ ].includes(node_modules_chai_type(val));
19817
+ if (isCallable && negate || !isCallable && !negate) throw new chai_6_2_2_node_modules_chai_AssertionError(assertionMessage, void 0, ssfi);
19818
+ });
19819
+ node_modules_chai_Assertion.addProperty("false", function() {
19820
+ this.assert(false === chai_flag2(this, "object"), "expected #{this} to be false", "expected #{this} to be true", !!chai_flag2(this, "negate"));
19821
+ });
19822
+ node_modules_chai_Assertion.addProperty("null", function() {
19823
+ this.assert(null === chai_flag2(this, "object"), "expected #{this} to be null", "expected #{this} not to be null");
19824
+ });
19825
+ node_modules_chai_Assertion.addProperty("undefined", function() {
19826
+ this.assert(void 0 === chai_flag2(this, "object"), "expected #{this} to be undefined", "expected #{this} not to be undefined");
19827
+ });
19828
+ node_modules_chai_Assertion.addProperty("NaN", function() {
19829
+ this.assert(chai_isNaN2(chai_flag2(this, "object")), "expected #{this} to be NaN", "expected #{this} not to be NaN");
19830
+ });
19831
+ function chai_assertExist() {
19832
+ let val = chai_flag2(this, "object");
19833
+ this.assert(null != val, "expected #{this} to exist", "expected #{this} to not exist");
19834
+ }
19835
+ chai_name(chai_assertExist, "assertExist");
19836
+ node_modules_chai_Assertion.addProperty("exist", chai_assertExist);
19837
+ node_modules_chai_Assertion.addProperty("exists", chai_assertExist);
19838
+ node_modules_chai_Assertion.addProperty("empty", function() {
19839
+ let val = chai_flag2(this, "object"), ssfi = chai_flag2(this, "ssfi"), flagMsg = chai_flag2(this, "message"), itemsCount;
19840
+ flagMsg = flagMsg ? flagMsg + ": " : "";
19841
+ switch(node_modules_chai_type(val).toLowerCase()){
19842
+ case "array":
19843
+ case "string":
19844
+ itemsCount = val.length;
19845
+ break;
19846
+ case "map":
19847
+ case "set":
19848
+ itemsCount = val.size;
19849
+ break;
19850
+ case "weakmap":
19851
+ case "weakset":
19852
+ throw new chai_6_2_2_node_modules_chai_AssertionError(flagMsg + ".empty was passed a weak collection", void 0, ssfi);
19853
+ case "function":
19854
+ {
19855
+ const msg = flagMsg + ".empty was passed a function " + chai_getName(val);
19856
+ throw new chai_6_2_2_node_modules_chai_AssertionError(msg.trim(), void 0, ssfi);
19857
+ }
19858
+ default:
19859
+ if (val !== Object(val)) throw new chai_6_2_2_node_modules_chai_AssertionError(flagMsg + ".empty was passed non-string primitive " + chai_inspect2(val), void 0, ssfi);
19860
+ itemsCount = Object.keys(val).length;
19861
+ }
19862
+ this.assert(0 === itemsCount, "expected #{this} to be empty", "expected #{this} not to be empty");
19863
+ });
19864
+ function chai_checkArguments() {
19865
+ let obj = chai_flag2(this, "object"), type3 = node_modules_chai_type(obj);
19866
+ this.assert("Arguments" === type3, "expected #{this} to be arguments but got " + type3, "expected #{this} to not be arguments");
19867
+ }
19868
+ chai_name(chai_checkArguments, "checkArguments");
19869
+ node_modules_chai_Assertion.addProperty("arguments", chai_checkArguments);
19870
+ node_modules_chai_Assertion.addProperty("Arguments", chai_checkArguments);
19871
+ function chai_assertEqual(val, msg) {
19872
+ if (msg) chai_flag2(this, "message", msg);
19873
+ let obj = chai_flag2(this, "object");
19874
+ if (chai_flag2(this, "deep")) {
19875
+ let prevLockSsfi = chai_flag2(this, "lockSsfi");
19876
+ chai_flag2(this, "lockSsfi", true);
19877
+ this.eql(val);
19878
+ chai_flag2(this, "lockSsfi", prevLockSsfi);
19879
+ } else this.assert(val === obj, "expected #{this} to equal #{exp}", "expected #{this} to not equal #{exp}", val, this._obj, true);
19880
+ }
19881
+ chai_name(chai_assertEqual, "assertEqual");
19882
+ node_modules_chai_Assertion.addMethod("equal", chai_assertEqual);
19883
+ node_modules_chai_Assertion.addMethod("equals", chai_assertEqual);
19884
+ node_modules_chai_Assertion.addMethod("eq", chai_assertEqual);
19885
+ function chai_assertEql(obj, msg) {
19886
+ if (msg) chai_flag2(this, "message", msg);
19887
+ let eql = chai_flag2(this, "eql");
19888
+ this.assert(eql(obj, chai_flag2(this, "object")), "expected #{this} to deeply equal #{exp}", "expected #{this} to not deeply equal #{exp}", obj, this._obj, true);
19889
+ }
19890
+ chai_name(chai_assertEql, "assertEql");
19891
+ node_modules_chai_Assertion.addMethod("eql", chai_assertEql);
19892
+ node_modules_chai_Assertion.addMethod("eqls", chai_assertEql);
19893
+ function chai_assertAbove(n, msg) {
19894
+ if (msg) chai_flag2(this, "message", msg);
19895
+ let obj = chai_flag2(this, "object"), doLength = chai_flag2(this, "doLength"), flagMsg = chai_flag2(this, "message"), msgPrefix = flagMsg ? flagMsg + ": " : "", ssfi = chai_flag2(this, "ssfi"), objType = node_modules_chai_type(obj).toLowerCase(), nType = node_modules_chai_type(n).toLowerCase();
19896
+ if (doLength && "map" !== objType && "set" !== objType) new node_modules_chai_Assertion(obj, flagMsg, ssfi, true).to.have.property("length");
19897
+ if (doLength || "date" !== objType || "date" === nType) {
19898
+ if (!chai_isNumeric(n) && (doLength || chai_isNumeric(obj))) throw new chai_6_2_2_node_modules_chai_AssertionError(msgPrefix + "the argument to above must be a number", void 0, ssfi);
19899
+ else if (!doLength && "date" !== objType && !chai_isNumeric(obj)) {
19900
+ let printObj = "string" === objType ? "'" + obj + "'" : obj;
19901
+ throw new chai_6_2_2_node_modules_chai_AssertionError(msgPrefix + "expected " + printObj + " to be a number or a date", void 0, ssfi);
19902
+ }
19903
+ } else throw new chai_6_2_2_node_modules_chai_AssertionError(msgPrefix + "the argument to above must be a date", void 0, ssfi);
19904
+ if (doLength) {
19905
+ let descriptor = "length", itemsCount;
19906
+ if ("map" === objType || "set" === objType) {
19907
+ descriptor = "size";
19908
+ itemsCount = obj.size;
19909
+ } else itemsCount = obj.length;
19910
+ this.assert(itemsCount > n, "expected #{this} to have a " + descriptor + " above #{exp} but got #{act}", "expected #{this} to not have a " + descriptor + " above #{exp}", n, itemsCount);
19911
+ } else this.assert(obj > n, "expected #{this} to be above #{exp}", "expected #{this} to be at most #{exp}", n);
19912
+ }
19913
+ chai_name(chai_assertAbove, "assertAbove");
19914
+ node_modules_chai_Assertion.addMethod("above", chai_assertAbove);
19915
+ node_modules_chai_Assertion.addMethod("gt", chai_assertAbove);
19916
+ node_modules_chai_Assertion.addMethod("greaterThan", chai_assertAbove);
19917
+ function chai_assertLeast(n, msg) {
19918
+ if (msg) chai_flag2(this, "message", msg);
19919
+ let obj = chai_flag2(this, "object"), doLength = chai_flag2(this, "doLength"), flagMsg = chai_flag2(this, "message"), msgPrefix = flagMsg ? flagMsg + ": " : "", ssfi = chai_flag2(this, "ssfi"), objType = node_modules_chai_type(obj).toLowerCase(), nType = node_modules_chai_type(n).toLowerCase(), errorMessage, shouldThrow = true;
19920
+ if (doLength && "map" !== objType && "set" !== objType) new node_modules_chai_Assertion(obj, flagMsg, ssfi, true).to.have.property("length");
19921
+ if (doLength || "date" !== objType || "date" === nType) if (!chai_isNumeric(n) && (doLength || chai_isNumeric(obj))) errorMessage = msgPrefix + "the argument to least must be a number";
19922
+ else if (doLength || "date" === objType || chai_isNumeric(obj)) shouldThrow = false;
19923
+ else {
19924
+ let printObj = "string" === objType ? "'" + obj + "'" : obj;
19925
+ errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date";
19926
+ }
19927
+ else errorMessage = msgPrefix + "the argument to least must be a date";
19928
+ if (shouldThrow) throw new chai_6_2_2_node_modules_chai_AssertionError(errorMessage, void 0, ssfi);
19929
+ if (doLength) {
19930
+ let descriptor = "length", itemsCount;
19931
+ if ("map" === objType || "set" === objType) {
19932
+ descriptor = "size";
19933
+ itemsCount = obj.size;
19934
+ } else itemsCount = obj.length;
19935
+ this.assert(itemsCount >= n, "expected #{this} to have a " + descriptor + " at least #{exp} but got #{act}", "expected #{this} to have a " + descriptor + " below #{exp}", n, itemsCount);
19936
+ } else this.assert(obj >= n, "expected #{this} to be at least #{exp}", "expected #{this} to be below #{exp}", n);
19937
+ }
19938
+ chai_name(chai_assertLeast, "assertLeast");
19939
+ node_modules_chai_Assertion.addMethod("least", chai_assertLeast);
19940
+ node_modules_chai_Assertion.addMethod("gte", chai_assertLeast);
19941
+ node_modules_chai_Assertion.addMethod("greaterThanOrEqual", chai_assertLeast);
19942
+ function chai_assertBelow(n, msg) {
19943
+ if (msg) chai_flag2(this, "message", msg);
19944
+ let obj = chai_flag2(this, "object"), doLength = chai_flag2(this, "doLength"), flagMsg = chai_flag2(this, "message"), msgPrefix = flagMsg ? flagMsg + ": " : "", ssfi = chai_flag2(this, "ssfi"), objType = node_modules_chai_type(obj).toLowerCase(), nType = node_modules_chai_type(n).toLowerCase(), errorMessage, shouldThrow = true;
19945
+ if (doLength && "map" !== objType && "set" !== objType) new node_modules_chai_Assertion(obj, flagMsg, ssfi, true).to.have.property("length");
19946
+ if (doLength || "date" !== objType || "date" === nType) if (!chai_isNumeric(n) && (doLength || chai_isNumeric(obj))) errorMessage = msgPrefix + "the argument to below must be a number";
19947
+ else if (doLength || "date" === objType || chai_isNumeric(obj)) shouldThrow = false;
19948
+ else {
19949
+ let printObj = "string" === objType ? "'" + obj + "'" : obj;
19950
+ errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date";
19951
+ }
19952
+ else errorMessage = msgPrefix + "the argument to below must be a date";
19953
+ if (shouldThrow) throw new chai_6_2_2_node_modules_chai_AssertionError(errorMessage, void 0, ssfi);
19954
+ if (doLength) {
19955
+ let descriptor = "length", itemsCount;
19956
+ if ("map" === objType || "set" === objType) {
19957
+ descriptor = "size";
19958
+ itemsCount = obj.size;
19959
+ } else itemsCount = obj.length;
19960
+ this.assert(itemsCount < n, "expected #{this} to have a " + descriptor + " below #{exp} but got #{act}", "expected #{this} to not have a " + descriptor + " below #{exp}", n, itemsCount);
19961
+ } else this.assert(obj < n, "expected #{this} to be below #{exp}", "expected #{this} to be at least #{exp}", n);
19962
+ }
19963
+ chai_name(chai_assertBelow, "assertBelow");
19964
+ node_modules_chai_Assertion.addMethod("below", chai_assertBelow);
19965
+ node_modules_chai_Assertion.addMethod("lt", chai_assertBelow);
19966
+ node_modules_chai_Assertion.addMethod("lessThan", chai_assertBelow);
19967
+ function chai_assertMost(n, msg) {
19968
+ if (msg) chai_flag2(this, "message", msg);
19969
+ let obj = chai_flag2(this, "object"), doLength = chai_flag2(this, "doLength"), flagMsg = chai_flag2(this, "message"), msgPrefix = flagMsg ? flagMsg + ": " : "", ssfi = chai_flag2(this, "ssfi"), objType = node_modules_chai_type(obj).toLowerCase(), nType = node_modules_chai_type(n).toLowerCase(), errorMessage, shouldThrow = true;
19970
+ if (doLength && "map" !== objType && "set" !== objType) new node_modules_chai_Assertion(obj, flagMsg, ssfi, true).to.have.property("length");
19971
+ if (doLength || "date" !== objType || "date" === nType) if (!chai_isNumeric(n) && (doLength || chai_isNumeric(obj))) errorMessage = msgPrefix + "the argument to most must be a number";
19972
+ else if (doLength || "date" === objType || chai_isNumeric(obj)) shouldThrow = false;
19973
+ else {
19974
+ let printObj = "string" === objType ? "'" + obj + "'" : obj;
19975
+ errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date";
19976
+ }
19977
+ else errorMessage = msgPrefix + "the argument to most must be a date";
19978
+ if (shouldThrow) throw new chai_6_2_2_node_modules_chai_AssertionError(errorMessage, void 0, ssfi);
19979
+ if (doLength) {
19980
+ let descriptor = "length", itemsCount;
19981
+ if ("map" === objType || "set" === objType) {
19982
+ descriptor = "size";
19983
+ itemsCount = obj.size;
19984
+ } else itemsCount = obj.length;
19985
+ this.assert(itemsCount <= n, "expected #{this} to have a " + descriptor + " at most #{exp} but got #{act}", "expected #{this} to have a " + descriptor + " above #{exp}", n, itemsCount);
19986
+ } else this.assert(obj <= n, "expected #{this} to be at most #{exp}", "expected #{this} to be above #{exp}", n);
19987
+ }
19988
+ chai_name(chai_assertMost, "assertMost");
19989
+ node_modules_chai_Assertion.addMethod("most", chai_assertMost);
19990
+ node_modules_chai_Assertion.addMethod("lte", chai_assertMost);
19991
+ node_modules_chai_Assertion.addMethod("lessThanOrEqual", chai_assertMost);
19992
+ node_modules_chai_Assertion.addMethod("within", function(start, finish, msg) {
19993
+ if (msg) chai_flag2(this, "message", msg);
19994
+ let obj = chai_flag2(this, "object"), doLength = chai_flag2(this, "doLength"), flagMsg = chai_flag2(this, "message"), msgPrefix = flagMsg ? flagMsg + ": " : "", ssfi = chai_flag2(this, "ssfi"), objType = node_modules_chai_type(obj).toLowerCase(), startType = node_modules_chai_type(start).toLowerCase(), finishType = node_modules_chai_type(finish).toLowerCase(), errorMessage, shouldThrow = true, range = "date" === startType && "date" === finishType ? start.toISOString() + ".." + finish.toISOString() : start + ".." + finish;
19995
+ if (doLength && "map" !== objType && "set" !== objType) new node_modules_chai_Assertion(obj, flagMsg, ssfi, true).to.have.property("length");
19996
+ if (doLength || "date" !== objType || "date" === startType && "date" === finishType) if ((!chai_isNumeric(start) || !chai_isNumeric(finish)) && (doLength || chai_isNumeric(obj))) errorMessage = msgPrefix + "the arguments to within must be numbers";
19997
+ else if (doLength || "date" === objType || chai_isNumeric(obj)) shouldThrow = false;
19998
+ else {
19999
+ let printObj = "string" === objType ? "'" + obj + "'" : obj;
20000
+ errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date";
20001
+ }
20002
+ else errorMessage = msgPrefix + "the arguments to within must be dates";
20003
+ if (shouldThrow) throw new chai_6_2_2_node_modules_chai_AssertionError(errorMessage, void 0, ssfi);
20004
+ if (doLength) {
20005
+ let descriptor = "length", itemsCount;
20006
+ if ("map" === objType || "set" === objType) {
20007
+ descriptor = "size";
20008
+ itemsCount = obj.size;
20009
+ } else itemsCount = obj.length;
20010
+ this.assert(itemsCount >= start && itemsCount <= finish, "expected #{this} to have a " + descriptor + " within " + range, "expected #{this} to not have a " + descriptor + " within " + range);
20011
+ } else this.assert(obj >= start && obj <= finish, "expected #{this} to be within " + range, "expected #{this} to not be within " + range);
20012
+ });
20013
+ function chai_assertInstanceOf(constructor, msg) {
20014
+ if (msg) chai_flag2(this, "message", msg);
20015
+ let target = chai_flag2(this, "object");
20016
+ let ssfi = chai_flag2(this, "ssfi");
20017
+ let flagMsg = chai_flag2(this, "message");
20018
+ let isInstanceOf;
20019
+ try {
20020
+ isInstanceOf = target instanceof constructor;
20021
+ } catch (err) {
20022
+ if (err instanceof TypeError) {
20023
+ flagMsg = flagMsg ? flagMsg + ": " : "";
20024
+ throw new chai_6_2_2_node_modules_chai_AssertionError(flagMsg + "The instanceof assertion needs a constructor but " + node_modules_chai_type(constructor) + " was given.", void 0, ssfi);
20025
+ }
20026
+ throw err;
20027
+ }
20028
+ let name = chai_getName(constructor);
20029
+ if (null == name) name = "an unnamed constructor";
20030
+ this.assert(isInstanceOf, "expected #{this} to be an instance of " + name, "expected #{this} to not be an instance of " + name);
20031
+ }
20032
+ chai_name(chai_assertInstanceOf, "assertInstanceOf");
20033
+ node_modules_chai_Assertion.addMethod("instanceof", chai_assertInstanceOf);
20034
+ node_modules_chai_Assertion.addMethod("instanceOf", chai_assertInstanceOf);
20035
+ function chai_assertProperty(name, val, msg) {
20036
+ if (msg) chai_flag2(this, "message", msg);
20037
+ let isNested = chai_flag2(this, "nested"), isOwn = chai_flag2(this, "own"), flagMsg = chai_flag2(this, "message"), obj = chai_flag2(this, "object"), ssfi = chai_flag2(this, "ssfi"), nameType = typeof name;
20038
+ flagMsg = flagMsg ? flagMsg + ": " : "";
20039
+ if (isNested) {
20040
+ if ("string" !== nameType) throw new chai_6_2_2_node_modules_chai_AssertionError(flagMsg + "the argument to property must be a string when using nested syntax", void 0, ssfi);
20041
+ } else if ("string" !== nameType && "number" !== nameType && "symbol" !== nameType) throw new chai_6_2_2_node_modules_chai_AssertionError(flagMsg + "the argument to property must be a string, number, or symbol", void 0, ssfi);
20042
+ if (isNested && isOwn) throw new chai_6_2_2_node_modules_chai_AssertionError(flagMsg + 'The "nested" and "own" flags cannot be combined.', void 0, ssfi);
20043
+ if (null == obj) throw new chai_6_2_2_node_modules_chai_AssertionError(flagMsg + "Target cannot be null or undefined.", void 0, ssfi);
20044
+ let isDeep = chai_flag2(this, "deep"), negate = chai_flag2(this, "negate"), pathInfo = isNested ? chai_getPathInfo(obj, name) : null, value = isNested ? pathInfo.value : obj[name], isEql = isDeep ? chai_flag2(this, "eql") : (val1, val2)=>val1 === val2;
20045
+ let descriptor = "";
20046
+ if (isDeep) descriptor += "deep ";
20047
+ if (isOwn) descriptor += "own ";
20048
+ if (isNested) descriptor += "nested ";
20049
+ descriptor += "property ";
20050
+ let hasProperty2;
20051
+ hasProperty2 = isOwn ? Object.prototype.hasOwnProperty.call(obj, name) : isNested ? pathInfo.exists : chai_hasProperty(obj, name);
20052
+ if (!negate || 1 === arguments.length) this.assert(hasProperty2, "expected #{this} to have " + descriptor + chai_inspect2(name), "expected #{this} to not have " + descriptor + chai_inspect2(name));
20053
+ if (arguments.length > 1) this.assert(hasProperty2 && isEql(val, value), "expected #{this} to have " + descriptor + chai_inspect2(name) + " of #{exp}, but got #{act}", "expected #{this} to not have " + descriptor + chai_inspect2(name) + " of #{act}", val, value);
20054
+ chai_flag2(this, "object", value);
20055
+ }
20056
+ chai_name(chai_assertProperty, "assertProperty");
20057
+ node_modules_chai_Assertion.addMethod("property", chai_assertProperty);
20058
+ function chai_assertOwnProperty(_name, _value, _msg) {
20059
+ chai_flag2(this, "own", true);
20060
+ chai_assertProperty.apply(this, arguments);
20061
+ }
20062
+ chai_name(chai_assertOwnProperty, "assertOwnProperty");
20063
+ node_modules_chai_Assertion.addMethod("ownProperty", chai_assertOwnProperty);
20064
+ node_modules_chai_Assertion.addMethod("haveOwnProperty", chai_assertOwnProperty);
20065
+ function chai_assertOwnPropertyDescriptor(name, descriptor, msg) {
20066
+ if ("string" == typeof descriptor) {
20067
+ msg = descriptor;
20068
+ descriptor = null;
20069
+ }
20070
+ if (msg) chai_flag2(this, "message", msg);
20071
+ let obj = chai_flag2(this, "object");
20072
+ let actualDescriptor = Object.getOwnPropertyDescriptor(Object(obj), name);
20073
+ let eql = chai_flag2(this, "eql");
20074
+ if (actualDescriptor && descriptor) this.assert(eql(descriptor, actualDescriptor), "expected the own property descriptor for " + chai_inspect2(name) + " on #{this} to match " + chai_inspect2(descriptor) + ", got " + chai_inspect2(actualDescriptor), "expected the own property descriptor for " + chai_inspect2(name) + " on #{this} to not match " + chai_inspect2(descriptor), descriptor, actualDescriptor, true);
20075
+ else this.assert(actualDescriptor, "expected #{this} to have an own property descriptor for " + chai_inspect2(name), "expected #{this} to not have an own property descriptor for " + chai_inspect2(name));
20076
+ chai_flag2(this, "object", actualDescriptor);
20077
+ }
20078
+ chai_name(chai_assertOwnPropertyDescriptor, "assertOwnPropertyDescriptor");
20079
+ node_modules_chai_Assertion.addMethod("ownPropertyDescriptor", chai_assertOwnPropertyDescriptor);
20080
+ node_modules_chai_Assertion.addMethod("haveOwnPropertyDescriptor", chai_assertOwnPropertyDescriptor);
20081
+ function chai_assertLengthChain() {
20082
+ chai_flag2(this, "doLength", true);
20083
+ }
20084
+ chai_name(chai_assertLengthChain, "assertLengthChain");
20085
+ function chai_assertLength(n, msg) {
20086
+ if (msg) chai_flag2(this, "message", msg);
20087
+ let obj = chai_flag2(this, "object"), objType = node_modules_chai_type(obj).toLowerCase(), flagMsg = chai_flag2(this, "message"), ssfi = chai_flag2(this, "ssfi"), descriptor = "length", itemsCount;
20088
+ switch(objType){
20089
+ case "map":
20090
+ case "set":
20091
+ descriptor = "size";
20092
+ itemsCount = obj.size;
20093
+ break;
20094
+ default:
20095
+ new node_modules_chai_Assertion(obj, flagMsg, ssfi, true).to.have.property("length");
20096
+ itemsCount = obj.length;
20097
+ }
20098
+ this.assert(itemsCount == n, "expected #{this} to have a " + descriptor + " of #{exp} but got #{act}", "expected #{this} to not have a " + descriptor + " of #{act}", n, itemsCount);
20099
+ }
20100
+ chai_name(chai_assertLength, "assertLength");
20101
+ node_modules_chai_Assertion.addChainableMethod("length", chai_assertLength, chai_assertLengthChain);
20102
+ node_modules_chai_Assertion.addChainableMethod("lengthOf", chai_assertLength, chai_assertLengthChain);
20103
+ function chai_assertMatch(re, msg) {
20104
+ if (msg) chai_flag2(this, "message", msg);
20105
+ let obj = chai_flag2(this, "object");
20106
+ this.assert(re.exec(obj), "expected #{this} to match " + re, "expected #{this} not to match " + re);
20107
+ }
20108
+ chai_name(chai_assertMatch, "assertMatch");
20109
+ node_modules_chai_Assertion.addMethod("match", chai_assertMatch);
20110
+ node_modules_chai_Assertion.addMethod("matches", chai_assertMatch);
20111
+ node_modules_chai_Assertion.addMethod("string", function(str, msg) {
20112
+ if (msg) chai_flag2(this, "message", msg);
20113
+ let obj = chai_flag2(this, "object"), flagMsg = chai_flag2(this, "message"), ssfi = chai_flag2(this, "ssfi");
20114
+ new node_modules_chai_Assertion(obj, flagMsg, ssfi, true).is.a("string");
20115
+ this.assert(~obj.indexOf(str), "expected #{this} to contain " + chai_inspect2(str), "expected #{this} to not contain " + chai_inspect2(str));
20116
+ });
20117
+ function chai_assertKeys(keys) {
20118
+ let obj = chai_flag2(this, "object"), objType = node_modules_chai_type(obj), keysType = node_modules_chai_type(keys), ssfi = chai_flag2(this, "ssfi"), isDeep = chai_flag2(this, "deep"), str, deepStr = "", actual, ok = true, flagMsg = chai_flag2(this, "message");
20119
+ flagMsg = flagMsg ? flagMsg + ": " : "";
20120
+ let mixedArgsMsg = flagMsg + "when testing keys against an object or an array you must give a single Array|Object|String argument or multiple String arguments";
20121
+ if ("Map" === objType || "Set" === objType) {
20122
+ deepStr = isDeep ? "deeply " : "";
20123
+ actual = [];
20124
+ obj.forEach(function(val, key) {
20125
+ actual.push(key);
20126
+ });
20127
+ if ("Array" !== keysType) keys = Array.prototype.slice.call(arguments);
20128
+ } else {
20129
+ actual = chai_getOwnEnumerableProperties(obj);
20130
+ switch(keysType){
20131
+ case "Array":
20132
+ if (arguments.length > 1) throw new chai_6_2_2_node_modules_chai_AssertionError(mixedArgsMsg, void 0, ssfi);
20133
+ break;
20134
+ case "Object":
20135
+ if (arguments.length > 1) throw new chai_6_2_2_node_modules_chai_AssertionError(mixedArgsMsg, void 0, ssfi);
20136
+ keys = Object.keys(keys);
20137
+ break;
20138
+ default:
20139
+ keys = Array.prototype.slice.call(arguments);
20140
+ }
20141
+ keys = keys.map(function(val) {
20142
+ return "symbol" == typeof val ? val : String(val);
20143
+ });
20144
+ }
20145
+ if (!keys.length) throw new chai_6_2_2_node_modules_chai_AssertionError(flagMsg + "keys required", void 0, ssfi);
20146
+ let len = keys.length, any = chai_flag2(this, "any"), all = chai_flag2(this, "all"), expected = keys, isEql = isDeep ? chai_flag2(this, "eql") : (val1, val2)=>val1 === val2;
20147
+ if (!any && !all) all = true;
20148
+ if (any) ok = expected.some(function(expectedKey) {
20149
+ return actual.some(function(actualKey) {
20150
+ return isEql(expectedKey, actualKey);
20151
+ });
20152
+ });
20153
+ if (all) {
20154
+ ok = expected.every(function(expectedKey) {
20155
+ return actual.some(function(actualKey) {
20156
+ return isEql(expectedKey, actualKey);
20157
+ });
20158
+ });
20159
+ if (!chai_flag2(this, "contains")) ok = ok && keys.length == actual.length;
20160
+ }
20161
+ if (len > 1) {
20162
+ keys = keys.map(function(key) {
20163
+ return chai_inspect2(key);
20164
+ });
20165
+ let last = keys.pop();
20166
+ if (all) str = keys.join(", ") + ", and " + last;
20167
+ if (any) str = keys.join(", ") + ", or " + last;
20168
+ } else str = chai_inspect2(keys[0]);
20169
+ str = (len > 1 ? "keys " : "key ") + str;
20170
+ str = (chai_flag2(this, "contains") ? "contain " : "have ") + str;
20171
+ this.assert(ok, "expected #{this} to " + deepStr + str, "expected #{this} to not " + deepStr + str, expected.slice(0).sort(chai_compareByInspect), actual.sort(chai_compareByInspect), true);
20172
+ }
20173
+ chai_name(chai_assertKeys, "assertKeys");
20174
+ node_modules_chai_Assertion.addMethod("keys", chai_assertKeys);
20175
+ node_modules_chai_Assertion.addMethod("key", chai_assertKeys);
20176
+ function chai_assertThrows(errorLike, errMsgMatcher, msg) {
20177
+ if (msg) chai_flag2(this, "message", msg);
20178
+ let obj = chai_flag2(this, "object"), ssfi = chai_flag2(this, "ssfi"), flagMsg = chai_flag2(this, "message"), negate = chai_flag2(this, "negate") || false;
20179
+ new node_modules_chai_Assertion(obj, flagMsg, ssfi, true).is.a("function");
20180
+ if (chai_isRegExp2(errorLike) || "string" == typeof errorLike) {
20181
+ errMsgMatcher = errorLike;
20182
+ errorLike = null;
20183
+ }
20184
+ let caughtErr;
20185
+ let errorWasThrown = false;
20186
+ try {
20187
+ obj();
20188
+ } catch (err) {
20189
+ errorWasThrown = true;
20190
+ caughtErr = err;
20191
+ }
20192
+ let everyArgIsUndefined = void 0 === errorLike && void 0 === errMsgMatcher;
20193
+ let everyArgIsDefined = Boolean(errorLike && errMsgMatcher);
20194
+ let errorLikeFail = false;
20195
+ let errMsgMatcherFail = false;
20196
+ if (everyArgIsUndefined || !everyArgIsUndefined && !negate) {
20197
+ let errorLikeString = "an error";
20198
+ if (errorLike instanceof Error) errorLikeString = "#{exp}";
20199
+ else if (errorLike) errorLikeString = chai_check_error_exports.getConstructorName(errorLike);
20200
+ let actual = caughtErr;
20201
+ if (caughtErr instanceof Error) actual = caughtErr.toString();
20202
+ else if ("string" == typeof caughtErr) actual = caughtErr;
20203
+ else if (caughtErr && ("object" == typeof caughtErr || "function" == typeof caughtErr)) try {
20204
+ actual = chai_check_error_exports.getConstructorName(caughtErr);
20205
+ } catch (_err) {}
20206
+ this.assert(errorWasThrown, "expected #{this} to throw " + errorLikeString, "expected #{this} to not throw an error but #{act} was thrown", errorLike && errorLike.toString(), actual);
20207
+ }
20208
+ if (errorLike && caughtErr) {
20209
+ if (errorLike instanceof Error) {
20210
+ let isCompatibleInstance = chai_check_error_exports.compatibleInstance(caughtErr, errorLike);
20211
+ if (isCompatibleInstance === negate) if (everyArgIsDefined && negate) errorLikeFail = true;
20212
+ else this.assert(negate, "expected #{this} to throw #{exp} but #{act} was thrown", "expected #{this} to not throw #{exp}" + (caughtErr && !negate ? " but #{act} was thrown" : ""), errorLike.toString(), caughtErr.toString());
20213
+ }
20214
+ let isCompatibleConstructor = chai_check_error_exports.compatibleConstructor(caughtErr, errorLike);
20215
+ if (isCompatibleConstructor === negate) if (everyArgIsDefined && negate) errorLikeFail = true;
20216
+ else this.assert(negate, "expected #{this} to throw #{exp} but #{act} was thrown", "expected #{this} to not throw #{exp}" + (caughtErr ? " but #{act} was thrown" : ""), errorLike instanceof Error ? errorLike.toString() : errorLike && chai_check_error_exports.getConstructorName(errorLike), caughtErr instanceof Error ? caughtErr.toString() : caughtErr && chai_check_error_exports.getConstructorName(caughtErr));
20217
+ }
20218
+ if (caughtErr && null != errMsgMatcher) {
20219
+ let placeholder = "including";
20220
+ if (chai_isRegExp2(errMsgMatcher)) placeholder = "matching";
20221
+ let isCompatibleMessage = chai_check_error_exports.compatibleMessage(caughtErr, errMsgMatcher);
20222
+ if (isCompatibleMessage === negate) if (everyArgIsDefined && negate) errMsgMatcherFail = true;
20223
+ else this.assert(negate, "expected #{this} to throw error " + placeholder + " #{exp} but got #{act}", "expected #{this} to throw error not " + placeholder + " #{exp}", errMsgMatcher, chai_check_error_exports.getMessage(caughtErr));
20224
+ }
20225
+ if (errorLikeFail && errMsgMatcherFail) this.assert(negate, "expected #{this} to throw #{exp} but #{act} was thrown", "expected #{this} to not throw #{exp}" + (caughtErr ? " but #{act} was thrown" : ""), errorLike instanceof Error ? errorLike.toString() : errorLike && chai_check_error_exports.getConstructorName(errorLike), caughtErr instanceof Error ? caughtErr.toString() : caughtErr && chai_check_error_exports.getConstructorName(caughtErr));
20226
+ chai_flag2(this, "object", caughtErr);
20227
+ }
20228
+ chai_name(chai_assertThrows, "assertThrows");
20229
+ node_modules_chai_Assertion.addMethod("throw", chai_assertThrows);
20230
+ node_modules_chai_Assertion.addMethod("throws", chai_assertThrows);
20231
+ node_modules_chai_Assertion.addMethod("Throw", chai_assertThrows);
20232
+ function chai_respondTo(method, msg) {
20233
+ if (msg) chai_flag2(this, "message", msg);
20234
+ let obj = chai_flag2(this, "object"), itself = chai_flag2(this, "itself"), context = "function" != typeof obj || itself ? obj[method] : obj.prototype[method];
20235
+ this.assert("function" == typeof context, "expected #{this} to respond to " + chai_inspect2(method), "expected #{this} to not respond to " + chai_inspect2(method));
20236
+ }
20237
+ chai_name(chai_respondTo, "respondTo");
20238
+ node_modules_chai_Assertion.addMethod("respondTo", chai_respondTo);
20239
+ node_modules_chai_Assertion.addMethod("respondsTo", chai_respondTo);
20240
+ node_modules_chai_Assertion.addProperty("itself", function() {
20241
+ chai_flag2(this, "itself", true);
20242
+ });
20243
+ function chai_satisfy(matcher, msg) {
20244
+ if (msg) chai_flag2(this, "message", msg);
20245
+ let obj = chai_flag2(this, "object");
20246
+ let result = matcher(obj);
20247
+ this.assert(result, "expected #{this} to satisfy " + node_modules_chai_objDisplay(matcher), "expected #{this} to not satisfy" + node_modules_chai_objDisplay(matcher), !chai_flag2(this, "negate"), result);
20248
+ }
20249
+ chai_name(chai_satisfy, "satisfy");
20250
+ node_modules_chai_Assertion.addMethod("satisfy", chai_satisfy);
20251
+ node_modules_chai_Assertion.addMethod("satisfies", chai_satisfy);
20252
+ function chai_closeTo(expected, delta, msg) {
20253
+ if (msg) chai_flag2(this, "message", msg);
20254
+ let obj = chai_flag2(this, "object"), flagMsg = chai_flag2(this, "message"), ssfi = chai_flag2(this, "ssfi");
20255
+ new node_modules_chai_Assertion(obj, flagMsg, ssfi, true).is.numeric;
20256
+ let message = "A `delta` value is required for `closeTo`";
20257
+ if (void 0 == delta) throw new chai_6_2_2_node_modules_chai_AssertionError(flagMsg ? `${flagMsg}: ${message}` : message, void 0, ssfi);
20258
+ new node_modules_chai_Assertion(delta, flagMsg, ssfi, true).is.numeric;
20259
+ message = "A `expected` value is required for `closeTo`";
20260
+ if (void 0 == expected) throw new chai_6_2_2_node_modules_chai_AssertionError(flagMsg ? `${flagMsg}: ${message}` : message, void 0, ssfi);
20261
+ new node_modules_chai_Assertion(expected, flagMsg, ssfi, true).is.numeric;
20262
+ const abs = /* @__PURE__ */ chai_name((x)=>x < 0 ? -x : x, "abs");
20263
+ const strip = /* @__PURE__ */ chai_name((number)=>parseFloat(parseFloat(number).toPrecision(12)), "strip");
20264
+ this.assert(strip(abs(obj - expected)) <= delta, "expected #{this} to be close to " + expected + " +/- " + delta, "expected #{this} not to be close to " + expected + " +/- " + delta);
20265
+ }
20266
+ chai_name(chai_closeTo, "closeTo");
20267
+ node_modules_chai_Assertion.addMethod("closeTo", chai_closeTo);
20268
+ node_modules_chai_Assertion.addMethod("approximately", chai_closeTo);
20269
+ function chai_isSubsetOf(_subset, _superset, cmp, contains, ordered) {
20270
+ let superset = Array.from(_superset);
20271
+ let subset = Array.from(_subset);
20272
+ if (!contains) {
20273
+ if (subset.length !== superset.length) return false;
20274
+ superset = superset.slice();
20275
+ }
20276
+ return subset.every(function(elem, idx) {
20277
+ if (ordered) return cmp ? cmp(elem, superset[idx]) : elem === superset[idx];
20278
+ if (!cmp) {
20279
+ let matchIdx = superset.indexOf(elem);
20280
+ if (-1 === matchIdx) return false;
20281
+ if (!contains) superset.splice(matchIdx, 1);
20282
+ return true;
20283
+ }
20284
+ return superset.some(function(elem2, matchIdx) {
20285
+ if (!cmp(elem, elem2)) return false;
20286
+ if (!contains) superset.splice(matchIdx, 1);
20287
+ return true;
20288
+ });
20289
+ });
20290
+ }
20291
+ chai_name(chai_isSubsetOf, "isSubsetOf");
20292
+ node_modules_chai_Assertion.addMethod("members", function(subset, msg) {
20293
+ if (msg) chai_flag2(this, "message", msg);
20294
+ let obj = chai_flag2(this, "object"), flagMsg = chai_flag2(this, "message"), ssfi = chai_flag2(this, "ssfi");
20295
+ new node_modules_chai_Assertion(obj, flagMsg, ssfi, true).to.be.iterable;
20296
+ new node_modules_chai_Assertion(subset, flagMsg, ssfi, true).to.be.iterable;
20297
+ let contains = chai_flag2(this, "contains");
20298
+ let ordered = chai_flag2(this, "ordered");
20299
+ let subject, failMsg, failNegateMsg;
20300
+ if (contains) {
20301
+ subject = ordered ? "an ordered superset" : "a superset";
20302
+ failMsg = "expected #{this} to be " + subject + " of #{exp}";
20303
+ failNegateMsg = "expected #{this} to not be " + subject + " of #{exp}";
20304
+ } else {
20305
+ subject = ordered ? "ordered members" : "members";
20306
+ failMsg = "expected #{this} to have the same " + subject + " as #{exp}";
20307
+ failNegateMsg = "expected #{this} to not have the same " + subject + " as #{exp}";
20308
+ }
20309
+ let cmp = chai_flag2(this, "deep") ? chai_flag2(this, "eql") : void 0;
20310
+ this.assert(chai_isSubsetOf(subset, obj, cmp, contains, ordered), failMsg, failNegateMsg, subset, obj, true);
20311
+ });
20312
+ node_modules_chai_Assertion.addProperty("iterable", function(msg) {
20313
+ if (msg) chai_flag2(this, "message", msg);
20314
+ let obj = chai_flag2(this, "object");
20315
+ this.assert(void 0 != obj && obj[Symbol.iterator], "expected #{this} to be an iterable", "expected #{this} to not be an iterable", obj);
20316
+ });
20317
+ function chai_oneOf(list, msg) {
20318
+ if (msg) chai_flag2(this, "message", msg);
20319
+ let expected = chai_flag2(this, "object"), flagMsg = chai_flag2(this, "message"), ssfi = chai_flag2(this, "ssfi"), contains = chai_flag2(this, "contains"), isDeep = chai_flag2(this, "deep"), eql = chai_flag2(this, "eql");
20320
+ new node_modules_chai_Assertion(list, flagMsg, ssfi, true).to.be.an("array");
20321
+ if (contains) this.assert(list.some(function(possibility) {
20322
+ return expected.indexOf(possibility) > -1;
20323
+ }), "expected #{this} to contain one of #{exp}", "expected #{this} to not contain one of #{exp}", list, expected);
20324
+ else if (isDeep) this.assert(list.some(function(possibility) {
20325
+ return eql(expected, possibility);
20326
+ }), "expected #{this} to deeply equal one of #{exp}", "expected #{this} to deeply equal one of #{exp}", list, expected);
20327
+ else this.assert(list.indexOf(expected) > -1, "expected #{this} to be one of #{exp}", "expected #{this} to not be one of #{exp}", list, expected);
20328
+ }
20329
+ chai_name(chai_oneOf, "oneOf");
20330
+ node_modules_chai_Assertion.addMethod("oneOf", chai_oneOf);
20331
+ function chai_assertChanges(subject, prop, msg) {
20332
+ if (msg) chai_flag2(this, "message", msg);
20333
+ let fn = chai_flag2(this, "object"), flagMsg = chai_flag2(this, "message"), ssfi = chai_flag2(this, "ssfi");
20334
+ new node_modules_chai_Assertion(fn, flagMsg, ssfi, true).is.a("function");
20335
+ let initial;
20336
+ if (prop) {
20337
+ new node_modules_chai_Assertion(subject, flagMsg, ssfi, true).to.have.property(prop);
20338
+ initial = subject[prop];
20339
+ } else {
20340
+ new node_modules_chai_Assertion(subject, flagMsg, ssfi, true).is.a("function");
20341
+ initial = subject();
20342
+ }
20343
+ fn();
20344
+ let final = null == prop ? subject() : subject[prop];
20345
+ let msgObj = null == prop ? initial : "." + prop;
20346
+ chai_flag2(this, "deltaMsgObj", msgObj);
20347
+ chai_flag2(this, "initialDeltaValue", initial);
20348
+ chai_flag2(this, "finalDeltaValue", final);
20349
+ chai_flag2(this, "deltaBehavior", "change");
20350
+ chai_flag2(this, "realDelta", final !== initial);
20351
+ this.assert(initial !== final, "expected " + msgObj + " to change", "expected " + msgObj + " to not change");
20352
+ }
20353
+ chai_name(chai_assertChanges, "assertChanges");
20354
+ node_modules_chai_Assertion.addMethod("change", chai_assertChanges);
20355
+ node_modules_chai_Assertion.addMethod("changes", chai_assertChanges);
20356
+ function chai_assertIncreases(subject, prop, msg) {
20357
+ if (msg) chai_flag2(this, "message", msg);
20358
+ let fn = chai_flag2(this, "object"), flagMsg = chai_flag2(this, "message"), ssfi = chai_flag2(this, "ssfi");
20359
+ new node_modules_chai_Assertion(fn, flagMsg, ssfi, true).is.a("function");
20360
+ let initial;
20361
+ if (prop) {
20362
+ new node_modules_chai_Assertion(subject, flagMsg, ssfi, true).to.have.property(prop);
20363
+ initial = subject[prop];
20364
+ } else {
20365
+ new node_modules_chai_Assertion(subject, flagMsg, ssfi, true).is.a("function");
20366
+ initial = subject();
20367
+ }
20368
+ new node_modules_chai_Assertion(initial, flagMsg, ssfi, true).is.a("number");
20369
+ fn();
20370
+ let final = null == prop ? subject() : subject[prop];
20371
+ let msgObj = null == prop ? initial : "." + prop;
20372
+ chai_flag2(this, "deltaMsgObj", msgObj);
20373
+ chai_flag2(this, "initialDeltaValue", initial);
20374
+ chai_flag2(this, "finalDeltaValue", final);
20375
+ chai_flag2(this, "deltaBehavior", "increase");
20376
+ chai_flag2(this, "realDelta", final - initial);
20377
+ this.assert(final - initial > 0, "expected " + msgObj + " to increase", "expected " + msgObj + " to not increase");
20378
+ }
20379
+ chai_name(chai_assertIncreases, "assertIncreases");
20380
+ node_modules_chai_Assertion.addMethod("increase", chai_assertIncreases);
20381
+ node_modules_chai_Assertion.addMethod("increases", chai_assertIncreases);
20382
+ function chai_assertDecreases(subject, prop, msg) {
20383
+ if (msg) chai_flag2(this, "message", msg);
20384
+ let fn = chai_flag2(this, "object"), flagMsg = chai_flag2(this, "message"), ssfi = chai_flag2(this, "ssfi");
20385
+ new node_modules_chai_Assertion(fn, flagMsg, ssfi, true).is.a("function");
20386
+ let initial;
20387
+ if (prop) {
20388
+ new node_modules_chai_Assertion(subject, flagMsg, ssfi, true).to.have.property(prop);
20389
+ initial = subject[prop];
20390
+ } else {
20391
+ new node_modules_chai_Assertion(subject, flagMsg, ssfi, true).is.a("function");
20392
+ initial = subject();
20393
+ }
20394
+ new node_modules_chai_Assertion(initial, flagMsg, ssfi, true).is.a("number");
20395
+ fn();
20396
+ let final = null == prop ? subject() : subject[prop];
20397
+ let msgObj = null == prop ? initial : "." + prop;
20398
+ chai_flag2(this, "deltaMsgObj", msgObj);
20399
+ chai_flag2(this, "initialDeltaValue", initial);
20400
+ chai_flag2(this, "finalDeltaValue", final);
20401
+ chai_flag2(this, "deltaBehavior", "decrease");
20402
+ chai_flag2(this, "realDelta", initial - final);
20403
+ this.assert(final - initial < 0, "expected " + msgObj + " to decrease", "expected " + msgObj + " to not decrease");
20404
+ }
20405
+ chai_name(chai_assertDecreases, "assertDecreases");
20406
+ node_modules_chai_Assertion.addMethod("decrease", chai_assertDecreases);
20407
+ node_modules_chai_Assertion.addMethod("decreases", chai_assertDecreases);
20408
+ function chai_assertDelta(delta, msg) {
20409
+ if (msg) chai_flag2(this, "message", msg);
20410
+ let msgObj = chai_flag2(this, "deltaMsgObj");
20411
+ let initial = chai_flag2(this, "initialDeltaValue");
20412
+ let final = chai_flag2(this, "finalDeltaValue");
20413
+ let behavior = chai_flag2(this, "deltaBehavior");
20414
+ let realDelta = chai_flag2(this, "realDelta");
20415
+ let expression;
20416
+ expression = "change" === behavior ? Math.abs(final - initial) === Math.abs(delta) : realDelta === Math.abs(delta);
20417
+ this.assert(expression, "expected " + msgObj + " to " + behavior + " by " + delta, "expected " + msgObj + " to not " + behavior + " by " + delta);
20418
+ }
20419
+ chai_name(chai_assertDelta, "assertDelta");
20420
+ node_modules_chai_Assertion.addMethod("by", chai_assertDelta);
20421
+ node_modules_chai_Assertion.addProperty("extensible", function() {
20422
+ let obj = chai_flag2(this, "object");
20423
+ let isExtensible = obj === Object(obj) && Object.isExtensible(obj);
20424
+ this.assert(isExtensible, "expected #{this} to be extensible", "expected #{this} to not be extensible");
20425
+ });
20426
+ node_modules_chai_Assertion.addProperty("sealed", function() {
20427
+ let obj = chai_flag2(this, "object");
20428
+ let isSealed = obj === Object(obj) ? Object.isSealed(obj) : true;
20429
+ this.assert(isSealed, "expected #{this} to be sealed", "expected #{this} to not be sealed");
20430
+ });
20431
+ node_modules_chai_Assertion.addProperty("frozen", function() {
20432
+ let obj = chai_flag2(this, "object");
20433
+ let isFrozen = obj === Object(obj) ? Object.isFrozen(obj) : true;
20434
+ this.assert(isFrozen, "expected #{this} to be frozen", "expected #{this} to not be frozen");
20435
+ });
20436
+ node_modules_chai_Assertion.addProperty("finite", function(_msg) {
20437
+ let obj = chai_flag2(this, "object");
20438
+ this.assert("number" == typeof obj && isFinite(obj), "expected #{this} to be a finite number", "expected #{this} to not be a finite number");
20439
+ });
20440
+ function chai_compareSubset(expected, actual) {
20441
+ if (expected === actual) return true;
20442
+ if (typeof actual !== typeof expected) return false;
20443
+ if ("object" != typeof expected || null === expected) return expected === actual;
20444
+ if (!actual) return false;
20445
+ if (Array.isArray(expected)) {
20446
+ if (!Array.isArray(actual)) return false;
20447
+ return expected.every(function(exp) {
20448
+ return actual.some(function(act) {
20449
+ return chai_compareSubset(exp, act);
20450
+ });
20451
+ });
20452
+ }
20453
+ if (expected instanceof Date) if (actual instanceof Date) return expected.getTime() === actual.getTime();
20454
+ else return false;
20455
+ return Object.keys(expected).every(function(key) {
20456
+ let expectedValue = expected[key];
20457
+ let actualValue = actual[key];
20458
+ if ("object" == typeof expectedValue && null !== expectedValue && null !== actualValue) return chai_compareSubset(expectedValue, actualValue);
20459
+ if ("function" == typeof expectedValue) return expectedValue(actualValue);
20460
+ return actualValue === expectedValue;
20461
+ });
20462
+ }
20463
+ chai_name(chai_compareSubset, "compareSubset");
20464
+ node_modules_chai_Assertion.addMethod("containSubset", function(expected) {
20465
+ const actual = node_modules_chai_flag(this, "object");
20466
+ const showDiff = node_modules_chai_config.showDiff;
20467
+ this.assert(chai_compareSubset(expected, actual), "expected #{act} to contain subset #{exp}", "expected #{act} to not contain subset #{exp}", expected, actual, showDiff);
20468
+ });
20469
+ function node_modules_chai_expect(val, message) {
20470
+ return new node_modules_chai_Assertion(val, message);
20471
+ }
20472
+ chai_name(node_modules_chai_expect, "expect");
20473
+ node_modules_chai_expect.fail = function(actual, expected, message, operator) {
20474
+ if (arguments.length < 2) {
20475
+ message = actual;
20476
+ actual = void 0;
20477
+ }
20478
+ message = message || "expect.fail()";
20479
+ throw new chai_6_2_2_node_modules_chai_AssertionError(message, {
20480
+ actual,
20481
+ expected,
20482
+ operator
20483
+ }, node_modules_chai_expect.fail);
20484
+ };
20485
+ var chai_should_exports = {};
20486
+ chai_export(chai_should_exports, {
20487
+ Should: ()=>chai_Should,
20488
+ should: ()=>chai_should
20489
+ });
20490
+ function chai_loadShould() {
20491
+ function shouldGetter() {
20492
+ if (this instanceof String || this instanceof Number || this instanceof Boolean || "function" == typeof Symbol && this instanceof Symbol || "function" == typeof BigInt && this instanceof BigInt) return new node_modules_chai_Assertion(this.valueOf(), null, shouldGetter);
20493
+ return new node_modules_chai_Assertion(this, null, shouldGetter);
20494
+ }
20495
+ chai_name(shouldGetter, "shouldGetter");
20496
+ function shouldSetter(value) {
20497
+ Object.defineProperty(this, "should", {
20498
+ value,
20499
+ enumerable: true,
20500
+ configurable: true,
20501
+ writable: true
20502
+ });
20503
+ }
20504
+ chai_name(shouldSetter, "shouldSetter");
20505
+ Object.defineProperty(Object.prototype, "should", {
20506
+ set: shouldSetter,
20507
+ get: shouldGetter,
20508
+ configurable: true
20509
+ });
20510
+ let should2 = {};
20511
+ should2.fail = function(actual, expected, message, operator) {
20512
+ if (arguments.length < 2) {
20513
+ message = actual;
20514
+ actual = void 0;
20515
+ }
20516
+ message = message || "should.fail()";
20517
+ throw new chai_6_2_2_node_modules_chai_AssertionError(message, {
20518
+ actual,
20519
+ expected,
20520
+ operator
20521
+ }, should2.fail);
20522
+ };
20523
+ should2.equal = function(actual, expected, message) {
20524
+ new node_modules_chai_Assertion(actual, message).to.equal(expected);
20525
+ };
20526
+ should2.Throw = function(fn, errt, errs, msg) {
20527
+ new node_modules_chai_Assertion(fn, msg).to.Throw(errt, errs);
20528
+ };
20529
+ should2.exist = function(val, msg) {
20530
+ new node_modules_chai_Assertion(val, msg).to.exist;
20531
+ };
20532
+ should2.not = {};
20533
+ should2.not.equal = function(actual, expected, msg) {
20534
+ new node_modules_chai_Assertion(actual, msg).to.not.equal(expected);
20535
+ };
20536
+ should2.not.Throw = function(fn, errt, errs, msg) {
20537
+ new node_modules_chai_Assertion(fn, msg).to.not.Throw(errt, errs);
20538
+ };
20539
+ should2.not.exist = function(val, msg) {
20540
+ new node_modules_chai_Assertion(val, msg).to.not.exist;
20541
+ };
20542
+ should2["throw"] = should2["Throw"];
20543
+ should2.not["throw"] = should2.not["Throw"];
20544
+ return should2;
20545
+ }
20546
+ chai_name(chai_loadShould, "loadShould");
20547
+ var chai_should = chai_loadShould;
20548
+ var chai_Should = chai_loadShould;
20549
+ function node_modules_chai_assert(express, errmsg) {
20550
+ let test2 = new node_modules_chai_Assertion(null, null, node_modules_chai_assert, true);
20551
+ test2.assert(express, errmsg, "[ negation message unavailable ]");
20552
+ }
20553
+ chai_name(node_modules_chai_assert, "assert");
20554
+ node_modules_chai_assert.fail = function(actual, expected, message, operator) {
20555
+ if (arguments.length < 2) {
20556
+ message = actual;
20557
+ actual = void 0;
20558
+ }
20559
+ message = message || "assert.fail()";
20560
+ throw new chai_6_2_2_node_modules_chai_AssertionError(message, {
20561
+ actual,
20562
+ expected,
20563
+ operator
20564
+ }, node_modules_chai_assert.fail);
20565
+ };
20566
+ node_modules_chai_assert.isOk = function(val, msg) {
20567
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isOk, true).is.ok;
20568
+ };
20569
+ node_modules_chai_assert.isNotOk = function(val, msg) {
20570
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isNotOk, true).is.not.ok;
20571
+ };
20572
+ node_modules_chai_assert.equal = function(act, exp, msg) {
20573
+ let test2 = new node_modules_chai_Assertion(act, msg, node_modules_chai_assert.equal, true);
20574
+ test2.assert(exp == node_modules_chai_flag(test2, "object"), "expected #{this} to equal #{exp}", "expected #{this} to not equal #{act}", exp, act, true);
20575
+ };
20576
+ node_modules_chai_assert.notEqual = function(act, exp, msg) {
20577
+ let test2 = new node_modules_chai_Assertion(act, msg, node_modules_chai_assert.notEqual, true);
20578
+ test2.assert(exp != node_modules_chai_flag(test2, "object"), "expected #{this} to not equal #{exp}", "expected #{this} to equal #{act}", exp, act, true);
20579
+ };
20580
+ node_modules_chai_assert.strictEqual = function(act, exp, msg) {
20581
+ new node_modules_chai_Assertion(act, msg, node_modules_chai_assert.strictEqual, true).to.equal(exp);
20582
+ };
20583
+ node_modules_chai_assert.notStrictEqual = function(act, exp, msg) {
20584
+ new node_modules_chai_Assertion(act, msg, node_modules_chai_assert.notStrictEqual, true).to.not.equal(exp);
20585
+ };
20586
+ node_modules_chai_assert.deepEqual = node_modules_chai_assert.deepStrictEqual = function(act, exp, msg) {
20587
+ new node_modules_chai_Assertion(act, msg, node_modules_chai_assert.deepEqual, true).to.eql(exp);
20588
+ };
20589
+ node_modules_chai_assert.notDeepEqual = function(act, exp, msg) {
20590
+ new node_modules_chai_Assertion(act, msg, node_modules_chai_assert.notDeepEqual, true).to.not.eql(exp);
20591
+ };
20592
+ node_modules_chai_assert.isAbove = function(val, abv, msg) {
20593
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isAbove, true).to.be.above(abv);
20594
+ };
20595
+ node_modules_chai_assert.isAtLeast = function(val, atlst, msg) {
20596
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isAtLeast, true).to.be.least(atlst);
20597
+ };
20598
+ node_modules_chai_assert.isBelow = function(val, blw, msg) {
20599
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isBelow, true).to.be.below(blw);
20600
+ };
20601
+ node_modules_chai_assert.isAtMost = function(val, atmst, msg) {
20602
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isAtMost, true).to.be.most(atmst);
20603
+ };
20604
+ node_modules_chai_assert.isTrue = function(val, msg) {
20605
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isTrue, true).is["true"];
20606
+ };
20607
+ node_modules_chai_assert.isNotTrue = function(val, msg) {
20608
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isNotTrue, true).to.not.equal(true);
20609
+ };
20610
+ node_modules_chai_assert.isFalse = function(val, msg) {
20611
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isFalse, true).is["false"];
20612
+ };
20613
+ node_modules_chai_assert.isNotFalse = function(val, msg) {
20614
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isNotFalse, true).to.not.equal(false);
20615
+ };
20616
+ node_modules_chai_assert.isNull = function(val, msg) {
20617
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isNull, true).to.equal(null);
20618
+ };
20619
+ node_modules_chai_assert.isNotNull = function(val, msg) {
20620
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isNotNull, true).to.not.equal(null);
20621
+ };
20622
+ node_modules_chai_assert.isNaN = function(val, msg) {
20623
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isNaN, true).to.be.NaN;
20624
+ };
20625
+ node_modules_chai_assert.isNotNaN = function(value, message) {
20626
+ new node_modules_chai_Assertion(value, message, node_modules_chai_assert.isNotNaN, true).not.to.be.NaN;
20627
+ };
20628
+ node_modules_chai_assert.exists = function(val, msg) {
20629
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.exists, true).to.exist;
20630
+ };
20631
+ node_modules_chai_assert.notExists = function(val, msg) {
20632
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.notExists, true).to.not.exist;
20633
+ };
20634
+ node_modules_chai_assert.isUndefined = function(val, msg) {
20635
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isUndefined, true).to.equal(void 0);
20636
+ };
20637
+ node_modules_chai_assert.isDefined = function(val, msg) {
20638
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isDefined, true).to.not.equal(void 0);
20639
+ };
20640
+ node_modules_chai_assert.isCallable = function(value, message) {
20641
+ new node_modules_chai_Assertion(value, message, node_modules_chai_assert.isCallable, true).is.callable;
20642
+ };
20643
+ node_modules_chai_assert.isNotCallable = function(value, message) {
20644
+ new node_modules_chai_Assertion(value, message, node_modules_chai_assert.isNotCallable, true).is.not.callable;
20645
+ };
20646
+ node_modules_chai_assert.isObject = function(val, msg) {
20647
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isObject, true).to.be.a("object");
20648
+ };
20649
+ node_modules_chai_assert.isNotObject = function(val, msg) {
20650
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isNotObject, true).to.not.be.a("object");
20651
+ };
20652
+ node_modules_chai_assert.isArray = function(val, msg) {
20653
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isArray, true).to.be.an("array");
20654
+ };
20655
+ node_modules_chai_assert.isNotArray = function(val, msg) {
20656
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isNotArray, true).to.not.be.an("array");
20657
+ };
20658
+ node_modules_chai_assert.isString = function(val, msg) {
20659
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isString, true).to.be.a("string");
20660
+ };
20661
+ node_modules_chai_assert.isNotString = function(val, msg) {
20662
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isNotString, true).to.not.be.a("string");
20663
+ };
20664
+ node_modules_chai_assert.isNumber = function(val, msg) {
20665
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isNumber, true).to.be.a("number");
20666
+ };
20667
+ node_modules_chai_assert.isNotNumber = function(val, msg) {
20668
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isNotNumber, true).to.not.be.a("number");
20669
+ };
20670
+ node_modules_chai_assert.isNumeric = function(val, msg) {
20671
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isNumeric, true).is.numeric;
20672
+ };
20673
+ node_modules_chai_assert.isNotNumeric = function(val, msg) {
20674
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isNotNumeric, true).is.not.numeric;
20675
+ };
20676
+ node_modules_chai_assert.isFinite = function(val, msg) {
20677
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isFinite, true).to.be.finite;
20678
+ };
20679
+ node_modules_chai_assert.isBoolean = function(val, msg) {
20680
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isBoolean, true).to.be.a("boolean");
20681
+ };
20682
+ node_modules_chai_assert.isNotBoolean = function(val, msg) {
20683
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isNotBoolean, true).to.not.be.a("boolean");
20684
+ };
20685
+ node_modules_chai_assert.typeOf = function(val, type3, msg) {
20686
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.typeOf, true).to.be.a(type3);
20687
+ };
20688
+ node_modules_chai_assert.notTypeOf = function(value, type3, message) {
20689
+ new node_modules_chai_Assertion(value, message, node_modules_chai_assert.notTypeOf, true).to.not.be.a(type3);
20690
+ };
20691
+ node_modules_chai_assert.instanceOf = function(val, type3, msg) {
20692
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.instanceOf, true).to.be.instanceOf(type3);
20693
+ };
20694
+ node_modules_chai_assert.notInstanceOf = function(val, type3, msg) {
20695
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.notInstanceOf, true).to.not.be.instanceOf(type3);
20696
+ };
20697
+ node_modules_chai_assert.include = function(exp, inc, msg) {
20698
+ new node_modules_chai_Assertion(exp, msg, node_modules_chai_assert.include, true).include(inc);
20699
+ };
20700
+ node_modules_chai_assert.notInclude = function(exp, inc, msg) {
20701
+ new node_modules_chai_Assertion(exp, msg, node_modules_chai_assert.notInclude, true).not.include(inc);
20702
+ };
20703
+ node_modules_chai_assert.deepInclude = function(exp, inc, msg) {
20704
+ new node_modules_chai_Assertion(exp, msg, node_modules_chai_assert.deepInclude, true).deep.include(inc);
20705
+ };
20706
+ node_modules_chai_assert.notDeepInclude = function(exp, inc, msg) {
20707
+ new node_modules_chai_Assertion(exp, msg, node_modules_chai_assert.notDeepInclude, true).not.deep.include(inc);
20708
+ };
20709
+ node_modules_chai_assert.nestedInclude = function(exp, inc, msg) {
20710
+ new node_modules_chai_Assertion(exp, msg, node_modules_chai_assert.nestedInclude, true).nested.include(inc);
20711
+ };
20712
+ node_modules_chai_assert.notNestedInclude = function(exp, inc, msg) {
20713
+ new node_modules_chai_Assertion(exp, msg, node_modules_chai_assert.notNestedInclude, true).not.nested.include(inc);
20714
+ };
20715
+ node_modules_chai_assert.deepNestedInclude = function(exp, inc, msg) {
20716
+ new node_modules_chai_Assertion(exp, msg, node_modules_chai_assert.deepNestedInclude, true).deep.nested.include(inc);
20717
+ };
20718
+ node_modules_chai_assert.notDeepNestedInclude = function(exp, inc, msg) {
20719
+ new node_modules_chai_Assertion(exp, msg, node_modules_chai_assert.notDeepNestedInclude, true).not.deep.nested.include(inc);
20720
+ };
20721
+ node_modules_chai_assert.ownInclude = function(exp, inc, msg) {
20722
+ new node_modules_chai_Assertion(exp, msg, node_modules_chai_assert.ownInclude, true).own.include(inc);
20723
+ };
20724
+ node_modules_chai_assert.notOwnInclude = function(exp, inc, msg) {
20725
+ new node_modules_chai_Assertion(exp, msg, node_modules_chai_assert.notOwnInclude, true).not.own.include(inc);
20726
+ };
20727
+ node_modules_chai_assert.deepOwnInclude = function(exp, inc, msg) {
20728
+ new node_modules_chai_Assertion(exp, msg, node_modules_chai_assert.deepOwnInclude, true).deep.own.include(inc);
20729
+ };
20730
+ node_modules_chai_assert.notDeepOwnInclude = function(exp, inc, msg) {
20731
+ new node_modules_chai_Assertion(exp, msg, node_modules_chai_assert.notDeepOwnInclude, true).not.deep.own.include(inc);
20732
+ };
20733
+ node_modules_chai_assert.match = function(exp, re, msg) {
20734
+ new node_modules_chai_Assertion(exp, msg, node_modules_chai_assert.match, true).to.match(re);
20735
+ };
20736
+ node_modules_chai_assert.notMatch = function(exp, re, msg) {
20737
+ new node_modules_chai_Assertion(exp, msg, node_modules_chai_assert.notMatch, true).to.not.match(re);
20738
+ };
20739
+ node_modules_chai_assert.property = function(obj, prop, msg) {
20740
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.property, true).to.have.property(prop);
20741
+ };
20742
+ node_modules_chai_assert.notProperty = function(obj, prop, msg) {
20743
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.notProperty, true).to.not.have.property(prop);
20744
+ };
20745
+ node_modules_chai_assert.propertyVal = function(obj, prop, val, msg) {
20746
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.propertyVal, true).to.have.property(prop, val);
20747
+ };
20748
+ node_modules_chai_assert.notPropertyVal = function(obj, prop, val, msg) {
20749
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.notPropertyVal, true).to.not.have.property(prop, val);
20750
+ };
20751
+ node_modules_chai_assert.deepPropertyVal = function(obj, prop, val, msg) {
20752
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.deepPropertyVal, true).to.have.deep.property(prop, val);
20753
+ };
20754
+ node_modules_chai_assert.notDeepPropertyVal = function(obj, prop, val, msg) {
20755
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.notDeepPropertyVal, true).to.not.have.deep.property(prop, val);
20756
+ };
20757
+ node_modules_chai_assert.ownProperty = function(obj, prop, msg) {
20758
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.ownProperty, true).to.have.own.property(prop);
20759
+ };
20760
+ node_modules_chai_assert.notOwnProperty = function(obj, prop, msg) {
20761
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.notOwnProperty, true).to.not.have.own.property(prop);
20762
+ };
20763
+ node_modules_chai_assert.ownPropertyVal = function(obj, prop, value, msg) {
20764
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.ownPropertyVal, true).to.have.own.property(prop, value);
20765
+ };
20766
+ node_modules_chai_assert.notOwnPropertyVal = function(obj, prop, value, msg) {
20767
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.notOwnPropertyVal, true).to.not.have.own.property(prop, value);
20768
+ };
20769
+ node_modules_chai_assert.deepOwnPropertyVal = function(obj, prop, value, msg) {
20770
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.deepOwnPropertyVal, true).to.have.deep.own.property(prop, value);
20771
+ };
20772
+ node_modules_chai_assert.notDeepOwnPropertyVal = function(obj, prop, value, msg) {
20773
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.notDeepOwnPropertyVal, true).to.not.have.deep.own.property(prop, value);
20774
+ };
20775
+ node_modules_chai_assert.nestedProperty = function(obj, prop, msg) {
20776
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.nestedProperty, true).to.have.nested.property(prop);
20777
+ };
20778
+ node_modules_chai_assert.notNestedProperty = function(obj, prop, msg) {
20779
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.notNestedProperty, true).to.not.have.nested.property(prop);
20780
+ };
20781
+ node_modules_chai_assert.nestedPropertyVal = function(obj, prop, val, msg) {
20782
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.nestedPropertyVal, true).to.have.nested.property(prop, val);
20783
+ };
20784
+ node_modules_chai_assert.notNestedPropertyVal = function(obj, prop, val, msg) {
20785
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.notNestedPropertyVal, true).to.not.have.nested.property(prop, val);
20786
+ };
20787
+ node_modules_chai_assert.deepNestedPropertyVal = function(obj, prop, val, msg) {
20788
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.deepNestedPropertyVal, true).to.have.deep.nested.property(prop, val);
20789
+ };
20790
+ node_modules_chai_assert.notDeepNestedPropertyVal = function(obj, prop, val, msg) {
20791
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.notDeepNestedPropertyVal, true).to.not.have.deep.nested.property(prop, val);
20792
+ };
20793
+ node_modules_chai_assert.lengthOf = function(exp, len, msg) {
20794
+ new node_modules_chai_Assertion(exp, msg, node_modules_chai_assert.lengthOf, true).to.have.lengthOf(len);
20795
+ };
20796
+ node_modules_chai_assert.hasAnyKeys = function(obj, keys, msg) {
20797
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.hasAnyKeys, true).to.have.any.keys(keys);
20798
+ };
20799
+ node_modules_chai_assert.hasAllKeys = function(obj, keys, msg) {
20800
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.hasAllKeys, true).to.have.all.keys(keys);
20801
+ };
20802
+ node_modules_chai_assert.containsAllKeys = function(obj, keys, msg) {
20803
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.containsAllKeys, true).to.contain.all.keys(keys);
20804
+ };
20805
+ node_modules_chai_assert.doesNotHaveAnyKeys = function(obj, keys, msg) {
20806
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.doesNotHaveAnyKeys, true).to.not.have.any.keys(keys);
20807
+ };
20808
+ node_modules_chai_assert.doesNotHaveAllKeys = function(obj, keys, msg) {
20809
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.doesNotHaveAllKeys, true).to.not.have.all.keys(keys);
20810
+ };
20811
+ node_modules_chai_assert.hasAnyDeepKeys = function(obj, keys, msg) {
20812
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.hasAnyDeepKeys, true).to.have.any.deep.keys(keys);
20813
+ };
20814
+ node_modules_chai_assert.hasAllDeepKeys = function(obj, keys, msg) {
20815
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.hasAllDeepKeys, true).to.have.all.deep.keys(keys);
20816
+ };
20817
+ node_modules_chai_assert.containsAllDeepKeys = function(obj, keys, msg) {
20818
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.containsAllDeepKeys, true).to.contain.all.deep.keys(keys);
20819
+ };
20820
+ node_modules_chai_assert.doesNotHaveAnyDeepKeys = function(obj, keys, msg) {
20821
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.doesNotHaveAnyDeepKeys, true).to.not.have.any.deep.keys(keys);
20822
+ };
20823
+ node_modules_chai_assert.doesNotHaveAllDeepKeys = function(obj, keys, msg) {
20824
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.doesNotHaveAllDeepKeys, true).to.not.have.all.deep.keys(keys);
20825
+ };
20826
+ node_modules_chai_assert.throws = function(fn, errorLike, errMsgMatcher, msg) {
20827
+ if ("string" == typeof errorLike || errorLike instanceof RegExp) {
20828
+ errMsgMatcher = errorLike;
20829
+ errorLike = null;
20830
+ }
20831
+ let assertErr = new node_modules_chai_Assertion(fn, msg, node_modules_chai_assert.throws, true).to.throw(errorLike, errMsgMatcher);
20832
+ return node_modules_chai_flag(assertErr, "object");
20833
+ };
20834
+ node_modules_chai_assert.doesNotThrow = function(fn, errorLike, errMsgMatcher, message) {
20835
+ if ("string" == typeof errorLike || errorLike instanceof RegExp) {
20836
+ errMsgMatcher = errorLike;
20837
+ errorLike = null;
20838
+ }
20839
+ new node_modules_chai_Assertion(fn, message, node_modules_chai_assert.doesNotThrow, true).to.not.throw(errorLike, errMsgMatcher);
20840
+ };
20841
+ node_modules_chai_assert.operator = function(val, operator, val2, msg) {
20842
+ let ok;
20843
+ switch(operator){
20844
+ case "==":
20845
+ ok = val == val2;
20846
+ break;
20847
+ case "===":
20848
+ ok = val === val2;
20849
+ break;
20850
+ case ">":
20851
+ ok = val > val2;
20852
+ break;
20853
+ case ">=":
20854
+ ok = val >= val2;
20855
+ break;
20856
+ case "<":
20857
+ ok = val < val2;
20858
+ break;
20859
+ case "<=":
20860
+ ok = val <= val2;
20861
+ break;
20862
+ case "!=":
20863
+ ok = val != val2;
20864
+ break;
20865
+ case "!==":
20866
+ ok = val !== val2;
20867
+ break;
20868
+ default:
20869
+ msg = msg ? msg + ": " : msg;
20870
+ throw new chai_6_2_2_node_modules_chai_AssertionError(msg + 'Invalid operator "' + operator + '"', void 0, node_modules_chai_assert.operator);
20871
+ }
20872
+ let test2 = new node_modules_chai_Assertion(ok, msg, node_modules_chai_assert.operator, true);
20873
+ test2.assert(true === node_modules_chai_flag(test2, "object"), "expected " + chai_inspect2(val) + " to be " + operator + " " + chai_inspect2(val2), "expected " + chai_inspect2(val) + " to not be " + operator + " " + chai_inspect2(val2));
20874
+ };
20875
+ node_modules_chai_assert.closeTo = function(act, exp, delta, msg) {
20876
+ new node_modules_chai_Assertion(act, msg, node_modules_chai_assert.closeTo, true).to.be.closeTo(exp, delta);
20877
+ };
20878
+ node_modules_chai_assert.approximately = function(act, exp, delta, msg) {
20879
+ new node_modules_chai_Assertion(act, msg, node_modules_chai_assert.approximately, true).to.be.approximately(exp, delta);
20880
+ };
20881
+ node_modules_chai_assert.sameMembers = function(set1, set2, msg) {
20882
+ new node_modules_chai_Assertion(set1, msg, node_modules_chai_assert.sameMembers, true).to.have.same.members(set2);
20883
+ };
20884
+ node_modules_chai_assert.notSameMembers = function(set1, set2, msg) {
20885
+ new node_modules_chai_Assertion(set1, msg, node_modules_chai_assert.notSameMembers, true).to.not.have.same.members(set2);
20886
+ };
20887
+ node_modules_chai_assert.sameDeepMembers = function(set1, set2, msg) {
20888
+ new node_modules_chai_Assertion(set1, msg, node_modules_chai_assert.sameDeepMembers, true).to.have.same.deep.members(set2);
20889
+ };
20890
+ node_modules_chai_assert.notSameDeepMembers = function(set1, set2, msg) {
20891
+ new node_modules_chai_Assertion(set1, msg, node_modules_chai_assert.notSameDeepMembers, true).to.not.have.same.deep.members(set2);
20892
+ };
20893
+ node_modules_chai_assert.sameOrderedMembers = function(set1, set2, msg) {
20894
+ new node_modules_chai_Assertion(set1, msg, node_modules_chai_assert.sameOrderedMembers, true).to.have.same.ordered.members(set2);
20895
+ };
20896
+ node_modules_chai_assert.notSameOrderedMembers = function(set1, set2, msg) {
20897
+ new node_modules_chai_Assertion(set1, msg, node_modules_chai_assert.notSameOrderedMembers, true).to.not.have.same.ordered.members(set2);
20898
+ };
20899
+ node_modules_chai_assert.sameDeepOrderedMembers = function(set1, set2, msg) {
20900
+ new node_modules_chai_Assertion(set1, msg, node_modules_chai_assert.sameDeepOrderedMembers, true).to.have.same.deep.ordered.members(set2);
20901
+ };
20902
+ node_modules_chai_assert.notSameDeepOrderedMembers = function(set1, set2, msg) {
20903
+ new node_modules_chai_Assertion(set1, msg, node_modules_chai_assert.notSameDeepOrderedMembers, true).to.not.have.same.deep.ordered.members(set2);
20904
+ };
20905
+ node_modules_chai_assert.includeMembers = function(superset, subset, msg) {
20906
+ new node_modules_chai_Assertion(superset, msg, node_modules_chai_assert.includeMembers, true).to.include.members(subset);
20907
+ };
20908
+ node_modules_chai_assert.notIncludeMembers = function(superset, subset, msg) {
20909
+ new node_modules_chai_Assertion(superset, msg, node_modules_chai_assert.notIncludeMembers, true).to.not.include.members(subset);
20910
+ };
20911
+ node_modules_chai_assert.includeDeepMembers = function(superset, subset, msg) {
20912
+ new node_modules_chai_Assertion(superset, msg, node_modules_chai_assert.includeDeepMembers, true).to.include.deep.members(subset);
20913
+ };
20914
+ node_modules_chai_assert.notIncludeDeepMembers = function(superset, subset, msg) {
20915
+ new node_modules_chai_Assertion(superset, msg, node_modules_chai_assert.notIncludeDeepMembers, true).to.not.include.deep.members(subset);
20916
+ };
20917
+ node_modules_chai_assert.includeOrderedMembers = function(superset, subset, msg) {
20918
+ new node_modules_chai_Assertion(superset, msg, node_modules_chai_assert.includeOrderedMembers, true).to.include.ordered.members(subset);
20919
+ };
20920
+ node_modules_chai_assert.notIncludeOrderedMembers = function(superset, subset, msg) {
20921
+ new node_modules_chai_Assertion(superset, msg, node_modules_chai_assert.notIncludeOrderedMembers, true).to.not.include.ordered.members(subset);
20922
+ };
20923
+ node_modules_chai_assert.includeDeepOrderedMembers = function(superset, subset, msg) {
20924
+ new node_modules_chai_Assertion(superset, msg, node_modules_chai_assert.includeDeepOrderedMembers, true).to.include.deep.ordered.members(subset);
20925
+ };
20926
+ node_modules_chai_assert.notIncludeDeepOrderedMembers = function(superset, subset, msg) {
20927
+ new node_modules_chai_Assertion(superset, msg, node_modules_chai_assert.notIncludeDeepOrderedMembers, true).to.not.include.deep.ordered.members(subset);
20928
+ };
20929
+ node_modules_chai_assert.oneOf = function(inList, list, msg) {
20930
+ new node_modules_chai_Assertion(inList, msg, node_modules_chai_assert.oneOf, true).to.be.oneOf(list);
20931
+ };
20932
+ node_modules_chai_assert.isIterable = function(obj, msg) {
20933
+ if (void 0 == obj || !obj[Symbol.iterator]) {
20934
+ msg = msg ? `${msg} expected ${chai_inspect2(obj)} to be an iterable` : `expected ${chai_inspect2(obj)} to be an iterable`;
20935
+ throw new chai_6_2_2_node_modules_chai_AssertionError(msg, void 0, node_modules_chai_assert.isIterable);
20936
+ }
20937
+ };
20938
+ node_modules_chai_assert.changes = function(fn, obj, prop, msg) {
20939
+ if (3 === arguments.length && "function" == typeof obj) {
20940
+ msg = prop;
20941
+ prop = null;
20942
+ }
20943
+ new node_modules_chai_Assertion(fn, msg, node_modules_chai_assert.changes, true).to.change(obj, prop);
20944
+ };
20945
+ node_modules_chai_assert.changesBy = function(fn, obj, prop, delta, msg) {
20946
+ if (4 === arguments.length && "function" == typeof obj) {
20947
+ let tmpMsg = delta;
20948
+ delta = prop;
20949
+ msg = tmpMsg;
20950
+ } else if (3 === arguments.length) {
20951
+ delta = prop;
20952
+ prop = null;
20953
+ }
20954
+ new node_modules_chai_Assertion(fn, msg, node_modules_chai_assert.changesBy, true).to.change(obj, prop).by(delta);
20955
+ };
20956
+ node_modules_chai_assert.doesNotChange = function(fn, obj, prop, msg) {
20957
+ if (3 === arguments.length && "function" == typeof obj) {
20958
+ msg = prop;
20959
+ prop = null;
20960
+ }
20961
+ return new node_modules_chai_Assertion(fn, msg, node_modules_chai_assert.doesNotChange, true).to.not.change(obj, prop);
20962
+ };
20963
+ node_modules_chai_assert.changesButNotBy = function(fn, obj, prop, delta, msg) {
20964
+ if (4 === arguments.length && "function" == typeof obj) {
20965
+ let tmpMsg = delta;
20966
+ delta = prop;
20967
+ msg = tmpMsg;
20968
+ } else if (3 === arguments.length) {
20969
+ delta = prop;
20970
+ prop = null;
20971
+ }
20972
+ new node_modules_chai_Assertion(fn, msg, node_modules_chai_assert.changesButNotBy, true).to.change(obj, prop).but.not.by(delta);
20973
+ };
20974
+ node_modules_chai_assert.increases = function(fn, obj, prop, msg) {
20975
+ if (3 === arguments.length && "function" == typeof obj) {
20976
+ msg = prop;
20977
+ prop = null;
20978
+ }
20979
+ return new node_modules_chai_Assertion(fn, msg, node_modules_chai_assert.increases, true).to.increase(obj, prop);
20980
+ };
20981
+ node_modules_chai_assert.increasesBy = function(fn, obj, prop, delta, msg) {
20982
+ if (4 === arguments.length && "function" == typeof obj) {
20983
+ let tmpMsg = delta;
20984
+ delta = prop;
20985
+ msg = tmpMsg;
20986
+ } else if (3 === arguments.length) {
20987
+ delta = prop;
20988
+ prop = null;
20989
+ }
20990
+ new node_modules_chai_Assertion(fn, msg, node_modules_chai_assert.increasesBy, true).to.increase(obj, prop).by(delta);
20991
+ };
20992
+ node_modules_chai_assert.doesNotIncrease = function(fn, obj, prop, msg) {
20993
+ if (3 === arguments.length && "function" == typeof obj) {
20994
+ msg = prop;
20995
+ prop = null;
20996
+ }
20997
+ return new node_modules_chai_Assertion(fn, msg, node_modules_chai_assert.doesNotIncrease, true).to.not.increase(obj, prop);
20998
+ };
20999
+ node_modules_chai_assert.increasesButNotBy = function(fn, obj, prop, delta, msg) {
21000
+ if (4 === arguments.length && "function" == typeof obj) {
21001
+ let tmpMsg = delta;
21002
+ delta = prop;
21003
+ msg = tmpMsg;
21004
+ } else if (3 === arguments.length) {
21005
+ delta = prop;
21006
+ prop = null;
21007
+ }
21008
+ new node_modules_chai_Assertion(fn, msg, node_modules_chai_assert.increasesButNotBy, true).to.increase(obj, prop).but.not.by(delta);
21009
+ };
21010
+ node_modules_chai_assert.decreases = function(fn, obj, prop, msg) {
21011
+ if (3 === arguments.length && "function" == typeof obj) {
21012
+ msg = prop;
21013
+ prop = null;
21014
+ }
21015
+ return new node_modules_chai_Assertion(fn, msg, node_modules_chai_assert.decreases, true).to.decrease(obj, prop);
21016
+ };
21017
+ node_modules_chai_assert.decreasesBy = function(fn, obj, prop, delta, msg) {
21018
+ if (4 === arguments.length && "function" == typeof obj) {
21019
+ let tmpMsg = delta;
21020
+ delta = prop;
21021
+ msg = tmpMsg;
21022
+ } else if (3 === arguments.length) {
21023
+ delta = prop;
21024
+ prop = null;
21025
+ }
21026
+ new node_modules_chai_Assertion(fn, msg, node_modules_chai_assert.decreasesBy, true).to.decrease(obj, prop).by(delta);
21027
+ };
21028
+ node_modules_chai_assert.doesNotDecrease = function(fn, obj, prop, msg) {
21029
+ if (3 === arguments.length && "function" == typeof obj) {
21030
+ msg = prop;
21031
+ prop = null;
21032
+ }
21033
+ return new node_modules_chai_Assertion(fn, msg, node_modules_chai_assert.doesNotDecrease, true).to.not.decrease(obj, prop);
21034
+ };
21035
+ node_modules_chai_assert.doesNotDecreaseBy = function(fn, obj, prop, delta, msg) {
21036
+ if (4 === arguments.length && "function" == typeof obj) {
21037
+ let tmpMsg = delta;
21038
+ delta = prop;
21039
+ msg = tmpMsg;
21040
+ } else if (3 === arguments.length) {
21041
+ delta = prop;
21042
+ prop = null;
21043
+ }
21044
+ return new node_modules_chai_Assertion(fn, msg, node_modules_chai_assert.doesNotDecreaseBy, true).to.not.decrease(obj, prop).by(delta);
21045
+ };
21046
+ node_modules_chai_assert.decreasesButNotBy = function(fn, obj, prop, delta, msg) {
21047
+ if (4 === arguments.length && "function" == typeof obj) {
21048
+ let tmpMsg = delta;
21049
+ delta = prop;
21050
+ msg = tmpMsg;
21051
+ } else if (3 === arguments.length) {
21052
+ delta = prop;
21053
+ prop = null;
21054
+ }
21055
+ new node_modules_chai_Assertion(fn, msg, node_modules_chai_assert.decreasesButNotBy, true).to.decrease(obj, prop).but.not.by(delta);
21056
+ };
21057
+ node_modules_chai_assert.ifError = function(val) {
21058
+ if (val) throw val;
21059
+ };
21060
+ node_modules_chai_assert.isExtensible = function(obj, msg) {
21061
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.isExtensible, true).to.be.extensible;
21062
+ };
21063
+ node_modules_chai_assert.isNotExtensible = function(obj, msg) {
21064
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.isNotExtensible, true).to.not.be.extensible;
21065
+ };
21066
+ node_modules_chai_assert.isSealed = function(obj, msg) {
21067
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.isSealed, true).to.be.sealed;
21068
+ };
21069
+ node_modules_chai_assert.isNotSealed = function(obj, msg) {
21070
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.isNotSealed, true).to.not.be.sealed;
21071
+ };
21072
+ node_modules_chai_assert.isFrozen = function(obj, msg) {
21073
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.isFrozen, true).to.be.frozen;
21074
+ };
21075
+ node_modules_chai_assert.isNotFrozen = function(obj, msg) {
21076
+ new node_modules_chai_Assertion(obj, msg, node_modules_chai_assert.isNotFrozen, true).to.not.be.frozen;
21077
+ };
21078
+ node_modules_chai_assert.isEmpty = function(val, msg) {
21079
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isEmpty, true).to.be.empty;
21080
+ };
21081
+ node_modules_chai_assert.isNotEmpty = function(val, msg) {
21082
+ new node_modules_chai_Assertion(val, msg, node_modules_chai_assert.isNotEmpty, true).to.not.be.empty;
21083
+ };
21084
+ node_modules_chai_assert.containsSubset = function(val, exp, msg) {
21085
+ new node_modules_chai_Assertion(val, msg).to.containSubset(exp);
21086
+ };
21087
+ node_modules_chai_assert.doesNotContainSubset = function(val, exp, msg) {
21088
+ new node_modules_chai_Assertion(val, msg).to.not.containSubset(exp);
21089
+ };
21090
+ var chai_aliases = [
21091
+ [
21092
+ "isOk",
21093
+ "ok"
21094
+ ],
21095
+ [
21096
+ "isNotOk",
21097
+ "notOk"
21098
+ ],
21099
+ [
21100
+ "throws",
21101
+ "throw"
21102
+ ],
21103
+ [
21104
+ "throws",
21105
+ "Throw"
21106
+ ],
21107
+ [
21108
+ "isExtensible",
21109
+ "extensible"
21110
+ ],
21111
+ [
21112
+ "isNotExtensible",
21113
+ "notExtensible"
21114
+ ],
21115
+ [
21116
+ "isSealed",
21117
+ "sealed"
21118
+ ],
21119
+ [
21120
+ "isNotSealed",
21121
+ "notSealed"
21122
+ ],
21123
+ [
21124
+ "isFrozen",
21125
+ "frozen"
21126
+ ],
21127
+ [
21128
+ "isNotFrozen",
21129
+ "notFrozen"
21130
+ ],
21131
+ [
21132
+ "isEmpty",
21133
+ "empty"
21134
+ ],
21135
+ [
21136
+ "isNotEmpty",
21137
+ "notEmpty"
21138
+ ],
21139
+ [
21140
+ "isCallable",
21141
+ "isFunction"
21142
+ ],
21143
+ [
21144
+ "isNotCallable",
21145
+ "isNotFunction"
21146
+ ],
21147
+ [
21148
+ "containsSubset",
21149
+ "containSubset"
21150
+ ]
21151
+ ];
21152
+ for (const [name, as] of chai_aliases)node_modules_chai_assert[as] = node_modules_chai_assert[name];
21153
+ var chai_used = [];
21154
+ function chai_use(fn) {
21155
+ const exports = {
21156
+ use: chai_use,
21157
+ AssertionError: chai_6_2_2_node_modules_chai_AssertionError,
21158
+ util: chai_utils_exports,
21159
+ config: node_modules_chai_config,
21160
+ expect: node_modules_chai_expect,
21161
+ assert: node_modules_chai_assert,
21162
+ Assertion: node_modules_chai_Assertion,
21163
+ ...chai_should_exports
21164
+ };
21165
+ if (!~chai_used.indexOf(fn)) {
21166
+ fn(exports, chai_utils_exports);
21167
+ chai_used.push(fn);
21168
+ }
21169
+ return exports;
21170
+ }
21171
+ chai_name(chai_use, "use");
21172
+ const build_0 = __webpack_require__("../../node_modules/.pnpm/jest-diff@30.2.0/node_modules/jest-diff/build/index.js");
21173
+ build_0.DIFF_DELETE;
21174
+ build_0.DIFF_EQUAL;
21175
+ build_0.DIFF_INSERT;
21176
+ build_0.Diff;
21177
+ const build_diff = build_0.diff;
21178
+ build_0.diffLinesRaw;
21179
+ build_0.diffLinesUnified;
21180
+ build_0.diffLinesUnified2;
21181
+ build_0.diffStringsRaw;
21182
+ build_0.diffStringsUnified;
21183
+ const build_1 = __webpack_require__("../../node_modules/.pnpm/pretty-format@30.2.0/node_modules/pretty-format/build/index.js");
21184
+ build_1.DEFAULT_OPTIONS;
21185
+ const build_format = build_1.format;
21186
+ const build_plugins = build_1.plugins;
21187
+ build_1["default"];
21188
+ __webpack_require__("../../node_modules/.pnpm/process@0.11.10/node_modules/process/browser.js");
21189
+ const REAL_TIMERS = {};
21190
+ const setRealTimers = ()=>{
21191
+ REAL_TIMERS.setTimeout ??= globalThis.setTimeout.bind(globalThis);
21192
+ REAL_TIMERS.clearTimeout ??= globalThis.clearTimeout.bind(globalThis);
21193
+ };
21194
+ const getRealTimers = ()=>REAL_TIMERS;
21195
+ const formatTestError = (err, test)=>{
21196
+ const errors = Array.isArray(err) ? err : [
21197
+ err
21198
+ ];
21199
+ return errors.map((rawError)=>{
21200
+ const error = 'string' == typeof rawError ? {
21201
+ message: rawError
21202
+ } : rawError;
21203
+ const errObj = {
21204
+ fullStack: error.fullStack,
21205
+ message: error.message,
21206
+ name: error.name,
21207
+ stack: error.stack
21208
+ };
21209
+ if (error instanceof TestRegisterError && test?.type === 'case') errObj.message = `Can't nest describe or test inside a test. ${error.message} because it is nested within test '${test.name}'`;
21210
+ if (error.showDiff || void 0 === error.showDiff && void 0 !== error.expected && void 0 !== error.actual) {
21211
+ errObj.diff = build_diff(err.expected, err.actual, {
21212
+ expand: false
21213
+ });
21214
+ errObj.expected = 'string' == typeof error.expected ? error.expected : build_format(error.expected, {
21215
+ plugins: Object.values(build_plugins)
21216
+ });
21217
+ errObj.actual = 'string' == typeof error.actual ? error.actual : build_format(error.actual, {
21218
+ plugins: Object.values(build_plugins)
21219
+ });
21220
+ }
21221
+ return errObj;
21222
+ });
21223
+ };
21224
+ const util_formatRegExp = /%[sdjifoOc%]/;
21225
+ const formatTemplate = (template, values)=>{
21226
+ if (!util_formatRegExp.test(template)) return template;
21227
+ let valueIndex = 0;
21228
+ return template.replace(/%[sdjifoOc%]/g, (specifier)=>{
21229
+ if ('%%' === specifier) return '%';
21230
+ const value = values[valueIndex++];
21231
+ switch(specifier){
21232
+ case '%s':
21233
+ case '%O':
21234
+ case '%o':
21235
+ case '%c':
21236
+ return String(value);
21237
+ case '%d':
21238
+ case '%i':
21239
+ return Number.parseInt(String(value), 10).toString();
21240
+ case '%f':
21241
+ return Number(value).toString();
21242
+ case '%j':
21243
+ try {
21244
+ return JSON.stringify(value);
21245
+ } catch {
21246
+ return '[Circular]';
21247
+ }
21248
+ default:
21249
+ return String(value ?? '');
21250
+ }
21251
+ });
21252
+ };
21253
+ const formatName = (template, param, index)=>{
21254
+ let templateStr = template;
21255
+ if ([
21256
+ '%%',
21257
+ '%#',
21258
+ '%$'
21259
+ ].some((flag)=>templateStr.includes(flag))) templateStr = templateStr.replace(/%%/g, '__rstest_escaped_%__').replace(/%#/g, `${index}`).replace(/%\$/g, `${index + 1}`).replace(/__rstest_escaped_%__/g, '%%');
21260
+ if (Array.isArray(param)) {
21261
+ if (util_formatRegExp.test(templateStr)) return formatTemplate(templateStr, param);
21262
+ return templateStr;
21263
+ }
21264
+ if (util_formatRegExp.test(templateStr)) templateStr = formatTemplate(templateStr, [
21265
+ param
21266
+ ]);
21267
+ return templateStr.replace(/\$([$\w.]+)/g, (_, key)=>{
21268
+ const value = util_getValue(param, key);
21269
+ return value?.toString();
21270
+ });
21271
+ };
21272
+ function util_getValue(source, path, defaultValue) {
21273
+ const paths = path.replace(/\[(\d+)\]/g, '.$1').split('.');
21274
+ let result = source;
21275
+ for (const p of paths){
21276
+ result = result[p];
21277
+ if (void 0 === result) return defaultValue;
21278
+ }
21279
+ return result;
21280
+ }
21281
+ class TestRegisterError extends Error {
21282
+ }
21283
+ const unsupported = [
21284
+ 'matchSnapshot',
21285
+ 'toMatchSnapshot',
21286
+ 'toMatchInlineSnapshot',
21287
+ 'toThrowErrorMatchingSnapshot',
21288
+ 'toThrowErrorMatchingInlineSnapshot',
21289
+ 'throws',
21290
+ 'Throw',
21291
+ 'throw',
21292
+ 'toThrow',
21293
+ 'toThrowError'
21294
+ ];
21295
+ function createExpectPoll(expect) {
21296
+ return function poll(fn, options = {}) {
21297
+ const { interval = 50, timeout = 1000, message } = options;
21298
+ const assertion = expect(null, message).withContext({
21299
+ poll: true
21300
+ });
21301
+ fn = fn.bind(assertion);
21302
+ const test = chai_utils_exports.flag(assertion, 'vitest-test');
21303
+ if (!test) throw new Error('expect.poll() must be called inside a test');
21304
+ const proxy = new Proxy(assertion, {
21305
+ get (target, key, receiver) {
21306
+ const assertionFunction = Reflect.get(target, key, receiver);
21307
+ if ('function' != typeof assertionFunction) return assertionFunction instanceof node_modules_chai_Assertion ? proxy : assertionFunction;
21308
+ if ('assert' === key) return assertionFunction;
21309
+ if ('string' == typeof key && unsupported.includes(key)) throw new SyntaxError(`expect.poll() is not supported in combination with .${key}(). Use rstest.waitFor() if your assertion condition is unstable.`);
21310
+ return function(...args) {
21311
+ const STACK_TRACE_ERROR = new Error('STACK_TRACE_ERROR');
21312
+ const promise = ()=>new Promise((resolve, reject)=>{
21313
+ let intervalId;
21314
+ let timeoutId;
21315
+ let lastError;
21316
+ const check = async ()=>{
21317
+ try {
21318
+ chai_utils_exports.flag(assertion, '_name', key);
21319
+ const obj = await fn();
21320
+ chai_utils_exports.flag(assertion, 'object', obj);
21321
+ resolve(await assertionFunction.call(assertion, ...args));
21322
+ clearTimeout(intervalId);
21323
+ clearTimeout(timeoutId);
21324
+ } catch (err) {
21325
+ lastError = err;
21326
+ if (!chai_utils_exports.flag(assertion, '_isLastPollAttempt')) intervalId = getRealTimers().setTimeout(check, interval);
21327
+ }
21328
+ };
21329
+ timeoutId = getRealTimers().setTimeout(()=>{
21330
+ clearTimeout(intervalId);
21331
+ chai_utils_exports.flag(assertion, '_isLastPollAttempt', true);
21332
+ const rejectWithCause = (cause)=>{
21333
+ reject(copyStackTrace(new Error(`Matcher did not succeed in ${timeout}ms`, {
21334
+ cause
21335
+ }), STACK_TRACE_ERROR));
21336
+ };
21337
+ check().then(()=>rejectWithCause(lastError)).catch((e)=>rejectWithCause(e));
21338
+ }, timeout);
21339
+ check();
21340
+ });
21341
+ let awaited = false;
21342
+ test.onFinished ??= [];
21343
+ test.onFinished.push(()=>{
21344
+ if (!awaited) {
21345
+ const negated = chai_utils_exports.flag(assertion, 'negate') ? 'not.' : '';
21346
+ const name = chai_utils_exports.flag(assertion, '_poll.element') ? 'element(locator)' : 'poll(assertion)';
21347
+ const assertionString = `expect.${name}.${negated}${String(key)}()`;
21348
+ const error = new Error(`${assertionString} was not awaited. This assertion is asynchronous and must be awaited; otherwise, it is not executed to avoid unhandled rejections:\n\nawait ${assertionString}\n`);
21349
+ throw copyStackTrace(error, STACK_TRACE_ERROR);
21350
+ }
21351
+ });
21352
+ let resultPromise;
21353
+ return {
21354
+ then (onFulfilled, onRejected) {
21355
+ awaited = true;
21356
+ resultPromise ||= promise();
21357
+ return resultPromise.then(onFulfilled, onRejected);
21358
+ },
21359
+ catch (onRejected) {
21360
+ resultPromise ||= promise();
21361
+ return resultPromise.catch(onRejected);
21362
+ },
21363
+ finally (onFinally) {
21364
+ resultPromise ||= promise();
21365
+ return resultPromise.finally(onFinally);
21366
+ },
21367
+ [Symbol.toStringTag]: 'Promise'
21368
+ };
21369
+ };
21370
+ }
21371
+ });
21372
+ return proxy;
21373
+ };
21374
+ }
21375
+ function copyStackTrace(target, source) {
21376
+ if (void 0 !== source.stack) target.stack = source.stack.replace(source.message, target.message);
21377
+ return target;
21378
+ }
21379
+ var pathe_M_eThtNZ_process = __webpack_require__("../../node_modules/.pnpm/process@0.11.10/node_modules/process/browser.js");
21380
+ const _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//;
21381
+ function normalizeWindowsPath(input = "") {
21382
+ if (!input) return input;
21383
+ return input.replace(/\\/g, "/").replace(_DRIVE_LETTER_START_RE, (r)=>r.toUpperCase());
21384
+ }
21385
+ const _UNC_REGEX = /^[/\\]{2}/;
21386
+ const _IS_ABSOLUTE_RE = /^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/;
21387
+ const _DRIVE_LETTER_RE = /^[A-Za-z]:$/;
21388
+ const pathe_M_eThtNZ_normalize = function(path) {
21389
+ if (0 === path.length) return ".";
21390
+ path = normalizeWindowsPath(path);
21391
+ const isUNCPath = path.match(_UNC_REGEX);
21392
+ const isPathAbsolute = pathe_M_eThtNZ_isAbsolute(path);
21393
+ const trailingSeparator = "/" === path[path.length - 1];
21394
+ path = normalizeString(path, !isPathAbsolute);
21395
+ if (0 === path.length) {
21396
+ if (isPathAbsolute) return "/";
21397
+ return trailingSeparator ? "./" : ".";
21398
+ }
21399
+ if (trailingSeparator) path += "/";
21400
+ if (_DRIVE_LETTER_RE.test(path)) path += "/";
21401
+ if (isUNCPath) {
21402
+ if (!isPathAbsolute) return `//./${path}`;
21403
+ return `//${path}`;
21404
+ }
21405
+ return isPathAbsolute && !pathe_M_eThtNZ_isAbsolute(path) ? `/${path}` : path;
21406
+ };
21407
+ function cwd() {
21408
+ if (void 0 !== pathe_M_eThtNZ_process && "function" == typeof pathe_M_eThtNZ_process.cwd) return pathe_M_eThtNZ_process.cwd().replace(/\\/g, "/");
21409
+ return "/";
21410
+ }
21411
+ const pathe_M_eThtNZ_resolve = function(...arguments_) {
21412
+ arguments_ = arguments_.map((argument)=>normalizeWindowsPath(argument));
21413
+ let resolvedPath = "";
21414
+ let resolvedAbsolute = false;
21415
+ for(let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--){
21416
+ const path = index >= 0 ? arguments_[index] : cwd();
21417
+ if (path && 0 !== path.length) {
21418
+ resolvedPath = `${path}/${resolvedPath}`;
21419
+ resolvedAbsolute = pathe_M_eThtNZ_isAbsolute(path);
21420
+ }
21421
+ }
21422
+ resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute);
18432
21423
  if (resolvedAbsolute && !pathe_M_eThtNZ_isAbsolute(resolvedPath)) return `/${resolvedPath}`;
18433
21424
  return resolvedPath.length > 0 ? resolvedPath : ".";
18434
21425
  };
@@ -20619,24 +23610,24 @@ const SnapshotPlugin = (workerState)=>{
20619
23610
  };
20620
23611
  };
20621
23612
  function setupChaiConfig(config) {
20622
- Object.assign(chai_config, config);
23613
+ Object.assign(node_modules_chai_config, config);
20623
23614
  }
20624
23615
  function createExpect({ getCurrentTest, workerState }) {
20625
- use(JestExtend);
20626
- use(JestChaiExpect);
20627
- use(SnapshotPlugin(workerState));
20628
- use(JestAsymmetricMatchers);
23616
+ chai_use(JestExtend);
23617
+ chai_use(JestChaiExpect);
23618
+ chai_use(SnapshotPlugin(workerState));
23619
+ chai_use(JestAsymmetricMatchers);
20629
23620
  const expect = (value, message)=>{
20630
23621
  const { assertionCalls } = getState(expect);
20631
23622
  setState({
20632
23623
  assertionCalls: assertionCalls + 1
20633
23624
  }, expect);
20634
- const assert = chai_expect(value, message);
23625
+ const assert = node_modules_chai_expect(value, message);
20635
23626
  const _test = getCurrentTest();
20636
23627
  if (_test) return assert.withTest(_test);
20637
23628
  return assert;
20638
23629
  };
20639
- Object.assign(expect, chai_expect);
23630
+ Object.assign(expect, node_modules_chai_expect);
20640
23631
  Object.assign(expect, globalThis[ASYMMETRIC_MATCHERS_OBJECT]);
20641
23632
  expect.getState = ()=>getState(expect);
20642
23633
  expect.setState = (state)=>setState(state, expect);
@@ -20652,14 +23643,17 @@ function createExpect({ getCurrentTest, workerState }) {
20652
23643
  return workerState.testPath;
20653
23644
  }
20654
23645
  }, expect);
20655
- expect.extend = (matchers)=>chai_expect.extend(expect, matchers);
23646
+ expect.extend = (matchers)=>node_modules_chai_expect.extend(expect, matchers);
20656
23647
  expect.addEqualityTesters = (customTesters)=>addCustomEqualityTesters(customTesters);
20657
23648
  expect.soft = (...args)=>expect(...args).withContext({
20658
23649
  soft: true
20659
23650
  });
20660
23651
  expect.poll = createExpectPoll(expect);
23652
+ expect.element = ()=>{
23653
+ throw new Error("expect.element() is only available in browser mode. Enable browser mode in config and import @rstest/browser to install the browser expect adapter.");
23654
+ };
20661
23655
  expect.unreachable = (message)=>{
20662
- chai_assert.fail(`expected ${message ? `"${message}" ` : ''}not to be reached`);
23656
+ node_modules_chai_assert.fail(`expected ${message ? `"${message}" ` : ''}not to be reached`);
20663
23657
  };
20664
23658
  function assertions(expected) {
20665
23659
  const errorGen = ()=>new Error(`expected number of assertions to be ${expected}, but got ${expect.getState().assertionCalls}`);
@@ -20677,8 +23671,8 @@ function createExpect({ getCurrentTest, workerState }) {
20677
23671
  isExpectingAssertionsError: error
20678
23672
  });
20679
23673
  }
20680
- utils_exports.addMethod(expect, 'assertions', assertions);
20681
- utils_exports.addMethod(expect, 'hasAssertions', hasAssertions);
23674
+ chai_utils_exports.addMethod(expect, 'assertions', assertions);
23675
+ chai_utils_exports.addMethod(expect, 'hasAssertions', hasAssertions);
20682
23676
  expect.extend(customMatchers);
20683
23677
  return expect;
20684
23678
  }
@@ -20806,7 +23800,7 @@ function getFixtureUsedProps(fn) {
20806
23800
  const trimmedParams = match[1].trim();
20807
23801
  if (!trimmedParams) return [];
20808
23802
  const [firstParam] = splitByComma(trimmedParams);
20809
- if (firstParam?.[0] !== '{' || '}' !== firstParam[firstParam.length - 1]) {
23803
+ if (firstParam?.[0] !== '{' || !firstParam.endsWith('}')) {
20810
23804
  if (firstParam?.startsWith('_')) return [];
20811
23805
  throw new Error(`First argument must use the object destructuring pattern: ${firstParam}`);
20812
23806
  }
@@ -20959,18 +23953,10 @@ function limitConcurrency(concurrency = 1 / 0) {
20959
23953
  });
20960
23954
  }
20961
23955
  var runner_process = __webpack_require__("../../node_modules/.pnpm/process@0.11.10/node_modules/process/browser.js");
20962
- function runner_define_property(obj, key, value) {
20963
- if (key in obj) Object.defineProperty(obj, key, {
20964
- value: value,
20965
- enumerable: true,
20966
- configurable: true,
20967
- writable: true
20968
- });
20969
- else obj[key] = value;
20970
- return obj;
20971
- }
20972
23956
  const RealDate = Date;
20973
23957
  class TestRunner {
23958
+ _test;
23959
+ workerState;
20974
23960
  async runTests({ tests, testPath, state, hooks, api, snapshotClient }) {
20975
23961
  this.workerState = state;
20976
23962
  const { runtimeConfig: { passWithNoTests, retry, maxConcurrency, bail }, project } = state;
@@ -21157,7 +24143,8 @@ class TestRunner {
21157
24143
  project: test.project,
21158
24144
  testId: test.testId,
21159
24145
  type: 'suite',
21160
- location: test.location
24146
+ location: test.location,
24147
+ runMode: test.runMode
21161
24148
  });
21162
24149
  if (0 === test.tests.length) {
21163
24150
  if ([
@@ -21229,7 +24216,8 @@ class TestRunner {
21229
24216
  parentNames: test.parentNames,
21230
24217
  project: test.project,
21231
24218
  type: 'case',
21232
- location: test.location
24219
+ location: test.location,
24220
+ runMode: test.runMode
21233
24221
  });
21234
24222
  do {
21235
24223
  const currentResult = await runTestsCase(test, parentHooks);
@@ -21388,10 +24376,6 @@ class TestRunner {
21388
24376
  if (null !== expectedAssertionsNumber && assertionCalls !== expectedAssertionsNumber) throw expectedAssertionsNumberErrorGen();
21389
24377
  if (true === isExpectingAssertions && 0 === assertionCalls) throw isExpectingAssertionsError;
21390
24378
  }
21391
- constructor(){
21392
- runner_define_property(this, "_test", void 0);
21393
- runner_define_property(this, "workerState", void 0);
21394
- }
21395
24379
  }
21396
24380
  var UNKNOWN_FUNCTION = '<unknown>';
21397
24381
  function stack_trace_parser_esm_parse(stackString) {
@@ -21497,17 +24481,21 @@ function fileURLToPath(url, options) {
21497
24481
  }
21498
24482
  return path;
21499
24483
  }
21500
- function runtime_define_property(obj, key, value) {
21501
- if (key in obj) Object.defineProperty(obj, key, {
21502
- value: value,
21503
- enumerable: true,
21504
- configurable: true,
21505
- writable: true
21506
- });
21507
- else obj[key] = value;
21508
- return obj;
21509
- }
21510
24484
  class RunnerRuntime {
24485
+ tests = [];
24486
+ _currentTest = [];
24487
+ testPath;
24488
+ status = 'collect';
24489
+ collectStatus = 'lazy';
24490
+ currentCollectList = [];
24491
+ runtimeConfig;
24492
+ project;
24493
+ testId = 1;
24494
+ constructor({ testPath, runtimeConfig, project }){
24495
+ this.project = project;
24496
+ this.testPath = testPath;
24497
+ this.runtimeConfig = runtimeConfig;
24498
+ }
21511
24499
  updateStatus(status) {
21512
24500
  this.status = status;
21513
24501
  }
@@ -21731,20 +24719,6 @@ class RunnerRuntime {
21731
24719
  }
21732
24720
  throw new Error('Expect to find a suite, but got undefined');
21733
24721
  }
21734
- constructor({ testPath, runtimeConfig, project }){
21735
- runtime_define_property(this, "tests", []);
21736
- runtime_define_property(this, "_currentTest", []);
21737
- runtime_define_property(this, "testPath", void 0);
21738
- runtime_define_property(this, "status", 'collect');
21739
- runtime_define_property(this, "collectStatus", 'lazy');
21740
- runtime_define_property(this, "currentCollectList", []);
21741
- runtime_define_property(this, "runtimeConfig", void 0);
21742
- runtime_define_property(this, "project", void 0);
21743
- runtime_define_property(this, "testId", 1);
21744
- this.project = project;
21745
- this.testPath = testPath;
21746
- this.runtimeConfig = runtimeConfig;
21747
- }
21748
24722
  }
21749
24723
  const createRuntimeAPI = ({ testPath, runtimeConfig, project })=>{
21750
24724
  const runtimeInstance = new RunnerRuntime({
@@ -21965,18 +24939,7 @@ function createRunner({ workerState }) {
21965
24939
  traverseUpdateTest(tests, testNamePattern);
21966
24940
  hooks.onTestFileReady?.({
21967
24941
  testPath,
21968
- tests: tests.map(function toTestInfo(test) {
21969
- return {
21970
- testId: test.testId,
21971
- name: test.name,
21972
- parentNames: test.parentNames,
21973
- testPath: test.testPath,
21974
- project: test.project,
21975
- type: test.type,
21976
- location: test.location,
21977
- tests: 'suite' === test.type ? test.tests.map(toTestInfo) : []
21978
- };
21979
- })
24942
+ tests: tests.map(toTestInfo)
21980
24943
  });
21981
24944
  runtime.instance.updateStatus('running');
21982
24945
  const results = await testRunner.runTests({
@@ -21992,26 +24955,38 @@ function createRunner({ workerState }) {
21992
24955
  collectTests: async ()=>{
21993
24956
  const tests = await runtime.instance.getTests();
21994
24957
  traverseUpdateTest(tests, testNamePattern);
21995
- return tests;
24958
+ return tests.map(toTestInfo);
21996
24959
  },
21997
24960
  getCurrentTest: ()=>testRunner.getCurrentTest()
21998
24961
  }
21999
24962
  };
22000
24963
  }
24964
+ function toTestInfo(test) {
24965
+ return {
24966
+ testId: test.testId,
24967
+ name: test.name,
24968
+ parentNames: test.parentNames,
24969
+ testPath: test.testPath,
24970
+ project: test.project,
24971
+ type: test.type,
24972
+ location: test.location,
24973
+ tests: 'suite' === test.type ? test.tests.map(toTestInfo) : [],
24974
+ runMode: test.runMode
24975
+ };
24976
+ }
22001
24977
  const fake_timers_src = __webpack_require__("../../node_modules/.pnpm/@sinonjs+fake-timers@15.1.0/node_modules/@sinonjs/fake-timers/src/fake-timers-src.js");
22002
24978
  var fakeTimers_process = __webpack_require__("../../node_modules/.pnpm/process@0.11.10/node_modules/process/browser.js");
22003
- function fakeTimers_define_property(obj, key, value) {
22004
- if (key in obj) Object.defineProperty(obj, key, {
22005
- value: value,
22006
- enumerable: true,
22007
- configurable: true,
22008
- writable: true
22009
- });
22010
- else obj[key] = value;
22011
- return obj;
22012
- }
22013
24979
  const fakeTimers_RealDate = Date;
22014
24980
  class FakeTimers {
24981
+ _clock;
24982
+ _config;
24983
+ _fakingTime;
24984
+ _fakeTimers;
24985
+ constructor({ global, config = {} }){
24986
+ this._config = config;
24987
+ this._fakingTime = false;
24988
+ this._fakeTimers = (0, fake_timers_src.withGlobal)(global);
24989
+ }
22015
24990
  clearAllTimers() {
22016
24991
  if (this._fakingTime) this._clock.reset();
22017
24992
  }
@@ -22107,15 +25082,6 @@ class FakeTimers {
22107
25082
  isFakeTimers() {
22108
25083
  return this._fakingTime;
22109
25084
  }
22110
- constructor({ global, config = {} }){
22111
- fakeTimers_define_property(this, "_clock", void 0);
22112
- fakeTimers_define_property(this, "_config", void 0);
22113
- fakeTimers_define_property(this, "_fakingTime", void 0);
22114
- fakeTimers_define_property(this, "_fakeTimers", void 0);
22115
- this._config = config;
22116
- this._fakingTime = false;
22117
- this._fakeTimers = (0, fake_timers_src.withGlobal)(global);
22118
- }
22119
25085
  }
22120
25086
  function getTypeName(value) {
22121
25087
  return Object.prototype.toString.call(value).slice(8, -1);
@@ -22241,7 +25207,7 @@ function mockObject(options, object, mockExports = {}) {
22241
25207
  configurable: descriptor.configurable,
22242
25208
  enumerable: descriptor.enumerable,
22243
25209
  get: ()=>void 0,
22244
- set: descriptor.set ? ()=>{} : void 0
25210
+ set: descriptor.set ? ()=>void 0 : void 0
22245
25211
  });
22246
25212
  } catch {}
22247
25213
  continue;
@@ -22452,11 +25418,34 @@ const initSpy = ()=>{
22452
25418
  };
22453
25419
  };
22454
25420
  var utilities_process = __webpack_require__("../../node_modules/.pnpm/process@0.11.10/node_modules/process/browser.js");
25421
+ const DEFAULT_WAIT_TIMEOUT = 1000;
25422
+ const DEFAULT_WAIT_INTERVAL = 50;
25423
+ const getRealSetTimeout = ()=>getRealTimers().setTimeout ?? globalThis.setTimeout.bind(globalThis);
25424
+ const getRealClearTimeout = ()=>getRealTimers().clearTimeout ?? globalThis.clearTimeout.bind(globalThis);
25425
+ const sleep = (ms)=>new Promise((resolve)=>getRealSetTimeout()(resolve, ms));
25426
+ const createWaitForTimeoutError = (timeout, cause)=>new Error(`waitFor timed out in ${timeout}ms`, {
25427
+ cause
25428
+ });
25429
+ const createWaitUntilTimeoutError = (timeout)=>new Error(`waitUntil timed out in ${timeout}ms`);
25430
+ const normalizeWaitOptions = (options)=>({
25431
+ timeout: Math.max(0, 'number' == typeof options ? options : options?.timeout ?? DEFAULT_WAIT_TIMEOUT),
25432
+ interval: Math.max(0, 'number' == typeof options ? DEFAULT_WAIT_INTERVAL : options?.interval ?? DEFAULT_WAIT_INTERVAL)
25433
+ });
22455
25434
  const createRstestUtilities = async (workerState)=>{
25435
+ const RSTEST_ENV_SYMBOL = Symbol.for('rstest.env');
22456
25436
  const originalEnvValues = new Map();
22457
25437
  const originalGlobalValues = new Map();
22458
25438
  let _timers;
22459
25439
  let originalConfig;
25440
+ const resolveRuntimeEnv = ()=>{
25441
+ const globalRef = globalThis;
25442
+ const runtimeEnv = globalRef[RSTEST_ENV_SYMBOL];
25443
+ if (runtimeEnv && 'object' == typeof runtimeEnv) return runtimeEnv;
25444
+ if (void 0 !== utilities_process && utilities_process.env) return utilities_process.env;
25445
+ const createdEnv = {};
25446
+ globalRef[RSTEST_ENV_SYMBOL] = createdEnv;
25447
+ return createdEnv;
25448
+ };
22460
25449
  const timers = ()=>{
22461
25450
  if (!_timers) _timers = new FakeTimers({
22462
25451
  global: globalThis
@@ -22494,15 +25483,15 @@ const createRstestUtilities = async (workerState)=>{
22494
25483
  for (const mock of mocks)mock.mockRestore();
22495
25484
  return rstest;
22496
25485
  },
22497
- mock: ()=>{},
22498
- mockRequire: ()=>{},
22499
- doMock: ()=>{},
22500
- doMockRequire: ()=>{},
22501
- unmock: ()=>{},
22502
- doUnmock: ()=>{},
22503
- importMock: async ()=>({}),
25486
+ mock: ()=>void 0,
25487
+ mockRequire: ()=>void 0,
25488
+ doMock: ()=>void 0,
25489
+ doMockRequire: ()=>void 0,
25490
+ unmock: ()=>void 0,
25491
+ doUnmock: ()=>void 0,
25492
+ importMock: ()=>Promise.resolve({}),
22504
25493
  requireMock: ()=>({}),
22505
- importActual: async ()=>({}),
25494
+ importActual: ()=>Promise.resolve({}),
22506
25495
  requireActual: ()=>({}),
22507
25496
  resetModules: ()=>({}),
22508
25497
  hoisted: ()=>({}),
@@ -22528,14 +25517,16 @@ const createRstestUtilities = async (workerState)=>{
22528
25517
  if (originalConfig) Object.assign(workerState.runtimeConfig, originalConfig);
22529
25518
  },
22530
25519
  stubEnv: (name, value)=>{
22531
- if (!originalEnvValues.has(name)) originalEnvValues.set(name, utilities_process.env[name]);
22532
- if (void 0 === value) delete utilities_process.env[name];
22533
- else utilities_process.env[name] = value;
25520
+ const runtimeEnv = resolveRuntimeEnv();
25521
+ if (!originalEnvValues.has(name)) originalEnvValues.set(name, runtimeEnv[name]);
25522
+ if (void 0 === value) delete runtimeEnv[name];
25523
+ else runtimeEnv[name] = value;
22534
25524
  return rstest;
22535
25525
  },
22536
25526
  unstubAllEnvs: ()=>{
22537
- for (const [name, value] of originalEnvValues)if (void 0 === value) delete utilities_process.env[name];
22538
- else utilities_process.env[name] = value;
25527
+ const runtimeEnv = resolveRuntimeEnv();
25528
+ for (const [name, value] of originalEnvValues)if (void 0 === value) delete runtimeEnv[name];
25529
+ else runtimeEnv[name] = value;
22539
25530
  originalEnvValues.clear();
22540
25531
  return rstest;
22541
25532
  },
@@ -22615,6 +25606,51 @@ const createRstestUtilities = async (workerState)=>{
22615
25606
  clearAllTimers: ()=>{
22616
25607
  timers().clearAllTimers();
22617
25608
  return rstest;
25609
+ },
25610
+ waitFor: async (callback, options)=>{
25611
+ const { timeout, interval } = normalizeWaitOptions(options);
25612
+ const clearTimeoutFn = getRealClearTimeout();
25613
+ let timedOut = false;
25614
+ let lastError;
25615
+ const timeoutId = getRealSetTimeout()(()=>{
25616
+ timedOut = true;
25617
+ }, timeout);
25618
+ try {
25619
+ while(true){
25620
+ if (timedOut) throw lastError ?? createWaitForTimeoutError(timeout);
25621
+ try {
25622
+ const value = await callback();
25623
+ if (timedOut) throw lastError ?? createWaitForTimeoutError(timeout);
25624
+ return value;
25625
+ } catch (error) {
25626
+ lastError = error;
25627
+ }
25628
+ if (timedOut) throw lastError ?? createWaitForTimeoutError(timeout);
25629
+ await sleep(interval);
25630
+ }
25631
+ } finally{
25632
+ clearTimeoutFn(timeoutId);
25633
+ }
25634
+ },
25635
+ waitUntil: async (callback, options)=>{
25636
+ const { timeout, interval } = normalizeWaitOptions(options);
25637
+ const clearTimeoutFn = getRealClearTimeout();
25638
+ let timedOut = false;
25639
+ const timeoutId = getRealSetTimeout()(()=>{
25640
+ timedOut = true;
25641
+ }, timeout);
25642
+ try {
25643
+ while(true){
25644
+ if (timedOut) throw createWaitUntilTimeoutError(timeout);
25645
+ const value = await callback();
25646
+ if (timedOut) throw createWaitUntilTimeoutError(timeout);
25647
+ if (value) return value;
25648
+ if (timedOut) throw createWaitUntilTimeoutError(timeout);
25649
+ await sleep(interval);
25650
+ }
25651
+ } finally{
25652
+ clearTimeoutFn(timeoutId);
25653
+ }
22618
25654
  }
22619
25655
  };
22620
25656
  return rstest;
@@ -22639,7 +25675,7 @@ const createRstestRuntime = async (workerState)=>{
22639
25675
  api: {
22640
25676
  ...runnerAPI,
22641
25677
  expect,
22642
- assert: chai_assert,
25678
+ assert: node_modules_chai_assert,
22643
25679
  rstest,
22644
25680
  rs: rstest
22645
25681
  }