@constantant/openapi-resource-gen 1.5.0 → 1.7.0

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,3 +1,45 @@
1
+ ## 1.7.0 (2026-06-13)
2
+
3
+ ### 🚀 Features
4
+
5
+ - **openapi-resource-gen:** deprecated JSDoc, response unions, binary body, cookie params, verbose flag ([fde6863](https://github.com/constantant/angular-openapi-gen/commit/fde6863))
6
+
7
+ ### 🩹 Fixes
8
+
9
+ - **openapi-resource-gen:** delete orphaned tag index.ts barrels on stale cleanup ([7d3b2c3](https://github.com/constantant/angular-openapi-gen/commit/7d3b2c3))
10
+
11
+ ### 📖 Documentation
12
+
13
+ - document new generator features and stale-cleanup fix ([e992bb3](https://github.com/constantant/angular-openapi-gen/commit/e992bb3))
14
+
15
+ ### 🧱 Updated Dependencies
16
+
17
+ - Updated openapi-resource-mocks to 0.4.0
18
+
19
+ ### ❤️ Thank You
20
+
21
+ - Claude Sonnet 4.6
22
+ - kk
23
+
24
+ ## 1.6.0 (2026-06-10)
25
+
26
+ ### 🚀 Features
27
+
28
+ - **openapi-resource-gen:** phase 2 spec-aware mocks — specId + MockResourceMeta in generated files ([1b11b01](https://github.com/constantant/angular-openapi-gen/commit/1b11b01))
29
+
30
+ ### 📖 Documentation
31
+
32
+ - align all docs with spec-aware mocks (phases 2-4) ([e7c4374](https://github.com/constantant/angular-openapi-gen/commit/e7c4374))
33
+
34
+ ### 🧱 Updated Dependencies
35
+
36
+ - Updated openapi-resource-mocks to 0.3.0
37
+
38
+ ### ❤️ Thank You
39
+
40
+ - Claude Sonnet 4.6
41
+ - kk
42
+
1
43
  ## 1.5.0 (2026-06-09)
2
44
 
3
45
  ### 🚀 Features
package/README.md CHANGED
@@ -86,7 +86,9 @@ Re-run the same command whenever your spec changes — the generator overwrites
86
86
  | `tagFilter` | no | all tags | Comma-separated list of OpenAPI tags to include |
87
87
  | `namingConvention` | no | `kebab` | `kebab` → `find-pets-by-status.token.ts`; `camel` → `findPetsByStatus.token.ts` |
88
88
  | `providedIn` | no | `none` | `none` or `root` — see table above |
89
- | `includeMocks` | no | `false` | Emit a `.mock.ts` per endpoint plus `index.mock.ts` barrels — requires [`@constantant/openapi-resource-mocks`](https://www.npmjs.com/package/@constantant/openapi-resource-mocks) |
89
+ | `includeMocks` | no | `false` | Emit a `.mock.ts` per endpoint plus `index.mock.ts` barrels and a `mocks.manifest.json` — requires [`@constantant/openapi-resource-mocks`](https://www.npmjs.com/package/@constantant/openapi-resource-mocks) |
90
+ | `specId` | no | derived from `baseUrlToken` | Identifier embedded in every generated `MockResourceMeta` and in `mocks.manifest.json`. Defaults to `baseUrlToken` with `_BASE_URL` stripped and lowercased (e.g. `PETSTORE_BASE_URL` → `petstore`). Must match the value used when importing the spec into the DevTools panel. |
91
+ | `verbose` | no | `false` | Print a `+`/`~`/`-` summary of created, updated, and deleted files after generation. |
90
92
 
91
93
  ---
92
94
 
@@ -99,6 +101,7 @@ Re-run the same command whenever your spec changes — the generator overwrites
99
101
  {scheme}.security-token.ts # one per security scheme (if any)
100
102
  index.ts # re-exports all tag barrels + base-url + security tokens
101
103
  index.mock.ts # (--includeMocks) re-exports all tag mock barrels
104
+ mocks.manifest.json # (--includeMocks) machine-readable endpoint list + specId for the DevTools panel
102
105
  {tag}/
103
106
  index.ts # re-exports all token files in this tag folder
104
107
  index.mock.ts # (--includeMocks) re-exports all mock files in this tag
@@ -136,17 +139,27 @@ Each `.mock.ts` file exports a single `provide{Operation}Mock(initialBehavior?)`
136
139
  // pet/find-pets-by-status.mock.ts (generated)
137
140
  import { FactoryProvider } from '@angular/core';
138
141
  import { provideMockResource } from '@constantant/openapi-resource-mocks';
139
- import type { ProviderInitialBehavior } from '@constantant/openapi-resource-mocks';
142
+ import type { ProviderInitialBehavior, MockResourceMeta } from '@constantant/openapi-resource-mocks';
140
143
  import { FIND_PETS_BY_STATUS } from './find-pets-by-status.token';
141
144
  import type { FindPetsByStatusResponse } from './find-pets-by-status.token';
142
145
 
146
+ const _meta: MockResourceMeta = {
147
+ specId: 'petstore',
148
+ operationId: 'findPetsByStatus',
149
+ path: '/pet/findByStatus',
150
+ method: 'get',
151
+ tag: 'pet',
152
+ };
153
+
143
154
  export function provideFindPetsByStatusMock(
144
155
  initialBehavior?: ProviderInitialBehavior<FindPetsByStatusResponse>,
145
156
  ): FactoryProvider {
146
- return provideMockResource(FIND_PETS_BY_STATUS, 'FIND_PETS_BY_STATUS', initialBehavior);
157
+ return provideMockResource(FIND_PETS_BY_STATUS, 'FIND_PETS_BY_STATUS', initialBehavior, _meta);
147
158
  }
148
159
  ```
149
160
 
161
+ Each mock file also embeds a `MockResourceMeta` const with `specId`, `operationId`, `path`, `method`, and `tag`. The DevTools panel reads this metadata to pre-populate the Respond tab's schema display — no manual configuration needed.
162
+
150
163
  The token name string key is always in sync — renaming an operation in the spec and
151
164
  regenerating updates both the token constant and its key automatically.
152
165
 
@@ -206,8 +219,13 @@ are never accidentally bundled into a production build.
206
219
 
207
220
  ### Stale cleanup
208
221
 
209
- Re-running the generator without `--includeMocks` deletes any `.mock.ts` files from
210
- the previous run. Removing an endpoint from the spec also removes its `.mock.ts`.
222
+ Re-running the generator cleans up any file it no longer produces. This includes:
223
+ - `.token.ts` / `.mock.ts` for removed endpoints
224
+ - `.security-token.ts` for removed security schemes
225
+ - `{tag}/index.ts` / `{tag}/index.mock.ts` barrel files when all endpoints for a tag are removed (e.g. after narrowing `--tagFilter`)
226
+ - `mocks.manifest.json` when `--includeMocks` is dropped
227
+
228
+ Stale tag folders (left empty after their barrels are removed) are also deleted.
211
229
 
212
230
  ---
213
231
 
@@ -291,6 +309,42 @@ headers: {
291
309
  },
292
310
  ```
293
311
 
312
+ ### GET with cookie params
313
+
314
+ `in: cookie` parameters become named string args placed after header params. Required
315
+ cookies are required args; optional ones get `?`. All cookies for the endpoint are
316
+ combined into a single `Cookie` header value at request time:
317
+
318
+ ```typescript
319
+ export const GET_CURRENT_USER = new InjectionToken<
320
+ (session: string, theme?: string) => ReturnType<typeof httpResource<GetCurrentUserResponse>>
321
+ >('GET_CURRENT_USER');
322
+ ```
323
+
324
+ Inside the resource the cookie header is built as an array join, so absent optional
325
+ cookies are not included:
326
+
327
+ ```typescript
328
+ headers: {
329
+ Cookie: [`session=${session}`, ...(theme != null ? [`theme=${theme}`] : [])].join('; '),
330
+ },
331
+ ```
332
+
333
+ > **Browser note:** The `Cookie` header is a [forbidden header name](https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name) — browsers silently block it. Cookie params work correctly in Angular Universal / SSR (Node's `HttpClient` has no such restriction). For browser-only apps, set cookies via `document.cookie` before making the request and pass `withCredentials: true`.
334
+
335
+ ### Deprecated operations
336
+
337
+ When the spec marks an operation with `deprecated: true`, the generator emits a
338
+ `/** @deprecated */` JSDoc comment immediately above the token constant:
339
+
340
+ ```typescript
341
+ /** @deprecated */
342
+ export const OLD_ENDPOINT = new InjectionToken<...>('OLD_ENDPOINT');
343
+ ```
344
+
345
+ TypeScript then surfaces the deprecation warning at every `inject(OLD_ENDPOINT)` call
346
+ site with no runtime cost.
347
+
294
348
  ### Mutation (POST/PUT/PATCH/DELETE)
295
349
 
296
350
  The factory returns `(body: BodyType | Signal<BodyType>) => httpResource(...)`.
@@ -370,6 +424,38 @@ const submitForm = inject(SUBMIT_FORM);
370
424
  readonly result = submitForm({ username: 'alice', password: 's3cr3t' });
371
425
  ```
372
426
 
427
+ #### Binary / octet-stream body
428
+
429
+ When the spec declares `application/octet-stream`, `image/*`, `application/pdf`, or
430
+ any other non-JSON/form/multipart content type, the generated body type is
431
+ `Blob | ArrayBuffer` rather than a `paths[...]` derivation:
432
+
433
+ ```typescript
434
+ export type UploadBinaryBody = Blob | ArrayBuffer;
435
+
436
+ export const UPLOAD_BINARY = new InjectionToken<
437
+ (body: UploadBinaryBody | Signal<UploadBinaryBody>)
438
+ => ReturnType<typeof httpResource<UploadBinaryResponse>>
439
+ >('UPLOAD_BINARY');
440
+ ```
441
+
442
+ Pass a `Blob`, `File`, or `ArrayBuffer` directly — `HttpClient` sends binary bodies
443
+ as-is without any encoding step.
444
+
445
+ ### Response type unions
446
+
447
+ When an endpoint can return JSON on multiple 2xx status codes (e.g. `200` for an
448
+ update and `201` for a create), the generated `Response` type alias is a union:
449
+
450
+ ```typescript
451
+ export type UpsertResourceResponse =
452
+ | paths['/resources']['put']['responses']['200']['content']['application/json']
453
+ | paths['/resources']['put']['responses']['201']['content']['application/json'];
454
+ ```
455
+
456
+ The `httpResource<UpsertResourceResponse>` call site receives a value that is the
457
+ union of all possible success shapes.
458
+
373
459
  ### Security schemes
374
460
 
375
461
  The generator emits one file per security scheme. Two patterns are used depending on the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@constantant/openapi-resource-gen",
3
- "version": "1.5.0",
3
+ "version": "1.7.0",
4
4
  "description": "Nx generator: one InjectionToken per OpenAPI endpoint — tree-shakeable Angular data-access libs via httpResource",
5
5
  "license": "MIT",
6
6
  "main": "src/index.js",
@@ -37,6 +37,10 @@
37
37
  "type": "boolean",
38
38
  "default": false,
39
39
  "description": "Generate a .mock.ts file per endpoint using @constantant/openapi-resource-mocks. Requires the package to be installed."
40
+ },
41
+ "specId": {
42
+ "type": "string",
43
+ "description": "Identifier for this API spec, embedded in MockResourceMeta and mocks.manifest.json. Defaults to baseUrlToken lowercased with _BASE_URL stripped (e.g. PETSTORE_BASE_URL → petstore)."
40
44
  }
41
45
  },
42
46
  "required": ["specPath", "outputDir"]
@@ -19,13 +19,22 @@ export interface EndpointModel {
19
19
  name: string;
20
20
  required: boolean;
21
21
  }>;
22
+ cookieParams: Array<{
23
+ name: string;
24
+ required: boolean;
25
+ }>;
22
26
  tokenName: string;
23
27
  fileName: string;
24
28
  hasQueryParams: boolean;
25
29
  hasBody: boolean;
26
30
  hasResponse: boolean;
27
- responseStatus: string | null;
31
+ /** All 2xx response codes that carry application/json content, in priority order. */
32
+ responseStatuses: string[];
28
33
  bodyContentType: string | null;
34
+ /** True when bodyContentType is not json / form-urlencoded / multipart (e.g. octet-stream, pdf, image). */
35
+ isBinaryBody: boolean;
36
+ /** True when the operation is marked deprecated in the spec. */
37
+ deprecated: boolean;
29
38
  /** Names of security schemes that apply to this endpoint (resolved from global + operation level). */
30
39
  securitySchemeNames: string[];
31
40
  }
@@ -7,6 +7,10 @@ export interface ApiResourceGeneratorSchema {
7
7
  namingConvention?: 'camel' | 'kebab';
8
8
  providedIn?: 'root' | 'none';
9
9
  includeMocks?: boolean;
10
+ /** Identifier embedded in MockResourceMeta and mocks.manifest.json. */
11
+ specId?: string;
12
+ /** Print a summary of created, updated, and deleted files after generation. */
13
+ verbose?: boolean;
10
14
  }
11
15
  export declare function apiResourceGenerator(tree: Tree, options: ApiResourceGeneratorSchema): Promise<void>;
12
16
  export default apiResourceGenerator;
@@ -55,6 +55,13 @@ const swagger_parser_1 = __importDefault(require("@apidevtools/swagger-parser"))
55
55
  const parse_spec_1 = require("./parse-spec");
56
56
  const render_token_1 = require("./render-token");
57
57
  const render_mock_file_1 = require("./render-mock-file");
58
+ /** Derive a specId from the baseUrlToken: PETSTORE_BASE_URL → petstore */
59
+ function deriveSpecId(baseUrlToken) {
60
+ return baseUrlToken
61
+ .replace(/_BASE_URL$/i, '')
62
+ .toLowerCase()
63
+ .replace(/_/g, '-');
64
+ }
58
65
  /** Replace $ref values that point to non-YAML/JSON files with {} so
59
66
  * swagger-parser doesn't try to load markdown or other binary assets. */
60
67
  function stripNonSchemaRefs(obj) {
@@ -139,6 +146,7 @@ function collectTreeFiles(tree, dir) {
139
146
  }
140
147
  async function apiResourceGenerator(tree, options) {
141
148
  const { specPath, outputDir, baseUrlToken = 'API_BASE_URL', tagFilter, namingConvention = 'kebab', providedIn = 'none', includeMocks = false, } = options;
149
+ const specId = options.specId ?? deriveSpecId(baseUrlToken);
142
150
  if (includeMocks) {
143
151
  try {
144
152
  require.resolve('@constantant/openapi-resource-mocks');
@@ -154,11 +162,15 @@ async function apiResourceGenerator(tree, options) {
154
162
  .map((t) => t.trim())
155
163
  .filter(Boolean)
156
164
  : null;
157
- // Snapshot which token/security/mock files already exist so we can delete stale
158
- // ones that this run no longer produces.
165
+ // Snapshot which generated files already exist so we can delete stale ones.
166
+ // Includes barrel index files: a tag folder whose tokens are all removed leaves
167
+ // behind an orphaned index.ts otherwise.
159
168
  const preExistingFiles = new Set(collectTreeFiles(tree, outputDir).filter((f) => f.endsWith('.token.ts') ||
160
169
  f.endsWith('.security-token.ts') ||
161
- f.endsWith('.mock.ts')));
170
+ f.endsWith('.mock.ts') ||
171
+ f.endsWith('mocks.manifest.json') ||
172
+ f.endsWith('/index.ts') ||
173
+ f.endsWith('/index.mock.ts')));
162
174
  const isUrl = specPath.startsWith('http://') || specPath.startsWith('https://');
163
175
  // For URL specs, download to a temp file alongside the workspace root so
164
176
  // relative file $refs in the spec (rare for remote specs) still resolve.
@@ -260,14 +272,16 @@ async function apiResourceGenerator(tree, options) {
260
272
  writtenFiles.add(filePath);
261
273
  if (includeMocks) {
262
274
  const mockPath = (0, devkit_1.joinPathFragments)(tagDir, `${ep.fileName}.mock.ts`);
263
- tree.write(mockPath, (0, render_mock_file_1.renderMockFile)(ep));
275
+ tree.write(mockPath, (0, render_mock_file_1.renderMockFile)(ep, specId));
264
276
  writtenFiles.add(mockPath);
265
277
  }
266
278
  }
267
279
  const tagBarrel = tagEndpoints
268
280
  .map((ep) => `export * from './${ep.fileName}.token';`)
269
281
  .join('\n') + '\n';
270
- tree.write((0, devkit_1.joinPathFragments)(tagDir, 'index.ts'), tagBarrel);
282
+ const tagBarrelPath = (0, devkit_1.joinPathFragments)(tagDir, 'index.ts');
283
+ tree.write(tagBarrelPath, tagBarrel);
284
+ writtenFiles.add(tagBarrelPath);
271
285
  if (includeMocks) {
272
286
  const mockBarrelPath = (0, devkit_1.joinPathFragments)(tagDir, 'index.mock.ts');
273
287
  const mockBarrel = tagEndpoints
@@ -281,12 +295,24 @@ async function apiResourceGenerator(tree, options) {
281
295
  const rootBarrel = `export * from './api-base-url.token';\n` +
282
296
  securitySchemes.map((s) => `export * from './${s.fileName}';\n`).join('') +
283
297
  [...byTag.keys()].map((tag) => `export * from './${tag}';\n`).join('');
284
- tree.write((0, devkit_1.joinPathFragments)(outputDir, 'index.ts'), rootBarrel);
298
+ const rootBarrelPath = (0, devkit_1.joinPathFragments)(outputDir, 'index.ts');
299
+ tree.write(rootBarrelPath, rootBarrel);
300
+ writtenFiles.add(rootBarrelPath);
285
301
  if (includeMocks) {
286
302
  const rootMockBarrel = [...byTag.keys()].map((tag) => `export * from './${tag}/index.mock';\n`).join('');
287
303
  tree.write((0, devkit_1.joinPathFragments)(outputDir, 'index.mock.ts'), rootMockBarrel);
288
304
  writtenFiles.add((0, devkit_1.joinPathFragments)(outputDir, 'index.mock.ts'));
289
305
  addMockPathAlias(tree, outputDir);
306
+ const manifestMocks = endpoints.map((ep) => ({
307
+ tokenName: ep.tokenName,
308
+ operationId: ep.operationId,
309
+ path: ep.apiPath,
310
+ method: ep.method,
311
+ ...(ep.tag !== 'default' ? { tag: ep.tag } : {}),
312
+ }));
313
+ const manifestPath = (0, devkit_1.joinPathFragments)(outputDir, 'mocks.manifest.json');
314
+ tree.write(manifestPath, JSON.stringify({ specId, mocks: manifestMocks }, null, 2) + '\n');
315
+ writtenFiles.add(manifestPath);
290
316
  }
291
317
  // 9. Delete stale token/security files from previous runs that this run
292
318
  // no longer produces (e.g. removed endpoints, changed tagFilter).
@@ -313,6 +339,22 @@ async function apiResourceGenerator(tree, options) {
313
339
  }
314
340
  }
315
341
  await (0, devkit_1.formatFiles)(tree);
342
+ if (options.verbose) {
343
+ const changes = tree.listChanges();
344
+ const created = changes.filter((c) => c.type === 'CREATE');
345
+ const updated = changes.filter((c) => c.type === 'UPDATE');
346
+ const deleted = changes.filter((c) => c.type === 'DELETE');
347
+ const summary = ['\n[openapi-resource-gen] Generation complete:'];
348
+ if (created.length)
349
+ summary.push(...created.map((c) => ` + ${c.path}`));
350
+ if (updated.length)
351
+ summary.push(...updated.map((c) => ` ~ ${c.path}`));
352
+ if (deleted.length)
353
+ summary.push(...deleted.map((c) => ` - ${c.path}`));
354
+ if (!created.length && !updated.length && !deleted.length)
355
+ summary.push(' (no changes)');
356
+ console.log(summary.join('\n'));
357
+ }
316
358
  }
317
359
  exports.default = apiResourceGenerator;
318
360
  //# sourceMappingURL=generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../tools/openapi-resource-gen/src/generators/api-resource/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../tools/openapi-resource-gen/src/generators/api-resource/generator.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,12 @@ const HTTP_METHODS = [
17
17
  openapi_types_1.OpenAPIV3.HttpMethods.PATCH,
18
18
  openapi_types_1.OpenAPIV3.HttpMethods.DELETE,
19
19
  ];
20
+ /** Content types that Angular's HttpClient handles natively (no special body wrapping). */
21
+ const KNOWN_BODY_CONTENT_TYPES = [
22
+ 'application/json',
23
+ 'application/x-www-form-urlencoded',
24
+ 'multipart/form-data',
25
+ ];
20
26
  function toScreamingSnake(str) {
21
27
  return str
22
28
  .replace(/\//g, '_')
@@ -99,6 +105,9 @@ function buildEndpoints(api, allowedTags, namingConvention) {
99
105
  const headerParams = allParams
100
106
  .filter((p) => p.in === 'header')
101
107
  .map((p) => ({ name: p.name, required: p.required === true }));
108
+ const cookieParams = allParams
109
+ .filter((p) => p.in === 'cookie')
110
+ .map((p) => ({ name: p.name, required: p.required === true }));
102
111
  const hasQueryParams = allParams.some((p) => p.in === 'query');
103
112
  // Operation-level security overrides global; [] means explicitly no security.
104
113
  const operationSecurity = operation.security;
@@ -108,28 +117,25 @@ function buildEndpoints(api, allowedTags, namingConvention) {
108
117
  ];
109
118
  const requestBody = operation.requestBody;
110
119
  const bodyContent = requestBody?.content ?? {};
111
- const BODY_CONTENT_TYPES = [
112
- 'application/json',
113
- 'application/x-www-form-urlencoded',
114
- 'multipart/form-data',
115
- ];
116
- const bodyContentType = BODY_CONTENT_TYPES.find((ct) => bodyContent[ct]) ??
120
+ const bodyContentType = KNOWN_BODY_CONTENT_TYPES.find((ct) => bodyContent[ct]) ??
117
121
  Object.keys(bodyContent)[0] ??
118
122
  null;
119
123
  const hasBody = bodyContentType !== null;
120
- // Pick the first 2xx response code that carries application/json content.
121
- // Covers 200, 201, 202, 206, and the catch-all '2XX' used by some specs.
124
+ // Binary: any content type not in the known set (e.g. octet-stream, pdf, image/*).
125
+ const isBinaryBody = bodyContentType !== null && !KNOWN_BODY_CONTENT_TYPES.includes(bodyContentType);
126
+ // Collect ALL 2xx response codes that carry application/json, in priority order.
122
127
  const RESPONSE_PRIORITY = ['200', '201', '202', '206', '2XX', '203', '207', '208', '226'];
123
128
  const allResponseCodes = Object.keys(operation.responses ?? {});
124
129
  const orderedCodes = [
125
130
  ...RESPONSE_PRIORITY.filter((c) => allResponseCodes.includes(c)),
126
131
  ...allResponseCodes.filter((c) => !RESPONSE_PRIORITY.includes(c) && /^2/.test(c)),
127
132
  ];
128
- const responseStatus = orderedCodes.find((code) => {
133
+ const responseStatuses = orderedCodes.filter((code) => {
129
134
  const obj = operation.responses?.[code];
130
135
  return obj?.content?.['application/json'] != null;
131
- }) ?? null;
132
- const hasResponse = responseStatus !== null;
136
+ });
137
+ const hasResponse = responseStatuses.length > 0;
138
+ const deprecated = operation.deprecated === true;
133
139
  endpoints.push({
134
140
  tag: toKebabCase(tag),
135
141
  operationId: rawId,
@@ -137,13 +143,16 @@ function buildEndpoints(api, allowedTags, namingConvention) {
137
143
  apiPath,
138
144
  pathParams,
139
145
  headerParams,
146
+ cookieParams,
140
147
  tokenName,
141
148
  fileName,
142
149
  hasQueryParams,
143
150
  hasBody,
144
151
  hasResponse,
145
- responseStatus,
152
+ responseStatuses,
146
153
  bodyContentType,
154
+ isBinaryBody,
155
+ deprecated,
147
156
  securitySchemeNames,
148
157
  });
149
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parse-spec.js","sourceRoot":"","sources":["../../../../../../tools/openapi-resource-gen/src/generators/api-resource/parse-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-spec.js","sourceRoot":"","sources":["../../../../../../tools/openapi-resource-gen/src/generators/api-resource/parse-spec.ts"],"names":[],"mappings":";;;;;AAmBA,4CAQC;AAED,kCAQC;AAED,oDAkCC;AAED,wCAkHC;AAGD,8BAOC;AAvMD,iFAAwD;AACxD,iDAA0C;AAG1C,MAAM,YAAY,GAAyC;IACzD,yBAAS,CAAC,WAAW,CAAC,GAAG;IACzB,yBAAS,CAAC,WAAW,CAAC,IAAI;IAC1B,yBAAS,CAAC,WAAW,CAAC,GAAG;IACzB,yBAAS,CAAC,WAAW,CAAC,KAAK;IAC3B,yBAAS,CAAC,WAAW,CAAC,MAAM;CAC7B,CAAC;AAEF,2FAA2F;AAC3F,MAAM,wBAAwB,GAAG;IAC/B,kBAAkB;IAClB,mCAAmC;IACnC,qBAAqB;CACtB,CAAC;AAEF,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,OAAO,GAAG;SACP,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;SACtC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,WAAW,EAAE;SACb,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG;SACP,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;SACtC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,WAAW,EAAE;SACb,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,oBAAoB,CAAC,GAAuB;IAC1D,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,IAAI,EAAE,CAGxD,CAAC;IACF,MAAM,MAAM,GAA0B,EAAE,CAAC;IAEzC,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9D,IAAI,IAAkB,CAAC;QACvB,IAAI,eAAmC,CAAC;QAExC,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAI,MAAuC,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;YAClF,IAAI,GAAG,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3F,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,MAAwC,CAAC;YACxD,IAAI,GAAG,MAAM,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC;YAChE,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC;QAChC,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,IAAI,GAAG,QAAQ,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,eAAe,CAAC;QACzB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;YACV,UAAU;YACV,IAAI;YACJ,eAAe;YACf,SAAS,EAAE,gBAAgB,CAAC,UAAU,CAAC;YACvC,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,iBAAiB;SACtD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,cAAc,CAC5B,GAAuB,EACvB,WAA4B,EAC5B,gBAAmC;IAEnC,MAAM,SAAS,GAAoB,EAAE,CAAC;IACtC,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAA0C,CAAC;IAErF,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QAClE,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExB,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAA0C,CAAC;YAC5E,IAAI,CAAC,SAAS;gBAAE,SAAS;YAEzB,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;YAC7C,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAS;YAExD,MAAM,KAAK,GACT,SAAS,CAAC,WAAW;gBACrB,GAAG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC;YAEpE,MAAM,QAAQ,GACZ,gBAAgB,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC5D,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAE1C,6EAA6E;YAC7E,qEAAqE;YACrE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAqC,CAAC;YAC9D,KAAK,MAAM,CAAC,IAAI;gBACd,GAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAiC;gBAC/D,GAAI,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,CAAiC;aACjE,EAAE,CAAC;gBACF,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,SAAS,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAEzC,MAAM,UAAU,GAAG,SAAS;iBACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC;iBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAEtB,MAAM,YAAY,GAAG,SAAS;iBAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC;iBAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YAEjE,MAAM,YAAY,GAAG,SAAS;iBAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC;iBAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YAEjE,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;YAE/D,8EAA8E;YAC9E,MAAM,iBAAiB,GAAG,SAAS,CAAC,QAEvB,CAAC;YACd,MAAM,gBAAgB,GACpB,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,CAAC;YACvE,MAAM,mBAAmB,GAAG;gBAC1B,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;aAChE,CAAC;YAEF,MAAM,WAAW,GAAG,SAAS,CAAC,WAEjB,CAAC;YACd,MAAM,WAAW,GAAG,WAAW,EAAE,OAAO,IAAI,EAAE,CAAC;YAC/C,MAAM,eAAe,GACnB,wBAAwB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACtD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,CAAC;YACP,MAAM,OAAO,GAAG,eAAe,KAAK,IAAI,CAAC;YACzC,mFAAmF;YACnF,MAAM,YAAY,GAChB,eAAe,KAAK,IAAI,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAElF,iFAAiF;YACjF,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC1F,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YAChE,MAAM,YAAY,GAAG;gBACnB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAChE,GAAG,gBAAgB,CAAC,MAAM,CACxB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACtD;aACF,CAAC;YACF,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBACpD,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,IAAI,CAAyC,CAAC;gBAChF,OAAO,GAAG,EAAE,OAAO,EAAE,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC;YACpD,CAAC,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;YAEhD,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,KAAK,IAAI,CAAC;YAEjD,SAAS,CAAC,IAAI,CAAC;gBACb,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC;gBACrB,WAAW,EAAE,KAAK;gBAClB,MAAM;gBACN,OAAO;gBACP,UAAU;gBACV,YAAY;gBACZ,YAAY;gBACZ,SAAS;gBACT,QAAQ;gBACR,cAAc;gBACd,OAAO;gBACP,WAAW;gBACX,gBAAgB;gBAChB,eAAe;gBACf,YAAY;gBACZ,UAAU;gBACV,mBAAmB;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gFAAgF;AACzE,KAAK,UAAU,SAAS,CAC7B,QAAgB,EAChB,WAA4B,EAC5B,gBAAmC;IAEnC,MAAM,GAAG,GAAG,CAAC,MAAM,wBAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAuB,CAAC;IAC9E,OAAO,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;AAC5D,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import type { EndpointModel } from './endpoint-model';
2
- export declare function renderMockFile(ep: EndpointModel): string;
2
+ export declare function renderMockFile(ep: EndpointModel, specId: string): string;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.renderMockFile = renderMockFile;
4
4
  const render_token_1 = require("./render-token");
5
- function renderMockFile(ep) {
5
+ function renderMockFile(ep, specId) {
6
6
  const pascal = (0, render_token_1.toPascalCase)(ep.operationId);
7
7
  const responseType = ep.hasResponse ? `${pascal}Response` : null;
8
8
  const responseImport = responseType
@@ -11,15 +11,23 @@ function renderMockFile(ep) {
11
11
  const behaviorType = responseType
12
12
  ? `ProviderInitialBehavior<${responseType}>`
13
13
  : `ProviderInitialBehavior<unknown>`;
14
+ const tagLine = ep.tag !== 'default' ? `\n tag: '${ep.tag}',` : '';
14
15
  return `import { FactoryProvider } from '@angular/core';
15
16
  import { provideMockResource } from '@constantant/openapi-resource-mocks';
16
- import type { ProviderInitialBehavior } from '@constantant/openapi-resource-mocks';
17
+ import type { ProviderInitialBehavior, MockResourceMeta } from '@constantant/openapi-resource-mocks';
17
18
  import { ${ep.tokenName} } from './${ep.fileName}.token';${responseImport}
18
19
 
20
+ const _meta: MockResourceMeta = {
21
+ specId: '${specId}',
22
+ operationId: '${ep.operationId}',
23
+ path: '${ep.apiPath}',
24
+ method: '${ep.method}',${tagLine}
25
+ };
26
+
19
27
  export function provide${pascal}Mock(
20
28
  initialBehavior?: ${behaviorType},
21
29
  ): FactoryProvider {
22
- return provideMockResource(${ep.tokenName}, '${ep.tokenName}', initialBehavior);
30
+ return provideMockResource(${ep.tokenName}, '${ep.tokenName}', initialBehavior, _meta);
23
31
  }
24
32
  `;
25
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"render-mock-file.js","sourceRoot":"","sources":["../../../../../../tools/openapi-resource-gen/src/generators/api-resource/render-mock-file.ts"],"names":[],"mappings":";;AAGA,wCAqBC;AAvBD,iDAA8C;AAE9C,SAAgB,cAAc,CAAC,EAAiB;IAC9C,MAAM,MAAM,GAAG,IAAA,2BAAY,EAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,MAAM,cAAc,GAAG,YAAY;QACjC,CAAC,CAAC,mBAAmB,YAAY,cAAc,EAAE,CAAC,QAAQ,UAAU;QACpE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,YAAY,GAAG,YAAY;QAC/B,CAAC,CAAC,2BAA2B,YAAY,GAAG;QAC5C,CAAC,CAAC,kCAAkC,CAAC;IAEvC,OAAO;;;WAGE,EAAE,CAAC,SAAS,cAAc,EAAE,CAAC,QAAQ,WAAW,cAAc;;yBAEhD,MAAM;sBACT,YAAY;;+BAEH,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS;;CAE5D,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"render-mock-file.js","sourceRoot":"","sources":["../../../../../../tools/openapi-resource-gen/src/generators/api-resource/render-mock-file.ts"],"names":[],"mappings":";;AAGA,wCA6BC;AA/BD,iDAA8C;AAE9C,SAAgB,cAAc,CAAC,EAAiB,EAAE,MAAc;IAC9D,MAAM,MAAM,GAAG,IAAA,2BAAY,EAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,MAAM,cAAc,GAAG,YAAY;QACjC,CAAC,CAAC,mBAAmB,YAAY,cAAc,EAAE,CAAC,QAAQ,UAAU;QACpE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,YAAY,GAAG,YAAY;QAC/B,CAAC,CAAC,2BAA2B,YAAY,GAAG;QAC5C,CAAC,CAAC,kCAAkC,CAAC;IACvC,MAAM,OAAO,GAAG,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpE,OAAO;;;WAGE,EAAE,CAAC,SAAS,cAAc,EAAE,CAAC,QAAQ,WAAW,cAAc;;;aAG5D,MAAM;kBACD,EAAE,CAAC,WAAW;WACrB,EAAE,CAAC,OAAO;aACR,EAAE,CAAC,MAAM,KAAK,OAAO;;;yBAGT,MAAM;sBACT,YAAY;;+BAEH,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS;;CAE5D,CAAC;AACF,CAAC"}
@@ -66,7 +66,8 @@ function renderTokenFile(ep, baseUrlToken, providedIn = 'none', schemesByName =
66
66
  const pascal = toPascalCase(ep.operationId);
67
67
  const urlTemplate = ep.apiPath.replace(/\{([\w-]+)\}/g, (_, p) => `\${${toCamelCase(p)}}`);
68
68
  const isGet = ep.method === 'get';
69
- const { responseStatus } = ep;
69
+ const { responseStatuses } = ep;
70
+ const hasResponse = responseStatuses.length > 0;
70
71
  const applicableSchemes = ep.securitySchemeNames
71
72
  .map((name) => schemesByName.get(name))
72
73
  .filter((s) => s !== undefined && s.kind !== 'digest');
@@ -88,18 +89,37 @@ function renderTokenFile(ep, baseUrlToken, providedIn = 'none', schemesByName =
88
89
  }
89
90
  lines.push('');
90
91
  // Exported type aliases sourced directly from the generated paths type.
91
- // NonNullable<> guards optional requestBody fields that are typed as T | undefined.
92
92
  if (isGet && ep.hasQueryParams) {
93
93
  lines.push(`export type ${pascal}Params =`, ` paths['${ep.apiPath}']['${ep.method}']['parameters']['query'];`, '');
94
94
  }
95
95
  if (!isGet && ep.hasBody && ep.bodyContentType) {
96
- lines.push(`export type ${pascal}Body =`, ` NonNullable<paths['${ep.apiPath}']['${ep.method}']['requestBody']>['content']['${ep.bodyContentType}'];`, '');
96
+ if (ep.isBinaryBody) {
97
+ // Binary content (octet-stream, pdf, image/*…): use Blob | ArrayBuffer directly.
98
+ // openapi-typescript types binary schemas as string | Blob which isn't useful here.
99
+ lines.push(`export type ${pascal}Body = Blob | ArrayBuffer;`, '');
100
+ }
101
+ else {
102
+ lines.push(`export type ${pascal}Body =`, ` NonNullable<paths['${ep.apiPath}']['${ep.method}']['requestBody']>['content']['${ep.bodyContentType}'];`, '');
103
+ }
97
104
  }
98
- if (responseStatus) {
99
- lines.push(`export type ${pascal}Response =`, ` paths['${ep.apiPath}']['${ep.method}']['responses']['${responseStatus}']['content']['application/json'];`, '');
105
+ if (hasResponse) {
106
+ if (responseStatuses.length === 1) {
107
+ lines.push(`export type ${pascal}Response =`, ` paths['${ep.apiPath}']['${ep.method}']['responses']['${responseStatuses[0]}']['content']['application/json'];`, '');
108
+ }
109
+ else {
110
+ // Union across all 2xx JSON response codes.
111
+ lines.push(`export type ${pascal}Response =`);
112
+ for (const code of responseStatuses) {
113
+ lines.push(` | paths['${ep.apiPath}']['${ep.method}']['responses']['${code}']['content']['application/json']`);
114
+ }
115
+ lines.push('');
116
+ }
100
117
  }
101
- const responseT = responseStatus ? `${pascal}Response` : 'unknown';
118
+ const responseT = hasResponse ? `${pascal}Response` : 'unknown';
102
119
  const fnArgs = buildFnArgs(ep, pascal, isGet);
120
+ if (ep.deprecated) {
121
+ lines.push('/** @deprecated */');
122
+ }
103
123
  lines.push(`export const ${ep.tokenName} = new InjectionToken<`, ` (${fnArgs}) => ReturnType<typeof httpResource<${responseT}>>`, `>('${ep.tokenName}'${providedIn === 'root' ? `, {` : ')'}`);
104
124
  const securityInjects = (indent) => applicableSchemes
105
125
  .map((s) => `${indent}const ${toCamelCase(s.schemeName)} = inject(${s.tokenName}, { optional: true });`)
@@ -166,7 +186,8 @@ function appendResourceOptions(lines, ep, isGet, indent, headerSchemes, querySch
166
186
  lines.push(`${indent}body,`);
167
187
  }
168
188
  const hasHeaderParams = ep.headerParams.length > 0;
169
- if (headerSchemes.length > 0 || hasHeaderParams) {
189
+ const hasCookieParams = ep.cookieParams.length > 0;
190
+ if (headerSchemes.length > 0 || hasHeaderParams || hasCookieParams) {
170
191
  lines.push(`${indent}headers: {`);
171
192
  // Explicit header params from the spec (e.g. X-Api-Version, Accept-Language)
172
193
  for (const h of ep.headerParams) {
@@ -178,6 +199,17 @@ function appendResourceOptions(lines, ep, isGet, indent, headerSchemes, querySch
178
199
  lines.push(`${indent} ...(${varName} != null ? { ${JSON.stringify(h.name)}: ${varName} } : {}),`);
179
200
  }
180
201
  }
202
+ // Cookie params combined into a single Cookie header value.
203
+ // Required cookies: `name=value`; optional cookies: spread into array if non-null.
204
+ if (hasCookieParams) {
205
+ const cookieParts = ep.cookieParams.map((c) => {
206
+ const v = toCamelCase(c.name);
207
+ return c.required
208
+ ? `\`${c.name}=\${${v}}\``
209
+ : `...(${v} != null ? [\`${c.name}=\${${v}}\`] : [])`;
210
+ });
211
+ lines.push(`${indent} 'Cookie': [${cookieParts.join(', ')}].join('; '),`);
212
+ }
181
213
  // Auth scheme headers (signal-based, always optional)
182
214
  for (const s of headerSchemes) {
183
215
  const varName = toCamelCase(s.schemeName);
@@ -187,11 +219,14 @@ function appendResourceOptions(lines, ep, isGet, indent, headerSchemes, querySch
187
219
  }
188
220
  }
189
221
  function buildFnArgs(ep, pascal, isGet) {
190
- // Order: required path params, required header params, optional header params, query params / body
222
+ // Order: required path params, header params, cookie params, query params / body
191
223
  const args = ep.pathParams.map((p) => `${toCamelCase(p)}: string`);
192
224
  for (const h of ep.headerParams) {
193
225
  args.push(h.required ? `${toCamelCase(h.name)}: string` : `${toCamelCase(h.name)}?: string`);
194
226
  }
227
+ for (const c of ep.cookieParams) {
228
+ args.push(c.required ? `${toCamelCase(c.name)}: string` : `${toCamelCase(c.name)}?: string`);
229
+ }
195
230
  if (isGet && ep.hasQueryParams)
196
231
  args.push(`params?: ${pascal}Params | (() => ${pascal}Params | undefined)`);
197
232
  if (!isGet && ep.hasBody)
@@ -1 +1 @@
1
- {"version":3,"file":"render-token.js","sourceRoot":"","sources":["../../../../../../tools/openapi-resource-gen/src/generators/api-resource/render-token.ts"],"names":[],"mappings":";;AAEA,oCAOC;AA6BD,0DA+BC;AAED,0CAuIC;AA5MD,SAAgB,YAAY,CAAC,GAAW;IACtC,OAAO,GAAG;SACP,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,KAAK,CAAC,UAAU,CAAC;SACjB,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAClD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnE,OAAO,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,oBAAoB,CAAC,CAAsB,EAAE,OAAe;IACnE,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,CAAC;IAC3B,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,eAAe;YAClB,OAAO,gCAAgC,GAAG,OAAO,CAAC;QACpD,KAAK,OAAO;YACV,OAAO,+BAA+B,GAAG,OAAO,CAAC;QACnD,KAAK,eAAe;YAClB,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,IAAI,WAAW,CAAC,UAAU,GAAG,OAAO,CAAC;QACnF;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,YAAoB;IAClD,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACzD,OAAO,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAgB,uBAAuB,CACrC,MAA2B,EAC3B,YAAoB;IAEpB,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,eAAe,GACnB,sBAAsB,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC;QACzF,OAAO;YACL,yDAAyD;YACzD,2DAA2D;YAC3D,YAAY,YAAY,iCAAiC;YACzD,EAAE;YACF,gBAAgB,MAAM,CAAC,SAAS,6CAA6C,MAAM,CAAC,SAAS,KAAK;YAClG,EAAE;YACF,gBAAgB,eAAe,wCAAwC;YACvE,yBAAyB,YAAY,IAAI;YACzC,oDAAoD;YACpD,uBAAuB,MAAM,CAAC,SAAS,wBAAwB;YAC/D,8BAA8B;YAC9B,yBAAyB;YACzB,IAAI;YACJ,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED,OAAO;QACL,yDAAyD;QACzD,EAAE;QACF,gBAAgB,MAAM,CAAC,SAAS,iDAAiD,MAAM,CAAC,SAAS,KAAK;QACtG,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAgB,eAAe,CAC7B,EAAiB,EACjB,YAAoB,EACpB,aAA8B,MAAM,EACpC,gBAAkD,IAAI,GAAG,EAAE;IAE3D,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3F,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC;IAClC,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC;IAE9B,MAAM,iBAAiB,GAAG,EAAE,CAAC,mBAAmB;SAC7C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACtC,MAAM,CAAC,CAAC,CAAC,EAA4B,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACnF,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;IACjF,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,UAAU;IACV,MAAM,WAAW,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO;QAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,UAAU,KAAK,MAAM;QAAE,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC/D,KAAK,CAAC,IAAI,CAAC,YAAY,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACzE,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IACnE,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,YAAY,YAAY,kCAAkC,CAAC,CAAC;IACvE,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,SAAS,eAAe,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC7E,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,wEAAwE;IACxE,oFAAoF;IACpF,IAAI,KAAK,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CACR,eAAe,MAAM,UAAU,EAC/B,YAAY,EAAE,CAAC,OAAO,OAAO,EAAE,CAAC,MAAM,4BAA4B,EAClE,EAAE,CACH,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,eAAe,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CACR,eAAe,MAAM,QAAQ,EAC7B,wBAAwB,EAAE,CAAC,OAAO,OAAO,EAAE,CAAC,MAAM,kCAAkC,EAAE,CAAC,eAAe,KAAK,EAC3G,EAAE,CACH,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CACR,eAAe,MAAM,YAAY,EACjC,YAAY,EAAE,CAAC,OAAO,OAAO,EAAE,CAAC,MAAM,oBAAoB,cAAc,oCAAoC,EAC5G,EAAE,CACH,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAE9C,KAAK,CAAC,IAAI,CACR,gBAAgB,EAAE,CAAC,SAAS,wBAAwB,EACpD,MAAM,MAAM,uCAAuC,SAAS,IAAI,EAChE,MAAM,EAAE,CAAC,SAAS,IAAI,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAC5D,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,EAAE,CACzC,iBAAiB;SACd,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,GAAG,MAAM,SAAS,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,SAAS,wBAAwB,CAC9F;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhB,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE,CAAC,cAAc,CAAC;IAElD,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CACR,uBAAuB,EACvB,oBAAoB,EACpB,2BAA2B,YAAY,IAAI,CAC5C,CAAC;QACF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,IAAI,cAAc,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CACR,eAAe,MAAM,MAAM,EAC3B,sBAAsB,SAAS,WAAW,EAC1C,2EAA2E,EAC3E,sFAAsF,EACtF,kBAAkB,EAClB,4BAA4B,WAAW,KAAK,CAC7C,CAAC;YACF,qBAAqB,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YACzF,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CACR,eAAe,MAAM,MAAM,EAC3B,sBAAsB,SAAS,YAAY,EAC3C,0BAA0B,WAAW,KAAK,CAC3C,CAAC;YACF,qBAAqB,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YACxF,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CACR,0BAA0B,MAAM,uBAAuB,EACvD,YAAY,EACZ,gBAAgB,EAAE,CAAC,SAAS,GAAG,EAC/B,yBAAyB,EACzB,6BAA6B,YAAY,IAAI,CAC9C,CAAC;QACF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxE,IAAI,cAAc,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CACR,iBAAiB,MAAM,MAAM,EAC7B,wBAAwB,SAAS,WAAW,EAC5C,6EAA6E,EAC7E,wFAAwF,EACxF,oBAAoB,EACpB,8BAA8B,WAAW,KAAK,CAC/C,CAAC;YACF,qBAAqB,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YAC3F,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CACR,iBAAiB,MAAM,MAAM,EAC7B,wBAAwB,SAAS,YAAY,EAC7C,4BAA4B,WAAW,KAAK,CAC7C,CAAC;YACF,qBAAqB,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YAC1F,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAe,EACf,EAAiB,EACjB,KAAc,EACd,MAAc,EACd,aAAoC,EACpC,YAAmC,EACnC,oBAAoB,GAAG,KAAK;IAE5B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,YAAY,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE,CAAC,cAAc,CAAC;IACpD,MAAM,kBAAkB,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAEnD,IAAI,gBAAgB,IAAI,kBAAkB,EAAE,CAAC;QAC3C,MAAM,cAAc,GAAG,YAAY;aAChC,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,OAAO,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAC1J;aACA,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,UAAU,GAAG,oBAAoB;YACrC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,oDAAoD,CAAC;QACzD,MAAM,IAAI,GAAG,mGAAmG,CAAC;QAEjH,IAAI,gBAAgB,IAAI,kBAAkB,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,gBAAgB,UAAU,KAAK,cAAc,KAAK,IAAI,GAAG,CAAC,CAAC;QACjF,CAAC;aAAM,IAAI,gBAAgB,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,WAAW,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,aAAa,cAAc,KAAK,IAAI,GAAG,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACnD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,YAAY,CAAC,CAAC;QAClC,6EAA6E;QAC7E,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,SAAS,OAAO,gBAAgB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,OAAO,WAAW,CAAC,CAAC;YACrG,CAAC;QACH,CAAC;QACD,sDAAsD;QACtD,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,SAAS,OAAO,kBAAkB,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACnG,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,EAAiB,EAAE,MAAc,EAAE,KAAc;IACpE,mGAAmG;IACnG,MAAM,IAAI,GAAa,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7E,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,KAAK,IAAI,EAAE,CAAC,cAAc;QAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,MAAM,mBAAmB,MAAM,qBAAqB,CAAC,CAAC;IAC9E,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO;QACtB,IAAI,CAAC,IAAI,CAAC,SAAS,MAAM,iBAAiB,MAAM,OAAO,CAAC,CAAC;IAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"render-token.js","sourceRoot":"","sources":["../../../../../../tools/openapi-resource-gen/src/generators/api-resource/render-token.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,15 @@
39
39
  "type": "boolean",
40
40
  "default": false,
41
41
  "description": "Generate a .mock.ts file per endpoint (and index.mock.ts barrels) using @constantant/openapi-resource-mocks. Requires the package to be installed."
42
+ },
43
+ "specId": {
44
+ "type": "string",
45
+ "description": "Identifier for this API spec, embedded in MockResourceMeta and mocks.manifest.json. Defaults to baseUrlToken lowercased with _BASE_URL stripped (e.g. PETSTORE_BASE_URL → petstore)."
46
+ },
47
+ "verbose": {
48
+ "type": "boolean",
49
+ "default": false,
50
+ "description": "Print a summary of created, updated, and deleted files after generation."
42
51
  }
43
52
  },
44
53
  "required": ["specPath", "outputDir"]