@kaapi/kaapi 0.0.16 → 0.0.18
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 +62 -7
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/services/docs/api-doc-mix-helpers.d.ts +88 -0
- package/lib/services/docs/api-doc-mix-helpers.js +95 -0
- package/lib/services/docs/api-doc-mix-helpers.js.map +1 -0
- package/lib/services/docs/generators.d.ts +17 -1
- package/lib/services/docs/generators.js +54 -13
- package/lib/services/docs/generators.js.map +1 -1
- package/package.json +9 -4
- package/types/overrides.d.ts +17 -1
- package/lib/base-app.d.ts +0 -23
- package/lib/base-app.js +0 -23
- package/lib/base-app.js.map +0 -1
- package/lib/baseApp.d.ts +0 -23
- package/lib/baseApp.js +0 -23
- package/lib/baseApp.js.map +0 -1
- package/lib/services/docs/SwaggerUiGenerator.d.ts +0 -19
- package/lib/services/docs/SwaggerUiGenerator.js +0 -245
- package/lib/services/docs/SwaggerUiGenerator.js.map +0 -1
- package/lib/services/docs/ui/swagger-ui.d.ts +0 -21
- package/lib/services/docs/ui/swagger-ui.js +0 -321
- package/lib/services/docs/ui/swagger-ui.js.map +0 -1
- package/lib/services/plugin.d.ts +0 -88
- package/lib/services/plugin.js +0 -87
- package/lib/services/plugin.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,13 +1,68 @@
|
|
|
1
1
|
# @kaapi/kaapi
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/@kaapi/kaapi)
|
|
4
|
+
[](https://github.com/demingongo/kaapi/wiki)
|
|
5
|
+
[](https://www.typescriptlang.org/)
|
|
4
6
|
|
|
5
|
-
## What is kaapi?
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
- A messaging abstraction layer (IMessaging), with implementations for custom messaging (e.g.: @kaapi/kafka-messaging).
|
|
9
|
-
- Built-in support for API documentation via OpenAPI and Postman generators.
|
|
8
|
+
Kaapi is a **modern, extensible backend framework** built on [Hapi](https://hapi.dev/), offering a **TypeScript-first design**, **plugin-based** architecture with **messaging**, **authentication**, and **automatic API documentation** baked in.
|
|
10
9
|
|
|
11
|
-
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## 🚀 Features
|
|
13
|
+
|
|
14
|
+
- ⚡ **Simple Setup** — Minimal boilerplate, Hapi-compatible routing
|
|
15
|
+
- 🔐 **Auth Designs** — Built-in Basic, Bearer, and API Key authentication
|
|
16
|
+
- 🧱 **Plugins System** — Extend Kaapi easily with `app.extend()`
|
|
17
|
+
- 📘 **API Docs** — Swagger & Postman generation out of the box
|
|
18
|
+
- 📡 **Messaging Abstraction** — Kafka, MQTT, AMQP, or custom
|
|
19
|
+
- 🪵 **Powerful Logging** — Winston-based or custom logger support
|
|
20
|
+
- 🧩 **Type Safe** — Fully typed with first-class TypeScript support
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 🧰 Quick Start
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npm install @kaapi/kaapi
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
```ts
|
|
31
|
+
import { Kaapi } from '@kaapi/kaapi';
|
|
32
|
+
|
|
33
|
+
const app = new Kaapi({ port: 3000, host: 'localhost' });
|
|
34
|
+
|
|
35
|
+
app.route({ method: 'GET', path: '/' }, () => 'Hello Kaapi!');
|
|
36
|
+
await app.listen();
|
|
37
|
+
|
|
38
|
+
app.log.info(`🚀 Server running at http://localhost:3000`);
|
|
39
|
+
```
|
|
40
|
+
🧭 Visit: [`http://localhost:3000`](http://localhost:3000)
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 📚 Documentation
|
|
45
|
+
|
|
46
|
+
👉 **Full documentation available here:**
|
|
47
|
+
🔗 [Kaapi Wiki →](https://github.com/demingongo/kaapi/wiki)
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## 💡 Example Features
|
|
52
|
+
|
|
53
|
+
* **Auth:** `BearerAuthDesign`, `BasicAuthDesign`, `APIKeyAuthDesign`
|
|
54
|
+
* **Docs:** `/docs/api` (Swagger UI), `/docs/api/schema?format=postman`
|
|
55
|
+
* **Messaging:** Abstract interface for Kafka, MQTT, etc.
|
|
56
|
+
* **Extend:** Custom plugins via `KaapiPlugin` interface
|
|
57
|
+
* **Logger:** Built-in Winston logger or bring your own
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 🧠 Why Kaapi?
|
|
62
|
+
|
|
63
|
+
Kaapi focuses on **clarity**, **composability**, and **developer productivity**:
|
|
64
|
+
|
|
65
|
+
> One framework, many patterns — REST, messaging, auth, docs — all in TypeScript.
|
|
66
|
+
|
|
67
|
+
---
|
|
12
68
|
|
|
13
|
-
[Wiki](https://github.com/demingongo/kaapi/wiki) - _(https://github.com/demingongo/kaapi/wiki)_
|
package/lib/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import '../types/overrides.d.ts'
|
|
|
2
2
|
export { LoggerOptions, Logger, Container, ExceptionHandler, Profiler, RejectionHandler, LeveledLogMethod, LogEntry, LogMethod, QueryOptions } from 'winston';
|
|
3
3
|
export * from '@hapi/hapi';
|
|
4
4
|
export * from '@kaapi/server';
|
|
5
|
+
export * from './services/docs/generators';
|
|
5
6
|
export * from './services/docs/utils';
|
|
6
7
|
export * from './services/plugins/plugin';
|
|
7
8
|
export * from './services/plugins/auth-designs/api-key-auth-design';
|
package/lib/index.js
CHANGED
|
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "Profiler", { enumerable: true, get: function ()
|
|
|
10
10
|
Object.defineProperty(exports, "RejectionHandler", { enumerable: true, get: function () { return winston_1.RejectionHandler; } });
|
|
11
11
|
tslib_1.__exportStar(require("@hapi/hapi"), exports);
|
|
12
12
|
tslib_1.__exportStar(require("@kaapi/server"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./services/docs/generators"), exports);
|
|
13
14
|
tslib_1.__exportStar(require("./services/docs/utils"), exports);
|
|
14
15
|
tslib_1.__exportStar(require("./services/plugins/plugin"), exports);
|
|
15
16
|
tslib_1.__exportStar(require("./services/plugins/auth-designs/api-key-auth-design"), exports);
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,mCAWgB;AATZ,iGAAA,MAAM,OAAA;AACN,oGAAA,SAAS,OAAA;AACT,2GAAA,gBAAgB,OAAA;AAChB,mGAAA,QAAQ,OAAA;AACR,2GAAA,gBAAgB,OAAA;AAMpB,qDAA0B;AAC1B,wDAA6B;AAC7B,gEAAqC;AACrC,oEAAyC;AACzC,8FAAmE;AACnE,4FAAiE;AACjE,6FAAkE;AAClE,yDAA8B;AAC9B,+DAAoC;AACpC,yDAA8B;AAC9B,gDAAqB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,mCAWgB;AATZ,iGAAA,MAAM,OAAA;AACN,oGAAA,SAAS,OAAA;AACT,2GAAA,gBAAgB,OAAA;AAChB,mGAAA,QAAQ,OAAA;AACR,2GAAA,gBAAgB,OAAA;AAMpB,qDAA0B;AAC1B,wDAA6B;AAC7B,qEAA0C;AAC1C,gEAAqC;AACrC,oEAAyC;AACzC,8FAAmE;AACnE,4FAAiE;AACjE,6FAAkE;AAClE,yDAA8B;AAC9B,+DAAoC;AACpC,yDAA8B;AAC9B,gDAAqB"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { OpenAPIHelperClass, OpenAPIHelperInterface, PostmanHelperClass, PostmanHelperInterface } from '@novice1/api-doc-generator';
|
|
2
|
+
export declare abstract class DelegatingHelper<T> {
|
|
3
|
+
protected helper: T;
|
|
4
|
+
constructor(args: {
|
|
5
|
+
isRoot?: boolean;
|
|
6
|
+
value: unknown;
|
|
7
|
+
}, defaultHelper: new (args: {
|
|
8
|
+
isRoot?: boolean;
|
|
9
|
+
value: unknown;
|
|
10
|
+
}) => T, fallbackHelpers: Set<new (args: {
|
|
11
|
+
isRoot?: boolean;
|
|
12
|
+
value: unknown;
|
|
13
|
+
}) => T>, isValid: (helper: T) => boolean);
|
|
14
|
+
}
|
|
15
|
+
export declare class OpenAPIMixHelper extends DelegatingHelper<OpenAPIHelperInterface> implements OpenAPIHelperInterface {
|
|
16
|
+
static helperClasses: Set<OpenAPIHelperClass>;
|
|
17
|
+
constructor(args: {
|
|
18
|
+
isRoot?: boolean;
|
|
19
|
+
value: unknown;
|
|
20
|
+
});
|
|
21
|
+
getFirstItem(): OpenAPIHelperInterface | undefined;
|
|
22
|
+
getChildren(): Record<string, OpenAPIHelperInterface>;
|
|
23
|
+
getAlternatives(): OpenAPIHelperInterface[];
|
|
24
|
+
hasStyle?(): boolean;
|
|
25
|
+
getStyle?(): string | undefined;
|
|
26
|
+
hasAdditionalProperties?(): boolean;
|
|
27
|
+
getAdditionalProperties?(): import("@novice1/api-doc-generator/lib/generators/openapi/definitions").AdditionalProperties | undefined;
|
|
28
|
+
hasRef?(): boolean;
|
|
29
|
+
getRef?(): string | undefined;
|
|
30
|
+
hasDiscriminator?(): boolean;
|
|
31
|
+
getDiscriminator?(): import("@novice1/api-doc-generator/lib/generators/openapi/definitions").DiscriminatorObject | undefined;
|
|
32
|
+
hasXml?(): boolean;
|
|
33
|
+
getXml?(): import("@novice1/api-doc-generator/lib/generators/openapi/definitions").XMLObject | undefined;
|
|
34
|
+
hasExamples?(): boolean;
|
|
35
|
+
getExamples?(): Record<string, import("@novice1/api-doc-generator/lib/generators/openapi/definitions").ReferenceObject | import("@novice1/api-doc-generator/lib/generators/openapi/definitions").ExampleObject> | undefined;
|
|
36
|
+
hasEncoding?(): boolean;
|
|
37
|
+
getEncoding?(): Record<string, import("@novice1/api-doc-generator/lib/generators/openapi/definitions").EncodingObject> | undefined;
|
|
38
|
+
isValid(): boolean;
|
|
39
|
+
getType(): string;
|
|
40
|
+
getDescription(): string;
|
|
41
|
+
isRequired(): boolean;
|
|
42
|
+
isUnique(): boolean;
|
|
43
|
+
hasDefaultValue(): boolean;
|
|
44
|
+
getDefaultValue(): unknown;
|
|
45
|
+
hasExampleValue(): boolean;
|
|
46
|
+
getExampleValue(): unknown;
|
|
47
|
+
isDeprecated(): boolean;
|
|
48
|
+
allowsEmptyValue(): boolean;
|
|
49
|
+
getEnum(): unknown[];
|
|
50
|
+
hasMin(): boolean;
|
|
51
|
+
hasMax(): boolean;
|
|
52
|
+
getMin(): number | undefined;
|
|
53
|
+
getMax(): number | undefined;
|
|
54
|
+
getUnit(): string;
|
|
55
|
+
}
|
|
56
|
+
export declare class PostmanMixHelper extends DelegatingHelper<PostmanHelperInterface> implements PostmanHelperInterface {
|
|
57
|
+
static helperClasses: Set<PostmanHelperClass>;
|
|
58
|
+
constructor(args: {
|
|
59
|
+
isRoot?: boolean;
|
|
60
|
+
value: unknown;
|
|
61
|
+
});
|
|
62
|
+
getFirstItem(): PostmanHelperInterface | undefined;
|
|
63
|
+
getChildren(): Record<string, PostmanHelperInterface>;
|
|
64
|
+
getAlternatives(): PostmanHelperInterface[];
|
|
65
|
+
hasContentType?(): boolean;
|
|
66
|
+
getContentType?(): string | undefined;
|
|
67
|
+
hasDescriptionType?(): boolean;
|
|
68
|
+
getDescriptionType?(): string | undefined;
|
|
69
|
+
hasXml?(): boolean;
|
|
70
|
+
getXml?(): import("@novice1/api-doc-generator/lib/generators/openapi/definitions").XMLObject | undefined;
|
|
71
|
+
isValid(): boolean;
|
|
72
|
+
getType(): string;
|
|
73
|
+
getDescription(): string;
|
|
74
|
+
isRequired(): boolean;
|
|
75
|
+
isUnique(): boolean;
|
|
76
|
+
hasDefaultValue(): boolean;
|
|
77
|
+
getDefaultValue(): unknown;
|
|
78
|
+
hasExampleValue(): boolean;
|
|
79
|
+
getExampleValue(): unknown;
|
|
80
|
+
isDeprecated(): boolean;
|
|
81
|
+
allowsEmptyValue(): boolean;
|
|
82
|
+
getEnum(): unknown[];
|
|
83
|
+
hasMin(): boolean;
|
|
84
|
+
hasMax(): boolean;
|
|
85
|
+
getMin(): number | undefined;
|
|
86
|
+
getMax(): number | undefined;
|
|
87
|
+
getUnit(): string;
|
|
88
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PostmanMixHelper = exports.OpenAPIMixHelper = exports.DelegatingHelper = void 0;
|
|
4
|
+
const joiHelper_1 = require("@novice1/api-doc-generator/lib/generators/openapi/helpers/joiHelper");
|
|
5
|
+
const joiHelper_2 = require("@novice1/api-doc-generator/lib/generators/postman/helpers/joiHelper");
|
|
6
|
+
class DelegatingHelper {
|
|
7
|
+
constructor(args, defaultHelper, fallbackHelpers, isValid) {
|
|
8
|
+
this.helper = new defaultHelper(args);
|
|
9
|
+
if (!isValid(this.helper)) {
|
|
10
|
+
for (const HelperClass of fallbackHelpers) {
|
|
11
|
+
const candidate = new HelperClass(args);
|
|
12
|
+
if (isValid(candidate)) {
|
|
13
|
+
this.helper = candidate;
|
|
14
|
+
break;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.DelegatingHelper = DelegatingHelper;
|
|
21
|
+
class OpenAPIMixHelper extends DelegatingHelper {
|
|
22
|
+
constructor(args) {
|
|
23
|
+
super(args, joiHelper_1.OpenAPIJoiHelper, OpenAPIMixHelper.helperClasses, h => h.isValid());
|
|
24
|
+
}
|
|
25
|
+
getFirstItem() { return this.helper.getFirstItem(); }
|
|
26
|
+
getChildren() { return this.helper.getChildren(); }
|
|
27
|
+
getAlternatives() { return this.helper.getAlternatives(); }
|
|
28
|
+
hasStyle() { var _a, _b; return ((_b = (_a = this.helper).hasStyle) === null || _b === void 0 ? void 0 : _b.call(_a)) || false; }
|
|
29
|
+
getStyle() { var _a, _b; return (_b = (_a = this.helper).getStyle) === null || _b === void 0 ? void 0 : _b.call(_a); }
|
|
30
|
+
hasAdditionalProperties() { var _a, _b; return ((_b = (_a = this.helper).hasAdditionalProperties) === null || _b === void 0 ? void 0 : _b.call(_a)) || false; }
|
|
31
|
+
getAdditionalProperties() { var _a, _b; return (_b = (_a = this.helper).getAdditionalProperties) === null || _b === void 0 ? void 0 : _b.call(_a); }
|
|
32
|
+
hasRef() { var _a, _b; return ((_b = (_a = this.helper).hasRef) === null || _b === void 0 ? void 0 : _b.call(_a)) || false; }
|
|
33
|
+
getRef() { var _a, _b; return (_b = (_a = this.helper).getRef) === null || _b === void 0 ? void 0 : _b.call(_a); }
|
|
34
|
+
hasDiscriminator() { var _a, _b; return ((_b = (_a = this.helper).hasDiscriminator) === null || _b === void 0 ? void 0 : _b.call(_a)) || false; }
|
|
35
|
+
getDiscriminator() { var _a, _b; return (_b = (_a = this.helper).getDiscriminator) === null || _b === void 0 ? void 0 : _b.call(_a); }
|
|
36
|
+
hasXml() { var _a, _b; return ((_b = (_a = this.helper).hasXml) === null || _b === void 0 ? void 0 : _b.call(_a)) || false; }
|
|
37
|
+
getXml() { var _a, _b; return (_b = (_a = this.helper).getXml) === null || _b === void 0 ? void 0 : _b.call(_a); }
|
|
38
|
+
hasExamples() { var _a, _b; return ((_b = (_a = this.helper).hasExamples) === null || _b === void 0 ? void 0 : _b.call(_a)) || false; }
|
|
39
|
+
getExamples() { var _a, _b; return (_b = (_a = this.helper).getExamples) === null || _b === void 0 ? void 0 : _b.call(_a); }
|
|
40
|
+
hasEncoding() { var _a, _b; return ((_b = (_a = this.helper).hasEncoding) === null || _b === void 0 ? void 0 : _b.call(_a)) || false; }
|
|
41
|
+
getEncoding() { var _a, _b; return (_b = (_a = this.helper).getEncoding) === null || _b === void 0 ? void 0 : _b.call(_a); }
|
|
42
|
+
isValid() { return this.helper.isValid(); }
|
|
43
|
+
getType() { return this.helper.getType(); }
|
|
44
|
+
getDescription() { return this.helper.getDescription(); }
|
|
45
|
+
isRequired() { return this.helper.isRequired(); }
|
|
46
|
+
isUnique() { return this.helper.isUnique(); }
|
|
47
|
+
hasDefaultValue() { return this.helper.hasDefaultValue(); }
|
|
48
|
+
getDefaultValue() { return this.helper.getDefaultValue(); }
|
|
49
|
+
hasExampleValue() { return this.helper.hasExampleValue(); }
|
|
50
|
+
getExampleValue() { return this.helper.getExampleValue(); }
|
|
51
|
+
isDeprecated() { return this.helper.isDeprecated(); }
|
|
52
|
+
allowsEmptyValue() { return this.helper.allowsEmptyValue(); }
|
|
53
|
+
getEnum() { return this.helper.getEnum(); }
|
|
54
|
+
hasMin() { return this.helper.hasMin(); }
|
|
55
|
+
hasMax() { return this.helper.hasMax(); }
|
|
56
|
+
getMin() { return this.helper.getMin(); }
|
|
57
|
+
getMax() { return this.helper.getMax(); }
|
|
58
|
+
getUnit() { return this.helper.getUnit(); }
|
|
59
|
+
}
|
|
60
|
+
exports.OpenAPIMixHelper = OpenAPIMixHelper;
|
|
61
|
+
OpenAPIMixHelper.helperClasses = new Set();
|
|
62
|
+
class PostmanMixHelper extends DelegatingHelper {
|
|
63
|
+
constructor(args) {
|
|
64
|
+
super(args, joiHelper_2.PostmanJoiHelper, PostmanMixHelper.helperClasses, h => h.isValid());
|
|
65
|
+
}
|
|
66
|
+
getFirstItem() { return this.helper.getFirstItem(); }
|
|
67
|
+
getChildren() { return this.helper.getChildren(); }
|
|
68
|
+
getAlternatives() { return this.helper.getAlternatives(); }
|
|
69
|
+
hasContentType() { var _a, _b; return ((_b = (_a = this.helper).hasContentType) === null || _b === void 0 ? void 0 : _b.call(_a)) || false; }
|
|
70
|
+
getContentType() { var _a, _b; return (_b = (_a = this.helper).getContentType) === null || _b === void 0 ? void 0 : _b.call(_a); }
|
|
71
|
+
hasDescriptionType() { var _a, _b; return ((_b = (_a = this.helper).hasDescriptionType) === null || _b === void 0 ? void 0 : _b.call(_a)) || false; }
|
|
72
|
+
getDescriptionType() { var _a, _b; return (_b = (_a = this.helper).getDescriptionType) === null || _b === void 0 ? void 0 : _b.call(_a); }
|
|
73
|
+
hasXml() { var _a, _b; return ((_b = (_a = this.helper).hasXml) === null || _b === void 0 ? void 0 : _b.call(_a)) || false; }
|
|
74
|
+
getXml() { var _a, _b; return (_b = (_a = this.helper).getXml) === null || _b === void 0 ? void 0 : _b.call(_a); }
|
|
75
|
+
isValid() { return this.helper.isValid(); }
|
|
76
|
+
getType() { return this.helper.getType(); }
|
|
77
|
+
getDescription() { return this.helper.getDescription(); }
|
|
78
|
+
isRequired() { return this.helper.isRequired(); }
|
|
79
|
+
isUnique() { return this.helper.isUnique(); }
|
|
80
|
+
hasDefaultValue() { return this.helper.hasDefaultValue(); }
|
|
81
|
+
getDefaultValue() { return this.helper.getDefaultValue(); }
|
|
82
|
+
hasExampleValue() { return this.helper.hasExampleValue(); }
|
|
83
|
+
getExampleValue() { return this.helper.getExampleValue(); }
|
|
84
|
+
isDeprecated() { return this.helper.isDeprecated(); }
|
|
85
|
+
allowsEmptyValue() { return this.helper.allowsEmptyValue(); }
|
|
86
|
+
getEnum() { return this.helper.getEnum(); }
|
|
87
|
+
hasMin() { return this.helper.hasMin(); }
|
|
88
|
+
hasMax() { return this.helper.hasMax(); }
|
|
89
|
+
getMin() { return this.helper.getMin(); }
|
|
90
|
+
getMax() { return this.helper.getMax(); }
|
|
91
|
+
getUnit() { return this.helper.getUnit(); }
|
|
92
|
+
}
|
|
93
|
+
exports.PostmanMixHelper = PostmanMixHelper;
|
|
94
|
+
PostmanMixHelper.helperClasses = new Set();
|
|
95
|
+
//# sourceMappingURL=api-doc-mix-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-doc-mix-helpers.js","sourceRoot":"","sources":["../../../src/services/docs/api-doc-mix-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,32 @@
|
|
|
1
|
-
import { OpenAPI, Postman, ProcessedRoute } from '@novice1/api-doc-generator';
|
|
1
|
+
import { OpenAPI, OpenAPIHelperClass, OpenAPIHelperInterface, OpenAPIOptions, Postman, PostmanHelperClass, PostmanOptions, ProcessedRoute } from '@novice1/api-doc-generator';
|
|
2
2
|
import { KaapiServerRoute } from '@kaapi/server';
|
|
3
3
|
import { ReqRef, ReqRefDefaults, RequestRoute } from '@hapi/hapi';
|
|
4
|
+
export interface KaapiOpenAPIHelperInterface extends OpenAPIHelperInterface {
|
|
5
|
+
isFile(): boolean | undefined;
|
|
6
|
+
getFilesChildren(): Record<string, unknown>;
|
|
7
|
+
}
|
|
8
|
+
export type KaapiOpenAPIHelperClass = {
|
|
9
|
+
new (args: {
|
|
10
|
+
isRoot?: boolean;
|
|
11
|
+
value: unknown;
|
|
12
|
+
}): KaapiOpenAPIHelperInterface;
|
|
13
|
+
};
|
|
4
14
|
export interface KaapiDocGenerator {
|
|
5
15
|
addRoutes<Refs extends ReqRef = ReqRefDefaults>(serverRoute: KaapiServerRoute<Refs>): ProcessedRoute[];
|
|
6
16
|
addRoutes<Refs extends ReqRef = ReqRefDefaults>(serverRoutes: KaapiServerRoute<Refs>[]): ProcessedRoute[];
|
|
7
17
|
addRequestRoute<Refs extends ReqRef = ReqRefDefaults>(serverRoute: RequestRoute<Refs>): ProcessedRoute[];
|
|
8
18
|
}
|
|
9
19
|
export declare class KaapiOpenAPI extends OpenAPI implements KaapiDocGenerator {
|
|
20
|
+
constructor(options?: OpenAPIOptions);
|
|
21
|
+
addHelperClass(helperClass: OpenAPIHelperClass): void;
|
|
22
|
+
removeHelperClass(helperClass: OpenAPIHelperClass): void;
|
|
10
23
|
addRoutes<Refs extends ReqRef = ReqRefDefaults>(serverRoutes: KaapiServerRoute<Refs>[] | KaapiServerRoute<Refs>): ProcessedRoute[];
|
|
11
24
|
addRequestRoute<Refs extends ReqRef = ReqRefDefaults>(reqRoute: RequestRoute<Refs>): ProcessedRoute[];
|
|
12
25
|
}
|
|
13
26
|
export declare class KaapiPostman extends Postman implements KaapiDocGenerator {
|
|
27
|
+
constructor(options?: PostmanOptions);
|
|
28
|
+
addHelperClass(helperClass: PostmanHelperClass): void;
|
|
29
|
+
removeHelperClass(helperClass: PostmanHelperClass): void;
|
|
14
30
|
addRoutes<Refs extends ReqRef = ReqRefDefaults>(serverRoutes: KaapiServerRoute<Refs>[] | KaapiServerRoute<Refs>): ProcessedRoute[];
|
|
15
31
|
addRequestRoute<Refs extends ReqRef = ReqRefDefaults>(reqRoute: RequestRoute<Refs>): ProcessedRoute[];
|
|
16
32
|
}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.KaapiPostman = exports.KaapiOpenAPI = void 0;
|
|
4
4
|
const api_doc_generator_1 = require("@novice1/api-doc-generator");
|
|
5
5
|
const joiHelper_1 = require("@novice1/api-doc-generator/lib/generators/openapi/helpers/joiHelper");
|
|
6
|
+
const api_doc_mix_helpers_1 = require("./api-doc-mix-helpers");
|
|
6
7
|
class CustomHelper extends joiHelper_1.OpenAPIJoiHelper {
|
|
7
8
|
isFile() {
|
|
8
9
|
return this._joi['$_terms']
|
|
@@ -61,7 +62,7 @@ function formatRoutes(serverRoutes) {
|
|
|
61
62
|
methods = [sRoute.method];
|
|
62
63
|
}
|
|
63
64
|
const formattedRoutes = methods.map(method => {
|
|
64
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
65
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
65
66
|
const route = {
|
|
66
67
|
methods: {
|
|
67
68
|
[method.toLowerCase()]: true
|
|
@@ -74,9 +75,17 @@ function formatRoutes(serverRoutes) {
|
|
|
74
75
|
if (typeof sRoute.options != 'function') {
|
|
75
76
|
route.tags = (_a = sRoute.options) === null || _a === void 0 ? void 0 : _a.tags;
|
|
76
77
|
route.description = (_b = sRoute.options) === null || _b === void 0 ? void 0 : _b.description;
|
|
78
|
+
const pluginKaapiDocs = typeof ((_e = (_d = (_c = sRoute.options) === null || _c === void 0 ? void 0 : _c.plugins) === null || _d === void 0 ? void 0 : _d.kaapi) === null || _e === void 0 ? void 0 : _e.docs) === 'object' ? sRoute.options.plugins.kaapi.docs : {};
|
|
79
|
+
const schemaProp = pluginKaapiDocs.helperSchemaProperty;
|
|
80
|
+
const routeOptionsValidate = schemaProp && ((_f = sRoute.options) === null || _f === void 0 ? void 0 : _f.plugins) && schemaProp in sRoute.options.plugins ?
|
|
81
|
+
sRoute.options.plugins[schemaProp] :
|
|
82
|
+
(_g = sRoute.options) === null || _g === void 0 ? void 0 : _g.validate;
|
|
77
83
|
let files = undefined;
|
|
78
|
-
if (((
|
|
79
|
-
const
|
|
84
|
+
if (((_h = sRoute.options) === null || _h === void 0 ? void 0 : _h.payload) && typeof (routeOptionsValidate === null || routeOptionsValidate === void 0 ? void 0 : routeOptionsValidate.payload) === 'object') {
|
|
85
|
+
const helperClass = (typeof ((_k = (_j = sRoute.options.plugins) === null || _j === void 0 ? void 0 : _j.kaapi) === null || _k === void 0 ? void 0 : _k.docs) === 'object' && sRoute.options.plugins.kaapi.docs.openAPIHelperClass) ?
|
|
86
|
+
sRoute.options.plugins.kaapi.docs.openAPIHelperClass :
|
|
87
|
+
CustomHelper;
|
|
88
|
+
const helper = new helperClass({ value: routeOptionsValidate.payload });
|
|
80
89
|
if (helper.isValid() && helper.getType() === 'object') {
|
|
81
90
|
files = helper.getFilesChildren();
|
|
82
91
|
if (files && !Object.keys(files).length) {
|
|
@@ -84,13 +93,13 @@ function formatRoutes(serverRoutes) {
|
|
|
84
93
|
}
|
|
85
94
|
}
|
|
86
95
|
}
|
|
87
|
-
route.parameters =
|
|
88
|
-
if (route.parameters && ((
|
|
96
|
+
route.parameters = routeOptionsValidate ? Object.assign(Object.assign({}, routeOptionsValidate), { body: routeOptionsValidate.payload, files: files }) : undefined;
|
|
97
|
+
if (route.parameters && ((_m = (_l = sRoute.options) === null || _l === void 0 ? void 0 : _l.payload) === null || _m === void 0 ? void 0 : _m.allow)) {
|
|
89
98
|
route.parameters.consumes = Array.isArray(sRoute.options.payload.allow) ? sRoute.options.payload.allow : [sRoute.options.payload.allow];
|
|
90
99
|
}
|
|
91
|
-
if (route.parameters && typeof ((
|
|
100
|
+
if (route.parameters && typeof ((_q = (_p = (_o = sRoute.options) === null || _o === void 0 ? void 0 : _o.plugins) === null || _p === void 0 ? void 0 : _p.kaapi) === null || _q === void 0 ? void 0 : _q.docs) === 'object') {
|
|
92
101
|
if (sRoute.options.plugins.kaapi.docs.story) {
|
|
93
|
-
route.parameters.story = (
|
|
102
|
+
route.parameters.story = (_r = sRoute.options.plugins.kaapi) === null || _r === void 0 ? void 0 : _r.docs.story;
|
|
94
103
|
}
|
|
95
104
|
}
|
|
96
105
|
}
|
|
@@ -126,7 +135,7 @@ function formatRequestRoute(reqRoute) {
|
|
|
126
135
|
methods = [sRoute.method];
|
|
127
136
|
}
|
|
128
137
|
const formattedRoutes = methods.map(method => {
|
|
129
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
138
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
130
139
|
const route = {
|
|
131
140
|
methods: {
|
|
132
141
|
[method.toLowerCase()]: true
|
|
@@ -138,9 +147,17 @@ function formatRequestRoute(reqRoute) {
|
|
|
138
147
|
if (typeof sRoute.settings != 'function') {
|
|
139
148
|
route.tags = (_b = sRoute.settings) === null || _b === void 0 ? void 0 : _b.tags;
|
|
140
149
|
route.description = (_c = sRoute.settings) === null || _c === void 0 ? void 0 : _c.description;
|
|
150
|
+
const pluginKaapiDocs = typeof ((_f = (_e = (_d = sRoute.settings) === null || _d === void 0 ? void 0 : _d.plugins) === null || _e === void 0 ? void 0 : _e.kaapi) === null || _f === void 0 ? void 0 : _f.docs) === 'object' ? sRoute.settings.plugins.kaapi.docs : {};
|
|
151
|
+
const schemaProp = pluginKaapiDocs.helperSchemaProperty;
|
|
152
|
+
const routeOptionsValidate = schemaProp && ((_g = sRoute.settings) === null || _g === void 0 ? void 0 : _g.plugins) && schemaProp in sRoute.settings.plugins ?
|
|
153
|
+
sRoute.settings.plugins[schemaProp] :
|
|
154
|
+
(_h = sRoute.settings) === null || _h === void 0 ? void 0 : _h.validate;
|
|
141
155
|
let files = undefined;
|
|
142
|
-
if (((
|
|
143
|
-
const
|
|
156
|
+
if (((_j = sRoute.settings) === null || _j === void 0 ? void 0 : _j.payload) && typeof (routeOptionsValidate === null || routeOptionsValidate === void 0 ? void 0 : routeOptionsValidate.payload) === 'object') {
|
|
157
|
+
const helperClass = (typeof ((_l = (_k = sRoute.settings.plugins) === null || _k === void 0 ? void 0 : _k.kaapi) === null || _l === void 0 ? void 0 : _l.docs) === 'object' && sRoute.settings.plugins.kaapi.docs.openAPIHelperClass) ?
|
|
158
|
+
sRoute.settings.plugins.kaapi.docs.openAPIHelperClass :
|
|
159
|
+
CustomHelper;
|
|
160
|
+
const helper = new helperClass({ value: routeOptionsValidate.payload });
|
|
144
161
|
if (helper.isValid() && helper.getType() === 'object') {
|
|
145
162
|
files = helper.getFilesChildren();
|
|
146
163
|
if (files && !Object.keys(files).length) {
|
|
@@ -148,11 +165,11 @@ function formatRequestRoute(reqRoute) {
|
|
|
148
165
|
}
|
|
149
166
|
}
|
|
150
167
|
}
|
|
151
|
-
route.parameters =
|
|
152
|
-
if (route.parameters && ((
|
|
168
|
+
route.parameters = routeOptionsValidate ? Object.assign(Object.assign({}, routeOptionsValidate), { body: routeOptionsValidate.payload, files: files }) : undefined;
|
|
169
|
+
if (route.parameters && ((_o = (_m = sRoute.settings) === null || _m === void 0 ? void 0 : _m.payload) === null || _o === void 0 ? void 0 : _o.allow)) {
|
|
153
170
|
route.parameters.consumes = Array.isArray(sRoute.settings.payload.allow) ? sRoute.settings.payload.allow : [sRoute.settings.payload.allow];
|
|
154
171
|
}
|
|
155
|
-
if (route.parameters && typeof ((
|
|
172
|
+
if (route.parameters && typeof ((_q = (_p = sRoute.settings.plugins) === null || _p === void 0 ? void 0 : _p.kaapi) === null || _q === void 0 ? void 0 : _q.docs) === 'object') {
|
|
156
173
|
if (sRoute.settings.plugins.kaapi.docs.story) {
|
|
157
174
|
route.parameters.story = sRoute.settings.plugins.kaapi.docs.story;
|
|
158
175
|
}
|
|
@@ -164,6 +181,18 @@ function formatRequestRoute(reqRoute) {
|
|
|
164
181
|
return routes;
|
|
165
182
|
}
|
|
166
183
|
class KaapiOpenAPI extends api_doc_generator_1.OpenAPI {
|
|
184
|
+
constructor(options) {
|
|
185
|
+
if (options === null || options === void 0 ? void 0 : options.helperClass) {
|
|
186
|
+
api_doc_mix_helpers_1.OpenAPIMixHelper.helperClasses.add(options.helperClass);
|
|
187
|
+
}
|
|
188
|
+
super(Object.assign(Object.assign({}, options), { helperClass: api_doc_mix_helpers_1.OpenAPIMixHelper }));
|
|
189
|
+
}
|
|
190
|
+
addHelperClass(helperClass) {
|
|
191
|
+
api_doc_mix_helpers_1.OpenAPIMixHelper.helperClasses.add(helperClass);
|
|
192
|
+
}
|
|
193
|
+
removeHelperClass(helperClass) {
|
|
194
|
+
api_doc_mix_helpers_1.OpenAPIMixHelper.helperClasses.delete(helperClass);
|
|
195
|
+
}
|
|
167
196
|
addRoutes(serverRoutes) {
|
|
168
197
|
return super.add(formatRoutes(serverRoutes));
|
|
169
198
|
}
|
|
@@ -173,6 +202,18 @@ class KaapiOpenAPI extends api_doc_generator_1.OpenAPI {
|
|
|
173
202
|
}
|
|
174
203
|
exports.KaapiOpenAPI = KaapiOpenAPI;
|
|
175
204
|
class KaapiPostman extends api_doc_generator_1.Postman {
|
|
205
|
+
constructor(options) {
|
|
206
|
+
if (options === null || options === void 0 ? void 0 : options.helperClass) {
|
|
207
|
+
api_doc_mix_helpers_1.PostmanMixHelper.helperClasses.add(options.helperClass);
|
|
208
|
+
}
|
|
209
|
+
super(Object.assign(Object.assign({}, options), { helperClass: api_doc_mix_helpers_1.PostmanMixHelper }));
|
|
210
|
+
}
|
|
211
|
+
addHelperClass(helperClass) {
|
|
212
|
+
api_doc_mix_helpers_1.PostmanMixHelper.helperClasses.add(helperClass);
|
|
213
|
+
}
|
|
214
|
+
removeHelperClass(helperClass) {
|
|
215
|
+
api_doc_mix_helpers_1.PostmanMixHelper.helperClasses.delete(helperClass);
|
|
216
|
+
}
|
|
176
217
|
addRoutes(serverRoutes) {
|
|
177
218
|
return super.add(formatRoutes(serverRoutes));
|
|
178
219
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generators.js","sourceRoot":"","sources":["../../../src/services/docs/generators.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"generators.js","sourceRoot":"","sources":["../../../src/services/docs/generators.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kaapi/kaapi",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.18",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "TypeScript-based framework",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
|
+
"keywords": [
|
|
8
|
+
"typescript",
|
|
9
|
+
"backend",
|
|
10
|
+
"framework",
|
|
11
|
+
"api"
|
|
12
|
+
],
|
|
7
13
|
"author": "demingongo",
|
|
8
14
|
"repository": {
|
|
9
15
|
"type": "git",
|
|
@@ -26,11 +32,10 @@
|
|
|
26
32
|
"swagger-ui-dist": "^5.27.1",
|
|
27
33
|
"tslib": "^2.8.1",
|
|
28
34
|
"winston": "^3.17.0",
|
|
29
|
-
"@kaapi/server": "^0.0.
|
|
35
|
+
"@kaapi/server": "^0.0.18"
|
|
30
36
|
},
|
|
31
37
|
"scripts": {
|
|
32
38
|
"lint": "eslint .",
|
|
33
|
-
"build": "tsc && node ./scripts/buildDT.mjs"
|
|
34
|
-
"test": "echo \"Error: no test specified\" && exit 1"
|
|
39
|
+
"build": "tsc && node ./scripts/buildDT.mjs"
|
|
35
40
|
}
|
|
36
41
|
}
|
package/types/overrides.d.ts
CHANGED
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
import '@hapi/hapi'
|
|
2
|
+
import { OpenAPIHelperInterface } from '@novice1/api-doc-generator'
|
|
3
|
+
|
|
4
|
+
interface KaapiOpenAPIHelperInterface extends OpenAPIHelperInterface {
|
|
5
|
+
isFile(): boolean | undefined;
|
|
6
|
+
getFilesChildren(): Record<string, unknown>;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
type KaapiOpenAPIHelperClass = {
|
|
10
|
+
new(args: {
|
|
11
|
+
isRoot?: boolean;
|
|
12
|
+
value: unknown;
|
|
13
|
+
}): KaapiOpenAPIHelperInterface;
|
|
14
|
+
}
|
|
2
15
|
|
|
3
16
|
declare module '@hapi/hapi' {
|
|
4
17
|
interface PluginSpecificConfiguration {
|
|
@@ -6,9 +19,12 @@ declare module '@hapi/hapi' {
|
|
|
6
19
|
docs?: {
|
|
7
20
|
disabled?: boolean;
|
|
8
21
|
story?: string;
|
|
22
|
+
openAPIHelperClass?: KaapiOpenAPIHelperClass;
|
|
23
|
+
helperSchemaProperty?: string;
|
|
9
24
|
} | false
|
|
10
25
|
};
|
|
26
|
+
[x: string]: unknown;
|
|
11
27
|
}
|
|
12
28
|
}
|
|
13
29
|
|
|
14
|
-
export {}
|
|
30
|
+
export { }
|
package/lib/base-app.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { HandlerDecorations, Lifecycle, ReqRef, ReqRefDefaults } from '@hapi/hapi';
|
|
2
|
-
import { KaapiServerRoute, KaapiServer, KaapiServerOptions } from '@kaapi/server';
|
|
3
|
-
import { ILogger } from './services/log';
|
|
4
|
-
import { IMessaging, IMessagingSender, IMessagingSubscribeConfig, IPublishMethod, ISubscribeMethod } from './services/messaging';
|
|
5
|
-
export interface IKaapiApp extends IMessaging {
|
|
6
|
-
log: ILogger;
|
|
7
|
-
emit: IPublishMethod;
|
|
8
|
-
on: ISubscribeMethod;
|
|
9
|
-
server(): KaapiServer;
|
|
10
|
-
route<Refs extends ReqRef = ReqRefDefaults>(serverRoute: KaapiServerRoute<Refs>, handler?: HandlerDecorations | Lifecycle.Method<Refs, Lifecycle.ReturnValue<Refs>>): this;
|
|
11
|
-
}
|
|
12
|
-
export declare abstract class KaapiBaseApp implements IKaapiApp {
|
|
13
|
-
abstract log: ILogger;
|
|
14
|
-
abstract emit<T = unknown>(topic: string, message: T): Promise<void>;
|
|
15
|
-
abstract on<T = unknown>(topic: string, handler: (message: T, sender: IMessagingSender) => void | Promise<void>, conf?: IMessagingSubscribeConfig | undefined): Promise<void>;
|
|
16
|
-
abstract publish<T = unknown>(topic: string, message: T): Promise<void>;
|
|
17
|
-
abstract subscribe<T = unknown>(topic: string, handler: (message: T, sender: IMessagingSender) => void | Promise<void>, conf?: IMessagingSubscribeConfig | undefined): Promise<void>;
|
|
18
|
-
abstract server(opts?: KaapiServerOptions): KaapiServer;
|
|
19
|
-
protected version?: string;
|
|
20
|
-
protected kaapiServer?: KaapiServer;
|
|
21
|
-
route<Refs extends ReqRef = ReqRefDefaults>(serverRoute: KaapiServerRoute<Refs>, handler?: HandlerDecorations | Lifecycle.Method<Refs, Lifecycle.ReturnValue<Refs>>): this;
|
|
22
|
-
toString(): string;
|
|
23
|
-
}
|
package/lib/base-app.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.KaapiBaseApp = void 0;
|
|
4
|
-
class KaapiBaseApp {
|
|
5
|
-
route(serverRoute, handler) {
|
|
6
|
-
this.server().route(serverRoute, handler);
|
|
7
|
-
return this;
|
|
8
|
-
}
|
|
9
|
-
toString() {
|
|
10
|
-
var _a, _b, _c;
|
|
11
|
-
let result = `${this.version || '0.0.0'}`;
|
|
12
|
-
if (this.kaapiServer) {
|
|
13
|
-
result += `, server: ${(_a = this.kaapiServer) === null || _a === void 0 ? void 0 : _a.server.info.uri}, `;
|
|
14
|
-
result += `state: ${((_b = this.kaapiServer) === null || _b === void 0 ? void 0 : _b.server.info.started) ? new Date((_c = this.kaapiServer) === null || _c === void 0 ? void 0 : _c.server.info.started) : 'STOPPED'}`;
|
|
15
|
-
}
|
|
16
|
-
return result;
|
|
17
|
-
}
|
|
18
|
-
[Symbol.for('nodejs.util.inspect.custom')]() {
|
|
19
|
-
return `${this.constructor.name} <${this.toString()}>`;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
exports.KaapiBaseApp = KaapiBaseApp;
|
|
23
|
-
//# sourceMappingURL=base-app.js.map
|
package/lib/base-app.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base-app.js","sourceRoot":"","sources":["../src/base-app.ts"],"names":[],"mappings":";;;AAoBA,MAAsB,YAAY;IAY9B,KAAK,CACD,WAAmC,EACnC,OAAkF;QAClF,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAO,WAAW,EAAE,OAAO,CAAC,CAAA;QAC/C,OAAO,IAAI,CAAA;IACf,CAAC;IAED,QAAQ;;QACJ,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,CAAA;QACzC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,MAAM,IAAI,aAAa,MAAA,IAAI,CAAC,WAAW,0CAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;YAC5D,MAAM,IAAI,UAAU,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAA,IAAI,CAAC,WAAW,0CAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;QAC7H,CAAC;QACD,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACtC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;IAC3D,CAAC;CACJ;AA/BD,oCA+BC"}
|