@swagger-api/apidom-core 0.68.1

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 (79) hide show
  1. package/CHANGELOG.md +366 -0
  2. package/LICENSES/Apache-2.0.txt +202 -0
  3. package/LICENSES/MIT.txt +9 -0
  4. package/README.md +679 -0
  5. package/cjs/deepmerge.cjs +87 -0
  6. package/cjs/elements/Annotation.cjs +21 -0
  7. package/cjs/elements/Comment.cjs +13 -0
  8. package/cjs/elements/ParseResult.cjs +51 -0
  9. package/cjs/elements/SourceMap.cjs +29 -0
  10. package/cjs/index.cjs +144 -0
  11. package/cjs/media-types.cjs +24 -0
  12. package/cjs/namespace.cjs +32 -0
  13. package/cjs/predicates/helpers.cjs +28 -0
  14. package/cjs/predicates/index.cjs +149 -0
  15. package/cjs/refractor/index.cjs +37 -0
  16. package/cjs/refractor/plugins/element-identity.cjs +36 -0
  17. package/cjs/refractor/plugins/semantic-element-identity.cjs +36 -0
  18. package/cjs/refractor/plugins/utils/index.cjs +26 -0
  19. package/cjs/refractor/registration.cjs +34 -0
  20. package/cjs/refractor/toolbox.cjs +20 -0
  21. package/cjs/serializers/json.cjs +9 -0
  22. package/cjs/serializers/value/ast/ephemeral-array.cjs +22 -0
  23. package/cjs/serializers/value/ast/ephemeral-object.cjs +21 -0
  24. package/cjs/serializers/value/index.cjs +67 -0
  25. package/cjs/serializers/value/visitor.cjs +54 -0
  26. package/cjs/serializers/yaml-1-2.cjs +93 -0
  27. package/cjs/sexprs.cjs +38 -0
  28. package/cjs/transcluder/Transcluder.cjs +110 -0
  29. package/cjs/transcluder/index.cjs +19 -0
  30. package/cjs/traversal/filter.cjs +20 -0
  31. package/cjs/traversal/find.cjs +20 -0
  32. package/cjs/traversal/findAtOffset.cjs +71 -0
  33. package/cjs/traversal/index.cjs +19 -0
  34. package/cjs/traversal/parents.cjs +47 -0
  35. package/cjs/traversal/reject.cjs +14 -0
  36. package/cjs/traversal/some.cjs +15 -0
  37. package/cjs/traversal/traverse.cjs +54 -0
  38. package/cjs/traversal/visitor.cjs +114 -0
  39. package/cjs/util.cjs +27 -0
  40. package/dist/apidom-core.browser.js +30952 -0
  41. package/dist/apidom-core.browser.min.js +1 -0
  42. package/es/deepmerge.js +84 -0
  43. package/es/elements/Annotation.js +16 -0
  44. package/es/elements/Comment.js +8 -0
  45. package/es/elements/ParseResult.js +46 -0
  46. package/es/elements/SourceMap.js +24 -0
  47. package/es/index.js +72 -0
  48. package/es/media-types.js +22 -0
  49. package/es/namespace.js +24 -0
  50. package/es/predicates/helpers.js +22 -0
  51. package/es/predicates/index.js +124 -0
  52. package/es/refractor/index.js +32 -0
  53. package/es/refractor/plugins/element-identity.js +30 -0
  54. package/es/refractor/plugins/semantic-element-identity.js +34 -0
  55. package/es/refractor/plugins/utils/index.js +19 -0
  56. package/es/refractor/registration.js +19 -0
  57. package/es/refractor/toolbox.js +13 -0
  58. package/es/serializers/json.js +3 -0
  59. package/es/serializers/value/ast/ephemeral-array.js +18 -0
  60. package/es/serializers/value/ast/ephemeral-object.js +17 -0
  61. package/es/serializers/value/index.js +61 -0
  62. package/es/serializers/value/visitor.js +54 -0
  63. package/es/serializers/yaml-1-2.js +87 -0
  64. package/es/sexprs.js +32 -0
  65. package/es/transcluder/Transcluder.js +104 -0
  66. package/es/transcluder/index.js +12 -0
  67. package/es/traversal/filter.js +14 -0
  68. package/es/traversal/find.js +14 -0
  69. package/es/traversal/findAtOffset.js +65 -0
  70. package/es/traversal/index.js +7 -0
  71. package/es/traversal/parents.js +40 -0
  72. package/es/traversal/reject.js +7 -0
  73. package/es/traversal/some.js +8 -0
  74. package/es/traversal/traverse.js +47 -0
  75. package/es/traversal/visitor.js +110 -0
  76. package/es/util.js +23 -0
  77. package/package.json +65 -0
  78. package/types/dist.d.ts +260 -0
  79. package/types/minim.d.ts +222 -0
