source: node_modules/@swagger-api/apidom-core/cjs/traversal/parents.cjs

main
Last change on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 886 bytes
Line 
1"use strict";
2
3exports.__esModule = true;
4exports.default = void 0;
5var _visitor = require("./visitor.cjs");
6class Visitor {
7 parentEdges;
8 parent;
9 constructor() {
10 this.parentEdges = new WeakMap();
11 }
12 ObjectElement(objectElement) {
13 this.parentEdges.set(objectElement, this.parent);
14 this.parent = objectElement;
15 }
16 ArrayElement(arrayElement) {
17 this.parentEdges.set(arrayElement, this.parent);
18 this.parent = arrayElement;
19 }
20 MemberElement(memberElement) {
21 this.parentEdges.set(memberElement, this.parent);
22 this.parent = memberElement;
23 }
24 enter(element) {
25 this.parentEdges.set(element, this.parent);
26 }
27}
28
29// computes upwards edges from every child to its parent
30const parents = element => {
31 const visitor = new Visitor();
32 (0, _visitor.visit)(element, visitor);
33 return visitor.parentEdges;
34};
35var _default = exports.default = parents;
Note: See TracBrowser for help on using the repository browser.