@swagger-api/apidom-core 0.76.1 → 0.77.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 (97) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +53 -5
  3. package/cjs/clone/errors/CloneError.cjs +7 -0
  4. package/cjs/clone/errors/DeepCloneError.cjs +8 -0
  5. package/cjs/clone/errors/ShallowCloneError.cjs +8 -0
  6. package/cjs/clone/index.cjs +105 -0
  7. package/cjs/deepmerge.cjs +9 -7
  8. package/cjs/elements/Annotation.cjs +1 -2
  9. package/cjs/elements/Comment.cjs +1 -2
  10. package/cjs/elements/ParseResult.cjs +1 -2
  11. package/cjs/elements/SourceMap.cjs +1 -2
  12. package/cjs/index.cjs +62 -103
  13. package/cjs/media-types.cjs +1 -2
  14. package/cjs/namespace.cjs +2 -3
  15. package/cjs/predicates/helpers.cjs +1 -2
  16. package/cjs/predicates/index.cjs +16 -31
  17. package/cjs/refractor/index.cjs +2 -3
  18. package/cjs/refractor/plugins/element-identity.cjs +2 -3
  19. package/cjs/refractor/plugins/semantic-element-identity.cjs +2 -3
  20. package/cjs/refractor/plugins/utils/index.cjs +1 -1
  21. package/cjs/refractor/registration.cjs +1 -1
  22. package/cjs/refractor/toolbox.cjs +3 -5
  23. package/cjs/transcluder/Transcluder.cjs +2 -3
  24. package/cjs/transcluder/index.cjs +2 -3
  25. package/cjs/transformers/dehydrate.cjs +14 -0
  26. package/cjs/transformers/from.cjs +27 -0
  27. package/cjs/{serializers → transformers/serializers}/json.cjs +2 -3
  28. package/cjs/{serializers → transformers/serializers}/value/ast/ephemeral-array.cjs +1 -2
  29. package/cjs/{serializers → transformers/serializers}/value/ast/ephemeral-object.cjs +1 -2
  30. package/cjs/{serializers → transformers/serializers}/value/index.cjs +9 -3
  31. package/cjs/{serializers → transformers/serializers}/value/visitor.cjs +1 -1
  32. package/cjs/{serializers → transformers/serializers}/yaml-1-2.cjs +3 -4
  33. package/cjs/{sexprs.cjs → transformers/sexprs.cjs} +3 -4
  34. package/cjs/transformers/to-string.cjs +15 -0
  35. package/cjs/traversal/filter.cjs +1 -2
  36. package/cjs/traversal/find.cjs +1 -2
  37. package/cjs/traversal/findAtOffset.cjs +5 -5
  38. package/cjs/traversal/index.cjs +1 -1
  39. package/cjs/traversal/parents.cjs +2 -3
  40. package/cjs/traversal/reject.cjs +2 -3
  41. package/cjs/traversal/some.cjs +2 -3
  42. package/cjs/traversal/traverse.cjs +3 -5
  43. package/cjs/traversal/visitor.cjs +18 -9
  44. package/dist/apidom-core.browser.js +9851 -11614
  45. package/dist/apidom-core.browser.min.js +1 -1
  46. package/es/clone/errors/CloneError.mjs +3 -0
  47. package/es/clone/errors/DeepCloneError.mjs +3 -0
  48. package/es/clone/errors/ShallowCloneError.mjs +3 -0
  49. package/es/clone/index.mjs +98 -0
  50. package/es/{deepmerge.js → deepmerge.mjs} +14 -13
  51. package/es/index.mjs +46 -0
  52. package/es/{media-types.js → media-types.mjs} +2 -5
  53. package/es/{namespace.js → namespace.mjs} +4 -4
  54. package/es/predicates/{index.js → index.mjs} +5 -5
  55. package/es/refractor/index.mjs +30 -0
  56. package/es/refractor/plugins/utils/{index.js → index.mjs} +2 -2
  57. package/es/refractor/{registration.js → registration.mjs} +5 -5
  58. package/es/refractor/toolbox.mjs +12 -0
  59. package/es/transcluder/{Transcluder.js → Transcluder.mjs} +1 -1
  60. package/es/transcluder/{index.js → index.mjs} +1 -1
  61. package/es/transformers/dehydrate.mjs +9 -0
  62. package/es/transformers/from.mjs +22 -0
  63. package/es/{serializers/json.js → transformers/serializers/json.mjs} +1 -1
  64. package/es/transformers/serializers/value/ast/ephemeral-array.mjs +17 -0
  65. package/es/transformers/serializers/value/ast/ephemeral-object.mjs +16 -0
  66. package/es/{serializers/value/index.js → transformers/serializers/value/index.mjs} +10 -3
  67. package/es/transformers/serializers/value/visitor.mjs +49 -0
  68. package/es/{serializers/yaml-1-2.js → transformers/serializers/yaml-1-2.mjs} +2 -2
  69. package/es/{sexprs.js → transformers/sexprs.mjs} +1 -1
  70. package/es/transformers/to-string.mjs +10 -0
  71. package/es/traversal/{filter.js → filter.mjs} +1 -1
  72. package/es/traversal/{find.js → find.mjs} +1 -1
  73. package/es/traversal/{findAtOffset.js → findAtOffset.mjs} +5 -4
  74. package/es/traversal/index.mjs +7 -0
  75. package/es/traversal/{parents.js → parents.mjs} +1 -1
  76. package/es/traversal/{reject.js → reject.mjs} +1 -1
  77. package/es/traversal/{some.js → some.mjs} +1 -1
  78. package/es/traversal/{traverse.js → traverse.mjs} +2 -2
  79. package/es/traversal/{visitor.js → visitor.mjs} +29 -24
  80. package/package.json +8 -8
  81. package/types/dist.d.ts +47 -32
  82. package/types/minim.d.ts +14 -2
  83. package/es/index.js +0 -72
  84. package/es/refractor/index.js +0 -32
  85. package/es/refractor/toolbox.js +0 -13
  86. package/es/serializers/value/ast/ephemeral-array.js +0 -18
  87. package/es/serializers/value/ast/ephemeral-object.js +0 -17
  88. package/es/serializers/value/visitor.js +0 -54
  89. package/es/traversal/index.js +0 -7
  90. /package/es/elements/{Annotation.js → Annotation.mjs} +0 -0
  91. /package/es/elements/{Comment.js → Comment.mjs} +0 -0
  92. /package/es/elements/{ParseResult.js → ParseResult.mjs} +0 -0
  93. /package/es/elements/{SourceMap.js → SourceMap.mjs} +0 -0
  94. /package/es/predicates/{helpers.js → helpers.mjs} +0 -0
  95. /package/es/refractor/plugins/{element-identity.js → element-identity.mjs} +0 -0
  96. /package/es/refractor/plugins/{semantic-element-identity.js → semantic-element-identity.mjs} +0 -0
  97. /package/es/{util.js → util.mjs} +0 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,23 @@
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.77.0](https://github.com/swagger-api/apidom/compare/v0.76.2...v0.77.0) (2023-10-03)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **core:** always perform immutable async traversal ([#3164](https://github.com/swagger-api/apidom/issues/3164)) ([a47f870](https://github.com/swagger-api/apidom/commit/a47f87018fcca235bd1490e1f014bcdd2430b2d5)), closes [#3110](https://github.com/swagger-api/apidom/issues/3110)
11
+ - **core:** always perform immutable traversal ([#3163](https://github.com/swagger-api/apidom/issues/3163)) ([f2fcab0](https://github.com/swagger-api/apidom/commit/f2fcab0c7a68ca0c39fae6165ff9b5fdf0f12e52)), closes [#3110](https://github.com/swagger-api/apidom/issues/3110)
12
+
13
+ ### Features
14
+
15
+ - **core:** introduce functions for shallow and deep cloning ([#3158](https://github.com/swagger-api/apidom/issues/3158)) ([549a7ff](https://github.com/swagger-api/apidom/commit/549a7ff01396a0a9ecb02171c9f817bcfe0f4af6)), closes [#3110](https://github.com/swagger-api/apidom/issues/3110)
16
+
17
+ ## [0.76.2](https://github.com/swagger-api/apidom/compare/v0.76.1...v0.76.2) (2023-09-08)
18
+
19
+ ### Bug Fixes
20
+
21
+ - **build:** apply polyfills with transform runtime babel plugin ([#3132](https://github.com/swagger-api/apidom/issues/3132)) ([4b4754d](https://github.com/swagger-api/apidom/commit/4b4754da33a4a25d47f926c8a14b59cfdfa6b50c))
22
+
6
23
  ## [0.76.1](https://github.com/swagger-api/apidom/compare/v0.76.0...v0.76.1) (2023-09-07)
7
24
 
8
25
  **Note:** Version bump only for package @swagger-api/apidom-core
package/README.md CHANGED
@@ -560,14 +560,35 @@ traverse({ callback: console.dir, predicate: isNumberElement }, arrayElement); /
560
560
 
561
561
  Computes upwards edges from every child to its parent.
562
562
 
563
+ #### ObjectElement example
564
+
563
565
  ```js
564
- import { ObjectElement, parents } from '@swagger-api/apidom-core';
566
+ import { parents, ObjectElement } from '@swagger-api/apidom-core';
565
567
 
566
- const objectElement = new ObjectElement({
567
- a: [1, 2, { b: 'c', d: 'e' }],
568
- });
568
+ const objectElement = new ObjectElement({ key: 'value' });
569
+ const memberElement = objectElement.getMember('key');
570
+ const { key: keyElement, value: valueElement } = memberElement;
569
571
 
570
- const parentEdges = parents(objectElement); // => WeakMap<childElement, parentElement>
572
+ const parentEdges = parents(objectElement); // => WeakMap<ChildElement, ParentElement>
573
+
574
+ parentEdges.get(memberElement) === objectElement; // => true
575
+ parentEdges.get(keyElement) === memberElement; // => true
576
+ parentEdges.get(valueElement) === memberElement; // => true
577
+ ```
578
+
579
+ #### ArrayElement example
580
+
581
+ ```js
582
+ import { parents, ArrayElement, StringElement } from '@swagger-api/apidom-core';
583
+
584
+ const itemElement1 = new StringElement('item1');
585
+ const itemElement2 = new StringElement('item2');
586
+ const arrayElement = new ArrayElement([itemElement1, itemElement2]);
587
+
588
+ const parentEdges = parents(arrayElement); // => WeakMap<ChildElement, ParentElement>
589
+
590
+ parentEdges.get(itemElement1) === arrayElement; // => true
591
+ parentEdges.get(itemElement2) === arrayElement; // => true
571
592
  ```
572
593
 
573
594
  ---
@@ -677,3 +698,30 @@ const numberElement = new NumberElement(1);
677
698
 
678
699
  toString(numberElement); // => '{"element":"number","content":1}'
679
700
  ```
701
+
702
+ ## Cloning
703
+
704
+ Following functions provide mechanism for creating shallow and deep copies of ApiDOM elements.
705
+
706
+ ### Shallow cloning
707
+
708
+ Creates shallow clone of ApiDOM element.
709
+
710
+ ```js
711
+ import { cloneShallow, ObjectElement } from '@swagger-api/apidom-core';
712
+
713
+ const objectElement = new ObjectElement({ a: 'b' });
714
+ const objectElementShallowClone = cloneShallow(objectElement);
715
+ ```
716
+
717
+ ### Deep cloning
718
+
719
+ Creates deep clone of ApiDOM Element.
720
+
721
+ ```js
722
+ import { cloneDeep, ObjectElement } from '@swagger-api/apidom-core';
723
+
724
+ const objectElement = new ObjectElement({ a: 'b' });
725
+ const objectElementDeepClone = cloneDeep(objectElement);
726
+ ```
727
+
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+ var _apidomError = require("@swagger-api/apidom-error");
6
+ class CloneError extends _apidomError.ApiDOMStructuredError {}
7
+ var _default = exports.default = CloneError;
@@ -0,0 +1,8 @@
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 _CloneError = _interopRequireDefault(require("./CloneError.cjs"));
7
+ class DeepCloneError extends _CloneError.default {}
8
+ var _default = exports.default = DeepCloneError;
@@ -0,0 +1,8 @@
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 _CloneError = _interopRequireDefault(require("./CloneError.cjs"));
7
+ class ShallowCloneError extends _CloneError.default {}
8
+ var _default = exports.default = ShallowCloneError;
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
+ exports.__esModule = true;
5
+ exports.cloneShallow = exports.cloneDeep = void 0;
6
+ var _minim = require("minim");
7
+ var _index = require("../predicates/index.cjs");
8
+ var _DeepCloneError = _interopRequireDefault(require("./errors/DeepCloneError.cjs"));
9
+ var _ShallowCloneError = _interopRequireDefault(require("./errors/ShallowCloneError.cjs"));
10
+ const invokeClone = value => {
11
+ if (typeof (value == null ? void 0 : value.clone) === 'function') {
12
+ return value.clone();
13
+ }
14
+ return value;
15
+ };
16
+ const cloneDeep = value => {
17
+ if (value instanceof _minim.ObjectSlice) {
18
+ const items = [...value].map(invokeClone);
19
+ return new _minim.ObjectSlice(items);
20
+ }
21
+ if (value instanceof _minim.ArraySlice) {
22
+ const items = [...value].map(invokeClone);
23
+ return new _minim.ArraySlice(items);
24
+ }
25
+ if (typeof (value == null ? void 0 : value.clone) === 'function') {
26
+ return value.clone();
27
+ }
28
+ throw new _DeepCloneError.default("Value provided to cloneDeep function couldn't be cloned", {
29
+ value
30
+ });
31
+ };
32
+ exports.cloneDeep = cloneDeep;
33
+ cloneDeep.safe = value => {
34
+ try {
35
+ return cloneDeep(value);
36
+ } catch {
37
+ return value;
38
+ }
39
+ };
40
+ const cloneShallowKeyValuePair = keyValuePair => {
41
+ const {
42
+ key,
43
+ value
44
+ } = keyValuePair;
45
+ return new _minim.KeyValuePair(key, value);
46
+ };
47
+ const cloneShallowArraySlice = arraySlice => {
48
+ const items = [...arraySlice];
49
+ return new _minim.ArraySlice(items);
50
+ };
51
+ const cloneShallowObjectSlice = objectSlice => {
52
+ const items = [...objectSlice];
53
+ return new _minim.ObjectSlice(items);
54
+ };
55
+
56
+ /* eslint-disable no-underscore-dangle */
57
+ const cloneShallowElement = element => {
58
+ // @ts-ignore
59
+ const copy = new element.constructor();
60
+ copy.element = element.element;
61
+ if (element.meta.length > 0) {
62
+ copy._meta = cloneDeep(element.meta);
63
+ }
64
+ if (element.attributes.length > 0) {
65
+ copy._attributes = cloneDeep(element.attributes);
66
+ }
67
+ if ((0, _index.isElement)(element.content)) {
68
+ const content = element.content;
69
+ copy.content = cloneShallowElement(content);
70
+ } else if (Array.isArray(element.content)) {
71
+ copy.content = [...element.content];
72
+ } else if (element.content instanceof _minim.KeyValuePair) {
73
+ copy.content = cloneShallowKeyValuePair(element.content);
74
+ } else {
75
+ copy.content = element.content;
76
+ }
77
+ return copy;
78
+ };
79
+ /* eslint-enable */
80
+
81
+ const cloneShallow = value => {
82
+ if (value instanceof _minim.KeyValuePair) {
83
+ return cloneShallowKeyValuePair(value);
84
+ }
85
+ if (value instanceof _minim.ObjectSlice) {
86
+ return cloneShallowObjectSlice(value);
87
+ }
88
+ if (value instanceof _minim.ArraySlice) {
89
+ return cloneShallowArraySlice(value);
90
+ }
91
+ if ((0, _index.isElement)(value)) {
92
+ return cloneShallowElement(value);
93
+ }
94
+ throw new _ShallowCloneError.default("Value provided to cloneShallow function couldn't be cloned", {
95
+ value
96
+ });
97
+ };
98
+ exports.cloneShallow = cloneShallow;
99
+ cloneShallow.safe = value => {
100
+ try {
101
+ return cloneShallow(value);
102
+ } catch {
103
+ return value;
104
+ }
105
+ };
package/cjs/deepmerge.cjs CHANGED
@@ -1,19 +1,21 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
3
4
  exports.__esModule = true;
4
5
  exports.default = deepmerge;
5
6
  var _minim = require("minim");
6
7
  var _index = require("./predicates/index.cjs");
8
+ var _index2 = require("./clone/index.cjs");
9
+ var _index3 = _interopRequireDefault(require("./transformers/serializers/value/index.cjs"));
7
10
  /* eslint-disable @typescript-eslint/no-use-before-define */
8
11
 
9
12
  const emptyElement = element => {
10
- const meta = element.meta.clone();
11
- const attributes = element.attributes.clone();
13
+ const meta = (0, _index2.cloneDeep)(element.meta);
14
+ const attributes = (0, _index2.cloneDeep)(element.attributes);
12
15
 
13
16
  // @ts-ignore
14
17
  return new element.constructor(undefined, meta, attributes);
15
18
  };
16
- const cloneMemberElement = memberElement => new _minim.MemberElement(memberElement.key, memberElement.value, memberElement.meta.clone(), memberElement.attributes.clone());
17
19
  const cloneUnlessOtherwiseSpecified = (element, options) => options.clone && options.isMergeableElement(element) ? deepmerge(emptyElement(element), element, options) : element;
18
20
  const getMergeFunction = (keyElement, options) => {
19
21
  if (typeof options.customMerge !== 'function') {
@@ -27,20 +29,20 @@ const mergeObjectElement = (targetElement, sourceElement, options) => {
27
29
  const destination = (0, _index.isObjectElement)(targetElement) ? emptyElement(targetElement) : emptyElement(sourceElement);
28
30
  if ((0, _index.isObjectElement)(targetElement)) {
29
31
  targetElement.forEach((value, key, member) => {
30
- const clonedMember = cloneMemberElement(member);
32
+ const clonedMember = (0, _index2.cloneShallow)(member);
31
33
  clonedMember.value = cloneUnlessOtherwiseSpecified(value, options);
32
34
  destination.content.push(clonedMember);
33
35
  });
34
36
  }
35
37
  sourceElement.forEach((value, key, member) => {
36
- const keyValue = key.toValue();
38
+ const keyValue = (0, _index3.default)(key);
37
39
  let clonedMember;
38
40
  if ((0, _index.isObjectElement)(targetElement) && targetElement.hasKey(keyValue) && options.isMergeableElement(value)) {
39
41
  const targetValue = targetElement.get(keyValue);
40
- clonedMember = cloneMemberElement(member);
42
+ clonedMember = (0, _index2.cloneShallow)(member);
41
43
  clonedMember.value = getMergeFunction(key, options)(targetValue, value);
42
44
  } else {
43
- clonedMember = cloneMemberElement(member);
45
+ clonedMember = (0, _index2.cloneShallow)(member);
44
46
  clonedMember.value = cloneUnlessOtherwiseSpecified(value, options);
45
47
  }
46
48
  destination.remove(keyValue);
@@ -17,5 +17,4 @@ class Annotation extends _minim.StringElement {
17
17
  this.attributes.set('code', value);
18
18
  }
19
19
  }
20
- var _default = Annotation;
21
- exports.default = _default;
20
+ var _default = exports.default = Annotation;
@@ -9,5 +9,4 @@ class Comment extends _minim.StringElement {
9
9
  this.element = 'comment';
10
10
  }
11
11
  }
12
- var _default = Comment;
13
- exports.default = _default;
12
+ var _default = exports.default = Comment;
@@ -47,5 +47,4 @@ class ParseResult extends _minim.ArrayElement {
47
47
  return true;
48
48
  }
49
49
  }
50
- var _default = ParseResult;
51
- exports.default = _default;
50
+ var _default = exports.default = ParseResult;
@@ -25,5 +25,4 @@ class SourceMap extends _minim.ArrayElement {
25
25
  this.push(start).push(end);
26
26
  }
27
27
  }
28
- var _default = SourceMap;
29
- exports.default = _default;
28
+ var _default = exports.default = SourceMap;
package/cjs/index.cjs CHANGED
@@ -1,19 +1,11 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
3
+ var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
5
  exports.__esModule = true;
5
- 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.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.deepmerge = exports.createPredicate = exports.createNamespace = exports.Transcluder = exports.StringElement = exports.SourceMapElement = exports.RefElement = exports.ParseResultElement = exports.ObjectSlice = exports.ObjectElement = exports.NumberElement = exports.NullElement = exports.Namespace = exports.MemberElement = exports.MediaTypes = exports.LinkElement = exports.KeyValuePair = exports.Element = exports.CommentElement = exports.BooleanElement = exports.BREAK = exports.ArraySlice = exports.ArrayElement = exports.AnnotationElement = void 0;
6
- var _ramda = require("ramda");
7
- var _ramdaAdjunct = require("ramda-adjunct");
8
- var _namespace = _interopRequireWildcard(require("./namespace.cjs"));
9
- exports.namespace = _namespace.default;
10
- exports.Namespace = _namespace.Namespace;
11
- exports.createNamespace = _namespace.createNamespace;
12
- var _index = _interopRequireDefault(require("./serializers/value/index.cjs"));
13
- var _json = _interopRequireDefault(require("./serializers/json.cjs"));
14
- var _yaml = _interopRequireDefault(require("./serializers/yaml-1-2.cjs"));
15
- var _index2 = require("./refractor/plugins/utils/index.cjs");
16
- exports.dispatchRefractorPlugins = _index2.dispatchPlugins;
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.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.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.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/utils/index.cjs");
8
+ exports.dispatchRefractorPlugins = _index.dispatchPlugins;
17
9
  var _elementIdentity = _interopRequireDefault(require("./refractor/plugins/element-identity.cjs"));
18
10
  exports.refractorPluginElementIdentity = _elementIdentity.default;
19
11
  var _semanticElementIdentity = _interopRequireDefault(require("./refractor/plugins/semantic-element-identity.cjs"));
@@ -27,6 +19,10 @@ exports.KeyValuePair = _minim.KeyValuePair;
27
19
  exports.ObjectSlice = _minim.ObjectSlice;
28
20
  exports.ArraySlice = _minim.ArraySlice;
29
21
  exports.refract = _minim.refract;
22
+ var _namespace = _interopRequireWildcard(require("./namespace.cjs"));
23
+ exports.namespace = _namespace.default;
24
+ exports.Namespace = _namespace.Namespace;
25
+ exports.createNamespace = _namespace.createNamespace;
30
26
  var _registration = require("./refractor/registration.cjs");
31
27
  exports.ObjectElement = _registration.ObjectElement;
32
28
  exports.ArrayElement = _registration.ArrayElement;
@@ -40,105 +36,68 @@ exports.AnnotationElement = _registration.AnnotationElement;
40
36
  exports.CommentElement = _registration.CommentElement;
41
37
  exports.ParseResultElement = _registration.ParseResultElement;
42
38
  exports.SourceMapElement = _registration.SourceMapElement;
43
- var _index3 = require("./predicates/index.cjs");
44
- exports.isElement = _index3.isElement;
45
- exports.isStringElement = _index3.isStringElement;
46
- exports.isNumberElement = _index3.isNumberElement;
47
- exports.isNullElement = _index3.isNullElement;
48
- exports.isBooleanElement = _index3.isBooleanElement;
49
- exports.isArrayElement = _index3.isArrayElement;
50
- exports.isObjectElement = _index3.isObjectElement;
51
- exports.isMemberElement = _index3.isMemberElement;
52
- exports.isLinkElement = _index3.isLinkElement;
53
- exports.isRefElement = _index3.isRefElement;
54
- exports.isAnnotationElement = _index3.isAnnotationElement;
55
- exports.isParseResultElement = _index3.isParseResultElement;
56
- exports.isSourceMapElement = _index3.isSourceMapElement;
57
- exports.isPrimitiveElement = _index3.isPrimitiveElement;
58
- exports.hasElementSourceMap = _index3.hasElementSourceMap;
59
- exports.includesSymbols = _index3.includesSymbols;
60
- exports.includesClasses = _index3.includesClasses;
39
+ var _index2 = require("./predicates/index.cjs");
40
+ exports.isElement = _index2.isElement;
41
+ exports.isStringElement = _index2.isStringElement;
42
+ exports.isNumberElement = _index2.isNumberElement;
43
+ exports.isNullElement = _index2.isNullElement;
44
+ exports.isBooleanElement = _index2.isBooleanElement;
45
+ exports.isArrayElement = _index2.isArrayElement;
46
+ exports.isObjectElement = _index2.isObjectElement;
47
+ exports.isMemberElement = _index2.isMemberElement;
48
+ exports.isLinkElement = _index2.isLinkElement;
49
+ exports.isRefElement = _index2.isRefElement;
50
+ exports.isAnnotationElement = _index2.isAnnotationElement;
51
+ exports.isParseResultElement = _index2.isParseResultElement;
52
+ exports.isSourceMapElement = _index2.isSourceMapElement;
53
+ exports.isPrimitiveElement = _index2.isPrimitiveElement;
54
+ exports.hasElementSourceMap = _index2.hasElementSourceMap;
55
+ exports.includesSymbols = _index2.includesSymbols;
56
+ exports.includesClasses = _index2.includesClasses;
61
57
  var _helpers = _interopRequireDefault(require("./predicates/helpers.cjs"));
62
58
  exports.createPredicate = _helpers.default;
63
- var _index4 = require("./traversal/index.cjs");
64
- exports.filter = _index4.filter;
65
- exports.reject = _index4.reject;
66
- exports.find = _index4.find;
67
- exports.findAtOffset = _index4.findAtOffset;
68
- exports.some = _index4.some;
69
- exports.traverse = _index4.traverse;
70
- exports.parents = _index4.parents;
59
+ var _index3 = require("./traversal/index.cjs");
60
+ exports.filter = _index3.filter;
61
+ exports.reject = _index3.reject;
62
+ exports.find = _index3.find;
63
+ exports.findAtOffset = _index3.findAtOffset;
64
+ exports.some = _index3.some;
65
+ exports.traverse = _index3.traverse;
66
+ exports.parents = _index3.parents;
71
67
  var _visitor = require("./traversal/visitor.cjs");
72
68
  exports.visit = _visitor.visit;
73
69
  exports.BREAK = _visitor.BREAK;
74
70
  exports.mergeAllVisitors = _visitor.mergeAllVisitors;
75
71
  exports.getNodeType = _visitor.getNodeType;
72
+ exports.cloneNode = _visitor.cloneNode;
76
73
  exports.keyMap = _visitor.keyMapDefault;
77
- var _index5 = _interopRequireWildcard(require("./transcluder/index.cjs"));
78
- exports.transclude = _index5.transclude;
79
- exports.Transcluder = _index5.default;
74
+ var _index4 = _interopRequireWildcard(require("./transcluder/index.cjs"));
75
+ exports.transclude = _index4.transclude;
76
+ exports.Transcluder = _index4.default;
80
77
  var _util = require("./util.cjs");
81
78
  exports.dereference = _util.dereference;
82
- var _sexprs = _interopRequireDefault(require("./sexprs.cjs"));
79
+ var _index5 = require("./clone/index.cjs");
80
+ exports.cloneShallow = _index5.cloneShallow;
81
+ exports.cloneDeep = _index5.cloneDeep;
82
+ var _CloneError = _interopRequireDefault(require("./clone/errors/CloneError.cjs"));
83
+ exports.CloneError = _CloneError.default;
84
+ var _DeepCloneError = _interopRequireDefault(require("./clone/errors/DeepCloneError.cjs"));
85
+ exports.DeepCloneError = _DeepCloneError.default;
86
+ var _ShallowCloneError = _interopRequireDefault(require("./clone/errors/ShallowCloneError.cjs"));
87
+ exports.ShallowCloneError = _ShallowCloneError.default;
88
+ var _from = _interopRequireDefault(require("./transformers/from.cjs"));
89
+ exports.from = _from.default;
90
+ var _index6 = _interopRequireDefault(require("./transformers/serializers/value/index.cjs"));
91
+ exports.toValue = _index6.default;
92
+ var _json = _interopRequireDefault(require("./transformers/serializers/json.cjs"));
93
+ exports.toJSON = _json.default;
94
+ var _yaml = _interopRequireDefault(require("./transformers/serializers/yaml-1-2.cjs"));
95
+ exports.toYAML = _yaml.default;
96
+ var _dehydrate = _interopRequireDefault(require("./transformers/dehydrate.cjs"));
97
+ exports.dehydrate = _dehydrate.default;
98
+ var _toString = _interopRequireDefault(require("./transformers/to-string.cjs"));
99
+ exports.toString = _toString.default;
100
+ var _sexprs = _interopRequireDefault(require("./transformers/sexprs.cjs"));
83
101
  exports.sexprs = _sexprs.default;
84
102
  var _deepmerge = _interopRequireDefault(require("./deepmerge.cjs"));
85
- exports.deepmerge = _deepmerge.default;
86
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
87
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
88
- /**
89
- * Transforms data to an Element from a particular namespace.
90
- */
91
- const from = (data, namespace = _namespace.default) => {
92
- if ((0, _ramdaAdjunct.isString)(data)) {
93
- // JSON serialized refract
94
- try {
95
- return namespace.fromRefract(JSON.parse(data));
96
- } catch {
97
- // noop
98
- }
99
- }
100
- if ((0, _ramdaAdjunct.isPlainObject)(data) && (0, _ramda.has)('element', data)) {
101
- // refract javascript structure
102
- return namespace.fromRefract(data);
103
- }
104
- return namespace.toElement(data);
105
- };
106
-
107
- /**
108
- * Transforms the ApiDOM into JavaScript POJO.
109
- * This POJO would be the result of interpreting the ApiDOM
110
- * into JavaScript structure.
111
- */
112
- exports.from = from;
113
- const toValue = _index.default;
114
-
115
- /**
116
- * Transforms the ApiDOM into JSON string.
117
- */
118
- exports.toValue = toValue;
119
- const toJSON = _json.default;
120
-
121
- /**
122
- * Transforms the ApiDOM into YAML string.
123
- */
124
- exports.toJSON = toJSON;
125
- const toYAML = _yaml.default;
126
-
127
- /**
128
- * Creates a refract representation of an Element.
129
- * https://github.com/refractproject/refract-spec
130
- */
131
- exports.toYAML = toYAML;
132
- const dehydrate = (element, namespace = _namespace.default) => {
133
- return namespace.toRefract(element);
134
- };
135
-
136
- /**
137
- * Create a refracted string representation of an Element.
138
- */
139
- exports.dehydrate = dehydrate;
140
- const toString = (element, namespace = _namespace.default) => {
141
- const refractStructure = dehydrate(element, namespace);
142
- return JSON.stringify(refractStructure);
143
- };
144
- exports.toString = toString;
103
+ exports.deepmerge = _deepmerge.default;
@@ -21,5 +21,4 @@ class MediaTypes extends Array {
21
21
  throw new _apidomError.NotImplementedError('"latest" method is not implemented.');
22
22
  }
23
23
  }
24
- var _default = MediaTypes;
25
- exports.default = _default;
24
+ var _default = exports.default = MediaTypes;
package/cjs/namespace.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
4
  exports.__esModule = true;
5
5
  exports.default = exports.createNamespace = exports.Namespace = void 0;
6
6
  var _minim = require("minim");
@@ -28,5 +28,4 @@ const createNamespace = namespacePlugin => {
28
28
  return namespaceInstance;
29
29
  };
30
30
  exports.createNamespace = createNamespace;
31
- var _default = namespace;
32
- exports.default = _default;
31
+ var _default = exports.default = namespace;
@@ -21,5 +21,4 @@ const createPredicate = predicateCreator => {
21
21
  hasClass
22
22
  });
23
23
  };
24
- var _default = createPredicate;
25
- exports.default = _default;
24
+ var _default = exports.default = createPredicate;