1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const tslib_1 = require("tslib");
|
4 | const lodash_1 = require("lodash");
|
5 | const graph_1 = require("../../graph");
|
6 | const scheduler_1 = require("../../scheduler");
|
7 | const taskHandler_1 = require("../../scheduler/taskHandler");
|
8 | const sourceMap_1 = require("./sourceMap");
|
9 | const types_1 = require("./types");
|
10 | tslib_1.__exportStar(require("./types"), exports);
|
11 | exports.oas2NodeSelector = (node) => node.category === graph_1.NodeCategory.Source && node.spec === graph_1.Specs.OAS2;
|
12 | exports.oas2PathsSelector = (node) => node.category === graph_1.NodeCategory.SourceMap && node.type === types_1.NodeTypes.Paths && lodash_1.isObjectLike(node.data.parsed);
|
13 | exports.oas2OperationSelector = (node) => node.category === graph_1.NodeCategory.SourceMap && node.type === types_1.NodeTypes.Operation && lodash_1.isObjectLike(node.data.parsed);
|
14 | exports.isOas2 = (parsed) => lodash_1.isObject(parsed) &&
|
15 | 'swagger' in parsed &&
|
16 | Number.parseInt(String(parsed.swagger)) === 2;
|
17 | function oas2Plugin() {
|
18 | return {
|
19 | selector: exports.oas2NodeSelector,
|
20 | map: sourceMap_1.createOas2SourceMap(),
|
21 | };
|
22 | }
|
23 | function 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 | }
|
43 | exports.createOas2Plugin = createOas2Plugin;
|
44 |
|
\ | No newline at end of file |