@kollors/react-codegen 2.0.0-alpha.3 → 2.0.0-alpha.5

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/README.md CHANGED
@@ -64,25 +64,30 @@ await queryClient.invalidateQueries({ queryKey: getPetQueryKey(variables) });
64
64
  await fetchGetPet(variables, abortController.signal);
65
65
  ```
66
66
 
67
- GET generates `useX`, `useSuspenseX`, `xQuery`, `xQueryKey` and `fetchX`. Other methods generate `useX` mutations and `fetchX`, e.g. `useCreatePet().mutate({ body: pet })`. Variables group `pathParams`, `queryParams`, `headers` and `body`; required groups follow the schema. Calls with no required variables can omit the argument. Regular queries accept TanStack's `skipToken`; suspense queries require variables. Names use `operationId`, falling back to method and path; collisions report both locations.
67
+ GET generates `useX`, `useSuspenseX`, `xQuery`, `xQueryKey` and `fetchX`. Other methods generate `useX` mutations and `fetchX`, e.g. `useCreatePet().mutate({ body: pet })`. Variables group `pathParams`, `queryParams`, `headers` and `body`; required groups follow the schema. Calls with no required variables can omit the argument, including `useAuthLogout().mutate()` and `mutateAsync()`. Regular queries accept TanStack's `skipToken`; suspense queries require variables. Names use `operationId`, falling back to method and path; collisions report both locations. The complete OpenAPI client is formatted with Prettier in memory before writing.
68
+
69
+ Query keys include the configured base URL, HTTP method, path, operation name and variables. The generated `Accept` header and explicit request headers are normalized to their serialized names and values, so equivalent `Headers`, objects and tuple arrays share a cache entry while different header values stay separate. Tokens read from storage and browser cookies are not part of the key; clear the relevant query cache when the signed-in user changes.
68
70
 
69
71
  ### Supported features
70
72
 
71
73
  - Primitive types, arrays, objects, dictionaries, enums, internal `$ref`, recursive component types, `allOf` intersections, `oneOf`/`anyOf` unions. OpenAPI 3.1 also supports boolean schemas, `const` and type arrays.
72
74
  - `required` controls optional properties. `null` is included only when allowed by the schema. No blanket replacement of `null` with `undefined`. `readOnly`/`writeOnly` produce input/output variants when needed.
75
+ - Object constraints are combined before printing types. `additionalProperties: false` remains local to its subschema, including inside compositions; contradictory required fields produce `never`. Object `const`/`enum` values remain closed. Repeated union members and neutral intersections are simplified. TypeScript uses structural typing, so these types do not replace validation of arbitrary objects at runtime.
73
76
  - Path/header `simple` parameters; query `form`, flat `deepObject` with `explode: true`, array `spaceDelimited`/`pipeDelimited` with `explode: false`. Operation parameters override path-level parameters.
77
+ - Scalar parameter types can be inferred from `enum`, `const` and supported compositions without an explicit `type`. Optional object fields with value `undefined` are omitted during parameter serialization. Undefined array elements and nested parameter objects/arrays are rejected with the parameter name.
74
78
  - JSON/`+json`, text/XML as strings, binary bodies/responses as `Blob`, multipart and URL-encoded object bodies. Multiple request formats are selected in this order: JSON, `+json`, URL-encoded, multipart, other supported formats alphabetically. Responses use their actual Content-Type; successful response types form a union. `default` is a success fallback only when no explicit 2xx exists. Empty mutation responses return `undefined` with type `void`.
79
+ - Media type classification ignores case and parameters such as `charset`; request headers preserve the declared media type.
75
80
  - Descriptions become comments. Dates remain strings. Numeric bounds, patterns and lengths do not add runtime validation. `oneOf` becomes a TypeScript union without checking exclusivity. `discriminator` does not invent properties or values: describe the discriminator field in the schema.
76
81
 
77
82
  ### Current limits
78
83
 
79
- Generation fails with a schema location before replacing output for unsupported constructs: external `$ref` (bundle first), callbacks/webhooks, cookie parameters, parameter `content`, nested parameter objects/arrays, `allowReserved`, path `label`/`matrix`, custom form encoding, unsupported media types, and advanced JSON Schema keywords such as conditionals, `not`, dynamic references, `prefixItems`, `patternProperties` and `unevaluatedProperties`. Typed `additionalProperties` alongside named properties are rejected because a TypeScript index signature would also constrain named properties; use a separate dictionary property. Recursive types must be components; circular aliases and cyclic YAML aliases are rejected.
84
+ Generation fails with a schema location before replacing output for unsupported constructs: external `$ref` (bundle first), callbacks/webhooks, cookie parameters, parameter `content`, nested parameter objects/arrays, `allowReserved`, path `label`/`matrix`, custom form encoding, unsupported media types, and advanced JSON Schema keywords such as conditionals, `not`, `dependentRequired`/`dependentSchemas`, dynamic references, `prefixItems`, `patternProperties` and `unevaluatedProperties`. Typed `additionalProperties` alongside named properties are rejected because a TypeScript index signature would also constrain named properties; use a separate dictionary property. Recursive types must be components; circular aliases and cyclic YAML aliases are rejected.
80
85
 
81
- Fetch cannot send GET/HEAD bodies or TRACE requests. A GET response declared without a body is rejected because React Query cannot cache `undefined`; the generator does not replace it with `null`. Schema `servers` and `security` do not override configuration: use `baseUrl` and `auth`. Response headers are not returned separately. Generated types do not validate server responses at runtime.
86
+ Fetch cannot send GET/HEAD bodies or TRACE requests. A GET response declared without a body is rejected because React Query cannot cache `undefined`; the generator does not replace it with `null`. If an operation declares a response body but the server returns none (including 204/205 covered by `2XX` or `default`), the fetcher throws a response contract error with the HTTP status and request URL. Empty text responses remain empty strings. Path segments `.` and `..` are rejected before sending a request because Fetch would normalize them and change the route. Schema `servers` and `security` do not override configuration: use `baseUrl` and `auth`. Response headers are not returned separately. Generated types do not validate the shape of server responses at runtime.
82
87
 
83
88
  ### Migration
84
89
 
85
- Regenerate the client. Usual camelCase operation names and grouped variables remain, but full export compatibility is not guaranteed. Empty context, `deepMerge`, `QueryOperation`, shared `queryKeyFn` and `@ts-nocheck` are removed. Query keys now use `[operationName, variables]`: use `xQueryKey` and clear persisted caches when upgrading. Type names use PascalCase; punctuation and underscores separate words. Errors use `OpenapiHttpError` or ordinary `Error` instead of `ErrorWrapper`. Stricter types may require call-site fixes.
90
+ Regenerate the client. Usual camelCase operation names and grouped variables remain, but full export compatibility is not guaranteed. Empty context, `deepMerge`, `QueryOperation`, shared `queryKeyFn` and `@ts-nocheck` are removed. Starting with `2.0.0-alpha.4`, query keys use `[baseUrl, method, path, operationName, normalizedVariables]` instead of `[operationName, variables]`: use `xQueryKey`, update manually constructed invalidation keys and clear persisted caches when upgrading. Type names use PascalCase; punctuation and underscores separate words. Errors use `OpenapiHttpError` or ordinary `Error` instead of `ErrorWrapper`. Stricter types may require call-site fixes.
86
91
 
87
92
  ## Programmatic API
88
93
 
package/README.ru.md CHANGED
@@ -64,25 +64,30 @@ await queryClient.invalidateQueries({ queryKey: getPetQueryKey(variables) });
64
64
  await fetchGetPet(variables, abortController.signal);
65
65
  ```
