@webda/core 1.6.0-beta.3 → 2.0.0-beta.2
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/lib/application.d.ts +355 -195
- package/lib/application.js +188 -682
- package/lib/application.js.map +1 -1
- package/lib/application.spec.js +109 -289
- package/lib/application.spec.js.map +1 -1
- package/lib/core.d.ts +150 -215
- package/lib/core.js +188 -71
- package/lib/core.js.map +1 -1
- package/lib/core.spec.js +103 -42
- package/lib/core.spec.js.map +1 -1
- package/lib/index.d.ts +4 -0
- package/lib/index.js +9 -1
- package/lib/index.js.map +1 -1
- package/lib/models/aclmodel.d.ts +3 -1
- package/lib/models/aclmodel.js +6 -3
- package/lib/models/aclmodel.js.map +1 -1
- package/lib/models/aclmodel.spec.js +10 -5
- package/lib/models/aclmodel.spec.js.map +1 -1
- package/lib/models/coremodel.d.ts +86 -24
- package/lib/models/coremodel.js +85 -36
- package/lib/models/coremodel.js.map +1 -1
- package/lib/models/coremodel.spec.js +21 -2
- package/lib/models/coremodel.spec.js.map +1 -1
- package/lib/models/ident.d.ts +7 -5
- package/lib/models/ident.js +2 -1
- package/lib/models/ident.js.map +1 -1
- package/lib/models/ident.spec.js +1 -1
- package/lib/models/ident.spec.js.map +1 -1
- package/lib/models/ownermodel.d.ts +18 -4
- package/lib/models/ownermodel.js +24 -4
- package/lib/models/ownermodel.js.map +1 -1
- package/lib/models/ownermodel.spec.js +18 -1
- package/lib/models/ownermodel.spec.js.map +1 -1
- package/lib/models/rolemodel.js.map +1 -1
- package/lib/models/rolemodel.spec.js +5 -2
- package/lib/models/rolemodel.spec.js.map +1 -1
- package/lib/models/user.d.ts +7 -6
- package/lib/models/user.js +2 -1
- package/lib/models/user.js.map +1 -1
- package/lib/models/user.spec.js +1 -1
- package/lib/models/user.spec.js.map +1 -1
- package/lib/queues/filequeue.d.ts +2 -7
- package/lib/queues/filequeue.js +4 -13
- package/lib/queues/filequeue.js.map +1 -1
- package/lib/queues/filequeue.spec.js +2 -3
- package/lib/queues/filequeue.spec.js.map +1 -1
- package/lib/queues/memoryqueue.d.ts +2 -7
- package/lib/queues/memoryqueue.js +1 -11
- package/lib/queues/memoryqueue.js.map +1 -1
- package/lib/queues/memoryqueue.spec.js +1 -1
- package/lib/queues/memoryqueue.spec.js.map +1 -1
- package/lib/queues/queue.spec.d.ts +1 -1
- package/lib/queues/queue.spec.js +12 -10
- package/lib/queues/queue.spec.js.map +1 -1
- package/lib/queues/queueservice.d.ts +1 -1
- package/lib/queues/queueservice.js +1 -1
- package/lib/queues/queueservice.js.map +1 -1
- package/lib/router.d.ts +52 -2
- package/lib/router.js +80 -51
- package/lib/router.js.map +1 -1
- package/lib/router.spec.js +23 -6
- package/lib/router.spec.js.map +1 -1
- package/lib/services/asyncevents.d.ts +1 -0
- package/lib/services/asyncevents.js +4 -3
- package/lib/services/asyncevents.js.map +1 -1
- package/lib/services/asyncevents.spec.js +2 -2
- package/lib/services/asyncevents.spec.js.map +1 -1
- package/lib/services/authentication.d.ts +39 -11
- package/lib/services/authentication.js +60 -55
- package/lib/services/authentication.js.map +1 -1
- package/lib/services/authentication.spec.js +2 -1
- package/lib/services/authentication.spec.js.map +1 -1
- package/lib/services/binary.d.ts +127 -65
- package/lib/services/binary.js +255 -98
- package/lib/services/binary.js.map +1 -1
- package/lib/services/binary.spec.d.ts +2 -1
- package/lib/services/binary.spec.js +101 -30
- package/lib/services/binary.spec.js.map +1 -1
- package/lib/services/cloudbinary.d.ts +67 -0
- package/lib/services/cloudbinary.js +178 -0
- package/lib/services/cloudbinary.js.map +1 -0
- package/lib/services/cloudbinary.spec.d.ts +13 -0
- package/lib/services/cloudbinary.spec.js +212 -0
- package/lib/services/cloudbinary.spec.js.map +1 -0
- package/lib/services/configuration.d.ts +7 -2
- package/lib/services/configuration.js +6 -5
- package/lib/services/configuration.js.map +1 -1
- package/lib/services/configuration.spec.js +3 -2
- package/lib/services/configuration.spec.js.map +1 -1
- package/lib/services/cron.d.ts +5 -6
- package/lib/services/cron.js +5 -12
- package/lib/services/cron.js.map +1 -1
- package/lib/services/cron.spec.js +3 -4
- package/lib/services/cron.spec.js.map +1 -1
- package/lib/services/debugmailer.d.ts +3 -5
- package/lib/services/debugmailer.js +3 -11
- package/lib/services/debugmailer.js.map +1 -1
- package/lib/services/debugmailer.spec.js +1 -1
- package/lib/services/debugmailer.spec.js.map +1 -1
- package/lib/services/echo.d.ts +3 -7
- package/lib/services/echo.js +1 -11
- package/lib/services/echo.js.map +1 -1
- package/lib/services/echo.spec.js +4 -3
- package/lib/services/echo.spec.js.map +1 -1
- package/lib/services/filebinary.d.ts +45 -16
- package/lib/services/filebinary.js +147 -50
- package/lib/services/filebinary.js.map +1 -1
- package/lib/services/filebinary.spec.d.ts +4 -2
- package/lib/services/filebinary.spec.js +50 -12
- package/lib/services/filebinary.spec.js.map +1 -1
- package/lib/services/fileconfiguration.d.ts +1 -5
- package/lib/services/fileconfiguration.js +3 -12
- package/lib/services/fileconfiguration.js.map +1 -1
- package/lib/services/fileconfiguration.spec.js +2 -2
- package/lib/services/fileconfiguration.spec.js.map +1 -1
- package/lib/services/invitationservice.d.ts +28 -4
- package/lib/services/invitationservice.js +9 -6
- package/lib/services/invitationservice.js.map +1 -1
- package/lib/services/invitationservice.spec.js +4 -3
- package/lib/services/invitationservice.spec.js.map +1 -1
- package/lib/services/kubernetesconfiguration.d.ts +3 -5
- package/lib/services/kubernetesconfiguration.js +7 -14
- package/lib/services/kubernetesconfiguration.js.map +1 -1
- package/lib/services/kubernetesconfiguration.spec.js +5 -5
- package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
- package/lib/services/mailer.d.ts +1 -5
- package/lib/services/mailer.js +1 -10
- package/lib/services/mailer.js.map +1 -1
- package/lib/services/mailer.spec.js +3 -3
- package/lib/services/mailer.spec.js.map +1 -1
- package/lib/services/notificationservice.d.ts +2 -0
- package/lib/services/notificationservice.js +2 -0
- package/lib/services/notificationservice.js.map +1 -1
- package/lib/services/notificationservice.spec.js +2 -2
- package/lib/services/notificationservice.spec.js.map +1 -1
- package/lib/services/oauth.d.ts +8 -6
- package/lib/services/oauth.js +30 -14
- package/lib/services/oauth.js.map +1 -1
- package/lib/services/oauth.spec.js +11 -10
- package/lib/services/oauth.spec.js.map +1 -1
- package/lib/services/resource.d.ts +18 -5
- package/lib/services/resource.js +42 -23
- package/lib/services/resource.js.map +1 -1
- package/lib/services/resource.spec.js +4 -4
- package/lib/services/resource.spec.js.map +1 -1
- package/lib/services/service.d.ts +25 -25
- package/lib/services/service.js +21 -25
- package/lib/services/service.js.map +1 -1
- package/lib/services/service.spec.js +2 -2
- package/lib/services/service.spec.js.map +1 -1
- package/lib/services/version.d.ts +2 -5
- package/lib/services/version.js +1 -10
- package/lib/services/version.js.map +1 -1
- package/lib/services/version.spec.js +1 -1
- package/lib/services/version.spec.js.map +1 -1
- package/lib/stores/aggregator.d.ts +3 -5
- package/lib/stores/aggregator.js +3 -10
- package/lib/stores/aggregator.js.map +1 -1
- package/lib/stores/file.d.ts +15 -8
- package/lib/stores/file.js +21 -18
- package/lib/stores/file.js.map +1 -1
- package/lib/stores/file.spec.d.ts +3 -1
- package/lib/stores/file.spec.js +32 -8
- package/lib/stores/file.spec.js.map +1 -1
- package/lib/stores/mapper.d.ts +1 -5
- package/lib/stores/mapper.js +5 -13
- package/lib/stores/mapper.js.map +1 -1
- package/lib/stores/mapper.spec.js +2 -2
- package/lib/stores/mapper.spec.js.map +1 -1
- package/lib/stores/memory.d.ts +5 -9
- package/lib/stores/memory.js +5 -17
- package/lib/stores/memory.js.map +1 -1
- package/lib/stores/memory.spec.d.ts +2 -1
- package/lib/stores/memory.spec.js +36 -4
- package/lib/stores/memory.spec.js.map +1 -1
- package/lib/stores/store.d.ts +142 -29
- package/lib/stores/store.js +451 -82
- package/lib/stores/store.js.map +1 -1
- package/lib/stores/store.spec.d.ts +31 -4
- package/lib/stores/store.spec.js +206 -35
- package/lib/stores/store.spec.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLLexer.d.ts +53 -0
- package/lib/stores/webdaql/WebdaQLLexer.js +290 -0
- package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -0
- package/lib/stores/webdaql/WebdaQLParserLexer.d.ts +53 -0
- package/lib/stores/webdaql/WebdaQLParserLexer.js +290 -0
- package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -0
- package/lib/stores/webdaql/WebdaQLParserListener.d.ts +284 -0
- package/lib/stores/webdaql/WebdaQLParserListener.js +4 -0
- package/lib/stores/webdaql/WebdaQLParserListener.js.map +1 -0
- package/lib/stores/webdaql/WebdaQLParserParser.d.ts +301 -0
- package/lib/stores/webdaql/WebdaQLParserParser.js +1781 -0
- package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -0
- package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +174 -0
- package/lib/stores/webdaql/WebdaQLParserVisitor.js +4 -0
- package/lib/stores/webdaql/WebdaQLParserVisitor.js.map +1 -0
- package/lib/stores/webdaql/query.d.ts +300 -0
- package/lib/stores/webdaql/query.js +471 -0
- package/lib/stores/webdaql/query.js.map +1 -0
- package/lib/stores/webdaql/query.spec.d.ts +1 -0
- package/lib/stores/webdaql/query.spec.js +136 -0
- package/lib/stores/webdaql/query.spec.js.map +1 -0
- package/lib/test.d.ts +54 -9
- package/lib/test.js +139 -25
- package/lib/test.js.map +1 -1
- package/lib/unpackedapplication.d.ts +66 -0
- package/lib/unpackedapplication.js +219 -0
- package/lib/unpackedapplication.js.map +1 -0
- package/lib/utils/abstractdeployer.spec.js +1 -1
- package/lib/utils/abstractdeployer.spec.js.map +1 -1
- package/lib/utils/context.d.ts +17 -58
- package/lib/utils/context.js +33 -124
- package/lib/utils/context.js.map +1 -1
- package/lib/utils/context.spec.js +52 -28
- package/lib/utils/context.spec.js.map +1 -1
- package/lib/utils/cookie.d.ts +6 -3
- package/lib/utils/cookie.js +9 -5
- package/lib/utils/cookie.js.map +1 -1
- package/lib/utils/cookie.spec.js +5 -5
- package/lib/utils/cookie.spec.js.map +1 -1
- package/lib/utils/httpcontext.d.ts +182 -0
- package/lib/utils/httpcontext.js +325 -0
- package/lib/utils/httpcontext.js.map +1 -0
- package/lib/utils/httpcontext.spec.d.ts +5 -0
- package/lib/utils/httpcontext.spec.js +90 -0
- package/lib/utils/httpcontext.spec.js.map +1 -0
- package/lib/utils/logger.d.ts +18 -5
- package/lib/utils/logger.js +17 -4
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/logger.spec.js.map +1 -1
- package/lib/utils/serializers.js +5 -1
- package/lib/utils/serializers.js.map +1 -1
- package/lib/utils/serializers.spec.js +3 -3
- package/lib/utils/serializers.spec.js.map +1 -1
- package/lib/utils/waiter.d.ts +1 -1
- package/lib/utils/waiter.js.map +1 -1
- package/lib/utils/waiter.spec.js +2 -2
- package/lib/utils/waiter.spec.js.map +1 -1
- package/package.json +25 -18
- package/test/config-file-no-reload.json +2 -1
- package/test/config-file-reload.json +2 -1
- package/test/config-kube-reload.json +2 -1
- package/test/config-reload.json +1 -1
- package/test/config.json +8 -11
- package/test/config.old.json +1 -1
- package/test/moddas/annotatedservice.js +1 -3
- package/test/moddas/debugmailer.js +2 -7
- package/test/moddas/fakeservice.js +1 -1
- package/test/moddas/voidstore.js +2 -4
- package/test/models/ident.js +1 -1
- package/test/models/task.js +1 -6
- package/webda.module.json +1124 -0
- package/test/config.old-default.json +0 -151
package/lib/services/resource.js
CHANGED
|
@@ -10,7 +10,7 @@ const service_1 = require("./service");
|
|
|
10
10
|
*/
|
|
11
11
|
class ResourceServiceParameters extends service_1.ServiceParameters {
|
|
12
12
|
constructor(params) {
|
|
13
|
-
var _a, _b, _c;
|
|
13
|
+
var _a, _b, _c, _d, _e;
|
|
14
14
|
super(params);
|
|
15
15
|
(_a = this.url) !== null && _a !== void 0 ? _a : (this.url = "resources");
|
|
16
16
|
(_b = this.rootRedirect) !== null && _b !== void 0 ? _b : (this.rootRedirect = false);
|
|
@@ -24,6 +24,8 @@ class ResourceServiceParameters extends service_1.ServiceParameters {
|
|
|
24
24
|
if (!this.folder.endsWith("/")) {
|
|
25
25
|
this.folder += "/";
|
|
26
26
|
}
|
|
27
|
+
(_d = this.index) !== null && _d !== void 0 ? _d : (this.index = "index.html");
|
|
28
|
+
(_e = this.indexFallback) !== null && _e !== void 0 ? _e : (this.indexFallback = true);
|
|
27
29
|
}
|
|
28
30
|
}
|
|
29
31
|
exports.ResourceServiceParameters = ResourceServiceParameters;
|
|
@@ -33,6 +35,7 @@ exports.ResourceServiceParameters = ResourceServiceParameters;
|
|
|
33
35
|
* It is the same as `static` on `express`
|
|
34
36
|
*
|
|
35
37
|
* @category CoreServices
|
|
38
|
+
* @WebdaModda
|
|
36
39
|
*/
|
|
37
40
|
class ResourceService extends service_1.Service {
|
|
38
41
|
/**
|
|
@@ -47,6 +50,7 @@ class ResourceService extends service_1.Service {
|
|
|
47
50
|
computeParameters() {
|
|
48
51
|
super.computeParameters();
|
|
49
52
|
this._resolved = path.resolve(this.parameters.folder);
|
|
53
|
+
this.fileOnly = !fs.lstatSync(this._resolved).isDirectory();
|
|
50
54
|
}
|
|
51
55
|
/**
|
|
52
56
|
* Init the routes
|
|
@@ -58,9 +62,15 @@ class ResourceService extends service_1.Service {
|
|
|
58
62
|
summary: "Get file",
|
|
59
63
|
operationId: "getResource",
|
|
60
64
|
responses: {
|
|
61
|
-
"200":
|
|
62
|
-
|
|
63
|
-
|
|
65
|
+
"200": {
|
|
66
|
+
description: ""
|
|
67
|
+
},
|
|
68
|
+
"401": {
|
|
69
|
+
description: "Illegal resource"
|
|
70
|
+
},
|
|
71
|
+
"404": {
|
|
72
|
+
description: "File not found"
|
|
73
|
+
}
|
|
64
74
|
}
|
|
65
75
|
}
|
|
66
76
|
});
|
|
@@ -70,9 +80,15 @@ class ResourceService extends service_1.Service {
|
|
|
70
80
|
summary: "Get file",
|
|
71
81
|
operationId: "getResources",
|
|
72
82
|
responses: {
|
|
73
|
-
"200":
|
|
74
|
-
|
|
75
|
-
|
|
83
|
+
"200": {
|
|
84
|
+
description: ""
|
|
85
|
+
},
|
|
86
|
+
"401": {
|
|
87
|
+
description: "Illegal resource"
|
|
88
|
+
},
|
|
89
|
+
"404": {
|
|
90
|
+
description: "File not found"
|
|
91
|
+
}
|
|
76
92
|
}
|
|
77
93
|
}
|
|
78
94
|
}, true);
|
|
@@ -83,7 +99,9 @@ class ResourceService extends service_1.Service {
|
|
|
83
99
|
summary: "Serve resource",
|
|
84
100
|
operationId: "redirectRoottoResources",
|
|
85
101
|
responses: {
|
|
86
|
-
"302":
|
|
102
|
+
"302": {
|
|
103
|
+
description: ""
|
|
104
|
+
}
|
|
87
105
|
}
|
|
88
106
|
}
|
|
89
107
|
});
|
|
@@ -103,31 +121,32 @@ class ResourceService extends service_1.Service {
|
|
|
103
121
|
* @param ctx
|
|
104
122
|
*/
|
|
105
123
|
_serve(ctx) {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
124
|
+
let file = this._resolved;
|
|
125
|
+
// If resource is not a file
|
|
126
|
+
if (!this.fileOnly) {
|
|
127
|
+
file = path.join(this._resolved, ctx.parameter("resource") || this.parameters.index);
|
|
128
|
+
}
|
|
129
|
+
// Avoid path transversal
|
|
109
130
|
if (!path.resolve(file).startsWith(this._resolved)) {
|
|
110
131
|
throw 401;
|
|
111
132
|
}
|
|
112
133
|
if (!fs.existsSync(file)) {
|
|
113
|
-
|
|
134
|
+
file = path.join(this._resolved, this.parameters.index);
|
|
135
|
+
// Catch All for SPA
|
|
136
|
+
if (!(this.parameters.indexFallback && fs.existsSync(file))) {
|
|
137
|
+
throw 404;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
let mimetype = mime.lookup(file) || "application/octet-stream";
|
|
141
|
+
if (mimetype.startsWith("text/")) {
|
|
142
|
+
mimetype += "; charset=UTF-8";
|
|
114
143
|
}
|
|
115
144
|
ctx.writeHead(200, {
|
|
116
|
-
"Content-Type":
|
|
145
|
+
"Content-Type": mimetype
|
|
117
146
|
});
|
|
118
147
|
ctx.write(fs.readFileSync(file));
|
|
119
148
|
ctx.end();
|
|
120
149
|
}
|
|
121
|
-
/**
|
|
122
|
-
* @inheritdoc
|
|
123
|
-
*/
|
|
124
|
-
static getModda() {
|
|
125
|
-
return {
|
|
126
|
-
uuid: "Webda/ResourceService",
|
|
127
|
-
label: "Resources Service",
|
|
128
|
-
description: "Serve a static directory"
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
150
|
}
|
|
132
151
|
exports.default = ResourceService;
|
|
133
152
|
exports.ResourceService = ResourceService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/services/resource.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,mCAAmC;AACnC,6BAA6B;
|
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/services/resource.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,9 +15,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
15
15
|
});
|
|
16
16
|
};
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const mocha_1 = require("@testdeck/mocha");
|
|
18
19
|
const assert = require("assert");
|
|
19
20
|
const fs = require("fs");
|
|
20
|
-
const mocha_1 = require("@testdeck/mocha");
|
|
21
21
|
const test_1 = require("../test");
|
|
22
22
|
const resource_1 = require("./resource");
|
|
23
23
|
let ResourceTest = class ResourceTest extends test_1.WebdaTest {
|
|
@@ -56,7 +56,6 @@ let ResourceTest = class ResourceTest extends test_1.WebdaTest {
|
|
|
56
56
|
assert.ok(this.webda.getRouter().getRouteFromUrl(this.ctx, "GET", "/") !== undefined);
|
|
57
57
|
this.resource._redirect(this.ctx);
|
|
58
58
|
assert.strictEqual(this.ctx.getResponseHeaders().Location, "http://test.webda.io/resources/");
|
|
59
|
-
resource_1.default.getModda();
|
|
60
59
|
});
|
|
61
60
|
}
|
|
62
61
|
index() {
|
|
@@ -68,9 +67,10 @@ let ResourceTest = class ResourceTest extends test_1.WebdaTest {
|
|
|
68
67
|
}
|
|
69
68
|
unknownFile() {
|
|
70
69
|
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
this.getService("ResourceService").getParameters().indexFallback = true;
|
|
71
71
|
let executor = this.getExecutor(this.ctx, "test.webda.io", "GET", "/resources/config.unknown.json");
|
|
72
72
|
assert.notStrictEqual(executor, undefined);
|
|
73
|
-
yield assert.rejects(() => executor.execute(this.ctx),
|
|
73
|
+
yield assert.rejects(() => executor.execute(this.ctx), /404/);
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
76
|
jsonFile() {
|
|
@@ -97,7 +97,7 @@ let ResourceTest = class ResourceTest extends test_1.WebdaTest {
|
|
|
97
97
|
assert.notStrictEqual(executor, undefined);
|
|
98
98
|
yield executor.execute(this.ctx);
|
|
99
99
|
assert.strictEqual(this.ctx.getResponseBody().toString(), fs.readFileSync("./test/data/test.txt").toString());
|
|
100
|
-
assert.strictEqual(this.ctx.getResponseHeaders()["Content-Type"], "text/plain");
|
|
100
|
+
assert.strictEqual(this.ctx.getResponseHeaders()["Content-Type"], "text/plain; charset=UTF-8");
|
|
101
101
|
});
|
|
102
102
|
}
|
|
103
103
|
// Check Store HTTP mapping
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.spec.js","sourceRoot":"","sources":["../../src/services/resource.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iCAAiC;AACjC,yBAAyB;AACzB,
|
|
1
|
+
{"version":3,"file":"resource.spec.js","sourceRoot":"","sources":["../../src/services/resource.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import events = require("events");
|
|
3
|
-
import { Core, Logger } from "../index";
|
|
4
|
-
import { HttpMethodType } from "../utils/context";
|
|
5
2
|
import { WorkerLogLevel } from "@webda/workout";
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
3
|
+
import * as events from "events";
|
|
4
|
+
import { Core, Logger } from "../index";
|
|
5
|
+
import { OpenAPIWebdaDefinition } from "../router";
|
|
6
|
+
import { HttpMethodType } from "../utils/httpcontext";
|
|
8
7
|
/**
|
|
9
8
|
* Inject a Bean inside this attribute
|
|
10
9
|
*
|
|
@@ -34,12 +33,18 @@ export declare class ServiceParameters {
|
|
|
34
33
|
*/
|
|
35
34
|
constructor(params: any);
|
|
36
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Create a new type with only optional
|
|
38
|
+
*/
|
|
37
39
|
export declare type DeepPartial<T> = {
|
|
38
40
|
[P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
|
|
39
41
|
};
|
|
40
42
|
export declare type PartialModel<T> = {
|
|
41
43
|
[P in keyof T]: T[P] extends Function ? T[P] : T[P] extends object ? null | PartialModel<T[P]> : T[P] | null;
|
|
42
44
|
};
|
|
45
|
+
export declare type Events = {
|
|
46
|
+
[key: string]: unknown;
|
|
47
|
+
};
|
|
43
48
|
/**
|
|
44
49
|
* Use this object for representing a service in the application
|
|
45
50
|
* A Service is a singleton in the application, that is init after all others services are created
|
|
@@ -50,7 +55,7 @@ export declare type PartialModel<T> = {
|
|
|
50
55
|
* @abstract
|
|
51
56
|
* @class Service
|
|
52
57
|
*/
|
|
53
|
-
declare abstract class Service<T extends ServiceParameters = ServiceParameters> extends events.EventEmitter {
|
|
58
|
+
declare abstract class Service<T extends ServiceParameters = ServiceParameters, E extends Events = Events> extends events.EventEmitter {
|
|
54
59
|
/**
|
|
55
60
|
* Webda Core object
|
|
56
61
|
*/
|
|
@@ -113,7 +118,7 @@ declare abstract class Service<T extends ServiceParameters = ServiceParameters>
|
|
|
113
118
|
* @param {Array[]} methods
|
|
114
119
|
* @param {Function} executer Method to execute for this route
|
|
115
120
|
*/
|
|
116
|
-
protected addRoute(url: string, methods: HttpMethodType[], executer: Function, openapi?:
|
|
121
|
+
protected addRoute(url: string, methods: HttpMethodType[], executer: Function, openapi?: OpenAPIWebdaDefinition, allowPath?: boolean, override?: boolean): void;
|
|
117
122
|
/**
|
|
118
123
|
* Init the routes
|
|
119
124
|
*/
|
|
@@ -125,7 +130,7 @@ declare abstract class Service<T extends ServiceParameters = ServiceParameters>
|
|
|
125
130
|
* @param {Object} object - The object to export
|
|
126
131
|
* @return {String} The export of the strip object ( removed all attribute with _ )
|
|
127
132
|
*/
|
|
128
|
-
toPublicJSON(object:
|
|
133
|
+
toPublicJSON(object: unknown): string;
|
|
129
134
|
/**
|
|
130
135
|
* Will be called after all the Services are created
|
|
131
136
|
*
|
|
@@ -137,7 +142,7 @@ declare abstract class Service<T extends ServiceParameters = ServiceParameters>
|
|
|
137
142
|
*
|
|
138
143
|
* @param config new parameters for the service
|
|
139
144
|
*/
|
|
140
|
-
reinit(config:
|
|
145
|
+
reinit(config: DeepPartial<T>): Promise<void>;
|
|
141
146
|
/**
|
|
142
147
|
* Display a message if the listener takes too long
|
|
143
148
|
* @param start
|
|
@@ -146,29 +151,32 @@ declare abstract class Service<T extends ServiceParameters = ServiceParameters>
|
|
|
146
151
|
/**
|
|
147
152
|
* Emit the event with data and wait for Promise to finish if listener returned a Promise
|
|
148
153
|
*/
|
|
149
|
-
emitSync(event:
|
|
154
|
+
emitSync<Key extends keyof E>(event: Key, data: E[Key]): Promise<any[]>;
|
|
150
155
|
/**
|
|
151
156
|
* Override to allow capturing long listeners
|
|
152
157
|
* @override
|
|
153
158
|
*/
|
|
154
|
-
emit(event:
|
|
159
|
+
emit<Key extends keyof E>(event: Key | symbol, data: E[Key]): boolean;
|
|
160
|
+
/**
|
|
161
|
+
* Type the listener part
|
|
162
|
+
* @param event
|
|
163
|
+
* @param listener
|
|
164
|
+
* @param queue
|
|
165
|
+
* @returns
|
|
166
|
+
*/
|
|
167
|
+
on<Key extends keyof E>(event: Key | symbol, listener: (evt: E[Key]) => void): this;
|
|
155
168
|
/**
|
|
156
169
|
* Listen to an event as on(...) would do except that it will be asynchronous
|
|
157
170
|
* @param event
|
|
158
171
|
* @param callback
|
|
159
172
|
* @param queue Name of queue to use, can be undefined, queue name are used to define differents priorities
|
|
160
173
|
*/
|
|
161
|
-
onAsync(event:
|
|
174
|
+
onAsync<Key extends keyof E>(event: Key, listener: (evt: E[Key]) => void, queue?: string): void;
|
|
162
175
|
/**
|
|
163
176
|
* Return a webda service
|
|
164
177
|
* @param service name to retrieve
|
|
165
178
|
*/
|
|
166
179
|
getService<K extends Service<ServiceParameters>>(service: string): K;
|
|
167
|
-
/**
|
|
168
|
-
* Return the Modda definition if any
|
|
169
|
-
*
|
|
170
|
-
*/
|
|
171
|
-
static getModda(): ModdaDefinition | void;
|
|
172
180
|
/**
|
|
173
181
|
* Get service name
|
|
174
182
|
*/
|
|
@@ -189,13 +197,5 @@ declare abstract class Service<T extends ServiceParameters = ServiceParameters>
|
|
|
189
197
|
* @param args
|
|
190
198
|
*/
|
|
191
199
|
log(level: WorkerLogLevel, ...args: any[]): void;
|
|
192
|
-
/**
|
|
193
|
-
* Allow to specify the JSONSchema to configure this service
|
|
194
|
-
*
|
|
195
|
-
* Return undefined by default to fallback on the guess from ServiceParamaters
|
|
196
|
-
*
|
|
197
|
-
* Using this method should only be exception
|
|
198
|
-
*/
|
|
199
|
-
static getSchema(): JSONSchema6;
|
|
200
200
|
}
|
|
201
201
|
export { Service };
|
package/lib/services/service.js
CHANGED
|
@@ -29,7 +29,7 @@ class Injector {
|
|
|
29
29
|
this.optional = optional;
|
|
30
30
|
if (!defaultValue) {
|
|
31
31
|
if (parameterOrName.startsWith("params:")) {
|
|
32
|
-
this.parameter = parameterOrName.
|
|
32
|
+
this.parameter = parameterOrName.substring(7);
|
|
33
33
|
}
|
|
34
34
|
else {
|
|
35
35
|
this.value = parameterOrName;
|
|
@@ -182,7 +182,7 @@ class Service extends events.EventEmitter {
|
|
|
182
182
|
* @param {Array[]} methods
|
|
183
183
|
* @param {Function} executer Method to execute for this route
|
|
184
184
|
*/
|
|
185
|
-
addRoute(url, methods, executer, openapi = {}, allowPath = false) {
|
|
185
|
+
addRoute(url, methods, executer, openapi = {}, allowPath = false, override = false) {
|
|
186
186
|
let info = {};
|
|
187
187
|
info._method = executer;
|
|
188
188
|
info.method = methods;
|
|
@@ -194,7 +194,8 @@ class Service extends events.EventEmitter {
|
|
|
194
194
|
executor: this._name,
|
|
195
195
|
allowPath,
|
|
196
196
|
openapi,
|
|
197
|
-
methods
|
|
197
|
+
methods,
|
|
198
|
+
override
|
|
198
199
|
});
|
|
199
200
|
}
|
|
200
201
|
/**
|
|
@@ -272,22 +273,33 @@ class Service extends events.EventEmitter {
|
|
|
272
273
|
* Override to allow capturing long listeners
|
|
273
274
|
* @override
|
|
274
275
|
*/
|
|
275
|
-
emit(event,
|
|
276
|
+
emit(event, data) {
|
|
276
277
|
for (let listener of this.listeners(event)) {
|
|
277
278
|
let start = Date.now();
|
|
278
|
-
listener(
|
|
279
|
+
listener(data);
|
|
279
280
|
this.elapse(start);
|
|
280
281
|
}
|
|
281
282
|
return true;
|
|
282
283
|
}
|
|
284
|
+
/**
|
|
285
|
+
* Type the listener part
|
|
286
|
+
* @param event
|
|
287
|
+
* @param listener
|
|
288
|
+
* @param queue
|
|
289
|
+
* @returns
|
|
290
|
+
*/
|
|
291
|
+
on(event, listener) {
|
|
292
|
+
super.on(event, listener);
|
|
293
|
+
return this;
|
|
294
|
+
}
|
|
283
295
|
/**
|
|
284
296
|
* Listen to an event as on(...) would do except that it will be asynchronous
|
|
285
297
|
* @param event
|
|
286
298
|
* @param callback
|
|
287
299
|
* @param queue Name of queue to use, can be undefined, queue name are used to define differents priorities
|
|
288
300
|
*/
|
|
289
|
-
onAsync(event,
|
|
290
|
-
this._webda.getService("AsyncEvents").bindAsyncListener(this, event,
|
|
301
|
+
onAsync(event, listener, queue = undefined) {
|
|
302
|
+
this._webda.getService("AsyncEvents").bindAsyncListener(this, event, listener, queue);
|
|
291
303
|
}
|
|
292
304
|
/**
|
|
293
305
|
* Return a webda service
|
|
@@ -296,13 +308,6 @@ class Service extends events.EventEmitter {
|
|
|
296
308
|
getService(service) {
|
|
297
309
|
return this._webda.getService(service);
|
|
298
310
|
}
|
|
299
|
-
/**
|
|
300
|
-
* Return the Modda definition if any
|
|
301
|
-
*
|
|
302
|
-
*/
|
|
303
|
-
static getModda() {
|
|
304
|
-
// Can be overriden by subclasses if needed
|
|
305
|
-
}
|
|
306
311
|
/**
|
|
307
312
|
* Get service name
|
|
308
313
|
*/
|
|
@@ -333,17 +338,8 @@ class Service extends events.EventEmitter {
|
|
|
333
338
|
* @param args
|
|
334
339
|
*/
|
|
335
340
|
log(level, ...args) {
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
/**
|
|
339
|
-
* Allow to specify the JSONSchema to configure this service
|
|
340
|
-
*
|
|
341
|
-
* Return undefined by default to fallback on the guess from ServiceParamaters
|
|
342
|
-
*
|
|
343
|
-
* Using this method should only be exception
|
|
344
|
-
*/
|
|
345
|
-
static getSchema() {
|
|
346
|
-
return undefined;
|
|
341
|
+
// Add the service name to avoid confusion
|
|
342
|
+
this.logger.log(level, `[${this._name}]`, ...args);
|
|
347
343
|
}
|
|
348
344
|
}
|
|
349
345
|
exports.Service = Service;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/services/service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/services/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,10 +16,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
16
16
|
};
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const mocha_1 = require("@testdeck/mocha");
|
|
19
|
-
const test_1 = require("../test");
|
|
20
19
|
const assert = require("assert");
|
|
21
|
-
const __1 = require("..");
|
|
22
20
|
const sinon = require("sinon");
|
|
21
|
+
const __1 = require("..");
|
|
22
|
+
const test_1 = require("../test");
|
|
23
23
|
const service_1 = require("./service");
|
|
24
24
|
class FakeServiceParameters extends service_1.ServiceParameters {
|
|
25
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.spec.js","sourceRoot":"","sources":["../../src/services/service.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"service.spec.js","sourceRoot":"","sources":["../../src/services/service.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Context, Service, ServiceParameters } from "..";
|
|
2
2
|
/**
|
|
3
3
|
* Version parameters
|
|
4
4
|
*/
|
|
@@ -14,6 +14,7 @@ export declare class VersionServiceParameters extends ServiceParameters {
|
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* Display the version of the app on a route
|
|
17
|
+
* @WebdaModda VersionService
|
|
17
18
|
*/
|
|
18
19
|
export declare class VersionService<T extends VersionServiceParameters = VersionServiceParameters> extends Service<T> {
|
|
19
20
|
/**
|
|
@@ -30,8 +31,4 @@ export declare class VersionService<T extends VersionServiceParameters = Version
|
|
|
30
31
|
* @param ctx
|
|
31
32
|
*/
|
|
32
33
|
version(ctx: Context): void;
|
|
33
|
-
/**
|
|
34
|
-
* @inheritdoc
|
|
35
|
-
*/
|
|
36
|
-
static getModda(): ModdaDefinition;
|
|
37
34
|
}
|
package/lib/services/version.js
CHANGED
|
@@ -10,6 +10,7 @@ class VersionServiceParameters extends __1.ServiceParameters {
|
|
|
10
10
|
exports.VersionServiceParameters = VersionServiceParameters;
|
|
11
11
|
/**
|
|
12
12
|
* Display the version of the app on a route
|
|
13
|
+
* @WebdaModda VersionService
|
|
13
14
|
*/
|
|
14
15
|
class VersionService extends __1.Service {
|
|
15
16
|
/**
|
|
@@ -36,16 +37,6 @@ class VersionService extends __1.Service {
|
|
|
36
37
|
ctx.setHeader("Content-Type", "text/plain");
|
|
37
38
|
ctx.write(this.parameters.version);
|
|
38
39
|
}
|
|
39
|
-
/**
|
|
40
|
-
* @inheritdoc
|
|
41
|
-
*/
|
|
42
|
-
static getModda() {
|
|
43
|
-
return {
|
|
44
|
-
uuid: "Webda/Version",
|
|
45
|
-
label: "Version",
|
|
46
|
-
description: "Display your application version on a route"
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
40
|
}
|
|
50
41
|
exports.VersionService = VersionService;
|
|
51
42
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/services/version.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/services/version.ts"],"names":[],"mappings":";;;AAAA,0BAAyD;AAEzD;;GAEG;AACH,MAAa,wBAAyB,SAAQ,qBAAiB;CAS9D;AATD,4DASC;AAED;;;GAGG;AACH,MAAa,cAA8E,SAAQ,WAAU;IAC3G;;OAEG;IACH,UAAU;QACR,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAAW;QACxB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,CAAC,qBAAqB,EAAE,CAAC,OAAO,CAAC;QACpG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC;QACtC,OAAO,IAAI,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,GAAY;QAClB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAC5C,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;CACF;AA3BD,wCA2BC"}
|
|
@@ -16,8 +16,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
16
16
|
};
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const mocha_1 = require("@testdeck/mocha");
|
|
19
|
-
const test_1 = require("../test");
|
|
20
19
|
const assert = require("assert");
|
|
20
|
+
const test_1 = require("../test");
|
|
21
21
|
let VersionTest = class VersionTest extends test_1.WebdaTest {
|
|
22
22
|
normal() {
|
|
23
23
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.spec.js","sourceRoot":"","sources":["../../src/services/version.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"version.spec.js","sourceRoot":"","sources":["../../src/services/version.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAA8C;AAC9C,iCAAiC;AACjC,kCAAoC;AAGpC,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,gBAAS;IAE3B,MAAM;;YACV,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxE,8CAA8C;YAC9C,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;KAAA;CACF,CAAA;AANC;IADC,YAAI;yCAMJ;AAPG,WAAW;IADhB,aAAK;GACA,WAAW,CAQhB"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ModdaDefinition } from "../core";
|
|
2
1
|
import { CoreModel } from "../models/coremodel";
|
|
3
2
|
import MapperService, { MapperParameters, MapUpdates } from "./mapper";
|
|
4
3
|
export declare class AggregatorParameters extends MapperParameters {
|
|
@@ -10,7 +9,10 @@ export declare class AggregatorParameters extends MapperParameters {
|
|
|
10
9
|
}
|
|
11
10
|
/**
|
|
12
11
|
* Service that aggregate several CoreModel into one
|
|
12
|
+
*
|
|
13
13
|
* Similar to a Mapper except that the target is constant
|
|
14
|
+
*
|
|
15
|
+
* @WebdaModda Aggregator
|
|
14
16
|
*/
|
|
15
17
|
export default class AggregatorService<T extends AggregatorParameters = AggregatorParameters> extends MapperService<T> {
|
|
16
18
|
/**
|
|
@@ -35,9 +37,5 @@ export default class AggregatorService<T extends AggregatorParameters = Aggregat
|
|
|
35
37
|
* @returns
|
|
36
38
|
*/
|
|
37
39
|
handleMap(object: CoreModel, updates: MapUpdates): Promise<void>;
|
|
38
|
-
/**
|
|
39
|
-
* @override
|
|
40
|
-
*/
|
|
41
|
-
static getModda(): ModdaDefinition;
|
|
42
40
|
}
|
|
43
41
|
export { AggregatorService };
|
package/lib/stores/aggregator.js
CHANGED
|
@@ -21,7 +21,10 @@ class AggregatorParameters extends mapper_1.MapperParameters {
|
|
|
21
21
|
exports.AggregatorParameters = AggregatorParameters;
|
|
22
22
|
/**
|
|
23
23
|
* Service that aggregate several CoreModel into one
|
|
24
|
+
*
|
|
24
25
|
* Similar to a Mapper except that the target is constant
|
|
26
|
+
*
|
|
27
|
+
* @WebdaModda Aggregator
|
|
25
28
|
*/
|
|
26
29
|
class AggregatorService extends mapper_1.default {
|
|
27
30
|
/**
|
|
@@ -90,16 +93,6 @@ class AggregatorService extends mapper_1.default {
|
|
|
90
93
|
yield this.targetStore._patch(mapUpdates, this.parameters.key);
|
|
91
94
|
});
|
|
92
95
|
}
|
|
93
|
-
/**
|
|
94
|
-
* @override
|
|
95
|
-
*/
|
|
96
|
-
static getModda() {
|
|
97
|
-
return {
|
|
98
|
-
uuid: "Webda/Aggregator",
|
|
99
|
-
label: "Aggregator",
|
|
100
|
-
description: "Deduplicate content to an aggregate"
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
96
|
}
|
|
104
97
|
exports.default = AggregatorService;
|
|
105
98
|
exports.AggregatorService = AggregatorService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregator.js","sourceRoot":"","sources":["../../src/stores/aggregator.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"aggregator.js","sourceRoot":"","sources":["../../src/stores/aggregator.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,qCAAuE;AAEvE,MAAa,oBAAqB,SAAQ,yBAAgB;IAMxD,YAAY,MAAW;;QACrB,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,MAAA,IAAI,CAAC,GAAG,oCAAR,IAAI,CAAC,GAAG,GAAK,OAAO,EAAC;IACvB,CAAC;CACF;AAVD,oDAUC;AAED;;;;;;GAMG;AACH,MAAqB,iBAAyE,SAAQ,gBAAgB;IACpH;;;;OAIG;IACG,IAAI;;YACR,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/B,CAAC;KAAA;IAED;;OAEG;IACH,cAAc,CAAC,MAAW;QACxB,OAAO,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACG,eAAe;;YACnB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;gBACzD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;oBAC1B,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG;iBAC1B,CAAC,CAAC;aACJ;QACH,CAAC;KAAA;IAED;;;;;;OAMG;IACG,SAAS,CAAC,MAAiB,EAAE,OAAmB;;YACpD,IAAI,UAAU,GAAQ,EAAE,CAAC;YACzB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,KAAK,IAAI,CAAC,IAAI,OAAO,EAAE;oBACrB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBAC1C,QAAQ,GAAG,IAAI,CAAC;qBACjB;iBACF;gBACD,IAAI,CAAC,QAAQ,EAAE;oBACb,OAAO;iBACR;aACF;iBAAM,IAAI,OAAO,KAAK,SAAS,EAAE;gBAChC,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC9E,OAAO;aACR;iBAAM,IAAI,OAAO,KAAK,SAAS,EAAE;gBAChC,OAAO,GAAG,MAAM,CAAC;aAClB;YACD,gBAAgB;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBAClC,MAAM,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC;YACtC,UAAU,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACjE,CAAC;KAAA;CACF;AA9DD,oCA8DC;AAEQ,8CAAiB"}
|