@kaapi/kaapi 0.0.24 → 0.0.25

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.
@@ -0,0 +1,430 @@
1
+ "use strict";
2
+ var _SchemaAdapter_instances, _a, _SchemaAdapter_convertOne, _SchemaAdapter_convertMany, _SchemaAdapter_convertObjectOf;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.GroupResponseAdapter = exports.ContextResponseAdapter = exports.ResponseAdapter = exports.RequestBodyAdapter = exports.MediaTypeAdapter = exports.SchemaAdapter = exports.ExampleAdapter = void 0;
5
+ exports.groupResponses = groupResponses;
6
+ const tslib_1 = require("tslib");
7
+ const deep_extend_1 = require("./deep-extend");
8
+ const api_doc_generator_1 = require("@novice1/api-doc-generator");
9
+ // -------------------- CLASSES --------------------
10
+ class ExampleAdapter {
11
+ constructor(name, example) {
12
+ this.name = name;
13
+ if (example) {
14
+ this.value = example.value;
15
+ this.externalValue = example.externalValue;
16
+ this.summary = example.summary;
17
+ this.description = example.description;
18
+ }
19
+ }
20
+ getName() {
21
+ return this.name;
22
+ }
23
+ setValue(value) {
24
+ this.value = value;
25
+ return this;
26
+ }
27
+ getValue() {
28
+ return this.value;
29
+ }
30
+ setExternalValue(externalValue) {
31
+ this.externalValue = externalValue;
32
+ return this;
33
+ }
34
+ getExternalValue() {
35
+ return this.externalValue;
36
+ }
37
+ setSummary(summary) {
38
+ this.summary = summary;
39
+ return this;
40
+ }
41
+ getSummary() {
42
+ return this.summary;
43
+ }
44
+ setDescription(description) {
45
+ this.description = description;
46
+ return this;
47
+ }
48
+ getDescription() {
49
+ return this.description;
50
+ }
51
+ ref() {
52
+ return { $ref: `#/components/examples/${this.name}` };
53
+ }
54
+ toObject() {
55
+ return {
56
+ description: this.description,
57
+ externalValue: this.externalValue,
58
+ summary: this.summary,
59
+ value: this.value
60
+ };
61
+ }
62
+ toJSON() {
63
+ return this.toObject();
64
+ }
65
+ }
66
+ exports.ExampleAdapter = ExampleAdapter;
67
+ class SchemaAdapter {
68
+ constructor(name, schema) {
69
+ _SchemaAdapter_instances.add(this);
70
+ this.schema = {};
71
+ this.name = name;
72
+ if (schema) {
73
+ this.setSchema(schema);
74
+ }
75
+ }
76
+ getName() {
77
+ return this.name;
78
+ }
79
+ setSchema(schema) {
80
+ this.schema = schema;
81
+ return this;
82
+ }
83
+ ref() {
84
+ return { $ref: `#/components/schemas/${this.name}` };
85
+ }
86
+ toObject() {
87
+ const _b = this.schema, { allOf, anyOf, oneOf, not, items, properties, additionalProperties } = _b, value = tslib_1.__rest(_b, ["allOf", "anyOf", "oneOf", "not", "items", "properties", "additionalProperties"]);
88
+ const valueToKeep = value;
89
+ if (allOf) {
90
+ valueToKeep.allOf = tslib_1.__classPrivateFieldGet(this, _SchemaAdapter_instances, "m", _SchemaAdapter_convertMany).call(this, allOf);
91
+ }
92
+ if (anyOf) {
93
+ valueToKeep.anyOf = tslib_1.__classPrivateFieldGet(this, _SchemaAdapter_instances, "m", _SchemaAdapter_convertMany).call(this, anyOf);
94
+ }
95
+ if (oneOf) {
96
+ valueToKeep.oneOf = tslib_1.__classPrivateFieldGet(this, _SchemaAdapter_instances, "m", _SchemaAdapter_convertMany).call(this, oneOf);
97
+ }
98
+ if (not) {
99
+ valueToKeep.not = tslib_1.__classPrivateFieldGet(this, _SchemaAdapter_instances, "m", _SchemaAdapter_convertOne).call(this, not);
100
+ }
101
+ if (items) {
102
+ valueToKeep.items = tslib_1.__classPrivateFieldGet(this, _SchemaAdapter_instances, "m", _SchemaAdapter_convertOne).call(this, items);
103
+ }
104
+ if (properties) {
105
+ valueToKeep.properties = tslib_1.__classPrivateFieldGet(this, _SchemaAdapter_instances, "m", _SchemaAdapter_convertObjectOf).call(this, properties);
106
+ }
107
+ if (typeof additionalProperties !== 'undefined') {
108
+ if (typeof additionalProperties === 'boolean') {
109
+ valueToKeep.additionalProperties = additionalProperties;
110
+ }
111
+ else {
112
+ valueToKeep.additionalProperties = tslib_1.__classPrivateFieldGet(this, _SchemaAdapter_instances, "m", _SchemaAdapter_convertOne).call(this, additionalProperties);
113
+ }
114
+ }
115
+ return Object.assign({}, valueToKeep);
116
+ }
117
+ toJSON() {
118
+ return this.toObject();
119
+ }
120
+ }
121
+ exports.SchemaAdapter = SchemaAdapter;
122
+ _a = SchemaAdapter, _SchemaAdapter_instances = new WeakSet(), _SchemaAdapter_convertOne = function _SchemaAdapter_convertOne(v) {
123
+ if ('ref' in v && typeof v.ref == 'function') {
124
+ return v.ref();
125
+ }
126
+ else {
127
+ return new _a('tmp', v).toObject();
128
+ }
129
+ }, _SchemaAdapter_convertMany = function _SchemaAdapter_convertMany(v) {
130
+ const r = [];
131
+ for (const element of v) {
132
+ r.push(tslib_1.__classPrivateFieldGet(this, _SchemaAdapter_instances, "m", _SchemaAdapter_convertOne).call(this, element));
133
+ }
134
+ return r;
135
+ }, _SchemaAdapter_convertObjectOf = function _SchemaAdapter_convertObjectOf(v) {
136
+ const r = {};
137
+ for (const k in v) {
138
+ const vk = v[k];
139
+ r[k] = (tslib_1.__classPrivateFieldGet(this, _SchemaAdapter_instances, "m", _SchemaAdapter_convertOne).call(this, vk));
140
+ }
141
+ return r;
142
+ };
143
+ class MediaTypeAdapter extends api_doc_generator_1.MediaTypeUtil {
144
+ constructor(mediaType) {
145
+ if (mediaType) {
146
+ const { examples, schema } = mediaType, rest = tslib_1.__rest(mediaType, ["examples", "schema"]);
147
+ super(rest);
148
+ if (examples) {
149
+ this.setExamples(examples);
150
+ }
151
+ if (schema) {
152
+ this.setSchema(schema);
153
+ }
154
+ }
155
+ else {
156
+ super();
157
+ }
158
+ }
159
+ setExamples(examples) {
160
+ this.examples = examples;
161
+ return this;
162
+ }
163
+ setSchema(schema) {
164
+ this.schema = schema;
165
+ return this;
166
+ }
167
+ toObject(noRef) {
168
+ const withSchema = {};
169
+ if (typeof this.schema !== 'undefined') {
170
+ if (this.schema instanceof SchemaAdapter) {
171
+ withSchema.schema = this.schema.ref();
172
+ }
173
+ else {
174
+ withSchema.schema = new SchemaAdapter('tmp', this.schema).toObject();
175
+ }
176
+ }
177
+ if (typeof this.examples !== 'undefined') {
178
+ withSchema.examples = {};
179
+ for (const key in this.examples) {
180
+ const example = this.examples[key];
181
+ if (example instanceof ExampleAdapter) {
182
+ if (noRef) {
183
+ withSchema.examples[key] = example.toObject();
184
+ }
185
+ else {
186
+ withSchema.examples[key] = example.ref();
187
+ }
188
+ }
189
+ else {
190
+ withSchema.examples[key] = example;
191
+ }
192
+ }
193
+ }
194
+ const copy = (0, deep_extend_1.deepExtend)(super.toObject(), withSchema);
195
+ return copy;
196
+ }
197
+ toModel() {
198
+ return Object.assign(Object.assign({}, super.toObject()), { schema: this.schema, examples: this.examples });
199
+ }
200
+ }
201
+ exports.MediaTypeAdapter = MediaTypeAdapter;
202
+ class RequestBodyAdapter {
203
+ constructor(name) {
204
+ this.content = {};
205
+ this.name = name || this.constructor.name;
206
+ }
207
+ /**
208
+ *
209
+ * @param description A short description of the response.
210
+ * CommonMark syntax MAY be used for rich text representation.
211
+ */
212
+ setDescription(description) {
213
+ this.description = description;
214
+ return this;
215
+ }
216
+ setName(name) {
217
+ this.name = name;
218
+ return this;
219
+ }
220
+ setRequired(isRequired) {
221
+ this.required = isRequired;
222
+ return this;
223
+ }
224
+ setRef(requestBodyRef) {
225
+ this.requestBodyRef = requestBodyRef;
226
+ return this;
227
+ }
228
+ getDescription() {
229
+ return this.description;
230
+ }
231
+ getName() {
232
+ return this.name;
233
+ }
234
+ isRequired() {
235
+ return !!this.required;
236
+ }
237
+ addMediaType(contentType, mediaType = {}) {
238
+ this.content = this.content || {};
239
+ if (mediaType instanceof MediaTypeAdapter) {
240
+ this.content[contentType] = mediaType;
241
+ }
242
+ else {
243
+ this.content[contentType] = new MediaTypeAdapter(mediaType);
244
+ }
245
+ return this;
246
+ }
247
+ ref() {
248
+ return { $ref: this.requestBodyRef || `#/components/requestBodies/${this.name}` };
249
+ }
250
+ toPostman() {
251
+ var _b;
252
+ const result = {};
253
+ for (const contentType in this.content) {
254
+ const mediaTypeModel = this.content[contentType].toModel();
255
+ const contentSchema = mediaTypeModel.schema;
256
+ result.mode = 'raw';
257
+ if (contentType === 'multipart/form-data') {
258
+ result.mode = 'form-data';
259
+ result.formdata = [];
260
+ if (contentSchema) {
261
+ if (contentSchema instanceof SchemaAdapter) {
262
+ const rawSchema = contentSchema.toObject();
263
+ if (rawSchema.properties) {
264
+ for (const key in rawSchema.properties) {
265
+ const propSchema = rawSchema.properties[key];
266
+ if ('$ref' in propSchema) {
267
+ result.formdata.push({
268
+ key,
269
+ type: 'text'
270
+ });
271
+ }
272
+ else {
273
+ const fieldType = propSchema.contentMediaType ? 'file' : 'text';
274
+ result.formdata.push({
275
+ key,
276
+ type: fieldType,
277
+ description: propSchema.description,
278
+ src: fieldType === 'file' ? [] : undefined,
279
+ disabled: ((_b = rawSchema.required) === null || _b === void 0 ? void 0 : _b.includes(key)) ? false : true
280
+ });
281
+ }
282
+ }
283
+ }
284
+ }
285
+ }
286
+ }
287
+ else if (!contentSchema || Object.keys(contentSchema).length === 0) {
288
+ result.mode = 'file';
289
+ result.disabled = false;
290
+ }
291
+ else {
292
+ // create raw value
293
+ if (typeof mediaTypeModel.example !== 'undefined') {
294
+ result.raw = `${mediaTypeModel.example}`;
295
+ }
296
+ if (typeof mediaTypeModel.examples !== 'undefined' && Object.keys(mediaTypeModel.examples).length !== 0) {
297
+ for (const key in mediaTypeModel.examples) {
298
+ const example = mediaTypeModel.examples[key];
299
+ if (example instanceof ExampleAdapter) {
300
+ result.raw = `${example.getValue()}`;
301
+ break;
302
+ }
303
+ else if (example && 'value' in example && typeof example.value !== 'undefined') {
304
+ result.raw = `${example.value}`;
305
+ break;
306
+ }
307
+ }
308
+ }
309
+ }
310
+ break;
311
+ }
312
+ return result;
313
+ }
314
+ toOpenAPI() {
315
+ const content = {};
316
+ for (const contentType in this.content) {
317
+ const adapter = this.content[contentType];
318
+ content[contentType] = adapter.toObject();
319
+ }
320
+ const result = {
321
+ content
322
+ };
323
+ if (this.description) {
324
+ result.description = this.description;
325
+ }
326
+ if (this.isRequired()) {
327
+ result.required = true;
328
+ }
329
+ return result;
330
+ }
331
+ }
332
+ exports.RequestBodyAdapter = RequestBodyAdapter;
333
+ /**
334
+ * Set a name (setName) or a ref (setRef) for it to be used as a reference.
335
+ */
336
+ class ResponseAdapter extends api_doc_generator_1.ResponseUtil {
337
+ constructor(name) {
338
+ super(name);
339
+ if (!name)
340
+ this.setName('');
341
+ }
342
+ toOpenAPIRefPreferred(ctxt = {}) {
343
+ let name = this.name;
344
+ if (this.code) {
345
+ name = `${this.code}`;
346
+ }
347
+ if (ctxt.code) {
348
+ name = `${ctxt.code}`;
349
+ }
350
+ if (ctxt.default) {
351
+ name = 'default';
352
+ }
353
+ if (this.default) {
354
+ name = 'default';
355
+ }
356
+ if (ctxt.ref) {
357
+ return {
358
+ [name]: {
359
+ $ref: ctxt.ref
360
+ }
361
+ };
362
+ }
363
+ if (this.ref) {
364
+ return {
365
+ [name]: {
366
+ $ref: this.ref
367
+ }
368
+ };
369
+ }
370
+ if (this.name) {
371
+ return {
372
+ [name]: {
373
+ $ref: `#/components/responses/${this.name}`
374
+ }
375
+ };
376
+ }
377
+ return this.toOpenAPI(ctxt);
378
+ }
379
+ withContext() {
380
+ return new ContextResponseAdapter(this);
381
+ }
382
+ }
383
+ exports.ResponseAdapter = ResponseAdapter;
384
+ class ContextResponseAdapter extends api_doc_generator_1.ContextResponseUtil {
385
+ toOpenAPI() {
386
+ const ctxt = {};
387
+ if (this.code) {
388
+ ctxt.code = this.code;
389
+ }
390
+ if (this.ref) {
391
+ ctxt.ref = this.ref;
392
+ }
393
+ if (this.links) {
394
+ ctxt.links = this.links;
395
+ }
396
+ if (this.default) {
397
+ ctxt.default = this.default;
398
+ }
399
+ if (this.responseUtil instanceof ResponseAdapter) {
400
+ return this.responseUtil.toOpenAPIRefPreferred(ctxt);
401
+ }
402
+ else {
403
+ return this.responseUtil.toOpenAPI(ctxt);
404
+ }
405
+ }
406
+ }
407
+ exports.ContextResponseAdapter = ContextResponseAdapter;
408
+ class GroupResponseAdapter extends api_doc_generator_1.GroupResponseUtil {
409
+ constructor(responseUtils) {
410
+ super(responseUtils);
411
+ this.responseUtils = responseUtils;
412
+ }
413
+ toOpenAPIRefPreferred() {
414
+ let r = {};
415
+ this.responseUtils.forEach(builder => {
416
+ if (builder instanceof ResponseAdapter) {
417
+ r = Object.assign(Object.assign({}, r), builder.toOpenAPIRefPreferred());
418
+ }
419
+ else {
420
+ r = Object.assign(Object.assign({}, r), builder.toOpenAPI());
421
+ }
422
+ });
423
+ return r;
424
+ }
425
+ }
426
+ exports.GroupResponseAdapter = GroupResponseAdapter;
427
+ function groupResponses(...adapters) {
428
+ return new GroupResponseAdapter(adapters);
429
+ }
430
+ //# sourceMappingURL=doc-adapters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc-adapters.js","sourceRoot":"","sources":["../../../src/services/docs/doc-adapters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ import { ContextResponseUtil, GroupResponseUtil, IOpenAPIResponseContext, MediaTypeUtil, ReferenceObject, ResponseUtil, SchemaObject3_1 } from '@novice1/api-doc-generator';
2
+ import { ExampleObject, MediaTypeObject, ResponseObject } from '@novice1/api-doc-generator/lib/generators/openapi/definitions';
3
+ import { RequestBodyObject } from '@novice1/api-doc-generator/lib/generators/postman/definitions';
4
+ import { BaseResponseUtil } from '@novice1/api-doc-generator/lib/utils/responses/baseResponseUtils';
5
+ export type SchemaModel = Omit<SchemaObject3_1, 'allOf' | 'anyOf' | 'oneOf' | 'not' | 'items' | 'properties' | 'additionalProperties'> & {
6
+ allOf?: Array<SchemaModel | ISchemaModifier>;
7
+ anyOf?: Array<SchemaModel | ISchemaModifier>;
8
+ oneOf?: Array<SchemaModel | ISchemaModifier>;
9
+ not?: SchemaModel | ISchemaModifier;
10
+ items?: SchemaModel | ISchemaModifier;
11
+ properties?: Record<string, SchemaModel | ISchemaModifier>;
12
+ additionalProperties?: boolean | SchemaModel | ISchemaModifier;
13
+ };
14
+ export interface ISchemaModifier {
15
+ ref(): ReferenceObject;
16
+ toObject(): SchemaObject3_1;
17
+ }
18
+ export type MediaTypeModel = Omit<MediaTypeObject, 'schema' | 'examples'> & {
19
+ examples?: Record<string, ExampleObject | ReferenceObject | ExampleModifier>;
20
+ schema?: SchemaModel | ReferenceObject | SchemaModifier;
21
+ };
22
+ export interface OpenAPIRequestBodyObject {
23
+ content: Record<string, MediaTypeObject>;
24
+ description?: string;
25
+ required?: boolean;
26
+ }
27
+ export type PostmanRequestBodyModel = RequestBodyObject;
28
+ export declare class ExampleModifier {
29
+ protected name: string;
30
+ protected value: unknown;
31
+ protected externalValue?: string;
32
+ protected summary?: string;
33
+ protected description?: string;
34
+ constructor(name: string, example?: ExampleObject);
35
+ getName(): string;
36
+ setValue(value: unknown): this;
37
+ getValue(): unknown;
38
+ setExternalValue(externalValue: string): this;
39
+ getExternalValue(): string | undefined;
40
+ setSummary(summary: string): this;
41
+ getSummary(): string | undefined;
42
+ setDescription(description: string): this;
43
+ getDescription(): string | undefined;
44
+ ref(): ReferenceObject;
45
+ toObject(): ExampleObject;
46
+ toJSON(): ExampleObject;
47
+ }
48
+ export declare class SchemaModifier implements ISchemaModifier {
49
+ #private;
50
+ protected name: string;
51
+ protected schema: SchemaModel;
52
+ constructor(name: string, schema?: SchemaModel);
53
+ getName(): string;
54
+ setSchema(schema: SchemaModel): this;
55
+ ref(): ReferenceObject;
56
+ toObject(): SchemaObject3_1;
57
+ toJSON(): SchemaObject3_1;
58
+ }
59
+ export declare class MediaTypeModifier extends MediaTypeUtil {
60
+ protected schema?: SchemaModel | SchemaModifier;
61
+ protected examples?: Record<string, ExampleObject | ReferenceObject | ExampleModifier>;
62
+ constructor(mediaType?: MediaTypeModel);
63
+ setExamples(examples: Record<string, ExampleObject | ReferenceObject | ExampleModifier>): this;
64
+ setSchema(schema: SchemaModel | SchemaModifier): this;
65
+ toObject(noRef?: boolean): MediaTypeObject;
66
+ toModel(): MediaTypeModel;
67
+ }
68
+ export declare class RequestBodyDocsModifier {
69
+ protected name: string;
70
+ protected content: Record<string, MediaTypeModifier>;
71
+ protected description?: string;
72
+ protected required?: boolean;
73
+ protected requestBodyRef?: string;
74
+ constructor(name?: string);
75
+ /**
76
+ *
77
+ * @param description A short description of the response.
78
+ * CommonMark syntax MAY be used for rich text representation.
79
+ */
80
+ setDescription(description: string): this;
81
+ setName(name: string): this;
82
+ setRequired(isRequired: boolean): this;
83
+ setRef(requestBodyRef: string): this;
84
+ getDescription(): string | undefined;
85
+ getName(): string;
86
+ isRequired(): boolean;
87
+ addMediaType(contentType: string, mediaType?: MediaTypeModel | MediaTypeModifier): this;
88
+ ref(): ReferenceObject;
89
+ toPostman(): PostmanRequestBodyModel;
90
+ toOpenAPI(): OpenAPIRequestBodyObject;
91
+ }
92
+ /**
93
+ * Set a name (setName) or a ref (setRef) for it to be used as a reference.
94
+ */
95
+ export declare class ResponseDocsModifier extends ResponseUtil {
96
+ constructor(name?: string);
97
+ toOpenAPIRefPreferred(): Record<string, ResponseObject | ReferenceObject>;
98
+ toOpenAPIRefPreferred(ctxt: IOpenAPIResponseContext): Record<string, ResponseObject | ReferenceObject>;
99
+ withContext(): ContextResponseDocsModifier;
100
+ }
101
+ export declare class ContextResponseDocsModifier extends ContextResponseUtil {
102
+ toOpenAPI(): Record<string, ResponseObject | ReferenceObject>;
103
+ }
104
+ export declare class GroupResponseDocsModifier extends GroupResponseUtil {
105
+ constructor(responseUtils: BaseResponseUtil[]);
106
+ toOpenAPIRefPreferred(): Record<string, ResponseObject | ReferenceObject>;
107
+ }
108
+ export declare function groupResponses(...modifiers: BaseResponseUtil[]): GroupResponseDocsModifier;