66
66
 
67
- Для GET создаются `useX`, `useSuspenseX`, `xQuery`, `xQueryKey` и `fetchX`. Для остальных методов — мутация `useX` и функция `fetchX`, например `useCreatePet().mutate({ body: pet })`. Аргументы сгруппированы в `pathParams`, `queryParams`, `headers` и `body`; обязательность задаёт схема. Если обязательных аргументов нет, вызов возможен без них. Обычные query принимают `skipToken` из TanStack; suspense-query требуют аргументы. Имена строятся из `operationId`, а при его отсутствии — из метода и пути. Коллизия имён сообщает оба места в схеме.
67
+ Для GET создаются `useX`, `useSuspenseX`, `xQuery`, `xQueryKey` и `fetchX`. Для остальных методов — мутация `useX` и функция `fetchX`, например `useCreatePet().mutate({ body: pet })`. Аргументы сгруппированы в `pathParams`, `queryParams`, `headers` и `body`; обязательность задаёт схема. Если обязательных аргументов нет, вызов возможен без них, включая `useAuthLogout().mutate()` и `mutateAsync()`. Обычные query принимают `skipToken` из TanStack; suspense-query требуют аргументы. Имена строятся из `operationId`, а при его отсутствии — из метода и пути. Коллизия имён сообщает оба места в схеме. Готовый OpenAPI-клиент форматируется Prettier в памяти перед записью.
68
+
69
+ Ключи кеша включают настроенный базовый URL, HTTP-метод, путь, имя операции и аргументы. Сгенерированный `Accept` и явно переданные заголовки приводятся к сериализованным именам и значениям: эквивалентные `Headers`, объекты и массивы пар используют одну запись кеша, разные значения заголовков — разные. Токены из хранилища и браузерные cookie в ключ не входят; при смене пользователя очищайте соответствующий кеш запросов.
68
70
 
69
71
  ### Что поддерживается
70
72
 
71
73
  - Примитивы, массивы, объекты, словари, enum, внутренние `$ref`, рекурсивные компоненты, пересечения `allOf`, объединения `oneOf`/`anyOf`. В OpenAPI 3.1 — также булевы схемы, `const` и массивы типов.
72
74
  - `required` определяет необязательные поля. `null` появляется только там, где разрешён схемой. Массовой замены `null` на `undefined` нет. Для `readOnly`/`writeOnly` при необходимости создаются входные и выходные типы.
75
+ - Ограничения объектов объединяются до печати типов. `additionalProperties: false` сохраняет ограничения своей подсхемы, включая композиции; противоречивые обязательные поля дают `never`. Объектные значения `const`/`enum` остаются закрытыми. Повторы в union и нейтральные пересечения упрощаются. TypeScript использует структурную типизацию, поэтому типы не заменяют проверку произвольных объектов во время выполнения.
73
76
  - Параметры пути/заголовков `simple`; query-параметры `form`, плоский `deepObject` с `explode: true`, массивы `spaceDelimited`/`pipeDelimited` с `explode: false`. Параметры операции переопределяют параметры уровня пути.
77
+ - Скалярные параметры выводятся из `enum`, `const` и поддерживаемых композиций без явного `type`. Необязательные свойства объектов со значением `undefined` пропускаются при сериализации параметров. Элементы массивов с `undefined` и вложенные объекты/массивы параметров отклоняются с именем параметра.
74
78
  - JSON/`+json`, текст/XML как строки, бинарные тела/ответы как `Blob`, multipart и URL-encoded тела из объектов. При нескольких форматах запроса порядок выбора: JSON, `+json`, URL-encoded, multipart, остальные поддерживаемые форматы по алфавиту. Ответ читается по фактическому Content-Type; типы успешных ответов объединяются. `default` используется как успешный ответ только при отсутствии явных 2xx. Пустые ответы мутаций имеют тип `void` и возвращают `undefined`.
