@kravc/dos 2.0.0-alpha.13 → 2.0.0-alpha.14
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.
|
@@ -6,7 +6,6 @@ import { Schema, Validator } from '@kravc/schema';
|
|
|
6
6
|
declare const createDefaultContext: (config: ContextConfig, request: Request, extraContext: ExtraContext) => Context;
|
|
7
7
|
type Module = {
|
|
8
8
|
id: string;
|
|
9
|
-
get isComponent(): boolean;
|
|
10
9
|
};
|
|
11
10
|
type Options = {
|
|
12
11
|
url?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Service.d.ts","sourceRoot":"","sources":["../../src/Service/Service.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,OAAO,OAAO,EAAE,EAAE,KAAK,aAAa,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1F,OAAO,EAAO,MAAM,EAAE,SAAS,EAA0C,MAAM,eAAe,CAAC;AAoB/F,6DAA6D;AAC7D,QAAA,MAAM,oBAAoB,GACxB,QAAQ,aAAa,EACrB,SAAS,OAAO,EAChB,cAAc,YAAY,YACmB,CAAC;AAEhD,KAAK,MAAM,GAAG;IACZ,EAAE,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"Service.d.ts","sourceRoot":"","sources":["../../src/Service/Service.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,OAAO,OAAO,EAAE,EAAE,KAAK,aAAa,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1F,OAAO,EAAO,MAAM,EAAE,SAAS,EAA0C,MAAM,eAAe,CAAC;AAoB/F,6DAA6D;AAC7D,QAAA,MAAM,oBAAoB,GACxB,QAAQ,aAAa,EACrB,SAAS,OAAO,EAChB,cAAc,YAAY,YACmB,CAAC;AAEhD,KAAK,MAAM,GAAG;IACZ,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,oBAAoB,CAAC;IAC5C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAaF,cAAc;AACd,cAAM,OAAO;IACX,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,eAAe,CAAe;IAEtC,gCAAgC;gBACpB,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,OAAY;IAuFpD,gCAAgC;IAChC,IAAI,OAAO,WAEV;IAED,iCAAiC;IACjC,IAAI,SAAS,cAEZ;IAED,qCAAqC;IACrC,IAAI,IAAI,2BAEP;IAED,+CAA+C;IAC/C,GAAG,CAAC,WAAW,EAAE,MAAM,GAE0C,OAAO,SAAS;IAGjF,kCAAkC;IAC5B,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,GAAE,YAAiB;;;;;;;;;;;;;;;;;IA2F/D,mEAAmE;IACnE,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,wBAAwB,EAAE,OAAO;IAyB9F,sDAAsD;IACtD,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAqBvE,6CAA6C;IAC7C,cAAc,CAAC,cAAc,EAAE,OAAO,SAAS;CAWhD;AAED,eAAe,OAAO,CAAC"}
|
package/dist/Service/Service.js
CHANGED
|
@@ -3,6 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const Component_1 = __importDefault(require("../Component"));
|
|
7
|
+
const Operation_1 = __importDefault(require("../Operation"));
|
|
6
8
|
const safe_stable_stringify_1 = __importDefault(require("safe-stable-stringify"));
|
|
7
9
|
const spec_1 = require("./spec");
|
|
8
10
|
const lodash_1 = require("lodash");
|
|
@@ -19,6 +21,11 @@ const DEFAULT_SERVICE_PATH = `${ROOT_PATH}/src`;
|
|
|
19
21
|
const DEFAULT_SKIP_OPERATIONS = [];
|
|
20
22
|
/** Creates operation context using default Context class. */
|
|
21
23
|
const createDefaultContext = (config, request, extraContext) => new Context_1.default(config, request, extraContext);
|
|
24
|
+
/** Returns true if TargetClass is a constructor whose prototype extends BaseClass. */
|
|
25
|
+
function isExtendedFrom(TargetClass, BaseClass) {
|
|
26
|
+
return (typeof TargetClass === 'function' &&
|
|
27
|
+
TargetClass.prototype instanceof BaseClass);
|
|
28
|
+
}
|
|
22
29
|
/** Service */
|
|
23
30
|
class Service {
|
|
24
31
|
_url;
|
|
@@ -35,10 +42,12 @@ class Service {
|
|
|
35
42
|
url = url + '/';
|
|
36
43
|
}
|
|
37
44
|
const { path = DEFAULT_SERVICE_PATH, context = {}, createContext = createDefaultContext, skipOperations = DEFAULT_SKIP_OPERATIONS, } = options;
|
|
38
|
-
|
|
39
|
-
.filter(
|
|
40
|
-
|
|
41
|
-
.filter(
|
|
45
|
+
const nonSchemas = modules
|
|
46
|
+
.filter(m => !(m instanceof schema_1.Schema));
|
|
47
|
+
let components = nonSchemas
|
|
48
|
+
.filter(m => isExtendedFrom(m, Component_1.default));
|
|
49
|
+
const operations = nonSchemas
|
|
50
|
+
.filter(m => isExtendedFrom(m, Operation_1.default))
|
|
42
51
|
.filter(({ id: operationId }) => !skipOperations.includes(operationId));
|
|
43
52
|
const referencedComponents = (0, lodash_1.compact)(operations.map(({ Component }) => Component));
|
|
44
53
|
components = (0, lodash_1.uniq)([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/Service/Service.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/Service/Service.ts"],"names":[],"mappings":";;;;;AAAA,6DAAqC;AACrC,6DAAqC;AACrC,kFAA8C;AAE9C,iCAAoC;AACpC,mCAA4C;AAC5C,yDAA0F;AAC1F,0CAA+F;AAE/F,qCAMkB;AAElB,4DAAoC;AACpC,8DAAsC;AACtC,0EAAkD;AAClD,oFAA4D;AAE5D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAChC,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAC7C,MAAM,oBAAoB,GAAG,GAAG,SAAS,MAAM,CAAC;AAChD,MAAM,uBAAuB,GAAG,EAAc,CAAC;AAE/C,6DAA6D;AAC7D,MAAM,oBAAoB,GAAG,CAC3B,MAAqB,EACrB,OAAgB,EAChB,YAA0B,EAC1B,EAAE,CAAC,IAAI,iBAAO,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AAchD,sFAAsF;AACtF,SAAS,cAAc,CACrB,WAAoB,EACpB,SAA8C;IAE9C,OAAO,CACL,OAAO,WAAW,KAAK,UAAU;QAChC,WAA4D,CAAC,SAAS,YAAY,SAAS,CAC7F,CAAC;AACJ,CAAC;AAED,cAAc;AACd,MAAM,OAAO;IACH,IAAI,CAAS;IACb,KAAK,CAAqB;IAC1B,UAAU,CAAY;IACtB,cAAc,CAA8B;IAC5C,cAAc,CAAmC;IACjD,eAAe,CAAe;IAEtC,gCAAgC;IAChC,YAAY,OAAiB,EAAE,UAAmB,EAAE;QAClD,IAAI,EAAE,GAAG,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC;QAEpC,MAAM,kBAAkB,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,kBAAkB,EAAE,CAAC;YACvB,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;QAClB,CAAC;QAED,MAAM,EACJ,IAAI,GAAG,oBAAoB,EAC3B,OAAO,GAAG,EAAE,EACZ,aAAa,GAAG,oBAAoB,EACpC,cAAc,GAAG,uBAAuB,GACzC,GAAG,OAAO,CAAC;QAEZ,MAAM,UAAU,GAAG,OAAO;aACvB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,eAAM,CAAC,CAAC,CAAC;QAEvC,IAAI,UAAU,GAAG,UAAU;aACxB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,mBAAS,CAAC,CAAyB,CAAC;QAErE,MAAM,UAAU,GAAG,UAAU;aAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,mBAAS,CAAC,CAAC;aACzC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAyB,CAAC;QAElG,MAAM,oBAAoB,GAAG,IAAA,gBAAO,EAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAEnF,UAAU,GAAG,IAAA,aAAI,EAAC;YAChB,GAAG,UAAU;YACb,GAAG,oBAAoB;SACxB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAA,yBAAgB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEnD,UAAU,CAAC,uBAAc,CAAC,EAAE,CAAC,GAAG,uBAAc,CAAC,MAAM,CAAC;QAEtD,KAAK,MAAM,cAAc,IAAI,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBAE7C,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,cAAc,CAAC,EAAE,gBAAgB,CAAC,CAAC;gBAC9E,CAAC;gBAED,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC;YACjC,CAAC;YAED,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAO,CAAC;QACzD,CAAC;QAED,MAAM,aAAa,GAAG,EAAsC,CAAC;QAE7D,KAAK,MAAM,cAAc,IAAI,UAAU,EAAE,CAAC;YACxC,MAAM,EACJ,WAAW,EACX,YAAY,EACZ,cAAc,GACf,GAAG,cAAc,CAAC;YAEnB,IAAI,WAAW,EAAE,CAAC;gBAChB,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC;YAC3C,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC;YAC7C,CAAC;YAED,IAAI,cAAc,EAAE,CAAC;gBACnB,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC;YACjD,CAAC;YAED,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC;QACpD,CAAC;QAED,MAAM,IAAI,GAAG,IAAA,iBAAU,EAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;IACjC,CAAC;IAED,gCAAgC;IAChC,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,iCAAiC;IACjC,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,qCAAqC;IACrC,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,+CAA+C;IAC/C,GAAG,CAAC,WAAmB;QACrB,MAAM,aAAa,GAAG,gCAAgC,CAAC;QACvD,OAAO,IAAA,YAAG,EAAC,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,aAAa,CAAqB,CAAC;IAClF,CAAC;IAED,kCAAkC;IAClC,KAAK,CAAC,OAAO,CAAC,OAAgB,EAAE,eAA6B,EAAE;QAC7D,IAAI,OAAgB,CAAC;QAErB,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE;gBAC3C,GAAG,IAAI,CAAC,eAAe;gBACvB,GAAG,YAAY;aAChB,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,IAAA,YAAG,EAAC,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,YAAY,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEpF,MAAM,WAAW,GAAG,IAAA,+BAAS,EAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC,yCAAyC,WAAW,EAAE,CAAC,CAAC;YAErE,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GACV,IAAA,0BAAgB,EAAC,IAAI,EAAE,OAAO,CAAC;YAC/B,IAAA,+BAAqB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEvC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAA,oBAAU,EAAC,OAAO,CAAC,CAAC;QAEpB,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAChC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAExD,IAAI,MAAiC,CAAC;QACtC,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,UAAkB,CAAC;QACvB,IAAI,iBAAiB,GAAG,EAAE,CAAC;QAE3B,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;YAEzC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,IAAI,+BAAsB,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC1E,CAAC;YAED,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,YAAY,EACb,GAAG,cAAc,CAAC;YAEnB,OAAO,CAAC,QAAQ,GAAG,MAAM,IAAA,mBAAS,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAEtD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAEvE,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAElD,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxD,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC3B,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YACjD,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;QAEjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,eAAe,GAAG,cAAc;gBACpC,CAAC,CAAC,cAAc,CAAC,kBAAkB,CAAC,KAAsB,CAAC;gBAC3D,CAAC,CAAC,IAAA,YAAG,EAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;YAElC,MAAM,cAAc,GAAG,IAAI,uBAAc,CAAC,OAAO,EAAE,eAAe,EAAE,KAAsB,CAAC,CAAC;YAE5F,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;YACnC,UAAU,GAAG,eAAe,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,OAAO;gBACP,UAAU;gBACV,iBAAiB;aAClB,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAE7C,OAAO;YACL,IAAI;YACJ,OAAO;YACP,UAAU;YACV,iBAAiB;SAClB,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,cAAc,CAAC,WAA0B,EAAE,OAAgB,EAAE,wBAAiC;QAC5F,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAEpC,MAAM,KAAK,GAAG;YACZ,GAAG,KAAK;YACR,QAAQ;SACT,CAAC;QAEF,IAAI,MAAM,CAAC;QAEX,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE,wBAAwB,CAAC,CAAC;QAErF,CAAC;QAAC,OAAO,eAAe,EAAE,CAAC;YACzB,MAAM,IAAI,0BAAiB,CAAC,eAAkC,CAAC,CAAC;QAElE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,sDAAsD;IACtD,UAAU,CAAC,YAA2B,EAAE,MAA+B;QACrE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,MAAM,CAAC;QAEX,MAAM,wBAAwB,GAAG,KAAK,CAAC;QACvC,MAAM,kBAAkB,GAAG,IAAI,CAAC;QAEhC,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,wBAAwB,EAAE,kBAAkB,CAAC,CAAC;QAE3G,CAAC;QAAC,OAAO,eAAe,EAAE,CAAC;YACzB,MAAM,IAAI,2BAAkB,CAAC,eAAkC,CAAC,CAAC;QAEnE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,6CAA6C;IAC7C,cAAc,CAAC,cAAgC;QAC7C,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;YAC9B,OAAO,GAAG,CAAC;QACb,CAAC;QAED,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC5B,OAAO,GAAG,CAAC;QACb,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,kBAAe,OAAO,CAAC"}
|
package/package.json
CHANGED
package/src/Service/Service.ts
CHANGED
|
@@ -34,7 +34,6 @@ const createDefaultContext = (
|
|
|
34
34
|
|
|
35
35
|
type Module = {
|
|
36
36
|
id: string;
|
|
37
|
-
get isComponent(): boolean;
|
|
38
37
|
};
|
|
39
38
|
|
|
40
39
|
type Options = {
|
|
@@ -45,6 +44,17 @@ type Options = {
|
|
|
45
44
|
skipOperations?: string[];
|
|
46
45
|
};
|
|
47
46
|
|
|
47
|
+
/** Returns true if TargetClass is a constructor whose prototype extends BaseClass. */
|
|
48
|
+
function isExtendedFrom(
|
|
49
|
+
TargetClass: unknown,
|
|
50
|
+
BaseClass: typeof Operation | typeof Component
|
|
51
|
+
): boolean {
|
|
52
|
+
return (
|
|
53
|
+
typeof TargetClass === 'function' &&
|
|
54
|
+
(TargetClass as abstract new (...args: unknown[]) => unknown).prototype instanceof BaseClass
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
|
|
48
58
|
/** Service */
|
|
49
59
|
class Service {
|
|
50
60
|
private _url: string;
|
|
@@ -71,11 +81,14 @@ class Service {
|
|
|
71
81
|
skipOperations = DEFAULT_SKIP_OPERATIONS,
|
|
72
82
|
} = options;
|
|
73
83
|
|
|
74
|
-
|
|
75
|
-
.filter(
|
|
84
|
+
const nonSchemas = modules
|
|
85
|
+
.filter(m => !(m instanceof Schema));
|
|
86
|
+
|
|
87
|
+
let components = nonSchemas
|
|
88
|
+
.filter(m => isExtendedFrom(m, Component)) as (typeof Component)[];
|
|
76
89
|
|
|
77
|
-
const operations =
|
|
78
|
-
.filter(
|
|
90
|
+
const operations = nonSchemas
|
|
91
|
+
.filter(m => isExtendedFrom(m, Operation))
|
|
79
92
|
.filter(({ id: operationId }) => !skipOperations.includes(operationId)) as (typeof Operation)[];
|
|
80
93
|
|
|
81
94
|
const referencedComponents = compact(operations.map(({ Component }) => Component));
|