@autobe/utils 0.25.0 → 0.25.1

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.
Files changed (28) hide show
  1. package/lib/interface/{AutoBeEndpointComparator.d.ts → AutoBeOpenApiEndpointComparator.d.ts} +2 -1
  2. package/lib/interface/AutoBeOpenApiEndpointComparator.js +16 -0
  3. package/lib/interface/AutoBeOpenApiEndpointComparator.js.map +1 -0
  4. package/lib/interface/index.d.ts +3 -1
  5. package/lib/interface/index.js +3 -1
  6. package/lib/interface/index.js.map +1 -1
  7. package/lib/interface/invertOpenApiDocument.js +1 -0
  8. package/lib/interface/invertOpenApiDocument.js.map +1 -1
  9. package/lib/interface/missedOpenApiSchemas.d.ts +2 -0
  10. package/lib/interface/missedOpenApiSchemas.js +29 -0
  11. package/lib/interface/missedOpenApiSchemas.js.map +1 -0
  12. package/lib/interface/revertOpenApiAccessor.d.ts +2 -0
  13. package/lib/interface/revertOpenApiAccessor.js +18 -0
  14. package/lib/interface/revertOpenApiAccessor.js.map +1 -0
  15. package/lib/interface/transformOpenApiDocument.js +9 -13
  16. package/lib/interface/transformOpenApiDocument.js.map +1 -1
  17. package/lib/replay/AutoBePlaygroundReplayUtil.js +1 -1
  18. package/lib/replay/AutoBePlaygroundReplayUtil.js.map +1 -1
  19. package/package.json +2 -2
  20. package/src/interface/{AutoBeEndpointComparator.ts → AutoBeOpenApiEndpointComparator.ts} +9 -1
  21. package/src/interface/index.ts +3 -1
  22. package/src/interface/invertOpenApiDocument.ts +1 -0
  23. package/src/interface/missedOpenApiSchemas.ts +25 -0
  24. package/src/interface/revertOpenApiAccessor.ts +27 -0
  25. package/src/interface/transformOpenApiDocument.ts +6 -3
  26. package/src/replay/AutoBePlaygroundReplayUtil.ts +1 -1
  27. package/lib/interface/AutoBeEndpointComparator.js +0 -10
  28. package/lib/interface/AutoBeEndpointComparator.js.map +0 -1
@@ -1,5 +1,6 @@
1
1
  import { AutoBeOpenApi } from "@autobe/interface";
