@swagger-api/apidom-core 1.0.0-beta.9 → 1.0.0-rc.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 +184 -0
- package/README.md +4 -4
- package/dist/apidom-core.browser.js +13441 -13472
- package/dist/apidom-core.browser.min.js +1 -1
- package/package.json +8 -8
- package/src/clone/index.cjs +4 -0
- package/src/clone/index.mjs +5 -1
- package/src/index.cjs +2 -3
- package/src/index.mjs +3 -3
- package/src/merge/deepmerge.cjs +1 -1
- package/src/merge/deepmerge.mjs +1 -1
- package/src/namespace.cjs +0 -2
- package/src/namespace.mjs +0 -2
- package/src/predicates/index.cjs +5 -14
- package/src/predicates/index.mjs +4 -13
- package/src/refractor/registration.cjs +1 -4
- package/src/refractor/registration.mjs +1 -3
- package/src/traversal/findAtOffset.cjs +5 -6
- package/src/traversal/findAtOffset.mjs +5 -5
- package/src/traversal/visitor.cjs +1 -2
- package/src/traversal/visitor.mjs +1 -2
- package/src/util.cjs +17 -2
- package/src/util.mjs +15 -1
- package/types/apidom-core.d.ts +15 -35
- package/src/elements/SourceMap.cjs +0 -39
- package/src/elements/SourceMap.mjs +0 -36
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@swagger-api/apidom-core",
|
|
3
|
-
"version": "1.0.0-
|
|
3
|
+
"version": "1.0.0-rc.1",
|
|
4
4
|
"description": "Tools for manipulating ApiDOM structures.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
"build:umd:browser": "cross-env BABEL_ENV=browser webpack --config config/webpack/browser.config.js --progress",
|
|
27
27
|
"lint": "eslint ./",
|
|
28
28
|
"lint:fix": "eslint ./ --fix",
|
|
29
|
-
"clean": "rimraf --glob 'src/**/*.mjs' 'src/**/*.cjs'
|
|
29
|
+
"clean": "rimraf --glob 'src/**/*.mjs' 'src/**/*.cjs' ./dist ./types",
|
|
30
30
|
"typescript:check-types": "tsc --noEmit && tsc -p ./test/tsconfig.json --noEmit",
|
|
31
31
|
"typescript:declaration": "tsc -p tsconfig.declaration.json && api-extractor run -l -c ./config/api-extractor/api-extractor.json && copyfiles -u 2 ../@types/minim.d.ts ./types && node ./scripts/file-replace-bof.js './types/apidom-core.d.ts' '/// <reference path=\"./minim.d.ts\" />\nimport * as minim from \"minim\";'",
|
|
32
|
-
"test": "
|
|
32
|
+
"test": "NODE_ENV=test ts-mocha --exit",
|
|
33
33
|
"test:update-snapshots": "cross-env UPDATE_SNAPSHOT=1 NODE_ENV=test mocha",
|
|
34
34
|
"prepack": "copyfiles -u 3 ../../LICENSES/* LICENSES && copyfiles -u 2 ../../NOTICE .",
|
|
35
35
|
"postpack": "rimraf NOTICE LICENSES"
|
|
@@ -41,14 +41,14 @@
|
|
|
41
41
|
"author": "Vladimír Gorej",
|
|
42
42
|
"license": "Apache-2.0",
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@babel/runtime-corejs3": "^7.
|
|
45
|
-
"@swagger-api/apidom-ast": "^1.0.0-
|
|
46
|
-
"@swagger-api/apidom-error": "^1.0.0-
|
|
44
|
+
"@babel/runtime-corejs3": "^7.26.10",
|
|
45
|
+
"@swagger-api/apidom-ast": "^1.0.0-rc.1",
|
|
46
|
+
"@swagger-api/apidom-error": "^1.0.0-rc.1",
|
|
47
47
|
"@types/ramda": "~0.30.0",
|
|
48
48
|
"minim": "~0.23.8",
|
|
49
49
|
"ramda": "~0.30.0",
|
|
50
50
|
"ramda-adjunct": "^5.0.0",
|
|
51
|
-
"short-unique-id": "^5.
|
|
51
|
+
"short-unique-id": "^5.3.2",
|
|
52
52
|
"ts-mixer": "^6.0.3"
|
|
53
53
|
},
|
|
54
54
|
"files": [
|
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
"README.md",
|
|
63
63
|
"CHANGELOG.md"
|
|
64
64
|
],
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "e08fdf4c8a8070453c33066cc50f4e949fc4bd20"
|
|
66
66
|
}
|
package/src/clone/index.cjs
CHANGED
|
@@ -7,6 +7,7 @@ var _minim = require("minim");
|
|
|
7
7
|
var _index = require("../predicates/index.cjs");
|
|
8
8
|
var _DeepCloneError = _interopRequireDefault(require("./errors/DeepCloneError.cjs"));
|
|
9
9
|
var _ShallowCloneError = _interopRequireDefault(require("./errors/ShallowCloneError.cjs"));
|
|
10
|
+
var _util = require("../util.cjs");
|
|
10
11
|
/**
|
|
11
12
|
* @public
|
|
12
13
|
*/
|
|
@@ -109,6 +110,9 @@ const cloneShallowElement = element => {
|
|
|
109
110
|
// @ts-ignore
|
|
110
111
|
const copy = new element.constructor();
|
|
111
112
|
copy.element = element.element;
|
|
113
|
+
if ((0, _index.hasElementSourceMap)(element)) {
|
|
114
|
+
(0, _util.assignSourceMap)(copy, element);
|
|
115
|
+
}
|
|
112
116
|
if (element.meta.length > 0) {
|
|
113
117
|
copy._meta = cloneDeep(element.meta);
|
|
114
118
|
}
|
package/src/clone/index.mjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { ArraySlice, ObjectSlice, KeyValuePair } from 'minim';
|
|
2
|
-
import { isElement } from "../predicates/index.mjs";
|
|
2
|
+
import { hasElementSourceMap, isElement } from "../predicates/index.mjs";
|
|
3
3
|
import DeepCloneError from "./errors/DeepCloneError.mjs";
|
|
4
4
|
import ShallowCloneError from "./errors/ShallowCloneError.mjs";
|
|
5
|
+
import { assignSourceMap } from "../util.mjs";
|
|
5
6
|
/**
|
|
6
7
|
* @public
|
|
7
8
|
*/
|
|
@@ -101,6 +102,9 @@ const cloneShallowElement = element => {
|
|
|
101
102
|
// @ts-ignore
|
|
102
103
|
const copy = new element.constructor();
|
|
103
104
|
copy.element = element.element;
|
|
105
|
+
if (hasElementSourceMap(element)) {
|
|
106
|
+
assignSourceMap(copy, element);
|
|
107
|
+
}
|
|
104
108
|
if (element.meta.length > 0) {
|
|
105
109
|
copy._meta = cloneDeep(element.meta);
|
|
106
110
|
}
|
package/src/index.cjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
|
|
4
4
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
5
5
|
exports.__esModule = true;
|
|
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.
|
|
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.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.assignSourceMap = exports.Transcluder = exports.StringElement = 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
7
|
var _index = require("./refractor/plugins/dispatcher/index.cjs");
|
|
8
8
|
exports.dispatchRefractorPlugins = _index.dispatchPluginsSync;
|
|
9
9
|
var _elementIdentity = _interopRequireDefault(require("./refractor/plugins/element-identity.cjs"));
|
|
@@ -35,7 +35,6 @@ exports.RefElement = _registration.RefElement;
|
|
|
35
35
|
exports.AnnotationElement = _registration.AnnotationElement;
|
|
36
36
|
exports.CommentElement = _registration.CommentElement;
|
|
37
37
|
exports.ParseResultElement = _registration.ParseResultElement;
|
|
38
|
-
exports.SourceMapElement = _registration.SourceMapElement;
|
|
39
38
|
var _index2 = require("./predicates/index.cjs");
|
|
40
39
|
exports.isElement = _index2.isElement;
|
|
41
40
|
exports.isStringElement = _index2.isStringElement;
|
|
@@ -49,7 +48,6 @@ exports.isLinkElement = _index2.isLinkElement;
|
|
|
49
48
|
exports.isRefElement = _index2.isRefElement;
|
|
50
49
|
exports.isAnnotationElement = _index2.isAnnotationElement;
|
|
51
50
|
exports.isParseResultElement = _index2.isParseResultElement;
|
|
52
|
-
exports.isSourceMapElement = _index2.isSourceMapElement;
|
|
53
51
|
exports.isPrimitiveElement = _index2.isPrimitiveElement;
|
|
54
52
|
exports.hasElementSourceMap = _index2.hasElementSourceMap;
|
|
55
53
|
exports.includesSymbols = _index2.includesSymbols;
|
|
@@ -76,6 +74,7 @@ exports.transclude = _index4.transclude;
|
|
|
76
74
|
exports.Transcluder = _index4.default;
|
|
77
75
|
var _util = require("./util.cjs");
|
|
78
76
|
exports.dereference = _util.dereference;
|
|
77
|
+
exports.assignSourceMap = _util.assignSourceMap;
|
|
79
78
|
var _index5 = require("./clone/index.cjs");
|
|
80
79
|
exports.cloneShallow = _index5.cloneShallow;
|
|
81
80
|
exports.cloneDeep = _index5.cloneDeep;
|
package/src/index.mjs
CHANGED
|
@@ -4,13 +4,13 @@ export { default as refractorPluginSemanticElementIdentity } from "./refractor/p
|
|
|
4
4
|
export { default as MediaTypes } from "./media-types.mjs";
|
|
5
5
|
export { Element, MemberElement, KeyValuePair, ObjectSlice, ArraySlice, refract } from 'minim';
|
|
6
6
|
export { default as namespace, Namespace, createNamespace } from "./namespace.mjs";
|
|
7
|
-
export { ObjectElement, ArrayElement, BooleanElement, NullElement, NumberElement, StringElement, LinkElement, RefElement, AnnotationElement, CommentElement, ParseResultElement
|
|
8
|
-
export { isElement, isStringElement, isNumberElement, isNullElement, isBooleanElement, isArrayElement, isObjectElement, isMemberElement, isLinkElement, isRefElement, isAnnotationElement, isParseResultElement,
|
|
7
|
+
export { ObjectElement, ArrayElement, BooleanElement, NullElement, NumberElement, StringElement, LinkElement, RefElement, AnnotationElement, CommentElement, ParseResultElement } from "./refractor/registration.mjs";
|
|
8
|
+
export { isElement, isStringElement, isNumberElement, isNullElement, isBooleanElement, isArrayElement, isObjectElement, isMemberElement, isLinkElement, isRefElement, isAnnotationElement, isParseResultElement, isPrimitiveElement, hasElementSourceMap, includesSymbols, includesClasses } from "./predicates/index.mjs";
|
|
9
9
|
export { default as createPredicate } from "./predicates/helpers.mjs";
|
|
10
10
|
export { filter, reject, find, findAtOffset, some, traverse, parents } from "./traversal/index.mjs";
|
|
11
11
|
export { visit, BREAK, mergeAllVisitors, getNodeType, cloneNode, keyMapDefault as keyMap } from "./traversal/visitor.mjs";
|
|
12
12
|
export { transclude, default as Transcluder } from "./transcluder/index.mjs";
|
|
13
|
-
export { dereference } from "./util.mjs";
|
|
13
|
+
export { dereference, assignSourceMap } from "./util.mjs";
|
|
14
14
|
export { cloneShallow, cloneDeep } from "./clone/index.mjs";
|
|
15
15
|
export { default as CloneError } from "./clone/errors/CloneError.mjs";
|
|
16
16
|
export { default as DeepCloneError } from "./clone/errors/DeepCloneError.mjs";
|
package/src/merge/deepmerge.cjs
CHANGED
|
@@ -93,7 +93,7 @@ const mergeObjectElement = (targetElement, sourceElement, options) => {
|
|
|
93
93
|
if ((0, _index.isObjectElement)(targetElement) && targetElement.hasKey(keyValue) && options.isMergeableElement(value)) {
|
|
94
94
|
const targetValue = targetElement.get(keyValue);
|
|
95
95
|
clonedMember = (0, _index2.cloneShallow)(member);
|
|
96
|
-
clonedMember.value = getMergeFunction(key, options)(targetValue, value);
|
|
96
|
+
clonedMember.value = getMergeFunction(key, options)(targetValue, value, options);
|
|
97
97
|
} else {
|
|
98
98
|
clonedMember = (0, _index2.cloneShallow)(member);
|
|
99
99
|
clonedMember.value = cloneUnlessOtherwiseSpecified(value, options);
|
package/src/merge/deepmerge.mjs
CHANGED
|
@@ -76,7 +76,7 @@ const mergeObjectElement = (targetElement, sourceElement, options) => {
|
|
|
76
76
|
if (isObjectElement(targetElement) && targetElement.hasKey(keyValue) && options.isMergeableElement(value)) {
|
|
77
77
|
const targetValue = targetElement.get(keyValue);
|
|
78
78
|
clonedMember = cloneShallow(member);
|
|
79
|
-
clonedMember.value = getMergeFunction(key, options)(targetValue, value);
|
|
79
|
+
clonedMember.value = getMergeFunction(key, options)(targetValue, value, options);
|
|
80
80
|
} else {
|
|
81
81
|
clonedMember = cloneShallow(member);
|
|
82
82
|
clonedMember.value = cloneUnlessOtherwiseSpecified(value, options);
|
package/src/namespace.cjs
CHANGED
|
@@ -8,7 +8,6 @@ var _ramdaAdjunct = require("ramda-adjunct");
|
|
|
8
8
|
var _Annotation = _interopRequireDefault(require("./elements/Annotation.cjs"));
|
|
9
9
|
var _Comment = _interopRequireDefault(require("./elements/Comment.cjs"));
|
|
10
10
|
var _ParseResult = _interopRequireDefault(require("./elements/ParseResult.cjs"));
|
|
11
|
-
var _SourceMap = _interopRequireDefault(require("./elements/SourceMap.cjs"));
|
|
12
11
|
/**
|
|
13
12
|
* @public
|
|
14
13
|
*/
|
|
@@ -18,7 +17,6 @@ class Namespace extends _minim.Namespace {
|
|
|
18
17
|
this.register('annotation', _Annotation.default);
|
|
19
18
|
this.register('comment', _Comment.default);
|
|
20
19
|
this.register('parseResult', _ParseResult.default);
|
|
21
|
-
this.register('sourceMap', _SourceMap.default);
|
|
22
20
|
}
|
|
23
21
|
}
|
|
24
22
|
|
package/src/namespace.mjs
CHANGED
|
@@ -3,7 +3,6 @@ import { isPlainObject } from 'ramda-adjunct';
|
|
|
3
3
|
import AnnotationElement from "./elements/Annotation.mjs";
|
|
4
4
|
import CommentElement from "./elements/Comment.mjs";
|
|
5
5
|
import ParseResultElement from "./elements/ParseResult.mjs";
|
|
6
|
-
import SourceMapElement from "./elements/SourceMap.mjs";
|
|
7
6
|
/**
|
|
8
7
|
* @public
|
|
9
8
|
*/
|
|
@@ -13,7 +12,6 @@ export class Namespace extends MinimNamespace {
|
|
|
13
12
|
this.register('annotation', AnnotationElement);
|
|
14
13
|
this.register('comment', CommentElement);
|
|
15
14
|
this.register('parseResult', ParseResultElement);
|
|
16
|
-
this.register('sourceMap', SourceMapElement);
|
|
17
15
|
}
|
|
18
16
|
}
|
|
19
17
|
|
package/src/predicates/index.cjs
CHANGED
|
@@ -3,14 +3,13 @@
|
|
|
3
3
|
var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
|
|
4
4
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
5
5
|
exports.__esModule = true;
|
|
6
|
-
exports.isStringElement = exports.
|
|
6
|
+
exports.isStringElement = exports.isRefElement = exports.isPrimitiveElement = exports.isParseResultElement = exports.isObjectElement = exports.isNumberElement = exports.isNullElement = exports.isMemberElement = exports.isLinkElement = exports.isElement = exports.isCommentElement = exports.isBooleanElement = exports.isArrayElement = exports.isAnnotationElement = exports.includesSymbols = exports.includesClasses = exports.hasElementSourceMap = void 0;
|
|
7
7
|
var _minim = require("minim");
|
|
8
8
|
var _ramda = require("ramda");
|
|
9
9
|
var _ramdaAdjunct = require("ramda-adjunct");
|
|
10
10
|
var _Annotation = _interopRequireDefault(require("../elements/Annotation.cjs"));
|
|
11
11
|
var _Comment = _interopRequireDefault(require("../elements/Comment.cjs"));
|
|
12
12
|
var _ParseResult = _interopRequireDefault(require("../elements/ParseResult.cjs"));
|
|
13
|
-
var _SourceMap = _interopRequireDefault(require("../elements/SourceMap.cjs"));
|
|
14
13
|
var _helpers = _interopRequireWildcard(require("./helpers.cjs"));
|
|
15
14
|
/**
|
|
16
15
|
* @public
|
|
@@ -150,17 +149,6 @@ const isParseResultElement = exports.isParseResultElement = (0, _helpers.default
|
|
|
150
149
|
return element => element instanceof _ParseResult.default || hasBasicElementProps(element) && isElementType('parseResult', element) && primitiveEq('array', element);
|
|
151
150
|
});
|
|
152
151
|
|
|
153
|
-
/**
|
|
154
|
-
* @public
|
|
155
|
-
*/
|
|
156
|
-
const isSourceMapElement = exports.isSourceMapElement = (0, _helpers.default)(({
|
|
157
|
-
hasBasicElementProps,
|
|
158
|
-
isElementType,
|
|
159
|
-
primitiveEq
|
|
160
|
-
}) => {
|
|
161
|
-
return element => element instanceof _SourceMap.default || hasBasicElementProps(element) && isElementType('sourceMap', element) && primitiveEq('array', element);
|
|
162
|
-
});
|
|
163
|
-
|
|
164
152
|
/**
|
|
165
153
|
* @public
|
|
166
154
|
*/
|
|
@@ -177,7 +165,10 @@ const isPrimitiveElement = element => {
|
|
|
177
165
|
*/
|
|
178
166
|
exports.isPrimitiveElement = isPrimitiveElement;
|
|
179
167
|
const hasElementSourceMap = element => {
|
|
180
|
-
|
|
168
|
+
if (!isElement(element)) {
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
return Number.isInteger(element.startPositionRow) && Number.isInteger(element.startPositionColumn) && Number.isInteger(element.startIndex) && Number.isInteger(element.endPositionRow) && Number.isInteger(element.endPositionColumn) && Number.isInteger(element.endIndex);
|
|
181
172
|
};
|
|
182
173
|
|
|
183
174
|
/**
|
package/src/predicates/index.mjs
CHANGED
|
@@ -4,7 +4,6 @@ import { included } from 'ramda-adjunct';
|
|
|
4
4
|
import AnnotationElement from "../elements/Annotation.mjs";
|
|
5
5
|
import CommentElement from "../elements/Comment.mjs";
|
|
6
6
|
import ParserResultElement from "../elements/ParseResult.mjs";
|
|
7
|
-
import SourceMapElement from "../elements/SourceMap.mjs";
|
|
8
7
|
import createPredicate, { isElementType as isElementTypeHelper } from "./helpers.mjs";
|
|
9
8
|
/**
|
|
10
9
|
* @public
|
|
@@ -144,17 +143,6 @@ export const isParseResultElement = createPredicate(({
|
|
|
144
143
|
return element => element instanceof ParserResultElement || hasBasicElementProps(element) && isElementType('parseResult', element) && primitiveEq('array', element);
|
|
145
144
|
});
|
|
146
145
|
|
|
147
|
-
/**
|
|
148
|
-
* @public
|
|
149
|
-
*/
|
|
150
|
-
export const isSourceMapElement = createPredicate(({
|
|
151
|
-
hasBasicElementProps,
|
|
152
|
-
isElementType,
|
|
153
|
-
primitiveEq
|
|
154
|
-
}) => {
|
|
155
|
-
return element => element instanceof SourceMapElement || hasBasicElementProps(element) && isElementType('sourceMap', element) && primitiveEq('array', element);
|
|
156
|
-
});
|
|
157
|
-
|
|
158
146
|
/**
|
|
159
147
|
* @public
|
|
160
148
|
*/
|
|
@@ -170,7 +158,10 @@ export const isPrimitiveElement = element => {
|
|
|
170
158
|
* @public
|
|
171
159
|
*/
|
|
172
160
|
export const hasElementSourceMap = element => {
|
|
173
|
-
|
|
161
|
+
if (!isElement(element)) {
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
return Number.isInteger(element.startPositionRow) && Number.isInteger(element.startPositionColumn) && Number.isInteger(element.startIndex) && Number.isInteger(element.endPositionRow) && Number.isInteger(element.endPositionColumn) && Number.isInteger(element.endIndex);
|
|
174
165
|
};
|
|
175
166
|
|
|
176
167
|
/**
|
|
@@ -17,8 +17,6 @@ var _Comment = _interopRequireDefault(require("../elements/Comment.cjs"));
|
|
|
17
17
|
exports.CommentElement = _Comment.default;
|
|
18
18
|
var _ParseResult = _interopRequireDefault(require("../elements/ParseResult.cjs"));
|
|
19
19
|
exports.ParseResultElement = _ParseResult.default;
|
|
20
|
-
var _SourceMap = _interopRequireDefault(require("../elements/SourceMap.cjs"));
|
|
21
|
-
exports.SourceMapElement = _SourceMap.default;
|
|
22
20
|
var _index = require("./index.cjs");
|
|
23
21
|
_minim.ObjectElement.refract = (0, _index.createRefractor)(_minim.ObjectElement);
|
|
24
22
|
_minim.ArrayElement.refract = (0, _index.createRefractor)(_minim.ArrayElement);
|
|
@@ -30,5 +28,4 @@ _minim.LinkElement.refract = (0, _index.createRefractor)(_minim.LinkElement);
|
|
|
30
28
|
_minim.RefElement.refract = (0, _index.createRefractor)(_minim.RefElement);
|
|
31
29
|
_Annotation.default.refract = (0, _index.createRefractor)(_Annotation.default);
|
|
32
30
|
_Comment.default.refract = (0, _index.createRefractor)(_Comment.default);
|
|
33
|
-
_ParseResult.default.refract = (0, _index.createRefractor)(_ParseResult.default);
|
|
34
|
-
_SourceMap.default.refract = (0, _index.createRefractor)(_SourceMap.default);
|
|
31
|
+
_ParseResult.default.refract = (0, _index.createRefractor)(_ParseResult.default);
|
|
@@ -2,7 +2,6 @@ import { ObjectElement, ArrayElement, StringElement, BooleanElement, NullElement
|
|
|
2
2
|
import AnnotationElement from "../elements/Annotation.mjs";
|
|
3
3
|
import CommentElement from "../elements/Comment.mjs";
|
|
4
4
|
import ParseResultElement from "../elements/ParseResult.mjs";
|
|
5
|
-
import SourceMapElement from "../elements/SourceMap.mjs";
|
|
6
5
|
import { createRefractor } from "./index.mjs";
|
|
7
6
|
ObjectElement.refract = createRefractor(ObjectElement);
|
|
8
7
|
ArrayElement.refract = createRefractor(ArrayElement);
|
|
@@ -15,5 +14,4 @@ RefElement.refract = createRefractor(RefElement);
|
|
|
15
14
|
AnnotationElement.refract = createRefractor(AnnotationElement);
|
|
16
15
|
CommentElement.refract = createRefractor(CommentElement);
|
|
17
16
|
ParseResultElement.refract = createRefractor(ParseResultElement);
|
|
18
|
-
|
|
19
|
-
export { ObjectElement, ArrayElement, StringElement, BooleanElement, NullElement, NumberElement, LinkElement, RefElement, AnnotationElement, CommentElement, ParseResultElement, SourceMapElement };
|
|
17
|
+
export { ObjectElement, ArrayElement, StringElement, BooleanElement, NullElement, NumberElement, LinkElement, RefElement, AnnotationElement, CommentElement, ParseResultElement };
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
3
|
exports.__esModule = true;
|
|
5
4
|
exports.default = void 0;
|
|
6
5
|
var _ramda = require("ramda");
|
|
7
6
|
var _ramdaAdjunct = require("ramda-adjunct");
|
|
8
7
|
var _index = require("../predicates/index.cjs");
|
|
9
8
|
var _visitor = require("./visitor.cjs");
|
|
10
|
-
var _index2 = _interopRequireDefault(require("../transformers/serializers/value/index.cjs"));
|
|
11
9
|
class Visitor {
|
|
12
10
|
result;
|
|
13
11
|
offset;
|
|
@@ -24,10 +22,11 @@ class Visitor {
|
|
|
24
22
|
if (!(0, _index.hasElementSourceMap)(element)) {
|
|
25
23
|
return undefined; // dive in
|
|
26
24
|
}
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
const {
|
|
26
|
+
startIndex,
|
|
27
|
+
endIndex
|
|
28
|
+
} = element;
|
|
29
|
+
const isWithinOffsetRange = this.offset >= startIndex && (this.offset < endIndex || this.includeRightBound && this.offset <= endIndex);
|
|
31
30
|
if (isWithinOffsetRange) {
|
|
32
31
|
this.result.push(element);
|
|
33
32
|
return undefined; // push to stack and dive in
|
|
@@ -2,7 +2,6 @@ import { last, pathOr } from 'ramda';
|
|
|
2
2
|
import { isNumber } from 'ramda-adjunct';
|
|
3
3
|
import { hasElementSourceMap } from "../predicates/index.mjs";
|
|
4
4
|
import { visit } from "./visitor.mjs";
|
|
5
|
-
import toValue from "../transformers/serializers/value/index.mjs";
|
|
6
5
|
class Visitor {
|
|
7
6
|
result;
|
|
8
7
|
offset;
|
|
@@ -19,10 +18,11 @@ class Visitor {
|
|
|
19
18
|
if (!hasElementSourceMap(element)) {
|
|
20
19
|
return undefined; // dive in
|
|
21
20
|
}
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
const {
|
|
22
|
+
startIndex,
|
|
23
|
+
endIndex
|
|
24
|
+
} = element;
|
|
25
|
+
const isWithinOffsetRange = this.offset >= startIndex && (this.offset < endIndex || this.includeRightBound && this.offset <= endIndex);
|
|
26
26
|
if (isWithinOffsetRange) {
|
|
27
27
|
this.result.push(element);
|
|
28
28
|
return undefined; // push to stack and dive in
|
package/src/util.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.dereference = void 0;
|
|
4
|
+
exports.dereference = exports.assignSourceMap = void 0;
|
|
5
5
|
var _ramda = require("ramda");
|
|
6
6
|
var _ramdaAdjunct = require("ramda-adjunct");
|
|
7
7
|
/**
|
|
@@ -25,4 +25,19 @@ const dereference = (object, root) => {
|
|
|
25
25
|
return val;
|
|
26
26
|
}, object);
|
|
27
27
|
};
|
|
28
|
-
exports.dereference = dereference;
|
|
28
|
+
exports.dereference = dereference;
|
|
29
|
+
/**
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
32
|
+
/* eslint-disable no-param-reassign */
|
|
33
|
+
const assignSourceMap = (to, from) => {
|
|
34
|
+
to.startPositionRow = from == null ? void 0 : from.startPositionRow;
|
|
35
|
+
to.startPositionColumn = from == null ? void 0 : from.startPositionColumn;
|
|
36
|
+
to.startIndex = from == null ? void 0 : from.startIndex;
|
|
37
|
+
to.endPositionRow = from == null ? void 0 : from.endPositionRow;
|
|
38
|
+
to.endPositionColumn = from == null ? void 0 : from.endPositionColumn;
|
|
39
|
+
to.endIndex = from == null ? void 0 : from.endIndex;
|
|
40
|
+
return to;
|
|
41
|
+
};
|
|
42
|
+
/* eslint-enable no-param-reassign */
|
|
43
|
+
exports.assignSourceMap = assignSourceMap;
|
package/src/util.mjs
CHANGED
|
@@ -21,4 +21,18 @@ export const dereference = (object, root) => {
|
|
|
21
21
|
}
|
|
22
22
|
return val;
|
|
23
23
|
}, object);
|
|
24
|
-
};
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
28
|
+
/* eslint-disable no-param-reassign */
|
|
29
|
+
export const assignSourceMap = (to, from) => {
|
|
30
|
+
to.startPositionRow = from === null || from === void 0 ? void 0 : from.startPositionRow;
|
|
31
|
+
to.startPositionColumn = from === null || from === void 0 ? void 0 : from.startPositionColumn;
|
|
32
|
+
to.startIndex = from === null || from === void 0 ? void 0 : from.startIndex;
|
|
33
|
+
to.endPositionRow = from === null || from === void 0 ? void 0 : from.endPositionRow;
|
|
34
|
+
to.endPositionColumn = from === null || from === void 0 ? void 0 : from.endPositionColumn;
|
|
35
|
+
to.endIndex = from === null || from === void 0 ? void 0 : from.endIndex;
|
|
36
|
+
return to;
|
|
37
|
+
};
|
|
38
|
+
/* eslint-enable no-param-reassign */
|
package/types/apidom-core.d.ts
CHANGED
|
@@ -43,6 +43,11 @@ export { ArrayElement }
|
|
|
43
43
|
|
|
44
44
|
export { ArraySlice }
|
|
45
45
|
|
|
46
|
+
/**
|
|
47
|
+
* @public
|
|
48
|
+
*/
|
|
49
|
+
export declare const assignSourceMap: (to: SourceMapContainer, from?: SourceMapContainer) => SourceMapContainer;
|
|
50
|
+
|
|
46
51
|
export { Attributes }
|
|
47
52
|
|
|
48
53
|
declare namespace basePredicates {
|
|
@@ -60,7 +65,6 @@ declare namespace basePredicates {
|
|
|
60
65
|
isAnnotationElement,
|
|
61
66
|
isCommentElement,
|
|
62
67
|
isParseResultElement,
|
|
63
|
-
isSourceMapElement,
|
|
64
68
|
PrimitiveElement,
|
|
65
69
|
isPrimitiveElement,
|
|
66
70
|
hasElementSourceMap,
|
|
@@ -377,7 +381,7 @@ export declare const hasClass: (cls: string, element: unknown) => element is Ele
|
|
|
377
381
|
/**
|
|
378
382
|
* @public
|
|
379
383
|
*/
|
|
380
|
-
export declare const hasElementSourceMap: <T extends Element_2>(element
|
|
384
|
+
export declare const hasElementSourceMap: <T extends Element_2>(element?: T) => boolean;
|
|
381
385
|
|
|
382
386
|
/**
|
|
383
387
|
* @public
|
|
@@ -478,11 +482,6 @@ export declare const isPrimitiveElement: ElementPredicate<PrimitiveElement>;
|
|
|
478
482
|
*/
|
|
479
483
|
export declare const isRefElement: ElementPredicate<RefElement>;
|
|
480
484
|
|
|
481
|
-
/**
|
|
482
|
-
* @public
|
|
483
|
-
*/
|
|
484
|
-
export declare const isSourceMapElement: ElementPredicate<SourceMapElement>;
|
|
485
|
-
|
|
486
485
|
/**
|
|
487
486
|
* @public
|
|
488
487
|
*/
|
|
@@ -504,7 +503,6 @@ export declare const keyMap: {
|
|
|
504
503
|
Annotation: never[];
|
|
505
504
|
Comment: never[];
|
|
506
505
|
ParseResultElement: string[];
|
|
507
|
-
SourceMap: string[];
|
|
508
506
|
};
|
|
509
507
|
|
|
510
508
|
export { KeyValuePair }
|
|
@@ -595,23 +593,6 @@ export declare class ParseResultElement extends ArrayElement {
|
|
|
595
593
|
replaceResult(replacement: Element_2): boolean;
|
|
596
594
|
}
|
|
597
595
|
|
|
598
|
-
/**
|
|
599
|
-
* @public
|
|
600
|
-
*/
|
|
601
|
-
export declare interface Position {
|
|
602
|
-
row: number;
|
|
603
|
-
column: number;
|
|
604
|
-
char: number;
|
|
605
|
-
}
|
|
606
|
-
|
|
607
|
-
/**
|
|
608
|
-
* @public
|
|
609
|
-
*/
|
|
610
|
-
export declare interface PositionRange {
|
|
611
|
-
start: Position;
|
|
612
|
-
end: Position;
|
|
613
|
-
}
|
|
614
|
-
|
|
615
596
|
/**
|
|
616
597
|
* @public
|
|
617
598
|
*/
|
|
@@ -703,15 +684,15 @@ export declare class ShallowCloneError extends CloneError {
|
|
|
703
684
|
*/
|
|
704
685
|
export declare const some: <T extends Element_2>(predicate: (element: any) => boolean, element: T) => boolean;
|
|
705
686
|
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
}
|
|
687
|
+
declare type SourceMapContainer = {
|
|
688
|
+
startPositionRow?: number;
|
|
689
|
+
startPositionColumn?: number;
|
|
690
|
+
startIndex?: number;
|
|
691
|
+
endPositionRow?: number;
|
|
692
|
+
endPositionColumn?: number;
|
|
693
|
+
endIndex?: number;
|
|
694
|
+
[key: string]: any;
|
|
695
|
+
};
|
|
715
696
|
|
|
716
697
|
export { StringElement }
|
|
717
698
|
|
|
@@ -799,7 +780,6 @@ export declare const visit: (root: Element_2, visitor: any, { keyMap, ...rest }?
|
|
|
799
780
|
Annotation: never[];
|
|
800
781
|
Comment: never[];
|
|
801
782
|
ParseResultElement: string[];
|
|
802
|
-
SourceMap: string[];
|
|
803
783
|
} | undefined;
|
|
804
784
|
}) => Element_2;
|
|
805
785
|
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.default = void 0;
|
|
5
|
-
var _minim = require("minim");
|
|
6
|
-
/**
|
|
7
|
-
* @public
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* @public
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @public
|
|
16
|
-
*/
|
|
17
|
-
class SourceMap extends _minim.ArrayElement {
|
|
18
|
-
constructor(content, meta, attributes) {
|
|
19
|
-
super(content, meta, attributes);
|
|
20
|
-
this.element = 'sourceMap';
|
|
21
|
-
}
|
|
22
|
-
get positionStart() {
|
|
23
|
-
return this.children.filter(item => item.classes.contains('position')).get(0);
|
|
24
|
-
}
|
|
25
|
-
get positionEnd() {
|
|
26
|
-
return this.children.filter(item => item.classes.contains('position')).get(1);
|
|
27
|
-
}
|
|
28
|
-
set position(position) {
|
|
29
|
-
if (typeof position === 'undefined') {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
const start = new _minim.ArrayElement([position.start.row, position.start.column, position.start.char]);
|
|
33
|
-
const end = new _minim.ArrayElement([position.end.row, position.end.column, position.end.char]);
|
|
34
|
-
start.classes.push('position');
|
|
35
|
-
end.classes.push('position');
|
|
36
|
-
this.push(start).push(end);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
var _default = exports.default = SourceMap;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { ArrayElement } from 'minim';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @public
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @public
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* @public
|
|
13
|
-
*/
|
|
14
|
-
class SourceMap extends ArrayElement {
|
|
15
|
-
constructor(content, meta, attributes) {
|
|
16
|
-
super(content, meta, attributes);
|
|
17
|
-
this.element = 'sourceMap';
|
|
18
|
-
}
|
|
19
|
-
get positionStart() {
|
|
20
|
-
return this.children.filter(item => item.classes.contains('position')).get(0);
|
|
21
|
-
}
|
|
22
|
-
get positionEnd() {
|
|
23
|
-
return this.children.filter(item => item.classes.contains('position')).get(1);
|
|
24
|
-
}
|
|
25
|
-
set position(position) {
|
|
26
|
-
if (typeof position === 'undefined') {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
const start = new ArrayElement([position.start.row, position.start.column, position.start.char]);
|
|
30
|
-
const end = new ArrayElement([position.end.row, position.end.column, position.end.char]);
|
|
31
|
-
start.classes.push('position');
|
|
32
|
-
end.classes.push('position');
|
|
33
|
-
this.push(start).push(end);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
export default SourceMap;
|