@swagger-api/apidom-core 0.98.0 → 0.99.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/CHANGELOG.md +10 -0
- package/cjs/index.cjs +2 -2
- package/cjs/refractor/index.cjs +2 -2
- package/cjs/refractor/plugins/dispatcher/index.cjs +55 -0
- package/dist/apidom-core.browser.js +155 -49
- package/dist/apidom-core.browser.min.js +1 -1
- package/es/index.mjs +1 -1
- package/es/refractor/index.mjs +2 -2
- package/es/refractor/plugins/dispatcher/index.mjs +48 -0
- package/package.json +4 -4
- package/types/dist.d.ts +96 -58
- package/cjs/refractor/plugins/utils/index.cjs +0 -36
- package/es/refractor/plugins/utils/index.mjs +0 -30
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.99.1](https://github.com/swagger-api/apidom/compare/v0.99.0...v0.99.1) (2024-04-05)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @swagger-api/apidom-core
|
|
9
|
+
|
|
10
|
+
# [0.99.0](https://github.com/swagger-api/apidom/compare/v0.98.3...v0.99.0) (2024-04-03)
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
- **core:** introduce async version of plugin dispatch mechanism ([#3994](https://github.com/swagger-api/apidom/issues/3994)) ([36011bc](https://github.com/swagger-api/apidom/commit/36011bc3b7e50e2d12c08b18b2d45aeb9aa6f594)), closes [#3993](https://github.com/swagger-api/apidom/issues/3993)
|
|
15
|
+
|
|
6
16
|
# [0.98.0](https://github.com/swagger-api/apidom/compare/v0.97.1...v0.98.0) (2024-03-21)
|
|
7
17
|
|
|
8
18
|
**Note:** Version bump only for package @swagger-api/apidom-core
|
package/cjs/index.cjs
CHANGED
|
@@ -4,8 +4,8 @@ var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopReq
|
|
|
4
4
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
5
5
|
exports.__esModule = true;
|
|
6
6
|
exports.visit = exports.traverse = exports.transclude = exports.toYAML = exports.toValue = exports.toString = exports.toJSON = exports.some = exports.sexprs = exports.reject = exports.refractorPluginSemanticElementIdentity = exports.refractorPluginElementIdentity = exports.refract = exports.parents = exports.namespace = exports.mergeRight = exports.mergeLeft = exports.mergeAllVisitors = exports.keyMap = exports.isStringElement = exports.isSourceMapElement = exports.isRefElement = exports.isPrimitiveElement = exports.isParseResultElement = exports.isObjectElement = exports.isNumberElement = exports.isNullElement = exports.isMemberElement = exports.isLinkElement = exports.isElement = exports.isBooleanElement = exports.isArrayElement = exports.isAnnotationElement = exports.includesSymbols = exports.includesClasses = exports.hasElementSourceMap = exports.getNodeType = exports.from = exports.findAtOffset = exports.find = exports.filter = exports.dispatchRefractorPlugins = exports.dereference = exports.dehydrate = exports.defaultIdentityManager = exports.deepmerge = exports.createPredicate = exports.createNamespace = exports.cloneShallow = exports.cloneNode = exports.cloneDeep = exports.Transcluder = exports.StringElement = exports.SourceMapElement = exports.ShallowCloneError = exports.RefElement = exports.ParseResultElement = exports.ObjectSlice = exports.ObjectElement = exports.NumberElement = exports.NullElement = exports.Namespace = exports.MemberElement = exports.MediaTypes = exports.LinkElement = exports.KeyValuePair = exports.IdentityManager = exports.ElementIdentityError = exports.Element = exports.DeepCloneError = exports.CommentElement = exports.CloneError = exports.BooleanElement = exports.BREAK = exports.ArraySlice = exports.ArrayElement = exports.AnnotationElement = void 0;
|
|
7
|
-
var _index = require("./refractor/plugins/
|
|
8
|
-
exports.dispatchRefractorPlugins = _index.
|
|
7
|
+
var _index = require("./refractor/plugins/dispatcher/index.cjs");
|
|
8
|
+
exports.dispatchRefractorPlugins = _index.dispatchPluginsSync;
|
|
9
9
|
var _elementIdentity = _interopRequireDefault(require("./refractor/plugins/element-identity.cjs"));
|
|
10
10
|
exports.refractorPluginElementIdentity = _elementIdentity.default;
|
|
11
11
|
var _semanticElementIdentity = _interopRequireDefault(require("./refractor/plugins/semantic-element-identity.cjs"));
|
package/cjs/refractor/index.cjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = exports.createRefractor = void 0;
|
|
6
|
-
var _index = require("./plugins/
|
|
6
|
+
var _index = require("./plugins/dispatcher/index.cjs");
|
|
7
7
|
var _visitor = require("../traversal/visitor.cjs");
|
|
8
8
|
var _index2 = require("../clone/index.cjs");
|
|
9
9
|
var _index3 = require("../predicates/index.cjs");
|
|
@@ -31,7 +31,7 @@ const refract = (value, {
|
|
|
31
31
|
* Run plugins only when necessary.
|
|
32
32
|
* Running plugins visitors means extra single traversal === performance hit.
|
|
33
33
|
*/
|
|
34
|
-
return (0, _index.
|
|
34
|
+
return (0, _index.dispatchPluginsSync)(element, plugins, {
|
|
35
35
|
toolboxCreator: _toolbox.default,
|
|
36
36
|
visitorOptions: {
|
|
37
37
|
nodeTypeGetter: _visitor.getNodeType
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.dispatchPluginsSync = exports.dispatchPluginsAsync = void 0;
|
|
6
|
+
var _ramda = require("ramda");
|
|
7
|
+
var _ramdaAdjunct = require("ramda-adjunct");
|
|
8
|
+
var _toolbox = _interopRequireDefault(require("../../toolbox.cjs"));
|
|
9
|
+
var _visitor = require("../../../traversal/visitor.cjs");
|
|
10
|
+
const defaultDispatchPluginsOptions = {
|
|
11
|
+
toolboxCreator: _toolbox.default,
|
|
12
|
+
visitorOptions: {
|
|
13
|
+
nodeTypeGetter: _visitor.getNodeType,
|
|
14
|
+
exposeEdits: true
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
const dispatchPluginsSync = (element, plugins, options = {}) => {
|
|
18
|
+
if (plugins.length === 0) return element;
|
|
19
|
+
const mergedOptions = (0, _ramda.mergeDeepRight)(defaultDispatchPluginsOptions, options);
|
|
20
|
+
const {
|
|
21
|
+
toolboxCreator,
|
|
22
|
+
visitorOptions
|
|
23
|
+
} = mergedOptions;
|
|
24
|
+
const toolbox = toolboxCreator();
|
|
25
|
+
const pluginsSpecs = plugins.map(plugin => plugin(toolbox));
|
|
26
|
+
const mergedPluginsVisitor = (0, _visitor.mergeAllVisitors)(pluginsSpecs.map((0, _ramda.propOr)({}, 'visitor')), {
|
|
27
|
+
...visitorOptions
|
|
28
|
+
});
|
|
29
|
+
pluginsSpecs.forEach((0, _ramdaAdjunct.invokeArgs)(['pre'], []));
|
|
30
|
+
const newElement = (0, _visitor.visit)(element, mergedPluginsVisitor, visitorOptions);
|
|
31
|
+
pluginsSpecs.forEach((0, _ramdaAdjunct.invokeArgs)(['post'], []));
|
|
32
|
+
return newElement;
|
|
33
|
+
};
|
|
34
|
+
exports.dispatchPluginsSync = dispatchPluginsSync;
|
|
35
|
+
const dispatchPluginsAsync = async (element, plugins, options = {}) => {
|
|
36
|
+
if (plugins.length === 0) return element;
|
|
37
|
+
const mergedOptions = (0, _ramda.mergeDeepRight)(defaultDispatchPluginsOptions, options);
|
|
38
|
+
const {
|
|
39
|
+
toolboxCreator,
|
|
40
|
+
visitorOptions
|
|
41
|
+
} = mergedOptions;
|
|
42
|
+
const toolbox = toolboxCreator();
|
|
43
|
+
const pluginsSpecs = plugins.map(plugin => plugin(toolbox));
|
|
44
|
+
const mergeAllVisitorsAsync = _visitor.mergeAllVisitors[Symbol.for('nodejs.util.promisify.custom')];
|
|
45
|
+
const visitAsync = _visitor.visit[Symbol.for('nodejs.util.promisify.custom')];
|
|
46
|
+
const mergedPluginsVisitor = mergeAllVisitorsAsync(pluginsSpecs.map((0, _ramda.propOr)({}, 'visitor')), {
|
|
47
|
+
...visitorOptions
|
|
48
|
+
});
|
|
49
|
+
await Promise.allSettled(pluginsSpecs.map((0, _ramdaAdjunct.invokeArgs)(['pre'], [])));
|
|
50
|
+
const newElement = await visitAsync(element, mergedPluginsVisitor, visitorOptions);
|
|
51
|
+
await Promise.allSettled(pluginsSpecs.map((0, _ramdaAdjunct.invokeArgs)(['post'], [])));
|
|
52
|
+
return newElement;
|
|
53
|
+
};
|
|
54
|
+
exports.dispatchPluginsAsync = dispatchPluginsAsync;
|
|
55
|
+
dispatchPluginsSync[Symbol.for('nodejs.util.promisify.custom')] = dispatchPluginsAsync;
|
|
@@ -913,6 +913,72 @@ const includesClasses = (classes, element) => {
|
|
|
913
913
|
|
|
914
914
|
/***/ }),
|
|
915
915
|
|
|
916
|
+
/***/ 8999:
|
|
917
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
918
|
+
|
|
919
|
+
"use strict";
|
|
920
|
+
__webpack_require__.r(__webpack_exports__);
|
|
921
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
922
|
+
/* harmony export */ dispatchPluginsAsync: () => (/* binding */ dispatchPluginsAsync),
|
|
923
|
+
/* harmony export */ dispatchPluginsSync: () => (/* binding */ dispatchPluginsSync)
|
|
924
|
+
/* harmony export */ });
|
|
925
|
+
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1515);
|
|
926
|
+
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5379);
|
|
927
|
+
/* harmony import */ var ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1465);
|
|
928
|
+
/* harmony import */ var _toolbox__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4225);
|
|
929
|
+
/* harmony import */ var _traversal_visitor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(192);
|
|
930
|
+
/* harmony import */ var _traversal_visitor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7951);
|
|
931
|
+
|
|
932
|
+
|
|
933
|
+
|
|
934
|
+
|
|
935
|
+
const defaultDispatchPluginsOptions = {
|
|
936
|
+
toolboxCreator: _toolbox__WEBPACK_IMPORTED_MODULE_0__["default"],
|
|
937
|
+
visitorOptions: {
|
|
938
|
+
nodeTypeGetter: _traversal_visitor__WEBPACK_IMPORTED_MODULE_1__.getNodeType,
|
|
939
|
+
exposeEdits: true
|
|
940
|
+
}
|
|
941
|
+
};
|
|
942
|
+
const dispatchPluginsSync = (element, plugins, options = {}) => {
|
|
943
|
+
if (plugins.length === 0) return element;
|
|
944
|
+
const mergedOptions = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(defaultDispatchPluginsOptions, options);
|
|
945
|
+
const {
|
|
946
|
+
toolboxCreator,
|
|
947
|
+
visitorOptions
|
|
948
|
+
} = mergedOptions;
|
|
949
|
+
const toolbox = toolboxCreator();
|
|
950
|
+
const pluginsSpecs = plugins.map(plugin => plugin(toolbox));
|
|
951
|
+
const mergedPluginsVisitor = (0,_traversal_visitor__WEBPACK_IMPORTED_MODULE_3__.mergeAll)(pluginsSpecs.map((0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])({}, 'visitor')), {
|
|
952
|
+
...visitorOptions
|
|
953
|
+
});
|
|
954
|
+
pluginsSpecs.forEach((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['pre'], []));
|
|
955
|
+
const newElement = (0,_traversal_visitor__WEBPACK_IMPORTED_MODULE_1__.visit)(element, mergedPluginsVisitor, visitorOptions);
|
|
956
|
+
pluginsSpecs.forEach((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['post'], []));
|
|
957
|
+
return newElement;
|
|
958
|
+
};
|
|
959
|
+
const dispatchPluginsAsync = async (element, plugins, options = {}) => {
|
|
960
|
+
if (plugins.length === 0) return element;
|
|
961
|
+
const mergedOptions = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(defaultDispatchPluginsOptions, options);
|
|
962
|
+
const {
|
|
963
|
+
toolboxCreator,
|
|
964
|
+
visitorOptions
|
|
965
|
+
} = mergedOptions;
|
|
966
|
+
const toolbox = toolboxCreator();
|
|
967
|
+
const pluginsSpecs = plugins.map(plugin => plugin(toolbox));
|
|
968
|
+
const mergeAllVisitorsAsync = _traversal_visitor__WEBPACK_IMPORTED_MODULE_3__.mergeAll[Symbol.for('nodejs.util.promisify.custom')];
|
|
969
|
+
const visitAsync = _traversal_visitor__WEBPACK_IMPORTED_MODULE_1__.visit[Symbol.for('nodejs.util.promisify.custom')];
|
|
970
|
+
const mergedPluginsVisitor = mergeAllVisitorsAsync(pluginsSpecs.map((0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])({}, 'visitor')), {
|
|
971
|
+
...visitorOptions
|
|
972
|
+
});
|
|
973
|
+
await Promise.allSettled(pluginsSpecs.map((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['pre'], [])));
|
|
974
|
+
const newElement = await visitAsync(element, mergedPluginsVisitor, visitorOptions);
|
|
975
|
+
await Promise.allSettled(pluginsSpecs.map((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['post'], [])));
|
|
976
|
+
return newElement;
|
|
977
|
+
};
|
|
978
|
+
dispatchPluginsSync[Symbol.for('nodejs.util.promisify.custom')] = dispatchPluginsAsync;
|
|
979
|
+
|
|
980
|
+
/***/ }),
|
|
981
|
+
|
|
916
982
|
/***/ 2836:
|
|
917
983
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
918
984
|
|
|
@@ -995,53 +1061,6 @@ const plugin = ({
|
|
|
995
1061
|
|
|
996
1062
|
/***/ }),
|
|
997
1063
|
|
|
998
|
-
/***/ 6967:
|
|
999
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1000
|
-
|
|
1001
|
-
"use strict";
|
|
1002
|
-
__webpack_require__.r(__webpack_exports__);
|
|
1003
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1004
|
-
/* harmony export */ dispatchPlugins: () => (/* binding */ dispatchPlugins)
|
|
1005
|
-
/* harmony export */ });
|
|
1006
|
-
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1515);
|
|
1007
|
-
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5379);
|
|
1008
|
-
/* harmony import */ var ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1465);
|
|
1009
|
-
/* harmony import */ var _toolbox__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4225);
|
|
1010
|
-
/* harmony import */ var _traversal_visitor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(192);
|
|
1011
|
-
/* harmony import */ var _traversal_visitor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7951);
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
const defaultDispatchPluginsOptions = {
|
|
1017
|
-
toolboxCreator: _toolbox__WEBPACK_IMPORTED_MODULE_0__["default"],
|
|
1018
|
-
visitorOptions: {
|
|
1019
|
-
nodeTypeGetter: _traversal_visitor__WEBPACK_IMPORTED_MODULE_1__.getNodeType,
|
|
1020
|
-
exposeEdits: true
|
|
1021
|
-
}
|
|
1022
|
-
};
|
|
1023
|
-
|
|
1024
|
-
// eslint-disable-next-line import/prefer-default-export
|
|
1025
|
-
const dispatchPlugins = (element, plugins, options = {}) => {
|
|
1026
|
-
if (plugins.length === 0) return element;
|
|
1027
|
-
const mergedOptions = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(defaultDispatchPluginsOptions, options);
|
|
1028
|
-
const {
|
|
1029
|
-
toolboxCreator,
|
|
1030
|
-
visitorOptions
|
|
1031
|
-
} = mergedOptions;
|
|
1032
|
-
const toolbox = toolboxCreator();
|
|
1033
|
-
const pluginsSpecs = plugins.map(plugin => plugin(toolbox));
|
|
1034
|
-
const mergedPluginsVisitor = (0,_traversal_visitor__WEBPACK_IMPORTED_MODULE_3__.mergeAll)(pluginsSpecs.map((0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])({}, 'visitor')), {
|
|
1035
|
-
...visitorOptions
|
|
1036
|
-
});
|
|
1037
|
-
pluginsSpecs.forEach((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['pre'], []));
|
|
1038
|
-
const newElement = (0,_traversal_visitor__WEBPACK_IMPORTED_MODULE_1__.visit)(element, mergedPluginsVisitor, visitorOptions);
|
|
1039
|
-
pluginsSpecs.forEach((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['post'], []));
|
|
1040
|
-
return newElement;
|
|
1041
|
-
};
|
|
1042
|
-
|
|
1043
|
-
/***/ }),
|
|
1044
|
-
|
|
1045
1064
|
/***/ 4225:
|
|
1046
1065
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1047
1066
|
|
|
@@ -16741,6 +16760,7 @@ const cloneNode = node => Object.create(Object.getPrototypeOf(node), Object.getO
|
|
|
16741
16760
|
* If a prior visitor edits a node, no following visitors will see that node.
|
|
16742
16761
|
* `exposeEdits=true` can be used to exoise the edited node from the previous visitors.
|
|
16743
16762
|
*/
|
|
16763
|
+
|
|
16744
16764
|
const mergeAll = (visitors, {
|
|
16745
16765
|
visitFnGetter = getVisitFn,
|
|
16746
16766
|
nodeTypeGetter = getNodeType,
|
|
@@ -16760,6 +16780,14 @@ const mergeAll = (visitors, {
|
|
|
16760
16780
|
const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(currentNode), false);
|
|
16761
16781
|
if (typeof visitFn === 'function') {
|
|
16762
16782
|
const result = visitFn.call(visitors[i], currentNode, ...rest);
|
|
16783
|
+
|
|
16784
|
+
// check if the visitor is async
|
|
16785
|
+
if (typeof (result === null || result === void 0 ? void 0 : result.then) === 'function') {
|
|
16786
|
+
throw new _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"]('Async visitor not supported in sync mode', {
|
|
16787
|
+
visitor: visitors[i],
|
|
16788
|
+
visitFn
|
|
16789
|
+
});
|
|
16790
|
+
}
|
|
16763
16791
|
if (result === skipVisitingNodeSymbol) {
|
|
16764
16792
|
skipping[i] = node;
|
|
16765
16793
|
} else if (result === breakSymbol) {
|
|
@@ -16785,6 +16813,14 @@ const mergeAll = (visitors, {
|
|
|
16785
16813
|
const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(node), true);
|
|
16786
16814
|
if (typeof visitFn === 'function') {
|
|
16787
16815
|
const result = visitFn.call(visitors[i], node, ...rest);
|
|
16816
|
+
|
|
16817
|
+
// check if the visitor is async
|
|
16818
|
+
if (typeof (result === null || result === void 0 ? void 0 : result.then) === 'function') {
|
|
16819
|
+
throw new _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"]('Async visitor not supported in sync mode', {
|
|
16820
|
+
visitor: visitors[i],
|
|
16821
|
+
visitFn
|
|
16822
|
+
});
|
|
16823
|
+
}
|
|
16788
16824
|
if (result === breakSymbol) {
|
|
16789
16825
|
skipping[i] = breakSymbol;
|
|
16790
16826
|
} else if (result !== undefined && result !== skipVisitingNodeSymbol) {
|
|
@@ -16799,6 +16835,67 @@ const mergeAll = (visitors, {
|
|
|
16799
16835
|
}
|
|
16800
16836
|
};
|
|
16801
16837
|
};
|
|
16838
|
+
const mergeAllAsync = (visitors, {
|
|
16839
|
+
visitFnGetter = getVisitFn,
|
|
16840
|
+
nodeTypeGetter = getNodeType,
|
|
16841
|
+
breakSymbol = BREAK,
|
|
16842
|
+
deleteNodeSymbol = null,
|
|
16843
|
+
skipVisitingNodeSymbol = false,
|
|
16844
|
+
exposeEdits = false
|
|
16845
|
+
} = {}) => {
|
|
16846
|
+
const skipSymbol = Symbol('skip');
|
|
16847
|
+
const skipping = new Array(visitors.length).fill(skipSymbol);
|
|
16848
|
+
return {
|
|
16849
|
+
async enter(node, ...rest) {
|
|
16850
|
+
let currentNode = node;
|
|
16851
|
+
let hasChanged = false;
|
|
16852
|
+
for (let i = 0; i < visitors.length; i += 1) {
|
|
16853
|
+
if (skipping[i] === skipSymbol) {
|
|
16854
|
+
const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(currentNode), false);
|
|
16855
|
+
if (typeof visitFn === 'function') {
|
|
16856
|
+
// eslint-disable-next-line no-await-in-loop
|
|
16857
|
+
const result = await visitFn.call(visitors[i], currentNode, ...rest);
|
|
16858
|
+
if (result === skipVisitingNodeSymbol) {
|
|
16859
|
+
skipping[i] = node;
|
|
16860
|
+
} else if (result === breakSymbol) {
|
|
16861
|
+
skipping[i] = breakSymbol;
|
|
16862
|
+
} else if (result === deleteNodeSymbol) {
|
|
16863
|
+
return result;
|
|
16864
|
+
} else if (result !== undefined) {
|
|
16865
|
+
if (exposeEdits) {
|
|
16866
|
+
currentNode = result;
|
|
16867
|
+
hasChanged = true;
|
|
16868
|
+
} else {
|
|
16869
|
+
return result;
|
|
16870
|
+
}
|
|
16871
|
+
}
|
|
16872
|
+
}
|
|
16873
|
+
}
|
|
16874
|
+
}
|
|
16875
|
+
return hasChanged ? currentNode : undefined;
|
|
16876
|
+
},
|
|
16877
|
+
async leave(node, ...rest) {
|
|
16878
|
+
for (let i = 0; i < visitors.length; i += 1) {
|
|
16879
|
+
if (skipping[i] === skipSymbol) {
|
|
16880
|
+
const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(node), true);
|
|
16881
|
+
if (typeof visitFn === 'function') {
|
|
16882
|
+
// eslint-disable-next-line no-await-in-loop
|
|
16883
|
+
const result = await visitFn.call(visitors[i], node, ...rest);
|
|
16884
|
+
if (result === breakSymbol) {
|
|
16885
|
+
skipping[i] = breakSymbol;
|
|
16886
|
+
} else if (result !== undefined && result !== skipVisitingNodeSymbol) {
|
|
16887
|
+
return result;
|
|
16888
|
+
}
|
|
16889
|
+
}
|
|
16890
|
+
} else if (skipping[i] === node) {
|
|
16891
|
+
skipping[i] = skipSymbol;
|
|
16892
|
+
}
|
|
16893
|
+
}
|
|
16894
|
+
return undefined;
|
|
16895
|
+
}
|
|
16896
|
+
};
|
|
16897
|
+
};
|
|
16898
|
+
mergeAll[Symbol.for('nodejs.util.promisify.custom')] = mergeAllAsync;
|
|
16802
16899
|
|
|
16803
16900
|
/* eslint-disable no-continue, no-param-reassign */
|
|
16804
16901
|
/**
|
|
@@ -16967,6 +17064,7 @@ visitor, {
|
|
|
16967
17064
|
}
|
|
16968
17065
|
let result;
|
|
16969
17066
|
if (!Array.isArray(node)) {
|
|
17067
|
+
var _result;
|
|
16970
17068
|
if (!nodePredicate(node)) {
|
|
16971
17069
|
throw new _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"](`Invalid AST Node: ${String(node)}`, {
|
|
16972
17070
|
node
|
|
@@ -16988,6 +17086,14 @@ visitor, {
|
|
|
16988
17086
|
// retrieve result
|
|
16989
17087
|
result = visitFn.call(visitor, node, key, parent, path, ancestors);
|
|
16990
17088
|
}
|
|
17089
|
+
|
|
17090
|
+
// check if the visitor is async
|
|
17091
|
+
if (typeof ((_result = result) === null || _result === void 0 ? void 0 : _result.then) === 'function') {
|
|
17092
|
+
throw new _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"]('Async visitor not supported in sync mode', {
|
|
17093
|
+
visitor,
|
|
17094
|
+
visitFn
|
|
17095
|
+
});
|
|
17096
|
+
}
|
|
16991
17097
|
if (result === breakSymbol) {
|
|
16992
17098
|
break;
|
|
16993
17099
|
}
|
|
@@ -17469,7 +17575,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
17469
17575
|
/* harmony export */ defaultIdentityManager: () => (/* reexport safe */ _identity__WEBPACK_IMPORTED_MODULE_27__.defaultIdentityManager),
|
|
17470
17576
|
/* harmony export */ dehydrate: () => (/* reexport safe */ _transformers_dehydrate__WEBPACK_IMPORTED_MODULE_33__["default"]),
|
|
17471
17577
|
/* harmony export */ dereference: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_22__.dereference),
|
|
17472
|
-
/* harmony export */ dispatchRefractorPlugins: () => (/* reexport safe */
|
|
17578
|
+
/* harmony export */ dispatchRefractorPlugins: () => (/* reexport safe */ _refractor_plugins_dispatcher__WEBPACK_IMPORTED_MODULE_0__.dispatchPluginsSync),
|
|
17473
17579
|
/* harmony export */ filter: () => (/* reexport safe */ _traversal_index__WEBPACK_IMPORTED_MODULE_12__["default"]),
|
|
17474
17580
|
/* harmony export */ find: () => (/* reexport safe */ _traversal_index__WEBPACK_IMPORTED_MODULE_14__["default"]),
|
|
17475
17581
|
/* harmony export */ findAtOffset: () => (/* reexport safe */ _traversal_index__WEBPACK_IMPORTED_MODULE_15__["default"]),
|
|
@@ -17512,7 +17618,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
17512
17618
|
/* harmony export */ traverse: () => (/* reexport safe */ _traversal_index__WEBPACK_IMPORTED_MODULE_17__["default"]),
|
|
17513
17619
|
/* harmony export */ visit: () => (/* reexport safe */ _traversal_visitor__WEBPACK_IMPORTED_MODULE_19__.visit)
|
|
17514
17620
|
/* harmony export */ });
|
|
17515
|
-
/* harmony import */ var
|
|
17621
|
+
/* harmony import */ var _refractor_plugins_dispatcher__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8999);
|
|
17516
17622
|
/* harmony import */ var _refractor_plugins_element_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2836);
|
|
17517
17623
|
/* harmony import */ var _refractor_plugins_semantic_element_identity__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4503);
|
|
17518
17624
|
/* harmony import */ var _media_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8267);
|