openapi-resource-converter 0.0.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.
- package/README.md +170 -0
- package/dist/converter/constant/convert-type.js +19 -0
- package/dist/converter/constant/convert-type.js.map +1 -0
- package/dist/converter/constant/i-convert-output.js +3 -0
- package/dist/converter/constant/i-convert-output.js.map +1 -0
- package/dist/converter/i-openapi-converter.js +3 -0
- package/dist/converter/i-openapi-converter.js.map +1 -0
- package/dist/converter/postman/postman-collection-converter.js +210 -0
- package/dist/converter/postman/postman-collection-converter.js.map +1 -0
- package/dist/converter/postman/postman-command-builder.js +73 -0
- package/dist/converter/postman/postman-command-builder.js.map +1 -0
- package/dist/converter/postman/postman-convert-configures.js +81 -0
- package/dist/converter/postman/postman-convert-configures.js.map +1 -0
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -0
- package/dist/parser/component-parser.js +96 -0
- package/dist/parser/component-parser.js.map +1 -0
- package/dist/parser/field-parser.js +6 -0
- package/dist/parser/field-parser.js.map +1 -0
- package/dist/parser/open-api-parser.js +136 -0
- package/dist/parser/open-api-parser.js.map +1 -0
- package/dist/parser/parameters-parser.js +42 -0
- package/dist/parser/parameters-parser.js.map +1 -0
- package/dist/parser/postman-config-parser.js +195 -0
- package/dist/parser/postman-config-parser.js.map +1 -0
- package/dist/parser/request-body-parser.js +73 -0
- package/dist/parser/request-body-parser.js.map +1 -0
- package/dist/type/open-api/api-specification.js +79 -0
- package/dist/type/open-api/api-specification.js.map +1 -0
- package/dist/type/open-api/constant/content-type.js +9 -0
- package/dist/type/open-api/constant/content-type.js.map +1 -0
- package/dist/type/open-api/constant/data-format.js +36 -0
- package/dist/type/open-api/constant/data-format.js.map +1 -0
- package/dist/type/open-api/constant/data-type.js +44 -0
- package/dist/type/open-api/constant/data-type.js.map +1 -0
- package/dist/type/open-api/constant/http-method.js +45 -0
- package/dist/type/open-api/constant/http-method.js.map +1 -0
- package/dist/type/open-api/constant/in-type.js +30 -0
- package/dist/type/open-api/constant/in-type.js.map +1 -0
- package/dist/type/open-api/constant/named-literal.js +17 -0
- package/dist/type/open-api/constant/named-literal.js.map +1 -0
- package/dist/type/open-api/constant/protocol-type.js +40 -0
- package/dist/type/open-api/constant/protocol-type.js.map +1 -0
- package/dist/type/open-api/open-api-specification.js +43 -0
- package/dist/type/open-api/open-api-specification.js.map +1 -0
- package/dist/type/open-api/project/contact.js +37 -0
- package/dist/type/open-api/project/contact.js.map +1 -0
- package/dist/type/open-api/project/project-information.js +49 -0
- package/dist/type/open-api/project/project-information.js.map +1 -0
- package/dist/type/open-api/protocol/empty-body.js +12 -0
- package/dist/type/open-api/protocol/empty-body.js.map +1 -0
- package/dist/type/open-api/protocol/open-api-request.js +44 -0
- package/dist/type/open-api/protocol/open-api-request.js.map +1 -0
- package/dist/type/open-api/protocol/parameters.js +28 -0
- package/dist/type/open-api/protocol/parameters.js.map +1 -0
- package/dist/type/open-api/protocol/request-body.js +39 -0
- package/dist/type/open-api/protocol/request-body.js.map +1 -0
- package/dist/type/open-api/sub/i-field.js +3 -0
- package/dist/type/open-api/sub/i-field.js.map +1 -0
- package/dist/type/open-api/sub/object-field.js +49 -0
- package/dist/type/open-api/sub/object-field.js.map +1 -0
- package/dist/type/open-api/sub/parameter.js +70 -0
- package/dist/type/open-api/sub/parameter.js.map +1 -0
- package/dist/type/open-api/sub/tag.js +32 -0
- package/dist/type/open-api/sub/tag.js.map +1 -0
- package/dist/type/open-api/sub/value-field.js +80 -0
- package/dist/type/open-api/sub/value-field.js.map +1 -0
- package/dist/type/open-api/sub/version.js +53 -0
- package/dist/type/open-api/sub/version.js.map +1 -0
- package/dist/type/path.js +62 -0
- package/dist/type/path.js.map +1 -0
- package/dist/type/postman/constant/case-mode.js +58 -0
- package/dist/type/postman/constant/case-mode.js.map +1 -0
- package/dist/type/postman/constant/default-value.js +69 -0
- package/dist/type/postman/constant/default-value.js.map +1 -0
- package/dist/type/postman/constant/request-mode.js +44 -0
- package/dist/type/postman/constant/request-mode.js.map +1 -0
- package/dist/type/postman/i-postman-node.js +3 -0
- package/dist/type/postman/i-postman-node.js.map +1 -0
- package/dist/type/postman/i-postman-object.js +3 -0
- package/dist/type/postman/i-postman-object.js.map +1 -0
- package/dist/type/postman/i-postman-request-body.js +3 -0
- package/dist/type/postman/i-postman-request-body.js.map +1 -0
- package/dist/type/postman/parsed-postman-option.js +72 -0
- package/dist/type/postman/parsed-postman-option.js.map +1 -0
- package/dist/type/postman/postman-body-wrapper.js +46 -0
- package/dist/type/postman/postman-body-wrapper.js.map +1 -0
- package/dist/type/postman/postman-directory.js +61 -0
- package/dist/type/postman/postman-directory.js.map +1 -0
- package/dist/type/postman/postman-formdata.js +21 -0
- package/dist/type/postman/postman-formdata.js.map +1 -0
- package/dist/type/postman/postman-header.js +32 -0
- package/dist/type/postman/postman-header.js.map +1 -0
- package/dist/type/postman/postman-import-file.js +17 -0
- package/dist/type/postman/postman-import-file.js.map +1 -0
- package/dist/type/postman/postman-info.js +52 -0
- package/dist/type/postman/postman-info.js.map +1 -0
- package/dist/type/postman/postman-options.js +29 -0
- package/dist/type/postman/postman-options.js.map +1 -0
- package/dist/type/postman/postman-path-variable.js +72 -0
- package/dist/type/postman/postman-path-variable.js.map +1 -0
- package/dist/type/postman/postman-query.js +49 -0
- package/dist/type/postman/postman-query.js.map +1 -0
- package/dist/type/postman/postman-request-body.js +3 -0
- package/dist/type/postman/postman-request-body.js.map +1 -0
- package/dist/type/postman/postman-request-wrapper-template.js +41 -0
- package/dist/type/postman/postman-request-wrapper-template.js.map +1 -0
- package/dist/type/postman/postman-request-wrapper.js +29 -0
- package/dist/type/postman/postman-request-wrapper.js.map +1 -0
- package/dist/type/postman/postman-request.js +52 -0
- package/dist/type/postman/postman-request.js.map +1 -0
- package/dist/type/postman/postman-url.js +71 -0
- package/dist/type/postman/postman-url.js.map +1 -0
- package/dist/type/postman/type-value.js +29 -0
- package/dist/type/postman/type-value.js.map +1 -0
- package/dist/util/collection-util.js +59 -0
- package/dist/util/collection-util.js.map +1 -0
- package/dist/util/file-util.js +34 -0
- package/dist/util/file-util.js.map +1 -0
- package/dist/util/object-util.js +160 -0
- package/dist/util/object-util.js.map +1 -0
- package/dist/util/string-util.js +20 -0
- package/dist/util/string-util.js.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __values = (this && this.__values) || function(o) {
|
|
3
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
4
|
+
if (m) return m.call(o);
|
|
5
|
+
if (o && typeof o.length === "number") return {
|
|
6
|
+
next: function () {
|
|
7
|
+
if (o && i >= o.length) o = void 0;
|
|
8
|
+
return { value: o && o[i++], done: !o };
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
var named_literal_1 = __importDefault(require("@/type/open-api/constant/named-literal"));
|
|
18
|
+
var object_util_1 = require("@/util/object-util");
|
|
19
|
+
var collection_util_1 = require("@/util/collection-util");
|
|
20
|
+
var data_type_1 = __importDefault(require("@/type/open-api/constant/data-type"));
|
|
21
|
+
var value_field_1 = __importDefault(require("@/type/open-api/sub/value-field"));
|
|
22
|
+
var object_field_1 = __importDefault(require("@/type/open-api/sub/object-field"));
|
|
23
|
+
var ComponentParser = /** @class */ (function () {
|
|
24
|
+
function ComponentParser(components) {
|
|
25
|
+
var _this = this;
|
|
26
|
+
this.SCHEMAS_PATH = "schemas";
|
|
27
|
+
this.COMPONENTS_KEY_PREFIX = "#/components/schemas/";
|
|
28
|
+
this._properties = (0, object_util_1.getDeepProps)(components, [this.SCHEMAS_PATH]);
|
|
29
|
+
this._rootProperty = (0, collection_util_1.toMap)(this._properties, function (prop) { return _this.COMPONENTS_KEY_PREFIX + prop.name; });
|
|
30
|
+
this._cache = new Map();
|
|
31
|
+
}
|
|
32
|
+
//컴포넌트는 요청의 일부로서 사용되기 때문에 properties 만 파싱하면 된다.
|
|
33
|
+
ComponentParser.prototype.parse = function () {
|
|
34
|
+
var e_1, _a;
|
|
35
|
+
try {
|
|
36
|
+
//컴포넌트는 파싱하는 과정에서다른 컴포넌트를 참조할 수 있기 때문에 찾으면서, 트리형태로 만들어가는 구조를 가진다.
|
|
37
|
+
//따라서 properties.{param_name}.$ref 가 있다면 해당 값으로 먼저 파싱된 객체가 있는지를 확인하고, 없다면 만들어서 캐시한다.
|
|
38
|
+
for (var _b = __values(this._properties), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
39
|
+
var property = _c.value;
|
|
40
|
+
//각 스키마별로 파싱한다.
|
|
41
|
+
this.parseSchema(property);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
45
|
+
finally {
|
|
46
|
+
try {
|
|
47
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
48
|
+
}
|
|
49
|
+
finally { if (e_1) throw e_1.error; }
|
|
50
|
+
}
|
|
51
|
+
return this._cache;
|
|
52
|
+
};
|
|
53
|
+
ComponentParser.prototype.parseSchema = function (property) {
|
|
54
|
+
//아직 object type 외에는 존재하지 않는다.
|
|
55
|
+
if (data_type_1.default.OBJECT.equalsValue((0, object_util_1.getProp)(property.value, named_literal_1.default.TYPE))) {
|
|
56
|
+
var referenceKey = (0, object_util_1.hasProp)(property.value, named_literal_1.default.REFERENCE_KEY)
|
|
57
|
+
? (0, object_util_1.getProp)(property.value, named_literal_1.default.REFERENCE_KEY)
|
|
58
|
+
: this.COMPONENTS_KEY_PREFIX + property.name;
|
|
59
|
+
this.retrieveCacheRecursively(referenceKey);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
ComponentParser.prototype.retrieveCacheRecursively = function (referenceKey) {
|
|
63
|
+
var e_2, _a;
|
|
64
|
+
if (this._cache.has(referenceKey)) {
|
|
65
|
+
return this._cache.get(referenceKey);
|
|
66
|
+
}
|
|
67
|
+
var parent = this._rootProperty.get(referenceKey);
|
|
68
|
+
var properties = (0, object_util_1.getDeepProps)(parent.value, [named_literal_1.default.PROPERTIES]);
|
|
69
|
+
var fields = new Array();
|
|
70
|
+
try {
|
|
71
|
+
for (var properties_1 = __values(properties), properties_1_1 = properties_1.next(); !properties_1_1.done; properties_1_1 = properties_1.next()) {
|
|
72
|
+
var property = properties_1_1.value;
|
|
73
|
+
if ((0, object_util_1.hasProp)(property.value, named_literal_1.default.REFERENCE_KEY)) {
|
|
74
|
+
var referenceKey_1 = (0, object_util_1.getProp)(property.value, named_literal_1.default.REFERENCE_KEY);
|
|
75
|
+
var cached = this.retrieveCacheRecursively(referenceKey_1);
|
|
76
|
+
fields.push(new object_field_1.default(property.name, '', data_type_1.default.OBJECT, cached));
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
fields.push(value_field_1.default.fromProperty(property));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
84
|
+
finally {
|
|
85
|
+
try {
|
|
86
|
+
if (properties_1_1 && !properties_1_1.done && (_a = properties_1.return)) _a.call(properties_1);
|
|
87
|
+
}
|
|
88
|
+
finally { if (e_2) throw e_2.error; }
|
|
89
|
+
}
|
|
90
|
+
this._cache.set(referenceKey, fields);
|
|
91
|
+
return fields;
|
|
92
|
+
};
|
|
93
|
+
return ComponentParser;
|
|
94
|
+
}());
|
|
95
|
+
exports.default = ComponentParser;
|
|
96
|
+
//# sourceMappingURL=component-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-parser.js","sourceRoot":"","sources":["../../src/parser/component-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-parser.js","sourceRoot":"","sources":["../../src/parser/field-parser.ts"],"names":[],"mappings":";;AAIA,mBAAyB,QAAkB,EAAE,SAAqC;AAElF,CAAC;AAFD,4BAEC"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __values = (this && this.__values) || function(o) {
|
|
3
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
4
|
+
if (m) return m.call(o);
|
|
5
|
+
if (o && typeof o.length === "number") return {
|
|
6
|
+
next: function () {
|
|
7
|
+
if (o && i >= o.length) o = void 0;
|
|
8
|
+
return { value: o && o[i++], done: !o };
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
var file_util_1 = require("@/util/file-util");
|
|
18
|
+
var string_util_1 = require("@/util/string-util");
|
|
19
|
+
var version_1 = __importDefault(require("@/type/open-api/sub/version"));
|
|
20
|
+
var project_information_1 = __importDefault(require("@/type/open-api/project/project-information"));
|
|
21
|
+
var tag_1 = __importDefault(require("@/type/open-api/sub/tag"));
|
|
22
|
+
var object_util_1 = require("@/util/object-util");
|
|
23
|
+
var open_api_request_1 = __importDefault(require("@/type/open-api/protocol/open-api-request"));
|
|
24
|
+
var api_specification_1 = __importDefault(require("@/type/open-api/api-specification"));
|
|
25
|
+
var empty_body_1 = __importDefault(require("@/type/open-api/protocol/empty-body"));
|
|
26
|
+
var open_api_specification_1 = __importDefault(require("@/type/open-api/open-api-specification"));
|
|
27
|
+
var component_parser_1 = __importDefault(require("@/parser/component-parser"));
|
|
28
|
+
var protocol_type_1 = __importDefault(require("@/type/open-api/constant/protocol-type"));
|
|
29
|
+
var request_body_parser_1 = __importDefault(require("@/parser/request-body-parser"));
|
|
30
|
+
var parameters_parser_1 = __importDefault(require("@/parser/parameters-parser"));
|
|
31
|
+
var OpenApiParser = /** @class */ (function () {
|
|
32
|
+
function OpenApiParser(filePath, encoding) {
|
|
33
|
+
if (encoding === void 0) { encoding = 'utf-8'; }
|
|
34
|
+
if ((0, file_util_1.notExist)(filePath))
|
|
35
|
+
throw new Error("Not found file with path: ".concat(filePath));
|
|
36
|
+
var json = (0, string_util_1.toJson)((0, file_util_1.readFile)(filePath, encoding));
|
|
37
|
+
new Map;
|
|
38
|
+
this._version = version_1.default.parse(json.openapi);
|
|
39
|
+
this._info = project_information_1.default.parse(json.info);
|
|
40
|
+
this._tags = tag_1.default.parse(json.tags);
|
|
41
|
+
this._components = new component_parser_1.default(json.components).parse();
|
|
42
|
+
this._paths = (0, object_util_1.toProps)(json.paths);
|
|
43
|
+
}
|
|
44
|
+
OpenApiParser.prototype.parse = function () {
|
|
45
|
+
var requests = this.parseToRequests(this._paths);
|
|
46
|
+
var specs = this.parseToSpecs(requests);
|
|
47
|
+
return new open_api_specification_1.default(this._version, this._info, this._tags, specs);
|
|
48
|
+
};
|
|
49
|
+
/*
|
|
50
|
+
AS IS
|
|
51
|
+
"paths": {
|
|
52
|
+
"/zapi/common/pstk/verify_pstk": {
|
|
53
|
+
"post": {}
|
|
54
|
+
},
|
|
55
|
+
"/zapi/buy/pmangcash_delay": {
|
|
56
|
+
"post": {}
|
|
57
|
+
},
|
|
58
|
+
"/wtapi/club/correct": {
|
|
59
|
+
"post": {}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
TO BE
|
|
64
|
+
[
|
|
65
|
+
{
|
|
66
|
+
"path": "/zapi/common/pstk/verify_pstk",
|
|
67
|
+
"method": HttpMethod.POST,
|
|
68
|
+
"metadata": {}
|
|
69
|
+
}
|
|
70
|
+
...
|
|
71
|
+
]
|
|
72
|
+
*/
|
|
73
|
+
OpenApiParser.prototype.parseToRequests = function (paths) {
|
|
74
|
+
var e_1, _a, e_2, _b;
|
|
75
|
+
var result = new Array();
|
|
76
|
+
try {
|
|
77
|
+
//각 API 경로별로
|
|
78
|
+
for (var paths_1 = __values(paths), paths_1_1 = paths_1.next(); !paths_1_1.done; paths_1_1 = paths_1.next()) {
|
|
79
|
+
var pathProperty = paths_1_1.value;
|
|
80
|
+
var methodProperties = (0, object_util_1.toProps)(pathProperty.value);
|
|
81
|
+
try {
|
|
82
|
+
//각 메소드 별로
|
|
83
|
+
for (var methodProperties_1 = (e_2 = void 0, __values(methodProperties)), methodProperties_1_1 = methodProperties_1.next(); !methodProperties_1_1.done; methodProperties_1_1 = methodProperties_1.next()) {
|
|
84
|
+
var methodProperty = methodProperties_1_1.value;
|
|
85
|
+
result.push(new open_api_request_1.default(pathProperty.name, methodProperty));
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
89
|
+
finally {
|
|
90
|
+
try {
|
|
91
|
+
if (methodProperties_1_1 && !methodProperties_1_1.done && (_b = methodProperties_1.return)) _b.call(methodProperties_1);
|
|
92
|
+
}
|
|
93
|
+
finally { if (e_2) throw e_2.error; }
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
98
|
+
finally {
|
|
99
|
+
try {
|
|
100
|
+
if (paths_1_1 && !paths_1_1.done && (_a = paths_1.return)) _a.call(paths_1);
|
|
101
|
+
}
|
|
102
|
+
finally { if (e_1) throw e_1.error; }
|
|
103
|
+
}
|
|
104
|
+
return result;
|
|
105
|
+
};
|
|
106
|
+
OpenApiParser.prototype.parseToSpecs = function (requests) {
|
|
107
|
+
var e_3, _a;
|
|
108
|
+
var _this = this;
|
|
109
|
+
var specs = new Array();
|
|
110
|
+
try {
|
|
111
|
+
//각 요청별로
|
|
112
|
+
for (var requests_1 = __values(requests), requests_1_1 = requests_1.next(); !requests_1_1.done; requests_1_1 = requests_1.next()) {
|
|
113
|
+
var request = requests_1_1.value;
|
|
114
|
+
var requestBodyProperty = request.payloadOf(protocol_type_1.default.REQUEST_BODY);
|
|
115
|
+
var requestBody = (0, object_util_1.applyOrDefault)(requestBodyProperty, new empty_body_1.default(), function (property) {
|
|
116
|
+
return request_body_parser_1.default.getInstance().parse(property, _this._components);
|
|
117
|
+
});
|
|
118
|
+
var parametersProperty = request.payloadOf(protocol_type_1.default.PARAMETERS);
|
|
119
|
+
var parameters = parameters_parser_1.default.getInstance().parse(parametersProperty);
|
|
120
|
+
//요청 파라미터 정보가 없어도, 빈 요청을 생성한다.
|
|
121
|
+
specs.push(new api_specification_1.default(request, requestBody, parameters));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
125
|
+
finally {
|
|
126
|
+
try {
|
|
127
|
+
if (requests_1_1 && !requests_1_1.done && (_a = requests_1.return)) _a.call(requests_1);
|
|
128
|
+
}
|
|
129
|
+
finally { if (e_3) throw e_3.error; }
|
|
130
|
+
}
|
|
131
|
+
return specs;
|
|
132
|
+
};
|
|
133
|
+
return OpenApiParser;
|
|
134
|
+
}());
|
|
135
|
+
exports.default = OpenApiParser;
|
|
136
|
+
//# sourceMappingURL=open-api-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-api-parser.js","sourceRoot":"","sources":["../../src/parser/open-api-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var object_util_1 = require("@/util/object-util");
|
|
7
|
+
var in_type_1 = __importDefault(require("@/type/open-api/constant/in-type"));
|
|
8
|
+
var data_type_1 = __importDefault(require("@/type/open-api/constant/data-type"));
|
|
9
|
+
var data_format_1 = __importDefault(require("@/type/open-api/constant/data-format"));
|
|
10
|
+
var parameter_1 = __importDefault(require("@/type/open-api/sub/parameter"));
|
|
11
|
+
var parameters_1 = __importDefault(require("@/type/open-api/protocol/parameters"));
|
|
12
|
+
var ParametersParser = /** @class */ (function () {
|
|
13
|
+
function ParametersParser() {
|
|
14
|
+
this.PROPERTY_NAME = "name";
|
|
15
|
+
this.PROPERTY_IN = "in";
|
|
16
|
+
this.PROPERTY_DESCRIPTION = "description";
|
|
17
|
+
this.PROPERTY_REQUIRED = "required";
|
|
18
|
+
this.PROPERTY_SCHEMA_TYPE = "schema.type";
|
|
19
|
+
this.PROPERTY_SCHEMA_FORMAT = "schema.format;";
|
|
20
|
+
}
|
|
21
|
+
ParametersParser.getInstance = function () {
|
|
22
|
+
return ParametersParser.INSTANCE;
|
|
23
|
+
};
|
|
24
|
+
ParametersParser.prototype.parse = function (property) {
|
|
25
|
+
var _this = this;
|
|
26
|
+
if (!property) {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
var value = property.value;
|
|
30
|
+
if (!Array.isArray(value) || value.length === 0) {
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
var parameters = value.map(function (parameter) {
|
|
34
|
+
return new parameter_1.default((0, object_util_1.getPropOrDefault)(parameter, _this.PROPERTY_NAME, ''), in_type_1.default.fromValue((0, object_util_1.getPropOrDefault)(parameter, _this.PROPERTY_IN, '')), (0, object_util_1.getPropOrDefault)(parameter, _this.PROPERTY_DESCRIPTION, ''), (0, object_util_1.getPropOrDefault)(parameter, _this.PROPERTY_REQUIRED, false), data_type_1.default.fromValue((0, object_util_1.getPropRecursive)(parameter, _this.PROPERTY_SCHEMA_TYPE)), data_format_1.default.fromValue((0, object_util_1.getPropRecursive)(parameter, _this.PROPERTY_SCHEMA_FORMAT)));
|
|
35
|
+
});
|
|
36
|
+
return new parameters_1.default(parameters);
|
|
37
|
+
};
|
|
38
|
+
ParametersParser.INSTANCE = new ParametersParser();
|
|
39
|
+
return ParametersParser;
|
|
40
|
+
}());
|
|
41
|
+
exports.default = ParametersParser;
|
|
42
|
+
//# sourceMappingURL=parameters-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameters-parser.js","sourceRoot":"","sources":["../../src/parser/parameters-parser.ts"],"names":[],"mappings":";;;;;AAAA,kDAAgF;AAChF,6EAAsD;AACtD,iFAA0D;AAC1D,qFAA8D;AAC9D,4EAAsD;AACtD,mFAA6D;AAE7D;IAWI;QAPiB,kBAAa,GAAG,MAAM,CAAC;QACvB,gBAAW,GAAG,IAAI,CAAC;QACnB,yBAAoB,GAAG,aAAa,CAAC;QACrC,sBAAiB,GAAG,UAAU,CAAC;QAC/B,yBAAoB,GAAG,aAAa,CAAC;QACrC,2BAAsB,GAAG,gBAAgB,CAAA;IAG1D,CAAC;IAEa,4BAAW,GAAzB;QACI,OAAO,gBAAgB,CAAC,QAAQ,CAAC;IACrC,CAAC;IAEM,gCAAK,GAAZ,UAAa,QAA8B;QAA3C,iBAoBC;QAnBG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,UAAA,SAAS;YAClC,OAAO,IAAI,mBAAS,CAChB,IAAA,8BAAgB,EAAS,SAAS,EAAE,KAAI,CAAC,aAAa,EAAE,EAAE,CAAC,EAC3D,iBAAM,CAAC,SAAS,CAAC,IAAA,8BAAgB,EAAS,SAAS,EAAE,KAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,EAC3E,IAAA,8BAAgB,EAAS,SAAS,EAAE,KAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,EAClE,IAAA,8BAAgB,EAAU,SAAS,EAAE,KAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,EACnE,mBAAQ,CAAC,SAAS,CAAC,IAAA,8BAAgB,EAAS,SAAS,EAAE,KAAI,CAAC,oBAAoB,CAAC,CAAC,EAClF,qBAAU,CAAC,SAAS,CAAC,IAAA,8BAAgB,EAAS,SAAS,EAAE,KAAI,CAAC,sBAAsB,CAAC,CAAC,CACzF,CAAC;QACN,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,oBAAU,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IApCuB,yBAAQ,GAAqB,IAAI,gBAAgB,EAAE,AAA3C,CAA4C;IAqChF,uBAAC;CAAA,AAvCD,IAuCC;kBAvCoB,gBAAgB"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __values = (this && this.__values) || function(o) {
|
|
3
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
4
|
+
if (m) return m.call(o);
|
|
5
|
+
if (o && typeof o.length === "number") return {
|
|
6
|
+
next: function () {
|
|
7
|
+
if (o && i >= o.length) o = void 0;
|
|
8
|
+
return { value: o && o[i++], done: !o };
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
var yaml_1 = require("yaml");
|
|
18
|
+
var object_util_1 = require("@/util/object-util");
|
|
19
|
+
var postman_header_1 = __importDefault(require("@/type/postman/postman-header"));
|
|
20
|
+
var case_mode_1 = __importDefault(require("@/type/postman/constant/case-mode"));
|
|
21
|
+
var string_util_1 = require("@/util/string-util");
|
|
22
|
+
var parsed_postman_option_1 = __importDefault(require("@/type/postman/parsed-postman-option"));
|
|
23
|
+
var type_value_1 = __importDefault(require("@/type/postman/type-value"));
|
|
24
|
+
var path_1 = __importDefault(require("@/type/path"));
|
|
25
|
+
var postman_request_wrapper_template_1 = __importDefault(require("@/type/postman/postman-request-wrapper-template"));
|
|
26
|
+
var request_mode_1 = __importDefault(require("@/type/postman/constant/request-mode"));
|
|
27
|
+
var postman_formdata_1 = __importDefault(require("@/type/postman/postman-formdata"));
|
|
28
|
+
var PostmanConfigParser = /** @class */ (function () {
|
|
29
|
+
function PostmanConfigParser() {
|
|
30
|
+
this.KEY_POSTMAN = 'postman';
|
|
31
|
+
this.KEY_HOST = 'host';
|
|
32
|
+
this.KEY_EXCLUDE_PATH = 'exclude-path';
|
|
33
|
+
this.KEY_HEADERS = 'headers';
|
|
34
|
+
this.KEY_CASE = 'case';
|
|
35
|
+
this.KEY_PLACEHOLDER = 'placeholders';
|
|
36
|
+
this.KEY_REQUEST_WRAPPER = 'request-wrapper';
|
|
37
|
+
}
|
|
38
|
+
PostmanConfigParser.prototype.parse = function (yaml) {
|
|
39
|
+
var parsed = (0, yaml_1.parse)(yaml);
|
|
40
|
+
if (!(0, object_util_1.hasProp)(parsed, this.KEY_POSTMAN)) {
|
|
41
|
+
return parsed_postman_option_1.default.ofDefault();
|
|
42
|
+
}
|
|
43
|
+
var postman = (0, object_util_1.getProp)(parsed, this.KEY_POSTMAN);
|
|
44
|
+
var host = this.parseHost(postman);
|
|
45
|
+
var excludePath = this.parseExcludePath(postman);
|
|
46
|
+
var headers = this.parseHeaders(postman);
|
|
47
|
+
var parseCase = this.parseCase(postman);
|
|
48
|
+
var placeholders = this.parsePlaceholder(postman);
|
|
49
|
+
var templates = this.parseRequestWrapper(postman);
|
|
50
|
+
return new parsed_postman_option_1.default(host, excludePath, headers, parseCase, placeholders, templates);
|
|
51
|
+
};
|
|
52
|
+
PostmanConfigParser.prototype.parseHost = function (config) {
|
|
53
|
+
if (!(0, object_util_1.hasProp)(config, this.KEY_HOST)) {
|
|
54
|
+
return '{{url}}';
|
|
55
|
+
}
|
|
56
|
+
return (0, object_util_1.getProp)(config, this.KEY_HOST);
|
|
57
|
+
};
|
|
58
|
+
PostmanConfigParser.prototype.parseExcludePath = function (config) {
|
|
59
|
+
if (!(0, object_util_1.hasProp)(config, this.KEY_EXCLUDE_PATH)) {
|
|
60
|
+
return [path_1.default.of([])];
|
|
61
|
+
}
|
|
62
|
+
var paths = (0, object_util_1.getProp)(config, this.KEY_EXCLUDE_PATH);
|
|
63
|
+
if (!this.isStringArray(paths)) {
|
|
64
|
+
return [path_1.default.of([])];
|
|
65
|
+
}
|
|
66
|
+
return paths.map(function (path) { return new path_1.default(path); });
|
|
67
|
+
};
|
|
68
|
+
PostmanConfigParser.prototype.parseHeaders = function (config) {
|
|
69
|
+
if (!(0, object_util_1.hasProp)(config, this.KEY_HEADERS)) {
|
|
70
|
+
return [];
|
|
71
|
+
}
|
|
72
|
+
var prop = (0, object_util_1.getDeepProps)(config, [this.KEY_HEADERS]);
|
|
73
|
+
if (!Array.isArray(prop)) {
|
|
74
|
+
return [];
|
|
75
|
+
}
|
|
76
|
+
return prop.map(function (header) { return new postman_header_1.default(header.name, header.getTypeValue()); });
|
|
77
|
+
};
|
|
78
|
+
PostmanConfigParser.prototype.parseCase = function (config) {
|
|
79
|
+
if (!(0, object_util_1.hasProp)(config, this.KEY_CASE)) {
|
|
80
|
+
return case_mode_1.default.CAMEL;
|
|
81
|
+
}
|
|
82
|
+
var caseMode = (0, object_util_1.getProp)(config, this.KEY_CASE);
|
|
83
|
+
var found = case_mode_1.default.values().find(function (mode) { return mode.value === caseMode; });
|
|
84
|
+
if (!found) {
|
|
85
|
+
return case_mode_1.default.CAMEL;
|
|
86
|
+
}
|
|
87
|
+
return found;
|
|
88
|
+
};
|
|
89
|
+
PostmanConfigParser.prototype.isStringArray = function (value) {
|
|
90
|
+
return Array.isArray(value) && value.every(function (item) { return typeof item === 'string'; });
|
|
91
|
+
};
|
|
92
|
+
PostmanConfigParser.prototype.parsePlaceholder = function (config) {
|
|
93
|
+
var e_1, _a;
|
|
94
|
+
var map = new Map();
|
|
95
|
+
if (!(0, object_util_1.hasProp)(config, this.KEY_PLACEHOLDER)) {
|
|
96
|
+
return map;
|
|
97
|
+
}
|
|
98
|
+
var properties = (0, object_util_1.getDeepProps)(config, [this.KEY_PLACEHOLDER]);
|
|
99
|
+
try {
|
|
100
|
+
for (var properties_1 = __values(properties), properties_1_1 = properties_1.next(); !properties_1_1.done; properties_1_1 = properties_1.next()) {
|
|
101
|
+
var property = properties_1_1.value;
|
|
102
|
+
if (!(0, object_util_1.hasProp)(property, 'type') || !(0, object_util_1.hasProp)(property, 'value')) {
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
var type = (0, object_util_1.getProp)(property, 'type');
|
|
106
|
+
var value = (0, object_util_1.getProp)(property, 'value');
|
|
107
|
+
if ((0, string_util_1.isEmpty)(type) || (0, string_util_1.isEmpty)(value)) {
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
var typeValue = new type_value_1.default(type, value);
|
|
111
|
+
map.set(property.name, typeValue);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
115
|
+
finally {
|
|
116
|
+
try {
|
|
117
|
+
if (properties_1_1 && !properties_1_1.done && (_a = properties_1.return)) _a.call(properties_1);
|
|
118
|
+
}
|
|
119
|
+
finally { if (e_1) throw e_1.error; }
|
|
120
|
+
}
|
|
121
|
+
return map;
|
|
122
|
+
};
|
|
123
|
+
PostmanConfigParser.prototype.parseRequestWrapper = function (config) {
|
|
124
|
+
var _this = this;
|
|
125
|
+
if (!(0, object_util_1.hasProp)(config, this.KEY_REQUEST_WRAPPER)) {
|
|
126
|
+
return [];
|
|
127
|
+
}
|
|
128
|
+
var wrapperConfig = (0, object_util_1.getProp)(config, this.KEY_REQUEST_WRAPPER);
|
|
129
|
+
if (!Array.isArray(wrapperConfig)) {
|
|
130
|
+
return [];
|
|
131
|
+
}
|
|
132
|
+
return wrapperConfig.filter(function (wrapper) { return _this.requestWrapperFilter(wrapper); })
|
|
133
|
+
.map(function (wrapper) { return _this.parseWrapperPolicy(wrapper); });
|
|
134
|
+
};
|
|
135
|
+
PostmanConfigParser.prototype.requestWrapperFilter = function (wrapper) {
|
|
136
|
+
var requiredCondition = (0, object_util_1.hasProp)(wrapper, 'path') && (0, object_util_1.hasProp)(wrapper, 'type');
|
|
137
|
+
if (!requiredCondition) {
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
var type = (0, object_util_1.getProp)(wrapper, 'type');
|
|
141
|
+
var requestMode = request_mode_1.default.fromValue(type);
|
|
142
|
+
if (requestMode.isNone) {
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
if (requestMode.equalsValue(request_mode_1.default.RAW)) {
|
|
146
|
+
return (0, object_util_1.hasProp)(wrapper, 'format');
|
|
147
|
+
}
|
|
148
|
+
else if (requestMode.equalsValue(request_mode_1.default.FORMDATA)) {
|
|
149
|
+
return (0, object_util_1.hasProp)(wrapper, 'values');
|
|
150
|
+
}
|
|
151
|
+
return false;
|
|
152
|
+
};
|
|
153
|
+
PostmanConfigParser.prototype.parseWrapperPolicy = function (wrapper) {
|
|
154
|
+
var e_2, _a;
|
|
155
|
+
var path = new path_1.default((0, object_util_1.getProp)(wrapper, 'path'));
|
|
156
|
+
var mode = request_mode_1.default.fromValue((0, object_util_1.getProp)(wrapper, 'type'));
|
|
157
|
+
switch (mode) {
|
|
158
|
+
case request_mode_1.default.RAW: {
|
|
159
|
+
var format_1 = (0, object_util_1.getProp)(wrapper, 'format');
|
|
160
|
+
return postman_request_wrapper_template_1.default.ofConfig(path, mode, function (str) {
|
|
161
|
+
//beautify in postman raw body
|
|
162
|
+
return format_1.replace('${body}', JSON.stringify(str, null));
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
case request_mode_1.default.FORMDATA: {
|
|
166
|
+
var values = (0, object_util_1.getProp)(wrapper, 'values');
|
|
167
|
+
var parameters = new Array();
|
|
168
|
+
try {
|
|
169
|
+
for (var values_1 = __values(values), values_1_1 = values_1.next(); !values_1_1.done; values_1_1 = values_1.next()) {
|
|
170
|
+
var param = values_1_1.value;
|
|
171
|
+
if (!(0, object_util_1.hasProp)(param, 'name') || !(0, object_util_1.hasProp)(param, 'value')) {
|
|
172
|
+
throw new Error('Invalid formdata parameter');
|
|
173
|
+
}
|
|
174
|
+
var name_1 = (0, object_util_1.getProp)(param, 'name');
|
|
175
|
+
var value = (0, object_util_1.getProp)(param, 'value');
|
|
176
|
+
var description = (0, object_util_1.getProp)(param, 'description');
|
|
177
|
+
parameters.push(new postman_formdata_1.default(name_1, value, 'text', description));
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
181
|
+
finally {
|
|
182
|
+
try {
|
|
183
|
+
if (values_1_1 && !values_1_1.done && (_a = values_1.return)) _a.call(values_1);
|
|
184
|
+
}
|
|
185
|
+
finally { if (e_2) throw e_2.error; }
|
|
186
|
+
}
|
|
187
|
+
return postman_request_wrapper_template_1.default.ofConfig(path, mode, undefined, parameters);
|
|
188
|
+
}
|
|
189
|
+
default: throw new Error('Invalid request mode');
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
return PostmanConfigParser;
|
|
193
|
+
}());
|
|
194
|
+
exports.default = PostmanConfigParser;
|
|
195
|
+
//# sourceMappingURL=postman-config-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postman-config-parser.js","sourceRoot":"","sources":["../../src/parser/postman-config-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var request_body_1 = __importDefault(require("@/type/open-api/protocol/request-body"));
|
|
7
|
+
var named_literal_1 = __importDefault(require("@/type/open-api/constant/named-literal"));
|
|
8
|
+
var value_field_1 = __importDefault(require("@/type/open-api/sub/value-field"));
|
|
9
|
+
var data_type_1 = __importDefault(require("@/type/open-api/constant/data-type"));
|
|
10
|
+
var data_format_1 = __importDefault(require("@/type/open-api/constant/data-format"));
|
|
11
|
+
var object_field_1 = __importDefault(require("@/type/open-api/sub/object-field"));
|
|
12
|
+
var object_util_1 = require("@/util/object-util");
|
|
13
|
+
var empty_body_1 = __importDefault(require("@/type/open-api/protocol/empty-body"));
|
|
14
|
+
var RequestBodyParser = /** @class */ (function () {
|
|
15
|
+
function RequestBodyParser() {
|
|
16
|
+
}
|
|
17
|
+
RequestBodyParser.getInstance = function () {
|
|
18
|
+
return RequestBodyParser.INSTANCE;
|
|
19
|
+
};
|
|
20
|
+
RequestBodyParser.prototype.parse = function (metadata, components) {
|
|
21
|
+
var contentType = request_body_1.default.ALLOW_CONTENT_TYPES
|
|
22
|
+
.find(function (contentType) { return (0, object_util_1.hasDeepProp)(metadata.value, ['content', contentType]); });
|
|
23
|
+
if (!contentType) {
|
|
24
|
+
return new empty_body_1.default();
|
|
25
|
+
}
|
|
26
|
+
//schema 의 필드 값들
|
|
27
|
+
var schemaProperties = (0, object_util_1.getDeepProps)(metadata.value, ['content', contentType, 'schema']);
|
|
28
|
+
var hasReference = schemaProperties.some(function (prop) { return prop.name === named_literal_1.default.REFERENCE_KEY; });
|
|
29
|
+
if (hasReference) {
|
|
30
|
+
//schema 자체
|
|
31
|
+
var property = (0, object_util_1.getDeepProp)(metadata.value, ['content', contentType, 'schema']);
|
|
32
|
+
return new request_body_1.default(contentType, this.extractReferenceFields(property, components));
|
|
33
|
+
}
|
|
34
|
+
var properties = (0, object_util_1.getDeepProps)(metadata.value, ['content', contentType, 'schema', 'properties']);
|
|
35
|
+
var fields = this.parseInternal(properties, components);
|
|
36
|
+
return new request_body_1.default(contentType, fields);
|
|
37
|
+
};
|
|
38
|
+
RequestBodyParser.prototype.parseInternal = function (properties, components) {
|
|
39
|
+
var _this = this;
|
|
40
|
+
return properties.map(function (property) {
|
|
41
|
+
if ((0, object_util_1.hasProp)(property.value, named_literal_1.default.REFERENCE_KEY)) {
|
|
42
|
+
var fields = _this.extractReferenceFields(property, components);
|
|
43
|
+
return new object_field_1.default(property.name, '', data_type_1.default.OBJECT, fields);
|
|
44
|
+
}
|
|
45
|
+
return InternalFieldParser.getInstance().parse(property.name, property.value);
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
RequestBodyParser.prototype.extractReferenceFields = function (property, components) {
|
|
49
|
+
var _a;
|
|
50
|
+
var referenceKey = (0, object_util_1.getProp)(property.value, named_literal_1.default.REFERENCE_KEY);
|
|
51
|
+
return (_a = components.get(referenceKey)) !== null && _a !== void 0 ? _a : [];
|
|
52
|
+
};
|
|
53
|
+
RequestBodyParser.INSTANCE = new RequestBodyParser();
|
|
54
|
+
return RequestBodyParser;
|
|
55
|
+
}());
|
|
56
|
+
exports.default = RequestBodyParser;
|
|
57
|
+
var InternalFieldParser = /** @class */ (function () {
|
|
58
|
+
function InternalFieldParser() {
|
|
59
|
+
this.PROPERTY_DESCRIPTION = "description";
|
|
60
|
+
this.PROPERTY_TYPE = "type";
|
|
61
|
+
this.PROPERTY_FORMAT = "format";
|
|
62
|
+
this.PROPERTY_EXAMPLE = "example";
|
|
63
|
+
}
|
|
64
|
+
InternalFieldParser.getInstance = function () {
|
|
65
|
+
return InternalFieldParser.INSTANCE;
|
|
66
|
+
};
|
|
67
|
+
InternalFieldParser.prototype.parse = function (name, property) {
|
|
68
|
+
return new value_field_1.default(name, (0, object_util_1.getPropOrDefault)(property, this.PROPERTY_DESCRIPTION, ''), data_type_1.default.fromValue((0, object_util_1.getProp)(property, this.PROPERTY_TYPE)), data_format_1.default.fromValue((0, object_util_1.getProp)(property, this.PROPERTY_FORMAT)), '', (0, object_util_1.getPropOrDefault)(property, this.PROPERTY_EXAMPLE, ''));
|
|
69
|
+
};
|
|
70
|
+
InternalFieldParser.INSTANCE = new InternalFieldParser();
|
|
71
|
+
return InternalFieldParser;
|
|
72
|
+
}());
|
|
73
|
+
//# sourceMappingURL=request-body-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-body-parser.js","sourceRoot":"","sources":["../../src/parser/request-body-parser.ts"],"names":[],"mappings":"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"}
|