@speclynx/apidom-core 1.12.2 → 2.1.0

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.
Files changed (92) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/NOTICE +16 -7
  3. package/README.md +102 -330
  4. package/dist/apidom-core.browser.js +13110 -10559
  5. package/dist/apidom-core.browser.min.js +1 -1
  6. package/package.json +7 -12
  7. package/src/identity/index.cjs +8 -6
  8. package/src/identity/index.mjs +6 -4
  9. package/src/index.cjs +13 -79
  10. package/src/index.mjs +3 -13
  11. package/src/merge/deepmerge.cjs +22 -20
  12. package/src/merge/deepmerge.mjs +9 -7
  13. package/src/merge/merge-right.cjs +2 -2
  14. package/src/merge/merge-right.mjs +1 -1
  15. package/src/namespace.cjs +4 -36
  16. package/src/namespace.mjs +2 -30
  17. package/src/refractor/plugins/dispatcher/index.cjs +5 -12
  18. package/src/refractor/plugins/dispatcher/index.mjs +5 -12
  19. package/src/refractor/plugins/element-identity.cjs +2 -2
  20. package/src/refractor/plugins/element-identity.mjs +2 -2
  21. package/src/refractor/plugins/semantic-element-identity.cjs +5 -10
  22. package/src/refractor/plugins/semantic-element-identity.mjs +5 -9
  23. package/src/refractor/toolbox.cjs +22 -5
  24. package/src/refractor/toolbox.mjs +25 -6
  25. package/src/specification.cjs +51 -0
  26. package/src/specification.mjs +47 -0
  27. package/src/transcluder/Transcluder.cjs +8 -8
  28. package/src/transcluder/Transcluder.mjs +1 -1
  29. package/src/transformers/from.mjs +2 -2
  30. package/src/transformers/serializers/json.cjs +2 -2
  31. package/src/transformers/serializers/json.mjs +1 -1
  32. package/src/transformers/serializers/value.cjs +50 -0
  33. package/src/transformers/serializers/value.mjs +47 -0
  34. package/src/transformers/serializers/yaml-1-2.cjs +22 -18
  35. package/src/transformers/serializers/yaml-1-2.mjs +22 -18
  36. package/src/transformers/sexprs.cjs +20 -23
  37. package/src/transformers/sexprs.mjs +20 -22
  38. package/src/transformers/to-string.mjs +2 -2
  39. package/types/apidom-core.d.ts +67 -519
  40. package/src/clone/errors/CloneError.cjs +0 -22
  41. package/src/clone/errors/CloneError.mjs +0 -19
  42. package/src/clone/errors/DeepCloneError.cjs +0 -11
  43. package/src/clone/errors/DeepCloneError.mjs +0 -6
  44. package/src/clone/errors/ShallowCloneError.cjs +0 -11
  45. package/src/clone/errors/ShallowCloneError.mjs +0 -6
  46. package/src/clone/index.cjs +0 -155
  47. package/src/clone/index.mjs +0 -146
  48. package/src/elements/Annotation.cjs +0 -23
  49. package/src/elements/Annotation.mjs +0 -20
  50. package/src/elements/Comment.cjs +0 -15
  51. package/src/elements/Comment.mjs +0 -12
  52. package/src/elements/ParseResult.cjs +0 -53
  53. package/src/elements/ParseResult.mjs +0 -50
  54. package/src/elements/SourceMap.cjs +0 -39
  55. package/src/elements/SourceMap.mjs +0 -36
  56. package/src/predicates/helpers.cjs +0 -85
  57. package/src/predicates/helpers.mjs +0 -77
  58. package/src/predicates/index.cjs +0 -208
  59. package/src/predicates/index.mjs +0 -198
  60. package/src/refractor/index.cjs +0 -46
  61. package/src/refractor/index.mjs +0 -40
  62. package/src/refractor/registration.cjs +0 -34
  63. package/src/refractor/registration.mjs +0 -19
  64. package/src/transformers/serializers/value/ast/ephemeral-array.cjs +0 -21
  65. package/src/transformers/serializers/value/ast/ephemeral-array.mjs +0 -17
  66. package/src/transformers/serializers/value/ast/ephemeral-object.cjs +0 -20
  67. package/src/transformers/serializers/value/ast/ephemeral-object.mjs +0 -16
  68. package/src/transformers/serializers/value/index.cjs +0 -85
  69. package/src/transformers/serializers/value/index.mjs +0 -80
  70. package/src/transformers/serializers/value/visitor.cjs +0 -52
  71. package/src/transformers/serializers/value/visitor.mjs +0 -47
  72. package/src/traversal/filter.cjs +0 -18
  73. package/src/traversal/filter.mjs +0 -14
  74. package/src/traversal/find.cjs +0 -19
  75. package/src/traversal/find.mjs +0 -15
  76. package/src/traversal/findAtOffset.cjs +0 -65
  77. package/src/traversal/findAtOffset.mjs +0 -60
  78. package/src/traversal/index.cjs +0 -19
  79. package/src/traversal/index.mjs +0 -7
  80. package/src/traversal/parents.cjs +0 -38
  81. package/src/traversal/parents.mjs +0 -34
  82. package/src/traversal/reject.cjs +0 -15
  83. package/src/traversal/reject.mjs +0 -10
  84. package/src/traversal/some.cjs +0 -15
  85. package/src/traversal/some.mjs +0 -10
  86. package/src/traversal/traverse.cjs +0 -60
  87. package/src/traversal/traverse.mjs +0 -53
  88. package/src/traversal/visitor.cjs +0 -123
  89. package/src/traversal/visitor.mjs +0 -115
  90. package/src/util.cjs +0 -28
  91. package/src/util.mjs +0 -24
  92. package/types/minim.d.ts +0 -236
