@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.
- package/CHANGELOG.md +10 -0
- package/cjs/deepmerge.cjs +3 -3
- package/cjs/index.cjs +2 -3
- package/cjs/namespace.cjs +1 -1
- package/cjs/predicates/helpers.cjs +5 -8
- package/cjs/predicates/index.cjs +4 -5
- package/cjs/refractor/index.cjs +1 -1
- package/cjs/refractor/plugins/element-identity.cjs +2 -4
- package/cjs/refractor/plugins/semantic-element-identity.cjs +2 -4
- package/cjs/refractor/plugins/utils/index.cjs +1 -1
- package/cjs/refractor/registration.cjs +1 -1
- package/cjs/refractor/toolbox.cjs +2 -3
- package/cjs/serializers/json.cjs +1 -1
- package/cjs/serializers/value/index.cjs +1 -1
- package/cjs/serializers/value/visitor.cjs +1 -1
- package/cjs/serializers/yaml-1-2.cjs +1 -1
- package/cjs/sexprs.cjs +1 -1
- package/cjs/transcluder/Transcluder.cjs +2 -2
- package/cjs/transcluder/index.cjs +1 -1
- package/cjs/traversal/findAtOffset.cjs +1 -1
- package/cjs/traversal/index.cjs +1 -1
- package/cjs/traversal/parents.cjs +1 -1
- package/cjs/traversal/reject.cjs +1 -1
- package/cjs/traversal/some.cjs +1 -1
- package/cjs/traversal/traverse.cjs +1 -1
- package/cjs/traversal/visitor.cjs +1 -1
- package/dist/apidom-core.browser.js +9686 -10831
- package/dist/apidom-core.browser.min.js +1 -1
- package/es/{deepmerge.js → deepmerge.mjs} +5 -5
- package/es/{index.js → index.mjs} +18 -18
- package/es/{media-types.js → media-types.mjs} +2 -5
- package/es/{namespace.js → namespace.mjs} +4 -4
- package/es/predicates/{index.js → index.mjs} +5 -5
- package/es/refractor/index.mjs +30 -0
- package/es/refractor/plugins/{element-identity.js → element-identity.mjs} +1 -2
- package/es/refractor/plugins/{semantic-element-identity.js → semantic-element-identity.mjs} +1 -2
- package/es/refractor/plugins/utils/{index.js → index.mjs} +2 -2
- package/es/refractor/{registration.js → registration.mjs} +5 -5
- package/es/refractor/toolbox.mjs +12 -0
- package/es/serializers/{json.js → json.mjs} +1 -1
- package/es/serializers/value/ast/ephemeral-array.mjs +17 -0
- package/es/serializers/value/ast/ephemeral-object.mjs +16 -0
- package/es/serializers/value/{index.js → index.mjs} +3 -3
- package/es/serializers/value/visitor.mjs +49 -0
- package/es/serializers/{yaml-1-2.js → yaml-1-2.mjs} +2 -2
- package/es/{sexprs.js → sexprs.mjs} +1 -1
- package/es/transcluder/{Transcluder.js → Transcluder.mjs} +1 -1
- package/es/transcluder/{index.js → index.mjs} +1 -1
- package/es/traversal/{filter.js → filter.mjs} +1 -1
- package/es/traversal/{find.js → find.mjs} +1 -1
- package/es/traversal/{findAtOffset.js → findAtOffset.mjs} +2 -2
- package/es/traversal/index.mjs +7 -0
- package/es/traversal/{parents.js → parents.mjs} +1 -1
- package/es/traversal/{reject.js → reject.mjs} +1 -1
- package/es/traversal/{some.js → some.mjs} +1 -1
- package/es/traversal/{traverse.js → traverse.mjs} +2 -2
- package/es/traversal/{visitor.js → visitor.mjs} +17 -23
- package/package.json +9 -9
- package/es/refractor/index.js +0 -32
- package/es/refractor/toolbox.js +0 -13
- package/es/serializers/value/ast/ephemeral-array.js +0 -18
- package/es/serializers/value/ast/ephemeral-object.js +0 -17
- package/es/serializers/value/visitor.js +0 -54
- package/es/traversal/index.js +0 -7
- /package/es/elements/{Annotation.js → Annotation.mjs} +0 -0
- /package/es/elements/{Comment.js → Comment.mjs} +0 -0
- /package/es/elements/{ParseResult.js → ParseResult.mjs} +0 -0
- /package/es/elements/{SourceMap.js → SourceMap.mjs} +0 -0
- /package/es/predicates/{helpers.js → helpers.mjs} +0 -0
- /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.
|
|
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 =
|
|
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.
|
|
4
|
-
import serializeValue from "./serializers/value/index.
|
|
5
|
-
import serializeJSON from "./serializers/json.
|
|
6
|
-
import serializeYAML from "./serializers/yaml-1-2.
|
|
7
|
-
export { dispatchPlugins as dispatchRefractorPlugins } from "./refractor/plugins/utils/index.
|
|
8
|
-
export { default as refractorPluginElementIdentity } from "./refractor/plugins/element-identity.
|
|
9
|
-
export { default as refractorPluginSemanticElementIdentity } from "./refractor/plugins/semantic-element-identity.
|
|
10
|
-
export { default as MediaTypes } from "./media-types.
|
|
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.
|
|
13
|
-
export { ObjectElement, ArrayElement, BooleanElement, NullElement, NumberElement, StringElement, LinkElement, RefElement, AnnotationElement, CommentElement, ParseResultElement, SourceMapElement } from "./refractor/registration.
|
|
14
|
-
export { isElement, isStringElement, isNumberElement, isNullElement, isBooleanElement, isArrayElement, isObjectElement, isMemberElement, isLinkElement, isRefElement, isAnnotationElement, isParseResultElement, isSourceMapElement, isPrimitiveElement, hasElementSourceMap, includesSymbols, includesClasses } from "./predicates/index.
|
|
15
|
-
export { default as createPredicate } from "./predicates/helpers.
|
|
16
|
-
export { filter, reject, find, findAtOffset, some, traverse, parents } from "./traversal/index.
|
|
17
|
-
export { visit, BREAK, mergeAllVisitors, getNodeType, keyMapDefault as keyMap } from "./traversal/visitor.
|
|
18
|
-
export { transclude, default as Transcluder } from "./transcluder/index.
|
|
19
|
-
export { dereference } from "./util.
|
|
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.
|
|
72
|
-
export { default as deepmerge } from "./deepmerge.
|
|
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
|
-
|
|
5
|
-
|
|
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.
|
|
4
|
-
import CommentElement from "./elements/Comment.
|
|
5
|
-
import ParseResultElement from "./elements/ParseResult.
|
|
6
|
-
import SourceMapElement from "./elements/SourceMap.
|
|
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.
|
|
5
|
-
import CommentElement from "../elements/Comment.
|
|
6
|
-
import ParserResultElement from "../elements/ParseResult.
|
|
7
|
-
import SourceMapElement from "../elements/SourceMap.
|
|
8
|
-
import createPredicate, { isElementType as isElementTypeHelper } from "./helpers.
|
|
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.
|
|
4
|
-
import { getNodeType, mergeAllVisitors, visit } from "../../../traversal/visitor.
|
|
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.
|
|
3
|
-
import CommentElement from "../elements/Comment.
|
|
4
|
-
import ParseResultElement from "../elements/ParseResult.
|
|
5
|
-
import SourceMapElement from "../elements/SourceMap.
|
|
6
|
-
import { createRefractor } from "./index.
|
|
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;
|
|
@@ -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.
|
|
3
|
-
import EphemeralArray from "./ast/ephemeral-array.
|
|
4
|
-
import EphemeralObject from "./ast/ephemeral-object.
|
|
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.
|
|
3
|
-
import serializeValue from "./value/index.
|
|
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,6 +1,6 @@
|
|
|
1
1
|
import stampit from 'stampit';
|
|
2
2
|
import { isUndefined } from 'ramda-adjunct';
|
|
3
|
-
import { isObjectElement, isArrayElement, isMemberElement } from "../predicates/index.
|
|
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,5 +1,5 @@
|
|
|
1
1
|
import { ArraySlice } from 'minim';
|
|
2
|
-
import { PredicateVisitor, visit } from "./visitor.
|
|
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.
|
|
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.
|
|
5
|
-
import { visit } from "./visitor.
|
|
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 { isNotUndefined } from 'ramda-adjunct';
|
|
2
|
-
import find from "./find.
|
|
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.
|
|
5
|
-
import { isElement } from "../predicates/index.
|
|
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.
|
|
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,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
rest = _objectWithoutProperties(_ref, _excluded);
|
|
73
|
+
visitor, {
|
|
74
|
+
keyMap = keyMapDefault,
|
|
75
|
+
...rest
|
|
76
|
+
} = {}) => {
|
|
84
77
|
// @ts-ignore
|
|
85
|
-
return astVisit(root, visitor,
|
|
78
|
+
return astVisit(root, visitor, {
|
|
86
79
|
// @ts-ignore
|
|
87
80
|
keyMap,
|
|
88
81
|
// @ts-ignore
|
|
89
82
|
nodeTypeGetter: getNodeType,
|
|
90
|
-
nodePredicate: isNode
|
|
91
|
-
|
|
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,
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
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,
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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.
|
|
46
|
-
"@swagger-api/apidom-error": "^0.76.
|
|
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": "^
|
|
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": "
|
|
65
|
+
"gitHead": "8c6c02f813a663cfaf0ac0963f2b4fd25b8dffe8"
|
|
66
66
|
}
|
package/es/refractor/index.js
DELETED
|
@@ -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;
|
package/es/refractor/toolbox.js
DELETED
|
@@ -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;
|