@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
@@ -1,6 +1,7 @@
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
6
  exports.isStringElement = exports.isSourceMapElement = 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;
6
7
  var _minim = require("minim");
@@ -11,115 +12,99 @@ var _Comment = _interopRequireDefault(require("../elements/Comment.cjs"));
11
12
  var _ParseResult = _interopRequireDefault(require("../elements/ParseResult.cjs"));
12
13
  var _SourceMap = _interopRequireDefault(require("../elements/SourceMap.cjs"));
13
14
  var _helpers = _interopRequireWildcard(require("./helpers.cjs"));
14
- 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); }
15
- 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; }
16
- const isElement = (0, _helpers.default)(({
15
+ const isElement = exports.isElement = (0, _helpers.default)(({
17
16
  hasBasicElementProps,
18
17
  primitiveEq
19
18
  }) => {
20
19
  return element => element instanceof _minim.Element || hasBasicElementProps(element) && primitiveEq(undefined, element);
21
20
  });
22
- exports.isElement = isElement;
23
- const isStringElement = (0, _helpers.default)(({
21
+ const isStringElement = exports.isStringElement = (0, _helpers.default)(({
24
22
  hasBasicElementProps,
25
23
  primitiveEq
26
24
  }) => {
27
25
  return element => element instanceof _minim.StringElement || hasBasicElementProps(element) && primitiveEq('string', element);
28
26
  });
29
- exports.isStringElement = isStringElement;
30
- const isNumberElement = (0, _helpers.default)(({
27
+ const isNumberElement = exports.isNumberElement = (0, _helpers.default)(({
31
28
  hasBasicElementProps,
32
29
  primitiveEq
33
30
  }) => {
34
31
  return element => element instanceof _minim.NumberElement || hasBasicElementProps(element) && primitiveEq('number', element);
35
32
  });
36
- exports.isNumberElement = isNumberElement;
37
- const isNullElement = (0, _helpers.default)(({
33
+ const isNullElement = exports.isNullElement = (0, _helpers.default)(({
38
34
  hasBasicElementProps,
39
35
  primitiveEq
40
36
  }) => {
41
37
  return element => element instanceof _minim.NullElement || hasBasicElementProps(element) && primitiveEq('null', element);
42
38
  });
43
- exports.isNullElement = isNullElement;
44
- const isBooleanElement = (0, _helpers.default)(({
39
+ const isBooleanElement = exports.isBooleanElement = (0, _helpers.default)(({
45
40
  hasBasicElementProps,
46
41
  primitiveEq
47
42
  }) => {
48
43
  return element => element instanceof _minim.BooleanElement || hasBasicElementProps(element) && primitiveEq('boolean', element);
49
44
  });
50
- exports.isBooleanElement = isBooleanElement;
51
- const isObjectElement = (0, _helpers.default)(({
45
+ const isObjectElement = exports.isObjectElement = (0, _helpers.default)(({
52
46
  hasBasicElementProps,
53
47
  primitiveEq,
54
48
  hasMethod
55
49
  }) => {
56
50
  return element => element instanceof _minim.ObjectElement || hasBasicElementProps(element) && primitiveEq('object', element) && hasMethod('keys', element) && hasMethod('values', element) && hasMethod('items', element);
57
51
  });
58
- exports.isObjectElement = isObjectElement;
59
- const isArrayElement = (0, _helpers.default)(({
52
+ const isArrayElement = exports.isArrayElement = (0, _helpers.default)(({
60
53
  hasBasicElementProps,
61
54
  primitiveEq,
62
55
  hasMethod
63
56
  }) => {
64
57
  return element => element instanceof _minim.ArrayElement && !(element instanceof _minim.ObjectElement) || hasBasicElementProps(element) && primitiveEq('array', element) && hasMethod('push', element) && hasMethod('unshift', element) && hasMethod('map', element) && hasMethod('reduce', element);
65
58
  });
66
- exports.isArrayElement = isArrayElement;
67
- const isMemberElement = (0, _helpers.default)(({
59
+ const isMemberElement = exports.isMemberElement = (0, _helpers.default)(({
68
60
  hasBasicElementProps,
69
61
  isElementType,
70
62
  primitiveEq
71
63
  }) => {
72
64
  return element => element instanceof _minim.MemberElement || hasBasicElementProps(element) && isElementType('member', element) && primitiveEq(undefined, element);
73
65
  });
74
- exports.isMemberElement = isMemberElement;
75
- const isLinkElement = (0, _helpers.default)(({
66
+ const isLinkElement = exports.isLinkElement = (0, _helpers.default)(({
76
67
  hasBasicElementProps,
77
68
  isElementType,
78
69
  primitiveEq
79
70
  }) => {
80
71
  return element => element instanceof _minim.LinkElement || hasBasicElementProps(element) && isElementType('link', element) && primitiveEq(undefined, element);
81
72
  });
82
- exports.isLinkElement = isLinkElement;
83
- const isRefElement = (0, _helpers.default)(({
73
+ const isRefElement = exports.isRefElement = (0, _helpers.default)(({
84
74
  hasBasicElementProps,
85
75
  isElementType,
86
76
  primitiveEq
87
77
  }) => {
88
78
  return element => element instanceof _minim.RefElement || hasBasicElementProps(element) && isElementType('ref', element) && primitiveEq(undefined, element);
89
79
  });
90
- exports.isRefElement = isRefElement;
91
- const isAnnotationElement = (0, _helpers.default)(({
80
+ const isAnnotationElement = exports.isAnnotationElement = (0, _helpers.default)(({
92
81
  hasBasicElementProps,
93
82
  isElementType,
94
83
  primitiveEq
95
84
  }) => {
96
85
  return element => element instanceof _Annotation.default || hasBasicElementProps(element) && isElementType('annotation', element) && primitiveEq('array', element);
97
86
  });
98
- exports.isAnnotationElement = isAnnotationElement;
99
- const isCommentElement = (0, _helpers.default)(({
87
+ const isCommentElement = exports.isCommentElement = (0, _helpers.default)(({
100
88
  hasBasicElementProps,
101
89
  isElementType,
102
90
  primitiveEq
103
91
  }) => {
104
92
  return element => element instanceof _Comment.default || hasBasicElementProps(element) && isElementType('comment', element) && primitiveEq('string', element);
105
93
  });
106
- exports.isCommentElement = isCommentElement;
107
- const isParseResultElement = (0, _helpers.default)(({
94
+ const isParseResultElement = exports.isParseResultElement = (0, _helpers.default)(({
108
95
  hasBasicElementProps,
109
96
  isElementType,
110
97
  primitiveEq
111
98
  }) => {
112
99
  return element => element instanceof _ParseResult.default || hasBasicElementProps(element) && isElementType('parseResult', element) && primitiveEq('array', element);
113
100
  });
114
- exports.isParseResultElement = isParseResultElement;
115
- const isSourceMapElement = (0, _helpers.default)(({
101
+ const isSourceMapElement = exports.isSourceMapElement = (0, _helpers.default)(({
116
102
  hasBasicElementProps,
117
103
  isElementType,
118
104
  primitiveEq
119
105
  }) => {
120
106
  return element => element instanceof _SourceMap.default || hasBasicElementProps(element) && isElementType('sourceMap', element) && primitiveEq('array', element);
121
107
  });
122
- exports.isSourceMapElement = isSourceMapElement;
123
108
  const isPrimitiveElement = element => {
124
109
  return (0, _helpers.isElementType)('object', element) || (0, _helpers.isElementType)('array', element) || (0, _helpers.isElementType)('boolean', element) || (0, _helpers.isElementType)('number', element) || (0, _helpers.isElementType)('string', element) || (0, _helpers.isElementType)('null', element) || (0, _helpers.isElementType)('member', element);
125
110
  };
@@ -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.createRefractor = void 0;
6
6
  var _index = require("./plugins/utils/index.cjs");
@@ -33,5 +33,4 @@ const createRefractor = Type => (value, options = {}) => refract(value, {
33
33
  Type
34
34
  });
35
35
  exports.createRefractor = createRefractor;
36
- var _default = refract;
37
- exports.default = _default;
36
+ var _default = exports.default = refract;
@@ -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 = void 0;
6
6
  var _shortUniqueId = _interopRequireDefault(require("short-unique-id"));
@@ -30,5 +30,4 @@ const plugin = ({
30
30
  }
31
31
  };
32
32
  };
33
- var _default = plugin;
34
- exports.default = _default;
33
+ var _default = exports.default = plugin;
@@ -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 = void 0;
6
6
  var _shortUniqueId = _interopRequireDefault(require("short-unique-id"));
@@ -34,5 +34,4 @@ const plugin = ({
34
34
  }
35
35
  };
36
36
  };
37
- var _default = plugin;
38
- exports.default = _default;
37
+ var _default = exports.default = plugin;
@@ -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.dispatchPlugins = void 0;
6
6
  var _ramda = require("ramda");
@@ -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
  var _minim = require("minim");
6
6
  exports.ObjectElement = _minim.ObjectElement;
@@ -1,12 +1,11 @@
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
+ var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
4
5
  exports.__esModule = true;
5
6
  exports.default = void 0;
6
7
  var basePredicates = _interopRequireWildcard(require("../predicates/index.cjs"));
7
8
  var _namespace = _interopRequireDefault(require("../namespace.cjs"));
8
- 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); }
9
- 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; }
10
9
  const createToolbox = () => {
11
10
  const predicates = {
12
11
  ...basePredicates
@@ -16,5 +15,4 @@ const createToolbox = () => {
16
15
  namespace: _namespace.default
17
16
  };
18
17
  };
19
- var _default = createToolbox;
20
- exports.default = _default;
18
+ var _default = exports.default = createToolbox;
@@ -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 = void 0;
6
6
  var _stampit = _interopRequireDefault(require("stampit"));
@@ -106,5 +106,4 @@ const Transcluder = _stampit.default.init(function TranscluderConstructor({
106
106
  return element;
107
107
  };
108
108
  });
109
- var _default = Transcluder;
110
- exports.default = _default;
109
+ var _default = exports.default = Transcluder;
@@ -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.transclude = exports.default = void 0;
6
6
  var _Transcluder = _interopRequireDefault(require("./Transcluder.cjs"));
@@ -15,5 +15,4 @@ const transclude = (search, replace, element) => {
15
15
  return transcluder.transclude(search, replace);
16
16
  };
17
17
  exports.transclude = transclude;
18
- var _default = _Transcluder.default;
19
- exports.default = _default;
18
+ var _default = exports.default = _Transcluder.default;
@@ -0,0 +1,14 @@
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 _namespace = _interopRequireDefault(require("../namespace.cjs"));
7
+ /**
8
+ * Creates a refract representation of an Element.
9
+ * https://github.com/refractproject/refract-spec
10
+ */
11
+ const dehydrate = (element, namespace = _namespace.default) => {
12
+ return namespace.toRefract(element);
13
+ };
14
+ var _default = exports.default = dehydrate;
@@ -0,0 +1,27 @@
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 _namespace = _interopRequireDefault(require("../namespace.cjs"));
9
+ /**
10
+ * Transforms data to an Element from a particular namespace.
11
+ */
12
+ const from = (data, namespace = _namespace.default) => {
13
+ if ((0, _ramdaAdjunct.isString)(data)) {
14
+ // JSON serialized refract
15
+ try {
16
+ return namespace.fromRefract(JSON.parse(data));
17
+ } catch {
18
+ // noop
19
+ }
20
+ }
21
+ if ((0, _ramdaAdjunct.isPlainObject)(data) && (0, _ramda.has)('element', data)) {
22
+ // refract javascript structure
23
+ return namespace.fromRefract(data);
24
+ }
25
+ return namespace.toElement(data);
26
+ };
27
+ var _default = exports.default = from;
@@ -1,9 +1,8 @@
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 = void 0;
6
6
  var _index = _interopRequireDefault(require("./value/index.cjs"));
7
7
  const serializer = (element, replacer, space) => JSON.stringify((0, _index.default)(element), replacer, space);
8
- var _default = serializer;
9
- exports.default = _default;
8
+ var _default = exports.default = serializer;
@@ -18,5 +18,4 @@ class EphemeralArray {
18
18
  return this.reference;
19
19
  }
20
20
  }
21
- var _default = EphemeralArray;
22
- exports.default = _default;
21
+ var _default = exports.default = EphemeralArray;
@@ -17,5 +17,4 @@ class EphemeralObject {
17
17
  return Object.assign(this.reference, Object.fromEntries(this.content));
18
18
  }
19
19
  }
20
- var _default = EphemeralObject;
21
- exports.default = _default;
20
+ var _default = exports.default = EphemeralObject;
@@ -1,12 +1,13 @@
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 = void 0;
6
6
  var _stampit = _interopRequireDefault(require("stampit"));
7
7
  var _visitor = require("./visitor.cjs");
8
8
  var _ephemeralArray = _interopRequireDefault(require("./ast/ephemeral-array.cjs"));
9
9
  var _ephemeralObject = _interopRequireDefault(require("./ast/ephemeral-object.cjs"));
10
+ var _index = require("../../../predicates/index.cjs");
10
11
  /* eslint-disable @typescript-eslint/naming-convention */
11
12
  const Visitor = _stampit.default.init(function _Visitor() {
12
13
  const references = new WeakMap();
@@ -61,7 +62,12 @@ const Visitor = _stampit.default.init(function _Visitor() {
61
62
  /* eslint-enable */
62
63
 
63
64
  const serializer = element => {
65
+ if (!(0, _index.isElement)(element)) return element;
66
+
67
+ // shortcut optimization for certain element types
68
+ if ((0, _index.isStringElement)(element) || (0, _index.isNumberElement)(element) || (0, _index.isBooleanElement)(element) || (0, _index.isNullElement)(element)) {
69
+ return element.toValue();
70
+ }
64
71
  return (0, _visitor.visit)(element, Visitor());
65
72
  };
66
- var _default = serializer;
67
- exports.default = _default;
73
+ var _default = exports.default = serializer;
@@ -3,7 +3,7 @@
3
3
  exports.__esModule = true;
4
4
  exports.visit = void 0;
5
5
  var _ramda = require("ramda");
6
- var _visitor = require("../../traversal/visitor.cjs");
6
+ var _visitor = require("../../../traversal/visitor.cjs");
7
7
  const nodeTypeGetter = node => {
8
8
  if (typeof (node == null ? void 0 : node.type) === 'string') {
9
9
  return node.type;
@@ -1,10 +1,10 @@
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 = void 0;
6
6
  var _stampit = _interopRequireDefault(require("stampit"));
7
- var _visitor = require("../traversal/visitor.cjs");
7
+ var _visitor = require("../../traversal/visitor.cjs");
8
8
  var _index = _interopRequireDefault(require("./value/index.cjs"));
9
9
  const YamlVisitor = (0, _stampit.default)({
10
10
  props: {
@@ -88,5 +88,4 @@ const serializer = (element, {
88
88
  (0, _visitor.visit)(element, visitor);
89
89
  return visitor.result;
90
90
  };
91
- var _default = serializer;
92
- exports.default = _default;
91
+ var _default = exports.default = serializer;
@@ -1,10 +1,10 @@
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 = void 0;
6
6
  var _stampit = _interopRequireDefault(require("stampit"));
7
- var _visitor = require("./traversal/visitor.cjs");
7
+ var _visitor = require("../traversal/visitor.cjs");
8
8
  const SymbolicExpressionsVisitor = (0, _stampit.default)({
9
9
  props: {
10
10
  nestingLevel: 0,
@@ -34,5 +34,4 @@ const sexprs = element => {
34
34
  (0, _visitor.visit)(element, visitor);
35
35
  return visitor.result;
36
36
  };
37
- var _default = sexprs;
38
- exports.default = _default;
37
+ var _default = exports.default = sexprs;
@@ -0,0 +1,15 @@
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 _namespace = _interopRequireDefault(require("../namespace.cjs"));
7
+ var _dehydrate = _interopRequireDefault(require("./dehydrate.cjs"));
8
+ /**
9
+ * Create a refracted string representation of an Element.
10
+ */
11
+ const toString = (element, namespace = _namespace.default) => {
12
+ const refractStructure = (0, _dehydrate.default)(element, namespace);
13
+ return JSON.stringify(refractStructure);
14
+ };
15
+ var _default = exports.default = toString;
@@ -12,5 +12,4 @@ const filter = (predicate, element) => {
12
12
  (0, _visitor.visit)(element, visitor);
13
13
  return new _minim.ArraySlice(visitor.result);
14
14
  };
15
- var _default = filter;
16
- exports.default = _default;
15
+ var _default = exports.default = filter;
@@ -13,5 +13,4 @@ const find = (predicate, element) => {
13
13
  (0, _visitor.visit)(element, visitor);
14
14
  return (0, _ramda.pathOr)(undefined, [0], visitor.result);
15
15
  };
16
- var _default = find;
17
- exports.default = _default;
16
+ var _default = exports.default = find;
@@ -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 = void 0;
6
6
  var _stampit = _interopRequireDefault(require("stampit"));
@@ -8,6 +8,7 @@ var _ramda = require("ramda");
8
8
  var _ramdaAdjunct = require("ramda-adjunct");
9
9
  var _index = require("../predicates/index.cjs");
10
10
  var _visitor = require("./visitor.cjs");
11
+ var _index2 = _interopRequireDefault(require("../transformers/serializers/value/index.cjs"));
11
12
  const Visitor = (0, _stampit.default)({
12
13
  props: {
13
14
  result: [],
@@ -30,8 +31,8 @@ const Visitor = (0, _stampit.default)({
30
31
  }
31
32
 
32
33
  const sourceMapElement = element.getMetaProperty('sourceMap');
33
- const charStart = sourceMapElement.positionStart.get(2).toValue();
34
- const charEnd = sourceMapElement.positionEnd.get(2).toValue();
34
+ const charStart = (0, _index2.default)(sourceMapElement.positionStart.get(2));
35
+ const charEnd = (0, _index2.default)(sourceMapElement.positionEnd.get(2));
35
36
  const isWithinOffsetRange = this.offset >= charStart && (this.offset < charEnd || this.includeRightBound && this.offset <= charEnd);
36
37
  if (isWithinOffsetRange) {
37
38
  this.result.push(element);
@@ -63,5 +64,4 @@ const findAtOffset = (options, element) => {
63
64
  (0, _visitor.visit)(element, visitor);
64
65
  return (0, _ramda.last)(visitor.result);
65
66
  };
66
- var _default = findAtOffset;
67
- exports.default = _default;
67
+ var _default = exports.default = findAtOffset;
@@ -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.traverse = exports.some = exports.reject = exports.parents = exports.findAtOffset = exports.find = exports.filter = void 0;
6
6
  var _filter = _interopRequireDefault(require("./filter.cjs"));
@@ -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 = void 0;
6
6
  var _stampit = _interopRequireDefault(require("stampit"));
@@ -42,5 +42,4 @@ const parents = element => {
42
42
  (0, _visitor.visit)(element, visitor);
43
43
  return visitor.parentEdges;
44
44
  };
45
- var _default = parents;
46
- exports.default = _default;
45
+ var _default = exports.default = parents;
@@ -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 = void 0;
6
6
  var _ramda = require("ramda");
@@ -9,5 +9,4 @@ var _filter = _interopRequireDefault(require("./filter.cjs"));
9
9
  const reject = (predicate, element) => {
10
10
  return (0, _filter.default)((0, _ramda.complement)(predicate), element);
11
11
  };
12
- var _default = reject;
13
- exports.default = _default;
12
+ var _default = exports.default = reject;
@@ -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 = void 0;
6
6
  var _ramdaAdjunct = require("ramda-adjunct");
@@ -9,5 +9,4 @@ var _find = _interopRequireDefault(require("./find.cjs"));
9
9
  const some = (predicate, element) => {
10
10
  return (0, _ramdaAdjunct.isNotUndefined)((0, _find.default)(predicate, element));
11
11
  };
12
- var _default = some;
13
- exports.default = _default;
12
+ var _default = exports.default = some;
@@ -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.CallbackVisitor = void 0;
6
6
  var _stampit = _interopRequireDefault(require("stampit"));
@@ -8,7 +8,7 @@ var _ramda = require("ramda");
8
8
  var _ramdaAdjunct = require("ramda-adjunct");
9
9
  var _visitor = require("./visitor.cjs");
10
10
  var _index = require("../predicates/index.cjs");
11
- const CallbackVisitor = (0, _stampit.default)(_visitor.PredicateVisitor, {
11
+ const CallbackVisitor = exports.CallbackVisitor = (0, _stampit.default)(_visitor.PredicateVisitor, {
12
12
  props: {
13
13
  callback: _ramdaAdjunct.noop
14
14
  },
@@ -30,7 +30,6 @@ const CallbackVisitor = (0, _stampit.default)(_visitor.PredicateVisitor, {
30
30
  });
31
31
 
32
32
  // executes the callback on this element and all descendants
33
- exports.CallbackVisitor = CallbackVisitor;
34
33
  const traverse = (options, element) => {
35
34
  let callback;
36
35
  let predicate;
@@ -49,5 +48,4 @@ const traverse = (options, element) => {
49
48
  // @ts-ignore
50
49
  (0, _visitor.visit)(element, visitor);
51
50
  };
52
- var _default = traverse;
53
- exports.default = _default;
51
+ var _default = exports.default = traverse;
@@ -1,8 +1,8 @@
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
- exports.visit = exports.keyMapDefault = exports.isNode = exports.getNodeType = exports.PredicateVisitor = void 0;
5
+ exports.visit = exports.keyMapDefault = exports.isNode = exports.getNodeType = exports.cloneNode = exports.PredicateVisitor = void 0;
6
6
  var _stampit = _interopRequireDefault(require("stampit"));
7
7
  var _ramda = require("ramda");
8
8
  var _ramdaAdjunct = require("ramda-adjunct");
@@ -10,6 +10,7 @@ var _apidomAst = require("@swagger-api/apidom-ast");
10
10
  exports.BREAK = _apidomAst.BREAK;
11
11
  exports.mergeAllVisitors = _apidomAst.mergeAllVisitors;
12
12
  var _index = require("../predicates/index.cjs");
13
+ var _index2 = require("../clone/index.cjs");
13
14
  // getNodeType :: Node -> String
14
15
  const getNodeType = element => {
15
16
  /*
@@ -24,11 +25,19 @@ const getNodeType = element => {
24
25
  /* eslint-enable */
25
26
  };
26
27
 
27
- // isNode :: Node -> Boolean
28
+ // cloneNode :: a -> a
28
29
  exports.getNodeType = getNodeType;
29
- const isNode = (0, _ramda.pipe)(getNodeType, _ramdaAdjunct.isString);
30
- exports.isNode = isNode;
31
- const keyMapDefault = {
30
+ const cloneNode = node => {
31
+ if ((0, _index.isElement)(node)) {
32
+ return (0, _index2.cloneShallow)(node);
33
+ }
34
+ return (0, _apidomAst.cloneNode)(node);
35
+ };
36
+
37
+ // isNode :: Node -> Boolean
38
+ exports.cloneNode = cloneNode;
39
+ const isNode = exports.isNode = (0, _ramda.pipe)(getNodeType, _ramdaAdjunct.isString);
40
+ const keyMapDefault = exports.keyMapDefault = {
32
41
  ObjectElement: ['content'],
33
42
  ArrayElement: ['content'],
34
43
  MemberElement: ['key', 'value'],
@@ -43,8 +52,7 @@ const keyMapDefault = {
43
52
  ParseResultElement: ['content'],
44
53
  SourceMap: ['content']
45
54
  };
46
- exports.keyMapDefault = keyMapDefault;
47
- const PredicateVisitor = (0, _stampit.default)({
55
+ const PredicateVisitor = exports.PredicateVisitor = (0, _stampit.default)({
48
56
  props: {
49
57
  result: [],
50
58
  predicate: _ramda.F,
@@ -76,7 +84,6 @@ const PredicateVisitor = (0, _stampit.default)({
76
84
  });
77
85
 
78
86
  // @ts-ignore
79
- exports.PredicateVisitor = PredicateVisitor;
80
87
  const visit = (root,
81
88
  // @ts-ignore
82
89
  visitor, {
@@ -90,6 +97,7 @@ visitor, {
90
97
  // @ts-ignore
91
98
  nodeTypeGetter: getNodeType,
92
99
  nodePredicate: isNode,
100
+ nodeCloneFn: cloneNode,
93
101
  ...rest
94
102
  });
95
103
  };
@@ -109,6 +117,7 @@ visitor, {
109
117
  // @ts-ignore
110
118
  nodeTypeGetter: getNodeType,
111
119
  nodePredicate: isNode,
120
+ nodeCloneFn: cloneNode,
112
121
  ...rest
113
122
  });
114
123
  };