2
- export declare namespace AutoBeEndpointComparator {
2
+ export declare namespace AutoBeOpenApiEndpointComparator {
3
+ function compare(x: AutoBeOpenApi.IEndpoint, y: AutoBeOpenApi.IEndpoint): number;
3
4
  const equals: (x: AutoBeOpenApi.IEndpoint, y: AutoBeOpenApi.IEndpoint) => boolean;
4
5
  const hashCode: (endpoint: AutoBeOpenApi.IEndpoint) => number;
5
6
  }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AutoBeOpenApiEndpointComparator = void 0;
4
+ const tstl_1 = require("tstl");
5
+ var AutoBeOpenApiEndpointComparator;
6
+ (function (AutoBeOpenApiEndpointComparator) {
7
+ function compare(x, y) {
8
+ if (x.path !== y.path)
9
+ return x.path.localeCompare(y.path);
10
+ return x.method.localeCompare(y.method);
11
+ }
12
+ AutoBeOpenApiEndpointComparator.compare = compare;
13
+ AutoBeOpenApiEndpointComparator.equals = (x, y) => x.method === y.method && x.path === y.path;
14
+ AutoBeOpenApiEndpointComparator.hashCode = (endpoint) => (0, tstl_1.hash)(endpoint.path, endpoint.method);
15
+ })(AutoBeOpenApiEndpointComparator || (exports.AutoBeOpenApiEndpointComparator = AutoBeOpenApiEndpointComparator = {}));
16
+ //# sourceMappingURL=AutoBeOpenApiEndpointComparator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoBeOpenApiEndpointComparator.js","sourceRoot":"","sources":["../../src/interface/AutoBeOpenApiEndpointComparator.ts"],"names":[],"mappings":";;;AACA,+BAA4B;AAE5B,IAAiB,+BAA+B,CAgB/C;AAhBD,WAAiB,+BAA+B;IAC9C,SAAgB,OAAO,CACrB,CAA0B,EAC1B,CAA0B;QAE1B,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3D,OAAO,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IANe,uCAAO,UAMtB,CAAA;IAEY,sCAAM,GAAG,CACpB,CAA0B,EAC1B,CAA0B,EACjB,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC;IAE5C,wCAAQ,GAAG,CAAC,QAAiC,EAAU,EAAE,CACpE,IAAA,WAAI,EAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC,EAhBgB,+BAA+B,+CAA/B,+BAA+B,QAgB/C"}
@@ -1,4 +1,6 @@
1
- export * from "./AutoBeEndpointComparator";
1
+ export * from "./AutoBeOpenApiEndpointComparator";
2
2
  export * from "./AutoBeOpenApiTypeChecker";
3
3
  export * from "./invertOpenApiDocument";
4
+ export * from "./revertOpenApiAccessor";
4
5
  export * from "./transformOpenApiDocument";
6
+ export * from "./missedOpenApiSchemas";
@@ -14,8 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./AutoBeEndpointComparator"), exports);
17
+ __exportStar(require("./AutoBeOpenApiEndpointComparator"), exports);
18
18
  __exportStar(require("./AutoBeOpenApiTypeChecker"), exports);
19
19
  __exportStar(require("./invertOpenApiDocument"), exports);
20
+ __exportStar(require("./revertOpenApiAccessor"), exports);
20
21
  __exportStar(require("./transformOpenApiDocument"), exports);
22
+ __exportStar(require("./missedOpenApiSchemas"), exports);
21
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interface/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,6DAA2C;AAC3C,0DAAwC;AACxC,6DAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interface/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oEAAkD;AAClD,6DAA2C;AAC3C,0DAAwC;AACxC,0DAAwC;AACxC,6DAA2C;AAC3C,yDAAuC"}
@@ -41,6 +41,7 @@ function invertOpenApiDocument(document) {
41
41
  : null,
42
42
  authorizationRole: null,
43
43
  name: r.accessor.at(-1),
44
+ prerequisites: [],
44
45
  });
45
46
  }),