@@ -1,19 +0,0 @@
1
- import { ObjectElement, ArrayElement, StringElement, BooleanElement, NullElement, NumberElement, LinkElement, RefElement } from 'minim';
2
- import AnnotationElement from "../elements/Annotation.mjs";
3
- import CommentElement from "../elements/Comment.mjs";
4
- import ParseResultElement from "../elements/ParseResult.mjs";
5
- import SourceMapElement from "../elements/SourceMap.mjs";
6
- import { createRefractor } from "./index.mjs";
7
- ObjectElement.refract = createRefractor(ObjectElement);
8
- ArrayElement.refract = createRefractor(ArrayElement);
9
- StringElement.refract = createRefractor(StringElement);
10
- BooleanElement.refract = createRefractor(BooleanElement);
11
- NullElement.refract = createRefractor(NullElement);
12
- NumberElement.refract = createRefractor(NumberElement);
13
- LinkElement.refract = createRefractor(LinkElement);
14
- RefElement.refract = createRefractor(RefElement);
15
- AnnotationElement.refract = createRefractor(AnnotationElement);
16
- CommentElement.refract = createRefractor(CommentElement);
17
- ParseResultElement.refract = createRefractor(ParseResultElement);
18
- SourceMapElement.refract = createRefractor(SourceMapElement);
19
- export { ObjectElement, ArrayElement, StringElement, BooleanElement, NullElement, NumberElement, LinkElement, RefElement, AnnotationElement, CommentElement, ParseResultElement, SourceMapElement };
@@ -1,21 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.default = void 0;
5
- class EphemeralArray {
6
- type = 'EphemeralArray';
7
- content = [];
8
- reference = undefined;
9
- constructor(content) {
10
- this.content = content;
11
- this.reference = [];
12
- }
13
- toReference() {
14
- return this.reference;
15
- }
16
- toArray() {
17
- this.reference.push(...this.content);
18
- return this.reference;
19
- }
20
- }
21
- var _default = exports.default = EphemeralArray;
@@ -1,17 +0,0 @@
1
- class EphemeralArray {
2
- type = 'EphemeralArray';
3
- content = [];
4
- reference = undefined;
5
- constructor(content) {
6
- this.content = content;
7
- this.reference = [];
8
- }
9
- toReference() {
10
- return this.reference;
11
- }
12
- toArray() {
13
- this.reference.push(...this.content);
14
- return this.reference;
15
- }
16
- }
17
- export default EphemeralArray;
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.default = void 0;
5
- class EphemeralObject {
6
- type = 'EphemeralObject';
7
- content = [];
8
- reference = undefined;
9
- constructor(content) {
10
- this.content = content;
11
- this.reference = {};
12
- }
13
- toReference() {
14
- return this.reference;
15
- }
16
- toObject() {
17
- return Object.assign(this.reference, Object.fromEntries(this.content));
18
- }
19
- }
20
- var _default = exports.default = EphemeralObject;
@@ -1,16 +0,0 @@
1
- class EphemeralObject {
2
- type = 'EphemeralObject';
3
- content = [];
4
- reference = undefined;
5
- constructor(content) {
6
- this.content = content;
7
- this.reference = {};
8
- }
9
- toReference() {
10
- return this.reference;
11
- }
12
- toObject() {
13
- return Object.assign(this.reference, Object.fromEntries(this.content));
14
- }
15
- }
16
- export default EphemeralObject;
@@ -1,85 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
- exports.__esModule = true;
5
- exports.default = void 0;
6
- var _visitor = require("./visitor.cjs");
7
- var _ephemeralArray = _interopRequireDefault(require("./ast/ephemeral-array.cjs"));
8
- var _ephemeralObject = _interopRequireDefault(require("./ast/ephemeral-object.cjs"));
9
- var _index = require("../../../predicates/index.cjs");
10
- class Visitor {
11
- ObjectElement = {
12
- enter: element => {
13
- if (this.references.has(element)) {
14
- return this.references.get(element).toReference();
15
- }
16
- const ephemeral = new _ephemeralObject.default(element.content);
17
- this.references.set(element, ephemeral);
18
- return ephemeral;
19
- }
20
- };
21
- EphemeralObject = {
22
- leave: ephemeral => {
23
- return ephemeral.toObject();
24
- }
25
- };
26
- MemberElement = {
27
- enter: element => {
28
- return [element.key, element.value];
29
- }
30
- };
31
- ArrayElement = {
32
- enter: element => {
33
- if (this.references.has(element)) {
34
- return this.references.get(element).toReference();
35
- }
36
- const ephemeral = new _ephemeralArray.default(element.content);
37
- this.references.set(element, ephemeral);
38
- return ephemeral;
39
- }
40
- };
41
- EphemeralArray = {
42
- leave: ephemeral => {
43
- return ephemeral.toArray();
44
- }
45
- };
46
- references = new WeakMap();
47
- BooleanElement(element) {
48
- return element.toValue();
49
- }
50
- NumberElement(element) {
51
- return element.toValue();
52
- }
53
- StringElement(element) {
54
- return element.toValue();
55
- }
56
- NullElement() {
57
- return null;
58
- }
59
- RefElement(element, ...rest) {
60
- const ancestors = rest[3];
61
- if (ancestors[ancestors.length - 1]?.type === 'EphemeralObject') {
62
- return Symbol.for('delete-node');
63
- }
64
- return String(element.toValue());
65
- }
66
- LinkElement(element) {
67
- if ((0, _index.isStringElement)(element.href)) {
68
- return element.href.toValue();
69
- }
70
- return '';
71
- }
72
- }
73
- /**
74
- * @public
75
- */
76
- const serializer = element => {
77
- if (!(0, _index.isElement)(element)) return element;
78
-
79
- // shortcut optimization for certain element types
80
- if ((0, _index.isStringElement)(element) || (0, _index.isNumberElement)(element) || (0, _index.isBooleanElement)(element) || (0, _index.isNullElement)(element)) {
81
- return element.toValue();
82
- }
83
- return (0, _visitor.visit)(element, new Visitor());
84
- };
85
- var _default = exports.default = serializer;
@@ -1,80 +0,0 @@
1
- import { visit } from "./visitor.mjs";
2
- import EphemeralArray from "./ast/ephemeral-array.mjs";
3
- import EphemeralObject from "./ast/ephemeral-object.mjs";
4
- import { isElement, isBooleanElement, isNumberElement, isStringElement, isNullElement } from "../../../predicates/index.mjs";
5
- class Visitor {
6
- ObjectElement = {
7
- enter: element => {
8
- if (this.references.has(element)) {
9
- return this.references.get(element).toReference();
10
- }
11
- const ephemeral = new EphemeralObject(element.content);
12
- this.references.set(element, ephemeral);
13
- return ephemeral;
14
- }
15
- };
16
- EphemeralObject = {
17
- leave: ephemeral => {
18
- return ephemeral.toObject();
19
- }
20
- };
21
- MemberElement = {
22
- enter: element => {
23
- return [element.key, element.value];
24
- }
25
- };
26
- ArrayElement = {
27
- enter: element => {
28
- if (this.references.has(element)) {
29
- return this.references.get(element).toReference();
30
- }
31
- const ephemeral = new EphemeralArray(element.content);
32
- this.references.set(element, ephemeral);
33
- return ephemeral;
34
- }
35
- };
36
- EphemeralArray = {
37
- leave: ephemeral => {
38
- return ephemeral.toArray();
39
- }
40
- };
41
- references = new WeakMap();
42
- BooleanElement(element) {
43
- return element.toValue();
44
- }
45
- NumberElement(element) {
46
- return element.toValue();
47
- }
48
- StringElement(element) {
49
- return element.toValue();
50
- }
51
- NullElement() {
52
- return null;
53
- }
54
- RefElement(element, ...rest) {
55
- const ancestors = rest[3];
56
- if (ancestors[ancestors.length - 1]?.type === 'EphemeralObject') {
57
- return Symbol.for('delete-node');
58
- }
59
- return String(element.toValue());
60
- }
61
- LinkElement(element) {
62
- if (isStringElement(element.href)) {
63
- return element.href.toValue();
64
- }
65
- return '';
66
- }
67
- }
68
- /**
69
- * @public
70
- */
71
- const serializer = element => {
72
- if (!isElement(element)) return element;
73
-
74
- // shortcut optimization for certain element types
75
- if (isStringElement(element) || isNumberElement(element) || isBooleanElement(element) || isNullElement(element)) {
76
- return element.toValue();
77
- }
78
- return visit(element, new Visitor());
79
- };
80
- export default serializer;
@@ -1,52 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.visit = void 0;
5
- var _ramda = require("ramda");
6
- var _visitor = require("../../../traversal/visitor.cjs");
7
- const nodeTypeGetter = node => {
8
- if (typeof node?.type === 'string') {
9
- return node.type;
10
- }
11
- return (0, _visitor.getNodeType)(node);
12
- };
13
- const keyMapDefault = {
14
- EphemeralObject: ['content'],
15
- EphemeralArray: ['content'],
16
- ..._visitor.keyMapDefault
17
- };
18
- const visit = (root,
19
- // @ts-ignore
20
- visitor, {
21
- keyMap = keyMapDefault,
22
- ...rest
23
- } = {}) => {
24
- return (0, _visitor.visit)(root, visitor, {
25
- keyMap,
26
- // @ts-ignore
27
- nodeTypeGetter,
28
- nodePredicate: _ramda.T,
29
- detectCycles: false,
30
- deleteNodeSymbol: Symbol.for('delete-node'),
31
- skipVisitingNodeSymbol: Symbol.for('skip-visiting-node'),
32
- ...rest
33
- });
34
- };
35
-
36
- // @ts-ignore
37
- exports.visit = visit;
38
- visit[Symbol.for('nodejs.util.promisify.custom')] = async (root, {
39
- keyMap = keyMapDefault,
40
- ...rest
41
- } = {}) => {
42
- // @ts-ignore
43
- return _visitor.visit[Symbol.for('nodejs.util.promisify.custom')](root, visitor, {
44
- keyMap,
45
- nodeTypeGetter,
46
- nodePredicate: _ramda.T,
47
- detectCycles: false,
48
- deleteNodeSymbol: Symbol.for('delete-node'),
49
- skipVisitingNodeSymbol: Symbol.for('skip-visiting-node'),
50
- ...rest
51
- });
52
- };
@@ -1,47 +0,0 @@
1
- import { T as stubTrue } from 'ramda';
2
- import { visit as astVisit, keyMapDefault as baseKeyMap, getNodeType as baseGetNodeType } from "../../../traversal/visitor.mjs";
3
- const nodeTypeGetter = node => {
4
- if (typeof node?.type === 'string') {
5
- return node.type;
6
- }
7
- return baseGetNodeType(node);
8
- };
9
- const keyMapDefault = {
10
- EphemeralObject: ['content'],
11
- EphemeralArray: ['content'],
12
- ...baseKeyMap
13
- };
14
- export const visit = (root,
15
- // @ts-ignore
16
- visitor, {
17
- keyMap = keyMapDefault,
18
- ...rest
19
- } = {}) => {
20
- return astVisit(root, visitor, {
21
- keyMap,
22
- // @ts-ignore
23
- nodeTypeGetter,
24
- nodePredicate: stubTrue,
25
- detectCycles: false,
26
- deleteNodeSymbol: Symbol.for('delete-node'),
27
- skipVisitingNodeSymbol: Symbol.for('skip-visiting-node'),
28
- ...rest
29
- });
30
- };
31
-
32
- // @ts-ignore
33
- visit[Symbol.for('nodejs.util.promisify.custom')] = async (root, {
34
- keyMap = keyMapDefault,
35
- ...rest
36
- } = {}) => {
37
- // @ts-ignore
38
- return astVisit[Symbol.for('nodejs.util.promisify.custom')](root, visitor, {
39
- keyMap,
40
- nodeTypeGetter,
41
- nodePredicate: stubTrue,
42
- detectCycles: false,
43
- deleteNodeSymbol: Symbol.for('delete-node'),
44
- skipVisitingNodeSymbol: Symbol.for('skip-visiting-node'),
45
- ...rest
46
- });
47
- };
@@ -1,18 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.default = void 0;
5
- var _minim = require("minim");
6
- var _visitor = require("./visitor.cjs");
7
- /**
8
- * Finds all elements matching the predicate.
9
- * @public
10
- */
11
- const filter = (predicate, element) => {
12
- const visitor = new _visitor.PredicateVisitor({
13
- predicate
14
- });
15
- (0, _visitor.visit)(element, visitor);
16
- return new _minim.ArraySlice(visitor.result);
17
- };
18
- var _default = exports.default = filter;
@@ -1,14 +0,0 @@
1
- import { ArraySlice } from 'minim';
2
- import { PredicateVisitor, visit } from "./visitor.mjs";
3
- /**
4
- * Finds all elements matching the predicate.
5
- * @public
6
- */
7
- const filter = (predicate, element) => {
8
- const visitor = new PredicateVisitor({
9
- predicate
10
- });
11
- visit(element, visitor);
12
- return new ArraySlice(visitor.result);
13
- };
14
- export default filter;
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.default = void 0;
5
- var _ramda = require("ramda");
6
- var _visitor = require("./visitor.cjs");
7
- /**
8
- * Find first element that satisfies the provided predicate.
9
- * @public
10
- */
11
- const find = (predicate, element) => {
12
- const visitor = new _visitor.PredicateVisitor({
13
- predicate,
14
- returnOnTrue: _visitor.BREAK
15
- });
16
- (0, _visitor.visit)(element, visitor);
17
- return (0, _ramda.pathOr)(undefined, [0], visitor.result);
18
- };
19
- var _default = exports.default = find;
@@ -1,15 +0,0 @@
1
- import { pathOr } from 'ramda';
2
- import { PredicateVisitor, BREAK, visit } from "./visitor.mjs";
3
- /**
4
- * Find first element that satisfies the provided predicate.
5
- * @public
6
- */
7
- const find = (predicate, element) => {
8
- const visitor = new PredicateVisitor({
9
- predicate,
10
- returnOnTrue: BREAK
11
- });
12
- visit(element, visitor);
13
- return pathOr(undefined, [0], visitor.result);
14
- };
15
- export default find;
@@ -1,65 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
- exports.__esModule = true;
5
- exports.default = void 0;
6
- var _ramda = require("ramda");
7
- var _ramdaAdjunct = require("ramda-adjunct");
8
- var _index = require("../predicates/index.cjs");
9
- var _visitor = require("./visitor.cjs");
10
- var _index2 = _interopRequireDefault(require("../transformers/serializers/value/index.cjs"));
11
- class Visitor {
12
- result;
13
- offset;
14
- includeRightBound;
15
- constructor({
16
- offset = 0,
17
- includeRightBound = false
18
- } = {}) {
19
- this.result = [];
20
- this.offset = offset;
21
- this.includeRightBound = includeRightBound;
22
- }
23
- enter(element) {
24
- if (!(0, _index.hasElementSourceMap)(element)) {
25
- return undefined; // dive in
26
- }
27
- const sourceMapElement = element.getMetaProperty('sourceMap');
28
- const charStart = (0, _index2.default)(sourceMapElement.positionStart.get(2));
29
- const charEnd = (0, _index2.default)(sourceMapElement.positionEnd.get(2));
30
- const isWithinOffsetRange = this.offset >= charStart && (this.offset < charEnd || this.includeRightBound && this.offset <= charEnd);
31
- if (isWithinOffsetRange) {
32
- this.result.push(element);
33
- return undefined; // push to stack and dive in
34
- }
35
- return false; // skip entire sub-tree
36
- }
37
- }
38
-
39
- /**
40
- * @public
41
- */
42
-
43
- /**
44
- * Finds the most inner node at the given offset.
45
- * If includeRightBound is set, also finds nodes that end at the given offset.
46
- * @public
47
- */
48
- const findAtOffset = (options, element) => {
49
- let offset;
50
- let includeRightBound;
51
- if ((0, _ramdaAdjunct.isNumber)(options)) {
52
- offset = options;
53
- includeRightBound = false;
54
- } else {
55
- offset = (0, _ramda.pathOr)(0, ['offset'], options);
56
- includeRightBound = (0, _ramda.pathOr)(false, ['includeRightBound'], options);
57
- }
58
- const visitor = new Visitor({
59
- offset,
60
- includeRightBound
61
- });
62
- (0, _visitor.visit)(element, visitor);
63
- return (0, _ramda.last)(visitor.result);
64
- };
65
- var _default = exports.default = findAtOffset;
@@ -1,60 +0,0 @@
1
- import { last, pathOr } from 'ramda';
2
- import { isNumber } from 'ramda-adjunct';
3
- import { hasElementSourceMap } from "../predicates/index.mjs";
4
- import { visit } from "./visitor.mjs";
5
- import toValue from "../transformers/serializers/value/index.mjs";
6
- class Visitor {
7
- result;
8
- offset;
9
- includeRightBound;
10
- constructor({
11
- offset = 0,
12
- includeRightBound = false
13
- } = {}) {
14
- this.result = [];
15
- this.offset = offset;
16
- this.includeRightBound = includeRightBound;
17
- }
18
- enter(element) {
19
- if (!hasElementSourceMap(element)) {
20
- return undefined; // dive in
21
- }
22
- const sourceMapElement = element.getMetaProperty('sourceMap');
23
- const charStart = toValue(sourceMapElement.positionStart.get(2));
24
- const charEnd = toValue(sourceMapElement.positionEnd.get(2));
25
- const isWithinOffsetRange = this.offset >= charStart && (this.offset < charEnd || this.includeRightBound && this.offset <= charEnd);
26
- if (isWithinOffsetRange) {
27
- this.result.push(element);
28
- return undefined; // push to stack and dive in
29
- }
30
- return false; // skip entire sub-tree
31
- }
32
- }
33
-
34
- /**
35
- * @public
36
- */
37
-
38
- /**
39
- * Finds the most inner node at the given offset.
40
- * If includeRightBound is set, also finds nodes that end at the given offset.
41
- * @public
42
- */
43
- const findAtOffset = (options, element) => {
44
- let offset;
45
- let includeRightBound;
46
- if (isNumber(options)) {
47
- offset = options;
48
- includeRightBound = false;
49
- } else {
50
- offset = pathOr(0, ['offset'], options);
51
- includeRightBound = pathOr(false, ['includeRightBound'], options);
52
- }
53
- const visitor = new Visitor({
54
- offset,
55
- includeRightBound
56
- });
57
- visit(element, visitor);
58
- return last(visitor.result);
59
- };
60
- export default findAtOffset;
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
- exports.__esModule = true;
5
- exports.traverse = exports.some = exports.reject = exports.parents = exports.findAtOffset = exports.find = exports.filter = void 0;
6
- var _filter = _interopRequireDefault(require("./filter.cjs"));
7
- exports.filter = _filter.default;
8
- var _find = _interopRequireDefault(require("./find.cjs"));
9
- exports.find = _find.default;
10
- var _findAtOffset = _interopRequireDefault(require("./findAtOffset.cjs"));
11
- exports.findAtOffset = _findAtOffset.default;
12
- var _reject = _interopRequireDefault(require("./reject.cjs"));
13
- exports.reject = _reject.default;
14
- var _some = _interopRequireDefault(require("./some.cjs"));
15
- exports.some = _some.default;
16
- var _traverse = _interopRequireDefault(require("./traverse.cjs"));
17
- exports.traverse = _traverse.default;
18
- var _parents = _interopRequireDefault(require("./parents.cjs"));
19
- exports.parents = _parents.default;
@@ -1,7 +0,0 @@
1
- export { default as filter } from "./filter.mjs";
2
- export { default as find } from "./find.mjs";
3
- export { default as findAtOffset } from "./findAtOffset.mjs";
4
- export { default as reject } from "./reject.mjs";
5
- export { default as some } from "./some.mjs";
6
- export { default as traverse } from "./traverse.mjs";
7
- export { default as parents } from "./parents.mjs";
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.default = void 0;
5
- var _visitor = require("./visitor.cjs");
6
- class Visitor {
7
- parentEdges;
8
- parent;
9
- constructor() {
10
- this.parentEdges = new WeakMap();
11
- }
12
- ObjectElement(objectElement) {
13
- this.parentEdges.set(objectElement, this.parent);
14
- this.parent = objectElement;
15
- }
16
- ArrayElement(arrayElement) {
17
- this.parentEdges.set(arrayElement, this.parent);
18
- this.parent = arrayElement;
19
- }
20
- MemberElement(memberElement) {
21
- this.parentEdges.set(memberElement, this.parent);
22
- this.parent = memberElement;
23
- }
24
- enter(element) {
25
- this.parentEdges.set(element, this.parent);
26
- }
27
- }
28
-
29
- /**
30
- * Computes upwards edges from every child to its parent.
31
- * @public
32
- */
33
- const parents = element => {
34
- const visitor = new Visitor();
35
- (0, _visitor.visit)(element, visitor);
36
- return visitor.parentEdges;
37
- };
38
- var _default = exports.default = parents;
@@ -1,34 +0,0 @@
1
- import { visit } from "./visitor.mjs";
2
- class Visitor {
3
- parentEdges;
4
- parent;
5
- constructor() {
6
- this.parentEdges = new WeakMap();
7
- }
8
- ObjectElement(objectElement) {
9
- this.parentEdges.set(objectElement, this.parent);
10
- this.parent = objectElement;
11
- }
12
- ArrayElement(arrayElement) {
13
- this.parentEdges.set(arrayElement, this.parent);
14
- this.parent = arrayElement;
15
- }
16
- MemberElement(memberElement) {
17
- this.parentEdges.set(memberElement, this.parent);
18
- this.parent = memberElement;
19
- }
20
- enter(element) {
21
- this.parentEdges.set(element, this.parent);
22
- }
23
- }
24
-
25
- /**
26
- * Computes upwards edges from every child to its parent.
27
- * @public
28
- */
29
- const parents = element => {
30
- const visitor = new Visitor();
31
- visit(element, visitor);
32
- return visitor.parentEdges;
33
- };
34
- export default parents;
@@ -1,15 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
- exports.__esModule = true;
5
- exports.default = void 0;
6
- var _ramda = require("ramda");
7
- var _filter = _interopRequireDefault(require("./filter.cjs"));
8
- /**
9
- * Complement of filter.
10
- * @public
11
- */
12
- const reject = (predicate, element) => {
13
- return (0, _filter.default)((0, _ramda.complement)(predicate), element);
14
- };
15
- var _default = exports.default = reject;