@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
@@ -2,33 +2,30 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.default = void 0;
5
- var _visitor = require("../traversal/visitor.cjs");
6
- class SymbolicExpressionsVisitor {
7
- result = '';
8
- nestingLevel = 0;
9
- enter(element) {
10
- const {
11
- element: elementName
12
- } = element;
13
- const capitalizedElementName = elementName.charAt(0).toUpperCase() + elementName.slice(1);
14
- const indent = ' '.repeat(this.nestingLevel);
15
- this.result += this.nestingLevel > 0 ? '\n' : '';
16
- this.result += `${indent}(${capitalizedElementName}Element`;
17
- this.nestingLevel += 1;
18
- }
19
- leave() {
20
- this.nestingLevel -= 1;
21
- this.result += ')';
22
- }
23
- }
24
-
5
+ var _apidomTraverse = require("@speclynx/apidom-traverse");
25
6
  /**
26
7
  * Transforms ApiDOM into S-expressions (Symbolic Expressions).
27
8
  * @public
28
9
  */
29
10
  const sexprs = element => {
30
- const visitor = new SymbolicExpressionsVisitor();
31
- (0, _visitor.visit)(element, visitor);
32
- return visitor.result;
11
+ let result = '';
12
+ let nestingLevel = 0;
13
+ (0, _apidomTraverse.traverse)(element, {
14
+ enter(path) {
15
+ const {
16
+ element: elementName
17
+ } = path.node;
18
+ const capitalizedElementName = elementName.charAt(0).toUpperCase() + elementName.slice(1);
19
+ const indent = ' '.repeat(nestingLevel);
20
+ result += nestingLevel > 0 ? '\n' : '';
21
+ result += `${indent}(${capitalizedElementName}Element`;
22
+ nestingLevel += 1;
23
+ },
24
+ leave() {
25
+ nestingLevel -= 1;
26
+ result += ')';
27
+ }
28
+ });
29
+ return result;
33
30
  };
34
31
  var _default = exports.default = sexprs;
@@ -1,30 +1,28 @@
1
- import { visit } from "../traversal/visitor.mjs";
2
- class SymbolicExpressionsVisitor {
3
- result = '';
4
- nestingLevel = 0;
5
- enter(element) {
6
- const {
7
- element: elementName
8
- } = element;
9
- const capitalizedElementName = elementName.charAt(0).toUpperCase() + elementName.slice(1);
10
- const indent = ' '.repeat(this.nestingLevel);
11
- this.result += this.nestingLevel > 0 ? '\n' : '';
12
- this.result += `${indent}(${capitalizedElementName}Element`;
13
- this.nestingLevel += 1;
14
- }
15
- leave() {
16
- this.nestingLevel -= 1;
17
- this.result += ')';
18
- }
19
- }
1
+ import { traverse } from '@speclynx/apidom-traverse';
20
2
 
21
3
  /**
22
4
  * Transforms ApiDOM into S-expressions (Symbolic Expressions).
23
5
  * @public
24
6
  */
25
7
  const sexprs = element => {
26
- const visitor = new SymbolicExpressionsVisitor();
27
- visit(element, visitor);
28
- return visitor.result;
8
+ let result = '';
9
+ let nestingLevel = 0;
10
+ traverse(element, {
11
+ enter(path) {
12
+ const {
13
+ element: elementName
14
+ } = path.node;
15
+ const capitalizedElementName = elementName.charAt(0).toUpperCase() + elementName.slice(1);
16
+ const indent = ' '.repeat(nestingLevel);
17
+ result += nestingLevel > 0 ? '\n' : '';
18
+ result += `${indent}(${capitalizedElementName}Element`;
19
+ nestingLevel += 1;
20
+ },
21
+ leave() {
22
+ nestingLevel -= 1;
23
+ result += ')';
24
+ }
25
+ });
26
+ return result;
29
27
  };
30
28
  export default sexprs;
@@ -1,10 +1,10 @@
1
- import defaultNamespaceInstance from "../namespace.mjs";
1
+ import defaultNamespace from "../namespace.mjs";
2
2
  import dehydrate from "./dehydrate.mjs";
3
3
  /**
4
4
  * Create a refracted string representation of an Element.
5
5
  * @public
6
6
  */
7
- const toString = (element, namespace = defaultNamespaceInstance) => {
7
+ const toString = (element, namespace = defaultNamespace) => {
8
8
  const refractStructure = dehydrate(element, namespace);
9
9
  return JSON.stringify(refractStructure);
10
10
  };