@ethlete/query 6.0.0-next.35 → 6.0.0-next.37

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @ethlete/query
2
2
 
3
+ ## 6.0.0-next.37
4
+
5
+ ### Minor Changes
6
+
7
+ - [#3058](https://github.com/ethlete-io/ethdk/pull/3058) [`b6c106e`](https://github.com/ethlete-io/ethdk/commit/b6c106e17d8925fd881eb94974782e94ae03686d) Thanks [@github-actions](https://github.com/apps/github-actions)! - The Mocks tab seeds a body in a placeholder, realistic or stress value style, and `provideQueryDevtools({ schema })` takes one API description per query client.
8
+
9
+ ## 6.0.0-next.36
10
+
11
+ ### Patch Changes
12
+
13
+ - [#3056](https://github.com/ethlete-io/ethdk/pull/3056) [`3595aa0`](https://github.com/ethlete-io/ethdk/commit/3595aa0e847afcd23b294027fc5daaceb8fcf0f2) Thanks [@github-actions](https://github.com/apps/github-actions)! - A tab that adopts its session from another tab now reports it as a token seed, so its secure queries and anything else waiting on a login no longer wait forever.
14
+
3
15
  ## 6.0.0-next.35
4
16
 
5
17
  ### Major Changes
@@ -4885,6 +4885,7 @@ const createBearerAuthProviderImpl = (config) => {
4885
4885
  queryClient,
4886
4886
  name: config.name,
4887
4887
  applyTokens,
4888
+ setTokens,
4888
4889
  logout,
4889
4890
  sessionEndCause: sessionEndCause.asReadonly(),
4890
4891
  });
@@ -5663,9 +5664,15 @@ const setupMultiTabSync = (config, context) => {
5663
5664
  const refresh = decryptToken(message.refreshToken);
5664
5665
  if (!access || !refresh)
5665
5666
  return;
5667
+ const isNewSession = !context.accessToken();
5666
5668
  lastSyncedState = tokenState(access, refresh);
5667
5669
  hadTokens = true;
5668
- context.applyTokens(access, refresh);
5670
+ if (isNewSession) {
5671
+ context.setTokens(access, refresh);
5672
+ }
5673
+ else {
5674
+ context.applyTokens(access, refresh);
5675
+ }
5669
5676
  settleAdoption();
5670
5677
  };
5671
5678
  let adoptionTimeout;
@@ -5797,6 +5804,7 @@ const withBearerAuthMultiTabSync = (config = {}) => {
5797
5804
  name: context.name,
5798
5805
  isLeader: () => isLeaderRef(),
5799
5806
  applyTokens: context.applyTokens,
5807
+ setTokens: context.setTokens,
5800
5808
  logout: context.logout,
5801
5809
  });
5802
5810
  if (config.leaderElection === false) {
@@ -7245,6 +7253,18 @@ const generateQueryDevtoolsNumberPreset = (preset) => {
7245
7253
  }
7246
7254
  }
7247
7255
  };
7256
+ /**
7257
+ * Generates a plausible sample number inside the bounds a caller declares - a small integer, or one with
7258
+ * two decimals when `fractional`. The number presets break a layout on purpose; this one does not.
7259
+ */
7260
+ const generateQueryDevtoolsSampleNumber = (bounds) => {
7261
+ const min = bounds.min ?? 1;
7262
+ const max = Math.max(min, bounds.max ?? min + 999);
7263
+ const value = randomIntBetween(min, Math.min(max, min + 999));
7264
+ if (!bounds.fractional || value >= max)
7265
+ return value;
7266
+ return Math.min(max, Math.round((value + Math.random()) * 100) / 100);
7267
+ };
7248
7268
  const DAY_MS = 24 * 60 * 60 * 1000;
7249
7269
  /** `invalid` is deliberately unparseable - "the API sent a date my code can't parse" is a real bug class. */