79
+ - При распознавании Content-Type игнорируются регистр и параметры вроде `charset`; заголовки запроса сохраняют объявленный формат.
75
80
  - Описания становятся комментариями. Даты остаются строками. Числовые границы, паттерны и длины не добавляют проверок во время выполнения. `oneOf` становится union без проверки исключительности. `discriminator` не добавляет выдуманных полей и значений: поле-дискриминатор нужно описать в схеме.
76
81
 
77
82
  ### Текущие ограничения
78
83
 
79
- Неподдерживаемые конструкции вызывают ошибку с местом в схеме до замены выходного файла: внешние `$ref` (сначала объедините схему), callbacks/webhooks, cookie-параметры, `content` у параметров, вложенные объекты/массивы параметров, `allowReserved`, стили пути `label`/`matrix`, пользовательский encoding форм, неподдерживаемые Content-Type и сложные ключевые слова JSON Schema: условия, `not`, динамические ссылки, `prefixItems`, `patternProperties`, `unevaluatedProperties`. Типизированные `additionalProperties` вместе с именованными свойствами отклоняются: индексная сигнатура TypeScript ошибочно ограничила бы и именованные свойства; словарь можно вынести в отдельное свойство. Рекурсивные типы должны быть компонентами; циклические цепочки алиасов и циклические YAML-ссылки отклоняются.
84
+ Неподдерживаемые конструкции вызывают ошибку с местом в схеме до замены выходного файла: внешние `$ref` (сначала объедините схему), callbacks/webhooks, cookie-параметры, `content` у параметров, вложенные объекты/массивы параметров, `allowReserved`, стили пути `label`/`matrix`, пользовательский encoding форм, неподдерживаемые Content-Type и сложные ключевые слова JSON Schema: условия, `not`, `dependentRequired`/`dependentSchemas`, динамические ссылки, `prefixItems`, `patternProperties`, `unevaluatedProperties`. Типизированные `additionalProperties` вместе с именованными свойствами отклоняются: индексная сигнатура TypeScript ошибочно ограничила бы и именованные свойства; словарь можно вынести в отдельное свойство. Рекурсивные типы должны быть компонентами; циклические цепочки алиасов и циклические YAML-ссылки отклоняются.
80
85
 
81
- Fetch не позволяет отправлять тело с GET/HEAD и выполнять TRACE. GET с описанным ответом без тела отклоняется: React Query не кеширует `undefined`, и генератор не заменяет его на `null`. `servers` и `security` из схемы не заменяют настройки: используйте `baseUrl` и `auth`. Заголовки ответа отдельно не возвращаются. Сгенерированные типы не проверяют фактические ответы сервера во время выполнения.
86
+ Fetch не позволяет отправлять тело с GET/HEAD и выполнять TRACE. GET с описанным ответом без тела отклоняется: React Query не кеширует `undefined`, и генератор не заменяет его на `null`. Если операция объявляет тело ответа, а сервер не прислал его (включая 204/205, попавшие в `2XX` или `default`), фетчер выдаёт ошибку контракта с HTTP-статусом и URL запроса. Пустые текстовые ответы остаются пустыми строками. Сегменты пути `.` и `..` отклоняются до отправки запроса: Fetch нормализовал бы их и изменил маршрут. `servers` и `security` из схемы не заменяют настройки: используйте `baseUrl` и `auth`. Заголовки ответа отдельно не возвращаются. Сгенерированные типы не проверяют структуру фактических ответов сервера во время выполнения.
82
87
 
83
88
  ### Переход с прежнего генератора
84
89
 
85
- Перегенерируйте клиент. Привычные camelCase имена операций и группы аргументов сохраняются, но полной совместимости всех экспортов нет. Удалены пустой контекст, `deepMerge`, `QueryOperation`, общий `queryKeyFn` и `@ts-nocheck`. Ключи кеша теперь имеют вид `[operationName, variables]`: используйте `xQueryKey` и очистите сохранённый кеш при обновлении. Имена типов приводятся к PascalCase, пунктуация и подчёркивания разделяют слова. Ошибки представлены `OpenapiHttpError` или обычным `Error` вместо `ErrorWrapper`. Более строгие типы могут потребовать исправить места вызова.
90
+ Перегенерируйте клиент. Привычные camelCase имена операций и группы аргументов сохраняются, но полной совместимости всех экспортов нет. Удалены пустой контекст, `deepMerge`, `QueryOperation`, общий `queryKeyFn` и `@ts-nocheck`. Начиная с `2.0.0-alpha.4`, ключи кеша имеют вид `[baseUrl, method, path, operationName, normalizedVariables]` вместо `[operationName, variables]`: используйте `xQueryKey`, обновите вручную составленные ключи инвалидации и очистите сохранённый кеш при обновлении. Имена типов приводятся к PascalCase, пунктуация и подчёркивания разделяют слова. Ошибки представлены `OpenapiHttpError` или обычным `Error` вместо `ErrorWrapper`. Более строгие типы могут потребовать исправить места вызова.
86
91
 
87
92
  ## Программный API
88
93
 
@@ -1,4 +1,5 @@
1
1
  import { readFile } from 'node:fs/promises';
2
+ import { format } from 'prettier';
2
3
  import { loadOpenapi } from './document.js';
3
4
  import { Names } from './names.js';
4
5
  import { Operations } from './operations.js';
@@ -27,6 +28,8 @@ export async function generateOpenapiSource(source, configuration) {
27
28
  'requestBody',
28
29
  'requestHeaders',
29
30
  'withQueryParams',
31
+ 'isJsonContentType',
32
+ 'normalizeContentType',
30
33
  'readResponse',
31
34
  'Array',
32
35
  'Record',
@@ -51,9 +54,9 @@ export async function generateOpenapiSource(source, configuration) {
51
54
  ])
