Skip to content

Commit dcd069b

Browse files
authored
refactor(reference): use apidom-traverse package for dereferencing (#12)
1 parent cfdbbfc commit dcd069b

File tree

106 files changed

+3198
-934
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

106 files changed

+3198
-934
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ You can install ApiDOM packages using [npm CLI](https://docs.npmjs.com/cli):
9191
$ npm install @speclynx/apidom-parser-adapter-openapi-yaml-3-1
9292
$ npm install @speclynx/apidom-parser-adapter-yaml-1-2
9393
$ npm install @speclynx/apidom-reference
94+
$ npm install @speclynx/apidom-traverse
9495
```
9596

9697
### Usage

package-lock.json

Lines changed: 18 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"clean": "lerna run clean",
2525
"test": "lerna run test",
2626
"link": "npm link --workspaces",
27-
"unlink": "npm unlink --global @speclynx/apidom-ast @speclynx/apidom-converter @speclynx/apidom-core @speclynx/apidom-datamodel @speclynx/apidom-error @speclynx/apidom-json-path @speclynx/apidom-json-pointer @speclynx/apidom-json-pointer-relative @speclynx/apidom-parser-adapter-json @speclynx/apidom-ns-api-design-systems @speclynx/apidom-ns-asyncapi-2 @speclynx/apidom-ns-json-schema-draft-4 @speclynx/apidom-ns-json-schema-draft-6 @speclynx/apidom-ns-json-schema-draft-7 @speclynx/apidom-ns-openapi-2 @speclynx/apidom-ns-openapi-3-0 @speclynx/apidom-ns-openapi-3-1 @speclynx/apidom-parser-adapter-yaml-1-2 @speclynx/apidom-parser-adapter-asyncapi-yaml-2 @speclynx/apidom-parser-adapter-openapi-yaml-2 @speclynx/apidom-parser-adapter-openapi-yaml-3-0 @speclynx/apidom-parser-adapter-openapi-yaml-3-1 @speclynx/apidom-parser @speclynx/apidom-parser-adapter-api-design-systems-json @speclynx/apidom-parser-adapter-api-design-systems-yaml @speclynx/apidom-parser-adapter-asyncapi-json-2 @speclynx/apidom-reference @speclynx/apidom-parser-adapter-openapi-json-2 @speclynx/apidom-parser-adapter-openapi-json-3-0 @speclynx/apidom-parser-adapter-openapi-json-3-1 @speclynx/apidom-parser-adapter-arazzo-json-1 @speclynx/apidom-parser-adapter-arazzo-yaml-1 @speclynx/apidom-playground"
27+
"unlink": "npm unlink --global @speclynx/apidom-ast @speclynx/apidom-converter @speclynx/apidom-core @speclynx/apidom-datamodel @speclynx/apidom-error @speclynx/apidom-json-path @speclynx/apidom-json-pointer @speclynx/apidom-json-pointer-relative @speclynx/apidom-parser-adapter-json @speclynx/apidom-ns-api-design-systems @speclynx/apidom-ns-asyncapi-2 @speclynx/apidom-ns-json-schema-draft-4 @speclynx/apidom-ns-json-schema-draft-6 @speclynx/apidom-ns-json-schema-draft-7 @speclynx/apidom-ns-openapi-2 @speclynx/apidom-ns-openapi-3-0 @speclynx/apidom-ns-openapi-3-1 @speclynx/apidom-parser-adapter-yaml-1-2 @speclynx/apidom-parser-adapter-asyncapi-yaml-2 @speclynx/apidom-parser-adapter-openapi-yaml-2 @speclynx/apidom-parser-adapter-openapi-yaml-3-0 @speclynx/apidom-parser-adapter-openapi-yaml-3-1 @speclynx/apidom-parser @speclynx/apidom-parser-adapter-api-design-systems-json @speclynx/apidom-parser-adapter-api-design-systems-yaml @speclynx/apidom-parser-adapter-asyncapi-json-2 @speclynx/apidom-reference @speclynx/apidom-parser-adapter-openapi-json-2 @speclynx/apidom-parser-adapter-openapi-json-3-0 @speclynx/apidom-parser-adapter-openapi-json-3-1 @speclynx/apidom-parser-adapter-arazzo-json-1 @speclynx/apidom-parser-adapter-arazzo-yaml-1 @speclynx/apidom-playground @speclynx/apidom-traverse"
2828
},
2929
"repository": {
3030
"type": "git",

packages/apidom-converter/src/strategies/openapi-3-1-to-openapi-3-0-3/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import {
88
getNodeType,
99
isOpenApi3_1Element,
1010
} from '@speclynx/apidom-ns-openapi-3-1';
11-
import { ParseResultElement, AnnotationElement } from '@speclynx/apidom-datamodel';
12-
import { cloneDeep, dispatchRefractorPlugins as dispatchPlugins } from '@speclynx/apidom-core';
11+
import { ParseResultElement, AnnotationElement, cloneDeep } from '@speclynx/apidom-datamodel';
12+
import { dispatchRefractorPlugins as dispatchPlugins } from '@speclynx/apidom-core';
1313
import { File } from '@speclynx/apidom-reference';
1414

1515
import ConvertStrategy from '../ConvertStrategy.ts';

packages/apidom-converter/src/strategies/openapi-3-1-to-openapi-3-0-3/refractor-plugins/security-scheme-type.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@ import {
1313
ParseResultElement,
1414
AnnotationElement,
1515
isObjectElement,
16+
cloneDeep,
1617
} from '@speclynx/apidom-datamodel';
17-
import { toValue, cloneDeep } from '@speclynx/apidom-core';
18+
import { toValue } from '@speclynx/apidom-core';
1819
import { dereferenceApiDOM, ReferenceSet, Reference, url } from '@speclynx/apidom-reference';
1920

2021
import type { Toolbox } from '../toolbox.ts';

packages/apidom-core/README.md

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -812,31 +812,3 @@ const numberElement = new NumberElement(1);
812812

813813
toString(numberElement); // => '{"element":"number","content":1}'
814814
```
815-
816-
## Cloning
817-
818-
Following functions provide mechanism for creating shallow and deep copies of ApiDOM elements.
819-
820-
### Shallow cloning
821-
822-
Creates shallow clone of ApiDOM element.
823-
824-
```js
825-
import { ObjectElement } from '@speclynx/apidom-datamodel';
826-
import { cloneShallow } from '@speclynx/apidom-core';
827-
828-
const objectElement = new ObjectElement({ a: 'b' });
829-
const objectElementShallowClone = cloneShallow(objectElement);
830-
```
831-
832-
### Deep cloning
833-
834-
Creates deep clone of ApiDOM Element.
835-
836-
```js
837-
import { ObjectElement } from '@speclynx/apidom-datamodel';
838-
import { cloneDeep } from '@speclynx/apidom-core';
839-
840-
const objectElement = new ObjectElement({ a: 'b' });
841-
const objectElementDeepClone = cloneDeep(objectElement);
842-
```

packages/apidom-core/src/index.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,6 @@ export { transclude, default as Transcluder } from './transcluder/index.ts';
2929

3030
export { resolveSpecification, type ResolvedSpecification } from './specification.ts';
3131

32-
export { cloneShallow, cloneDeep } from './clone/index.ts';
33-
export { default as CloneError } from './clone/errors/CloneError.ts';
34-
export type { CloneErrorOptions } from './clone/errors/CloneError.ts';
35-
export { default as DeepCloneError } from './clone/errors/DeepCloneError.ts';
36-
export { default as ShallowCloneError } from './clone/errors/ShallowCloneError.ts';
37-
export type { FinalCloneTypes, DeepCloneOptions } from './clone/index.ts';
38-
3932
export { defaultIdentityManager, IdentityManager } from './identity/index.ts';
4033
export { default as ElementIdentityError } from './identity/errors/ElementIdentityError.ts';
4134
export type { ElementIdentityErrorOptions } from './identity/errors/ElementIdentityError.ts';

packages/apidom-core/src/merge/deepmerge.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@ import {
55
Element,
66
isObjectElement,
77
isArrayElement,
8+
cloneDeep,
9+
cloneShallow,
810
} from '@speclynx/apidom-datamodel';
911

10-
import { cloneDeep, cloneShallow } from '../clone/index.ts';
1112
import toValue from '../transformers/serializers/value/index.ts';
1213

1314
/**

packages/apidom-core/src/traversal/visitor.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
isObjectElement,
1111
isNullElement,
1212
isNumberElement,
13+
cloneShallow,
1314
} from '@speclynx/apidom-datamodel';
1415
import { F as stubFalse, pipe } from 'ramda';
1516
import { isString } from 'ramda-adjunct';
@@ -20,8 +21,6 @@ import {
2021
cloneNode as cloneNodeDefault,
2122
} from '@speclynx/apidom-ast';
2223

23-
import { cloneShallow } from '../clone/index.ts';
24-
2524
export { BREAK, mergeAllVisitors };
2625

2726
/**

packages/apidom-core/test/clone/index.ts

Lines changed: 0 additions & 228 deletions
This file was deleted.

0 commit comments

Comments
 (0)