7250
7270
  const datePresetValue = (preset) => {
@@ -7446,34 +7466,50 @@ const armQueryDevtoolsOverrideTransfer = (recorder, ops) => {
7446
7466
 
7447
7467
  // Generated from package.json by tools/scripts/generate-version.js - do not edit.
7448
7468
  /** The version of `@ethlete/query` this build was cut from. */
7449
- const QUERY_VERSION = '6.0.0-next.35';
7469
+ const QUERY_VERSION = '6.0.0-next.37';
7450
7470
 
7451
7471
  /** How deep a schema is expanded before a nested branch is given up on. */
7452
7472
  const MAX_DEPTH = 12;
7453
7473
  /** How many elements are generated for an array, whatever its `minItems` says. */
7454
7474
  const MAX_ITEMS = 3;
7475
+ /**
7476
+ * How many array elements are generated on their own rather than copied from the first. Nested arrays
7477
+ * multiply, so without a ceiling a body of arrays-in-arrays costs `MAX_ITEMS ^ MAX_DEPTH` walks.
7478
+ */
7479
+ const VARIED_ITEMS_BUDGET = 200;
7455
7480
  const HTTP_METHODS = ['get', 'put', 'post', 'delete', 'options', 'head', 'patch', 'trace'];
7456
- const loader = /* @__PURE__ */ signal(null, /* @ts-ignore */
7457
- ...(ngDevMode ? [{ debugName: "loader" }] : /* istanbul ignore next */ []));
7458
- const state = /* @__PURE__ */ signal({ status: 'unavailable' }, /* @ts-ignore */
7459
- ...(ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []));
7460
- const schemaDocument = /* @__PURE__ */ signal(null, /* @ts-ignore */
7461
- ...(ngDevMode ? [{ debugName: "schemaDocument" }] : /* istanbul ignore next */ []));
7481
+ /** The key a single loader is filed under, so one description answers for every client. */
7482
+ const ANY_CLIENT = '*';
7483
+ const loaders = /* @__PURE__ */ signal({}, /* @ts-ignore */
7484
+ ...(ngDevMode ? [{ debugName: "loaders" }] : /* istanbul ignore next */ []));
7485
+ const states = /* @__PURE__ */ signal({}, /* @ts-ignore */
7486
+ ...(ngDevMode ? [{ debugName: "states" }] : /* istanbul ignore next */ []));
7487
+ const documents = /* @__PURE__ */ signal({}, /* @ts-ignore */
7488
+ ...(ngDevMode ? [{ debugName: "documents" }] : /* istanbul ignore next */ []));
7462
7489
  const isRecord = (value) => !!value && typeof value === 'object' && !Array.isArray(value);
7490
+ /** Which description answers for a client: its own, or the one that answers for all of them. */
7491
+ const keyOf = (clientName) => {
7492
+ const declared = loaders();
7493
+ if (clientName in declared)
7494
+ return clientName;
7495
+ return ANY_CLIENT in declared ? ANY_CLIENT : clientName;
7496
+ };
7497
+ const documentOf = (clientName) => documents()[keyOf(clientName)] ?? null;
7463
7498
  /**
7464
- * Where the API description stands, for the panel's seeding controls.
7499
+ * Where the description of one query client's API stands, for the panel's seeding controls.
7465
7500
  *
7466
7501
  * Part of the devtools contract. **Not part of the general public contract.**
7467
7502
  */
7468
- const queryDevtoolsSchemaState = /* @__PURE__ */ state.asReadonly();
7503
+ const queryDevtoolsSchemaState = (clientName) => states()[keyOf(clientName)] ?? { status: 'unavailable' };
7469
7504
  /**
7470
- * Installs the application's schema loader. Called by `provideQueryDevtools()`; nothing else may call it.
7505
+ * Installs the application's schema loaders. Called by `provideQueryDevtools()`; nothing else may call it.
7471
7506
  * @internal
7472
7507
  */
7473
7508
  const setQueryDevtoolsSchemaLoader = (next) => {
7474
- loader.set(next ?? null);
7475
- state.set({ status: next ? 'idle' : 'unavailable' });
7476
- schemaDocument.set(null);
7509
+ const declared = next === undefined ? {} : typeof next === 'function' ? { [ANY_CLIENT]: next } : { ...next };
7510
+ loaders.set(declared);
7511
+ states.set(Object.fromEntries(Object.keys(declared).map((key) => [key, { status: 'idle' }])));
7512
+ documents.set({});
7477
7513
  };
7478
7514
  /** A `() => import('./openapi.json')` loader hands back the module rather than the document inside it. */
7479
7515
  const unwrapModule = (value) => {
@@ -7490,53 +7526,58 @@ const messageOf = (error) => (error instanceof Error ? error.message : String(er
7490
7526
  *
7491
7527
  * Part of the devtools contract. **Not part of the general public contract.**
7492
7528
  */
7493
- const loadQueryDevtoolsSchema = () => {
7494
- const load = loader();
7495
- const status = state().status;
7529
+ const loadQueryDevtoolsSchema = (clientName) => {
7530
+ const key = keyOf(clientName);
7531
+ const load = loaders()[key];
7532
+ const status = queryDevtoolsSchemaState(clientName).status;
7496
7533
  if (!load || status === 'loading' || status === 'ready')
7497
7534
  return;
7498
- state.set({ status: 'loading' });
7535
+ const setState = (next) => states.update((current) => ({ ...current, [key]: next }));
7536
+ setState({ status: 'loading' });
7499
7537
  Promise.resolve()
7500
7538
  .then(() => load())
7501
7539
  .then((value) => {
7502
7540
  const parsed = unwrapModule(value);
7503
7541
  if (!isRecord(parsed))
7504
7542
  throw new Error('The schema loader did not return an object.');
7505
- schemaDocument.set(parsed);
7506
- state.set({ status: 'ready' });
7543
+ documents.update((current) => ({ ...current, [key]: parsed }));
7544
+ setState({ status: 'ready' });
7507
7545
  })
7508
7546
  .catch((error) => {
7509
- schemaDocument.set(null);
7510
- state.set({ status: 'error', message: messageOf(error) });
7547
+ documents.update((current) => {
7548
+ const { [key]: _dropped, ...rest } = current;
7549
+ return rest;
7550
+ });
7551
+ setState({ status: 'error', message: messageOf(error) });
7511
7552
  });
7512
7553
  };
7513
- const namedSchemas = /* @__PURE__ */ computed(() => {
7514
- const doc = schemaDocument();
7515
- if (!doc)
7516
- return {};
7554
+ const schemasOf = (doc) => {
7517
7555
  const components = doc['components'];
7518
7556
  return {
7519
7557
  ...(isRecord(doc['$defs']) ? doc['$defs'] : null),
7520
7558
  ...(isRecord(doc['definitions']) ? doc['definitions'] : null),
7521
7559
  ...(isRecord(components) && isRecord(components['schemas']) ? components['schemas'] : null),
7522
7560
  };
7523
- }, /* @ts-ignore */
7524
- ...(ngDevMode ? [{ debugName: "namedSchemas" }] : /* istanbul ignore next */ []));
7561
+ };
7562
+ const namedSchemasByKey = /* @__PURE__ */ computed(() => Object.fromEntries(Object.entries(documents()).map(([key, doc]) => [key, schemasOf(doc)])), /* @ts-ignore */
7563
+ ...(ngDevMode ? [{ debugName: "namedSchemasByKey" }] : /* istanbul ignore next */ []));
7564
+ const namedSchemas = (clientName) => namedSchemasByKey()[keyOf(clientName)] ?? {};
7565
+ const schemaNamesByKey = /* @__PURE__ */ computed(() => Object.fromEntries(Object.entries(namedSchemasByKey()).map(([key, schemas]) => [key, Object.keys(schemas).sort()])), /* @ts-ignore */
7566
+ ...(ngDevMode ? [{ debugName: "schemaNamesByKey" }] : /* istanbul ignore next */ []));
7525
7567
  /**
7526
- * Every schema the description names, sorted - the designer's "seed from a type" list.
7568
+ * Every schema one client's description names, sorted - the designer's "seed from a type" list.
7527
7569
  *
7528
7570
  * Part of the devtools contract. **Not part of the general public contract.**
7529
7571
  */
7530
- const queryDevtoolsSchemaNames = /* @__PURE__ */ computed(() => Object.keys(namedSchemas()).sort(), /* @ts-ignore */
7531
- ...(ngDevMode ? [{ debugName: "queryDevtoolsSchemaNames" }] : /* istanbul ignore next */ []));
7572
+ const queryDevtoolsSchemaNames = (clientName) => schemaNamesByKey()[keyOf(clientName)] ?? [];
7532
7573
  const decodePointer = (step) => decodeURIComponent(step.replace(/~1/g, '/').replace(/~0/g, '~'));
7533
7574
  /** The last segment of a `$ref` - `#/components/schemas/MatchId` is what a field's type is called. */
7534
7575
  const refLabel = (ref) => decodePointer(ref.split('/').pop() ?? ref);
7535
- /** Resolves a local JSON pointer against the loaded document. A remote `$ref` cannot be followed. */
7536
- const resolveRef = (ref) => {
7576
+ /** Resolves a local JSON pointer against one loaded document. A remote `$ref` cannot be followed. */
7577
+ const resolveRef = (ref, doc) => {
7537
7578
  if (!ref.startsWith('#/'))
7538
7579
  return undefined;
7539
- let current = schemaDocument();
7580
+ let current = doc;
7540
7581
  for (const step of ref.slice(2).split('/')) {
7541
7582
  if (!isRecord(current))
7542
7583
  return undefined;
@@ -7618,27 +7659,62 @@ const FORMAT_SAMPLES = {
7618
7659
  byte: '',
7619
7660
  binary: '',
7620
7661
  };
7662
+ const STRESS_STRING_PRESETS = ['long', 'longWord', 'unicode'];
7663
+ const finiteNumber = (value) => (typeof value === 'number' && Number.isFinite(value) ? value : null);
7664
+ const pickStressStringPreset = () => STRESS_STRING_PRESETS[Math.floor(Math.random() * STRESS_STRING_PRESETS.length)];
7665
+ /** Keeps a generated string inside `minLength`/`maxLength`, since a seed is exported as a real body. */
7666
+ const fitLength = (value, schema) => {
7667
+ const min = finiteNumber(schema['minLength']);
7668
+ const max = finiteNumber(schema['maxLength']);
7669
+ let out = value;
7670
+ while (min !== null && out.length < min)
7671
+ out += value || 'x';
7672
+ return max === null ? out : out.slice(0, max);
7673
+ };
7621
7674
  /**
7622
- * A placeholder string: the declared format's shape where there is one, otherwise the field's own name -
7623
- * which reads as obviously unreal while still saying which field you are looking at.
7675
+ * The value of a string field. A declared format wins in every style - a `date-time` full of lorem is
7676
+ * wrong data rather than a stress test - and an unformatted string is the field's own name, a short
7677
+ * sample or one of the three shapes that break a layout.
7624
7678
  */
7625
- const stringSample = (node, schema) => {
7679
+ const stringSample = (node, schema, ctx) => {
7626
7680
  const format = schema['format'];
7627
7681
  if (typeof format === 'string' && format in FORMAT_SAMPLES)
7628
7682
  return FORMAT_SAMPLES[format];
7683
+ if (ctx.style === 'realistic')
7684
+ return fitLength(generateQueryDevtoolsStringPreset('short'), schema);
7685
+ if (ctx.style === 'stress')
7686
+ return fitLength(generateQueryDevtoolsStringPreset(pickStressStringPreset()), schema);
7629
7687
  const title = schema['title'];
7630
7688
  if (typeof title === 'string' && title)
7631
7689
  return title;
7632
7690
  return node.key ?? 'string';
7633
7691
  };
7634
- const numberSample = (schema) => {
7635
- for (const keyword of ['minimum', 'exclusiveMinimum', 'default']) {
7636
- const value = schema[keyword];
7637
- if (typeof value === 'number' && Number.isFinite(value))
7638
- return keyword === 'exclusiveMinimum' ? value + 1 : value;
7692
+ const boundsOf = (schema) => {
7693
+ const exclusiveMin = finiteNumber(schema['exclusiveMinimum']);
7694
+ const exclusiveMax = finiteNumber(schema['exclusiveMaximum']);
7695
+ return {
7696
+ min: finiteNumber(schema['minimum']) ?? (exclusiveMin === null ? null : exclusiveMin + 1),
7697
+ max: finiteNumber(schema['maximum']) ?? (exclusiveMax === null ? null : exclusiveMax - 1),
7698
+ };
7699
+ };
7700
+ const clampToBounds = (value, bounds) => {
7701
+ if (bounds.min !== null && value < bounds.min)
7702
+ return bounds.min;
7703
+ if (bounds.max !== null && value > bounds.max)
7704
+ return bounds.max;
7705
+ return value;
7706
+ };
7707
+ const numberSample = (schema, ctx) => {
7708
+ const bounds = boundsOf(schema);
7709
+ if (ctx.style === 'placeholder')
7710
+ return bounds.min ?? finiteNumber(schema['default']) ?? 0;
7711
+ if (ctx.style === 'realistic') {
7712
+ return generateQueryDevtoolsSampleNumber({ ...bounds, fractional: typeOf(schema) === 'number' });
7639
7713
  }
7640
- return 0;
7714
+ const allowsNegative = bounds.min === null || bounds.min < 0;
7715
+ return clampToBounds(generateQueryDevtoolsNumberPreset(allowsNegative && Math.random() < 0.5 ? 'negative' : 'huge'), bounds);
7641
7716
  };
7717
+ const booleanSample = (ctx) => ctx.style !== 'placeholder' && Math.random() < 0.5;
7642
7718
  const childNode = (parent, child) => ({
7643
7719
  schema: child.schema,
7644
7720
  path: parent.path ? `${parent.path}.${child.key}` : child.key,
@@ -7672,12 +7748,14 @@ const generateArray = (node, ctx) => {
7672
7748
  const items = schema['items'];
7673
7749
  if (!isRecord(items))
7674
7750
  return [];
7675
- const minItems = typeof schema['minItems'] === 'number' ? schema['minItems'] : 1;
7676
- const count = Math.min(Math.max(1, minItems), MAX_ITEMS);
7751
+ const minItems = finiteNumber(schema['minItems']) ?? (ctx.style === 'placeholder' ? 1 : MAX_ITEMS);
7752
+ const count = Math.min(Math.max(1, minItems), MAX_ITEMS, finiteNumber(schema['maxItems']) ?? MAX_ITEMS);
7677
7753
  const target = { schema: items, path: `${node.path ? `${node.path}.` : ''}*`, depth: node.depth + 1, key: node.key };
7678
7754
  ctx.types.set(target.path, describeSchema(items));
7679
7755
  const element = generate(target, ctx);
7680
- return Array.from({ length: count }, () => structuredCopy(element));
7756
+ return Array.from({ length: count }, (_, index) => index && ctx.style !== 'placeholder' && ctx.varied++ < VARIED_ITEMS_BUDGET
7757
+ ? generate(target, ctx)
7758
+ : structuredCopy(element));
7681
7759
  };
7682
7760
  /** Each generated element is its own value, so editing one in the designer does not edit the others. */
7683
7761
  const structuredCopy = (value) => {
@@ -7711,7 +7789,7 @@ const generate = (node, ctx) => {
7711
7789
  ctx.notes.add(`${name} contains itself - the recursion was cut at ${at(node.path)} with null.`);
7712
7790
  return null;
7713
7791
  }
7714
- const resolved = resolveRef(ref);
7792
+ const resolved = resolveRef(ref, ctx.doc);
7715
7793
  if (resolved === undefined) {
7716
7794
  ctx.notes.add(`${ref} could not be resolved - generated as null at ${at(node.path)}.`);
7717
7795
  return null;
@@ -7746,12 +7824,12 @@ const generate = (node, ctx) => {
7746
7824
  case 'array':
7747
7825
  return generateArray(node, ctx);
7748
7826
  case 'string':
7749
- return stringSample(node, schema);
7827
+ return stringSample(node, schema, ctx);
7750
7828
  case 'integer':
7751
7829
  case 'number':
7752
- return numberSample(schema);
7830
+ return numberSample(schema, ctx);
7753
7831
  case 'boolean':
7754
- return false;
7832
+ return booleanSample(ctx);
7755
7833
  case 'null':
7756
7834
  return null;
7757
7835
  default:
@@ -7762,21 +7840,22 @@ const generate = (node, ctx) => {
7762
7840
  ctx.notes.add(`${at(node.path)} declares no type - generated as null.`);
7763
7841
  return null;
7764
7842
  };
7765
- const seedFrom = (schema, name) => {
7766
- const ctx = { types: new Map(), notes: new Set(), refs: name ? [name] : [] };
7843
+ const seedFrom = (schema, name, style, doc) => {
7844
+ const ctx = { types: new Map(), notes: new Set(), refs: name ? [name] : [], style, varied: 0, doc };
7767
7845
  const body = generate({ schema, path: '', depth: 0, key: null }, ctx);
7768
7846
  return { body, schemaName: name, types: ctx.types, notes: [...ctx.notes] };
7769
7847
  };
7770
7848
  /**
7771
- * Generates a body from one named schema (`MatchView`), or `null` when the description does not name it.
7849
+ * Generates a body from one schema the client's description names (`MatchView`), or `null` when it names
7850
+ * no such thing. The style decides how lifelike its values are; the shape is the same either way.
7772
7851
  *
7773
7852
  * Part of the devtools contract. **Not part of the general public contract.**
7774
7853
  */
7775
- const seedQueryDevtoolsSchemaBody = (name) => {
7776
- const schema = namedSchemas()[name];
7854
+ const seedQueryDevtoolsSchemaBody = (clientName, name, style = 'placeholder') => {
7855
+ const schema = namedSchemas(clientName)[name];
7777
7856
  if (schema === undefined)
7778
7857
  return null;
7779
- return seedFrom(schema, name);
7858
+ return seedFrom(schema, name, style, documentOf(clientName));
7780
7859
  };
7781
7860
  /** Where a schema was collected from, so the same name arriving from two pointers is caught. */
7782
7861
  const originOf = (label, pointer) => pointer ?? `named:${label}`;
@@ -7813,8 +7892,9 @@ const rewriteRefs = (value, queue) => {
7813
7892
  *
7814
7893
  * Part of the devtools contract. **Not part of the general public contract.**
7815
7894
  */
7816
- const collectQueryDevtoolsSchemaComponents = (names) => {
7817
- const declared = namedSchemas();
7895
+ const collectQueryDevtoolsSchemaComponents = (clientName, names) => {
7896
+ const declared = namedSchemas(clientName);
7897
+ const doc = documentOf(clientName);
7818
7898
  const schemas = {};
7819
7899
  const notes = new Set();
7820
7900
  const origins = new Map();
@@ -7829,7 +7909,7 @@ const collectQueryDevtoolsSchemaComponents = (names) => {
7829
7909
  }
7830
7910
  continue;
7831
7911
  }
7832
- const schema = request.pointer === null ? declared[request.label] : resolveRef(request.pointer);
7912
+ const schema = request.pointer === null ? declared[request.label] : resolveRef(request.pointer, doc);
7833
7913
  if (schema === undefined) {
7834
7914
  if (request.pointer !== null) {
7835
7915
  notes.add(`${request.pointer} could not be resolved, so ${request.label} is missing from the export.`);
@@ -7876,14 +7956,8 @@ const patternsMatch = (a, b) => {
7876
7956
  return isParam(segment) || isParam(other) ? isParam(segment) && isParam(other) : segment === other;
7877
7957
  });
7878
7958
  };
7879
- /**
7880
- * Every route the description declares, as the designer offers them - including the ones no query has
7881
- * ever called, which is the case a mock exists for.
7882
- *
7883
- * Part of the devtools contract. **Not part of the general public contract.**
7884
- */
7885
- const queryDevtoolsSchemaRoutes = /* @__PURE__ */ computed(() => {
7886
- const paths = schemaDocument()?.['paths'];
7959
+ const routesOf = (doc) => {
7960
+ const paths = doc['paths'];
7887
7961
  if (!isRecord(paths))
7888
7962
  return [];
7889
7963
  const routes = [];
@@ -7903,10 +7977,18 @@ const queryDevtoolsSchemaRoutes = /* @__PURE__ */ computed(() => {
7903
7977
  }
7904
7978
  }
7905
7979
  return routes;
7906
- }, /* @ts-ignore */
7907
- ...(ngDevMode ? [{ debugName: "queryDevtoolsSchemaRoutes" }] : /* istanbul ignore next */ []));
7908
- const findOperation = (target) => {
7909
- const paths = schemaDocument()?.['paths'];
7980
+ };
7981
+ const routesByKey = /* @__PURE__ */ computed(() => Object.fromEntries(Object.entries(documents()).map(([key, doc]) => [key, routesOf(doc)])), /* @ts-ignore */
7982
+ ...(ngDevMode ? [{ debugName: "routesByKey" }] : /* istanbul ignore next */ []));
7983
+ /**
7984
+ * Every route one client's description declares, as the designer offers them - including the ones no
7985
+ * query has ever called, which is the case a mock exists for.
7986
+ *
7987
+ * Part of the devtools contract. **Not part of the general public contract.**
7988
+ */
7989
+ const queryDevtoolsSchemaRoutes = (clientName) => routesByKey()[keyOf(clientName)] ?? [];
7990
+ const findOperation = (target, doc) => {
7991
+ const paths = doc?.['paths'];
7910
7992
  if (!isRecord(paths))
7911
7993
  return null;
7912
7994
  const method = target.method.toLowerCase();
@@ -7963,8 +8045,9 @@ const jsonSchemaOf = (response) => {
7963
8045
  *
7964
8046
  * Part of the devtools contract. **Not part of the general public contract.**
7965
8047
  */
7966
- const seedQueryDevtoolsSchemaRoute = (target) => {
7967
- const match = findOperation(target);
8048
+ const seedQueryDevtoolsSchemaRoute = (target, style = 'placeholder') => {
8049
+ const doc = documentOf(target.clientName);
8050
+ const match = findOperation(target, doc);
7968
8051
  if (!match)
7969
8052
  return null;
7970
8053
  const success = successResponse(match.operation);
@@ -7977,11 +8060,11 @@ const seedQueryDevtoolsSchemaRoute = (target) => {
7977
8060
  // schema its `name` stands for - otherwise the walk reads the name as one it is already expanding and
7978
8061
  // cuts the whole body as a cycle.
7979
8062
  const ref = isRecord(json.schema) ? json.schema['$ref'] : null;
7980
- const named = typeof ref === 'string' ? { schema: resolveRef(ref), name: refLabel(ref) } : null;
8063
+ const named = typeof ref === 'string' ? { schema: resolveRef(ref, doc), name: refLabel(ref) } : null;
7981
8064
  if (named && named.schema === undefined)
7982
8065
  return null;
7983
8066
  const seed = json.example === undefined
7984
- ? seedFrom(named ? named.schema : json.schema, named ? named.name : null)
8067
+ ? seedFrom(named ? named.schema : json.schema, named ? named.name : null, style, doc)
7985
8068
  : {
7986
8069
  body: json.example,
7987
8070
  schemaName: null,
@@ -14188,5 +14271,5 @@ const createWebSocketClient = (options) => {
14188
14271
  * Generated bundle index. Do not edit.
14189
14272
  */
14190
14273
 
14191
- export { BasicAuthProvider, BearerAuthFeatureType, BooleanArrayQueryField, CustomHeaderAuthProvider, DEFAULT_KEEP_UNUSED_FOR, DEFAULT_QUERY_PERSISTENCE_MAX_AGE, DEFAULT_QUERY_PERSISTENCE_MAX_ENTRIES, DEFAULT_QUERY_PERSISTENCE_VERSION, DEFAULT_QUERY_PERSISTENCE_WRITE_DELAY, DateArrayQueryField, DateQueryField, EMPTY_QUERY_DEVTOOLS_FAULT, EntityStore, IGNORED_FILTER_COUNT_FIELDS, INFINITY_QUERY_TOKEN, InfinityQuery, InfinityQueryDirective, InfinityQueryTriggerDirective, LegacyQuery, LegacyQueryCreator, MAX_QUERY_DEVTOOLS_TOMBSTONES, MAX_UNUSED_ENTRIES, NumberArrayQueryField, ParseHttpErrorCodeToMessageDePipe, ParseHttpErrorCodeToMessageEnPipe, ParseHttpErrorCodeToTitleDePipe, ParseHttpErrorCodeToTitleEnPipe, QUERY_CLIENT_DEVTOOLS_TOKEN, QUERY_DEVTOOLS_FAULT_STATUSES, QUERY_DEVTOOLS_TOKEN_TTL_LIMIT, QUERY_PERSISTENCE_STORE_VERSION, QUERY_SYNC_PROTOCOL_VERSION, QUERY_VERSION, QueryClientFeatureType, QueryDevtoolsComponent, QueryDirective, QueryFeatureType, QueryField, QueryForm, QueryRuntimeErrorCode, QueryShortNamePipe, QueryStore, SERVER_ERROR_KIND, SERVER_VIOLATION_ERROR_KIND, SPEED_BUFFER_TIME_IN_MS, SearchQueryField, SortQueryField, StringArrayQueryField, V2BearerAuthProvider, V2Query, V2QueryClient, V2QueryCreator, addQueryContainerHandling, applyQueryDevtoolsOverrides, applyQueryDevtoolsTokenTtl, applyQueryFeatures, armAllQueryDevtoolsMocks, armQueryDevtoolsMock, armQueryDevtoolsOverrideTransfer, authExtractTokensResponseMissingAccessToken, authExtractTokensResponseMissingRefreshToken, authExtractTokensResponseNotObject, authProviderFeatureUsedMultipleTimes, booleanArrayQueryField, buildQueryCacheKey, buildQueryString, buildRoute, buildTimestampFromSeconds, canOverrideQueryDevtoolsTokenTtl, castQueryCreatorTypes, circularQueryDependency, circularQueryDependencyChecker, clearQueryDevtoolsArmedMocks, clearQueryDevtoolsFaults, clearQueryDevtoolsMockStore, clearQueryDevtoolsOverrideStore, clearQueryDevtoolsStore, clearQueryDevtoolsTokenTtl, clearQueryDevtoolsTombstones, clearRestoredQueryDevtoolsOverrides, collectLeafPaths, collectQueryDevtoolsSchemaComponents, collectQueryFormLinks, computeQueryAuthHeader, computeQueryBody, computeQueryHeaders, computeQueryMethod, computeQueryQueryParams, consumeSuppressQueryStackDevtools, contentfulGqlLikePaginationAdapter, countUnresolvedQueryDevtoolsOverrides, createAuthGuard, createBaseQuery, createBaseQueryCreator, createBearerAuthProvider, createDefaultRetryFn, createDeleteQuery, createExecuteFn, createGetQuery, createGqlExecuteFn, createGqlMutationViaGet, createGqlMutationViaPost, createGqlQuery, createGqlQueryCreator, createGqlQueryViaGet, createGqlQueryViaPost, createHttpRequest, createIndexedDbQueryPersistenceAdapter, createInfinityQueryConfig, createLegacyQueryCreator, createNoopQueryPersistenceAdapter, createPagedQueryStack, createPatchQuery, createPersistentAuthFeature, createPostQuery, createPutQuery, createQuery, createQueryClient, createQueryCollection, createQueryCollectionSignal, createQueryCollectionSubject, createQueryContext, createQueryCreator, createQueryDevtoolsFormLinks, createQueryDevtoolsFormLinksRecorder, createQueryDevtoolsOverrides, createQueryDevtoolsOverridesRecorder, createQueryDevtoolsStats, createQueryDevtoolsStatsRecorder, createQueryErrorResponse, createQueryFeature, createQueryInvalidationFilter, createQueryKeyLockManager, createQueryObject, createQueryPersistenceEngine, createQueryRepository, createQuerySnapshotFn, createQueryStack, createQuerySyncEngine, createQuerySyncTransport, createSecureDeleteQuery, createSecureExecuteFactory, createSecureExecuteFn, createSecureGetQuery, createSecureGqlExecuteFn, createSecureGqlMutationViaGet, createSecureGqlMutationViaPost, createSecureGqlQuery, createSecureGqlQueryCreator, createSecureGqlQueryViaGet, createSecureGqlQueryViaPost, createSecurePatchQuery, createSecurePostQuery, createSecurePutQuery, createSecureQuery, createSecureQueryCreator, createTrackingFeature, createWebSocketClient, dateArrayQueryField, dateQueryField, decryptBearer, deepFreeze, def, defineQueryForm, deleteQueryDevtoolsMock, describeQueryDevtoolsFeatures, detectContentTypeHeader, detectPaginationShape, dynLikePaginationAdapter, effectComputed, emptyQueryArgs, ethletePaginationAdapter, executeUntilSettled, extractExpiresInSeconds, extractFormViolations, extractHtmlErrorMessage, extractQuery, fakePaginationAdapter, filterFailure, filterNull, filterQueryStates, filterSuccess, forEachHeader, formatQueryDevtoolsDuration, generateQueryDevtoolsNumberPreset, generateQueryDevtoolsStringPreset, getBearerAuthProviderName, getDefaultHeaders, getQueryClientName, getQueryFeatureUsage, getResponseUrl, ggLikePaginationAdapter, gql, gqlDataPropertyMissingInResponse, hasHeader, hasQueryDevtoolsOverridesAtPath, htmlErrorPayload, htmlQueryErrorParser, ignoreAutoRefresh, initQueryDevtoolsFaults, initQueryDevtoolsMocks, initQueryDevtoolsOverridePersistence, initQueryDevtoolsSettings, injectInfinityQueryResponseDelay, injectQueryContext, insertFrom, invalidBaseRouteError, invalidBodyError, invalidRouteError, invalidStateInsideSecureExecuteFactory, isAutoRefresh, isBasicAuthProvider, isBearerAuthProvider, isClassValidatorError, isCreateGqlQueryOptions, isCustomHeaderAuthProvider, isDateShapedLeaf, isEmptyString, isGqlQueryConfig, isHtmlErrorPayload, isLegacyQuery, isNaN$1 as isNaN, isPageOutOfRangeError, isQuery, isQueryCollection, isQueryDevtoolsEnabled, isQueryDevtoolsFaultArmed, isQueryDevtoolsRequestInterceptionEnabled, isQueryErrorResponse, isQueryStateCancelled, isQueryStateFailure, isQueryStateLoading, isQueryStatePrepared, isQueryStateSuccess, isRequestError, isSymfonyError, isSymfonyFormViolationListError, isSymfonyListError, isSymfonyPagerfantaOutOfRangeError, isUnderInvalidatedUrl, legacyPrepareFallbackInjector, legacyPrepareWithoutInjectionContext, loadQueryDevtoolsSchema, mapToPaginated, mapViolationsToFormErrors, matchesQueryDevtoolsMockPattern, matchesQueryDevtoolsMockQuery, maybeExecute, measureQueryDevtoolsPayload, mergeHeaders, nestedEffect, noteQueryFormRead, numberArrayQueryField, pagedQueryStackNextPageCalledWithoutPreviousPage, pagedQueryStackPageBiggerThanTotalPages, pagedQueryStackPreviousPageCalledButAlreadyAtFirstPage, paginatedEntityValueUpdater, parseAllXhrResponseHeaders, parseHttpErrorCodeToMessageDe, parseHttpErrorCodeToMessageEn, parseHttpErrorCodeToTitleDe, parseHttpErrorCodeToTitleEn, parseQueryDevtoolsOverrideTransfer, parseQueryRoute, patchQueryDevtoolsTokenPayload, pathParamsMissingInRouteFunctionError, provideInfinityQueryResponseDelay, provideLegacyPrepareFallback, provideQueryClientForDevtools, provideQueryDevtools, queryArrayComputed, queryClientFeatureUsedMultipleTimes, queryComputed, queryComputedTillTruthy, queryDevtoolsAbout, queryDevtoolsArmedMocks, queryDevtoolsArmedMocksRestored, queryDevtoolsEntries, queryDevtoolsFaults, queryDevtoolsFaultsRestored, queryDevtoolsFnDetail, queryDevtoolsMockId, queryDevtoolsMocks, queryDevtoolsOverridePersistence, queryDevtoolsRequestPath, queryDevtoolsResponseHistory, queryDevtoolsRestoredOverridesScope, queryDevtoolsSchemaNames, queryDevtoolsSchemaRoutes, queryDevtoolsSchemaState, queryDevtoolsSettings, queryDevtoolsStorage, queryDevtoolsTokenTtls, queryErrorMessage, queryErrorMessages, queryExecute, queryFeatureUsedMultipleTimes, queryField, querySequence, querySequenceAlreadyRunning, queryStackTotalQueriesAndExpectedQueriesMismatch, queryStackWithArgsUsed, queryStackWithResponseUpdateUsed, queryStateAlreadyHasKeyError, queryStateCannotTransformError, queryStateDoesNotContainKeyError, queryStateErrorSignal, queryStateLoadingSignal, queryStateResponseSignal, queryStateSignal, readQueryDevtoolsStore, registerEthleteVersion, registerQueryDevtoolsEntry, registerQueryErrorParser, removeFrom, request, resetExecuteState, resetPageOnError, resolveInvalidationUrl, resolveQueryDevtoolsFault, resolveQueryDevtoolsFaultForAttempt, resolveQueryDevtoolsMock, resolveQueryDevtoolsMockForAttempt, restoredQueryDevtoolsOverrides, runDefaultQueryRetry, runQueryErrorParsers, saveQueryDevtoolsMock, searchQueryField, seedQueryDevtoolsSchemaBody, seedQueryDevtoolsSchemaRoute, serializeBody, serializeQueryDevtoolsOverrideTransfer, setDefaultQueryRetryFn, setQueryDevtoolsAppInfo, setQueryDevtoolsArmedMocksScope, setQueryDevtoolsFault, setQueryDevtoolsFaultResolver, setQueryDevtoolsFaultsScope, setQueryDevtoolsFormLinksFactory, setQueryDevtoolsMockResolver, setQueryDevtoolsOverridePersistence, setQueryDevtoolsOverridesFactory, setQueryDevtoolsOverridesScope, setQueryDevtoolsRegistrar, setQueryDevtoolsResponseHistory, setQueryDevtoolsSchemaLoader, setQueryDevtoolsSettings, setQueryDevtoolsStatsFactory, setQueryDevtoolsTokenPayloadPatcher, setQueryDevtoolsTokenTtl, setupQueryDependencies, setupQueryExecuteState, setupQueryState, shouldAutoExecuteGqlQuery, shouldAutoExecuteQuery, shouldCacheQuery, shouldRetryRequest, silenceMissingWithArgsFeatureErrorUsedButWithArgsPresent, skipPaginationPageParamCalculator, smartDuplicateArrayItem, snapshotQueryDevtoolsHandle, sortQueryField, splitQueryConfig, stringArrayQueryField, stringifyQueryRouteParts, sumQueryDevtoolsStats, suppressNextQueryStackDevtools, switchQueryCollectionState, switchQueryState, symfonyQueryErrorParser, takeUntilResponse, toQuerySignal, toQuerySubject, tokensNotAvailableInsideAuthAndExec, tombstoneOf, transformArrayResponse, transformExecStateToQueryState, transformGql, transformMethod, transformPaginatedResponse, transformToBoolean, transformToBooleanArray, transformToDate, transformToDateArray, transformToNumber, transformToNumberArray, transformToSort, transformToSortQueryParam, transformToString, transformToStringArray, uncacheableRequestHasAllowCacheParam, uncacheableRequestHasCacheKeyParam, unwrapQuerySyncMessage, v2BuildQueryCacheKey, v2ExtractExpiresInSeconds, v2ShouldCacheQuery, v2ShouldRetryRequest, validateWithQuery, validateWithV2Query, withArgs, withArgsQueryFeatureMissingButRouteIsFunction, withAuthenticationQuery, withAutoRefresh, withAutoRefreshUsedInManualQuery, withAutoRefreshUsedOnUnsupportedHttpMethod, withBearerAuthMultiTabSync, withDefaultRetry, withErrorHandling, withEthleteApiErrors, withHtmlErrorParsing, withInactivityLogout, withLogging, withLongPolling, withLongPollingUsedOnUnsupportedHttpMethod, withLongPollingUsedWithPolling, withMultiTabSync, withPageResetOnError, withPersistentAuth, withPolling, withPollingUsedOnUnsupportedHttpMethod, withQueryDevtoolsOverridePersistence, withQueryPersistence, withRefreshQuery, withResponseUpdate, withSuccessHandling, withSymfonyErrors, withTokenExpirationWarning, withTokenRevocation, withTracking, wrapAsObservableSignal, wrapQuerySyncMessage, writeQueryDevtoolsStore };
14274
+ export { BasicAuthProvider, BearerAuthFeatureType, BooleanArrayQueryField, CustomHeaderAuthProvider, DEFAULT_KEEP_UNUSED_FOR, DEFAULT_QUERY_PERSISTENCE_MAX_AGE, DEFAULT_QUERY_PERSISTENCE_MAX_ENTRIES, DEFAULT_QUERY_PERSISTENCE_VERSION, DEFAULT_QUERY_PERSISTENCE_WRITE_DELAY, DateArrayQueryField, DateQueryField, EMPTY_QUERY_DEVTOOLS_FAULT, EntityStore, IGNORED_FILTER_COUNT_FIELDS, INFINITY_QUERY_TOKEN, InfinityQuery, InfinityQueryDirective, InfinityQueryTriggerDirective, LegacyQuery, LegacyQueryCreator, MAX_QUERY_DEVTOOLS_TOMBSTONES, MAX_UNUSED_ENTRIES, NumberArrayQueryField, ParseHttpErrorCodeToMessageDePipe, ParseHttpErrorCodeToMessageEnPipe, ParseHttpErrorCodeToTitleDePipe, ParseHttpErrorCodeToTitleEnPipe, QUERY_CLIENT_DEVTOOLS_TOKEN, QUERY_DEVTOOLS_FAULT_STATUSES, QUERY_DEVTOOLS_TOKEN_TTL_LIMIT, QUERY_PERSISTENCE_STORE_VERSION, QUERY_SYNC_PROTOCOL_VERSION, QUERY_VERSION, QueryClientFeatureType, QueryDevtoolsComponent, QueryDirective, QueryFeatureType, QueryField, QueryForm, QueryRuntimeErrorCode, QueryShortNamePipe, QueryStore, SERVER_ERROR_KIND, SERVER_VIOLATION_ERROR_KIND, SPEED_BUFFER_TIME_IN_MS, SearchQueryField, SortQueryField, StringArrayQueryField, V2BearerAuthProvider, V2Query, V2QueryClient, V2QueryCreator, addQueryContainerHandling, applyQueryDevtoolsOverrides, applyQueryDevtoolsTokenTtl, applyQueryFeatures, armAllQueryDevtoolsMocks, armQueryDevtoolsMock, armQueryDevtoolsOverrideTransfer, authExtractTokensResponseMissingAccessToken, authExtractTokensResponseMissingRefreshToken, authExtractTokensResponseNotObject, authProviderFeatureUsedMultipleTimes, booleanArrayQueryField, buildQueryCacheKey, buildQueryString, buildRoute, buildTimestampFromSeconds, canOverrideQueryDevtoolsTokenTtl, castQueryCreatorTypes, circularQueryDependency, circularQueryDependencyChecker, clearQueryDevtoolsArmedMocks, clearQueryDevtoolsFaults, clearQueryDevtoolsMockStore, clearQueryDevtoolsOverrideStore, clearQueryDevtoolsStore, clearQueryDevtoolsTokenTtl, clearQueryDevtoolsTombstones, clearRestoredQueryDevtoolsOverrides, collectLeafPaths, collectQueryDevtoolsSchemaComponents, collectQueryFormLinks, computeQueryAuthHeader, computeQueryBody, computeQueryHeaders, computeQueryMethod, computeQueryQueryParams, consumeSuppressQueryStackDevtools, contentfulGqlLikePaginationAdapter, countUnresolvedQueryDevtoolsOverrides, createAuthGuard, createBaseQuery, createBaseQueryCreator, createBearerAuthProvider, createDefaultRetryFn, createDeleteQuery, createExecuteFn, createGetQuery, createGqlExecuteFn, createGqlMutationViaGet, createGqlMutationViaPost, createGqlQuery, createGqlQueryCreator, createGqlQueryViaGet, createGqlQueryViaPost, createHttpRequest, createIndexedDbQueryPersistenceAdapter, createInfinityQueryConfig, createLegacyQueryCreator, createNoopQueryPersistenceAdapter, createPagedQueryStack, createPatchQuery, createPersistentAuthFeature, createPostQuery, createPutQuery, createQuery, createQueryClient, createQueryCollection, createQueryCollectionSignal, createQueryCollectionSubject, createQueryContext, createQueryCreator, createQueryDevtoolsFormLinks, createQueryDevtoolsFormLinksRecorder, createQueryDevtoolsOverrides, createQueryDevtoolsOverridesRecorder, createQueryDevtoolsStats, createQueryDevtoolsStatsRecorder, createQueryErrorResponse, createQueryFeature, createQueryInvalidationFilter, createQueryKeyLockManager, createQueryObject, createQueryPersistenceEngine, createQueryRepository, createQuerySnapshotFn, createQueryStack, createQuerySyncEngine, createQuerySyncTransport, createSecureDeleteQuery, createSecureExecuteFactory, createSecureExecuteFn, createSecureGetQuery, createSecureGqlExecuteFn, createSecureGqlMutationViaGet, createSecureGqlMutationViaPost, createSecureGqlQuery, createSecureGqlQueryCreator, createSecureGqlQueryViaGet, createSecureGqlQueryViaPost, createSecurePatchQuery, createSecurePostQuery, createSecurePutQuery, createSecureQuery, createSecureQueryCreator, createTrackingFeature, createWebSocketClient, dateArrayQueryField, dateQueryField, decryptBearer, deepFreeze, def, defineQueryForm, deleteQueryDevtoolsMock, describeQueryDevtoolsFeatures, detectContentTypeHeader, detectPaginationShape, dynLikePaginationAdapter, effectComputed, emptyQueryArgs, ethletePaginationAdapter, executeUntilSettled, extractExpiresInSeconds, extractFormViolations, extractHtmlErrorMessage, extractQuery, fakePaginationAdapter, filterFailure, filterNull, filterQueryStates, filterSuccess, forEachHeader, formatQueryDevtoolsDuration, generateQueryDevtoolsNumberPreset, generateQueryDevtoolsSampleNumber, generateQueryDevtoolsStringPreset, getBearerAuthProviderName, getDefaultHeaders, getQueryClientName, getQueryFeatureUsage, getResponseUrl, ggLikePaginationAdapter, gql, gqlDataPropertyMissingInResponse, hasHeader, hasQueryDevtoolsOverridesAtPath, htmlErrorPayload, htmlQueryErrorParser, ignoreAutoRefresh, initQueryDevtoolsFaults, initQueryDevtoolsMocks, initQueryDevtoolsOverridePersistence, initQueryDevtoolsSettings, injectInfinityQueryResponseDelay, injectQueryContext, insertFrom, invalidBaseRouteError, invalidBodyError, invalidRouteError, invalidStateInsideSecureExecuteFactory, isAutoRefresh, isBasicAuthProvider, isBearerAuthProvider, isClassValidatorError, isCreateGqlQueryOptions, isCustomHeaderAuthProvider, isDateShapedLeaf, isEmptyString, isGqlQueryConfig, isHtmlErrorPayload, isLegacyQuery, isNaN$1 as isNaN, isPageOutOfRangeError, isQuery, isQueryCollection, isQueryDevtoolsEnabled, isQueryDevtoolsFaultArmed, isQueryDevtoolsRequestInterceptionEnabled, isQueryErrorResponse, isQueryStateCancelled, isQueryStateFailure, isQueryStateLoading, isQueryStatePrepared, isQueryStateSuccess, isRequestError, isSymfonyError, isSymfonyFormViolationListError, isSymfonyListError, isSymfonyPagerfantaOutOfRangeError, isUnderInvalidatedUrl, legacyPrepareFallbackInjector, legacyPrepareWithoutInjectionContext, loadQueryDevtoolsSchema, mapToPaginated, mapViolationsToFormErrors, matchesQueryDevtoolsMockPattern, matchesQueryDevtoolsMockQuery, maybeExecute, measureQueryDevtoolsPayload, mergeHeaders, nestedEffect, noteQueryFormRead, numberArrayQueryField, pagedQueryStackNextPageCalledWithoutPreviousPage, pagedQueryStackPageBiggerThanTotalPages, pagedQueryStackPreviousPageCalledButAlreadyAtFirstPage, paginatedEntityValueUpdater, parseAllXhrResponseHeaders, parseHttpErrorCodeToMessageDe, parseHttpErrorCodeToMessageEn, parseHttpErrorCodeToTitleDe, parseHttpErrorCodeToTitleEn, parseQueryDevtoolsOverrideTransfer, parseQueryRoute, patchQueryDevtoolsTokenPayload, pathParamsMissingInRouteFunctionError, provideInfinityQueryResponseDelay, provideLegacyPrepareFallback, provideQueryClientForDevtools, provideQueryDevtools, queryArrayComputed, queryClientFeatureUsedMultipleTimes, queryComputed, queryComputedTillTruthy, queryDevtoolsAbout, queryDevtoolsArmedMocks, queryDevtoolsArmedMocksRestored, queryDevtoolsEntries, queryDevtoolsFaults, queryDevtoolsFaultsRestored, queryDevtoolsFnDetail, queryDevtoolsMockId, queryDevtoolsMocks, queryDevtoolsOverridePersistence, queryDevtoolsRequestPath, queryDevtoolsResponseHistory, queryDevtoolsRestoredOverridesScope, queryDevtoolsSchemaNames, queryDevtoolsSchemaRoutes, queryDevtoolsSchemaState, queryDevtoolsSettings, queryDevtoolsStorage, queryDevtoolsTokenTtls, queryErrorMessage, queryErrorMessages, queryExecute, queryFeatureUsedMultipleTimes, queryField, querySequence, querySequenceAlreadyRunning, queryStackTotalQueriesAndExpectedQueriesMismatch, queryStackWithArgsUsed, queryStackWithResponseUpdateUsed, queryStateAlreadyHasKeyError, queryStateCannotTransformError, queryStateDoesNotContainKeyError, queryStateErrorSignal, queryStateLoadingSignal, queryStateResponseSignal, queryStateSignal, readQueryDevtoolsStore, registerEthleteVersion, registerQueryDevtoolsEntry, registerQueryErrorParser, removeFrom, request, resetExecuteState, resetPageOnError, resolveInvalidationUrl, resolveQueryDevtoolsFault, resolveQueryDevtoolsFaultForAttempt, resolveQueryDevtoolsMock, resolveQueryDevtoolsMockForAttempt, restoredQueryDevtoolsOverrides, runDefaultQueryRetry, runQueryErrorParsers, saveQueryDevtoolsMock, searchQueryField, seedQueryDevtoolsSchemaBody, seedQueryDevtoolsSchemaRoute, serializeBody, serializeQueryDevtoolsOverrideTransfer, setDefaultQueryRetryFn, setQueryDevtoolsAppInfo, setQueryDevtoolsArmedMocksScope, setQueryDevtoolsFault, setQueryDevtoolsFaultResolver, setQueryDevtoolsFaultsScope, setQueryDevtoolsFormLinksFactory, setQueryDevtoolsMockResolver, setQueryDevtoolsOverridePersistence, setQueryDevtoolsOverridesFactory, setQueryDevtoolsOverridesScope, setQueryDevtoolsRegistrar, setQueryDevtoolsResponseHistory, setQueryDevtoolsSchemaLoader, setQueryDevtoolsSettings, setQueryDevtoolsStatsFactory, setQueryDevtoolsTokenPayloadPatcher, setQueryDevtoolsTokenTtl, setupQueryDependencies, setupQueryExecuteState, setupQueryState, shouldAutoExecuteGqlQuery, shouldAutoExecuteQuery, shouldCacheQuery, shouldRetryRequest, silenceMissingWithArgsFeatureErrorUsedButWithArgsPresent, skipPaginationPageParamCalculator, smartDuplicateArrayItem, snapshotQueryDevtoolsHandle, sortQueryField, splitQueryConfig, stringArrayQueryField, stringifyQueryRouteParts, sumQueryDevtoolsStats, suppressNextQueryStackDevtools, switchQueryCollectionState, switchQueryState, symfonyQueryErrorParser, takeUntilResponse, toQuerySignal, toQuerySubject, tokensNotAvailableInsideAuthAndExec, tombstoneOf, transformArrayResponse, transformExecStateToQueryState, transformGql, transformMethod, transformPaginatedResponse, transformToBoolean, transformToBooleanArray, transformToDate, transformToDateArray, transformToNumber, transformToNumberArray, transformToSort, transformToSortQueryParam, transformToString, transformToStringArray, uncacheableRequestHasAllowCacheParam, uncacheableRequestHasCacheKeyParam, unwrapQuerySyncMessage, v2BuildQueryCacheKey, v2ExtractExpiresInSeconds, v2ShouldCacheQuery, v2ShouldRetryRequest, validateWithQuery, validateWithV2Query, withArgs, withArgsQueryFeatureMissingButRouteIsFunction, withAuthenticationQuery, withAutoRefresh, withAutoRefreshUsedInManualQuery, withAutoRefreshUsedOnUnsupportedHttpMethod, withBearerAuthMultiTabSync, withDefaultRetry, withErrorHandling, withEthleteApiErrors, withHtmlErrorParsing, withInactivityLogout, withLogging, withLongPolling, withLongPollingUsedOnUnsupportedHttpMethod, withLongPollingUsedWithPolling, withMultiTabSync, withPageResetOnError, withPersistentAuth, withPolling, withPollingUsedOnUnsupportedHttpMethod, withQueryDevtoolsOverridePersistence, withQueryPersistence, withRefreshQuery, withResponseUpdate, withSuccessHandling, withSymfonyErrors, withTokenExpirationWarning, withTokenRevocation, withTracking, wrapAsObservableSignal, wrapQuerySyncMessage, writeQueryDevtoolsStore };
14192
14275
  //# sourceMappingURL=ethlete-query.mjs.map