@swagger-api/apidom-ns-api-design-systems 0.95.0 → 0.97.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,16 +1,23 @@
1
- import { hasElementSourceMap } from '@swagger-api/apidom-core';
1
+ import { hasElementSourceMap, deepmerge } from '@swagger-api/apidom-core';
2
2
  class Visitor {
3
3
  element;
4
4
  constructor(options = {}) {
5
5
  Object.assign(this, options);
6
6
  }
7
7
 
8
- // eslint-disable-next-line class-methods-use-this
8
+ /* eslint-disable class-methods-use-this, no-param-reassign */
9
9
  copyMetaAndAttributes(from, to) {
10
- // copy sourcemaps
11
- if (hasElementSourceMap(from)) {
12
- to.meta.set('sourceMap', from.meta.get('sourceMap'));
10
+ if (from.meta.length > 0 || to.meta.length > 0) {
11
+ to.meta = deepmerge(to.meta, from.meta);
12
+ if (hasElementSourceMap(from)) {
13
+ // avoid deep merging of source maps
14
+ to.meta.set('sourceMap', from.meta.get('sourceMap'));
15
+ }
16
+ }
17
+ if (from.attributes.length > 0 || from.meta.length > 0) {
18
+ to.attributes = deepmerge(to.attributes, from.attributes); // eslint-disable-line no-param-reassign
13
19
  }
14
20
  }
21
+ /* eslint-enable class-methods-use-this, no-param-reassign */
15
22
  }
16
23
  export default Visitor;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@swagger-api/apidom-ns-api-design-systems",
3
3
  "description": "API Design Systems 2021-05-07 namespace for ApiDOM.",
4
- "version": "0.95.0",
4
+ "version": "0.97.0",
5
5
  "publishConfig": {
6
6
  "access": "public",
7
7
  "registry": "https://registry.npmjs.org"
@@ -42,9 +42,9 @@
42
42
  "license": "Apache-2.0",
43
43
  "dependencies": {
44
44
  "@babel/runtime-corejs3": "^7.20.7",
45
- "@swagger-api/apidom-core": "^0.95.0",
46
- "@swagger-api/apidom-error": "^0.95.0",
47
- "@swagger-api/apidom-ns-openapi-3-1": "^0.95.0",
45
+ "@swagger-api/apidom-core": "^0.97.0",
46
+ "@swagger-api/apidom-error": "^0.97.0",
47
+ "@swagger-api/apidom-ns-openapi-3-1": "^0.97.0",
48
48
  "@types/ramda": "~0.29.6",
49
49
  "ramda": "~0.29.1",
50
50
  "ramda-adjunct": "^4.1.1",
@@ -60,5 +60,5 @@
60
60
  "README.md",
61
61
  "CHANGELOG.md"
62
62
  ],
63
- "gitHead": "c56f672154649ce4b6236e4f5e12e05e34867fd7"
63
+ "gitHead": "b616e76738c48401d651a272daef174f6c1a6510"
64
64
  }
package/types/dist.d.ts CHANGED
@@ -373,7 +373,7 @@ declare class SpecificationVisitor extends Visitor {
373
373
  protected readonly specObj: typeof specification;
374
374
  protected readonly passingOptionsNames: string[];
375
375
  constructor({ specObj, ...rest }: SpecificationVisitorOptions);
376
- retrievePassingOptions(): string extends keyof this ? Record<keyof this & string, this[keyof this]> : Pick<this, keyof this>;
376
+ retrievePassingOptions(): Pick<this, keyof this>;
377
377
  retrieveFixedFields(specPath: string[]): string[];
378
378
  retrieveVisitor(specPath: string[]): unknown;
379
379
  retrieveVisitorInstance(specPath: string[], options?: {}): Visitor;