@speclynx/apidom-parser-adapter-asyncapi-yaml-2 4.0.2 → 4.0.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@speclynx/apidom-parser-adapter-asyncapi-yaml-2",
3
- "version": "4.0.2",
3
+ "version": "4.0.4",
4
4
  "description": "Parser adapter for parsing YAML documents into AsyncAPI 2.x.y namespace.",
5
5
  "keywords": [
6
6
  "apidom",
@@ -60,10 +60,10 @@
60
60
  "license": "Apache-2.0",
61
61
  "dependencies": {
62
62
  "@babel/runtime-corejs3": "^7.28.4",
63
- "@speclynx/apidom-core": "4.0.2",
64
- "@speclynx/apidom-datamodel": "4.0.2",
65
- "@speclynx/apidom-ns-asyncapi-2": "4.0.2",
66
- "@speclynx/apidom-parser-adapter-yaml-1-2": "4.0.2",
63
+ "@speclynx/apidom-core": "4.0.4",
64
+ "@speclynx/apidom-datamodel": "4.0.4",
65
+ "@speclynx/apidom-ns-asyncapi-2": "4.0.4",
66
+ "@speclynx/apidom-parser-adapter-yaml-1-2": "4.0.4",
67
67
  "ramda": "~0.32.0",
68
68
  "ramda-adjunct": "^6.0.0"
69
69
  },
@@ -77,5 +77,5 @@
77
77
  "README.md",
78
78
  "CHANGELOG.md"
79
79
  ],
80
- "gitHead": "af1b05d4d5e48a11a3a03cd5699324e0f1b62765"
80
+ "gitHead": "a06f6ef3d37ad5bf860cbbf4b442bfbe3a522cc2"
81
81
  }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
5
+ exports.__esModule = true;
6
+ exports.parse = exports.namespace = exports.mediaTypes = exports.detectionRegExp = exports.detect = void 0;
7
+ var _ramda = require("ramda");
8
+ var _ramdaAdjunct = require("ramda-adjunct");
9
+ var _apidomDatamodel = require("@speclynx/apidom-datamodel");
10
+ var _apidomParserAdapterYaml = require("@speclynx/apidom-parser-adapter-yaml-1-2");
11
+ var _apidomNsAsyncapi = _interopRequireWildcard(require("@speclynx/apidom-ns-asyncapi-2"));
12
+ var _mediaTypes = _interopRequireDefault(require("./media-types.cjs"));
13
+ exports.mediaTypes = _mediaTypes.default;
14
+ /**
15
+ * @public
16
+ */
17
+ const detectionRegExp = exports.detectionRegExp = /(?<YAML>^(["']?)asyncapi\2\s*:\s*(["']?)(?<version_yaml>2\.(?:[1-9]\d*|0)\.(?:[1-9]\d*|0))\3(?:\s+|$))|(?<JSON>"asyncapi"\s*:\s*"(?<version_json>2\.(?:[1-9]\d*|0)\.(?:[1-9]\d*|0))")/m;
18
+
19
+ /**
20
+ * @public
21
+ */
22
+ const detect = async (source, options = {}) => detectionRegExp.test(source) && (await (0, _apidomParserAdapterYaml.detect)(source, options));
23
+
24
+ /**
25
+ * @public
26
+ */
27
+ exports.detect = detect;
28
+ /**
29
+ * @public
30
+ */
31
+ const parse = async (source, options = {}) => {
32
+ const refractorOpts = (0, _ramda.propOr)({}, 'refractorOpts', options);
33
+ const parserOpts = (0, _ramda.omit)(['refractorOpts'], options);
34
+ const parseResultElement = await (0, _apidomParserAdapterYaml.parse)(source, parserOpts);
35
+ const {
36
+ result
37
+ } = parseResultElement;
38
+ if ((0, _ramdaAdjunct.isNotUndefined)(result)) {
39
+ const asyncApiElement = (0, _apidomNsAsyncapi.refractAsyncApi2)(result, {
40
+ consume: true,
41
+ ...refractorOpts
42
+ });
43
+ asyncApiElement.classes.push('result');
44
+ parseResultElement.replaceResult(asyncApiElement);
45
+ }
46
+ return parseResultElement;
47
+ };
48
+
49
+ /**
50
+ * @public
51
+ */
52
+ exports.parse = parse;
53
+ const namespace = exports.namespace = new _apidomDatamodel.Namespace().use(_apidomNsAsyncapi.default);
@@ -0,0 +1,45 @@
1
+ import { omit, propOr } from 'ramda';
2
+ import { isNotUndefined } from 'ramda-adjunct';
3
+ import { Namespace } from '@speclynx/apidom-datamodel';
4
+ import { parse as parseYAML, detect as detectYAML } from '@speclynx/apidom-parser-adapter-yaml-1-2';
5
+ import asyncApiNamespace, { refractAsyncApi2 } from '@speclynx/apidom-ns-asyncapi-2';
6
+ export { default as mediaTypes } from "./media-types.mjs";
7
+ /**
8
+ * @public
9
+ */
10
+ export const detectionRegExp = /(?<YAML>^(["']?)asyncapi\2\s*:\s*(["']?)(?<version_yaml>2\.(?:[1-9]\d*|0)\.(?:[1-9]\d*|0))\3(?:\s+|$))|(?<JSON>"asyncapi"\s*:\s*"(?<version_json>2\.(?:[1-9]\d*|0)\.(?:[1-9]\d*|0))")/m;
11
+
12
+ /**
13
+ * @public
14
+ */
15
+ export const detect = async (source, options = {}) => detectionRegExp.test(source) && (await detectYAML(source, options));
16
+
17
+ /**
18
+ * @public
19
+ */
20
+
21
+ /**
22
+ * @public
23
+ */
24
+ export const parse = async (source, options = {}) => {
25
+ const refractorOpts = propOr({}, 'refractorOpts', options);
26
+ const parserOpts = omit(['refractorOpts'], options);
27
+ const parseResultElement = await parseYAML(source, parserOpts);
28
+ const {
29
+ result
30
+ } = parseResultElement;
31
+ if (isNotUndefined(result)) {
32
+ const asyncApiElement = refractAsyncApi2(result, {
33
+ consume: true,
34
+ ...refractorOpts
35
+ });
36
+ asyncApiElement.classes.push('result');
37
+ parseResultElement.replaceResult(asyncApiElement);
38
+ }
39
+ return parseResultElement;
40
+ };
41
+
42
+ /**
43
+ * @public
44
+ */
45
+ export const namespace = new Namespace().use(asyncApiNamespace);
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+ var _apidomNsAsyncapi = require("@speclynx/apidom-ns-asyncapi-2");
6
+ /**
7
+ * @public
8
+ */
9
+ const yamlMediaTypes = new _apidomNsAsyncapi.AsyncAPIMediaTypes(..._apidomNsAsyncapi.mediaTypes.filterByFormat('generic'), ..._apidomNsAsyncapi.mediaTypes.filterByFormat('yaml'));
10
+ var _default = exports.default = yamlMediaTypes;
@@ -0,0 +1,7 @@
1
+ import { mediaTypes, AsyncAPIMediaTypes } from '@speclynx/apidom-ns-asyncapi-2';
2
+
3
+ /**
4
+ * @public
5
+ */
6
+ const yamlMediaTypes = new AsyncAPIMediaTypes(...mediaTypes.filterByFormat('generic'), ...mediaTypes.filterByFormat('yaml'));
7
+ export default yamlMediaTypes;