@@ -0,0 +1,104 @@
1
+ import stampit from 'stampit';
2
+ import { isUndefined } from 'ramda-adjunct';
3
+ import { isObjectElement, isArrayElement, isMemberElement } from "../predicates/index.js";
4
+ const computeEdges = (element, edges = new WeakMap()) => {
5
+ if (isMemberElement(element)) {
6
+ // @ts-ignore
7
+ edges.set(element.key, element);
8
+ // @ts-ignore
9
+ computeEdges(element.key, edges);
10
+ // @ts-ignore
11
+ edges.set(element.value, element);
12
+ // @ts-ignore
13
+ computeEdges(element.value, edges);
14
+ } else {
15
+ element.children.forEach(childElement => {
16
+ edges.set(childElement, element);
17
+ computeEdges(childElement, edges);
18
+ });
19
+ }
20
+ return edges;
21
+ };
22
+ const transcludeChildOfMemberElement = (search, replace, edges) => {
23
+ const memberElement = edges.get(search);
24
+ if (!isMemberElement(memberElement)) {
25
+ return;
26
+ }
27
+ if (memberElement.key === search) {
28
+ memberElement.key = replace;
29
+ edges.delete(search);
30
+ edges.set(replace, memberElement);
31
+ }
32
+ if (memberElement.value === search) {
33
+ memberElement.value = replace;
34
+ edges.delete(search);
35
+ edges.set(replace, memberElement);
36
+ }
37
+ };
38
+ const transcludeChildOfObjectElement = (search, replace, edges) => {
39
+ const objectElement = edges.get(search);
40
+ if (!isObjectElement(objectElement)) {
41
+ return;
42
+ }
43
+ objectElement.content = objectElement.map((value, key, member) => {
44
+ if (member === search) {
45
+ edges.delete(search);
46
+ edges.set(replace, objectElement);
47
+ return replace;
48
+ }
49
+ return member;
50
+ });
51
+ };
52
+ const transcludeChildOfArrayElement = (search, replace, edges) => {
53
+ const arrayElement = edges.get(search);
54
+ if (!isArrayElement(arrayElement)) {
55
+ return;
56
+ }
57
+ arrayElement.content = arrayElement.map(element => {
58
+ if (element === search) {
59
+ edges.delete(search);
60
+ edges.set(replace, arrayElement);
61
+ return replace;
62
+ }
63
+ return element;
64
+ });
65
+ };
66
+
67
+ /**
68
+ * This is a mutating stamp. If you don't want your Element to be mutated,
69
+ * clone in before passing it to initializer of this stamp.
70
+ */
71
+
72
+ const Transcluder = stampit.init(function TranscluderConstructor({
73
+ element
74
+ }) {
75
+ let edges;
76
+ this.transclude = function transclude(search, replace) {
77
+ var _edges;
78
+ // shortcut 1. - replacing entire ApiDOM tree
79
+ if (search === element) return replace;
80
+ // shortcut 2. - replacing nothing
81
+ if (search === replace) return element;
82
+ edges = (_edges = edges) !== null && _edges !== void 0 ? _edges : computeEdges(element);
83
+ const parent = edges.get(search);
84
+ if (isUndefined(parent)) {
85
+ return undefined;
86
+ }
87
+
88
+ /**
89
+ * This predicate must be first because ObjectElement extends ArrayElement.
90
+ * isArrayElement returns true for ObjectElements.
91
+ * (classical problems with polymorphism)
92
+ */
93
+ if (isObjectElement(parent)) {
94
+ // @ts-ignore
95
+ transcludeChildOfObjectElement(search, replace, edges);
96
+ } else if (isArrayElement(parent)) {
97
+ transcludeChildOfArrayElement(search, replace, edges);
98
+ } else if (isMemberElement(parent)) {
99
+ transcludeChildOfMemberElement(search, replace, edges);
100
+ }
101
+ return element;
102
+ };
103
+ });
104
+ export default Transcluder;
@@ -0,0 +1,12 @@
1
+ import Transcluder from "./Transcluder.js";
2
+ /**
3
+ * This is a mutating function. If you don't want your Element to be mutated,
4
+ * clone in before passing it to this function.
5
+ */
6
+ export const transclude = (search, replace, element) => {
7
+ const transcluder = Transcluder({
8
+ element
9
+ });
10
+ return transcluder.transclude(search, replace);
11
+ };
12
+ export default Transcluder;
@@ -0,0 +1,14 @@
1
+ import { curry } from 'ramda';
2
+ import { ArraySlice } from 'minim';
3
+ import { PredicateVisitor, visit } from "./visitor.js"; // finds all elements matching the predicate
4
+ // filter :: Pred -> Element -> ArraySlice
5
+ const filter = curry((predicate, element) => {
6
+ const visitor = PredicateVisitor({
7
+ predicate
8
+ });
9
+
10
+ // @ts-ignore
11
+ visit(element, visitor);
12
+ return new ArraySlice(visitor.result);
13
+ });
14
+ export default filter;
@@ -0,0 +1,14 @@
1
+ import { curry, pathOr } from 'ramda';
2
+ import { PredicateVisitor, BREAK, visit } from "./visitor.js"; // find first element that satisfies the provided predicate
3
+ // find :: Pred -> Element -> Element | Undefined
4
+ const find = curry((predicate, element) => {
5
+ const visitor = PredicateVisitor({
6
+ predicate,
7
+ returnOnTrue: BREAK
8
+ });
9
+
10
+ // @ts-ignore
11
+ visit(element, visitor);
12
+ return pathOr(undefined, [0], visitor.result);
13
+ });
14
+ export default find;
@@ -0,0 +1,65 @@
1
+ import stampit from 'stampit';
2
+ import { curry, last, pathOr } from 'ramda';
3
+ import { isNumber } from 'ramda-adjunct';
4
+ import { hasElementSourceMap } from "../predicates/index.js";
5
+ import { visit } from "./visitor.js";
6
+ const Visitor = stampit({
7
+ props: {
8
+ result: [],
9
+ offset: 0,
10
+ includeRightBound: false
11
+ },
12
+ // @ts-ignore
13
+ init({
14
+ offset = this.offset,
15
+ includeRightBound = this.includeRightBound
16
+ }) {
17
+ this.result = [];
18
+ this.offset = offset;
19
+ this.includeRightBound = includeRightBound;
20
+ },
21
+ methods: {
22
+ enter(element) {
23
+ if (!hasElementSourceMap(element)) {
24
+ return undefined; // dive in
25
+ }
26
+
27
+ const sourceMapElement = element.getMetaProperty('sourceMap');
28
+ const charStart = sourceMapElement.positionStart.get(2).toValue();
29
+ const charEnd = sourceMapElement.positionEnd.get(2).toValue();
30
+ const isWithinOffsetRange = this.offset >= charStart && (this.offset < charEnd || this.includeRightBound && this.offset <= charEnd);
31
+ if (isWithinOffsetRange) {
32
+ this.result.push(element);
33
+ return undefined; // push to stack and dive in
34
+ }
35
+
36
+ return false; // skip entire sub-tree
37
+ }
38
+ }
39
+ });
40
+
41
+ // Finds the most inner node at the given offset.
42
+ // If includeRightBound is set, also finds nodes that end at the given offset.
43
+ // findAtOffset :: Number -> Element -> Element | Undefined
44
+ const findAtOffset = curry((options, element) => {
45
+ let offset;
46
+ let includeRightBound;
47
+ if (isNumber(options)) {
48
+ offset = options;
49
+ includeRightBound = false;
50
+ } else {
51
+ offset = pathOr(0, ['offset'], options);
52
+ includeRightBound = pathOr(false, ['includeRightBound'], options);
53
+ }
54
+ const visitor = Visitor({
55
+ offset,
56
+ includeRightBound
57
+ });
58
+
59
+ // @ts-ignore
60
+ visit(element, visitor);
61
+
62
+ // @ts-ignore
63
+ return last(visitor.result);
64
+ });
65
+ export default findAtOffset;
@@ -0,0 +1,7 @@
1
+ export { default as filter } from "./filter.js";
2
+ export { default as find } from "./find.js";
3
+ export { default as findAtOffset } from "./findAtOffset.js";
4
+ export { default as reject } from "./reject.js";
5
+ export { default as some } from "./some.js";
6
+ export { default as traverse } from "./traverse.js";
7
+ export { default as parents } from "./parents.js";
@@ -0,0 +1,40 @@
1
+ import stampit from 'stampit';
2
+ import { visit } from "./visitor.js";
3
+ /* eslint-disable no-param-reassign */
4
+ const Visitor = stampit({
5
+ props: {
6
+ parent: null,
7
+ parentEdges: null
8
+ },
9
+ init() {
10
+ this.parentEdges = new WeakMap();
11
+ },
12
+ methods: {
13
+ ObjectElement(objectElement) {
14
+ this.parentEdges.set(objectElement, this.parent);
15
+ this.parent = objectElement;
16
+ },
17
+ ArrayElement(arrayElement) {
18
+ this.parentEdges.set(arrayElement, this.parent);
19
+ this.parent = arrayElement;
20
+ },
21
+ MemberElement(memberElement) {
22
+ this.parentEdges.set(memberElement, this.parent);
23
+ this.parent = memberElement;
24
+ },
25
+ enter(element) {
26
+ this.parentEdges.set(element, this.parent);
27
+ }
28
+ }
29
+ });
30
+
31
+ /* eslint-enable */
32
+
33
+ // computes upwards edges from every child to its parent
34
+ // find :: Element -> WeakMap<Element, Element>
35
+ const parents = element => {
36
+ const visitor = Visitor();
37
+ visit(element, visitor);
38
+ return visitor.parentEdges;
39
+ };
40
+ export default parents;
@@ -0,0 +1,7 @@
1
+ import { complement, curry } from 'ramda';
2
+ import filter from "./filter.js"; // complement of filter
3
+ // reject :: Pred -> Element -> ArraySlice
4
+ const reject = curry((predicate, element) => {
5
+ return filter(complement(predicate))(element);
6
+ });
7
+ export default reject;
@@ -0,0 +1,8 @@
1
+ import { curry } from 'ramda';
2
+ import { isNotUndefined } from 'ramda-adjunct';
3
+ import find from "./find.js"; // tests whether at least one element passes the predicate
4
+ // some :: Pred -> Element -> Boolean
5
+ const some = curry((predicate, element) => {
6
+ return isNotUndefined(find(predicate)(element));
7
+ });
8
+ export default some;
@@ -0,0 +1,47 @@
1
+ import stampit from 'stampit';
2
+ import { curry, pathOr } from 'ramda';
3
+ import { isFunction, noop } from 'ramda-adjunct';
4
+ import { visit, PredicateVisitor } from "./visitor.js";
5
+ import { isElement } from "../predicates/index.js";
6
+ export const CallbackVisitor = stampit(PredicateVisitor, {
7
+ props: {
8
+ callback: noop
9
+ },
10
+ // @ts-ignore
11
+ init({
12
+ callback = this.callback
13
+ } = {}) {
14
+ this.callback = callback;
15
+ },
16
+ methods: {
17
+ enter(element) {
18
+ if (this.predicate(element)) {
19
+ this.callback(element);
20
+ return this.returnOnTrue;
21
+ }
22
+ return this.returnOnFalse;
23
+ }
24
+ }
25
+ });
26
+
27
+ // executes the callback on this element and all descendants
28
+ // traverse :: Callback | { predicate: Pred, callback: Callback } -> Element -> Undefined
29
+ const traverse = curry((options, element) => {
30
+ let callback;
31
+ let predicate;
32
+ if (isFunction(options)) {
33
+ callback = options;
34
+ predicate = isElement;
35
+ } else {
36
+ callback = pathOr(noop, ['callback'], options);
37
+ predicate = pathOr(isElement, ['predicate'], options);
38
+ }
39
+ const visitor = CallbackVisitor({
40
+ callback,
41
+ predicate
42
+ });
43
+
44
+ // @ts-ignore
45
+ visit(element, visitor);
46
+ });
47
+ export default traverse;
@@ -0,0 +1,110 @@
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(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7
+ import stampit from 'stampit';
8
+ import { curryN, F as stubFalse, pipe } from 'ramda';
9
+ import { isString } from 'ramda-adjunct';
10
+ 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";
12
+ export { BREAK, mergeAllVisitors };
13
+
14
+ // getNodeType :: Node -> String
15
+ export const getNodeType = element => {
16
+ /*
17
+ * We're translating every possible higher element type to primitive minim type here.
18
+ * We're using polymorphism to recognize any higher element type as ObjectElement or ArrayElement.
19
+ * Using polymorphism allows us to assume any namespace.
20
+ *
21
+ * There is a problem with naming visitor methods described here: https://github.com/babel/babel/discussions/12874
22
+ */
23
+ /* eslint-disable no-nested-ternary */
24
+ return isObjectElement(element) ? 'ObjectElement' : isArrayElement(element) ? 'ArrayElement' : isMemberElement(element) ? 'MemberElement' : isStringElement(element) ? 'StringElement' : isBooleanElement(element) ? 'BooleanElement' : isNumberElement(element) ? 'NumberElement' : isNullElement(element) ? 'NullElement' : isLinkElement(element) ? 'LinkElement' : isRefElement(element) ? 'RefElement' : undefined;
25
+ /* eslint-enable */
26
+ };
27
+
28
+ // isNode :: Node -> Boolean
29
+ export const isNode = curryN(1, pipe(getNodeType, isString));
30
+ export const keyMapDefault = {
31
+ ObjectElement: ['content'],
32
+ ArrayElement: ['content'],
33
+ MemberElement: ['key', 'value'],
34
+ StringElement: [],
35
+ BooleanElement: [],
36
+ NumberElement: [],
37
+ NullElement: [],
38
+ RefElement: [],
39
+ LinkElement: [],
40
+ Annotation: [],
41
+ Comment: [],
42
+ ParseResultElement: ['content'],
43
+ SourceMap: ['content']
44
+ };
45
+ export const PredicateVisitor = stampit({
46
+ props: {
47
+ result: [],
48
+ predicate: stubFalse,
49
+ returnOnTrue: undefined,
50
+ returnOnFalse: undefined
51
+ },
52
+ init({
53
+ // @ts-ignore
54
+ predicate = this.predicate,
55
+ // @ts-ignore
56
+ returnOnTrue = this.returnOnTrue,
57
+ // @ts-ignore
58
+ returnOnFalse = this.returnOnFalse
59
+ } = {}) {
60
+ this.result = [];
61
+ this.predicate = predicate;
62
+ this.returnOnTrue = returnOnTrue;
63
+ this.returnOnFalse = returnOnFalse;
64
+ },
65
+ methods: {
66
+ enter(element) {
67
+ if (this.predicate(element)) {
68
+ this.result.push(element);
69
+ return this.returnOnTrue;
70
+ }
71
+ return this.returnOnFalse;
72
+ }
73
+ }
74
+ });
75
+
76
+ // @ts-ignore
77
+ export const visit = (root,
78
+ // @ts-ignore
79
+ visitor, _ref = {}) => {
80
+ let {
81
+ keyMap = keyMapDefault
82
+ } = _ref,
83
+ rest = _objectWithoutProperties(_ref, _excluded);
84
+ // @ts-ignore
85
+ return astVisit(root, visitor, _objectSpread({
86
+ // @ts-ignore
87
+ keyMap,
88
+ // @ts-ignore
89
+ nodeTypeGetter: getNodeType,
90
+ nodePredicate: isNode
91
+ }, rest));
92
+ };
93
+
94
+ // @ts-ignore
95
+ visit[Symbol.for('nodejs.util.promisify.custom')] = async (root,
96
+ // @ts-ignore
97
+ visitor, _ref2 = {}) => {
98
+ let {
99
+ keyMap = keyMapDefault
100
+ } = _ref2,
101
+ rest = _objectWithoutProperties(_ref2, _excluded2);
102
+ // @ts-ignore
103
+ return astVisit[Symbol.for('nodejs.util.promisify.custom')](root, visitor, _objectSpread({
104
+ // @ts-ignore
105
+ keyMap,
106
+ // @ts-ignore
107
+ nodeTypeGetter: getNodeType,
108
+ nodePredicate: isNode
109
+ }, rest));
110
+ };
package/es/util.js ADDED
@@ -0,0 +1,23 @@
1
+ import { defaultTo, has, mapObjIndexed, path, propSatisfies } from 'ramda';
2
+ import { isPlainObject, isString, trimCharsStart } from 'ramda-adjunct';
3
+
4
+ /**
5
+ * This dereference algorithm is used exclusively for dereferencing specification objects.
6
+ * It doesn't handle circular references of external references and works on objects only (not arrays).
7
+ */
8
+ // eslint-disable-next-line import/prefer-default-export
9
+ export const dereference = (object, root) => {
10
+ const rootObject = defaultTo(object, root);
11
+ return mapObjIndexed(val => {
12
+ if (isPlainObject(val) && has('$ref', val) && propSatisfies(isString, '$ref', val)) {
13
+ const $ref = path(['$ref'], val);
14
+ // @ts-ignore
15
+ const pointer = trimCharsStart('#/', $ref);
16
+ return path(pointer.split('/'), rootObject);
17
+ }
18
+ if (isPlainObject(val)) {
19
+ return dereference(val, rootObject);
20
+ }
21
+ return val;
22
+ }, object);
23
+ };
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "@swagger-api/apidom-core",
3
+ "version": "0.68.1",
4
+ "description": "Tools for manipulating ApiDOM structures.",
5
+ "publishConfig": {
6
+ "access": "public",
7
+ "registry": "https://registry.npmjs.org"
8
+ },
9
+ "type": "module",
10
+ "sideEffects": [
11
+ "./es/refractor/registration.js",
12
+ "./cjs/refractor/registration.cjs"
13
+ ],
14
+ "unpkg": "./dist/apidom-core.browser.min.js",
15
+ "main": "./cjs/index.cjs",
16
+ "exports": {
17
+ "types": "./types/dist.d.ts",
18
+ "import": "./es/index.js",
19
+ "require": "./cjs/index.cjs"
20
+ },
21
+ "types": "./types/dist.d.ts",
22
+ "scripts": {
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'",
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",
27
+ "lint": "eslint ./",
28
+ "lint:fix": "eslint ./ --fix",
29
+ "clean": "rimraf ./es ./cjs ./dist ./types",
30
+ "typescript:check-types": "tsc -p check-types.tsconfig.json --noEmit",
31
+ "typescript:declaration": "tsc -p declaration.tsconfig.json && rollup -c config/rollup/types.dist.js && copyfiles -u 2 ../@types/minim.d.ts ./types && node ../../scripts/file-prepend-bof.js './types/dist.d.ts' '/// <reference path=\"./minim.d.ts\" />'",
32
+ "test": "cross-env NODE_ENV=test BABEL_ENV=cjs mocha",
33
+ "test:update-snapshots": "cross-env UPDATE_SNAPSHOT=1 BABEL_ENV=cjs mocha",
34
+ "prepack": "copyfiles -u 3 ../../LICENSES/* LICENSES && copyfiles -u 2 ../../NOTICE",
35
+ "postpack": "rimraf NOTICE LICENSES"
36
+ },
37
+ "repository": {
38
+ "type": "git",
39
+ "url": "git+https://github.com/swagger-api/apidom.git"
40
+ },
41
+ "author": "Vladimír Gorej",
42
+ "license": "Apache-2.0",
43
+ "dependencies": {
44
+ "@babel/runtime-corejs3": "^7.20.7",
45
+ "@swagger-api/apidom-ast": "^0.68.0",
46
+ "@types/ramda": "=0.28.23",
47
+ "minim": "=0.23.8",
48
+ "ramda": "=0.28.0",
49
+ "ramda-adjunct": "=3.4.0",
50
+ "short-unique-id": "=4.4.4",
51
+ "stampit": "=4.3.2"
52
+ },
53
+ "files": [
54
+ "cjs/",
55
+ "dist/",
56
+ "es/",
57
+ "types/dist.d.ts",
58
+ "types/minim.d.ts",
59
+ "LICENSES",
60
+ "NOTICE",
61
+ "README.md",
62
+ "CHANGELOG.md"
63
+ ],
64
+ "gitHead": "d2bc706671f1b9a593b8f0c5bca8c501ad0e4cff"
65
+ }