UNPKG

1.92 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const tslib_1 = require("tslib");
4const lodash_1 = require("lodash");
5const graph_1 = require("../../graph");
6const scheduler_1 = require("../../scheduler");
7const taskHandler_1 = require("../../scheduler/taskHandler");
8const sourceMap_1 = require("./sourceMap");
9const types_1 = require("./types");
10tslib_1.__exportStar(require("./types"), exports);
11exports.oas2NodeSelector = (node) => node.category === graph_1.NodeCategory.Source && node.spec === graph_1.Specs.OAS2;
12exports.oas2PathsSelector = (node) => node.category === graph_1.NodeCategory.SourceMap && node.type === types_1.NodeTypes.Paths && lodash_1.isObjectLike(node.data.parsed);
13exports.oas2OperationSelector = (node) => node.category === graph_1.NodeCategory.SourceMap && node.type === types_1.NodeTypes.Operation && lodash_1.isObjectLike(node.data.parsed);
14exports.isOas2 = (parsed) => lodash_1.isObject(parsed) &&
15 'swagger' in parsed &&
16 Number.parseInt(String(parsed.swagger)) === 2;
17function oas2Plugin() {
18 return {
19 selector: exports.oas2NodeSelector,
20 map: sourceMap_1.createOas2SourceMap(),
21 };
22}
23function createOas2Plugin(sourceMapPlugin = oas2Plugin()) {
24 const sourceMapHandler = scheduler_1.createComputeSourceMapHandler(sourceMapPlugin.map);
25 return {
26 tasks: [
27 {
28 operation: scheduler_1.GraphTaskOp.ComputeSourceMap,
29 handler: taskHandler_1.createTaskHandler({
30 selector: sourceMapPlugin.selector,
31 run: sourceMapHandler,
32 }, 'oas2-source-map'),
33 },
34 ],
35 specProvider: {
36 spec: graph_1.Specs.OAS2,
37 content(parsed) {
38 return exports.isOas2(parsed) ? 1 : 0;
39 },
40 },
41 };
42}
43exports.createOas2Plugin = createOas2Plugin;
44//# sourceMappingURL=index.js.map
\No newline at end of file