@mhmdalimansour/mock-mock 1.0.6 → 1.1.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/README.md CHANGED
@@ -67,6 +67,14 @@ mock-mock/
67
67
 
68
68
  ## Installation
69
69
 
70
+ ### Install From npm
71
+
72
+ ```bash
73
+ npm install -g @mhmdalimansour/mock-mock
74
+ ```
75
+
76
+ This installs the package published on npm as `@mhmdalimansour/mock-mock` and exposes the CLI command `mock-mock`.
77
+
70
78
  ### Local Development
71
79
 
72
80
  ```bash
@@ -81,7 +89,7 @@ npm run build
81
89
 
82
90
  ### Global Usage
83
91
 
84
- After building or publishing, the CLI command is:
92
+ After installing globally, the CLI command is:
85
93
 
86
94
  ```bash
87
95
  mock-mock --url <confluence-url>
@@ -135,7 +143,7 @@ npm start -- --url <url>
135
143
  | --- | --- | --- |
136
144
  | `-u, --url <url>` | Confluence page URL or `file://` HTML path | required |
137
145
  | `-p, --port <port>` | Port for the mock server | `4000` |
138
- | `-f, --fallback <url>` | Proxy target for unmatched requests | none |
146
+ | `-f, --fallback <url>` | Base URL used for truncated-response hydration during parsing and as a proxy target for unmatched runtime requests | none |
139
147
  | `--delay <ms>` | Response delay in milliseconds | `0` |
140
148
  | `-e, --email <email>` | Confluence email, overrides env var | none |
141
149
  | `-t, --token <token>` | Confluence API token, overrides env var | none |
@@ -204,7 +212,7 @@ Status: 201
204
212
  ### Supported Methods
205
213
 
206
214
  - Table-based parsing supports `GET`, `POST`, `PUT`, `PATCH`, and `DELETE`.
207
- - Plain code-block parsing currently recognizes `GET`, `POST`, `PUT`, and `DELETE`.
215
+ - Plain code-block parsing currently recognizes `GET`, `POST`, `PUT`, `PATCH`, and `DELETE`.
208
216
  - The server runtime supports `PATCH` once an endpoint is present in the parsed schema.
209
217
 
210
218
  ### Notes About Response Templates
@@ -212,6 +220,7 @@ Status: 201
212
220
  - Response objects are used as templates for fake data generation.
213
221
  - Response arrays are expanded into collections with about 15 to 30 records.
214
222
  - Wrapped collections such as `{ "errors": false, "data": [...] }` are preserved.
223
+ - If a table-based `Response Structure` contains `.....`, MockMock treats it as a truncated example, fetches the live payload from `--fallback` for safe read-only endpoints, then adds any documented fields that are missing from that payload.
215
224
  - Path parameters in documentation can use `{id}` and are converted to Express-style params internally.
216
225
  - Plain code-block parsing is best with object-shaped JSON responses; table-based ERD pages are more flexible.
217
226
 
@@ -292,6 +301,8 @@ npm start -- --url file://C:/absolute/path/to/example-confluence.html
292
301
 
293
302
  - Check the response JSON in Confluence.
294
303
  - Make sure wrapped arrays or nested objects are valid JSON.
304
+ - For truncated `.....` examples, provide `--fallback` so MockMock can hydrate the missing structure from the live API.
305
+ - Parse-time fallback hydration is limited to read-only endpoints such as `GET`; non-`GET` endpoints keep the documented fields only.
295
306
  - Remember that fake data is inferred from field names and primitive types.
296
307
 
297
308
  ### Changes disappear after restart
package/dist/cli.js CHANGED
@@ -64,7 +64,7 @@ program
64
64
  }
65
65
  // Step 2: Parse endpoints
66
66
  console.log("🔍 Parsing API endpoints...");