52
55
  names.reserve(name, 'generated runtime');
53
56
  const schemas = new Schemas(document, names);
57
+ const operations = new Operations(schemas, configuration.baseUrl).render();
54
58
  const declarations = schemas.declarations();
55
- const operations = new Operations(schemas).render();
56
- return [
59
+ const sourceCode = [
57
60
  '// Generated by @kollors/react-codegen. Do not edit.',
58
61
  ...(operations ? ["import * as reactQuery from '@tanstack/react-query';"] : []),
59
62
  declarations,
@@ -61,5 +64,6 @@ export async function generateOpenapiSource(source, configuration) {
61
64
  operations,
62
65
  '',
63
66
  ].join('\n\n');
67
+ return format(sourceCode, { parser: 'typescript', singleQuote: true, printWidth: 140, tabWidth: 2, endOfLine: 'lf' });
64
68
  }
65
69
  //# sourceMappingURL=generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/openapi/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,mGAAmG;AACnG,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAAc,EAAE,aAA0C;IACpG,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IAC9F,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI;QACjB,YAAY;QACZ,cAAc;QACd,YAAY;QACZ,uBAAuB;QACvB,6BAA6B;QAC7B,kBAAkB;QAClB,kBAAkB;QAClB,sBAAsB;QACtB,gBAAgB;QAChB,qBAAqB;QACrB,oBAAoB;QACpB,aAAa;QACb,iBAAiB;QACjB,gBAAgB;QAChB,sBAAsB;QACtB,aAAa;QACb,gBAAgB;QAChB,iBAAiB;QACjB,cAAc;QACd,OAAO;QACP,QAAQ;QACR,SAAS;QACT,MAAM;QACN,WAAW;QACX,SAAS;QACT,aAAa;QACb,oBAAoB;QACpB,UAAU;QACV,aAAa;QACb,UAAU;QACV,MAAM;QACN,UAAU;QACV,iBAAiB;QACjB,QAAQ;QACR,QAAQ;QACR,MAAM;QACN,YAAY;QACZ,UAAU;QACV,OAAO;KACR;QACC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;IACpD,OAAO;QACL,sDAAsD;QACtD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,sDAAsD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,YAAY;QACZ,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,sDAAsD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzH,UAAU;QACV,EAAE;KACH,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/openapi/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,mGAAmG;AACnG,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAAc,EAAE,aAA0C;IACpG,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IAC9F,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI;QACjB,YAAY;QACZ,cAAc;QACd,YAAY;QACZ,uBAAuB;QACvB,6BAA6B;QAC7B,kBAAkB;QAClB,kBAAkB;QAClB,sBAAsB;QACtB,gBAAgB;QAChB,qBAAqB;QACrB,oBAAoB;QACpB,aAAa;QACb,iBAAiB;QACjB,gBAAgB;QAChB,sBAAsB;QACtB,aAAa;QACb,gBAAgB;QAChB,iBAAiB;QACjB,mBAAmB;QACnB,sBAAsB;QACtB,cAAc;QACd,OAAO;QACP,QAAQ;QACR,SAAS;QACT,MAAM;QACN,WAAW;QACX,SAAS;QACT,aAAa;QACb,oBAAoB;QACpB,UAAU;QACV,aAAa;QACb,UAAU;QACV,MAAM;QACN,UAAU;QACV,iBAAiB;QACjB,QAAQ;QACR,QAAQ;QACR,MAAM;QACN,YAAY;QACZ,UAAU;QACV,OAAO;KACR;QACC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3E,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAG;QACjB,sDAAsD;QACtD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,sDAAsD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,YAAY;QACZ,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,sDAAsD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzH,UAAU;QACV,EAAE;KACH,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACf,OAAO,MAAM,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACxH,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import type { Schemas } from './schema.js';
2
2
  export declare class Operations {
3
3
  private readonly schemas;
4
- constructor(schemas: Schemas);
4
+ private readonly baseUrl;
5
+ constructor(schemas: Schemas, baseUrl?: string);
5
6
  render(): string;
6
7
  private media;
7
8
  private parameters;
8
- private flatParameter;
9
9
  private operation;
10
10
  }
@@ -1,10 +1,13 @@
1
+ import { isJsonContentType, normalizeContentType } from '../openapi-runtime.js';
1
2
  import { list, object, pointer, string } from './document.js';
2
3
  import { comment, identifier } from './names.js';
3
4
  const methods = ['get', 'put', 'post', 'delete', 'options', 'head', 'patch', 'trace'];
4
5
  export class Operations {
5
6
  schemas;
6
- constructor(schemas) {
7
+ baseUrl;
8
+ constructor(schemas, baseUrl = '') {
7
9
  this.schemas = schemas;
10
+ this.baseUrl = baseUrl;
8
11
  }
9
12
  render() {
10
13
  const root = this.schemas.document.root;
@@ -30,18 +33,19 @@ export class Operations {
30
33
  if (content === undefined)
31
34
  return [];
32
35
  return Object.entries(object(content, location)).map(([mime, value]) => {
36
+ const normalized = normalizeContentType(mime);
33
37
  const media = object(value, `${location}/${mime}`);
34
38
  if (input && media.encoding !== undefined && Object.keys(object(media.encoding, `${location}/${mime}/encoding`)).length) {
35
39
  throw new Error(`${location}/${mime}: custom body encoding is not supported.`);
36
40
  }
37
41
  let type;
38
- if (mime === 'application/json' || /^application\/[^;]+\+json$/.test(mime)) {
42
+ if (isJsonContentType(mime)) {
39
43
  type =
40
44
  media.schema === undefined
41
45
  ? 'unknown'
42
46
  : this.schemas.type(media.schema, `${location}/${mime}/schema`, input ? 'input' : 'output');
43
47
  }
44
- else if (input && ['multipart/form-data', 'application/x-www-form-urlencoded'].includes(mime)) {
48
+ else if (input && ['multipart/form-data', 'application/x-www-form-urlencoded'].includes(normalized)) {
45
49
  if (media.schema === undefined)
46
50
  throw new Error(`${location}/${mime}: form bodies require an object schema.`);
47
51
  const schema = this.schemas.document.resolve(media.schema, `${location}/${mime}/schema`);
@@ -49,21 +53,21 @@ export class Operations {
49
53
  throw new Error(`${location}/${mime}: form bodies require an object schema.`);
50
54
  type = this.schemas.type(media.schema, `${location}/${mime}/schema`, 'input');
51
55
  }
52
- else if (mime === '*/*') {
56
+ else if (normalized === '*/*') {
53
57
  const schema = media.schema === undefined ? undefined : this.schemas.document.resolve(media.schema, `${location}/${mime}/schema`);
54
58
  if (schema?.type !== 'string' || schema.format !== 'binary') {
55
59
  throw new Error(`${location}/${mime}: wildcard content requires a binary string schema.`);
56
60
  }
57
61
  type = this.schemas.type(media.schema, `${location}/${mime}/schema`, input ? 'input' : 'output');
58
62
  }
59
- else if (mime.startsWith('text/') || mime === 'application/xml' || mime.endsWith('+xml')) {
63
+ else if (normalized.startsWith('text/') || normalized === 'application/xml' || normalized.endsWith('+xml')) {
60
64
  type = 'string';
61
65
  }
62
- else if (mime === 'application/octet-stream' ||
63
- mime.startsWith('image/') ||
64
- mime.startsWith('audio/') ||
65
- mime.startsWith('video/') ||
66
- mime === 'application/pdf') {
66
+ else if (normalized === 'application/octet-stream' ||
67
+ normalized.startsWith('image/') ||
68
+ normalized.startsWith('audio/') ||
69
+ normalized.startsWith('video/') ||
70
+ normalized === 'application/pdf') {
67
71
  type = 'Blob';
68
72
  }
69
73
  else {
@@ -105,12 +109,11 @@ export class Operations {
105
109
  throw new Error(`${at}/explode must be a boolean.`);
106
110
  if (style === 'deepObject' && explode !== true)
107
111
  throw new Error(`${at}: deepObject requires explode: true.`);
108
- const schema = this.schemas.document.resolve(parameter.schema, `${at}/schema`);
109
- if (['spaceDelimited', 'pipeDelimited'].includes(style) && (explode || schema.type !== 'array'))
112
+ const kind = this.schemas.parameterKind(parameter.schema, `${at}/schema`);
113
+ if (['spaceDelimited', 'pipeDelimited'].includes(style) && (explode || kind !== 'array'))
110
114
  throw new Error(`${at}: ${style} requires an array and explode: false.`);
111
- if (style === 'deepObject' && schema.type !== 'object')
115
+ if (style === 'deepObject' && kind !== 'object')
112
116
  throw new Error(`${at}: deepObject requires an object.`);
113
- this.flatParameter(schema, `${at}/schema`);
114
117
  return [
115
118
  {
116
119
  name,
@@ -124,25 +127,6 @@ export class Operations {
124
127
  ];
125
128
  });
126
129
  }
127
- flatParameter(schema, location) {
128
- const scalar = (value, at) => {
129
- const child = this.schemas.document.resolve(value, at);
130
- const kinds = Array.isArray(child.type) ? child.type : [child.type];
131
- if (!kinds.every((kind) => ['string', 'integer', 'number', 'boolean', 'null'].includes(String(kind))) || child.format === 'binary') {
132
- throw new Error(`${at}: parameter arrays/objects must contain scalar values.`);
133
- }
134
- };
135
- if (schema.type === 'array')
136
- scalar(schema.items, `${location}/items`);
137
- else if (schema.type === 'object') {
138
- for (const [key, value] of Object.entries(object(schema.properties ?? {}, `${location}/properties`)))
139
- scalar(value, `${location}/properties/${key}`);
140
- if (schema.additionalProperties !== undefined && schema.additionalProperties !== false && schema.additionalProperties !== true)
141
- scalar(schema.additionalProperties, `${location}/additionalProperties`);
142
- }
143
- else
144
- scalar(schema, location);
145
- }
146
130
  operation(path, method, item, operation, at) {
147
131
  if (operation.callbacks !== undefined && Object.keys(object(operation.callbacks, `${at}/callbacks`)).length)
148
132
  throw new Error(`${at}: callbacks are not supported.`);
@@ -207,15 +191,18 @@ export class Operations {
207
191
  const choices = this.media(request.content, `${at}/requestBody/content`, true);
208
192
  if (!choices.length)
209
193
  throw new Error(`${at}/requestBody/content must not be empty.`);
210
- const rank = (mime) => mime === 'application/json'
211
- ? 0
212
- : mime.endsWith('+json')
213
- ? 1
214
- : mime === 'application/x-www-form-urlencoded'
215
- ? 2
216
- : mime === 'multipart/form-data'
217
- ? 3
218
- : 4;
194
+ const rank = (mime) => {
195
+ const normalized = normalizeContentType(mime);
196
+ return normalized === 'application/json'
197
+ ? 0
198
+ : isJsonContentType(mime)
199
+ ? 1
200
+ : normalized === 'application/x-www-form-urlencoded'
201
+ ? 2
202
+ : normalized === 'multipart/form-data'
203
+ ? 3
204
+ : 4;
205
+ };
219
206
  body = choices.sort((a, b) => rank(a.mime) - rank(b.mime) || a.mime.localeCompare(b.mime))[0];
220
207
  const bodyName = reserve(`${title}RequestBody`);
221
208
  declarations.push(`export type ${bodyName} = ${body?.type};`);
@@ -235,7 +222,10 @@ export class Operations {
235
222
  throw new Error(`${at}/responses: invalid status "${status}".`);
236
223
  const response = this.schemas.document.resolve(value, `${at}/responses/${status}`);
237
224
  const media = this.media(response.content, `${at}/responses/${status}/content`, false);
238
- responseTypes[status] = Object.fromEntries(media.map(({ mime, type }) => [mime, mime === '*/*' || type === 'Blob' ? 'blob' : 'auto']));
225
+ responseTypes[status] = Object.fromEntries(media.map(({ mime, type }) => [
226
+ normalizeContentType(mime),
227
+ normalizeContentType(mime) === '*/*' || type === 'Blob' ? 'blob' : 'auto',
228
+ ]));
239
229
  const types = method === 'head' || status === '204' || status === '205' || !media.length ? ['void'] : media.map((entry) => entry.type);
240
230
  if (status.startsWith('2') || (status === 'default' && !hasSuccess)) {
241
231
  success.push(...types);
@@ -247,7 +237,7 @@ export class Operations {
247
237
  }
248
238
  if (!Object.keys(responses).length)
249
239
  throw new Error(`${at}/responses must not be empty.`);
250
- if (accepted.has('*/*') && accepted.size > 1) {
240
+ if ([...accepted].some((mime) => normalizeContentType(mime) === '*/*') && accepted.size > 1) {
251
241
  throw new Error(`${at}: wildcard binary responses cannot be combined with other successful content types.`);
252
242
  }
253
243
  if (method === 'get' && success.includes('void'))
@@ -262,6 +252,7 @@ export class Operations {
262
252
  `url: ${JSON.stringify(path)}`,
263
253
  `method: ${JSON.stringify(method)}`,
264
254
  '...(signal ? { signal } : {})',
255
+ ...(!success.includes('void') ? ['requireResponseBody: true'] : []),
265
256
  ...(body ? [`contentType: ${JSON.stringify(body.mime)}`] : []),
266
257
  ...(accepted.size ? [`accept: ${JSON.stringify([...accepted].join(', '))}`] : []),
267
258
  ...(Object.values(responseTypes).some((content) => Object.values(content).includes('blob'))
@@ -279,12 +270,19 @@ export class Operations {
279
270
  const suspenseName = reserve(`useSuspense${title}`);
280
271
  const keyName = reserve(`${name}QueryKey`);
281
272
  const queryVariables = `variables: ${variablesName} | reactQuery.SkipToken${required ? '' : ' = {}'}`;
273
+ const keyPrefix = [this.baseUrl, method, path, name].map((part) => JSON.stringify(part)).join(', ');
274
+ const headerMetadata = metadata.filter((parameter) => parameter.in === 'header');
282
275
  declarations.push(`export function ${keyName}(${variables}) {
283
- return [${JSON.stringify(name)}, variables] as const;
276
+ const headers: Record<string, string> = Object.create(null);
277
+ const serializedHeaders = requestHeaders(variables.headers, ${JSON.stringify(headerMetadata)});
278
+ ${accepted.size ? `if (!serializedHeaders.has('accept')) serializedHeaders.set('accept', ${JSON.stringify([...accepted].join(', '))});\n ` : ''}serializedHeaders.forEach((value, key) => {
279
+ headers[key] = value;
280
+ });
281
+ return [${keyPrefix}, { ...variables, headers }] as const;
284
282
  }`);
285
283
  declarations.push(`export function ${queryName}(${queryVariables}) {
286
284
  return reactQuery.queryOptions<${responseName}, ${errorName}>({
287
- queryKey: variables === reactQuery.skipToken ? [${JSON.stringify(name)}] : ${keyName}(variables),
285
+ queryKey: variables === reactQuery.skipToken ? [${keyPrefix}] : ${keyName}(variables),
288
286
  queryFn: variables === reactQuery.skipToken ? reactQuery.skipToken : ({ signal }) => ${fetchName}(variables, signal),
289
287
  });
290
288
  }`);
@@ -303,10 +301,11 @@ export class Operations {
303
301
  }`);
304
302
  }
305
303
  else {
304
+ const mutationVariables = variablesName + (required ? '' : ' | void');
306
305
  declarations.push(`export function ${hookName}<TContext = unknown>(
307
- options?: Omit<reactQuery.UseMutationOptions<${responseName}, ${errorName}, ${variablesName}, TContext>, 'mutationFn'>,
306
+ options?: Omit<reactQuery.UseMutationOptions<${responseName}, ${errorName}, ${mutationVariables}, TContext>, 'mutationFn'>,
308
307
  ) {
309
- return reactQuery.useMutation({ ...options, mutationFn: (variables: ${variablesName}) => ${fetchName}(variables) });
308
+ return reactQuery.useMutation({ ...options, mutationFn: (variables: ${mutationVariables}) => ${fetchName}(variables${required ? '' : ' ?? {}'}) });
310
309
  }`);
311
310
  }
312
311
  return declarations.join('\n\n');
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/openapi/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/openapi/operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAyB,MAAM,uBAAuB,CAAC;AACvG,OAAO,EAAE,IAAI,EAAoB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGjD,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAYtF,MAAM,OAAO,UAAU;IAEF;IACA;IAFnB,YACmB,OAAgB,EAChB,UAAU,EAAE;QADZ,YAAO,GAAP,OAAO,CAAS;QAChB,YAAO,GAAP,OAAO,CAAK;IAC5B,CAAC;IAEJ,MAAM;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,SAAS;YACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACnE,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,gEAAgE,CAAC,CAAC;YAC/F,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;YAClE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS;oBAAE,SAAS;gBACzC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC;gBAChE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,OAAgB,EAAE,QAAgB,EAAE,KAAc;QAC9D,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;YACrE,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC;YACnD,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,QAAQ,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBACxH,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,IAAI,IAAI,0CAA0C,CAAC,CAAC;YACjF,CAAC;YACD,IAAI,IAAY,CAAC;YACjB,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,IAAI;oBACF,KAAK,CAAC,MAAM,KAAK,SAAS;wBACxB,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,QAAQ,IAAI,IAAI,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAClG,CAAC;iBAAM,IAAI,KAAK,IAAI,CAAC,qBAAqB,EAAE,mCAAmC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtG,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,IAAI,IAAI,yCAAyC,CAAC,CAAC;gBAC9G,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,QAAQ,IAAI,IAAI,SAAS,CAAC,CAAC;gBACzF,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,IAAI,IAAI,yCAAyC,CAAC,CAAC;gBAC5G,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,QAAQ,IAAI,IAAI,SAAS,EAAE,OAAO,CAAC,CAAC;YAChF,CAAC;iBAAM,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,QAAQ,IAAI,IAAI,SAAS,CAAC,CAAC;gBAClI,IAAI,MAAM,EAAE,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC5D,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,IAAI,IAAI,qDAAqD,CAAC,CAAC;gBAC5F,CAAC;gBACD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,QAAQ,IAAI,IAAI,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACnG,CAAC;iBAAM,IAAI,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,UAAU,KAAK,iBAAiB,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7G,IAAI,GAAG,QAAQ,CAAC;YAClB,CAAC;iBAAM,IACL,UAAU,KAAK,0BAA0B;gBACzC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAC/B,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAC/B,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAC/B,UAAU,KAAK,iBAAiB,EAChC,CAAC;gBACD,IAAI,GAAG,MAAM,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,+BAA+B,IAAI,IAAI,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,UAAU,CAAC,MAAe,EAAE,QAAgB;QAClD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,OAAO,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACrD,MAAM,EAAE,GAAG,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC/C,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,qCAAqC,KAAK,IAAI,CAAC,CAAC;YACtI,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACzE,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,0BAA0B,IAAI,IAAI,CAAC,CAAC;YAC5E,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,iEAAiE;YACjE,IAAI,KAAK,KAAK,QAAQ,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC9G,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,mDAAmD,CAAC,CAAC;YAC/G,IAAI,SAAS,CAAC,aAAa,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,mCAAmC,CAAC,CAAC;YAChG,IAAI,KAAK,KAAK,MAAM,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,qCAAqC,CAAC,CAAC;YACjH,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACzE,MAAM,OAAO,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC3G,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACvD,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,iBAAiB,KAAK,qBAAqB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrF,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,KAAK,KAAK,MAAM,CAAC;YACtD,IAAI,OAAO,OAAO,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,6BAA6B,CAAC,CAAC;YACtF,IAAI,KAAK,KAAK,YAAY,IAAI,OAAO,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,sCAAsC,CAAC,CAAC;YAC7G,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YAC1E,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,KAAK,OAAO,CAAC;gBACtF,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,KAAK,wCAAwC,CAAC,CAAC;YAC3E,IAAI,KAAK,KAAK,YAAY,IAAI,IAAI,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,kCAAkC,CAAC,CAAC;YAC1G,OAAO;gBACL;oBACE,IAAI;oBACJ,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,KAAkC;oBACzC,OAAO;oBACP,QAAQ,EAAE,SAAS,CAAC,QAAQ,KAAK,IAAI;oBACrC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC;oBAClE,WAAW,EAAE,SAAS,CAAC,WAAW;iBACnC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,IAAY,EAAE,MAAc,EAAE,IAAiB,EAAE,SAAsB,EAAE,EAAU;QACnG,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM;YACzG,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,gCAAgC,CAAC,CAAC;QACzD,IAAI,MAAM,KAAK,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,4CAA4C,CAAC,CAAC;QAC3F,MAAM,OAAO,GACX,SAAS,CAAC,WAAW,KAAK,SAAS;YACjC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE;YACvD,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,CAAC,MAAc,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnF,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;QACxC,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAC;QAC5C,KAAK,MAAM,SAAS,IAAI;YACtB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,gBAAgB,CAAC;YAC1D,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,aAAa,CAAC;SAC7D,EAAE,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,EAAE,IAAI,SAAS,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;QACxH,CAAC;QACD,MAAM,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,CAAC;gBAC5F,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,wCAAwC,WAAW,IAAI,CAAC,CAAC;QAClF,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,SAAS,CAAC,EAAE,KAAK,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;gBACnE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,qBAAqB,SAAS,CAAC,IAAI,4BAA4B,CAAC,CAAC;QAC1F,CAAC;QACD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI;YACnC,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC;YACpC,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,CAAC;YACvC,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;SACxB,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;YACvE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAClB,IAAI,KAAK,KAAK,QAAQ;oBAAE,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBAC9D,SAAS;YACX,CAAC;YACD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;YACzC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACpE,QAAQ,KAAK,aAAa,CAAC;YAC3B,MAAM,UAAU,GAAG,KAAK;iBACrB,GAAG,CACF,CAAC,SAAS,EAAE,EAAE,CACZ,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,IAAI,GAAG,CAC3H;iBACA,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,YAAY,CAAC,IAAI,CAAC,eAAe,QAAQ,SAAS,UAAU,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC5H,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,GAAG,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,IAAuB,CAAC;QAC5B,IAAI,SAAS,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACxC,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,2CAA2C,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YACpI,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;YAC1F,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;YAC/E,IAAI,CAAC,OAAO,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,yCAAyC,CAAC,CAAC;YACrF,MAAM,IAAI,GAAG,CAAC,IAAY,EAAU,EAAE;gBACpC,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAC9C,OAAO,UAAU,KAAK,kBAAkB;oBACtC,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBACvB,CAAC,CAAC,CAAC;wBACH,CAAC,CAAC,UAAU,KAAK,mCAAmC;4BAClD,CAAC,CAAC,CAAC;4BACH,CAAC,CAAC,UAAU,KAAK,qBAAqB;gCACpC,CAAC,CAAC,CAAC;gCACH,CAAC,CAAC,CAAC,CAAC;YACd,CAAC,CAAC;YACF,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9F,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC;YAChD,YAAY,CAAC,IAAI,CAAC,eAAe,QAAQ,MAAM,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,GAAG,CAAC,CAAC;YACzE,QAAQ,KAAK,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC;QACzC,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACnF,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,MAAM,aAAa,GAAoD,EAAE,CAAC;QAC1E,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACxD,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,SAAS;YACtC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,+BAA+B,MAAM,IAAI,CAAC,CAAC;YAC9H,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,cAAc,MAAM,EAAE,CAAC,CAAC;YACnF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,cAAc,MAAM,UAAU,EAAE,KAAK,CAAC,CAAC;YACvF,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CACxC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBAC5B,oBAAoB,CAAC,IAAI,CAAC;gBAC1B,oBAAoB,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;aAC1E,CAAC,CACH,CAAC;YACF,MAAM,KAAK,GACT,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3H,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpE,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;gBACvB,KAAK,MAAM,KAAK,IAAI,KAAK;oBAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAC;QAC1F,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5F,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,qFAAqF,CAAC,CAAC;QAC9G,CAAC;QACD,IAAI,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC9C,MAAM,IAAI,KAAK,CACb,GAAG,EAAE,sHAAsH,CAC5H,CAAC;QACJ,YAAY,CAAC,IAAI,CAAC,eAAe,YAAY,MAAM,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QACjF,YAAY,CAAC,IAAI,CAAC,eAAe,SAAS,uBAAuB,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAClH,YAAY,CAAC,IAAI,CAAC,eAAe,aAAa,SAAS,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChF,MAAM,SAAS,GAAG,cAAc,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1E,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QACpI,MAAM,cAAc,GAAG;YACrB,cAAc;YACd,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YAC9B,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACnC,+BAA+B;YAC/B,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACzF,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;gBACrD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACxE,CAAC;QACF,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,OAAO,CAAC,mBAAmB,SAAS,IAAI,SAAS,oCAAoC,YAAY;0BAC3I,YAAY;MAChC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC;;EAElC,CAAC,CAAC;QACA,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC;YAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,KAAK,EAAE,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC;YAC3C,MAAM,cAAc,GAAG,cAAc,aAAa,0BAA0B,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACtG,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpG,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;YACjF,YAAY,CAAC,IAAI,CAAC,mBAAmB,OAAO,IAAI,SAAS;;gEAEC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;IAC1F,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,yEAAyE,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;;;YAGtI,SAAS;EACnB,CAAC,CAAC;YACE,YAAY,CAAC,IAAI,CAAC,mBAAmB,SAAS,IAAI,cAAc;mCACnC,YAAY,KAAK,SAAS;sDACP,SAAS,OAAO,OAAO;2FACc,SAAS;;EAElG,CAAC,CAAC;YACE,YAAY,CAAC,IAAI,CAAC,mBAAmB,QAAQ,YAAY,YAAY;IACvE,cAAc;8CAC4B,YAAY,KAAK,SAAS;;kCAEtC,SAAS;+BACZ,YAAY,KAAK,SAAS;EACvD,CAAC,CAAC;YACE,YAAY,CAAC,IAAI,CAAC,mBAAmB,YAAY,YAAY,YAAY;IAC3E,SAAS;sDACyC,YAAY,KAAK,SAAS;;+DAEjB,OAAO,yCAAyC,SAAS;EACtH,CAAC,CAAC;QACA,CAAC;aAAM,CAAC;YACN,MAAM,iBAAiB,GAAG,aAAa,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACtE,YAAY,CAAC,IAAI,CAAC,mBAAmB,QAAQ;iDACF,YAAY,KAAK,SAAS,KAAK,iBAAiB;;wEAEzB,iBAAiB,QAAQ,SAAS,aAAa,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;EAC7I,CAAC,CAAC;QACA,CAAC;QACD,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;CACF;AAED,SAAS,KAAK,CAAC,KAAe,EAAE,QAAgB;IAC9C,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACrC,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAE,QAAQ,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACxI,CAAC"}
@@ -6,11 +6,18 @@ export declare class Schemas {
6
6
  readonly names: Names;
7
7
  private readonly models;
8
8
  private readonly variants;
9
+ private readonly contexts;
10
+ private readonly resolvedTypes;
9
11
  constructor(document: OpenapiDocument, names: Names);
10
12
  private checkAliases;
11
13
  private needsVariant;
12
14
  private metadata;
15
+ private excludedProperties;
13
16
  declarations(): string;
14
- type(value: unknown, location: string, mode?: SchemaMode, trail?: string[]): string;
17
+ private contextualType;
18
+ type(value: unknown, location: string, mode?: SchemaMode, trail?: string[], excluded?: Set<string>): string;
19
+ parameterKind(value: unknown, location: string): 'scalar' | 'array' | 'object';
20
+ private referenceType;
21
+ private expression;
15
22
  private objectType;
16
23
  }