##// END OF EJS Templates
* tsx/{Xxx}Context renamed to tsx/{Xxx}Rendition, for old types made...
cin -
r63:1a0018655d1c v1.1.0 default
parent child
Show More
@@ -0,0 +1,29
1 import { argumentNotNull } from "@implab/core-amd/safe";
2 import { RenditionBase } from "./RenditionBase";
3
4 export class FunctionRendition extends RenditionBase<Node> {
5 private _component: (props: any) => any;
6
7 private _node: Node | undefined;
8
9 constructor(component: (props: any) => any) {
10 super();
11 argumentNotNull(component, "component");
12
13 this._component = component;
14 }
15
16 _create(attrs: object, children: any[]) {
17 const _attrs: any = attrs || {};
18 _attrs.children = children.map(x => this.getItemDom(x));
19
20 this._node = this.getItemDom(this._component.call(null, _attrs));
21 }
22
23 _getDomNode() {
24 if (!this._node)
25 throw new Error("The instance of the widget isn't created");
26 return this._node;
27 }
28
29 }
@@ -0,0 +1,37
1 import dom = require("dojo/dom-construct");
2 import { argumentNotEmptyString } from "@implab/core-amd/safe";
3 import { RenditionBase } from "./RenditionBase";
4
5 export class HtmlRendition extends RenditionBase<HTMLElement> {
6 elementType: string;
7
8 _element: HTMLElement | undefined;
9
10 constructor(elementType: string) {
11 argumentNotEmptyString(elementType, "elementType");
12 super();
13
14 this.elementType = elementType;
15 }
16
17 _addChild(child: any): void {
18 if (!this._element)
19 throw new Error("The HTML element isn't created");
20 dom.place(this.getItemDom(child), this._element);
21 }
22
23 _create(attrs: object, children: any[]) {
24 this._element = dom.create(this.elementType, attrs);
25
26 if (children)
27 children.forEach(v => this._addChild(v));
28 }
29
30 _getDomNode() {
31 if (!this._element)
32 throw new Error("The HTML element isn't created");
33
34 return this._element;
35 }
36
37 }
@@ -0,0 +1,116
1 import { isNull, mixin } from "@implab/core-amd/safe";
2 import { isPlainObject, isNode, isRendition, DojoNodePosition, Rendition, isInPage, isWidget, isDocumentFragmentNode, startupWidgets } from "./traits";
3
4 import dom = require("dojo/dom-construct");
5 import registry = require("dijit/registry");
6
7
8 export abstract class RenditionBase<TNode extends Node> implements Rendition<TNode> {
9 private _attrs = {};
10
11 private _children = new Array();
12
13 private _created: boolean = false;
14
15 visitNext(v: any) {
16 if (this._created)
17 throw new Error("The Element is already created");
18
19 if (isNull(v) || typeof v === "boolean")
20 // skip null, undefined, booleans ( this will work: {value && <span>{value}</span>} )
21 return;
22
23 if (isPlainObject(v)) {
24 mixin(this._attrs, v);
25 } else if (v instanceof Array) {
26 v.forEach(x => this.visitNext(x));
27 } else {
28 this._children.push(v);
29 }
30 }
31
32 protected getItemDom(v: any) {
33 const tv = typeof v;
34
35 if (tv === "string" || tv === "number" || v instanceof RegExp || v instanceof Date) {
36 // primitive types converted to the text nodes
37 return document.createTextNode(v.toString());
38 } else if (isNode(v)) {
39 // nodes are kept as is
40 return v;
41 } else if (isRendition(v)) {
42 // renditions as instantinated
43 return v.getDomNode();
44 } else if (isWidget(v)) {
45 // widgets are converted to it's markup
46 return v.domNode;
47 } else if (tv === "boolean" || v === null || v === undefined) {
48 // null | undefined | boolean are removed, converted to comments
49 return document.createComment(`[${tv} ${String(v)}]`);
50 } else {
51 // bug: explicit error otherwise
52 throw new Error("Invalid parameter: " + v);
53 }
54 }
55
56 ensureCreated() {
57 if (!this._created) {
58 this._create(this._attrs, this._children);
59 this._children = [];
60 this._attrs = {};
61 this._created = true;
62 }
63 }
64
65 /** @deprecated will be removed in 1.0.0, use getDomNode() */
66 getDomElement() {
67 return this.getDomNode();
68 }
69
70 /** Creates DOM node if not created. No additional actions are taken. */
71 getDomNode() {
72 this.ensureCreated();
73 return this._getDomNode();
74 }
75
76 /** Creates DOM node if not created, places it to the specified position
77 * and calls startup() method for all widgets contained by this node.
78 *
79 * @param {string | Node} refNode The reference node where the created
80 * DOM should be placed.
81 * @param {DojoNodePosition} position Optional parameter, specifies the
82 * position relative to refNode. Default is "last" (i.e. last child).
83 */
84 placeAt(refNode: string | Node, position?: DojoNodePosition) {
85 const domNode = this.getDomNode();
86
87 const collect = (collection: HTMLCollection) => {
88 const items = [];
89 for (let i = 0, n = items.length; i < length; i++) {
90 items.push(collection[i]);
91 }
92 return items;
93 }
94
95 const startup = (node: Node) => {
96 if (node.parentNode) {
97 const parentWidget = registry.getEnclosingWidget(node.parentNode);
98 if (parentWidget && parentWidget._started)
99 return startupWidgets(node);
100 }
101 if (isInPage(node))
102 startupWidgets(node);
103 }
104
105 const startupPending = isDocumentFragmentNode(domNode) ? collect(domNode.children) : [domNode]
106
107 dom.place(domNode, refNode, position);
108
109 startupPending.forEach(startup);
110
111 }
112
113 protected abstract _create(attrs: object, children: any[]): void;
114
115 protected abstract _getDomNode(): TNode;
116 }
@@ -0,0 +1,121
1 import dom = require("dojo/dom-construct");
2 import { argumentNotNull } from "@implab/core-amd/safe";
3 import { RenditionBase } from "./RenditionBase";
4 import { DojoNodePosition, isInPage, isWidget } from "./traits";
5 import registry = require("dijit/registry");
6 import ContentPane = require("dijit/layout/ContentPane");
7
8 // tslint:disable-next-line: class-name
9 export interface _Widget {
10 domNode: Node;
11
12 containerNode?: Node;
13
14 placeAt?(refNode: string | Node, position?: DojoNodePosition): void;
15 startup?(): void;
16
17 addChild?(widget: any, index?: number): void;
18 }
19
20 export type _WidgetCtor = new (attrs: any, srcNode?: string | Node) => _Widget;
21
22 export class WidgetRendition extends RenditionBase<Node> {
23 readonly widgetClass: _WidgetCtor;
24
25 _instance: _Widget | undefined;
26
27 constructor(widgetClass: _WidgetCtor) {
28 super();
29 argumentNotNull(widgetClass, "widgetClass");
30
31 this.widgetClass = widgetClass;
32 }
33
34 _addChild(child: any): void {
35 const instance = this._getInstance();
36
37 if (instance.addChild) {
38 if (child instanceof WidgetRendition) {
39 // layout containers add custom logic to addChild methods
40 instance.addChild(child.getWidgetInstance());
41 } else if (isWidget(child)) {
42 instance.addChild(child);
43 } else {
44 if (!instance.containerNode)
45 throw new Error("The widget doesn't have neither addChild nor containerNode");
46
47 // the current widget isn't started, it's children shouldn't start too
48 dom.place(this.getItemDom(child), instance.containerNode);
49 }
50 } else {
51 if (!instance.containerNode)
52 throw new Error("The widget doesn't have neither addChild nor containerNode");
53
54 // the current widget isn't started, it's children shouldn't start too
55 dom.place(this.getItemDom(child), instance.containerNode);
56 }
57 }
58
59 protected _create(attrs: any, children: any[]) {
60 if (this.widgetClass.prototype instanceof ContentPane) {
61 // a special case for the ContentPane this is for
62 // the compatibility with this heavy widget, all
63 // regular containers could be easily manipulated
64 // through `containerNode` property or `addChild` method.
65
66 // render children to the DocumentFragment
67 const content = document.createDocumentFragment();
68 children.forEach(child => content.appendChild(this.getItemDom(child)));
69
70 // set the content property to the parameters of the widget
71 const _attrs = { ...attrs, content };
72 this._instance = new this.widgetClass(_attrs);
73 } else {
74 this._instance = new this.widgetClass(attrs);
75 children.forEach(x => this._addChild(x));
76 }
77
78 }
79
80 private _getInstance() {
81 if (!this._instance)
82 throw new Error("The instance of the widget isn't created");
83 return this._instance;
84 }
85
86 protected _getDomNode() {
87 if (!this._instance)
88 throw new Error("The instance of the widget isn't created");
89 return this._instance.domNode;
90 }
91
92 /** Overrides default placeAt implementation. Calls placeAt of the
93 * widget and then starts it.
94 *
95 * @param refNode A node or id of the node where the widget should be placed.
96 * @param position A position relative to refNode.
97 */
98 placeAt(refNode: string | Node, position?: DojoNodePosition) {
99 this.ensureCreated();
100 const instance = this._getInstance();
101 if (typeof instance.placeAt === "function") {
102 instance.placeAt(refNode, position);
103
104 // fix the dojo startup behavior when the widget is placed
105 // directly to the document and doesn't have any enclosing widgets
106 const parentWidget = instance.domNode.parentNode ?
107 registry.getEnclosingWidget(instance.domNode.parentNode) : null
108 if (!parentWidget && isInPage(instance.domNode) && typeof instance.startup === "function")
109 instance.startup();
110 } else {
111 // the widget doesn't have a placeAt method, strange but whatever
112 super.placeAt(refNode, position);
113 }
114 }
115
116 getWidgetInstance() {
117 this.ensureCreated();
118 return this._getInstance();
119 }
120
121 }
@@ -1,2744 +1,2744
1 1 {
2 2 "name": "@implab/djx",
3 3 "version": "0.0.1-dev",
4 4 "lockfileVersion": 2,
5 5 "requires": true,
6 6 "packages": {
7 7 "": {
8 8 "name": "@implab/djx",
9 9 "version": "0.0.1-dev",
10 10 "license": "BSD-2-Clause",
11 11 "devDependencies": {
12 12 "@implab/core-amd": "^1.4.0",
13 13 "@types/chai": "4.1.3",
14 14 "@types/requirejs": "2.1.31",
15 15 "@types/yaml": "1.2.0",
16 16 "chai": "4.2.0",
17 17 "dojo": "1.16.0",
18 18 "dojo-typings": "~1.11.9",
19 19 "eslint": "6.8.0",
20 20 "requirejs": "2.3.6",
21 21 "tslint": "^6.1.3",
22 22 "typescript": "4.0.2",
23 23 "yaml": "~1.7.2"
24 24 },
25 25 "peerDependencies": {
26 26 "@implab/core-amd": "^1.4.0",
27 "dojo": "1.16.0"
27 "dojo": "^1.10.0"
28 28 }
29 29 },
30 30 "node_modules/@babel/code-frame": {
31 31 "version": "7.8.3",
32 32 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
33 33 "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
34 34 "dev": true,
35 35 "dependencies": {
36 36 "@babel/highlight": "^7.8.3"
37 37 }
38 38 },
39 39 "node_modules/@babel/highlight": {
40 40 "version": "7.8.3",
41 41 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
42 42 "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
43 43 "dev": true,
44 44 "dependencies": {
45 45 "chalk": "^2.0.0",
46 46 "esutils": "^2.0.2",
47 47 "js-tokens": "^4.0.0"
48 48 }
49 49 },
50 50 "node_modules/@babel/runtime": {
51 51 "version": "7.8.3",
52 52 "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz",
53 53 "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==",
54 54 "dev": true,
55 55 "dependencies": {
56 56 "regenerator-runtime": "^0.13.2"
57 57 }
58 58 },
59 59 "node_modules/@implab/core-amd": {
60 60 "version": "1.4.0",
61 61 "resolved": "https://registry.npmjs.org/@implab/core-amd/-/core-amd-1.4.0.tgz",
62 62 "integrity": "sha512-gaJX1mhri7YpmXDTAYELZnmTznzXYpk2AI7Decsttdi6xY+bqGgH24q0AFcKrx8RY2jfsFXxDdf0fITz2HpBbw==",
63 63 "dev": true
64 64 },
65 65 "node_modules/@types/chai": {
66 66 "version": "4.1.3",
67 67 "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.3.tgz",
68 68 "integrity": "sha512-f5dXGzOJycyzSMdaXVhiBhauL4dYydXwVpavfQ1mVCaGjR56a9QfklXObUxlIY9bGTmCPHEEZ04I16BZ/8w5ww==",
69 69 "dev": true
70 70 },
71 71 "node_modules/@types/requirejs": {
72 72 "version": "2.1.31",
73 73 "resolved": "https://registry.npmjs.org/@types/requirejs/-/requirejs-2.1.31.tgz",
74 74 "integrity": "sha512-b2soeyuU76rMbcRJ4e0hEl0tbMhFwZeTC0VZnfuWlfGlk6BwWNsev6kFu/twKABPX29wkX84wU2o+cEJoXsiTw==",
75 75 "dev": true
76 76 },
77 77 "node_modules/@types/yaml": {
78 78 "version": "1.2.0",
79 79 "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.2.0.tgz",
80 80 "integrity": "sha512-GW8b9qM+ebgW3/zjzPm0I1NxMvLaz/YKT9Ph6tTb+Fkeyzd9yLTvQ6ciQ2MorTRmb/qXmfjMerRpG4LviixaqQ==",
81 81 "dev": true
82 82 },
83 83 "node_modules/acorn": {
84 84 "version": "7.4.0",
85 85 "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz",
86 86 "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==",
87 87 "dev": true,
88 88 "bin": {
89 89 "acorn": "bin/acorn"
90 90 },
91 91 "engines": {
92 92 "node": ">=0.4.0"
93 93 }
94 94 },
95 95 "node_modules/acorn-jsx": {
96 96 "version": "5.1.0",
97 97 "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz",
98 98 "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==",
99 99 "dev": true
100 100 },
101 101 "node_modules/ajv": {
102 102 "version": "6.11.0",
103 103 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz",
104 104 "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==",
105 105 "dev": true,
106 106 "dependencies": {
107 107 "fast-deep-equal": "^3.1.1",
108 108 "fast-json-stable-stringify": "^2.0.0",
109 109 "json-schema-traverse": "^0.4.1",
110 110 "uri-js": "^4.2.2"
111 111 }
112 112 },
113 113 "node_modules/ansi-escapes": {
114 114 "version": "4.3.0",
115 115 "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz",
116 116 "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==",
117 117 "dev": true,
118 118 "dependencies": {
119 119 "type-fest": "^0.8.1"
120 120 },
121 121 "engines": {
122 122 "node": ">=8"
123 123 }
124 124 },
125 125 "node_modules/ansi-regex": {
126 126 "version": "5.0.0",
127 127 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
128 128 "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
129 129 "dev": true,
130 130 "engines": {
131 131 "node": ">=8"
132 132 }
133 133 },
134 134 "node_modules/ansi-styles": {
135 135 "version": "3.2.1",
136 136 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
137 137 "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
138 138 "dev": true,
139 139 "dependencies": {
140 140 "color-convert": "^1.9.0"
141 141 },
142 142 "engines": {
143 143 "node": ">=4"
144 144 }
145 145 },
146 146 "node_modules/argparse": {
147 147 "version": "1.0.10",
148 148 "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
149 149 "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
150 150 "dev": true,
151 151 "dependencies": {
152 152 "sprintf-js": "~1.0.2"
153 153 }
154 154 },
155 155 "node_modules/assertion-error": {
156 156 "version": "1.1.0",
157 157 "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
158 158 "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
159 159 "dev": true,
160 160 "engines": {
161 161 "node": "*"
162 162 }
163 163 },
164 164 "node_modules/astral-regex": {
165 165 "version": "1.0.0",
166 166 "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
167 167 "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
168 168 "dev": true,
169 169 "engines": {
170 170 "node": ">=4"
171 171 }
172 172 },
173 173 "node_modules/balanced-match": {
174 174 "version": "1.0.0",
175 175 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
176 176 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
177 177 "dev": true
178 178 },
179 179 "node_modules/brace-expansion": {
180 180 "version": "1.1.11",
181 181 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
182 182 "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
183 183 "dev": true,
184 184 "dependencies": {
185 185 "balanced-match": "^1.0.0",
186 186 "concat-map": "0.0.1"
187 187 }
188 188 },
189 189 "node_modules/builtin-modules": {
190 190 "version": "1.1.1",
191 191 "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
192 192 "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
193 193 "dev": true,
194 194 "engines": {
195 195 "node": ">=0.10.0"
196 196 }
197 197 },
198 198 "node_modules/callsites": {
199 199 "version": "3.1.0",
200 200 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
201 201 "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
202 202 "dev": true,
203 203 "engines": {
204 204 "node": ">=6"
205 205 }
206 206 },
207 207 "node_modules/chai": {
208 208 "version": "4.2.0",
209 209 "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz",
210 210 "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==",
211 211 "dev": true,
212 212 "dependencies": {
213 213 "assertion-error": "^1.1.0",
214 214 "check-error": "^1.0.2",
215 215 "deep-eql": "^3.0.1",
216 216 "get-func-name": "^2.0.0",
217 217 "pathval": "^1.1.0",
218 218 "type-detect": "^4.0.5"
219 219 },
220 220 "engines": {
221 221 "node": ">=4"
222 222 }
223 223 },
224 224 "node_modules/chalk": {
225 225 "version": "2.4.2",
226 226 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
227 227 "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
228 228 "dev": true,
229 229 "dependencies": {
230 230 "ansi-styles": "^3.2.1",
231 231 "escape-string-regexp": "^1.0.5",
232 232 "supports-color": "^5.3.0"
233 233 },
234 234 "engines": {
235 235 "node": ">=4"
236 236 }
237 237 },
238 238 "node_modules/chardet": {
239 239 "version": "0.7.0",
240 240 "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
241 241 "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
242 242 "dev": true
243 243 },
244 244 "node_modules/check-error": {
245 245 "version": "1.0.2",
246 246 "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
247 247 "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=",
248 248 "dev": true,
249 249 "engines": {
250 250 "node": "*"
251 251 }
252 252 },
253 253 "node_modules/cli-cursor": {
254 254 "version": "3.1.0",
255 255 "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
256 256 "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
257 257 "dev": true,
258 258 "dependencies": {
259 259 "restore-cursor": "^3.1.0"
260 260 },
261 261 "engines": {
262 262 "node": ">=8"
263 263 }
264 264 },
265 265 "node_modules/cli-width": {
266 266 "version": "2.2.0",
267 267 "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
268 268 "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
269 269 "dev": true
270 270 },
271 271 "node_modules/color-convert": {
272 272 "version": "1.9.3",
273 273 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
274 274 "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
275 275 "dev": true,
276 276 "dependencies": {
277 277 "color-name": "1.1.3"
278 278 }
279 279 },
280 280 "node_modules/color-name": {
281 281 "version": "1.1.3",
282 282 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
283 283 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
284 284 "dev": true
285 285 },
286 286 "node_modules/commander": {
287 287 "version": "2.20.3",
288 288 "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
289 289 "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
290 290 "dev": true
291 291 },
292 292 "node_modules/concat-map": {
293 293 "version": "0.0.1",
294 294 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
295 295 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
296 296 "dev": true
297 297 },
298 298 "node_modules/cross-spawn": {
299 299 "version": "6.0.5",
300 300 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
301 301 "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
302 302 "dev": true,
303 303 "dependencies": {
304 304 "nice-try": "^1.0.4",
305 305 "path-key": "^2.0.1",
306 306 "semver": "^5.5.0",
307 307 "shebang-command": "^1.2.0",
308 308 "which": "^1.2.9"
309 309 },
310 310 "engines": {
311 311 "node": ">=4.8"
312 312 }
313 313 },
314 314 "node_modules/cross-spawn/node_modules/semver": {
315 315 "version": "5.7.1",
316 316 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
317 317 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
318 318 "dev": true,
319 319 "bin": {
320 320 "semver": "bin/semver"
321 321 }
322 322 },
323 323 "node_modules/debug": {
324 324 "version": "4.1.1",
325 325 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
326 326 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
327 327 "dev": true,
328 328 "dependencies": {
329 329 "ms": "^2.1.1"
330 330 }
331 331 },
332 332 "node_modules/deep-eql": {
333 333 "version": "3.0.1",
334 334 "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
335 335 "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
336 336 "dev": true,
337 337 "dependencies": {
338 338 "type-detect": "^4.0.0"
339 339 },
340 340 "engines": {
341 341 "node": ">=0.12"
342 342 }
343 343 },
344 344 "node_modules/deep-is": {
345 345 "version": "0.1.3",
346 346 "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
347 347 "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
348 348 "dev": true
349 349 },
350 350 "node_modules/diff": {
351 351 "version": "4.0.2",
352 352 "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
353 353 "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
354 354 "dev": true,
355 355 "engines": {
356 356 "node": ">=0.3.1"
357 357 }
358 358 },
359 359 "node_modules/doctrine": {
360 360 "version": "3.0.0",
361 361 "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
362 362 "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
363 363 "dev": true,
364 364 "dependencies": {
365 365 "esutils": "^2.0.2"
366 366 },
367 367 "engines": {
368 368 "node": ">=6.0.0"
369 369 }
370 370 },
371 371 "node_modules/dojo": {
372 372 "version": "1.16.0",
373 373 "resolved": "https://registry.npmjs.org/dojo/-/dojo-1.16.0.tgz",
374 374 "integrity": "sha512-DUiXyoLK6vMF5BPr/qiMLTxDMfiM9qlzN1jxfDsVfuvB/CwhYpNxA/M4mbqKN8PCVGLmccXBJbfmFJPP5+zmzw==",
375 375 "dev": true
376 376 },
377 377 "node_modules/dojo-typings": {
378 378 "version": "1.11.9",
379 379 "resolved": "https://registry.npmjs.org/dojo-typings/-/dojo-typings-1.11.9.tgz",
380 380 "integrity": "sha512-mh8w+Mau2Y1QfTEszEAdO7j6ycNhYxF/Ing6nAk1eUg6NxjeT0viVHjICMd9sU3U463vM2G+KfBBK5grk3/Mlw==",
381 381 "dev": true,
382 382 "dependencies": {
383 383 "@types/chai": "^4.0.4"
384 384 }
385 385 },
386 386 "node_modules/emoji-regex": {
387 387 "version": "8.0.0",
388 388 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
389 389 "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
390 390 "dev": true
391 391 },
392 392 "node_modules/escape-string-regexp": {
393 393 "version": "1.0.5",
394 394 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
395 395 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
396 396 "dev": true,
397 397 "engines": {
398 398 "node": ">=0.8.0"
399 399 }
400 400 },
401 401 "node_modules/eslint": {
402 402 "version": "6.8.0",
403 403 "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
404 404 "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
405 405 "dev": true,
406 406 "dependencies": {
407 407 "@babel/code-frame": "^7.0.0",
408 408 "ajv": "^6.10.0",
409 409 "chalk": "^2.1.0",
410 410 "cross-spawn": "^6.0.5",
411 411 "debug": "^4.0.1",
412 412 "doctrine": "^3.0.0",
413 413 "eslint-scope": "^5.0.0",
414 414 "eslint-utils": "^1.4.3",
415 415 "eslint-visitor-keys": "^1.1.0",
416 416 "espree": "^6.1.2",
417 417 "esquery": "^1.0.1",
418 418 "esutils": "^2.0.2",
419 419 "file-entry-cache": "^5.0.1",
420 420 "functional-red-black-tree": "^1.0.1",
421 421 "glob-parent": "^5.0.0",
422 422 "globals": "^12.1.0",
423 423 "ignore": "^4.0.6",
424 424 "import-fresh": "^3.0.0",
425 425 "imurmurhash": "^0.1.4",
426 426 "inquirer": "^7.0.0",
427 427 "is-glob": "^4.0.0",
428 428 "js-yaml": "^3.13.1",
429 429 "json-stable-stringify-without-jsonify": "^1.0.1",
430 430 "levn": "^0.3.0",
431 431 "lodash": "^4.17.14",
432 432 "minimatch": "^3.0.4",
433 433 "mkdirp": "^0.5.1",
434 434 "natural-compare": "^1.4.0",
435 435 "optionator": "^0.8.3",
436 436 "progress": "^2.0.0",
437 437 "regexpp": "^2.0.1",
438 438 "semver": "^6.1.2",
439 439 "strip-ansi": "^5.2.0",
440 440 "strip-json-comments": "^3.0.1",
441 441 "table": "^5.2.3",
442 442 "text-table": "^0.2.0",
443 443 "v8-compile-cache": "^2.0.3"
444 444 },
445 445 "bin": {
446 446 "eslint": "bin/eslint.js"
447 447 },
448 448 "engines": {
449 449 "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
450 450 }
451 451 },
452 452 "node_modules/eslint-scope": {
453 453 "version": "5.0.0",
454 454 "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
455 455 "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
456 456 "dev": true,
457 457 "dependencies": {
458 458 "esrecurse": "^4.1.0",
459 459 "estraverse": "^4.1.1"
460 460 },
461 461 "engines": {
462 462 "node": ">=8.0.0"
463 463 }
464 464 },
465 465 "node_modules/eslint-utils": {
466 466 "version": "1.4.3",
467 467 "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
468 468 "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
469 469 "dev": true,
470 470 "dependencies": {
471 471 "eslint-visitor-keys": "^1.1.0"
472 472 },
473 473 "engines": {
474 474 "node": ">=6"
475 475 }
476 476 },
477 477 "node_modules/eslint-visitor-keys": {
478 478 "version": "1.1.0",
479 479 "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
480 480 "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
481 481 "dev": true,
482 482 "engines": {
483 483 "node": ">=4"
484 484 }
485 485 },
486 486 "node_modules/espree": {
487 487 "version": "6.1.2",
488 488 "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz",
489 489 "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==",
490 490 "dev": true,
491 491 "dependencies": {
492 492 "acorn": "^7.1.0",
493 493 "acorn-jsx": "^5.1.0",
494 494 "eslint-visitor-keys": "^1.1.0"
495 495 },
496 496 "engines": {
497 497 "node": ">=6.0.0"
498 498 }
499 499 },
500 500 "node_modules/esprima": {
501 501 "version": "4.0.1",
502 502 "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
503 503 "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
504 504 "dev": true,
505 505 "bin": {
506 506 "esparse": "bin/esparse.js",
507 507 "esvalidate": "bin/esvalidate.js"
508 508 },
509 509 "engines": {
510 510 "node": ">=4"
511 511 }
512 512 },
513 513 "node_modules/esquery": {
514 514 "version": "1.0.1",
515 515 "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
516 516 "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
517 517 "dev": true,
518 518 "dependencies": {
519 519 "estraverse": "^4.0.0"
520 520 },
521 521 "engines": {
522 522 "node": ">=0.6"
523 523 }
524 524 },
525 525 "node_modules/esrecurse": {
526 526 "version": "4.2.1",
527 527 "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
528 528 "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
529 529 "dev": true,
530 530 "dependencies": {
531 531 "estraverse": "^4.1.0"
532 532 },
533 533 "engines": {
534 534 "node": ">=4.0"
535 535 }
536 536 },
537 537 "node_modules/estraverse": {
538 538 "version": "4.3.0",
539 539 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
540 540 "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
541 541 "dev": true,
542 542 "engines": {
543 543 "node": ">=4.0"
544 544 }
545 545 },
546 546 "node_modules/esutils": {
547 547 "version": "2.0.3",
548 548 "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
549 549 "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
550 550 "dev": true,
551 551 "engines": {
552 552 "node": ">=0.10.0"
553 553 }
554 554 },
555 555 "node_modules/external-editor": {
556 556 "version": "3.1.0",
557 557 "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
558 558 "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
559 559 "dev": true,
560 560 "dependencies": {
561 561 "chardet": "^0.7.0",
562 562 "iconv-lite": "^0.4.24",
563 563 "tmp": "^0.0.33"
564 564 },
565 565 "engines": {
566 566 "node": ">=4"
567 567 }
568 568 },
569 569 "node_modules/fast-deep-equal": {
570 570 "version": "3.1.1",
571 571 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
572 572 "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
573 573 "dev": true
574 574 },
575 575 "node_modules/fast-json-stable-stringify": {
576 576 "version": "2.1.0",
577 577 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
578 578 "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
579 579 "dev": true
580 580 },
581 581 "node_modules/fast-levenshtein": {
582 582 "version": "2.0.6",
583 583 "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
584 584 "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
585 585 "dev": true
586 586 },
587 587 "node_modules/figures": {
588 588 "version": "3.1.0",
589 589 "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz",
590 590 "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==",
591 591 "dev": true,
592 592 "dependencies": {
593 593 "escape-string-regexp": "^1.0.5"
594 594 },
595 595 "engines": {
596 596 "node": ">=8"
597 597 }
598 598 },
599 599 "node_modules/file-entry-cache": {
600 600 "version": "5.0.1",
601 601 "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
602 602 "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
603 603 "dev": true,
604 604 "dependencies": {
605 605 "flat-cache": "^2.0.1"
606 606 },
607 607 "engines": {
608 608 "node": ">=4"
609 609 }
610 610 },
611 611 "node_modules/flat-cache": {
612 612 "version": "2.0.1",
613 613 "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
614 614 "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
615 615 "dev": true,
616 616 "dependencies": {
617 617 "flatted": "^2.0.0",
618 618 "rimraf": "2.6.3",
619 619 "write": "1.0.3"
620 620 },
621 621 "engines": {
622 622 "node": ">=4"
623 623 }
624 624 },
625 625 "node_modules/flatted": {
626 626 "version": "2.0.1",
627 627 "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
628 628 "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
629 629 "dev": true
630 630 },
631 631 "node_modules/fs.realpath": {
632 632 "version": "1.0.0",
633 633 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
634 634 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
635 635 "dev": true
636 636 },
637 637 "node_modules/functional-red-black-tree": {
638 638 "version": "1.0.1",
639 639 "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
640 640 "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
641 641 "dev": true
642 642 },
643 643 "node_modules/get-func-name": {
644 644 "version": "2.0.0",
645 645 "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
646 646 "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=",
647 647 "dev": true,
648 648 "engines": {
649 649 "node": "*"
650 650 }
651 651 },
652 652 "node_modules/glob": {
653 653 "version": "7.1.6",
654 654 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
655 655 "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
656 656 "dev": true,
657 657 "dependencies": {
658 658 "fs.realpath": "^1.0.0",
659 659 "inflight": "^1.0.4",
660 660 "inherits": "2",
661 661 "minimatch": "^3.0.4",
662 662 "once": "^1.3.0",
663 663 "path-is-absolute": "^1.0.0"
664 664 },
665 665 "engines": {
666 666 "node": "*"
667 667 }
668 668 },
669 669 "node_modules/glob-parent": {
670 670 "version": "5.1.0",
671 671 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
672 672 "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
673 673 "dev": true,
674 674 "dependencies": {
675 675 "is-glob": "^4.0.1"
676 676 },
677 677 "engines": {
678 678 "node": ">= 6"
679 679 }
680 680 },
681 681 "node_modules/globals": {
682 682 "version": "12.3.0",
683 683 "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz",
684 684 "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==",
685 685 "dev": true,
686 686 "dependencies": {
687 687 "type-fest": "^0.8.1"
688 688 },
689 689 "engines": {
690 690 "node": ">=8"
691 691 }
692 692 },
693 693 "node_modules/has-flag": {
694 694 "version": "3.0.0",
695 695 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
696 696 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
697 697 "dev": true,
698 698 "engines": {
699 699 "node": ">=4"
700 700 }
701 701 },
702 702 "node_modules/iconv-lite": {
703 703 "version": "0.4.24",
704 704 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
705 705 "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
706 706 "dev": true,
707 707 "dependencies": {
708 708 "safer-buffer": ">= 2.1.2 < 3"
709 709 },
710 710 "engines": {
711 711 "node": ">=0.10.0"
712 712 }
713 713 },
714 714 "node_modules/ignore": {
715 715 "version": "4.0.6",
716 716 "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
717 717 "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
718 718 "dev": true,
719 719 "engines": {
720 720 "node": ">= 4"
721 721 }
722 722 },
723 723 "node_modules/import-fresh": {
724 724 "version": "3.2.1",
725 725 "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
726 726 "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
727 727 "dev": true,
728 728 "dependencies": {
729 729 "parent-module": "^1.0.0",
730 730 "resolve-from": "^4.0.0"
731 731 },
732 732 "engines": {
733 733 "node": ">=6"
734 734 }
735 735 },
736 736 "node_modules/imurmurhash": {
737 737 "version": "0.1.4",
738 738 "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
739 739 "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
740 740 "dev": true,
741 741 "engines": {
742 742 "node": ">=0.8.19"
743 743 }
744 744 },
745 745 "node_modules/inflight": {
746 746 "version": "1.0.6",
747 747 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
748 748 "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
749 749 "dev": true,
750 750 "dependencies": {
751 751 "once": "^1.3.0",
752 752 "wrappy": "1"
753 753 }
754 754 },
755 755 "node_modules/inherits": {
756 756 "version": "2.0.4",
757 757 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
758 758 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
759 759 "dev": true
760 760 },
761 761 "node_modules/inquirer": {
762 762 "version": "7.0.3",
763 763 "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.3.tgz",
764 764 "integrity": "sha512-+OiOVeVydu4hnCGLCSX+wedovR/Yzskv9BFqUNNKq9uU2qg7LCcCo3R86S2E7WLo0y/x2pnEZfZe1CoYnORUAw==",
765 765 "dev": true,
766 766 "dependencies": {
767 767 "ansi-escapes": "^4.2.1",
768 768 "chalk": "^2.4.2",
769 769 "cli-cursor": "^3.1.0",
770 770 "cli-width": "^2.0.0",
771 771 "external-editor": "^3.0.3",
772 772 "figures": "^3.0.0",
773 773 "lodash": "^4.17.15",
774 774 "mute-stream": "0.0.8",
775 775 "run-async": "^2.2.0",
776 776 "rxjs": "^6.5.3",
777 777 "string-width": "^4.1.0",
778 778 "strip-ansi": "^5.1.0",
779 779 "through": "^2.3.6"
780 780 },
781 781 "engines": {
782 782 "node": ">=6.0.0"
783 783 }
784 784 },
785 785 "node_modules/is-extglob": {
786 786 "version": "2.1.1",
787 787 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
788 788 "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
789 789 "dev": true,
790 790 "engines": {
791 791 "node": ">=0.10.0"
792 792 }
793 793 },
794 794 "node_modules/is-fullwidth-code-point": {
795 795 "version": "3.0.0",
796 796 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
797 797 "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
798 798 "dev": true,
799 799 "engines": {
800 800 "node": ">=8"
801 801 }
802 802 },
803 803 "node_modules/is-glob": {
804 804 "version": "4.0.1",
805 805 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
806 806 "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
807 807 "dev": true,
808 808 "dependencies": {
809 809 "is-extglob": "^2.1.1"
810 810 },
811 811 "engines": {
812 812 "node": ">=0.10.0"
813 813 }
814 814 },
815 815 "node_modules/is-promise": {
816 816 "version": "2.1.0",
817 817 "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
818 818 "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
819 819 "dev": true
820 820 },
821 821 "node_modules/isexe": {
822 822 "version": "2.0.0",
823 823 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
824 824 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
825 825 "dev": true
826 826 },
827 827 "node_modules/js-tokens": {
828 828 "version": "4.0.0",
829 829 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
830 830 "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
831 831 "dev": true
832 832 },
833 833 "node_modules/js-yaml": {
834 834 "version": "3.13.1",
835 835 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
836 836 "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
837 837 "dev": true,
838 838 "dependencies": {
839 839 "argparse": "^1.0.7",
840 840 "esprima": "^4.0.0"
841 841 },
842 842 "bin": {
843 843 "js-yaml": "bin/js-yaml.js"
844 844 }
845 845 },
846 846 "node_modules/json-schema-traverse": {
847 847 "version": "0.4.1",
848 848 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
849 849 "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
850 850 "dev": true
851 851 },
852 852 "node_modules/json-stable-stringify-without-jsonify": {
853 853 "version": "1.0.1",
854 854 "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
855 855 "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
856 856 "dev": true
857 857 },
858 858 "node_modules/levn": {
859 859 "version": "0.3.0",
860 860 "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
861 861 "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
862 862 "dev": true,
863 863 "dependencies": {
864 864 "prelude-ls": "~1.1.2",
865 865 "type-check": "~0.3.2"
866 866 },
867 867 "engines": {
868 868 "node": ">= 0.8.0"
869 869 }
870 870 },
871 871 "node_modules/lodash": {
872 872 "version": "4.17.20",
873 873 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
874 874 "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
875 875 "dev": true
876 876 },
877 877 "node_modules/mimic-fn": {
878 878 "version": "2.1.0",
879 879 "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
880 880 "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
881 881 "dev": true,
882 882 "engines": {
883 883 "node": ">=6"
884 884 }
885 885 },
886 886 "node_modules/minimatch": {
887 887 "version": "3.0.4",
888 888 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
889 889 "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
890 890 "dev": true,
891 891 "dependencies": {
892 892 "brace-expansion": "^1.1.7"
893 893 },
894 894 "engines": {
895 895 "node": "*"
896 896 }
897 897 },
898 898 "node_modules/mkdirp": {
899 899 "version": "0.5.5",
900 900 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
901 901 "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
902 902 "dev": true,
903 903 "dependencies": {
904 904 "minimist": "^1.2.5"
905 905 },
906 906 "bin": {
907 907 "mkdirp": "bin/cmd.js"
908 908 }
909 909 },
910 910 "node_modules/mkdirp/node_modules/minimist": {
911 911 "version": "1.2.5",
912 912 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
913 913 "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
914 914 "dev": true
915 915 },
916 916 "node_modules/ms": {
917 917 "version": "2.1.2",
918 918 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
919 919 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
920 920 "dev": true
921 921 },
922 922 "node_modules/mute-stream": {
923 923 "version": "0.0.8",
924 924 "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
925 925 "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
926 926 "dev": true
927 927 },
928 928 "node_modules/natural-compare": {
929 929 "version": "1.4.0",
930 930 "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
931 931 "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
932 932 "dev": true
933 933 },
934 934 "node_modules/nice-try": {
935 935 "version": "1.0.5",
936 936 "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
937 937 "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
938 938 "dev": true
939 939 },
940 940 "node_modules/once": {
941 941 "version": "1.4.0",
942 942 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
943 943 "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
944 944 "dev": true,
945 945 "dependencies": {
946 946 "wrappy": "1"
947 947 }
948 948 },
949 949 "node_modules/onetime": {
950 950 "version": "5.1.0",
951 951 "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
952 952 "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
953 953 "dev": true,
954 954 "dependencies": {
955 955 "mimic-fn": "^2.1.0"
956 956 },
957 957 "engines": {
958 958 "node": ">=6"
959 959 }
960 960 },
961 961 "node_modules/optionator": {
962 962 "version": "0.8.3",
963 963 "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
964 964 "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
965 965 "dev": true,
966 966 "dependencies": {
967 967 "deep-is": "~0.1.3",
968 968 "fast-levenshtein": "~2.0.6",
969 969 "levn": "~0.3.0",
970 970 "prelude-ls": "~1.1.2",
971 971 "type-check": "~0.3.2",
972 972 "word-wrap": "~1.2.3"
973 973 },
974 974 "engines": {
975 975 "node": ">= 0.8.0"
976 976 }
977 977 },
978 978 "node_modules/os-tmpdir": {
979 979 "version": "1.0.2",
980 980 "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
981 981 "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
982 982 "dev": true,
983 983 "engines": {
984 984 "node": ">=0.10.0"
985 985 }
986 986 },
987 987 "node_modules/parent-module": {
988 988 "version": "1.0.1",
989 989 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
990 990 "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
991 991 "dev": true,
992 992 "dependencies": {
993 993 "callsites": "^3.0.0"
994 994 },
995 995 "engines": {
996 996 "node": ">=6"
997 997 }
998 998 },
999 999 "node_modules/path-is-absolute": {
1000 1000 "version": "1.0.1",
1001 1001 "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1002 1002 "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
1003 1003 "dev": true,
1004 1004 "engines": {
1005 1005 "node": ">=0.10.0"
1006 1006 }
1007 1007 },
1008 1008 "node_modules/path-key": {
1009 1009 "version": "2.0.1",
1010 1010 "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
1011 1011 "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
1012 1012 "dev": true,
1013 1013 "engines": {
1014 1014 "node": ">=4"
1015 1015 }
1016 1016 },
1017 1017 "node_modules/path-parse": {
1018 1018 "version": "1.0.6",
1019 1019 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
1020 1020 "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
1021 1021 "dev": true
1022 1022 },
1023 1023 "node_modules/pathval": {
1024 1024 "version": "1.1.0",
1025 1025 "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
1026 1026 "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=",
1027 1027 "dev": true,
1028 1028 "engines": {
1029 1029 "node": "*"
1030 1030 }
1031 1031 },
1032 1032 "node_modules/prelude-ls": {
1033 1033 "version": "1.1.2",
1034 1034 "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
1035 1035 "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
1036 1036 "dev": true,
1037 1037 "engines": {
1038 1038 "node": ">= 0.8.0"
1039 1039 }
1040 1040 },
1041 1041 "node_modules/progress": {
1042 1042 "version": "2.0.3",
1043 1043 "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
1044 1044 "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
1045 1045 "dev": true,
1046 1046 "engines": {
1047 1047 "node": ">=0.4.0"
1048 1048 }
1049 1049 },
1050 1050 "node_modules/punycode": {
1051 1051 "version": "2.1.1",
1052 1052 "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
1053 1053 "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
1054 1054 "dev": true,
1055 1055 "engines": {
1056 1056 "node": ">=6"
1057 1057 }
1058 1058 },
1059 1059 "node_modules/regenerator-runtime": {
1060 1060 "version": "0.13.3",
1061 1061 "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
1062 1062 "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==",
1063 1063 "dev": true
1064 1064 },
1065 1065 "node_modules/regexpp": {
1066 1066 "version": "2.0.1",
1067 1067 "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
1068 1068 "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
1069 1069 "dev": true,
1070 1070 "engines": {
1071 1071 "node": ">=6.5.0"
1072 1072 }
1073 1073 },
1074 1074 "node_modules/requirejs": {
1075 1075 "version": "2.3.6",
1076 1076 "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz",
1077 1077 "integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==",
1078 1078 "dev": true,
1079 1079 "bin": {
1080 1080 "r_js": "bin/r.js",
1081 1081 "r.js": "bin/r.js"
1082 1082 },
1083 1083 "engines": {
1084 1084 "node": ">=0.4.0"
1085 1085 }
1086 1086 },
1087 1087 "node_modules/resolve": {
1088 1088 "version": "1.17.0",
1089 1089 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
1090 1090 "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
1091 1091 "dev": true,
1092 1092 "dependencies": {
1093 1093 "path-parse": "^1.0.6"
1094 1094 }
1095 1095 },
1096 1096 "node_modules/resolve-from": {
1097 1097 "version": "4.0.0",
1098 1098 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
1099 1099 "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
1100 1100 "dev": true,
1101 1101 "engines": {
1102 1102 "node": ">=4"
1103 1103 }
1104 1104 },
1105 1105 "node_modules/restore-cursor": {
1106 1106 "version": "3.1.0",
1107 1107 "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
1108 1108 "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
1109 1109 "dev": true,
1110 1110 "dependencies": {
1111 1111 "onetime": "^5.1.0",
1112 1112 "signal-exit": "^3.0.2"
1113 1113 },
1114 1114 "engines": {
1115 1115 "node": ">=8"
1116 1116 }
1117 1117 },
1118 1118 "node_modules/rimraf": {
1119 1119 "version": "2.6.3",
1120 1120 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
1121 1121 "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
1122 1122 "dev": true,
1123 1123 "dependencies": {
1124 1124 "glob": "^7.1.3"
1125 1125 },
1126 1126 "bin": {
1127 1127 "rimraf": "bin.js"
1128 1128 }
1129 1129 },
1130 1130 "node_modules/run-async": {
1131 1131 "version": "2.3.0",
1132 1132 "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
1133 1133 "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
1134 1134 "dev": true,
1135 1135 "dependencies": {
1136 1136 "is-promise": "^2.1.0"
1137 1137 },
1138 1138 "engines": {
1139 1139 "node": ">=0.12.0"
1140 1140 }
1141 1141 },
1142 1142 "node_modules/rxjs": {
1143 1143 "version": "6.5.4",
1144 1144 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
1145 1145 "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
1146 1146 "dev": true,
1147 1147 "dependencies": {
1148 1148 "tslib": "^1.9.0"
1149 1149 },
1150 1150 "engines": {
1151 1151 "npm": ">=2.0.0"
1152 1152 }
1153 1153 },
1154 1154 "node_modules/safer-buffer": {
1155 1155 "version": "2.1.2",
1156 1156 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1157 1157 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
1158 1158 "dev": true
1159 1159 },
1160 1160 "node_modules/semver": {
1161 1161 "version": "6.3.0",
1162 1162 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
1163 1163 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
1164 1164 "dev": true,
1165 1165 "bin": {
1166 1166 "semver": "bin/semver.js"
1167 1167 }
1168 1168 },
1169 1169 "node_modules/shebang-command": {
1170 1170 "version": "1.2.0",
1171 1171 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
1172 1172 "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
1173 1173 "dev": true,
1174 1174 "dependencies": {
1175 1175 "shebang-regex": "^1.0.0"
1176 1176 },
1177 1177 "engines": {
1178 1178 "node": ">=0.10.0"
1179 1179 }
1180 1180 },
1181 1181 "node_modules/shebang-regex": {
1182 1182 "version": "1.0.0",
1183 1183 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
1184 1184 "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
1185 1185 "dev": true,
1186 1186 "engines": {
1187 1187 "node": ">=0.10.0"
1188 1188 }
1189 1189 },
1190 1190 "node_modules/signal-exit": {
1191 1191 "version": "3.0.2",
1192 1192 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
1193 1193 "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
1194 1194 "dev": true
1195 1195 },
1196 1196 "node_modules/slice-ansi": {
1197 1197 "version": "2.1.0",
1198 1198 "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
1199 1199 "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
1200 1200 "dev": true,
1201 1201 "dependencies": {
1202 1202 "ansi-styles": "^3.2.0",
1203 1203 "astral-regex": "^1.0.0",
1204 1204 "is-fullwidth-code-point": "^2.0.0"
1205 1205 },
1206 1206 "engines": {
1207 1207 "node": ">=6"
1208 1208 }
1209 1209 },
1210 1210 "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": {
1211 1211 "version": "2.0.0",
1212 1212 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
1213 1213 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
1214 1214 "dev": true,
1215 1215 "engines": {
1216 1216 "node": ">=4"
1217 1217 }
1218 1218 },
1219 1219 "node_modules/sprintf-js": {
1220 1220 "version": "1.0.3",
1221 1221 "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
1222 1222 "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
1223 1223 "dev": true
1224 1224 },
1225 1225 "node_modules/string-width": {
1226 1226 "version": "4.2.0",
1227 1227 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
1228 1228 "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
1229 1229 "dev": true,
1230 1230 "dependencies": {
1231 1231 "emoji-regex": "^8.0.0",
1232 1232 "is-fullwidth-code-point": "^3.0.0",
1233 1233 "strip-ansi": "^6.0.0"
1234 1234 },
1235 1235 "engines": {
1236 1236 "node": ">=8"
1237 1237 }
1238 1238 },
1239 1239 "node_modules/string-width/node_modules/strip-ansi": {
1240 1240 "version": "6.0.0",
1241 1241 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
1242 1242 "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
1243 1243 "dev": true,
1244 1244 "dependencies": {
1245 1245 "ansi-regex": "^5.0.0"
1246 1246 },
1247 1247 "engines": {
1248 1248 "node": ">=8"
1249 1249 }
1250 1250 },
1251 1251 "node_modules/strip-ansi": {
1252 1252 "version": "5.2.0",
1253 1253 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
1254 1254 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
1255 1255 "dev": true,
1256 1256 "dependencies": {
1257 1257 "ansi-regex": "^4.1.0"
1258 1258 },
1259 1259 "engines": {
1260 1260 "node": ">=6"
1261 1261 }
1262 1262 },
1263 1263 "node_modules/strip-ansi/node_modules/ansi-regex": {
1264 1264 "version": "4.1.0",
1265 1265 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
1266 1266 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
1267 1267 "dev": true,
1268 1268 "engines": {
1269 1269 "node": ">=6"
1270 1270 }
1271 1271 },
1272 1272 "node_modules/strip-json-comments": {
1273 1273 "version": "3.0.1",
1274 1274 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
1275 1275 "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
1276 1276 "dev": true,
1277 1277 "engines": {
1278 1278 "node": ">=8"
1279 1279 }
1280 1280 },
1281 1281 "node_modules/supports-color": {
1282 1282 "version": "5.5.0",
1283 1283 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
1284 1284 "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
1285 1285 "dev": true,
1286 1286 "dependencies": {
1287 1287 "has-flag": "^3.0.0"
1288 1288 },
1289 1289 "engines": {
1290 1290 "node": ">=4"
1291 1291 }
1292 1292 },
1293 1293 "node_modules/table": {
1294 1294 "version": "5.4.6",
1295 1295 "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
1296 1296 "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
1297 1297 "dev": true,
1298 1298 "dependencies": {
1299 1299 "ajv": "^6.10.2",
1300 1300 "lodash": "^4.17.14",
1301 1301 "slice-ansi": "^2.1.0",
1302 1302 "string-width": "^3.0.0"
1303 1303 },
1304 1304 "engines": {
1305 1305 "node": ">=6.0.0"
1306 1306 }
1307 1307 },
1308 1308 "node_modules/table/node_modules/emoji-regex": {
1309 1309 "version": "7.0.3",
1310 1310 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
1311 1311 "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
1312 1312 "dev": true
1313 1313 },
1314 1314 "node_modules/table/node_modules/is-fullwidth-code-point": {
1315 1315 "version": "2.0.0",
1316 1316 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
1317 1317 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
1318 1318 "dev": true,
1319 1319 "engines": {
1320 1320 "node": ">=4"
1321 1321 }
1322 1322 },
1323 1323 "node_modules/table/node_modules/string-width": {
1324 1324 "version": "3.1.0",
1325 1325 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
1326 1326 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
1327 1327 "dev": true,
1328 1328 "dependencies": {
1329 1329 "emoji-regex": "^7.0.1",
1330 1330 "is-fullwidth-code-point": "^2.0.0",
1331 1331 "strip-ansi": "^5.1.0"
1332 1332 },
1333 1333 "engines": {
1334 1334 "node": ">=6"
1335 1335 }
1336 1336 },
1337 1337 "node_modules/text-table": {
1338 1338 "version": "0.2.0",
1339 1339 "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
1340 1340 "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
1341 1341 "dev": true
1342 1342 },
1343 1343 "node_modules/through": {
1344 1344 "version": "2.3.8",
1345 1345 "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
1346 1346 "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
1347 1347 "dev": true
1348 1348 },
1349 1349 "node_modules/tmp": {
1350 1350 "version": "0.0.33",
1351 1351 "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
1352 1352 "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
1353 1353 "dev": true,
1354 1354 "dependencies": {
1355 1355 "os-tmpdir": "~1.0.2"
1356 1356 },
1357 1357 "engines": {
1358 1358 "node": ">=0.6.0"
1359 1359 }
1360 1360 },
1361 1361 "node_modules/tslib": {
1362 1362 "version": "1.10.0",
1363 1363 "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
1364 1364 "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
1365 1365 "dev": true
1366 1366 },
1367 1367 "node_modules/tslint": {
1368 1368 "version": "6.1.3",
1369 1369 "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz",
1370 1370 "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==",
1371 1371 "dev": true,
1372 1372 "dependencies": {
1373 1373 "@babel/code-frame": "^7.0.0",
1374 1374 "builtin-modules": "^1.1.1",
1375 1375 "chalk": "^2.3.0",
1376 1376 "commander": "^2.12.1",
1377 1377 "diff": "^4.0.1",
1378 1378 "glob": "^7.1.1",
1379 1379 "js-yaml": "^3.13.1",
1380 1380 "minimatch": "^3.0.4",
1381 1381 "mkdirp": "^0.5.3",
1382 1382 "resolve": "^1.3.2",
1383 1383 "semver": "^5.3.0",
1384 1384 "tslib": "^1.13.0",
1385 1385 "tsutils": "^2.29.0"
1386 1386 },
1387 1387 "bin": {
1388 1388 "tslint": "bin/tslint"
1389 1389 },
1390 1390 "engines": {
1391 1391 "node": ">=4.8.0"
1392 1392 }
1393 1393 },
1394 1394 "node_modules/tslint/node_modules/semver": {
1395 1395 "version": "5.7.1",
1396 1396 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
1397 1397 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
1398 1398 "dev": true,
1399 1399 "bin": {
1400 1400 "semver": "bin/semver"
1401 1401 }
1402 1402 },
1403 1403 "node_modules/tslint/node_modules/tslib": {
1404 1404 "version": "1.13.0",
1405 1405 "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
1406 1406 "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
1407 1407 "dev": true
1408 1408 },
1409 1409 "node_modules/tsutils": {
1410 1410 "version": "2.29.0",
1411 1411 "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz",
1412 1412 "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
1413 1413 "dev": true,
1414 1414 "dependencies": {
1415 1415 "tslib": "^1.8.1"
1416 1416 }
1417 1417 },
1418 1418 "node_modules/type-check": {
1419 1419 "version": "0.3.2",
1420 1420 "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
1421 1421 "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
1422 1422 "dev": true,
1423 1423 "dependencies": {
1424 1424 "prelude-ls": "~1.1.2"
1425 1425 },
1426 1426 "engines": {
1427 1427 "node": ">= 0.8.0"
1428 1428 }
1429 1429 },
1430 1430 "node_modules/type-detect": {
1431 1431 "version": "4.0.8",
1432 1432 "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
1433 1433 "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
1434 1434 "dev": true,
1435 1435 "engines": {
1436 1436 "node": ">=4"
1437 1437 }
1438 1438 },
1439 1439 "node_modules/type-fest": {
1440 1440 "version": "0.8.1",
1441 1441 "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
1442 1442 "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
1443 1443 "dev": true,
1444 1444 "engines": {
1445 1445 "node": ">=8"
1446 1446 }
1447 1447 },
1448 1448 "node_modules/typescript": {
1449 1449 "version": "4.0.2",
1450 1450 "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.2.tgz",
1451 1451 "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==",
1452 1452 "dev": true,
1453 1453 "bin": {
1454 1454 "tsc": "bin/tsc",
1455 1455 "tsserver": "bin/tsserver"
1456 1456 },
1457 1457 "engines": {
1458 1458 "node": ">=4.2.0"
1459 1459 }
1460 1460 },
1461 1461 "node_modules/uri-js": {
1462 1462 "version": "4.2.2",
1463 1463 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
1464 1464 "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
1465 1465 "dev": true,
1466 1466 "dependencies": {
1467 1467 "punycode": "^2.1.0"
1468 1468 }
1469 1469 },
1470 1470 "node_modules/v8-compile-cache": {
1471 1471 "version": "2.1.0",
1472 1472 "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
1473 1473 "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==",
1474 1474 "dev": true
1475 1475 },
1476 1476 "node_modules/which": {
1477 1477 "version": "1.3.1",
1478 1478 "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
1479 1479 "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
1480 1480 "dev": true,
1481 1481 "dependencies": {
1482 1482 "isexe": "^2.0.0"
1483 1483 },
1484 1484 "bin": {
1485 1485 "which": "bin/which"
1486 1486 }
1487 1487 },
1488 1488 "node_modules/word-wrap": {
1489 1489 "version": "1.2.3",
1490 1490 "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
1491 1491 "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
1492 1492 "dev": true,
1493 1493 "engines": {
1494 1494 "node": ">=0.10.0"
1495 1495 }
1496 1496 },
1497 1497 "node_modules/wrappy": {
1498 1498 "version": "1.0.2",
1499 1499 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1500 1500 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
1501 1501 "dev": true
1502 1502 },
1503 1503 "node_modules/write": {
1504 1504 "version": "1.0.3",
1505 1505 "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
1506 1506 "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
1507 1507 "dev": true,
1508 1508 "dependencies": {
1509 1509 "mkdirp": "^0.5.1"
1510 1510 },
1511 1511 "engines": {
1512 1512 "node": ">=4"
1513 1513 }
1514 1514 },
1515 1515 "node_modules/yaml": {
1516 1516 "version": "1.7.2",
1517 1517 "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz",
1518 1518 "integrity": "sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==",
1519 1519 "dev": true,
1520 1520 "dependencies": {
1521 1521 "@babel/runtime": "^7.6.3"
1522 1522 },
1523 1523 "engines": {
1524 1524 "node": ">= 6"
1525 1525 }
1526 1526 }
1527 1527 },
1528 1528 "dependencies": {
1529 1529 "@babel/code-frame": {
1530 1530 "version": "7.8.3",
1531 1531 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
1532 1532 "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
1533 1533 "dev": true,
1534 1534 "requires": {
1535 1535 "@babel/highlight": "^7.8.3"
1536 1536 }
1537 1537 },
1538 1538 "@babel/highlight": {
1539 1539 "version": "7.8.3",
1540 1540 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
1541 1541 "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
1542 1542 "dev": true,
1543 1543 "requires": {
1544 1544 "chalk": "^2.0.0",
1545 1545 "esutils": "^2.0.2",
1546 1546 "js-tokens": "^4.0.0"
1547 1547 }
1548 1548 },
1549 1549 "@babel/runtime": {
1550 1550 "version": "7.8.3",
1551 1551 "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz",
1552 1552 "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==",
1553 1553 "dev": true,
1554 1554 "requires": {
1555 1555 "regenerator-runtime": "^0.13.2"
1556 1556 }
1557 1557 },
1558 1558 "@implab/core-amd": {
1559 1559 "version": "1.4.0",
1560 1560 "resolved": "https://registry.npmjs.org/@implab/core-amd/-/core-amd-1.4.0.tgz",
1561 1561 "integrity": "sha512-gaJX1mhri7YpmXDTAYELZnmTznzXYpk2AI7Decsttdi6xY+bqGgH24q0AFcKrx8RY2jfsFXxDdf0fITz2HpBbw==",
1562 1562 "dev": true
1563 1563 },
1564 1564 "@types/chai": {
1565 1565 "version": "4.1.3",
1566 1566 "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.3.tgz",
1567 1567 "integrity": "sha512-f5dXGzOJycyzSMdaXVhiBhauL4dYydXwVpavfQ1mVCaGjR56a9QfklXObUxlIY9bGTmCPHEEZ04I16BZ/8w5ww==",
1568 1568 "dev": true
1569 1569 },
1570 1570 "@types/requirejs": {
1571 1571 "version": "2.1.31",
1572 1572 "resolved": "https://registry.npmjs.org/@types/requirejs/-/requirejs-2.1.31.tgz",
1573 1573 "integrity": "sha512-b2soeyuU76rMbcRJ4e0hEl0tbMhFwZeTC0VZnfuWlfGlk6BwWNsev6kFu/twKABPX29wkX84wU2o+cEJoXsiTw==",
1574 1574 "dev": true
1575 1575 },
1576 1576 "@types/yaml": {
1577 1577 "version": "1.2.0",
1578 1578 "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.2.0.tgz",
1579 1579 "integrity": "sha512-GW8b9qM+ebgW3/zjzPm0I1NxMvLaz/YKT9Ph6tTb+Fkeyzd9yLTvQ6ciQ2MorTRmb/qXmfjMerRpG4LviixaqQ==",
1580 1580 "dev": true
1581 1581 },
1582 1582 "acorn": {
1583 1583 "version": "7.4.0",
1584 1584 "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz",
1585 1585 "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==",
1586 1586 "dev": true
1587 1587 },
1588 1588 "acorn-jsx": {
1589 1589 "version": "5.1.0",
1590 1590 "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz",
1591 1591 "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==",
1592 1592 "dev": true
1593 1593 },
1594 1594 "ajv": {
1595 1595 "version": "6.11.0",
1596 1596 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz",
1597 1597 "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==",
1598 1598 "dev": true,
1599 1599 "requires": {
1600 1600 "fast-deep-equal": "^3.1.1",
1601 1601 "fast-json-stable-stringify": "^2.0.0",
1602 1602 "json-schema-traverse": "^0.4.1",
1603 1603 "uri-js": "^4.2.2"
1604 1604 }
1605 1605 },
1606 1606 "ansi-escapes": {
1607 1607 "version": "4.3.0",
1608 1608 "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz",
1609 1609 "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==",
1610 1610 "dev": true,
1611 1611 "requires": {
1612 1612 "type-fest": "^0.8.1"
1613 1613 }
1614 1614 },
1615 1615 "ansi-regex": {
1616 1616 "version": "5.0.0",
1617 1617 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
1618 1618 "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
1619 1619 "dev": true
1620 1620 },
1621 1621 "ansi-styles": {
1622 1622 "version": "3.2.1",
1623 1623 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
1624 1624 "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
1625 1625 "dev": true,
1626 1626 "requires": {
1627 1627 "color-convert": "^1.9.0"
1628 1628 }
1629 1629 },
1630 1630 "argparse": {
1631 1631 "version": "1.0.10",
1632 1632 "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
1633 1633 "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
1634 1634 "dev": true,
1635 1635 "requires": {
1636 1636 "sprintf-js": "~1.0.2"
1637 1637 }
1638 1638 },
1639 1639 "assertion-error": {
1640 1640 "version": "1.1.0",
1641 1641 "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
1642 1642 "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
1643 1643 "dev": true
1644 1644 },
1645 1645 "astral-regex": {
1646 1646 "version": "1.0.0",
1647 1647 "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
1648 1648 "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
1649 1649 "dev": true
1650 1650 },
1651 1651 "balanced-match": {
1652 1652 "version": "1.0.0",
1653 1653 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
1654 1654 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
1655 1655 "dev": true
1656 1656 },
1657 1657 "brace-expansion": {
1658 1658 "version": "1.1.11",
1659 1659 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
1660 1660 "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
1661 1661 "dev": true,
1662 1662 "requires": {
1663 1663 "balanced-match": "^1.0.0",
1664 1664 "concat-map": "0.0.1"
1665 1665 }
1666 1666 },
1667 1667 "builtin-modules": {
1668 1668 "version": "1.1.1",
1669 1669 "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
1670 1670 "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
1671 1671 "dev": true
1672 1672 },
1673 1673 "callsites": {
1674 1674 "version": "3.1.0",
1675 1675 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
1676 1676 "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
1677 1677 "dev": true
1678 1678 },
1679 1679 "chai": {
1680 1680 "version": "4.2.0",
1681 1681 "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz",
1682 1682 "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==",
1683 1683 "dev": true,
1684 1684 "requires": {
1685 1685 "assertion-error": "^1.1.0",
1686 1686 "check-error": "^1.0.2",
1687 1687 "deep-eql": "^3.0.1",
1688 1688 "get-func-name": "^2.0.0",
1689 1689 "pathval": "^1.1.0",
1690 1690 "type-detect": "^4.0.5"
1691 1691 }
1692 1692 },
1693 1693 "chalk": {
1694 1694 "version": "2.4.2",
1695 1695 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
1696 1696 "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
1697 1697 "dev": true,
1698 1698 "requires": {
1699 1699 "ansi-styles": "^3.2.1",
1700 1700 "escape-string-regexp": "^1.0.5",
1701 1701 "supports-color": "^5.3.0"
1702 1702 }
1703 1703 },
1704 1704 "chardet": {
1705 1705 "version": "0.7.0",
1706 1706 "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
1707 1707 "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
1708 1708 "dev": true
1709 1709 },
1710 1710 "check-error": {
1711 1711 "version": "1.0.2",
1712 1712 "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
1713 1713 "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=",
1714 1714 "dev": true
1715 1715 },
1716 1716 "cli-cursor": {
1717 1717 "version": "3.1.0",
1718 1718 "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
1719 1719 "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
1720 1720 "dev": true,
1721 1721 "requires": {
1722 1722 "restore-cursor": "^3.1.0"
1723 1723 }
1724 1724 },
1725 1725 "cli-width": {
1726 1726 "version": "2.2.0",
1727 1727 "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
1728 1728 "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
1729 1729 "dev": true
1730 1730 },
1731 1731 "color-convert": {
1732 1732 "version": "1.9.3",
1733 1733 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
1734 1734 "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
1735 1735 "dev": true,
1736 1736 "requires": {
1737 1737 "color-name": "1.1.3"
1738 1738 }
1739 1739 },
1740 1740 "color-name": {
1741 1741 "version": "1.1.3",
1742 1742 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
1743 1743 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
1744 1744 "dev": true
1745 1745 },
1746 1746 "commander": {
1747 1747 "version": "2.20.3",
1748 1748 "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
1749 1749 "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
1750 1750 "dev": true
1751 1751 },
1752 1752 "concat-map": {
1753 1753 "version": "0.0.1",
1754 1754 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1755 1755 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
1756 1756 "dev": true
1757 1757 },
1758 1758 "cross-spawn": {
1759 1759 "version": "6.0.5",
1760 1760 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
1761 1761 "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
1762 1762 "dev": true,
1763 1763 "requires": {
1764 1764 "nice-try": "^1.0.4",
1765 1765 "path-key": "^2.0.1",
1766 1766 "semver": "^5.5.0",
1767 1767 "shebang-command": "^1.2.0",
1768 1768 "which": "^1.2.9"
1769 1769 },
1770 1770 "dependencies": {
1771 1771 "semver": {
1772 1772 "version": "5.7.1",
1773 1773 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
1774 1774 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
1775 1775 "dev": true
1776 1776 }
1777 1777 }
1778 1778 },
1779 1779 "debug": {
1780 1780 "version": "4.1.1",
1781 1781 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
1782 1782 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
1783 1783 "dev": true,
1784 1784 "requires": {
1785 1785 "ms": "^2.1.1"
1786 1786 }
1787 1787 },
1788 1788 "deep-eql": {
1789 1789 "version": "3.0.1",
1790 1790 "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
1791 1791 "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
1792 1792 "dev": true,
1793 1793 "requires": {
1794 1794 "type-detect": "^4.0.0"
1795 1795 }
1796 1796 },
1797 1797 "deep-is": {
1798 1798 "version": "0.1.3",
1799 1799 "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
1800 1800 "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
1801 1801 "dev": true
1802 1802 },
1803 1803 "diff": {
1804 1804 "version": "4.0.2",
1805 1805 "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
1806 1806 "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
1807 1807 "dev": true
1808 1808 },
1809 1809 "doctrine": {
1810 1810 "version": "3.0.0",
1811 1811 "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
1812 1812 "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
1813 1813 "dev": true,
1814 1814 "requires": {
1815 1815 "esutils": "^2.0.2"
1816 1816 }
1817 1817 },
1818 1818 "dojo": {
1819 1819 "version": "1.16.0",
1820 1820 "resolved": "https://registry.npmjs.org/dojo/-/dojo-1.16.0.tgz",
1821 1821 "integrity": "sha512-DUiXyoLK6vMF5BPr/qiMLTxDMfiM9qlzN1jxfDsVfuvB/CwhYpNxA/M4mbqKN8PCVGLmccXBJbfmFJPP5+zmzw==",
1822 1822 "dev": true
1823 1823 },
1824 1824 "dojo-typings": {
1825 1825 "version": "1.11.9",
1826 1826 "resolved": "https://registry.npmjs.org/dojo-typings/-/dojo-typings-1.11.9.tgz",
1827 1827 "integrity": "sha512-mh8w+Mau2Y1QfTEszEAdO7j6ycNhYxF/Ing6nAk1eUg6NxjeT0viVHjICMd9sU3U463vM2G+KfBBK5grk3/Mlw==",
1828 1828 "dev": true,
1829 1829 "requires": {
1830 1830 "@types/chai": "^4.0.4"
1831 1831 }
1832 1832 },
1833 1833 "emoji-regex": {
1834 1834 "version": "8.0.0",
1835 1835 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
1836 1836 "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
1837 1837 "dev": true
1838 1838 },
1839 1839 "escape-string-regexp": {
1840 1840 "version": "1.0.5",
1841 1841 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1842 1842 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
1843 1843 "dev": true
1844 1844 },
1845 1845 "eslint": {
1846 1846 "version": "6.8.0",
1847 1847 "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
1848 1848 "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
1849 1849 "dev": true,
1850 1850 "requires": {
1851 1851 "@babel/code-frame": "^7.0.0",
1852 1852 "ajv": "^6.10.0",
1853 1853 "chalk": "^2.1.0",
1854 1854 "cross-spawn": "^6.0.5",
1855 1855 "debug": "^4.0.1",
1856 1856 "doctrine": "^3.0.0",
1857 1857 "eslint-scope": "^5.0.0",
1858 1858 "eslint-utils": "^1.4.3",
1859 1859 "eslint-visitor-keys": "^1.1.0",
1860 1860 "espree": "^6.1.2",
1861 1861 "esquery": "^1.0.1",
1862 1862 "esutils": "^2.0.2",
1863 1863 "file-entry-cache": "^5.0.1",
1864 1864 "functional-red-black-tree": "^1.0.1",
1865 1865 "glob-parent": "^5.0.0",
1866 1866 "globals": "^12.1.0",
1867 1867 "ignore": "^4.0.6",
1868 1868 "import-fresh": "^3.0.0",
1869 1869 "imurmurhash": "^0.1.4",
1870 1870 "inquirer": "^7.0.0",
1871 1871 "is-glob": "^4.0.0",
1872 1872 "js-yaml": "^3.13.1",
1873 1873 "json-stable-stringify-without-jsonify": "^1.0.1",
1874 1874 "levn": "^0.3.0",
1875 1875 "lodash": "^4.17.14",
1876 1876 "minimatch": "^3.0.4",
1877 1877 "mkdirp": "^0.5.1",
1878 1878 "natural-compare": "^1.4.0",
1879 1879 "optionator": "^0.8.3",
1880 1880 "progress": "^2.0.0",
1881 1881 "regexpp": "^2.0.1",
1882 1882 "semver": "^6.1.2",
1883 1883 "strip-ansi": "^5.2.0",
1884 1884 "strip-json-comments": "^3.0.1",
1885 1885 "table": "^5.2.3",
1886 1886 "text-table": "^0.2.0",
1887 1887 "v8-compile-cache": "^2.0.3"
1888 1888 }
1889 1889 },
1890 1890 "eslint-scope": {
1891 1891 "version": "5.0.0",
1892 1892 "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
1893 1893 "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
1894 1894 "dev": true,
1895 1895 "requires": {
1896 1896 "esrecurse": "^4.1.0",
1897 1897 "estraverse": "^4.1.1"
1898 1898 }
1899 1899 },
1900 1900 "eslint-utils": {
1901 1901 "version": "1.4.3",
1902 1902 "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
1903 1903 "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
1904 1904 "dev": true,
1905 1905 "requires": {
1906 1906 "eslint-visitor-keys": "^1.1.0"
1907 1907 }
1908 1908 },
1909 1909 "eslint-visitor-keys": {
1910 1910 "version": "1.1.0",
1911 1911 "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
1912 1912 "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
1913 1913 "dev": true
1914 1914 },
1915 1915 "espree": {
1916 1916 "version": "6.1.2",
1917 1917 "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz",
1918 1918 "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==",
1919 1919 "dev": true,
1920 1920 "requires": {
1921 1921 "acorn": "^7.1.0",
1922 1922 "acorn-jsx": "^5.1.0",
1923 1923 "eslint-visitor-keys": "^1.1.0"
1924 1924 }
1925 1925 },
1926 1926 "esprima": {
1927 1927 "version": "4.0.1",
1928 1928 "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
1929 1929 "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
1930 1930 "dev": true
1931 1931 },
1932 1932 "esquery": {
1933 1933 "version": "1.0.1",
1934 1934 "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
1935 1935 "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
1936 1936 "dev": true,
1937 1937 "requires": {
1938 1938 "estraverse": "^4.0.0"
1939 1939 }
1940 1940 },
1941 1941 "esrecurse": {
1942 1942 "version": "4.2.1",
1943 1943 "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
1944 1944 "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
1945 1945 "dev": true,
1946 1946 "requires": {
1947 1947 "estraverse": "^4.1.0"
1948 1948 }
1949 1949 },
1950 1950 "estraverse": {
1951 1951 "version": "4.3.0",
1952 1952 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
1953 1953 "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
1954 1954 "dev": true
1955 1955 },
1956 1956 "esutils": {
1957 1957 "version": "2.0.3",
1958 1958 "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
1959 1959 "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
1960 1960 "dev": true
1961 1961 },
1962 1962 "external-editor": {
1963 1963 "version": "3.1.0",
1964 1964 "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
1965 1965 "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
1966 1966 "dev": true,
1967 1967 "requires": {
1968 1968 "chardet": "^0.7.0",
1969 1969 "iconv-lite": "^0.4.24",
1970 1970 "tmp": "^0.0.33"
1971 1971 }
1972 1972 },
1973 1973 "fast-deep-equal": {
1974 1974 "version": "3.1.1",
1975 1975 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
1976 1976 "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
1977 1977 "dev": true
1978 1978 },
1979 1979 "fast-json-stable-stringify": {
1980 1980 "version": "2.1.0",
1981 1981 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
1982 1982 "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
1983 1983 "dev": true
1984 1984 },
1985 1985 "fast-levenshtein": {
1986 1986 "version": "2.0.6",
1987 1987 "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
1988 1988 "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
1989 1989 "dev": true
1990 1990 },
1991 1991 "figures": {
1992 1992 "version": "3.1.0",
1993 1993 "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz",
1994 1994 "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==",
1995 1995 "dev": true,
1996 1996 "requires": {
1997 1997 "escape-string-regexp": "^1.0.5"
1998 1998 }
1999 1999 },
2000 2000 "file-entry-cache": {
2001 2001 "version": "5.0.1",
2002 2002 "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
2003 2003 "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
2004 2004 "dev": true,
2005 2005 "requires": {
2006 2006 "flat-cache": "^2.0.1"
2007 2007 }
2008 2008 },
2009 2009 "flat-cache": {
2010 2010 "version": "2.0.1",
2011 2011 "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
2012 2012 "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
2013 2013 "dev": true,
2014 2014 "requires": {
2015 2015 "flatted": "^2.0.0",
2016 2016 "rimraf": "2.6.3",
2017 2017 "write": "1.0.3"
2018 2018 }
2019 2019 },
2020 2020 "flatted": {
2021 2021 "version": "2.0.1",
2022 2022 "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
2023 2023 "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
2024 2024 "dev": true
2025 2025 },
2026 2026 "fs.realpath": {
2027 2027 "version": "1.0.0",
2028 2028 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
2029 2029 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
2030 2030 "dev": true
2031 2031 },
2032 2032 "functional-red-black-tree": {
2033 2033 "version": "1.0.1",
2034 2034 "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
2035 2035 "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
2036 2036 "dev": true
2037 2037 },
2038 2038 "get-func-name": {
2039 2039 "version": "2.0.0",
2040 2040 "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
2041 2041 "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=",
2042 2042 "dev": true
2043 2043 },
2044 2044 "glob": {
2045 2045 "version": "7.1.6",
2046 2046 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
2047 2047 "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
2048 2048 "dev": true,
2049 2049 "requires": {
2050 2050 "fs.realpath": "^1.0.0",
2051 2051 "inflight": "^1.0.4",
2052 2052 "inherits": "2",
2053 2053 "minimatch": "^3.0.4",
2054 2054 "once": "^1.3.0",
2055 2055 "path-is-absolute": "^1.0.0"
2056 2056 }
2057 2057 },
2058 2058 "glob-parent": {
2059 2059 "version": "5.1.0",
2060 2060 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
2061 2061 "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
2062 2062 "dev": true,
2063 2063 "requires": {
2064 2064 "is-glob": "^4.0.1"
2065 2065 }
2066 2066 },
2067 2067 "globals": {
2068 2068 "version": "12.3.0",
2069 2069 "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz",
2070 2070 "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==",
2071 2071 "dev": true,
2072 2072 "requires": {
2073 2073 "type-fest": "^0.8.1"
2074 2074 }
2075 2075 },
2076 2076 "has-flag": {
2077 2077 "version": "3.0.0",
2078 2078 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
2079 2079 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
2080 2080 "dev": true
2081 2081 },
2082 2082 "iconv-lite": {
2083 2083 "version": "0.4.24",
2084 2084 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
2085 2085 "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
2086 2086 "dev": true,
2087 2087 "requires": {
2088 2088 "safer-buffer": ">= 2.1.2 < 3"
2089 2089 }
2090 2090 },
2091 2091 "ignore": {
2092 2092 "version": "4.0.6",
2093 2093 "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
2094 2094 "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
2095 2095 "dev": true
2096 2096 },
2097 2097 "import-fresh": {
2098 2098 "version": "3.2.1",
2099 2099 "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
2100 2100 "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
2101 2101 "dev": true,
2102 2102 "requires": {
2103 2103 "parent-module": "^1.0.0",
2104 2104 "resolve-from": "^4.0.0"
2105 2105 }
2106 2106 },
2107 2107 "imurmurhash": {
2108 2108 "version": "0.1.4",
2109 2109 "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
2110 2110 "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
2111 2111 "dev": true
2112 2112 },
2113 2113 "inflight": {
2114 2114 "version": "1.0.6",
2115 2115 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
2116 2116 "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
2117 2117 "dev": true,
2118 2118 "requires": {
2119 2119 "once": "^1.3.0",
2120 2120 "wrappy": "1"
2121 2121 }
2122 2122 },
2123 2123 "inherits": {
2124 2124 "version": "2.0.4",
2125 2125 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
2126 2126 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
2127 2127 "dev": true
2128 2128 },
2129 2129 "inquirer": {
2130 2130 "version": "7.0.3",
2131 2131 "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.3.tgz",
2132 2132 "integrity": "sha512-+OiOVeVydu4hnCGLCSX+wedovR/Yzskv9BFqUNNKq9uU2qg7LCcCo3R86S2E7WLo0y/x2pnEZfZe1CoYnORUAw==",
2133 2133 "dev": true,
2134 2134 "requires": {
2135 2135 "ansi-escapes": "^4.2.1",
2136 2136 "chalk": "^2.4.2",
2137 2137 "cli-cursor": "^3.1.0",
2138 2138 "cli-width": "^2.0.0",
2139 2139 "external-editor": "^3.0.3",
2140 2140 "figures": "^3.0.0",
2141 2141 "lodash": "^4.17.15",
2142 2142 "mute-stream": "0.0.8",
2143 2143 "run-async": "^2.2.0",
2144 2144 "rxjs": "^6.5.3",
2145 2145 "string-width": "^4.1.0",
2146 2146 "strip-ansi": "^5.1.0",
2147 2147 "through": "^2.3.6"
2148 2148 }
2149 2149 },
2150 2150 "is-extglob": {
2151 2151 "version": "2.1.1",
2152 2152 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
2153 2153 "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
2154 2154 "dev": true
2155 2155 },
2156 2156 "is-fullwidth-code-point": {
2157 2157 "version": "3.0.0",
2158 2158 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
2159 2159 "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
2160 2160 "dev": true
2161 2161 },
2162 2162 "is-glob": {
2163 2163 "version": "4.0.1",
2164 2164 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
2165 2165 "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
2166 2166 "dev": true,
2167 2167 "requires": {
2168 2168 "is-extglob": "^2.1.1"
2169 2169 }
2170 2170 },
2171 2171 "is-promise": {
2172 2172 "version": "2.1.0",
2173 2173 "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
2174 2174 "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
2175 2175 "dev": true
2176 2176 },
2177 2177 "isexe": {
2178 2178 "version": "2.0.0",
2179 2179 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
2180 2180 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
2181 2181 "dev": true
2182 2182 },
2183 2183 "js-tokens": {
2184 2184 "version": "4.0.0",
2185 2185 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
2186 2186 "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
2187 2187 "dev": true
2188 2188 },
2189 2189 "js-yaml": {
2190 2190 "version": "3.13.1",
2191 2191 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
2192 2192 "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
2193 2193 "dev": true,
2194 2194 "requires": {
2195 2195 "argparse": "^1.0.7",
2196 2196 "esprima": "^4.0.0"
2197 2197 }
2198 2198 },
2199 2199 "json-schema-traverse": {
2200 2200 "version": "0.4.1",
2201 2201 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
2202 2202 "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
2203 2203 "dev": true
2204 2204 },
2205 2205 "json-stable-stringify-without-jsonify": {
2206 2206 "version": "1.0.1",
2207 2207 "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
2208 2208 "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
2209 2209 "dev": true
2210 2210 },
2211 2211 "levn": {
2212 2212 "version": "0.3.0",
2213 2213 "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
2214 2214 "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
2215 2215 "dev": true,
2216 2216 "requires": {
2217 2217 "prelude-ls": "~1.1.2",
2218 2218 "type-check": "~0.3.2"
2219 2219 }
2220 2220 },
2221 2221 "lodash": {
2222 2222 "version": "4.17.20",
2223 2223 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
2224 2224 "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
2225 2225 "dev": true
2226 2226 },
2227 2227 "mimic-fn": {
2228 2228 "version": "2.1.0",
2229 2229 "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
2230 2230 "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
2231 2231 "dev": true
2232 2232 },
2233 2233 "minimatch": {
2234 2234 "version": "3.0.4",
2235 2235 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
2236 2236 "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
2237 2237 "dev": true,
2238 2238 "requires": {
2239 2239 "brace-expansion": "^1.1.7"
2240 2240 }
2241 2241 },
2242 2242 "mkdirp": {
2243 2243 "version": "0.5.5",
2244 2244 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
2245 2245 "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
2246 2246 "dev": true,
2247 2247 "requires": {
2248 2248 "minimist": "^1.2.5"
2249 2249 },
2250 2250 "dependencies": {
2251 2251 "minimist": {
2252 2252 "version": "1.2.5",
2253 2253 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
2254 2254 "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
2255 2255 "dev": true
2256 2256 }
2257 2257 }
2258 2258 },
2259 2259 "ms": {
2260 2260 "version": "2.1.2",
2261 2261 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
2262 2262 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
2263 2263 "dev": true
2264 2264 },
2265 2265 "mute-stream": {
2266 2266 "version": "0.0.8",
2267 2267 "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
2268 2268 "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
2269 2269 "dev": true
2270 2270 },
2271 2271 "natural-compare": {
2272 2272 "version": "1.4.0",
2273 2273 "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
2274 2274 "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
2275 2275 "dev": true
2276 2276 },
2277 2277 "nice-try": {
2278 2278 "version": "1.0.5",
2279 2279 "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
2280 2280 "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
2281 2281 "dev": true
2282 2282 },
2283 2283 "once": {
2284 2284 "version": "1.4.0",
2285 2285 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2286 2286 "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
2287 2287 "dev": true,
2288 2288 "requires": {
2289 2289 "wrappy": "1"
2290 2290 }
2291 2291 },
2292 2292 "onetime": {
2293 2293 "version": "5.1.0",
2294 2294 "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
2295 2295 "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
2296 2296 "dev": true,
2297 2297 "requires": {
2298 2298 "mimic-fn": "^2.1.0"
2299 2299 }
2300 2300 },
2301 2301 "optionator": {
2302 2302 "version": "0.8.3",
2303 2303 "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
2304 2304 "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
2305 2305 "dev": true,
2306 2306 "requires": {
2307 2307 "deep-is": "~0.1.3",
2308 2308 "fast-levenshtein": "~2.0.6",
2309 2309 "levn": "~0.3.0",
2310 2310 "prelude-ls": "~1.1.2",
2311 2311 "type-check": "~0.3.2",
2312 2312 "word-wrap": "~1.2.3"
2313 2313 }
2314 2314 },
2315 2315 "os-tmpdir": {
2316 2316 "version": "1.0.2",
2317 2317 "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
2318 2318 "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
2319 2319 "dev": true
2320 2320 },
2321 2321 "parent-module": {
2322 2322 "version": "1.0.1",
2323 2323 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
2324 2324 "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
2325 2325 "dev": true,
2326 2326 "requires": {
2327 2327 "callsites": "^3.0.0"
2328 2328 }
2329 2329 },
2330 2330 "path-is-absolute": {
2331 2331 "version": "1.0.1",
2332 2332 "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2333 2333 "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
2334 2334 "dev": true
2335 2335 },
2336 2336 "path-key": {
2337 2337 "version": "2.0.1",
2338 2338 "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
2339 2339 "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
2340 2340 "dev": true
2341 2341 },
2342 2342 "path-parse": {
2343 2343 "version": "1.0.6",
2344 2344 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
2345 2345 "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
2346 2346 "dev": true
2347 2347 },
2348 2348 "pathval": {
2349 2349 "version": "1.1.0",
2350 2350 "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
2351 2351 "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=",
2352 2352 "dev": true
2353 2353 },
2354 2354 "prelude-ls": {
2355 2355 "version": "1.1.2",
2356 2356 "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
2357 2357 "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
2358 2358 "dev": true
2359 2359 },
2360 2360 "progress": {
2361 2361 "version": "2.0.3",
2362 2362 "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
2363 2363 "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
2364 2364 "dev": true
2365 2365 },
2366 2366 "punycode": {
2367 2367 "version": "2.1.1",
2368 2368 "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
2369 2369 "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
2370 2370 "dev": true
2371 2371 },
2372 2372 "regenerator-runtime": {
2373 2373 "version": "0.13.3",
2374 2374 "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
2375 2375 "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==",
2376 2376 "dev": true
2377 2377 },
2378 2378 "regexpp": {
2379 2379 "version": "2.0.1",
2380 2380 "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
2381 2381 "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
2382 2382 "dev": true
2383 2383 },
2384 2384 "requirejs": {
2385 2385 "version": "2.3.6",
2386 2386 "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz",
2387 2387 "integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==",
2388 2388 "dev": true
2389 2389 },
2390 2390 "resolve": {
2391 2391 "version": "1.17.0",
2392 2392 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
2393 2393 "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
2394 2394 "dev": true,
2395 2395 "requires": {
2396 2396 "path-parse": "^1.0.6"
2397 2397 }
2398 2398 },
2399 2399 "resolve-from": {
2400 2400 "version": "4.0.0",
2401 2401 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
2402 2402 "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
2403 2403 "dev": true
2404 2404 },
2405 2405 "restore-cursor": {
2406 2406 "version": "3.1.0",
2407 2407 "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
2408 2408 "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
2409 2409 "dev": true,
2410 2410 "requires": {
2411 2411 "onetime": "^5.1.0",
2412 2412 "signal-exit": "^3.0.2"
2413 2413 }
2414 2414 },
2415 2415 "rimraf": {
2416 2416 "version": "2.6.3",
2417 2417 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
2418 2418 "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
2419 2419 "dev": true,
2420 2420 "requires": {
2421 2421 "glob": "^7.1.3"
2422 2422 }
2423 2423 },
2424 2424 "run-async": {
2425 2425 "version": "2.3.0",
2426 2426 "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
2427 2427 "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
2428 2428 "dev": true,
2429 2429 "requires": {
2430 2430 "is-promise": "^2.1.0"
2431 2431 }
2432 2432 },
2433 2433 "rxjs": {
2434 2434 "version": "6.5.4",
2435 2435 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
2436 2436 "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
2437 2437 "dev": true,
2438 2438 "requires": {
2439 2439 "tslib": "^1.9.0"
2440 2440 }
2441 2441 },
2442 2442 "safer-buffer": {
2443 2443 "version": "2.1.2",
2444 2444 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
2445 2445 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
2446 2446 "dev": true
2447 2447 },
2448 2448 "semver": {
2449 2449 "version": "6.3.0",
2450 2450 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
2451 2451 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
2452 2452 "dev": true
2453 2453 },
2454 2454 "shebang-command": {
2455 2455 "version": "1.2.0",
2456 2456 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
2457 2457 "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
2458 2458 "dev": true,
2459 2459 "requires": {
2460 2460 "shebang-regex": "^1.0.0"
2461 2461 }
2462 2462 },
2463 2463 "shebang-regex": {
2464 2464 "version": "1.0.0",
2465 2465 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
2466 2466 "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
2467 2467 "dev": true
2468 2468 },
2469 2469 "signal-exit": {
2470 2470 "version": "3.0.2",
2471 2471 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
2472 2472 "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
2473 2473 "dev": true
2474 2474 },
2475 2475 "slice-ansi": {
2476 2476 "version": "2.1.0",
2477 2477 "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
2478 2478 "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
2479 2479 "dev": true,
2480 2480 "requires": {
2481 2481 "ansi-styles": "^3.2.0",
2482 2482 "astral-regex": "^1.0.0",
2483 2483 "is-fullwidth-code-point": "^2.0.0"
2484 2484 },
2485 2485 "dependencies": {
2486 2486 "is-fullwidth-code-point": {
2487 2487 "version": "2.0.0",
2488 2488 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
2489 2489 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
2490 2490 "dev": true
2491 2491 }
2492 2492 }
2493 2493 },
2494 2494 "sprintf-js": {
2495 2495 "version": "1.0.3",
2496 2496 "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
2497 2497 "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
2498 2498 "dev": true
2499 2499 },
2500 2500 "string-width": {
2501 2501 "version": "4.2.0",
2502 2502 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
2503 2503 "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
2504 2504 "dev": true,
2505 2505 "requires": {
2506 2506 "emoji-regex": "^8.0.0",
2507 2507 "is-fullwidth-code-point": "^3.0.0",
2508 2508 "strip-ansi": "^6.0.0"
2509 2509 },
2510 2510 "dependencies": {
2511 2511 "strip-ansi": {
2512 2512 "version": "6.0.0",
2513 2513 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
2514 2514 "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
2515 2515 "dev": true,
2516 2516 "requires": {
2517 2517 "ansi-regex": "^5.0.0"
2518 2518 }
2519 2519 }
2520 2520 }
2521 2521 },
2522 2522 "strip-ansi": {
2523 2523 "version": "5.2.0",
2524 2524 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
2525 2525 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
2526 2526 "dev": true,
2527 2527 "requires": {
2528 2528 "ansi-regex": "^4.1.0"
2529 2529 },
2530 2530 "dependencies": {
2531 2531 "ansi-regex": {
2532 2532 "version": "4.1.0",
2533 2533 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
2534 2534 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
2535 2535 "dev": true
2536 2536 }
2537 2537 }
2538 2538 },
2539 2539 "strip-json-comments": {
2540 2540 "version": "3.0.1",
2541 2541 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
2542 2542 "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
2543 2543 "dev": true
2544 2544 },
2545 2545 "supports-color": {
2546 2546 "version": "5.5.0",
2547 2547 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
2548 2548 "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
2549 2549 "dev": true,
2550 2550 "requires": {
2551 2551 "has-flag": "^3.0.0"
2552 2552 }
2553 2553 },
2554 2554 "table": {
2555 2555 "version": "5.4.6",
2556 2556 "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
2557 2557 "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
2558 2558 "dev": true,
2559 2559 "requires": {
2560 2560 "ajv": "^6.10.2",
2561 2561 "lodash": "^4.17.14",
2562 2562 "slice-ansi": "^2.1.0",
2563 2563 "string-width": "^3.0.0"
2564 2564 },
2565 2565 "dependencies": {
2566 2566 "emoji-regex": {
2567 2567 "version": "7.0.3",
2568 2568 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
2569 2569 "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
2570 2570 "dev": true
2571 2571 },
2572 2572 "is-fullwidth-code-point": {
2573 2573 "version": "2.0.0",
2574 2574 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
2575 2575 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
2576 2576 "dev": true
2577 2577 },
2578 2578 "string-width": {
2579 2579 "version": "3.1.0",
2580 2580 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
2581 2581 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
2582 2582 "dev": true,
2583 2583 "requires": {
2584 2584 "emoji-regex": "^7.0.1",
2585 2585 "is-fullwidth-code-point": "^2.0.0",
2586 2586 "strip-ansi": "^5.1.0"
2587 2587 }
2588 2588 }
2589 2589 }
2590 2590 },
2591 2591 "text-table": {
2592 2592 "version": "0.2.0",
2593 2593 "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
2594 2594 "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
2595 2595 "dev": true
2596 2596 },
2597 2597 "through": {
2598 2598 "version": "2.3.8",
2599 2599 "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
2600 2600 "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
2601 2601 "dev": true
2602 2602 },
2603 2603 "tmp": {
2604 2604 "version": "0.0.33",
2605 2605 "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
2606 2606 "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
2607 2607 "dev": true,
2608 2608 "requires": {
2609 2609 "os-tmpdir": "~1.0.2"
2610 2610 }
2611 2611 },
2612 2612 "tslib": {
2613 2613 "version": "1.10.0",
2614 2614 "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
2615 2615 "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
2616 2616 "dev": true
2617 2617 },
2618 2618 "tslint": {
2619 2619 "version": "6.1.3",
2620 2620 "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz",
2621 2621 "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==",
2622 2622 "dev": true,
2623 2623 "requires": {
2624 2624 "@babel/code-frame": "^7.0.0",
2625 2625 "builtin-modules": "^1.1.1",
2626 2626 "chalk": "^2.3.0",
2627 2627 "commander": "^2.12.1",
2628 2628 "diff": "^4.0.1",
2629 2629 "glob": "^7.1.1",
2630 2630 "js-yaml": "^3.13.1",
2631 2631 "minimatch": "^3.0.4",
2632 2632 "mkdirp": "^0.5.3",
2633 2633 "resolve": "^1.3.2",
2634 2634 "semver": "^5.3.0",
2635 2635 "tslib": "^1.13.0",
2636 2636 "tsutils": "^2.29.0"
2637 2637 },
2638 2638 "dependencies": {
2639 2639 "semver": {
2640 2640 "version": "5.7.1",
2641 2641 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
2642 2642 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
2643 2643 "dev": true
2644 2644 },
2645 2645 "tslib": {
2646 2646 "version": "1.13.0",
2647 2647 "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
2648 2648 "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
2649 2649 "dev": true
2650 2650 }
2651 2651 }
2652 2652 },
2653 2653 "tsutils": {
2654 2654 "version": "2.29.0",
2655 2655 "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz",
2656 2656 "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
2657 2657 "dev": true,
2658 2658 "requires": {
2659 2659 "tslib": "^1.8.1"
2660 2660 }
2661 2661 },
2662 2662 "type-check": {
2663 2663 "version": "0.3.2",
2664 2664 "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
2665 2665 "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
2666 2666 "dev": true,
2667 2667 "requires": {
2668 2668 "prelude-ls": "~1.1.2"
2669 2669 }
2670 2670 },
2671 2671 "type-detect": {
2672 2672 "version": "4.0.8",
2673 2673 "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
2674 2674 "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
2675 2675 "dev": true
2676 2676 },
2677 2677 "type-fest": {
2678 2678 "version": "0.8.1",
2679 2679 "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
2680 2680 "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
2681 2681 "dev": true
2682 2682 },
2683 2683 "typescript": {
2684 2684 "version": "4.0.2",
2685 2685 "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.2.tgz",
2686 2686 "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==",
2687 2687 "dev": true
2688 2688 },
2689 2689 "uri-js": {
2690 2690 "version": "4.2.2",
2691 2691 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
2692 2692 "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
2693 2693 "dev": true,
2694 2694 "requires": {
2695 2695 "punycode": "^2.1.0"
2696 2696 }
2697 2697 },
2698 2698 "v8-compile-cache": {
2699 2699 "version": "2.1.0",
2700 2700 "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
2701 2701 "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==",
2702 2702 "dev": true
2703 2703 },
2704 2704 "which": {
2705 2705 "version": "1.3.1",
2706 2706 "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
2707 2707 "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
2708 2708 "dev": true,
2709 2709 "requires": {
2710 2710 "isexe": "^2.0.0"
2711 2711 }
2712 2712 },
2713 2713 "word-wrap": {
2714 2714 "version": "1.2.3",
2715 2715 "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
2716 2716 "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
2717 2717 "dev": true
2718 2718 },
2719 2719 "wrappy": {
2720 2720 "version": "1.0.2",
2721 2721 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2722 2722 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
2723 2723 "dev": true
2724 2724 },
2725 2725 "write": {
2726 2726 "version": "1.0.3",
2727 2727 "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
2728 2728 "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
2729 2729 "dev": true,
2730 2730 "requires": {
2731 2731 "mkdirp": "^0.5.1"
2732 2732 }
2733 2733 },
2734 2734 "yaml": {
2735 2735 "version": "1.7.2",
2736 2736 "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz",
2737 2737 "integrity": "sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==",
2738 2738 "dev": true,
2739 2739 "requires": {
2740 2740 "@babel/runtime": "^7.6.3"
2741 2741 }
2742 2742 }
2743 2743 }
2744 2744 }
@@ -1,40 +1,40
1 1 import { Constructor } from "@implab/core-amd/interfaces";
2 import { HtmlElementContext } from "./tsx/HtmlElementContext";
3 import { WidgetContext } from "./tsx/WidgetContext";
4 import { isWidgetConstructor, BuildContext } from "./tsx/traits";
5 import { FunctionComponentContext } from "./tsx/FunctionComponentContext";
2 import { HtmlRendition } from "./tsx/HtmlRendition";
3 import { WidgetRendition } from "./tsx/WidgetRendition";
4 import { isWidgetConstructor, Rendition } from "./tsx/traits";
5 import { FunctionRendition } from "./tsx/FunctionRendition";
6 6
7 export function createElement<T extends Constructor | string | ((props: any) => Element)>(elementType: T, ...args: any[]): BuildContext {
7 export function createElement<T extends Constructor | string | ((props: any) => Element)>(elementType: T, ...args: any[]): Rendition {
8 8 if (typeof elementType === "string") {
9 const ctx = new HtmlElementContext(elementType);
9 const ctx = new HtmlRendition(elementType);
10 10 if (args)
11 11 args.forEach(x => ctx.visitNext(x));
12 12
13 13 return ctx;
14 14 } else if (isWidgetConstructor(elementType)) {
15 const ctx = new WidgetContext(elementType);
15 const ctx = new WidgetRendition(elementType);
16 16 if (args)
17 17 args.forEach(x => ctx.visitNext(x));
18 18
19 19 return ctx;
20 20 } else if (typeof elementType === "function") {
21 const ctx = new FunctionComponentContext(elementType as (props: any) => Element);
21 const ctx = new FunctionRendition(elementType as (props: any) => Element);
22 22 if (args)
23 23 args.forEach(x => ctx.visitNext(x));
24 24
25 25 return ctx;
26 26 } else {
27 27 throw new Error(`The element type '${elementType}' is unsupported`);
28 28 }
29 29 }
30 30
31 31 export interface EventDetails<T = any> {
32 32 detail: T;
33 33 }
34 34
35 35 export interface EventSelector {
36 36 selectorTarget: HTMLElement;
37 37 target: HTMLElement;
38 38 }
39 39
40 40 export type DojoMouseEvent<T = any> = MouseEvent & EventSelector & EventDetails<T>;
@@ -1,93 +1,11
1 import { isNull, mixin } from "@implab/core-amd/safe";
2 import { isPlainObject, isNode, isBuildContext, DojoNodePosition, BuildContext, isInPage, isWidget } from "./traits";
3
4 import dom = require("dojo/dom-construct");
5 import registry = require("dijit/registry");
6
7
8 export abstract class BuildContextBase<TNode extends Node> implements BuildContext<TNode> {
9 private _attrs = {};
10
11 private _children = new Array();
12
13 private _created: boolean = false;
14
15 visitNext(v: any) {
16 if (this._created)
17 throw new Error("The Element is already created");
18
19 if (isNull(v) || typeof v === "boolean")
20 // skip null, undefined, booleans ( this will work: {value && <span>{value}</span>} )
21 return;
22
23 if (isPlainObject(v)) {
24 mixin(this._attrs, v);
25 } else if (v instanceof Array) {
26 v.forEach(x => this.visitNext(x));
27 } else {
28 this._children.push(v);
29 }
30 }
1 import { RenditionBase } from "./RenditionBase";
31 2
32 protected getItemDom(v: any) {
33 const tv = typeof v;
34 if (tv === "string" || tv === "number" || v instanceof RegExp || v instanceof Date) {
35 return document.createTextNode(v.toString());
36 } else if (isNode(v)) {
37 return v;
38 } else if (isBuildContext(v)) {
39 return v.getDomNode();
40 } else if(isWidget(v)) {
41 return v.domNode;
42 } else if(tv === "boolean" || v === null || v === undefined) {
43 return document.createComment(`[${tv} ${String(v)}]`);
44 } else {
45 throw new Error("Invalid parameter");
46 }
47 }
48
49 ensureCreated() {
50 if (!this._created) {
51 this._create(this._attrs, this._children);
52 this._children = [];
53 this._attrs = {};
54 this._created = true;
55 }
56 }
57
58 /** @deprecated will be removed in 1.0.0, use getDomNode() */
59 getDomElement() {
60 return this.getDomNode();
61 }
3 /**
4 * @deprecated use RenditionBase instead
5 */
6 export type BuildContextBase<TNode extends Node> = RenditionBase<TNode>;
62 7
63 /** Creates DOM node if not created. No additional actions are taken. */
64 getDomNode() {
65 this.ensureCreated();
66 return this._getDomNode();
67 }
68
69 /** Creates DOM node if not created, places it to the specified position
70 * and calls startup() method for all widgets contained by this node.
71 *
72 * @param {string | Node} refNode The reference node where the created
73 * DOM should be placed.
74 * @param {DojoNodePosition} position Optional parameter, specifies the
75 * position relative to refNode. Default is "last" (i.e. last child).
76 */
77 placeAt(refNode: string | Node, position?: DojoNodePosition) {
78 const domNode = this.getDomNode();
79 dom.place(domNode, refNode, position);
80 const parentWidget = domNode.parentNode ? registry.getEnclosingWidget(domNode.parentNode) : null;
81
82 if ((parentWidget && parentWidget._started) || isInPage(domNode))
83 this._startup();
84 }
85
86 _startup () {
87 registry.findWidgets(this._getDomNode()).forEach(w => w.startup());
88 }
89
90 abstract _create(attrs: object, children: any[]): void;
91
92 abstract _getDomNode(): TNode;
93 }
8 /**
9 * @deprecated use RenditionBase instead
10 */
11 export const BuildContextBase = RenditionBase;
@@ -1,6 +1,7
1 1 /** Special functional component used to create a document fragment */
2 export function DjxFragment({children}: {children: Node[]}){
2 export function DjxFragment({children}: {children?: Node | Node[]}){
3 3 const fragment = document.createDocumentFragment();
4 4 if (children)
5 children.forEach(child => fragment.appendChild(child));
5 (children instanceof Array ? children : [children]).forEach(child => fragment.appendChild(child));
6 return fragment;
6 7 } No newline at end of file
@@ -1,88 +1,88
1 1 import { djbase, djclass } from "../declare";
2 2 import _WidgetBase = require("dijit/_WidgetBase");
3 3 import _AttachMixin = require("dijit/_AttachMixin");
4 import { BuildContext, isNode, startupWidgets } from "./traits";
4 import { Rendition, isNode, startupWidgets } from "./traits";
5 5 import registry = require("dijit/registry");
6 6
7 7 // type Handle = dojo.Handle;
8 8
9 9 export interface EventArgs {
10 10 bubbles?: boolean;
11 11
12 12 cancelable?: boolean;
13 13
14 14 composed?: boolean;
15 15 }
16 16
17 17 export interface DjxWidgetBase<Attrs = any, Events extends { [name in keyof Events]: Event } = any> {
18 18 set<K extends keyof Attrs & string>(key: K, value: Attrs[K]): this;
19 19 set(props: Partial<Attrs>): this;
20 20 get<K extends keyof Attrs & string>(key: K): Attrs[K];
21 21
22 22 on<K extends keyof Events & string>(eventName: K, cb: (evt: Events[K]) => void): dojo.WatchHandle;
23 23
24 24 emit<K extends keyof Events & string>(eventName: K, evt: Omit<Events[K], keyof Event> & EventArgs): void;
25 25 }
26 26
27 27 @djclass
28 28 export abstract class DjxWidgetBase<Attrs = any, Events = any> extends djbase(_WidgetBase, _AttachMixin) {
29 29
30 30 buildRendering() {
31 31 this.domNode = this.render().getDomNode();
32 32 super.buildRendering();
33 33
34 34 // now we should get assigned data-dojo-attach-points
35 35 // place the contents of the original srcNode to the containerNode
36 36 const src = this.srcNodeRef;
37 37 const dest = this.containerNode;
38 38
39 39 if (src && dest) {
40 40 while (src.firstChild)
41 41 dest.appendChild(src.firstChild);
42 42 }
43 43 }
44 44
45 abstract render(): BuildContext<HTMLElement>;
45 abstract render(): Rendition<HTMLElement>;
46 46
47 47 _processTemplateNode<T extends (Element | Node | _WidgetBase)>(
48 48 baseNode: T,
49 49 getAttrFunc: (baseNode: T, attr: string) => string,
50 50 // tslint:disable-next-line: ban-types
51 51 attachFunc: (node: T, type: string, func?: Function) => dojo.Handle
52 52 ): boolean {
53 53 if (isNode(baseNode)) {
54 54 const w = registry.byNode(baseNode);
55 55 if (w) {
56 56 // from dijit/_WidgetsInTemplateMixin
57 57 this._processTemplateNode(w,
58 58 (n, p) => n.get(p), // callback to get a property of a widget
59 59 (widget, type, callback) => {
60 60 if (!callback)
61 61 throw new Error("The callback must be specified");
62 62
63 63 // callback to do data-dojo-attach-event to a widget
64 64 if (type in widget) {
65 65 // back-compat, remove for 2.0
66 66 return widget.connect(widget, type, callback as EventListener);
67 67 } else {
68 68 // 1.x may never hit this branch, but it's the default for 2.0
69 69 return widget.on(type, callback);
70 70 }
71 71
72 72 });
73 73 // don't process widgets internals
74 74 return false;
75 75 }
76 76 }
77 77 return super._processTemplateNode(baseNode, getAttrFunc, attachFunc);
78 78 }
79 79
80 80 /** Starts current widget and all its supporting widgets (placed outside
81 81 * `containerNode`) and child widgets (placed inside `containerNode`)
82 82 */
83 83 startup() {
84 84 // startup supporting widgets
85 startupWidgets(this.domNode, this.containerNode);
85 registry.findWidgets(this.domNode, this.containerNode).forEach(w => w.startup());
86 86 super.startup();
87 87 }
88 88 }
@@ -1,33 +1,11
1 import dom = require("dojo/dom-construct");
2 import attr = require("dojo/dom-attr");
3 import { argumentNotNull } from "@implab/core-amd/safe";
4 import { BuildContextBase } from "./BuildContextBase";
5 import registry = require("dijit/registry");
6
7
8 export class FunctionComponentContext extends BuildContextBase<Node> {
9 private _component: (props: any) => any;
10
11 private _node: Node | undefined;
12
13 constructor(component: (props: any) => any) {
14 super();
15 argumentNotNull(component, "component");
1 import { FunctionRendition } from "./FunctionRendition";
16 2
17 this._component = component;
18 }
19
20 _create(attrs: object, children: any[]) {
21 const _attrs: any = attrs || {};
22 _attrs.children = children.map(x => this.getItemDom(x));
3 /**
4 * @deprecated use FunctionRendition
5 */
6 export type FunctionComponentContext = FunctionRendition;
23 7
24 this._node = this.getItemDom(this._component.call(null, _attrs));
25 }
26
27 _getDomNode() {
28 if (!this._node)
29 throw new Error("The instance of the widget isn't created");
30 return this._node;
31 }
32
33 }
8 /**
9 * @deprecated use FunctionRendition
10 */
11 export const FunctionComponentContext = FunctionRendition;
@@ -1,37 +1,11
1 import dom = require("dojo/dom-construct");
2 import { argumentNotEmptyString } from "@implab/core-amd/safe";
3 import { BuildContextBase } from "./BuildContextBase";
4
5 export class HtmlElementContext extends BuildContextBase<HTMLElement> {
6 elementType: string;
7
8 _element: HTMLElement | undefined;
9
10 constructor(elementType: string) {
11 argumentNotEmptyString(elementType, "elementType");
12 super();
13
14 this.elementType = elementType;
15 }
1 import { HtmlRendition } from "./HtmlRendition";
16 2
17 _addChild(child: any): void {
18 if (!this._element)
19 throw new Error("The HTML element isn't created");
20 dom.place(this.getItemDom(child), this._element);
21 }
22
23 _create(attrs: object, children: any[]) {
24 this._element = dom.create(this.elementType, attrs);
3 /**
4 * @deprecated use HtmlRendition
5 */
6 export type HtmlElementContext = HtmlRendition;
25 7
26 if (children)
27 children.forEach(v => this._addChild(v));
28 }
29
30 _getDomNode() {
31 if (!this._element)
32 throw new Error("The HTML element isn't created");
33
34 return this._element;
35 }
36
37 }
8 /**
9 * @deprecated use HtmlRendition
10 */
11 export const HtmlElementContext = HtmlRendition;
@@ -1,128 +1,11
1 import dom = require("dojo/dom-construct");
2 import { argumentNotNull } from "@implab/core-amd/safe";
3 import { BuildContextBase } from "./BuildContextBase";
4 import { DojoNodePosition, isInPage, isWidget } from "./traits";
5 import registry = require("dijit/registry");
6 import ContentPane = require("dijit/layout/ContentPane");
7
8 // tslint:disable-next-line: class-name
9 export interface _Widget {
10 domNode: Node;
11
12 containerNode?: Node;
13
14 placeAt?(refNode: string | Node, position?: DojoNodePosition): void;
15 startup?(): void;
16
17 addChild?(widget: any, index?: number): void;
18 }
19
20 export type _WidgetCtor = new (attrs: any, srcNode?: string | Node) => _Widget;
21
22 export class WidgetContext extends BuildContextBase<Node> {
23 readonly widgetClass: _WidgetCtor;
24
25 _instance: _Widget | undefined;
26
27 constructor(widgetClass: _WidgetCtor) {
28 super();
29 argumentNotNull(widgetClass, "widgetClass");
30
31 this.widgetClass = widgetClass;
32 }
33
34 _addChild(child: any): void {
35 const instance = this._getInstance();
36
37 if (instance.addChild) {
38 if (child instanceof WidgetContext) {
39 // layout containers add custom logic to addChild methods
40 instance.addChild(child.getWidgetInstance());
41 } else if (isWidget(child)) {
42 instance.addChild(child);
43 } else {
44 if (!instance.containerNode)
45 throw new Error("The widget doesn't have neither addChild nor containerNode");
46
47 // the current widget isn't started, it's children shouldn't start too
48 dom.place(this.getItemDom(child), instance.containerNode);
49 }
50 } else {
51 if (!instance.containerNode)
52 throw new Error("The widget doesn't have neither addChild nor containerNode");
53
54 // the current widget isn't started, it's children shouldn't start too
55 dom.place(this.getItemDom(child), instance.containerNode);
56 }
57 }
1 import { WidgetRendition } from "./WidgetRendition";
58 2
59 _create(attrs: any, children: any[]) {
60 if (this.widgetClass.prototype instanceof ContentPane) {
61 // a special case for the ContentPane this is for
62 // the compatibility with this heavy widget, all
63 // regular containers could be easily manipulated
64 // through `containerNode` property or `addChild` method.
65
66 // render children to the DocumentFragment
67 const content = document.createDocumentFragment();
68 children.forEach(child => content.appendChild(this.getItemDom(child)));
69
70 // set the content property to the parameters of the widget
71 const _attrs = { ...attrs, content };
72 this._instance = new this.widgetClass(_attrs);
73 } else {
74 this._instance = new this.widgetClass(attrs);
75 children.forEach(x => this._addChild(x));
76 }
77
78 }
79
80 private _getInstance() {
81 if (!this._instance)
82 throw new Error("The instance of the widget isn't created");
83 return this._instance;
84 }
85
86 _getDomNode() {
87 if (!this._instance)
88 throw new Error("The instance of the widget isn't created");
89 return this._instance.domNode;
90 }
3 /**
4 * @deprecated use WidgetRendition
5 */
6 export type WidgetContext = WidgetRendition;
91 7
92 /** Overrides default placeAt implementation. Calls placeAt of the
93 * widget and then starts it.
94 *
95 * @param refNode A node or id of the node where the widget should be placed.
96 * @param position A position relative to refNode.
97 */
98 placeAt(refNode: string | Node, position?: DojoNodePosition) {
99 this.ensureCreated();
100 const instance = this._getInstance();
101 if (typeof instance.placeAt === "function") {
102 instance.placeAt(refNode, position);
103
104 // fix the dojo startup behavior when the widget is placed
105 // directly to the document and doesn't have any enclosing widgets
106 const parentWidget = instance.domNode.parentNode ?
107 registry.getEnclosingWidget(instance.domNode.parentNode) : null
108 if (!parentWidget && isInPage(instance.domNode))
109 this._startup();
110 } else {
111 // the widget doesn't have a placeAt method, strange but whatever
112 super.placeAt(refNode, position);
113 }
114 }
115
116 _startup() {
117 const instance = this._getInstance();
118
119 if (typeof instance.startup === "function")
120 instance.startup();
121 }
122
123 getWidgetInstance() {
124 this.ensureCreated();
125 return this._getInstance();
126 }
127
128 }
8 /**
9 * @deprecated use WidgetRendition
10 */
11 export const WidgetContext = WidgetRendition;
@@ -1,130 +1,146
1 1 import { IDestroyable } from "@implab/core-amd/interfaces";
2 2 import { isDestroyable } from "@implab/core-amd/safe";
3 3 import _WidgetBase = require("dijit/_WidgetBase");
4 4 import registry = require("dijit/registry");
5 5 import dom = require("dojo/dom-construct");
6 6
7 7 type _WidgetBaseConstructor = typeof _WidgetBase;
8 8
9 9 export type DojoNodePosition = "first" | "after" | "before" | "last" | "replace" | "only" | number;
10 10
11 export interface BuildContext<TNode extends Node = Node> {
11 export interface Rendition<TNode extends Node = Node> {
12 12 getDomNode(): TNode;
13 13
14 14 placeAt(refNode: string | Node, position?: DojoNodePosition): void;
15 15 }
16 16
17 /**
18 * @deprecated use Rendition
19 */
20 export type BuildContext<TNode extends Node = Node> = Rendition<TNode>;
21
17 22 export interface IRecursivelyDestroyable {
18 23 destroyRecursive(): void;
19 24 }
20 25
21 26 export function isNode(el: any): el is Node {
22 27 return el && el.nodeName && el.nodeType;
23 28 }
24 29
25 30 export function isElementNode(el: any): el is Element {
26 31 return isNode(el) && el.nodeType === 1;
27 32 }
28 33
29 34 export function isTextNode(el: any): el is Text {
30 35 return isNode(el) && el.nodeType === 3;
31 36 }
32 37
33 38 export function isProcessingInstructionNode(el: any): el is ProcessingInstruction {
34 39 return isNode(el) && el.nodeType === 7;
35 40 }
36 41
37 42 export function isCommentNode(el: any): el is Comment {
38 43 return isNode(el) && el.nodeType === 8;
39 44 }
40 45
41 46 export function isDocumentNode(el: any): el is Document {
42 47 return isNode(el) && el.nodeType === 9;
43 48 }
44 49
45 50 export function isDocumentTypeNode(el: any): el is DocumentType {
46 51 return isNode(el) && el.nodeType === 10;
47 52 }
48 53
49 54 export function isDocumentFragmentNode(el: any): el is DocumentFragment {
50 55 return isNode(el) && el.nodeType === 11;
51 56 }
52 57
53 58 export function isWidget(v: any): v is _WidgetBase {
54 59 return v && "domNode" in v;
55 60 }
56 61
57 export function isBuildContext(v: any): v is BuildContext {
62 export function isRendition(v: any): v is Rendition {
58 63 return typeof v === "object" && typeof v.getDomElement === "function";
59 64 }
60 65
66 /**
67 * @deprecated use isRendition
68 */
69 export const isBuildContext = isRendition;
70
61 71 export function isPlainObject(v: object) {
62 72 if (typeof v !== "object")
63 73 return false;
64 74
65 75 const vp = Object.getPrototypeOf(v);
66 76 return !vp || vp === Object.prototype;
67 77 }
68 78
69 79 export function isWidgetConstructor(v: any): v is _WidgetBaseConstructor {
70 80 return typeof v === "function" && v.prototype && (
71 81 "domNode" in v.prototype ||
72 82 "buildRendering" in v.prototype
73 83 );
74 84 }
75 85
76 86 /** Tests whether the specified node is placed in visible dom.
77 87 * @param {Node} node The node to test
78 88 */
79 89 export function isInPage(node: Node) {
80 90 return (node === document.body) ? false : document.body.contains(node);
81 91 }
82 92
83 93 export function isRecursivelyDestroyable(target: any): target is IRecursivelyDestroyable {
84 94 return target && typeof target.destroyRecursive === "function";
85 95 }
86 96
87 97
88 98 /** Destroys DOM Node with all contained widgets.
89 99 * If the specified node is the root node of a widget, then the
90 100 * widget will be destroyed.
91 101 *
92 102 * @param target DOM Node or widget to destroy
93 103 */
94 104 export function destroy(target: Node | IDestroyable | IRecursivelyDestroyable) {
95 105 if (isRecursivelyDestroyable(target)) {
96 106 target.destroyRecursive();
97 107 } else if (isDestroyable(target)) {
98 108 target.destroy();
99 109 } else if (isNode(target)) {
100 110 const self = registry.byNode(target);
101 111 if (self) {
102 112 self.destroyRecursive();
103 113 } else {
104 114 registry.findWidgets(target).forEach(destroy);
105 115 dom.destroy(target);
106 116 }
107 117 }
108 118 }
109 119
110 120 /** Empties a content of the specified node and destroys all contained widgets.
111 121 *
112 122 * @param target DOM node to .
113 123 */
114 124 export function emptyNode(target: Node) {
115 125 registry.findWidgets(target).forEach(destroy);
116 126 dom.empty(target);
117 127 }
118 128
119 /** This function starts all widgets inside the DOM node if the target is a node,
120 * or starts widget itself if the target is the widget.
129 /** This function starts all widgets inside the DOM node if the target is a node
130 * or starts widget itself if the target is the widget. If the specified node
131 * associated with the widget that widget will be started.
121 132 *
122 133 * @param target DOM node to find and start widgets or the widget itself.
123 134 */
124 135 export function startupWidgets(target: Node | _WidgetBase, skipNode?: Node) {
125 136 if (isNode(target)) {
126 registry.findWidgets(target, skipNode).forEach(w => w.startup());
137 const w = registry.byNode(target);
138 if (w) {
139 w.startup && w.startup();
140 } else {
141 registry.findWidgets(target, skipNode).forEach(w => w.startup());
142 }
127 143 } else {
128 target.startup();
144 target.startup && target.startup();
129 145 }
130 146 } No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now