67
- const schema = (0, erd_parser_1.parseERDFromHTML)(html);
67
+ const schema = await (0, erd_parser_1.parseERDFromHTML)(html, { fallbackBaseUrl: fallbackUrl });
68
68
  if (options.debug && schema.length > 0) {
69
69
  console.log("🐛 Debug: Parsed endpoints:");
70
70
  console.log(JSON.stringify(schema, null, 2));
@@ -75,7 +75,8 @@ program
75
75
  // Step 3: Start mock server
76
76
  if (fallbackUrl) {
77
77
  console.log(`🔀 Fallback URL: ${fallbackUrl}`);
78
- console.log(" Unmatched requests will be proxied to this URL\n");
78
+ console.log(" Truncated doc responses may be hydrated from this URL during parsing");
79
+ console.log(" Unmatched requests will also be proxied to this URL\n");
79
80
  }
80
81
  (0, mock_server_1.startMockServer)(schema, port, fallbackUrl, delay);
81
82
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,9 @@
4
4
  * Automatically uses Confluence REST API for Atlassian Cloud URLs
5
5
  */
6
6
  export declare function fetchConfluencePage(url: string): Promise<string>;
7
+ /**
8
+ * Fetches a live endpoint payload from the fallback API during parsing.
9
+ * This is intentionally limited to safe read-only methods.
10
+ */
11
+ export declare function fetchFallbackEndpointResponse(baseUrl: string, path: string, method: string): Promise<unknown>;
7
12
  //# sourceMappingURL=confluence.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"confluence.d.ts","sourceRoot":"","sources":["../../src/fetcher/confluence.ts"],"names":[],"mappings":"AAyBA;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAwFtE"}
1
+ {"version":3,"file":"confluence.d.ts","sourceRoot":"","sources":["../../src/fetcher/confluence.ts"],"names":[],"mappings":"AAwBA;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAwFtE;AAED;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CA4BlB"}
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.fetchConfluencePage = fetchConfluencePage;
7
+ exports.fetchFallbackEndpointResponse = fetchFallbackEndpointResponse;
7
8
  const axios_1 = __importDefault(require("axios"));
8
9
  const fs_1 = require("fs");
9
10
  /**
@@ -103,6 +104,31 @@ async function fetchConfluencePage(url) {
103
104
  throw error;
104
105
  }
105
106
  }
107
+ /**
108
+ * Fetches a live endpoint payload from the fallback API during parsing.
109
+ * This is intentionally limited to safe read-only methods.
110
+ */
111
+ async function fetchFallbackEndpointResponse(baseUrl, path, method) {
112
+ const normalizedMethod = method.toUpperCase();
113
+ if (!['GET', 'HEAD'].includes(normalizedMethod)) {
114
+ throw new Error(`Skipping fallback hydration for ${normalizedMethod} ${path} because parse-time hydration only supports read-only endpoints.`);
115
+ }
116
+ const normalizedBaseUrl = baseUrl.replace(/\/+$/, '');
117
+ const normalizedPath = path.startsWith('/') ? path : `/${path}`;
118
+ const targetUrl = `${normalizedBaseUrl}${normalizedPath}`;
119
+ const response = await (0, axios_1.default)({
120
+ method: normalizedMethod,
121
+ url: targetUrl,
122
+ headers: {
123
+ Accept: 'application/json',
124
+ },
125
+ validateStatus: () => true,
126
+ });
127
+ if (response.status < 200 || response.status >= 300) {
128
+ throw new Error(`Fallback request failed for ${normalizedMethod} ${targetUrl} with status ${response.status}.`);
129
+ }
130
+ return response.data;
131
+ }
106
132
  /**
107
133
  * Fetches page content via Confluence REST API
108
134
  */
@@ -1 +1 @@
1
- {"version":3,"file":"confluence.js","sourceRoot":"","sources":["../../src/fetcher/confluence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confluence.js","sourceRoot":"","sources":["../../src/fetcher/confluence.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,10 @@ import { MockSchema } from './schema-types';
3
3
  * Parses API endpoint definitions from Confluence HTML
4
4
  * Supports both code blocks and table-based formats
5
5
  */
6
- export declare function parseERDFromHTML(html: string): MockSchema;
6
+ export interface ParseERDOptions {
7
+ fallbackBaseUrl?: string;
8
+ }
9
+ export declare function parseERDFromHTML(html: string, options?: ParseERDOptions): Promise<MockSchema>;
7
10
  /**
8
11
  * Validates that the parsed schema contains at least one endpoint
9
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"erd-parser.d.ts","sourceRoot":"","sources":["../../src/parser/erd-parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE1D;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CA6BzD;AAyTD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAIvD"}
1
+ {"version":3,"file":"erd-parser.d.ts","sourceRoot":"","sources":["../../src/parser/erd-parser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AASD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,UAAU,CAAC,CA6BrB;AAufD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAIvD"}
@@ -36,15 +36,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.parseERDFromHTML = parseERDFromHTML;
37
37
  exports.validateSchema = validateSchema;
38
38
  const cheerio = __importStar(require("cheerio"));
39
- /**
40
- * Parses API endpoint definitions from Confluence HTML
41
- * Supports both code blocks and table-based formats
42
- */
43
- function parseERDFromHTML(html) {
39
+ const confluence_1 = require("../fetcher/confluence");
40
+ async function parseERDFromHTML(html, options = {}) {
44
41
  const $ = cheerio.load(html);
45
42
  let endpoints = [];
46
43
  // Strategy 1: Try parsing tables (common in Confluence ERD pages)
47
- const tableEndpoints = parseTableBasedEndpoints($, html);
44
+ const tableEndpoints = await parseTableBasedEndpoints($, html, options);
48
45
  if (tableEndpoints.length > 0) {
49
46
  endpoints.push(...tableEndpoints);
50
47
  }
@@ -55,7 +52,7 @@ function parseERDFromHTML(html) {
55
52
  if (!text)
56
53
  continue;
57
54
  try {
58
- const endpoint = parseEndpointFromText(text);
55
+ const endpoint = await parseEndpointFromText(text, options);
59
56
  if (endpoint) {
60
57
  endpoints.push(endpoint);
61
58
  }
@@ -70,9 +67,9 @@ function parseERDFromHTML(html) {
70
67
  /**
71
68
  * Parses a single endpoint definition from text
72
69
  */
73
- function parseEndpointFromText(text) {
70
+ async function parseEndpointFromText(text, options) {
74
71
  // Match HTTP method and path (e.g., "POST /api/categories")
75
- const methodPathRegex = /^(GET|POST|PUT|DELETE)\s+(\/[^\s\n]*)/im;
72
+ const methodPathRegex = /^(GET|POST|PUT|DELETE|PATCH)\s+(\/[^\s\n]*)/im;
76
73
  const methodPathMatch = text.match(methodPathRegex);
77
74
  if (!methodPathMatch) {
78
75
  return null;
@@ -81,26 +78,15 @@ function parseEndpointFromText(text) {
81
78
  const path = methodPathMatch[2];
82
79
  // Extract Request JSON
83
80
  let request = undefined;
84
- const requestMatch = text.match(/Request:\s*\n\s*(\{[\s\S]*?\})/i);
85
- if (requestMatch) {
86
- try {
87
- request = JSON.parse(requestMatch[1]);
88
- }
89
- catch {
90
- // Invalid JSON, skip request
91
- }
81
+ const requestSnippet = extractStructuredJSON(text, 'Request:');
82
+ if (requestSnippet.value !== null) {
83
+ request = requestSnippet.value;
92
84
  }
93
85
  // Extract Response JSON
94
86
  let response = {};
95
- const responseMatch = text.match(/Response:\s*\n\s*(\{[\s\S]*?\})/i);
96
- if (responseMatch) {
97
- try {
98
- response = JSON.parse(responseMatch[1]);
99
- }
100
- catch {
101
- // Invalid JSON, use empty object
102
- response = {};
103
- }
87
+ const responseSnippet = extractStructuredJSON(text, 'Response:');
88
+ if (responseSnippet.raw) {
89
+ response = await resolveResponseSnippet({ method, path, request, response: {}, status: undefined }, responseSnippet, options) ?? {};
104
90
  }
105
91
  // Extract status code if specified
106
92
  let status = undefined;
@@ -120,42 +106,53 @@ function parseEndpointFromText(text) {
120
106
  * Extracts request/response from CDATA blocks associated with a specific endpoint.
121
107
  * Each block is checked for Response Structure and Body/Request keywords.
122
108
  */
123
- function extractFromAssociatedBlocks(blocks) {
109
+ async function extractFromAssociatedBlocks(endpoint, blocks, options) {
124
110
  const result = {};
125
111
  for (const block of blocks) {
126
112
  const content = block.content;
127
113
  if (!result.response) {
128
- if (content.includes('Response Structure:')) {
129
- const json = extractCompleteJSON(content, 'Response Structure:');
130
- if (json)
131
- result.response = json;
132
- }
133
- else if (content.includes('Response Structure')) {
134
- const json = extractCompleteJSON(content, 'Response Structure');
135
- if (json)
136
- result.response = json;
114
+ if (content.includes('Response Structure:') || content.includes('Response Structure')) {
115
+ const snippet = extractStructuredJSONFromKeywords(content, [
116
+ 'Response Structure:',
117
+ 'Response Structure',
118
+ ]);
119
+ if (snippet.raw && endpoint.method && endpoint.path) {
120
+ const resolved = await resolveResponseSnippet({
121
+ method: endpoint.method,
122
+ path: endpoint.path,
123
+ request: endpoint.request,
124
+ response: {},
125
+ status: endpoint.status,
126
+ }, snippet, options);
127
+ if (resolved !== undefined) {
128
+ result.response = resolved;
129
+ }
130
+ }
131
+ else if (snippet.value !== null) {
132
+ result.response = snippet.value;
133
+ }
137
134
  }
138
135
  }
139
136
  if (!result.request) {
140
137
  if (content.includes('Request Structure:')) {
141
- const json = extractCompleteJSON(content, 'Request Structure:');
142
- if (json)
143
- result.request = json;
138
+ const snippet = extractStructuredJSON(content, 'Request Structure:');
139
+ if (snippet.value !== null)
140
+ result.request = snippet.value;
144
141
  }
145
142
  else if (content.includes('Body:')) {
146
- const json = extractCompleteJSON(content, 'Body:');
147
- if (json)
148
- result.request = json;
143
+ const snippet = extractStructuredJSON(content, 'Body:');
144
+ if (snippet.value !== null)
145
+ result.request = snippet.value;
149
146
  }
150
147
  else if (content.includes('Request Body:')) {
151
- const json = extractCompleteJSON(content, 'Request Body:');
152
- if (json)
153
- result.request = json;
148
+ const snippet = extractStructuredJSON(content, 'Request Body:');
149
+ if (snippet.value !== null)
150
+ result.request = snippet.value;
154
151
  }
155
152
  else if (content.includes('Request:') && !content.includes('Response')) {
156
- const json = extractCompleteJSON(content, 'Request:');
157
- if (json)
158
- result.request = json;
153
+ const snippet = extractStructuredJSON(content, 'Request:');
154
+ if (snippet.value !== null)
155
+ result.request = snippet.value;
159
156
  }
160
157
  }
161
158
  }
@@ -166,7 +163,7 @@ function extractFromAssociatedBlocks(blocks) {
166
163
  * Uses positional association to correctly map CDATA code snippets
167
164
  * to their owning table, even when endpoints have multiple CDATA blocks.
168
165
  */
169
- function parseTableBasedEndpoints($, html) {
166
+ async function parseTableBasedEndpoints($, html, options) {
170
167
  const endpoints = [];
171
168
  // Find positions of every <table in the raw HTML
172
169
  const tablePositions = [];
@@ -195,7 +192,7 @@ function parseTableBasedEndpoints($, html) {
195
192
  : html.length;
196
193
  const associatedBlocks = cdataBlocks.filter(b => b.position > thisTablePos && b.position < nextTablePos);
197
194
  console.log(`[DEBUG] Associated CDATA blocks: ${associatedBlocks.length}`);
198
- const snippet = extractFromAssociatedBlocks(associatedBlocks);
195
+ const snippet = await extractFromAssociatedBlocks(endpoint, associatedBlocks, options);
199
196
  endpoint.response = snippet.response || { message: 'Success', data: {} };
200
197
  endpoint.request = snippet.request;
201
198
  if (!endpoint.status) {
@@ -269,16 +266,50 @@ function parseEndpointFromTable($, table) {
269
266
  /**
270
267
  * Extracts a complete JSON object from text, handling nested structures
271
268
  */
272
- function extractCompleteJSON(text, startKeyword) {
269
+ function extractStructuredJSON(text, startKeyword) {
270
+ const raw = extractRawJSONBlock(text, startKeyword);
271
+ if (!raw) {
272
+ return {
273
+ raw: null,
274
+ value: null,
275
+ partialValue: null,
276
+ isTruncated: false,
277
+ };
278
+ }
279
+ const parsed = parseJSONWithComments(raw);
280
+ const isTruncated = hasTruncationMarker(raw);
281
+ const partialValue = isTruncated ? parsePartialJSON(raw) : null;
282
+ return {
283
+ raw,
284
+ value: parsed ?? partialValue,
285
+ partialValue,
286
+ isTruncated,
287
+ };
288
+ }
289
+ function extractStructuredJSONFromKeywords(text, keywords) {
290
+ for (const keyword of keywords) {
291
+ const snippet = extractStructuredJSON(text, keyword);
292
+ if (snippet.raw) {
293
+ return snippet;
294
+ }
295
+ }
296
+ return {
297
+ raw: null,
298
+ value: null,
299
+ partialValue: null,
300
+ isTruncated: false,
301
+ };
302
+ }
303
+ function extractRawJSONBlock(text, startKeyword) {
273
304
  const startIndex = text.indexOf(startKeyword);
274
305
  if (startIndex === -1)
275
306
  return null;
276
- // Find the first opening brace after the keyword
277
- const jsonStart = text.indexOf('{', startIndex);
307
+ const objectStart = text.indexOf('{', startIndex);
308
+ const arrayStart = text.indexOf('[', startIndex);
309
+ const jsonStart = getFirstJSONStart(objectStart, arrayStart);
278
310
  if (jsonStart === -1)
279
311
  return null;
280
- // Count braces to find the matching closing brace
281
- let braceCount = 0;
312
+ const stack = [];
282
313
  let inString = false;
283
314
  let escapeNext = false;
284
315
  let jsonEnd = -1;
@@ -299,11 +330,17 @@ function extractCompleteJSON(text, startKeyword) {
299
330
  if (inString)
300
331
  continue;
301
332
  if (char === '{') {
302
- braceCount++;
333
+ stack.push('}');
303
334
  }
304
- else if (char === '}') {
305
- braceCount--;
306
- if (braceCount === 0) {
335
+ else if (char === '[') {
336
+ stack.push(']');
337
+ }
338
+ else if (char === '}' || char === ']') {
339
+ if (stack.length === 0 || stack[stack.length - 1] !== char) {
340
+ return null;
341
+ }
342
+ stack.pop();
343
+ if (stack.length === 0) {
307
344
  jsonEnd = i + 1;
308
345
  break;
309
346
  }
@@ -311,7 +348,16 @@ function extractCompleteJSON(text, startKeyword) {
311
348
  }
312
349
  if (jsonEnd === -1)
313
350
  return null;
314
- const jsonStr = text.substring(jsonStart, jsonEnd);
351
+ return text.substring(jsonStart, jsonEnd);
352
+ }
353
+ function getFirstJSONStart(objectStart, arrayStart) {
354
+ if (objectStart === -1)
355
+ return arrayStart;
356
+ if (arrayStart === -1)
357
+ return objectStart;
358
+ return Math.min(objectStart, arrayStart);
359
+ }
360
+ function parseJSONWithComments(jsonStr) {
315
361
  try {
316
362
  return JSON.parse(jsonStr);
317
363
  }
@@ -325,6 +371,82 @@ function extractCompleteJSON(text, startKeyword) {
325
371
  }
326
372
  }
327
373
  }
374
+ function hasTruncationMarker(jsonStr) {
375
+ return jsonStr
376
+ .split('\n')
377
+ .some(line => /^\s*\.{3,},?\s*$/.test(line));
378
+ }
379
+ function parsePartialJSON(jsonStr) {
380
+ const withoutMarkers = jsonStr
381
+ .split('\n')
382
+ .filter(line => !/^\s*\.{3,},?\s*$/.test(line))
383
+ .join('\n');
384
+ const withoutTrailingCommas = stripTrailingCommas(withoutMarkers);
385
+ return parseJSONWithComments(withoutTrailingCommas);
386
+ }
387
+ function stripTrailingCommas(jsonStr) {
388
+ let current = jsonStr;
389
+ let previous = '';
390
+ while (current !== previous) {
391
+ previous = current;
392
+ current = current.replace(/,\s*([}\]])/g, '$1');
393
+ }
394
+ return current;
395
+ }
396
+ async function resolveResponseSnippet(endpoint, snippet, options) {
397
+ if (!snippet.raw) {
398
+ return undefined;
399
+ }
400
+ if (!snippet.isTruncated) {
401
+ return snippet.value ?? undefined;
402
+ }
403
+ return hydrateTruncatedResponse(endpoint, snippet.partialValue, options);
404
+ }
405
+ async function hydrateTruncatedResponse(endpoint, documentedResponse, options) {
406
+ if (!options.fallbackBaseUrl) {
407
+ console.warn(`[WARN] Truncated response for ${endpoint.method} ${endpoint.path} has no fallback URL. Using documented fields only.`);
408
+ return documentedResponse ?? undefined;
409
+ }
410
+ try {
411
+ const fallbackResponse = await (0, confluence_1.fetchFallbackEndpointResponse)(options.fallbackBaseUrl, endpoint.path, endpoint.method);
412
+ if (documentedResponse === null || documentedResponse === undefined) {
413
+ return fallbackResponse;
414
+ }
415
+ return mergeMissingFields(fallbackResponse, documentedResponse);
416
+ }
417
+ catch (error) {
418
+ const message = error instanceof Error ? error.message : 'Unknown error';
419
+ console.warn(`[WARN] Failed to hydrate truncated response for ${endpoint.method} ${endpoint.path}: ${message}`);
420
+ return documentedResponse ?? undefined;
421
+ }
422
+ }
423
+ function mergeMissingFields(base, documented) {
424
+ if (base === undefined)
425
+ return documented;
426
+ if (Array.isArray(base) && Array.isArray(documented)) {
427
+ if (base.length === 0)
428
+ return documented;
429
+ if (documented.length === 0)
430
+ return base;
431
+ const [first, ...rest] = base;
432
+ return [mergeMissingFields(first, documented[0]), ...rest];
433
+ }
434
+ if (isPlainObject(base) && isPlainObject(documented)) {
435
+ const result = { ...base };
436
+ for (const [key, value] of Object.entries(documented)) {
437
+ if (!(key in result)) {
438
+ result[key] = value;
439
+ continue;
440
+ }
441
+ result[key] = mergeMissingFields(result[key], value);
442
+ }
443
+ return result;
444
+ }
445
+ return base;
446
+ }
447
+ function isPlainObject(value) {
448
+ return !!value && typeof value === 'object' && !Array.isArray(value);
449
+ }
328
450
  /**
329
451
  * Strips single-line // comments that appear outside of JSON string values.
330
452
  */
@@ -1 +1 @@
1
- {"version":3,"file":"erd-parser.js","sourceRoot":"","sources":["../../src/parser/erd-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"erd-parser.js","sourceRoot":"","sources":["../../src/parser/erd-parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,4CAgCC;AA0fD,wCAIC;AAjjBD,iDAAmC;AACnC,sDAAsE;AAkB/D,KAAK,UAAU,gBAAgB,CACpC,IAAY,EACZ,UAA2B,EAAE;IAE7B,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,SAAS,GAAe,EAAE,CAAC;IAE/B,kEAAkE;IAClE,MAAM,cAAc,GAAG,MAAM,wBAAwB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACxE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,SAAS,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;IACpC,CAAC;IAED,wDAAwD;IACxD,MAAM,UAAU,GAAG,CAAC,CAAC,sCAAsC,CAAC,CAAC,OAAO,EAAE,CAAC;IACvE,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QAEpC,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5D,IAAI,QAAQ,EAAE,CAAC;gBACb,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iCAAiC;YACjC,SAAS;QACX,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,qBAAqB,CAClC,IAAY,EACZ,OAAwB;IAExB,4DAA4D;IAC5D,MAAM,eAAe,GAAG,+CAA+C,CAAC;IACxE,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAEpD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAA4B,CAAC;IAC1E,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAEhC,uBAAuB;IACvB,IAAI,OAAO,GAAY,SAAS,CAAC;IACjC,MAAM,cAAc,GAAG,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC/D,IAAI,cAAc,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAClC,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC;IACjC,CAAC;IAED,wBAAwB;IACxB,IAAI,QAAQ,GAAY,EAAE,CAAC;IAC3B,MAAM,eAAe,GAAG,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACjE,IAAI,eAAe,CAAC,GAAG,EAAE,CAAC;QACxB,QAAQ,GAAG,MAAM,sBAAsB,CACrC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAC1D,eAAe,EACf,OAAO,CACR,IAAI,EAAE,CAAC;IACV,CAAC;IAED,mCAAmC;IACnC,IAAI,MAAM,GAAuB,SAAS,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACrD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;QACL,MAAM;QACN,IAAI;QACJ,OAAO;QACP,QAAQ;QACR,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,2BAA2B,CACxC,QAA+B,EAC/B,MAAoD,EACpD,OAAwB;IAExB,MAAM,MAAM,GAA8C,EAAE,CAAC;IAE7D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAE9B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACtF,MAAM,OAAO,GAAG,iCAAiC,CAAC,OAAO,EAAE;oBACzD,qBAAqB;oBACrB,oBAAoB;iBACrB,CAAC,CAAC;gBAEH,IAAI,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACpD,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAC3C;wBACE,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;wBACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,QAAQ,EAAE,EAAE;wBACZ,MAAM,EAAE,QAAQ,CAAC,MAAM;qBACxB,EACD,OAAO,EACP,OAAO,CACR,CAAC;oBACF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC3B,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBAC7B,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;oBAClC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC3C,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;gBACrE,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;oBAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;YAC7D,CAAC;iBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACxD,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;oBAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;YAC7D,CAAC;iBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC7C,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;gBAChE,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;oBAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;YAC7D,CAAC;iBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzE,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAC3D,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;oBAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,wBAAwB,CACrC,CAAqB,EACrB,IAAY,EACZ,OAAwB;IAExB,MAAM,SAAS,GAAe,EAAE,CAAC;IAEjC,iDAAiD;IACjD,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,eAAe,CAAC;IACnC,IAAI,MAAM,CAAC;IACX,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACjD,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,oDAAoD;IACpD,MAAM,WAAW,GAAiD,EAAE,CAAC;IACrE,MAAM,UAAU,GAAG,6BAA6B,CAAC;IACjD,IAAI,MAAM,CAAC;IACX,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACjD,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IAEpC,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,MAAM,YAAY,WAAW,CAAC,MAAM,eAAe,CAAC,CAAC;IAEzF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,QAAQ,GAAG,sBAAsB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAElD,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAEjH,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC;gBAClD,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YAEhB,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,YAAY,IAAI,CAAC,CAAC,QAAQ,GAAG,YAAY,CAC5D,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,sCAAsC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;YAE7E,MAAM,OAAO,GAAG,MAAM,2BAA2B,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;YAEvF,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YACzE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAEnC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACrB,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAC3D,CAAC;YAED,SAAS,CAAC,IAAI,CAAC,QAAwB,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,mCAAmC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAEnE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,CAAqB,EAAE,KAAU;IAC/D,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAA0B,EAAE,CAAC;IAC3C,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACrC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YAErC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEjD,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAG,EAAE,CAAC;YAErB,qDAAqD;YACrD,IAAI,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YAE5E,kBAAkB;YAClB,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxD,SAAS,GAAG,IAAI,CAAC;gBACjB,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;gBAErD,gEAAgE;gBAChE,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3B,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;gBAClB,CAAC;qBAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxD,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;gBAClB,CAAC;gBAED,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;YACtB,CAAC;YAED,qBAAqB;YACrB,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,YAAY,GAAG,IAAI,CAAC;gBACpB,0GAA0G;gBAC1G,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAChE,IAAI,WAAW,EAAE,CAAC;oBAChB,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAA4B,CAAC;gBAC3E,CAAC;qBAAM,CAAC;oBACN,uCAAuC;oBACvC,OAAO,CAAC,GAAG,CAAC,4DAA4D,KAAK,GAAG,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS;QACX,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,2BAA2B,SAAS,IAAI,QAAQ,CAAC,IAAI,IAAI,MAAM,aAAa,YAAY,IAAI,QAAQ,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,CAAC;IACxI,CAAC;IAED,8CAA8C;IAC9C,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,IAAY,EAAE,YAAoB;IAC/D,MAAM,GAAG,GAAG,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACpD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO;YACL,GAAG,EAAE,IAAI;YACT,KAAK,EAAE,IAAI;YACX,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEhE,OAAO;QACL,GAAG;QACH,KAAK,EAAE,MAAM,IAAI,YAAY;QAC7B,YAAY;QACZ,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,iCAAiC,CACxC,IAAY,EACZ,QAAkB;IAElB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO;QACL,GAAG,EAAE,IAAI;QACT,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,KAAK;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,YAAoB;IAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9C,IAAI,UAAU,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC7D,IAAI,SAAS,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;IAEjB,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAErB,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,GAAG,KAAK,CAAC;YACnB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,UAAU,GAAG,IAAI,CAAC;YAClB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,QAAQ,GAAG,CAAC,QAAQ,CAAC;YACrB,SAAS;QACX,CAAC;QAED,IAAI,QAAQ;YAAE,SAAS;QAEvB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC3D,OAAO,IAAI,CAAC;YACd,CAAC;YAED,KAAK,CAAC,GAAG,EAAE,CAAC;YACZ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;gBAChB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,iBAAiB,CAAC,WAAmB,EAAE,UAAkB;IAChE,IAAI,WAAW,KAAK,CAAC,CAAC;QAAE,OAAO,UAAU,CAAC;IAC1C,IAAI,UAAU,KAAK,CAAC,CAAC;QAAE,OAAO,WAAW,CAAC;IAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe;IAC5C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,OAAO,OAAO;SACX,KAAK,CAAC,IAAI,CAAC;SACX,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,cAAc,GAAG,OAAO;SAC3B,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC9C,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAClE,OAAO,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,IAAI,OAAO,GAAG,OAAO,CAAC;IACtB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5B,QAAQ,GAAG,OAAO,CAAC;QACnB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,QAAsB,EACtB,OAA6B,EAC7B,OAAwB;IAExB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;IACpC,CAAC;IAED,OAAO,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,QAAsB,EACtB,kBAAkC,EAClC,OAAwB;IAExB,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CACV,iCAAiC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,qDAAqD,CACvH,CAAC;QACF,OAAO,kBAAkB,IAAI,SAAS,CAAC;IACzC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,MAAM,IAAA,0CAA6B,EAC1D,OAAO,CAAC,eAAe,EACvB,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,MAAM,CAChB,CAAC;QAEF,IAAI,kBAAkB,KAAK,IAAI,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACpE,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,OAAO,kBAAkB,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IAClE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,OAAO,CAAC,IAAI,CACV,mDAAmD,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAClG,CAAC;QACF,OAAO,kBAAkB,IAAI,SAAS,CAAC;IACzC,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAa,EAAE,UAAmB;IAC5D,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC;QACzC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEzC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QAC9B,OAAO,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,MAAM,MAAM,GAA4B,EAAE,GAAG,IAAI,EAAE,CAAC;QAEpD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC;gBACrB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACpB,SAAS;YACX,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACxC,OAAO,OAAO;SACX,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,IAAI,CAAC,EAAE;QACV,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,GAAG,KAAK,CAAC;gBAAC,SAAS;YAAC,CAAC;YAC3C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAAC,OAAO,GAAG,IAAI,CAAC;gBAAC,SAAS;YAAC,CAAC;YAChD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC;gBAAC,SAAS;YAAC,CAAC;YACrD,IAAI,CAAC,QAAQ,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACrD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACxC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,MAAkB;IAC/C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mhmdalimansour/mock-mock",
3
- "version": "1.0.6",
3
+ "version": "1.1.0",
4
4
  "description": "Production-grade CLI tool to generate mock servers from Confluence API documentation",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {