@swagger-api/apidom-core 0.76.0 → 0.76.2

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 (70) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/cjs/deepmerge.cjs +3 -3
  3. package/cjs/index.cjs +2 -3
  4. package/cjs/namespace.cjs +1 -1
  5. package/cjs/predicates/helpers.cjs +5 -8
  6. package/cjs/predicates/index.cjs +4 -5
  7. package/cjs/refractor/index.cjs +1 -1
  8. package/cjs/refractor/plugins/element-identity.cjs +2 -4
  9. package/cjs/refractor/plugins/semantic-element-identity.cjs +2 -4
  10. package/cjs/refractor/plugins/utils/index.cjs +1 -1
  11. package/cjs/refractor/registration.cjs +1 -1
  12. package/cjs/refractor/toolbox.cjs +2 -3
  13. package/cjs/serializers/json.cjs +1 -1
  14. package/cjs/serializers/value/index.cjs +1 -1
  15. package/cjs/serializers/value/visitor.cjs +1 -1
  16. package/cjs/serializers/yaml-1-2.cjs +1 -1
  17. package/cjs/sexprs.cjs +1 -1
  18. package/cjs/transcluder/Transcluder.cjs +2 -2
  19. package/cjs/transcluder/index.cjs +1 -1
  20. package/cjs/traversal/findAtOffset.cjs +1 -1
  21. package/cjs/traversal/index.cjs +1 -1
  22. package/cjs/traversal/parents.cjs +1 -1
  23. package/cjs/traversal/reject.cjs +1 -1
  24. package/cjs/traversal/some.cjs +1 -1
  25. package/cjs/traversal/traverse.cjs +1 -1
  26. package/cjs/traversal/visitor.cjs +1 -1
  27. package/dist/apidom-core.browser.js +9686 -10831
  28. package/dist/apidom-core.browser.min.js +1 -1
  29. package/es/{deepmerge.js → deepmerge.mjs} +5 -5
  30. package/es/{index.js → index.mjs} +18 -18
  31. package/es/{media-types.js → media-types.mjs} +2 -5
  32. package/es/{namespace.js → namespace.mjs} +4 -4
  33. package/es/predicates/{index.js → index.mjs} +5 -5
  34. package/es/refractor/index.mjs +30 -0
  35. package/es/refractor/plugins/{element-identity.js → element-identity.mjs} +1 -2
  36. package/es/refractor/plugins/{semantic-element-identity.js → semantic-element-identity.mjs} +1 -2
  37. package/es/refractor/plugins/utils/{index.js → index.mjs} +2 -2
  38. package/es/refractor/{registration.js → registration.mjs} +5 -5
  39. package/es/refractor/toolbox.mjs +12 -0
  40. package/es/serializers/{json.js → json.mjs} +1 -1
  41. package/es/serializers/value/ast/ephemeral-array.mjs +17 -0
  42. package/es/serializers/value/ast/ephemeral-object.mjs +16 -0
  43. package/es/serializers/value/{index.js → index.mjs} +3 -3
  44. package/es/serializers/value/visitor.mjs +49 -0
  45. package/es/serializers/{yaml-1-2.js → yaml-1-2.mjs} +2 -2
  46. package/es/{sexprs.js → sexprs.mjs} +1 -1
  47. package/es/transcluder/{Transcluder.js → Transcluder.mjs} +1 -1
  48. package/es/transcluder/{index.js → index.mjs} +1 -1
  49. package/es/traversal/{filter.js → filter.mjs} +1 -1
  50. package/es/traversal/{find.js → find.mjs} +1 -1
  51. package/es/traversal/{findAtOffset.js → findAtOffset.mjs} +2 -2
  52. package/es/traversal/index.mjs +7 -0
  53. package/es/traversal/{parents.js → parents.mjs} +1 -1
  54. package/es/traversal/{reject.js → reject.mjs} +1 -1
  55. package/es/traversal/{some.js → some.mjs} +1 -1
  56. package/es/traversal/{traverse.js → traverse.mjs} +2 -2
  57. package/es/traversal/{visitor.js → visitor.mjs} +17 -23
  58. package/package.json +9 -9
  59. package/es/refractor/index.js +0 -32
  60. package/es/refractor/toolbox.js +0 -13
  61. package/es/serializers/value/ast/ephemeral-array.js +0 -18
  62. package/es/serializers/value/ast/ephemeral-object.js +0 -17
  63. package/es/serializers/value/visitor.js +0 -54
  64. package/es/traversal/index.js +0 -7
  65. /package/es/elements/{Annotation.js → Annotation.mjs} +0 -0
  66. /package/es/elements/{Comment.js → Comment.mjs} +0 -0
  67. /package/es/elements/{ParseResult.js → ParseResult.mjs} +0 -0
  68. /package/es/elements/{SourceMap.js → SourceMap.mjs} +0 -0
  69. /package/es/predicates/{helpers.js → helpers.mjs} +0 -0
  70. /package/es/{util.js → util.mjs} +0 -0
@@ -1,8 +1,5 @@
1
- import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
2
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
1
  import { ObjectElement, MemberElement } from 'minim';
5
- import { isObjectElement, isArrayElement } from "./predicates/index.js";
2
+ import { isObjectElement, isArrayElement } from "./predicates/index.mjs";
6
3
  /* eslint-disable @typescript-eslint/no-use-before-define */
7
4
  const emptyElement = element => {
8
5
  const meta = element.meta.clone();
@@ -55,7 +52,10 @@ export default function deepmerge(targetElement, sourceElement, options) {
55
52
  objectElementMerge: mergeObjectElement,
56
53
  customMerge: undefined
57
54
  };
58
- const mergedOptions = _objectSpread(_objectSpread({}, defaultOptions), options);
55
+ const mergedOptions = {
56
+ ...defaultOptions,
57
+ ...options
58
+ };
59
59
  mergedOptions.isMergeableElement = (_mergedOptions$isMerg = mergedOptions.isMergeableElement) !== null && _mergedOptions$isMerg !== void 0 ? _mergedOptions$isMerg : defaultOptions.isMergeableElement;
60
60
  mergedOptions.arrayElementMerge = (_mergedOptions$arrayE = mergedOptions.arrayElementMerge) !== null && _mergedOptions$arrayE !== void 0 ? _mergedOptions$arrayE : defaultOptions.arrayElementMerge;
61
61
  mergedOptions.objectElementMerge = (_mergedOptions$object = mergedOptions.objectElementMerge) !== null && _mergedOptions$object !== void 0 ? _mergedOptions$object : defaultOptions.objectElementMerge;
@@ -1,22 +1,22 @@
1
1
  import { has } from 'ramda';
2
2
  import { isPlainObject, isString } from 'ramda-adjunct';
3
- import defaultNamespaceInstance from "./namespace.js";
4
- import serializeValue from "./serializers/value/index.js";
5
- import serializeJSON from "./serializers/json.js";
6
- import serializeYAML from "./serializers/yaml-1-2.js";
7
- export { dispatchPlugins as dispatchRefractorPlugins } from "./refractor/plugins/utils/index.js";
8
- export { default as refractorPluginElementIdentity } from "./refractor/plugins/element-identity.js";
9
- export { default as refractorPluginSemanticElementIdentity } from "./refractor/plugins/semantic-element-identity.js";
10
- export { default as MediaTypes } from "./media-types.js";
3
+ import defaultNamespaceInstance from "./namespace.mjs";
4
+ import serializeValue from "./serializers/value/index.mjs";
5
+ import serializeJSON from "./serializers/json.mjs";
6
+ import serializeYAML from "./serializers/yaml-1-2.mjs";
7
+ export { dispatchPlugins as dispatchRefractorPlugins } from "./refractor/plugins/utils/index.mjs";
8
+ export { default as refractorPluginElementIdentity } from "./refractor/plugins/element-identity.mjs";
9
+ export { default as refractorPluginSemanticElementIdentity } from "./refractor/plugins/semantic-element-identity.mjs";
10
+ export { default as MediaTypes } from "./media-types.mjs";
11
11
  export { Element, MemberElement, KeyValuePair, ObjectSlice, ArraySlice, refract } from 'minim';
12
- export { default as namespace, Namespace, createNamespace } from "./namespace.js";
13
- export { ObjectElement, ArrayElement, BooleanElement, NullElement, NumberElement, StringElement, LinkElement, RefElement, AnnotationElement, CommentElement, ParseResultElement, SourceMapElement } from "./refractor/registration.js";
14
- export { isElement, isStringElement, isNumberElement, isNullElement, isBooleanElement, isArrayElement, isObjectElement, isMemberElement, isLinkElement, isRefElement, isAnnotationElement, isParseResultElement, isSourceMapElement, isPrimitiveElement, hasElementSourceMap, includesSymbols, includesClasses } from "./predicates/index.js";
15
- export { default as createPredicate } from "./predicates/helpers.js";
16
- export { filter, reject, find, findAtOffset, some, traverse, parents } from "./traversal/index.js";
17
- export { visit, BREAK, mergeAllVisitors, getNodeType, keyMapDefault as keyMap } from "./traversal/visitor.js";
18
- export { transclude, default as Transcluder } from "./transcluder/index.js";
19
- export { dereference } from "./util.js";
12
+ export { default as namespace, Namespace, createNamespace } from "./namespace.mjs";
13
+ export { ObjectElement, ArrayElement, BooleanElement, NullElement, NumberElement, StringElement, LinkElement, RefElement, AnnotationElement, CommentElement, ParseResultElement, SourceMapElement } from "./refractor/registration.mjs";
14
+ export { isElement, isStringElement, isNumberElement, isNullElement, isBooleanElement, isArrayElement, isObjectElement, isMemberElement, isLinkElement, isRefElement, isAnnotationElement, isParseResultElement, isSourceMapElement, isPrimitiveElement, hasElementSourceMap, includesSymbols, includesClasses } from "./predicates/index.mjs";
15
+ export { default as createPredicate } from "./predicates/helpers.mjs";
16
+ export { filter, reject, find, findAtOffset, some, traverse, parents } from "./traversal/index.mjs";
17
+ export { visit, BREAK, mergeAllVisitors, getNodeType, keyMapDefault as keyMap } from "./traversal/visitor.mjs";
18
+ export { transclude, default as Transcluder } from "./transcluder/index.mjs";
19
+ export { dereference } from "./util.mjs";
20
20
  /**
21
21
  * Transforms data to an Element from a particular namespace.
22
22
  */
@@ -68,5 +68,5 @@ export const toString = (element, namespace = defaultNamespaceInstance) => {
68
68
  const refractStructure = dehydrate(element, namespace);
69
69
  return JSON.stringify(refractStructure);
70
70
  };
71
- export { default as sexprs } from "./sexprs.js";
72
- export { default as deepmerge } from "./deepmerge.js";
71
+ export { default as sexprs } from "./sexprs.mjs";
72
+ export { default as deepmerge } from "./deepmerge.mjs";
@@ -1,10 +1,7 @@
1
- import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
2
1
  import { NotImplementedError } from '@swagger-api/apidom-error';
3
2
  class MediaTypes extends Array {
4
- constructor(...args) {
5
- super(...args);
6
- _defineProperty(this, "unknownMediaType", 'application/octet-stream');
7
- }
3
+ unknownMediaType = 'application/octet-stream';
4
+
8
5
  // eslint-disable-next-line class-methods-use-this
9
6
  filterByFormat() {
10
7
  throw new NotImplementedError('"filterByFormat" method is not implemented.');
@@ -1,9 +1,9 @@
1
1
  import { Namespace as MinimNamespace } from 'minim';
2
2
  import { isPlainObject } from 'ramda-adjunct';
3
- import AnnotationElement from "./elements/Annotation.js";
4
- import CommentElement from "./elements/Comment.js";
5
- import ParseResultElement from "./elements/ParseResult.js";
6
- import SourceMapElement from "./elements/SourceMap.js";
3
+ import AnnotationElement from "./elements/Annotation.mjs";
4
+ import CommentElement from "./elements/Comment.mjs";
5
+ import ParseResultElement from "./elements/ParseResult.mjs";
6
+ import SourceMapElement from "./elements/SourceMap.mjs";
7
7
  export class Namespace extends MinimNamespace {
8
8
  constructor() {
9
9
  super();
@@ -1,11 +1,11 @@
1
1
  import { Element, StringElement, NumberElement, NullElement, BooleanElement, ArrayElement, ObjectElement, MemberElement, LinkElement, RefElement } from 'minim';
2
2
  import { all } from 'ramda';
3
3
  import { included } from 'ramda-adjunct';
4
- import AnnotationElement from "../elements/Annotation.js";
5
- import CommentElement from "../elements/Comment.js";
6
- import ParserResultElement from "../elements/ParseResult.js";
7
- import SourceMapElement from "../elements/SourceMap.js";
8
- import createPredicate, { isElementType as isElementTypeHelper } from "./helpers.js";
4
+ import AnnotationElement from "../elements/Annotation.mjs";
5
+ import CommentElement from "../elements/Comment.mjs";
6
+ import ParserResultElement from "../elements/ParseResult.mjs";
7
+ import SourceMapElement from "../elements/SourceMap.mjs";
8
+ import createPredicate, { isElementType as isElementTypeHelper } from "./helpers.mjs";
9
9
  export const isElement = createPredicate(({
10
10
  hasBasicElementProps,
11
11
  primitiveEq
@@ -0,0 +1,30 @@
1
+ import { dispatchPlugins } from "./plugins/utils/index.mjs";
2
+ import { getNodeType } from "../traversal/visitor.mjs";
3
+ import createToolbox from "./toolbox.mjs";
4
+ const refract = (value, {
5
+ Type,
6
+ plugins = []
7
+ }) => {
8
+ /**
9
+ * This is where values gets refracted into generic ApiDOM.
10
+ * We don't allow consumers to hook into this translation.
11
+ * Though we allow consumers to define their onw plugins on already transformed ApiDOM.
12
+ */
13
+ const element = new Type(value);
14
+
15
+ /**
16
+ * Run plugins only when necessary.
17
+ * Running plugins visitors means extra single traversal === performance hit.
18
+ */
19
+ return dispatchPlugins(element, plugins, {
20
+ toolboxCreator: createToolbox,
21
+ visitorOptions: {
22
+ nodeTypeGetter: getNodeType
23
+ }
24
+ });
25
+ };
26
+ export const createRefractor = Type => (value, options = {}) => refract(value, {
27
+ ...options,
28
+ Type
29
+ });
30
+ export default refract;
@@ -1,4 +1,3 @@
1
- // @ts-ignore
2
1
  import ShortUniqueId from 'short-unique-id';
3
2
  import { StringElement } from 'minim';
4
3
 
@@ -19,7 +18,7 @@ const plugin = ({
19
18
  visitor: {
20
19
  enter(element) {
21
20
  // eslint-disable-next-line no-param-reassign
22
- element.id = new StringElement(uuid());
21
+ element.id = new StringElement(uuid.randomUUID());
23
22
  }
24
23
  },
25
24
  post() {
@@ -1,4 +1,3 @@
1
- // @ts-ignore
2
1
  import ShortUniqueId from 'short-unique-id';
3
2
  import { StringElement } from 'minim';
4
3
 
@@ -22,7 +21,7 @@ const plugin = ({
22
21
  enter(element) {
23
22
  if (!predicates.isPrimitiveElement(element)) {
24
23
  // eslint-disable-next-line no-param-reassign
25
- element.id = new StringElement(uuid());
24
+ element.id = new StringElement(uuid.randomUUID());
26
25
  }
27
26
  }
28
27
  },
@@ -1,7 +1,7 @@
1
1
  import { propOr } from 'ramda';
2
2
  import { invokeArgs } from 'ramda-adjunct';
3
- import createToolbox from "../../toolbox.js";
4
- import { getNodeType, mergeAllVisitors, visit } from "../../../traversal/visitor.js"; // eslint-disable-next-line import/prefer-default-export
3
+ import createToolbox from "../../toolbox.mjs";
4
+ import { getNodeType, mergeAllVisitors, visit } from "../../../traversal/visitor.mjs"; // eslint-disable-next-line import/prefer-default-export
5
5
  export const dispatchPlugins = (element, plugins, options = {}) => {
6
6
  if (plugins.length === 0) return element;
7
7
  const toolboxCreator = propOr(createToolbox, 'toolboxCreator', options);
@@ -1,9 +1,9 @@
1
1
  import { ObjectElement, ArrayElement, StringElement, BooleanElement, NullElement, NumberElement, LinkElement, RefElement } from 'minim';
2
- import AnnotationElement from "../elements/Annotation.js";
3
- import CommentElement from "../elements/Comment.js";
4
- import ParseResultElement from "../elements/ParseResult.js";
5
- import SourceMapElement from "../elements/SourceMap.js";
6
- import { createRefractor } from "./index.js";
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
7
  ObjectElement.refract = createRefractor(ObjectElement);
8
8
  ArrayElement.refract = createRefractor(ArrayElement);
9
9
  StringElement.refract = createRefractor(StringElement);
@@ -0,0 +1,12 @@
1
+ import * as basePredicates from "../predicates/index.mjs";
2
+ import defaultNamespaceInstance from "../namespace.mjs";
3
+ const createToolbox = () => {
4
+ const predicates = {
5
+ ...basePredicates
6
+ };
7
+ return {
8
+ predicates,
9
+ namespace: defaultNamespaceInstance
10
+ };
11
+ };
12
+ export default createToolbox;
@@ -1,3 +1,3 @@
1
- import serializeValue from "./value/index.js";
1
+ import serializeValue from "./value/index.mjs";
2
2
  const serializer = (element, replacer, space) => JSON.stringify(serializeValue(element), replacer, space);
3
3
  export default serializer;
@@ -0,0 +1,17 @@
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;
@@ -0,0 +1,16 @@
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,7 +1,7 @@
1
1
  import stampit from 'stampit';
2
- import { visit } from "./visitor.js";
3
- import EphemeralArray from "./ast/ephemeral-array.js";
4
- import EphemeralObject from "./ast/ephemeral-object.js";
2
+ import { visit } from "./visitor.mjs";
3
+ import EphemeralArray from "./ast/ephemeral-array.mjs";
4
+ import EphemeralObject from "./ast/ephemeral-object.mjs";
5
5
  /* eslint-disable @typescript-eslint/naming-convention */
6
6
  const Visitor = stampit.init(function _Visitor() {
7
7
  const references = new WeakMap();
@@ -0,0 +1,49 @@
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 === null || node === void 0 ? void 0 : 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
+
15
+ // eslint-disable-next-line import/prefer-default-export
16
+ export const visit = (root,
17
+ // @ts-ignore
18
+ visitor, {
19
+ keyMap = keyMapDefault,
20
+ ...rest
21
+ } = {}) => {
22
+ return astVisit(root, visitor, {
23
+ keyMap,
24
+ // @ts-ignore
25
+ nodeTypeGetter,
26
+ nodePredicate: stubTrue,
27
+ detectCycles: false,
28
+ deleteNodeSymbol: Symbol.for('delete-node'),
29
+ skipVisitingNodeSymbol: Symbol.for('skip-visiting-node'),
30
+ ...rest
31
+ });
32
+ };
33
+
34
+ // @ts-ignore
35
+ visit[Symbol.for('nodejs.util.promisify.custom')] = async (root, {
36
+ keyMap = keyMapDefault,
37
+ ...rest
38
+ } = {}) => {
39
+ // @ts-ignore
40
+ return astVisit[Symbol.for('nodejs.util.promisify.custom')](root, visitor, {
41
+ keyMap,
42
+ nodeTypeGetter,
43
+ nodePredicate: stubTrue,
44
+ detectCycles: false,
45
+ deleteNodeSymbol: Symbol.for('delete-node'),
46
+ skipVisitingNodeSymbol: Symbol.for('skip-visiting-node'),
47
+ ...rest
48
+ });
49
+ };
@@ -1,6 +1,6 @@
1
1
  import stampit from 'stampit';
2
- import { visit } from "../traversal/visitor.js";
3
- import serializeValue from "./value/index.js";
2
+ import { visit } from "../traversal/visitor.mjs";
3
+ import serializeValue from "./value/index.mjs";
4
4
  const YamlVisitor = stampit({
5
5
  props: {
6
6
  result: '',
@@ -1,5 +1,5 @@
1
1
  import stampit from 'stampit';
2
- import { visit } from "./traversal/visitor.js";
2
+ import { visit } from "./traversal/visitor.mjs";
3
3
  const SymbolicExpressionsVisitor = stampit({
4
4
  props: {
5
5
  nestingLevel: 0,
@@ -1,6 +1,6 @@
1
1
  import stampit from 'stampit';
2
2
  import { isUndefined } from 'ramda-adjunct';
3
- import { isObjectElement, isArrayElement, isMemberElement } from "../predicates/index.js";
3
+ import { isObjectElement, isArrayElement, isMemberElement } from "../predicates/index.mjs";
4
4
  const computeEdges = (element, edges = new WeakMap()) => {
5
5
  if (isMemberElement(element)) {
6
6
  // @ts-ignore
@@ -1,4 +1,4 @@
1
- import Transcluder from "./Transcluder.js";
1
+ import Transcluder from "./Transcluder.mjs";
2
2
  /**
3
3
  * This is a mutating function. If you don't want your Element to be mutated,
4
4
  * clone in before passing it to this function.
@@ -1,5 +1,5 @@
1
1
  import { ArraySlice } from 'minim';
2
- import { PredicateVisitor, visit } from "./visitor.js"; // finds all elements matching the predicate
2
+ import { PredicateVisitor, visit } from "./visitor.mjs"; // finds all elements matching the predicate
3
3
  const filter = (predicate, element) => {
4
4
  const visitor = PredicateVisitor({
5
5
  predicate
@@ -1,5 +1,5 @@
1
1
  import { pathOr } from 'ramda';
2
- import { PredicateVisitor, BREAK, visit } from "./visitor.js"; // find first element that satisfies the provided predicate
2
+ import { PredicateVisitor, BREAK, visit } from "./visitor.mjs"; // find first element that satisfies the provided predicate
3
3
  const find = (predicate, element) => {
4
4
  const visitor = PredicateVisitor({
5
5
  predicate,
@@ -1,8 +1,8 @@
1
1
  import stampit from 'stampit';
2
2
  import { last, pathOr } from 'ramda';
3
3
  import { isNumber } from 'ramda-adjunct';
4
- import { hasElementSourceMap } from "../predicates/index.js";
5
- import { visit } from "./visitor.js";
4
+ import { hasElementSourceMap } from "../predicates/index.mjs";
5
+ import { visit } from "./visitor.mjs";
6
6
  const Visitor = stampit({
7
7
  props: {
8
8
  result: [],
@@ -0,0 +1,7 @@
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,5 +1,5 @@
1
1
  import stampit from 'stampit';
2
- import { visit } from "./visitor.js";
2
+ import { visit } from "./visitor.mjs";
3
3
  /* eslint-disable no-param-reassign */
4
4
  const Visitor = stampit({
5
5
  props: {
@@ -1,5 +1,5 @@
1
1
  import { complement } from 'ramda';
2
- import filter from "./filter.js"; // complement of filter
2
+ import filter from "./filter.mjs"; // complement of filter
3
3
  const reject = (predicate, element) => {
4
4
  return filter(complement(predicate), element);
5
5
  };
@@ -1,5 +1,5 @@
1
1
  import { isNotUndefined } from 'ramda-adjunct';
2
- import find from "./find.js"; // tests whether at least one element passes the predicate
2
+ import find from "./find.mjs"; // tests whether at least one element passes the predicate
3
3
  const some = (predicate, element) => {
4
4
  return isNotUndefined(find(predicate, element));
5
5
  };
@@ -1,8 +1,8 @@
1
1
  import stampit from 'stampit';
2
2
  import { pathOr } from 'ramda';
3
3
  import { isFunction, noop } from 'ramda-adjunct';
4
- import { visit, PredicateVisitor } from "./visitor.js";
5
- import { isElement } from "../predicates/index.js";
4
+ import { visit, PredicateVisitor } from "./visitor.mjs";
5
+ import { isElement } from "../predicates/index.mjs";
6
6
  export const CallbackVisitor = stampit(PredicateVisitor, {
7
7
  props: {
8
8
  callback: noop
@@ -1,14 +1,8 @@
1
- import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
2
- import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
3
- const _excluded = ["keyMap"],
4
- _excluded2 = ["keyMap"];
5
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
1
  import stampit from 'stampit';
8
2
  import { F as stubFalse, pipe } from 'ramda';
9
3
  import { isString } from 'ramda-adjunct';
10
4
  import { visit as astVisit, BREAK, mergeAllVisitors } from '@swagger-api/apidom-ast';
11
- import { isMemberElement, isArrayElement, isStringElement, isBooleanElement, isLinkElement, isRefElement, isObjectElement, isNullElement, isNumberElement } from "../predicates/index.js";
5
+ import { isMemberElement, isArrayElement, isStringElement, isBooleanElement, isLinkElement, isRefElement, isObjectElement, isNullElement, isNumberElement } from "../predicates/index.mjs";
12
6
  export { BREAK, mergeAllVisitors };
13
7
 
14
8
  // getNodeType :: Node -> String
@@ -76,35 +70,35 @@ export const PredicateVisitor = stampit({
76
70
  // @ts-ignore
77
71
  export const visit = (root,
78
72
  // @ts-ignore
79
- visitor, _ref = {}) => {
80
- let {
81
- keyMap = keyMapDefault
82
- } = _ref,
83
- rest = _objectWithoutProperties(_ref, _excluded);
73
+ visitor, {
74
+ keyMap = keyMapDefault,
75
+ ...rest
76
+ } = {}) => {
84
77
  // @ts-ignore
85
- return astVisit(root, visitor, _objectSpread({
78
+ return astVisit(root, visitor, {
86
79
  // @ts-ignore
87
80
  keyMap,
88
81
  // @ts-ignore
89
82
  nodeTypeGetter: getNodeType,
90
- nodePredicate: isNode
91
- }, rest));
83
+ nodePredicate: isNode,
84
+ ...rest
85
+ });
92
86
  };
93
87
 
94
88
  // @ts-ignore
95
89
  visit[Symbol.for('nodejs.util.promisify.custom')] = async (root,
96
90
  // @ts-ignore
97
- visitor, _ref2 = {}) => {
98
- let {
99
- keyMap = keyMapDefault
100
- } = _ref2,
101
- rest = _objectWithoutProperties(_ref2, _excluded2);
91
+ visitor, {
92
+ keyMap = keyMapDefault,
93
+ ...rest
94
+ } = {}) => {
102
95
  // @ts-ignore
103
- return astVisit[Symbol.for('nodejs.util.promisify.custom')](root, visitor, _objectSpread({
96
+ return astVisit[Symbol.for('nodejs.util.promisify.custom')](root, visitor, {
104
97
  // @ts-ignore
105
98
  keyMap,
106
99
  // @ts-ignore
107
100
  nodeTypeGetter: getNodeType,
108
- nodePredicate: isNode
109
- }, rest));
101
+ nodePredicate: isNode,
102
+ ...rest
103
+ });
110
104
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swagger-api/apidom-core",
3
- "version": "0.76.0",
3
+ "version": "0.76.2",
4
4
  "description": "Tools for manipulating ApiDOM structures.",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -8,22 +8,22 @@
8
8
  },
9
9
  "type": "module",
10
10
  "sideEffects": [
11
- "./es/refractor/registration.js",
11
+ "./es/refractor/registration.mjs",
12
12
  "./cjs/refractor/registration.cjs"
13
13
  ],
14
14
  "unpkg": "./dist/apidom-core.browser.min.js",
15
15
  "main": "./cjs/index.cjs",
16
16
  "exports": {
17
17
  "types": "./types/dist.d.ts",
18
- "import": "./es/index.js",
18
+ "import": "./es/index.mjs",
19
19
  "require": "./cjs/index.cjs"
20
20
  },
21
21
  "types": "./types/dist.d.ts",
22
22
  "scripts": {
23
23
  "build": "npm run clean && run-p --max-parallel ${CPU_CORES:-2} typescript:declaration build:es build:cjs build:umd:browser",
24
- "build:es": "cross-env BABEL_ENV=es babel src --out-dir es --extensions '.ts' --root-mode 'upward'",
24
+ "build:es": "cross-env BABEL_ENV=es babel src --out-dir es --extensions '.ts' --out-file-extension '.mjs' --root-mode 'upward'",
25
25
  "build:cjs": "cross-env BABEL_ENV=cjs babel src --out-dir cjs --extensions '.ts' --out-file-extension '.cjs' --root-mode 'upward'",
26
- "build:umd:browser": "cross-env BABEL_ENV=browser BROWSERSLIST_ENV=production webpack --config config/webpack/browser.config.js --progress",
26
+ "build:umd:browser": "cross-env BABEL_ENV=browser webpack --config config/webpack/browser.config.js --progress",
27
27
  "lint": "eslint ./",
28
28
  "lint:fix": "eslint ./ --fix",
29
29
  "clean": "rimraf ./es ./cjs ./dist ./types",
@@ -42,13 +42,13 @@
42
42
  "license": "Apache-2.0",
43
43
  "dependencies": {
44
44
  "@babel/runtime-corejs3": "^7.20.7",
45
- "@swagger-api/apidom-ast": "^0.76.0",
46
- "@swagger-api/apidom-error": "^0.76.0",
45
+ "@swagger-api/apidom-ast": "^0.76.2",
46
+ "@swagger-api/apidom-error": "^0.76.2",
47
47
  "@types/ramda": "~0.29.3",
48
48
  "minim": "~0.23.8",
49
49
  "ramda": "~0.29.0",
50
50
  "ramda-adjunct": "^4.1.1",
51
- "short-unique-id": "^4.4.4",
51
+ "short-unique-id": "^5.0.2",
52
52
  "stampit": "^4.3.2"
53
53
  },
54
54
  "files": [
@@ -62,5 +62,5 @@
62
62
  "README.md",
63
63
  "CHANGELOG.md"
64
64
  ],
65
- "gitHead": "ce497d1083df34162b9cf2047d6cbd8843af3314"
65
+ "gitHead": "8c6c02f813a663cfaf0ac0963f2b4fd25b8dffe8"
66
66
  }
@@ -1,32 +0,0 @@
1
- import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
2
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- import { dispatchPlugins } from "./plugins/utils/index.js";
5
- import { getNodeType } from "../traversal/visitor.js";
6
- import createToolbox from "./toolbox.js";
7
- const refract = (value, {
8
- Type,
9
- plugins = []
10
- }) => {
11
- /**
12
- * This is where values gets refracted into generic ApiDOM.
13
- * We don't allow consumers to hook into this translation.
14
- * Though we allow consumers to define their onw plugins on already transformed ApiDOM.
15
- */
16
- const element = new Type(value);
17
-
18
- /**
19
- * Run plugins only when necessary.
20
- * Running plugins visitors means extra single traversal === performance hit.
21
- */
22
- return dispatchPlugins(element, plugins, {
23
- toolboxCreator: createToolbox,
24
- visitorOptions: {
25
- nodeTypeGetter: getNodeType
26
- }
27
- });
28
- };
29
- export const createRefractor = Type => (value, options = {}) => refract(value, _objectSpread(_objectSpread({}, options), {}, {
30
- Type
31
- }));
32
- export default refract;
@@ -1,13 +0,0 @@
1
- import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
2
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- import * as basePredicates from "../predicates/index.js";
5
- import defaultNamespaceInstance from "../namespace.js";
6
- const createToolbox = () => {
7
- const predicates = _objectSpread({}, basePredicates);
8
- return {
9
- predicates,
10
- namespace: defaultNamespaceInstance
11
- };
12
- };
13
- export default createToolbox;
@@ -1,18 +0,0 @@
1
- import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
2
- class EphemeralArray {
3
- constructor(content) {
4
- _defineProperty(this, "type", 'EphemeralArray');
5
- _defineProperty(this, "content", []);
6
- _defineProperty(this, "reference", undefined);
7
- this.content = content;
8
- this.reference = [];
9
- }
10
- toReference() {
11
- return this.reference;
12
- }
13
- toArray() {
14
- this.reference.push(...this.content);
15
- return this.reference;
16
- }
17
- }
18
- export default EphemeralArray;