46
47
  components: {
@@ -1 +1 @@
1
- {"version":3,"file":"invertOpenApiDocument.js","sourceRoot":"","sources":["../../src/interface/invertOpenApiDocument.ts"],"names":[],"mappings":";;AAQA,sDAsDC;AA7DD,8CAK0B;AAE1B,SAAgB,qBAAqB,CACnC,QAA2B;;IAE3B,MAAM,GAAG,GAA4B,uBAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACzE,OAAO;QACL,UAAU,EAAE,GAAG,CAAC,MAAM;aACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC;aAC/B,GAAG,CACF,CAAC,CAAC,EAAE,EAAE;;YACJ,OAAA,CAAC;gBACC,aAAa,EAAE,KAAK,CAAC,eAAe,CAAC;gBACrC,iBAAiB,EAAE,IAAI;gBACvB,MAAM,EAAE,CAAC,CAAC,MAAgB;gBAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,MAAA,CAAC,CAAC,SAAS,EAAE,CAAC,OAAO,mCAAI,KAAK,CAAC,SAAS,CAAC;gBAClD,WAAW,EAAE,MAAA,CAAC,CAAC,SAAS,EAAE,CAAC,WAAW,mCAAI,KAAK,CAAC,aAAa,CAAC;gBAC9D,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAC1B,CAAC,CAAC,EAAE,EAAE;;oBACJ,OAAA,CAAC;wBACC,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,WAAW,EACT,MAAA,CAAC,CAAC,SAAS,EAAE,CAAC,WAAW,mCAAI,KAAK,CAAC,aAAa,CAAC;wBACnD,MAAM,EAAE,CAAC,CAAC,MAAa;qBACxB,CAAoC,CAAA;iBAAA,CACxC;gBACD,WAAW,EACT,CAAA,MAAA,CAAC,CAAC,IAAI,0CAAE,IAAI,MAAK,kBAAkB;oBACnC,4BAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC3C,CAAC,CAAC;wBACE,WAAW,EAAE,MAAA,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,mCAAI,KAAK,CAAC,aAAa,CAAC;wBACzD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG;qBAC/C;oBACH,CAAC,CAAC,IAAI;gBACV,YAAY,EACV,CAAA,MAAA,CAAC,CAAC,OAAO,0CAAE,IAAI,MAAK,kBAAkB;oBACtC,4BAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;oBAC9C,CAAC,CAAC;wBACE,WAAW,EACT,MAAA,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,mCAAI,KAAK,CAAC,aAAa,CAAC;wBACjD,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG;qBAClD;oBACH,CAAC,CAAC,IAAI;gBACV,iBAAiB,EAAE,IAAI;gBACvB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE;aACzB,CAAoC,CAAA;SAAA,CACxC;QACH,UAAU,EAAE;YACV,OAAO,EAAE,CAAC,MAAA,MAAA,QAAQ,CAAC,UAAU,0CAAE,OAAO,mCAAI,EAAE,CAG3C;YACD,aAAa,EAAE,EAAE;SAClB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,GAAW;IACxB,OAAO,YAAY,GAAG,oDAAoD,CAAC;AAC7E,CAAC"}
1
+ {"version":3,"file":"invertOpenApiDocument.js","sourceRoot":"","sources":["../../src/interface/invertOpenApiDocument.ts"],"names":[],"mappings":";;AAQA,sDAuDC;AA9DD,8CAK0B;AAE1B,SAAgB,qBAAqB,CACnC,QAA2B;;IAE3B,MAAM,GAAG,GAA4B,uBAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACzE,OAAO;QACL,UAAU,EAAE,GAAG,CAAC,MAAM;aACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC;aAC/B,GAAG,CACF,CAAC,CAAC,EAAE,EAAE;;YACJ,OAAA,CAAC;gBACC,aAAa,EAAE,KAAK,CAAC,eAAe,CAAC;gBACrC,iBAAiB,EAAE,IAAI;gBACvB,MAAM,EAAE,CAAC,CAAC,MAAgB;gBAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,MAAA,CAAC,CAAC,SAAS,EAAE,CAAC,OAAO,mCAAI,KAAK,CAAC,SAAS,CAAC;gBAClD,WAAW,EAAE,MAAA,CAAC,CAAC,SAAS,EAAE,CAAC,WAAW,mCAAI,KAAK,CAAC,aAAa,CAAC;gBAC9D,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAC1B,CAAC,CAAC,EAAE,EAAE;;oBACJ,OAAA,CAAC;wBACC,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,WAAW,EACT,MAAA,CAAC,CAAC,SAAS,EAAE,CAAC,WAAW,mCAAI,KAAK,CAAC,aAAa,CAAC;wBACnD,MAAM,EAAE,CAAC,CAAC,MAAa;qBACxB,CAAoC,CAAA;iBAAA,CACxC;gBACD,WAAW,EACT,CAAA,MAAA,CAAC,CAAC,IAAI,0CAAE,IAAI,MAAK,kBAAkB;oBACnC,4BAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC3C,CAAC,CAAC;wBACE,WAAW,EAAE,MAAA,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,mCAAI,KAAK,CAAC,aAAa,CAAC;wBACzD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG;qBAC/C;oBACH,CAAC,CAAC,IAAI;gBACV,YAAY,EACV,CAAA,MAAA,CAAC,CAAC,OAAO,0CAAE,IAAI,MAAK,kBAAkB;oBACtC,4BAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;oBAC9C,CAAC,CAAC;wBACE,WAAW,EACT,MAAA,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,mCAAI,KAAK,CAAC,aAAa,CAAC;wBACjD,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG;qBAClD;oBACH,CAAC,CAAC,IAAI;gBACV,iBAAiB,EAAE,IAAI;gBACvB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE;gBACxB,aAAa,EAAE,EAAE;aAClB,CAAoC,CAAA;SAAA,CACxC;QACH,UAAU,EAAE;YACV,OAAO,EAAE,CAAC,MAAA,MAAA,QAAQ,CAAC,UAAU,0CAAE,OAAO,mCAAI,EAAE,CAG3C;YACD,aAAa,EAAE,EAAE;SAClB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,GAAW;IACxB,OAAO,YAAY,GAAG,oDAAoD,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { AutoBeOpenApi } from "@autobe/interface";
2
+ export declare const missedOpenApiSchemas: (document: AutoBeOpenApi.IDocument) => string[];
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.missedOpenApiSchemas = void 0;
4
+ const openapi_1 = require("@samchon/openapi");
5
+ const missedOpenApiSchemas = (document) => {
6
+ const missed = new Set();
7
+ const check = (name) => {
8
+ if (document.components.schemas[name] === undefined)
9
+ missed.add(name);
10
+ };
11
+ for (const op of document.operations) {
12
+ if (op.requestBody !== null)
13
+ check(op.requestBody.typeName);
14
+ if (op.responseBody !== null)
15
+ check(op.responseBody.typeName);
16
+ }
17
+ for (const value of Object.values(document.components.schemas))
18
+ openapi_1.OpenApiTypeChecker.visit({
19
+ components: document.components,
20
+ schema: value,
21
+ closure: (next) => {
22
+ if (openapi_1.OpenApiTypeChecker.isReference(next))
23
+ check(next.$ref.split("/").pop());
24
+ },
25
+ });
26
+ return Array.from(missed);
27
+ };
28
+ exports.missedOpenApiSchemas = missedOpenApiSchemas;
29
+ //# sourceMappingURL=missedOpenApiSchemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"missedOpenApiSchemas.js","sourceRoot":"","sources":["../../src/interface/missedOpenApiSchemas.ts"],"names":[],"mappings":";;;AACA,8CAAsD;AAE/C,MAAM,oBAAoB,GAAG,CAClC,QAAiC,EACvB,EAAE;IACZ,MAAM,MAAM,GAAgB,IAAI,GAAG,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE;QAC7B,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC,CAAC;IACF,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACrC,IAAI,EAAE,CAAC,WAAW,KAAK,IAAI;YAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,EAAE,CAAC,YAAY,KAAK,IAAI;YAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;QAC5D,4BAAkB,CAAC,KAAK,CAAC;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChB,IAAI,4BAAkB,CAAC,WAAW,CAAC,IAAI,CAAC;oBACtC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC,CAAC;YACvC,CAAC;SACF,CAAC,CAAC;IACL,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC,CAAC;AArBW,QAAA,oBAAoB,wBAqB/B"}
@@ -0,0 +1,2 @@
1
+ import { AutoBeOpenApi } from "@autobe/interface";
2
+ export declare const revertOpenApiAccessor: (document: AutoBeOpenApi.IDocument) => void;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.revertOpenApiAccessor = void 0;
4
+ const openapi_1 = require("@samchon/openapi");
5
+ const transformOpenApiDocument_1 = require("./transformOpenApiDocument");
6
+ const revertOpenApiAccessor = (document) => {
7
+ const regular = (0, transformOpenApiDocument_1.transformOpenApiDocument)(document);
8
+ const migrate = openapi_1.HttpMigration.application(regular);
9
+ for (const op of document.operations) {
10
+ const route = migrate.routes.find((r) => r.method === op.method && r.path === op.path);
11
+ if (route !== undefined &&
12
+ route.accessor.length !== 0 &&
13
+ route.accessor.at(-1) !== op.name)
14
+ op.name = route.accessor.at(-1);
15
+ }
16
+ };
17
+ exports.revertOpenApiAccessor = revertOpenApiAccessor;
18
+ //# sourceMappingURL=revertOpenApiAccessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revertOpenApiAccessor.js","sourceRoot":"","sources":["../../src/interface/revertOpenApiAccessor.ts"],"names":[],"mappings":";;;AACA,8CAK0B;AAE1B,yEAAsE;AAE/D,MAAM,qBAAqB,GAAG,CACnC,QAAiC,EAC3B,EAAE;IACR,MAAM,OAAO,GAAsB,IAAA,mDAAwB,EAAC,QAAQ,CAAC,CAAC;IACtE,MAAM,OAAO,GAA4B,uBAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5E,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,KAAK,GAAkC,OAAO,CAAC,MAAM,CAAC,IAAI,CAC9D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,CACpD,CAAC;QACF,IACE,KAAK,KAAK,SAAS;YACnB,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAC3B,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI;YAEjC,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;IACrC,CAAC;AACH,CAAC,CAAC;AAhBW,QAAA,qBAAqB,yBAgBhC"}
@@ -3,30 +3,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.transformOpenApiDocument = transformOpenApiDocument;
4
4
  const openapi_1 = require("@samchon/openapi");
5
5
  const tstl_1 = require("tstl");
6
- const AutoBeEndpointComparator_1 = require("./AutoBeEndpointComparator");
6
+ const AutoBeOpenApiEndpointComparator_1 = require("./AutoBeOpenApiEndpointComparator");
7
7
  function transformOpenApiDocument(document) {
8
8
  var _a, _b;
9
9
  var _c;
10
- const dict = new tstl_1.HashMap(AutoBeEndpointComparator_1.AutoBeEndpointComparator.hashCode, AutoBeEndpointComparator_1.AutoBeEndpointComparator.equals);
10
+ const dict = new tstl_1.HashMap(AutoBeOpenApiEndpointComparator_1.AutoBeOpenApiEndpointComparator.hashCode, AutoBeOpenApiEndpointComparator_1.AutoBeOpenApiEndpointComparator.equals);
11
11
  const paths = {};
12
12
  for (const op of document.operations) {
13
13
  dict.set(op, op.name);
14
14
  (_a = paths[_c = op.path]) !== null && _a !== void 0 ? _a : (paths[_c] = {});
15
- paths[op.path][op.method] = {
16
- summary: op.summary,
17
- description: op.description +
15
+ paths[op.path][op.method] = Object.assign({ summary: op.summary, description: op.description +
18
16
  (op.authorizationType !== null &&
19
17
  ((_b = op.responseBody) === null || _b === void 0 ? void 0 : _b.typeName.endsWith(".IAuthorized")) === true
20
18
  ? "\n\n@setHeader token.access Authorization"
21
- : ""),
22
- parameters: op.parameters.map((p) => ({
19
+ : ""), parameters: op.parameters.map((p) => ({
23
20
  name: p.name,
24
21
  in: "path",
25
22
  schema: p.schema,
26
23
  description: p.description,
27
24
  required: true,
28
- })),
29
- requestBody: op.requestBody
25
+ })), requestBody: op.requestBody
30
26
  ? {
31
27
  content: {
32
28
  "application/json": {
@@ -38,8 +34,7 @@ function transformOpenApiDocument(document) {
38
34
  description: op.requestBody.description,
39
35
  required: true,
40
36
  }
41
- : undefined,
42
- responses: op.responseBody
37
+ : undefined, responses: op.responseBody
43
38
  ? {
44
39
  [op.method === "post" ? 201 : 200]: {
45
40
  content: {
@@ -52,8 +47,9 @@ function transformOpenApiDocument(document) {
52
47
  description: op.responseBody.description,
53
48
  },
54
49
  }
55
- : undefined,
56
- };
50
+ : undefined }, {
51
+ "x-autobe-prerequisites": op.prerequisites,
52
+ });
57
53
  }
58
54
  const result = openapi_1.OpenApi.convert({
59
55
  openapi: "3.1.0",
@@ -1 +1 @@
1
- {"version":3,"file":"transformOpenApiDocument.js","sourceRoot":"","sources":["../../src/interface/transformOpenApiDocument.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transformOpenApiDocument.js","sourceRoot":"","sources":["../../src/interface/transformOpenApiDocument.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ var AutoBePlaygroundReplayUtil;
30
30
  namespaces: h.result.data.files.length,
31
31
  models: h.result.data.files.map((f) => f.models).flat().length,
32
32
  })),
33
- interface: predicate("interface", () => true, (h) => ({
33
+ interface: predicate("interface", (h) => h.missed.length === 0, (h) => ({
34
34
  operations: h.document.operations.length,
35
35
  schemas: Object.keys(h.document.components.schemas).length,
36
36
  })),
@@ -1 +1 @@
1
- {"version":3,"file":"AutoBePlaygroundReplayUtil.js","sourceRoot":"","sources":["../../src/replay/AutoBePlaygroundReplayUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutoBePlaygroundReplayUtil.js","sourceRoot":"","sources":["../../src/replay/AutoBePlaygroundReplayUtil.ts"],"names":[],"mappings":";;;AAOA,IAAiB,0BAA0B,CA6G1C;AA7GD,WAAiB,0BAA0B;IAC5B,oCAAS,GAAG,CAAC,KAKzB,EAA2C,EAAE;;QAC5C,MAAM,SAAS,GAAG,CAChB,IAAU,EACV,OAAyD,EACzD,SAE2B,EACiB,EAAE;;YAC9C,MAAM,QAAQ,GAAoB,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;YACpE,MAAM,IAAI,GAAuB,MAAA,QAAQ,CAAC,IAAI,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAC5B,0CAAE,IAAI,CAAC;YACR,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YAEpC,MAAM,OAAO,GAA2C,QAAQ,CAAC,IAAI,CACnE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CACA,CAAC;YAC5C,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YACvC,OAAO;gBACL,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;gBACzB,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC;gBAC7B,OAAO,EACL,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;oBACxC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;aACzC,CAAC;QACJ,CAAC,CAAC;QACF,MAAM,WAAW,GAGb;YACF,OAAO,EAAE,SAAS,CAChB,SAAS,EACT,GAAG,EAAE,CAAC,IAAI,EACV,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACN,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM;gBACtB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM;aAC1B,CAAC,CACH;YACD,MAAM,EAAE,SAAS,CACf,QAAQ,EACR,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,EACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACN,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;gBACtC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM;aAC/D,CAAC,CACH;YACD,SAAS,EAAE,SAAS,CAClB,WAAW,EACX,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACN,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM;gBACxC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM;aAC3D,CAAC,CACH;YACD,IAAI,EAAE,SAAS,CACb,MAAM,EACN,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,EACpC,CAAC,CAAC,EAAE,EAAE,CAAC,iBACL,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,IACtB,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS;gBAC/B,CAAC,CAAC;oBACE,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,IAAI,mCAAI,EAAE,CAAA,EAAA,CAAC,CAAC;yBAC7D,IAAI;iBACR;gBACH,CAAC,CAAC,EAAE,CAAC,EACP,CACH;YACD,OAAO,EAAE,SAAS,CAChB,SAAS,EACT,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,EACpC,CAAC,CAAC,EAAE,EAAE,CAAC,iBACL,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,IAC1B,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS;gBAC/B,CAAC,CAAC;oBACE,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,IAAI,mCAAI,EAAE,CAAA,EAAA,CAAC,CAAC;yBAC7D,IAAI;iBACR;gBACH,CAAC,CAAC,EAAE,CAAC,EACP,CACH;SACF,CAAC;QACF,MAAM,KAAK,GACT,MAAC,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAW,CAAC,IAAI,CACnE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,IAAI,CACnC,mCAAI,IAAI,CAAC;QACZ,qCACE,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,OAAO,EAAE,KAAK,CAAC,SAAS;iBACrB,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB,CACjE;iBACA,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;gBAClC,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CACnC;iBACA,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAC1B,WAAW,KACd,KAAK,IACL;IACJ,CAAC,CAAC;AACJ,CAAC,EA7GgB,0BAA0B,0CAA1B,0BAA0B,QA6G1C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autobe/utils",
3
- "version": "0.25.0",
3
+ "version": "0.25.1",
4
4
  "description": "AI backend server code generator",
5
5
  "main": "lib/index.js",
6
6
  "keywords": [],
@@ -27,7 +27,7 @@
27
27
  "@samchon/openapi": "^4.7.1",
28
28
  "tstl": "^3.0.0",
29
29
  "typia": "^9.7.2",
30
- "@autobe/interface": "^0.25.0"
30
+ "@autobe/interface": "^0.25.1"
31
31
  },
32
32
  "devDependencies": {
33
33
  "rimraf": "^6.0.1",
@@ -1,7 +1,15 @@
1
1
  import { AutoBeOpenApi } from "@autobe/interface";
2
2
  import { hash } from "tstl";
3
3
 
4
- export namespace AutoBeEndpointComparator {
4
+ export namespace AutoBeOpenApiEndpointComparator {
5
+ export function compare(
6
+ x: AutoBeOpenApi.IEndpoint,
7
+ y: AutoBeOpenApi.IEndpoint,
8
+ ): number {
9
+ if (x.path !== y.path) return x.path.localeCompare(y.path);
10
+ return x.method.localeCompare(y.method);
11
+ }
12
+
5
13
  export const equals = (
6
14
  x: AutoBeOpenApi.IEndpoint,
7
15
  y: AutoBeOpenApi.IEndpoint,
@@ -1,4 +1,6 @@
1
- export * from "./AutoBeEndpointComparator";
1
+ export * from "./AutoBeOpenApiEndpointComparator";
2
2
  export * from "./AutoBeOpenApiTypeChecker";
3
3
  export * from "./invertOpenApiDocument";
4
+ export * from "./revertOpenApiAccessor";
4
5
  export * from "./transformOpenApiDocument";
6
+ export * from "./missedOpenApiSchemas";
@@ -50,6 +50,7 @@ export function invertOpenApiDocument(
50
50
  : null,
51
51
  authorizationRole: null,
52
52
  name: r.accessor.at(-1)!,
53
+ prerequisites: [],
53
54
  }) satisfies AutoBeOpenApi.IOperation,
54
55
  ),
55
56
  components: {
@@ -0,0 +1,25 @@
1
+ import { AutoBeOpenApi } from "@autobe/interface";
2
+ import { OpenApiTypeChecker } from "@samchon/openapi";
3
+
4
+ export const missedOpenApiSchemas = (
5
+ document: AutoBeOpenApi.IDocument,
6
+ ): string[] => {
7
+ const missed: Set<string> = new Set();
8
+ const check = (name: string) => {
9
+ if (document.components.schemas[name] === undefined) missed.add(name);
10
+ };
11
+ for (const op of document.operations) {
12
+ if (op.requestBody !== null) check(op.requestBody.typeName);
13
+ if (op.responseBody !== null) check(op.responseBody.typeName);
14
+ }
15
+ for (const value of Object.values(document.components.schemas))
16
+ OpenApiTypeChecker.visit({
17
+ components: document.components,
18
+ schema: value,
19
+ closure: (next) => {
20
+ if (OpenApiTypeChecker.isReference(next))
21
+ check(next.$ref.split("/").pop()!);
22
+ },
23
+ });
24
+ return Array.from(missed);
25
+ };
@@ -0,0 +1,27 @@
1
+ import { AutoBeOpenApi } from "@autobe/interface";
2
+ import {
3
+ HttpMigration,
4
+ IHttpMigrateApplication,
5
+ IHttpMigrateRoute,
6
+ OpenApi,
7
+ } from "@samchon/openapi";
8
+
9
+ import { transformOpenApiDocument } from "./transformOpenApiDocument";
10
+
11
+ export const revertOpenApiAccessor = (
12
+ document: AutoBeOpenApi.IDocument,
13
+ ): void => {
14
+ const regular: OpenApi.IDocument = transformOpenApiDocument(document);
15
+ const migrate: IHttpMigrateApplication = HttpMigration.application(regular);
16
+ for (const op of document.operations) {
17
+ const route: IHttpMigrateRoute | undefined = migrate.routes.find(
18
+ (r) => r.method === op.method && r.path === op.path,
19
+ );
20
+ if (
21
+ route !== undefined &&
22
+ route.accessor.length !== 0 &&
23
+ route.accessor.at(-1) !== op.name
24
+ )
25
+ op.name = route.accessor.at(-1)!;
26
+ }
27
+ };
@@ -7,14 +7,14 @@ import {
7
7
  } from "@samchon/openapi";
8
8
  import { HashMap } from "tstl";
9
9
 
10
- import { AutoBeEndpointComparator } from "./AutoBeEndpointComparator";
10
+ import { AutoBeOpenApiEndpointComparator } from "./AutoBeOpenApiEndpointComparator";
11
11
 
12
12
  export function transformOpenApiDocument(
13
13
  document: AutoBeOpenApi.IDocument,
14
14
  ): OpenApi.IDocument {
15
15
  const dict: HashMap<AutoBeOpenApi.IEndpoint, string> = new HashMap(
16
- AutoBeEndpointComparator.hashCode,
17
- AutoBeEndpointComparator.equals,
16
+ AutoBeOpenApiEndpointComparator.hashCode,
17
+ AutoBeOpenApiEndpointComparator.equals,
18
18
  );
19
19
  const paths: Record<string, OpenApi.IPath> = {};
20
20
 
@@ -63,6 +63,9 @@ export function transformOpenApiDocument(
63
63
  },
64
64
  }
65
65
  : undefined,
66
+ ...{
67
+ "x-autobe-prerequisites": op.prerequisites,
68
+ },
66
69
  };
67
70
  }
68
71
 
@@ -59,7 +59,7 @@ export namespace AutoBePlaygroundReplayUtil {
59
59
  ),
60
60
  interface: predicate(
61
61
  "interface",
62
- () => true,
62
+ (h) => h.missed.length === 0,
63
63
  (h) => ({
64
64
  operations: h.document.operations.length,
65
65
  schemas: Object.keys(h.document.components.schemas).length,
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AutoBeEndpointComparator = void 0;
4
- const tstl_1 = require("tstl");
5
- var AutoBeEndpointComparator;
6
- (function (AutoBeEndpointComparator) {
7
- AutoBeEndpointComparator.equals = (x, y) => x.method === y.method && x.path === y.path;
8
- AutoBeEndpointComparator.hashCode = (endpoint) => (0, tstl_1.hash)(endpoint.path, endpoint.method);
9
- })(AutoBeEndpointComparator || (exports.AutoBeEndpointComparator = AutoBeEndpointComparator = {}));
10
- //# sourceMappingURL=AutoBeEndpointComparator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AutoBeEndpointComparator.js","sourceRoot":"","sources":["../../src/interface/AutoBeEndpointComparator.ts"],"names":[],"mappings":";;;AACA,+BAA4B;AAE5B,IAAiB,wBAAwB,CAQxC;AARD,WAAiB,wBAAwB;IAC1B,+BAAM,GAAG,CACpB,CAA0B,EAC1B,CAA0B,EACjB,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC;IAE5C,iCAAQ,GAAG,CAAC,QAAiC,EAAU,EAAE,CACpE,IAAA,WAAI,EAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC,EARgB,wBAAwB,wCAAxB,wBAAwB,QAQxC"}