@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;IACX,IAAI,WAAW,IAAI,OAAO,CAAC;CAC5B,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;AAEF,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;IAoFpD,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"}
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"}
@@ -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
- let components = modules
39
- .filter(ModuleClass => ModuleClass.isComponent);
40
- const operations = modules
41
- .filter(ModuleClass => !ModuleClass.isComponent)
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":"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"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kravc/dos",
3
- "version": "2.0.0-alpha.13",
3
+ "version": "2.0.0-alpha.14",
4
4
  "description": "Convention-based, easy-to-use library for building API-driven serverless services.",
5
5
  "keywords": [
6
6
  "Service",
@@ -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
- let components = modules
75
- .filter(ModuleClass => ModuleClass.isComponent) as (typeof Component)[];
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 = modules
78
- .filter(ModuleClass => !ModuleClass.isComponent)
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));