##// END OF EJS Templates
Working on dojo typings
cin -
r15:8ef85ad13241 default
parent child
Show More
@@ -1,73 +1,78
1 plugins {
1 plugins {
2 id "org.implab.gradle-typescript" version "1.3.3"
2 id "org.implab.gradle-typescript" version "1.3.3"
3 id "ivy-publish"
3 id "ivy-publish"
4 }
4 }
5
5
6 typescript {
6 typescript {
7 compilerOptions {
7 compilerOptions {
8 lib = ["es5", "dom", "scripthost", "es2015.promise", "es2015.symbol", "es2015.iterable"]
8 lib = ["es5", "dom", "scripthost", "es2015.promise", "es2015.symbol", "es2015.iterable"]
9 //listFiles = true
9 //listFiles = true
10 declaration = true
10 declaration = true
11 strict = true
11 strict = true
12 types = []
12 types = []
13 module = "amd"
13 module = "amd"
14 it.target = "es5"
14 it.target = "es5"
15 experimentalDecorators = true
15 experimentalDecorators = true
16 jsx = "react"
16 jsx = "react"
17 jsxFactory = "createElement"
17 jsxFactory = "createElement"
18 moduleResolution = "node"
18 moduleResolution = "node"
19 // dojo-typings are sick
19 // dojo-typings are sick
20 skipLibCheck = true
20 skipLibCheck = true
21 // traceResolution = true
21 // traceResolution = true
22 // baseUrl = "./"
22 // baseUrl = "./"
23 // paths = [ "*": [ "$projectDir/src/typings/*" ] ]
23 // paths = [ "*": [ "$projectDir/src/typings/*" ] ]
24 // baseUrl = "$projectDir/src/typings"
24 // baseUrl = "$projectDir/src/typings"
25 // typeRoots = ["$projectDir/src/typings"]
25 // typeRoots = ["$projectDir/src/typings"]
26 }
26 }
27
27
28 tscCmd = "$projectDir/node_modules/.bin/tsc"
28 tscCmd = "$projectDir/node_modules/.bin/tsc"
29 tsLintCmd = "$projectDir/node_modules/.bin/tslint"
29 tsLintCmd = "$projectDir/node_modules/.bin/tslint"
30 esLintCmd = "$projectDir/node_modules/.bin/eslint"
30 esLintCmd = "$projectDir/node_modules/.bin/eslint"
31 }
31 }
32
32
33 configureTsMain {
33 configureTsMain {
34 compilerOptions {
34 compilerOptions {
35 types = ["requirejs", "dojo-typings"]
35 baseUrl = "$projectDir/src"
36 paths = [
37 "dojo/*" : [ "typings/dojo/*" ],
38 "dijit/*" : [ "typings/dijit/*" ]
39 ]
40 types = ["requirejs", "$projectDir/src/typings/dojo/index" /*, "dojo-typings"*/]
36 }
41 }
37 }
42 }
38
43
39 configureTsTest {
44 configureTsTest {
40 compilerOptions {
45 compilerOptions {
41 baseUrl = "."
46 baseUrl = "."
42 paths = [
47 paths = [
43 "@implab/djx" : [ sources.main.output.typingsDir.get().toString() ],
48 "@implab/djx" : [ sources.main.output.typingsDir.get().toString() ],
44 "@implab/djx/*" : [ "${sources.main.output.typingsDir.get().toString()}/*" ]
49 "@implab/djx/*" : [ "${sources.main.output.typingsDir.get().toString()}/*" ]
45 ]
50 ]
46 types = ["requirejs", sources.main.output.typingsDir.get().toString()]
51 types = ["requirejs", sources.main.output.typingsDir.get().toString()]
47 }
52 }
48 }
53 }
49
54
50 npmPackMeta {
55 npmPackMeta {
51 meta {
56 meta {
52 name = "@$npmScope/$project.name"
57 name = "@$npmScope/$project.name"
53 }
58 }
54 }
59 }
55
60
56 task npmPackTypings(type: Copy) {
61 task npmPackTypings(type: Copy) {
57 dependsOn typings
62 dependsOn typings
58
63
59 npmPackContents.dependsOn it
64 npmPackContents.dependsOn it
60
65
61 from typescript.typingsDir
66 from typescript.typingsDir
62 into npm.packageDir
67 into npm.packageDir
63 }
68 }
64
69
65 task printVersion {
70 task printVersion {
66 doLast {
71 doLast {
67 println "packageName: ${npmPackMeta.metadata.get().name}";
72 println "packageName: ${npmPackMeta.metadata.get().name}";
68 println "version: $version";
73 println "version: $version";
69 println "target: $typescript.compilerOptions.target";
74 println "target: $typescript.compilerOptions.target";
70 println "module: $typescript.compilerOptions.module";
75 println "module: $typescript.compilerOptions.module";
71 println "symbols: $symbols";
76 println "symbols: $symbols";
72 }
77 }
73 } No newline at end of file
78 }
@@ -1,1208 +1,1208
1 {
1 {
2 "name": "@implab/djx",
2 "name": "@implab/djx",
3 "version": "0.0.1-dev",
3 "version": "0.0.1-dev",
4 "lockfileVersion": 1,
4 "lockfileVersion": 1,
5 "requires": true,
5 "requires": true,
6 "dependencies": {
6 "dependencies": {
7 "@babel/code-frame": {
7 "@babel/code-frame": {
8 "version": "7.8.3",
8 "version": "7.8.3",
9 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
9 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
10 "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
10 "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
11 "dev": true,
11 "dev": true,
12 "requires": {
12 "requires": {
13 "@babel/highlight": "^7.8.3"
13 "@babel/highlight": "^7.8.3"
14 }
14 }
15 },
15 },
16 "@babel/highlight": {
16 "@babel/highlight": {
17 "version": "7.8.3",
17 "version": "7.8.3",
18 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
18 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
19 "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
19 "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
20 "dev": true,
20 "dev": true,
21 "requires": {
21 "requires": {
22 "chalk": "^2.0.0",
22 "chalk": "^2.0.0",
23 "esutils": "^2.0.2",
23 "esutils": "^2.0.2",
24 "js-tokens": "^4.0.0"
24 "js-tokens": "^4.0.0"
25 }
25 }
26 },
26 },
27 "@babel/runtime": {
27 "@babel/runtime": {
28 "version": "7.8.3",
28 "version": "7.8.3",
29 "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz",
29 "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz",
30 "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==",
30 "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==",
31 "dev": true,
31 "dev": true,
32 "requires": {
32 "requires": {
33 "regenerator-runtime": "^0.13.2"
33 "regenerator-runtime": "^0.13.2"
34 }
34 }
35 },
35 },
36 "@implab/core-amd": {
36 "@implab/core-amd": {
37 "version": "1.3.2",
37 "version": "1.3.2",
38 "resolved": "https://registry.npmjs.org/@implab/core-amd/-/core-amd-1.3.2.tgz",
38 "resolved": "https://registry.npmjs.org/@implab/core-amd/-/core-amd-1.3.2.tgz",
39 "integrity": "sha512-OPx02obqz60FiOzDqEFuPfag/0ugl1tuQouI+52Op0k+fcmuBK4QACJy7o3fzOYvejdjF1DG4aRXuCm6+vgMYQ==",
39 "integrity": "sha512-OPx02obqz60FiOzDqEFuPfag/0ugl1tuQouI+52Op0k+fcmuBK4QACJy7o3fzOYvejdjF1DG4aRXuCm6+vgMYQ==",
40 "dev": true
40 "dev": true
41 },
41 },
42 "@types/chai": {
42 "@types/chai": {
43 "version": "4.1.3",
43 "version": "4.1.3",
44 "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.3.tgz",
44 "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.3.tgz",
45 "integrity": "sha512-f5dXGzOJycyzSMdaXVhiBhauL4dYydXwVpavfQ1mVCaGjR56a9QfklXObUxlIY9bGTmCPHEEZ04I16BZ/8w5ww==",
45 "integrity": "sha512-f5dXGzOJycyzSMdaXVhiBhauL4dYydXwVpavfQ1mVCaGjR56a9QfklXObUxlIY9bGTmCPHEEZ04I16BZ/8w5ww==",
46 "dev": true
46 "dev": true
47 },
47 },
48 "@types/requirejs": {
48 "@types/requirejs": {
49 "version": "2.1.31",
49 "version": "2.1.31",
50 "resolved": "https://registry.npmjs.org/@types/requirejs/-/requirejs-2.1.31.tgz",
50 "resolved": "https://registry.npmjs.org/@types/requirejs/-/requirejs-2.1.31.tgz",
51 "integrity": "sha512-b2soeyuU76rMbcRJ4e0hEl0tbMhFwZeTC0VZnfuWlfGlk6BwWNsev6kFu/twKABPX29wkX84wU2o+cEJoXsiTw==",
51 "integrity": "sha512-b2soeyuU76rMbcRJ4e0hEl0tbMhFwZeTC0VZnfuWlfGlk6BwWNsev6kFu/twKABPX29wkX84wU2o+cEJoXsiTw==",
52 "dev": true
52 "dev": true
53 },
53 },
54 "@types/yaml": {
54 "@types/yaml": {
55 "version": "1.2.0",
55 "version": "1.2.0",
56 "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.2.0.tgz",
56 "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.2.0.tgz",
57 "integrity": "sha512-GW8b9qM+ebgW3/zjzPm0I1NxMvLaz/YKT9Ph6tTb+Fkeyzd9yLTvQ6ciQ2MorTRmb/qXmfjMerRpG4LviixaqQ==",
57 "integrity": "sha512-GW8b9qM+ebgW3/zjzPm0I1NxMvLaz/YKT9Ph6tTb+Fkeyzd9yLTvQ6ciQ2MorTRmb/qXmfjMerRpG4LviixaqQ==",
58 "dev": true
58 "dev": true
59 },
59 },
60 "acorn": {
60 "acorn": {
61 "version": "7.1.0",
61 "version": "7.1.0",
62 "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz",
62 "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz",
63 "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==",
63 "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==",
64 "dev": true
64 "dev": true
65 },
65 },
66 "acorn-jsx": {
66 "acorn-jsx": {
67 "version": "5.1.0",
67 "version": "5.1.0",
68 "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz",
68 "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz",
69 "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==",
69 "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==",
70 "dev": true
70 "dev": true
71 },
71 },
72 "ajv": {
72 "ajv": {
73 "version": "6.11.0",
73 "version": "6.11.0",
74 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz",
74 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz",
75 "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==",
75 "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==",
76 "dev": true,
76 "dev": true,
77 "requires": {
77 "requires": {
78 "fast-deep-equal": "^3.1.1",
78 "fast-deep-equal": "^3.1.1",
79 "fast-json-stable-stringify": "^2.0.0",
79 "fast-json-stable-stringify": "^2.0.0",
80 "json-schema-traverse": "^0.4.1",
80 "json-schema-traverse": "^0.4.1",
81 "uri-js": "^4.2.2"
81 "uri-js": "^4.2.2"
82 }
82 }
83 },
83 },
84 "ansi-escapes": {
84 "ansi-escapes": {
85 "version": "4.3.0",
85 "version": "4.3.0",
86 "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz",
86 "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz",
87 "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==",
87 "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==",
88 "dev": true,
88 "dev": true,
89 "requires": {
89 "requires": {
90 "type-fest": "^0.8.1"
90 "type-fest": "^0.8.1"
91 }
91 }
92 },
92 },
93 "ansi-regex": {
93 "ansi-regex": {
94 "version": "5.0.0",
94 "version": "5.0.0",
95 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
95 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
96 "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
96 "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
97 "dev": true
97 "dev": true
98 },
98 },
99 "ansi-styles": {
99 "ansi-styles": {
100 "version": "3.2.1",
100 "version": "3.2.1",
101 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
101 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
102 "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
102 "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
103 "dev": true,
103 "dev": true,
104 "requires": {
104 "requires": {
105 "color-convert": "^1.9.0"
105 "color-convert": "^1.9.0"
106 }
106 }
107 },
107 },
108 "argparse": {
108 "argparse": {
109 "version": "1.0.10",
109 "version": "1.0.10",
110 "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
110 "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
111 "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
111 "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
112 "dev": true,
112 "dev": true,
113 "requires": {
113 "requires": {
114 "sprintf-js": "~1.0.2"
114 "sprintf-js": "~1.0.2"
115 }
115 }
116 },
116 },
117 "assertion-error": {
117 "assertion-error": {
118 "version": "1.1.0",
118 "version": "1.1.0",
119 "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
119 "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
120 "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
120 "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
121 "dev": true
121 "dev": true
122 },
122 },
123 "astral-regex": {
123 "astral-regex": {
124 "version": "1.0.0",
124 "version": "1.0.0",
125 "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
125 "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
126 "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
126 "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
127 "dev": true
127 "dev": true
128 },
128 },
129 "balanced-match": {
129 "balanced-match": {
130 "version": "1.0.0",
130 "version": "1.0.0",
131 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
131 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
132 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
132 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
133 "dev": true
133 "dev": true
134 },
134 },
135 "brace-expansion": {
135 "brace-expansion": {
136 "version": "1.1.11",
136 "version": "1.1.11",
137 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
137 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
138 "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
138 "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
139 "dev": true,
139 "dev": true,
140 "requires": {
140 "requires": {
141 "balanced-match": "^1.0.0",
141 "balanced-match": "^1.0.0",
142 "concat-map": "0.0.1"
142 "concat-map": "0.0.1"
143 }
143 }
144 },
144 },
145 "builtin-modules": {
145 "builtin-modules": {
146 "version": "1.1.1",
146 "version": "1.1.1",
147 "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
147 "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
148 "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
148 "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
149 "dev": true
149 "dev": true
150 },
150 },
151 "callsites": {
151 "callsites": {
152 "version": "3.1.0",
152 "version": "3.1.0",
153 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
153 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
154 "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
154 "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
155 "dev": true
155 "dev": true
156 },
156 },
157 "chai": {
157 "chai": {
158 "version": "4.2.0",
158 "version": "4.2.0",
159 "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz",
159 "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz",
160 "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==",
160 "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==",
161 "dev": true,
161 "dev": true,
162 "requires": {
162 "requires": {
163 "assertion-error": "^1.1.0",
163 "assertion-error": "^1.1.0",
164 "check-error": "^1.0.2",
164 "check-error": "^1.0.2",
165 "deep-eql": "^3.0.1",
165 "deep-eql": "^3.0.1",
166 "get-func-name": "^2.0.0",
166 "get-func-name": "^2.0.0",
167 "pathval": "^1.1.0",
167 "pathval": "^1.1.0",
168 "type-detect": "^4.0.5"
168 "type-detect": "^4.0.5"
169 }
169 }
170 },
170 },
171 "chalk": {
171 "chalk": {
172 "version": "2.4.2",
172 "version": "2.4.2",
173 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
173 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
174 "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
174 "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
175 "dev": true,
175 "dev": true,
176 "requires": {
176 "requires": {
177 "ansi-styles": "^3.2.1",
177 "ansi-styles": "^3.2.1",
178 "escape-string-regexp": "^1.0.5",
178 "escape-string-regexp": "^1.0.5",
179 "supports-color": "^5.3.0"
179 "supports-color": "^5.3.0"
180 }
180 }
181 },
181 },
182 "chardet": {
182 "chardet": {
183 "version": "0.7.0",
183 "version": "0.7.0",
184 "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
184 "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
185 "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
185 "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
186 "dev": true
186 "dev": true
187 },
187 },
188 "check-error": {
188 "check-error": {
189 "version": "1.0.2",
189 "version": "1.0.2",
190 "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
190 "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
191 "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=",
191 "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=",
192 "dev": true
192 "dev": true
193 },
193 },
194 "cli-cursor": {
194 "cli-cursor": {
195 "version": "3.1.0",
195 "version": "3.1.0",
196 "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
196 "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
197 "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
197 "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
198 "dev": true,
198 "dev": true,
199 "requires": {
199 "requires": {
200 "restore-cursor": "^3.1.0"
200 "restore-cursor": "^3.1.0"
201 }
201 }
202 },
202 },
203 "cli-width": {
203 "cli-width": {
204 "version": "2.2.0",
204 "version": "2.2.0",
205 "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
205 "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
206 "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
206 "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
207 "dev": true
207 "dev": true
208 },
208 },
209 "color-convert": {
209 "color-convert": {
210 "version": "1.9.3",
210 "version": "1.9.3",
211 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
211 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
212 "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
212 "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
213 "dev": true,
213 "dev": true,
214 "requires": {
214 "requires": {
215 "color-name": "1.1.3"
215 "color-name": "1.1.3"
216 }
216 }
217 },
217 },
218 "color-name": {
218 "color-name": {
219 "version": "1.1.3",
219 "version": "1.1.3",
220 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
220 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
221 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
221 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
222 "dev": true
222 "dev": true
223 },
223 },
224 "commander": {
224 "commander": {
225 "version": "2.20.3",
225 "version": "2.20.3",
226 "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
226 "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
227 "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
227 "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
228 "dev": true
228 "dev": true
229 },
229 },
230 "concat-map": {
230 "concat-map": {
231 "version": "0.0.1",
231 "version": "0.0.1",
232 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
232 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
233 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
233 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
234 "dev": true
234 "dev": true
235 },
235 },
236 "cross-spawn": {
236 "cross-spawn": {
237 "version": "6.0.5",
237 "version": "6.0.5",
238 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
238 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
239 "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
239 "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
240 "dev": true,
240 "dev": true,
241 "requires": {
241 "requires": {
242 "nice-try": "^1.0.4",
242 "nice-try": "^1.0.4",
243 "path-key": "^2.0.1",
243 "path-key": "^2.0.1",
244 "semver": "^5.5.0",
244 "semver": "^5.5.0",
245 "shebang-command": "^1.2.0",
245 "shebang-command": "^1.2.0",
246 "which": "^1.2.9"
246 "which": "^1.2.9"
247 },
247 },
248 "dependencies": {
248 "dependencies": {
249 "semver": {
249 "semver": {
250 "version": "5.7.1",
250 "version": "5.7.1",
251 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
251 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
252 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
252 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
253 "dev": true
253 "dev": true
254 }
254 }
255 }
255 }
256 },
256 },
257 "debug": {
257 "debug": {
258 "version": "4.1.1",
258 "version": "4.1.1",
259 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
259 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
260 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
260 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
261 "dev": true,
261 "dev": true,
262 "requires": {
262 "requires": {
263 "ms": "^2.1.1"
263 "ms": "^2.1.1"
264 }
264 }
265 },
265 },
266 "deep-eql": {
266 "deep-eql": {
267 "version": "3.0.1",
267 "version": "3.0.1",
268 "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
268 "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
269 "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
269 "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
270 "dev": true,
270 "dev": true,
271 "requires": {
271 "requires": {
272 "type-detect": "^4.0.0"
272 "type-detect": "^4.0.0"
273 }
273 }
274 },
274 },
275 "deep-is": {
275 "deep-is": {
276 "version": "0.1.3",
276 "version": "0.1.3",
277 "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
277 "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
278 "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
278 "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
279 "dev": true
279 "dev": true
280 },
280 },
281 "diff": {
281 "diff": {
282 "version": "4.0.2",
282 "version": "4.0.2",
283 "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
283 "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
284 "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
284 "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
285 "dev": true
285 "dev": true
286 },
286 },
287 "doctrine": {
287 "doctrine": {
288 "version": "3.0.0",
288 "version": "3.0.0",
289 "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
289 "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
290 "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
290 "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
291 "dev": true,
291 "dev": true,
292 "requires": {
292 "requires": {
293 "esutils": "^2.0.2"
293 "esutils": "^2.0.2"
294 }
294 }
295 },
295 },
296 "dojo": {
296 "dojo": {
297 "version": "1.16.0",
297 "version": "1.16.0",
298 "resolved": "https://registry.npmjs.org/dojo/-/dojo-1.16.0.tgz",
298 "resolved": "https://registry.npmjs.org/dojo/-/dojo-1.16.0.tgz",
299 "integrity": "sha512-DUiXyoLK6vMF5BPr/qiMLTxDMfiM9qlzN1jxfDsVfuvB/CwhYpNxA/M4mbqKN8PCVGLmccXBJbfmFJPP5+zmzw==",
299 "integrity": "sha512-DUiXyoLK6vMF5BPr/qiMLTxDMfiM9qlzN1jxfDsVfuvB/CwhYpNxA/M4mbqKN8PCVGLmccXBJbfmFJPP5+zmzw==",
300 "dev": true
300 "dev": true
301 },
301 },
302 "dojo-typings": {
302 "dojo-typings": {
303 "version": "1.11.9",
303 "version": "1.11.9",
304 "resolved": "https://registry.npmjs.org/dojo-typings/-/dojo-typings-1.11.9.tgz",
304 "resolved": "https://registry.npmjs.org/dojo-typings/-/dojo-typings-1.11.9.tgz",
305 "integrity": "sha512-mh8w+Mau2Y1QfTEszEAdO7j6ycNhYxF/Ing6nAk1eUg6NxjeT0viVHjICMd9sU3U463vM2G+KfBBK5grk3/Mlw==",
305 "integrity": "sha512-mh8w+Mau2Y1QfTEszEAdO7j6ycNhYxF/Ing6nAk1eUg6NxjeT0viVHjICMd9sU3U463vM2G+KfBBK5grk3/Mlw==",
306 "dev": true,
306 "dev": true,
307 "requires": {
307 "requires": {
308 "@types/chai": "^4.0.4"
308 "@types/chai": "^4.0.4"
309 }
309 }
310 },
310 },
311 "emoji-regex": {
311 "emoji-regex": {
312 "version": "8.0.0",
312 "version": "8.0.0",
313 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
313 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
314 "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
314 "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
315 "dev": true
315 "dev": true
316 },
316 },
317 "escape-string-regexp": {
317 "escape-string-regexp": {
318 "version": "1.0.5",
318 "version": "1.0.5",
319 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
319 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
320 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
320 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
321 "dev": true
321 "dev": true
322 },
322 },
323 "eslint": {
323 "eslint": {
324 "version": "6.8.0",
324 "version": "6.8.0",
325 "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
325 "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
326 "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
326 "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
327 "dev": true,
327 "dev": true,
328 "requires": {
328 "requires": {
329 "@babel/code-frame": "^7.0.0",
329 "@babel/code-frame": "^7.0.0",
330 "ajv": "^6.10.0",
330 "ajv": "^6.10.0",
331 "chalk": "^2.1.0",
331 "chalk": "^2.1.0",
332 "cross-spawn": "^6.0.5",
332 "cross-spawn": "^6.0.5",
333 "debug": "^4.0.1",
333 "debug": "^4.0.1",
334 "doctrine": "^3.0.0",
334 "doctrine": "^3.0.0",
335 "eslint-scope": "^5.0.0",
335 "eslint-scope": "^5.0.0",
336 "eslint-utils": "^1.4.3",
336 "eslint-utils": "^1.4.3",
337 "eslint-visitor-keys": "^1.1.0",
337 "eslint-visitor-keys": "^1.1.0",
338 "espree": "^6.1.2",
338 "espree": "^6.1.2",
339 "esquery": "^1.0.1",
339 "esquery": "^1.0.1",
340 "esutils": "^2.0.2",
340 "esutils": "^2.0.2",
341 "file-entry-cache": "^5.0.1",
341 "file-entry-cache": "^5.0.1",
342 "functional-red-black-tree": "^1.0.1",
342 "functional-red-black-tree": "^1.0.1",
343 "glob-parent": "^5.0.0",
343 "glob-parent": "^5.0.0",
344 "globals": "^12.1.0",
344 "globals": "^12.1.0",
345 "ignore": "^4.0.6",
345 "ignore": "^4.0.6",
346 "import-fresh": "^3.0.0",
346 "import-fresh": "^3.0.0",
347 "imurmurhash": "^0.1.4",
347 "imurmurhash": "^0.1.4",
348 "inquirer": "^7.0.0",
348 "inquirer": "^7.0.0",
349 "is-glob": "^4.0.0",
349 "is-glob": "^4.0.0",
350 "js-yaml": "^3.13.1",
350 "js-yaml": "^3.13.1",
351 "json-stable-stringify-without-jsonify": "^1.0.1",
351 "json-stable-stringify-without-jsonify": "^1.0.1",
352 "levn": "^0.3.0",
352 "levn": "^0.3.0",
353 "lodash": "^4.17.14",
353 "lodash": "^4.17.14",
354 "minimatch": "^3.0.4",
354 "minimatch": "^3.0.4",
355 "mkdirp": "^0.5.1",
355 "mkdirp": "^0.5.1",
356 "natural-compare": "^1.4.0",
356 "natural-compare": "^1.4.0",
357 "optionator": "^0.8.3",
357 "optionator": "^0.8.3",
358 "progress": "^2.0.0",
358 "progress": "^2.0.0",
359 "regexpp": "^2.0.1",
359 "regexpp": "^2.0.1",
360 "semver": "^6.1.2",
360 "semver": "^6.1.2",
361 "strip-ansi": "^5.2.0",
361 "strip-ansi": "^5.2.0",
362 "strip-json-comments": "^3.0.1",
362 "strip-json-comments": "^3.0.1",
363 "table": "^5.2.3",
363 "table": "^5.2.3",
364 "text-table": "^0.2.0",
364 "text-table": "^0.2.0",
365 "v8-compile-cache": "^2.0.3"
365 "v8-compile-cache": "^2.0.3"
366 }
366 }
367 },
367 },
368 "eslint-scope": {
368 "eslint-scope": {
369 "version": "5.0.0",
369 "version": "5.0.0",
370 "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
370 "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
371 "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
371 "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
372 "dev": true,
372 "dev": true,
373 "requires": {
373 "requires": {
374 "esrecurse": "^4.1.0",
374 "esrecurse": "^4.1.0",
375 "estraverse": "^4.1.1"
375 "estraverse": "^4.1.1"
376 }
376 }
377 },
377 },
378 "eslint-utils": {
378 "eslint-utils": {
379 "version": "1.4.3",
379 "version": "1.4.3",
380 "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
380 "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
381 "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
381 "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
382 "dev": true,
382 "dev": true,
383 "requires": {
383 "requires": {
384 "eslint-visitor-keys": "^1.1.0"
384 "eslint-visitor-keys": "^1.1.0"
385 }
385 }
386 },
386 },
387 "eslint-visitor-keys": {
387 "eslint-visitor-keys": {
388 "version": "1.1.0",
388 "version": "1.1.0",
389 "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
389 "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
390 "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
390 "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
391 "dev": true
391 "dev": true
392 },
392 },
393 "espree": {
393 "espree": {
394 "version": "6.1.2",
394 "version": "6.1.2",
395 "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz",
395 "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz",
396 "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==",
396 "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==",
397 "dev": true,
397 "dev": true,
398 "requires": {
398 "requires": {
399 "acorn": "^7.1.0",
399 "acorn": "^7.1.0",
400 "acorn-jsx": "^5.1.0",
400 "acorn-jsx": "^5.1.0",
401 "eslint-visitor-keys": "^1.1.0"
401 "eslint-visitor-keys": "^1.1.0"
402 }
402 }
403 },
403 },
404 "esprima": {
404 "esprima": {
405 "version": "4.0.1",
405 "version": "4.0.1",
406 "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
406 "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
407 "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
407 "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
408 "dev": true
408 "dev": true
409 },
409 },
410 "esquery": {
410 "esquery": {
411 "version": "1.0.1",
411 "version": "1.0.1",
412 "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
412 "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
413 "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
413 "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
414 "dev": true,
414 "dev": true,
415 "requires": {
415 "requires": {
416 "estraverse": "^4.0.0"
416 "estraverse": "^4.0.0"
417 }
417 }
418 },
418 },
419 "esrecurse": {
419 "esrecurse": {
420 "version": "4.2.1",
420 "version": "4.2.1",
421 "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
421 "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
422 "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
422 "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
423 "dev": true,
423 "dev": true,
424 "requires": {
424 "requires": {
425 "estraverse": "^4.1.0"
425 "estraverse": "^4.1.0"
426 }
426 }
427 },
427 },
428 "estraverse": {
428 "estraverse": {
429 "version": "4.3.0",
429 "version": "4.3.0",
430 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
430 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
431 "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
431 "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
432 "dev": true
432 "dev": true
433 },
433 },
434 "esutils": {
434 "esutils": {
435 "version": "2.0.3",
435 "version": "2.0.3",
436 "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
436 "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
437 "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
437 "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
438 "dev": true
438 "dev": true
439 },
439 },
440 "external-editor": {
440 "external-editor": {
441 "version": "3.1.0",
441 "version": "3.1.0",
442 "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
442 "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
443 "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
443 "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
444 "dev": true,
444 "dev": true,
445 "requires": {
445 "requires": {
446 "chardet": "^0.7.0",
446 "chardet": "^0.7.0",
447 "iconv-lite": "^0.4.24",
447 "iconv-lite": "^0.4.24",
448 "tmp": "^0.0.33"
448 "tmp": "^0.0.33"
449 }
449 }
450 },
450 },
451 "fast-deep-equal": {
451 "fast-deep-equal": {
452 "version": "3.1.1",
452 "version": "3.1.1",
453 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
453 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
454 "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
454 "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
455 "dev": true
455 "dev": true
456 },
456 },
457 "fast-json-stable-stringify": {
457 "fast-json-stable-stringify": {
458 "version": "2.1.0",
458 "version": "2.1.0",
459 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
459 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
460 "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
460 "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
461 "dev": true
461 "dev": true
462 },
462 },
463 "fast-levenshtein": {
463 "fast-levenshtein": {
464 "version": "2.0.6",
464 "version": "2.0.6",
465 "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
465 "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
466 "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
466 "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
467 "dev": true
467 "dev": true
468 },
468 },
469 "figures": {
469 "figures": {
470 "version": "3.1.0",
470 "version": "3.1.0",
471 "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz",
471 "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz",
472 "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==",
472 "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==",
473 "dev": true,
473 "dev": true,
474 "requires": {
474 "requires": {
475 "escape-string-regexp": "^1.0.5"
475 "escape-string-regexp": "^1.0.5"
476 }
476 }
477 },
477 },
478 "file-entry-cache": {
478 "file-entry-cache": {
479 "version": "5.0.1",
479 "version": "5.0.1",
480 "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
480 "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
481 "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
481 "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
482 "dev": true,
482 "dev": true,
483 "requires": {
483 "requires": {
484 "flat-cache": "^2.0.1"
484 "flat-cache": "^2.0.1"
485 }
485 }
486 },
486 },
487 "flat-cache": {
487 "flat-cache": {
488 "version": "2.0.1",
488 "version": "2.0.1",
489 "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
489 "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
490 "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
490 "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
491 "dev": true,
491 "dev": true,
492 "requires": {
492 "requires": {
493 "flatted": "^2.0.0",
493 "flatted": "^2.0.0",
494 "rimraf": "2.6.3",
494 "rimraf": "2.6.3",
495 "write": "1.0.3"
495 "write": "1.0.3"
496 }
496 }
497 },
497 },
498 "flatted": {
498 "flatted": {
499 "version": "2.0.1",
499 "version": "2.0.1",
500 "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
500 "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
501 "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
501 "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
502 "dev": true
502 "dev": true
503 },
503 },
504 "fs.realpath": {
504 "fs.realpath": {
505 "version": "1.0.0",
505 "version": "1.0.0",
506 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
506 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
507 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
507 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
508 "dev": true
508 "dev": true
509 },
509 },
510 "functional-red-black-tree": {
510 "functional-red-black-tree": {
511 "version": "1.0.1",
511 "version": "1.0.1",
512 "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
512 "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
513 "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
513 "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
514 "dev": true
514 "dev": true
515 },
515 },
516 "get-func-name": {
516 "get-func-name": {
517 "version": "2.0.0",
517 "version": "2.0.0",
518 "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
518 "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
519 "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=",
519 "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=",
520 "dev": true
520 "dev": true
521 },
521 },
522 "glob": {
522 "glob": {
523 "version": "7.1.6",
523 "version": "7.1.6",
524 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
524 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
525 "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
525 "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
526 "dev": true,
526 "dev": true,
527 "requires": {
527 "requires": {
528 "fs.realpath": "^1.0.0",
528 "fs.realpath": "^1.0.0",
529 "inflight": "^1.0.4",
529 "inflight": "^1.0.4",
530 "inherits": "2",
530 "inherits": "2",
531 "minimatch": "^3.0.4",
531 "minimatch": "^3.0.4",
532 "once": "^1.3.0",
532 "once": "^1.3.0",
533 "path-is-absolute": "^1.0.0"
533 "path-is-absolute": "^1.0.0"
534 }
534 }
535 },
535 },
536 "glob-parent": {
536 "glob-parent": {
537 "version": "5.1.0",
537 "version": "5.1.0",
538 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
538 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
539 "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
539 "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
540 "dev": true,
540 "dev": true,
541 "requires": {
541 "requires": {
542 "is-glob": "^4.0.1"
542 "is-glob": "^4.0.1"
543 }
543 }
544 },
544 },
545 "globals": {
545 "globals": {
546 "version": "12.3.0",
546 "version": "12.3.0",
547 "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz",
547 "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz",
548 "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==",
548 "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==",
549 "dev": true,
549 "dev": true,
550 "requires": {
550 "requires": {
551 "type-fest": "^0.8.1"
551 "type-fest": "^0.8.1"
552 }
552 }
553 },
553 },
554 "has-flag": {
554 "has-flag": {
555 "version": "3.0.0",
555 "version": "3.0.0",
556 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
556 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
557 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
557 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
558 "dev": true
558 "dev": true
559 },
559 },
560 "iconv-lite": {
560 "iconv-lite": {
561 "version": "0.4.24",
561 "version": "0.4.24",
562 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
562 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
563 "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
563 "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
564 "dev": true,
564 "dev": true,
565 "requires": {
565 "requires": {
566 "safer-buffer": ">= 2.1.2 < 3"
566 "safer-buffer": ">= 2.1.2 < 3"
567 }
567 }
568 },
568 },
569 "ignore": {
569 "ignore": {
570 "version": "4.0.6",
570 "version": "4.0.6",
571 "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
571 "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
572 "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
572 "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
573 "dev": true
573 "dev": true
574 },
574 },
575 "import-fresh": {
575 "import-fresh": {
576 "version": "3.2.1",
576 "version": "3.2.1",
577 "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
577 "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
578 "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
578 "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
579 "dev": true,
579 "dev": true,
580 "requires": {
580 "requires": {
581 "parent-module": "^1.0.0",
581 "parent-module": "^1.0.0",
582 "resolve-from": "^4.0.0"
582 "resolve-from": "^4.0.0"
583 }
583 }
584 },
584 },
585 "imurmurhash": {
585 "imurmurhash": {
586 "version": "0.1.4",
586 "version": "0.1.4",
587 "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
587 "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
588 "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
588 "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
589 "dev": true
589 "dev": true
590 },
590 },
591 "inflight": {
591 "inflight": {
592 "version": "1.0.6",
592 "version": "1.0.6",
593 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
593 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
594 "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
594 "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
595 "dev": true,
595 "dev": true,
596 "requires": {
596 "requires": {
597 "once": "^1.3.0",
597 "once": "^1.3.0",
598 "wrappy": "1"
598 "wrappy": "1"
599 }
599 }
600 },
600 },
601 "inherits": {
601 "inherits": {
602 "version": "2.0.4",
602 "version": "2.0.4",
603 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
603 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
604 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
604 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
605 "dev": true
605 "dev": true
606 },
606 },
607 "inquirer": {
607 "inquirer": {
608 "version": "7.0.3",
608 "version": "7.0.3",
609 "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.3.tgz",
609 "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.3.tgz",
610 "integrity": "sha512-+OiOVeVydu4hnCGLCSX+wedovR/Yzskv9BFqUNNKq9uU2qg7LCcCo3R86S2E7WLo0y/x2pnEZfZe1CoYnORUAw==",
610 "integrity": "sha512-+OiOVeVydu4hnCGLCSX+wedovR/Yzskv9BFqUNNKq9uU2qg7LCcCo3R86S2E7WLo0y/x2pnEZfZe1CoYnORUAw==",
611 "dev": true,
611 "dev": true,
612 "requires": {
612 "requires": {
613 "ansi-escapes": "^4.2.1",
613 "ansi-escapes": "^4.2.1",
614 "chalk": "^2.4.2",
614 "chalk": "^2.4.2",
615 "cli-cursor": "^3.1.0",
615 "cli-cursor": "^3.1.0",
616 "cli-width": "^2.0.0",
616 "cli-width": "^2.0.0",
617 "external-editor": "^3.0.3",
617 "external-editor": "^3.0.3",
618 "figures": "^3.0.0",
618 "figures": "^3.0.0",
619 "lodash": "^4.17.15",
619 "lodash": "^4.17.15",
620 "mute-stream": "0.0.8",
620 "mute-stream": "0.0.8",
621 "run-async": "^2.2.0",
621 "run-async": "^2.2.0",
622 "rxjs": "^6.5.3",
622 "rxjs": "^6.5.3",
623 "string-width": "^4.1.0",
623 "string-width": "^4.1.0",
624 "strip-ansi": "^5.1.0",
624 "strip-ansi": "^5.1.0",
625 "through": "^2.3.6"
625 "through": "^2.3.6"
626 }
626 }
627 },
627 },
628 "is-extglob": {
628 "is-extglob": {
629 "version": "2.1.1",
629 "version": "2.1.1",
630 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
630 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
631 "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
631 "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
632 "dev": true
632 "dev": true
633 },
633 },
634 "is-fullwidth-code-point": {
634 "is-fullwidth-code-point": {
635 "version": "3.0.0",
635 "version": "3.0.0",
636 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
636 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
637 "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
637 "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
638 "dev": true
638 "dev": true
639 },
639 },
640 "is-glob": {
640 "is-glob": {
641 "version": "4.0.1",
641 "version": "4.0.1",
642 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
642 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
643 "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
643 "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
644 "dev": true,
644 "dev": true,
645 "requires": {
645 "requires": {
646 "is-extglob": "^2.1.1"
646 "is-extglob": "^2.1.1"
647 }
647 }
648 },
648 },
649 "is-promise": {
649 "is-promise": {
650 "version": "2.1.0",
650 "version": "2.1.0",
651 "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
651 "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
652 "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
652 "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
653 "dev": true
653 "dev": true
654 },
654 },
655 "isexe": {
655 "isexe": {
656 "version": "2.0.0",
656 "version": "2.0.0",
657 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
657 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
658 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
658 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
659 "dev": true
659 "dev": true
660 },
660 },
661 "js-tokens": {
661 "js-tokens": {
662 "version": "4.0.0",
662 "version": "4.0.0",
663 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
663 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
664 "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
664 "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
665 "dev": true
665 "dev": true
666 },
666 },
667 "js-yaml": {
667 "js-yaml": {
668 "version": "3.13.1",
668 "version": "3.13.1",
669 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
669 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
670 "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
670 "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
671 "dev": true,
671 "dev": true,
672 "requires": {
672 "requires": {
673 "argparse": "^1.0.7",
673 "argparse": "^1.0.7",
674 "esprima": "^4.0.0"
674 "esprima": "^4.0.0"
675 }
675 }
676 },
676 },
677 "json-schema-traverse": {
677 "json-schema-traverse": {
678 "version": "0.4.1",
678 "version": "0.4.1",
679 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
679 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
680 "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
680 "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
681 "dev": true
681 "dev": true
682 },
682 },
683 "json-stable-stringify-without-jsonify": {
683 "json-stable-stringify-without-jsonify": {
684 "version": "1.0.1",
684 "version": "1.0.1",
685 "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
685 "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
686 "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
686 "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
687 "dev": true
687 "dev": true
688 },
688 },
689 "levn": {
689 "levn": {
690 "version": "0.3.0",
690 "version": "0.3.0",
691 "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
691 "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
692 "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
692 "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
693 "dev": true,
693 "dev": true,
694 "requires": {
694 "requires": {
695 "prelude-ls": "~1.1.2",
695 "prelude-ls": "~1.1.2",
696 "type-check": "~0.3.2"
696 "type-check": "~0.3.2"
697 }
697 }
698 },
698 },
699 "lodash": {
699 "lodash": {
700 "version": "4.17.15",
700 "version": "4.17.15",
701 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
701 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
702 "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
702 "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
703 "dev": true
703 "dev": true
704 },
704 },
705 "mimic-fn": {
705 "mimic-fn": {
706 "version": "2.1.0",
706 "version": "2.1.0",
707 "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
707 "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
708 "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
708 "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
709 "dev": true
709 "dev": true
710 },
710 },
711 "minimatch": {
711 "minimatch": {
712 "version": "3.0.4",
712 "version": "3.0.4",
713 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
713 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
714 "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
714 "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
715 "dev": true,
715 "dev": true,
716 "requires": {
716 "requires": {
717 "brace-expansion": "^1.1.7"
717 "brace-expansion": "^1.1.7"
718 }
718 }
719 },
719 },
720 "minimist": {
720 "minimist": {
721 "version": "0.0.8",
721 "version": "0.0.8",
722 "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
722 "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
723 "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
723 "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
724 "dev": true
724 "dev": true
725 },
725 },
726 "mkdirp": {
726 "mkdirp": {
727 "version": "0.5.1",
727 "version": "0.5.1",
728 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
728 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
729 "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
729 "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
730 "dev": true,
730 "dev": true,
731 "requires": {
731 "requires": {
732 "minimist": "0.0.8"
732 "minimist": "0.0.8"
733 }
733 }
734 },
734 },
735 "ms": {
735 "ms": {
736 "version": "2.1.2",
736 "version": "2.1.2",
737 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
737 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
738 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
738 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
739 "dev": true
739 "dev": true
740 },
740 },
741 "mute-stream": {
741 "mute-stream": {
742 "version": "0.0.8",
742 "version": "0.0.8",
743 "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
743 "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
744 "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
744 "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
745 "dev": true
745 "dev": true
746 },
746 },
747 "natural-compare": {
747 "natural-compare": {
748 "version": "1.4.0",
748 "version": "1.4.0",
749 "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
749 "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
750 "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
750 "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
751 "dev": true
751 "dev": true
752 },
752 },
753 "nice-try": {
753 "nice-try": {
754 "version": "1.0.5",
754 "version": "1.0.5",
755 "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
755 "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
756 "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
756 "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
757 "dev": true
757 "dev": true
758 },
758 },
759 "once": {
759 "once": {
760 "version": "1.4.0",
760 "version": "1.4.0",
761 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
761 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
762 "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
762 "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
763 "dev": true,
763 "dev": true,
764 "requires": {
764 "requires": {
765 "wrappy": "1"
765 "wrappy": "1"
766 }
766 }
767 },
767 },
768 "onetime": {
768 "onetime": {
769 "version": "5.1.0",
769 "version": "5.1.0",
770 "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
770 "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
771 "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
771 "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
772 "dev": true,
772 "dev": true,
773 "requires": {
773 "requires": {
774 "mimic-fn": "^2.1.0"
774 "mimic-fn": "^2.1.0"
775 }
775 }
776 },
776 },
777 "optionator": {
777 "optionator": {
778 "version": "0.8.3",
778 "version": "0.8.3",
779 "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
779 "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
780 "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
780 "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
781 "dev": true,
781 "dev": true,
782 "requires": {
782 "requires": {
783 "deep-is": "~0.1.3",
783 "deep-is": "~0.1.3",
784 "fast-levenshtein": "~2.0.6",
784 "fast-levenshtein": "~2.0.6",
785 "levn": "~0.3.0",
785 "levn": "~0.3.0",
786 "prelude-ls": "~1.1.2",
786 "prelude-ls": "~1.1.2",
787 "type-check": "~0.3.2",
787 "type-check": "~0.3.2",
788 "word-wrap": "~1.2.3"
788 "word-wrap": "~1.2.3"
789 }
789 }
790 },
790 },
791 "os-tmpdir": {
791 "os-tmpdir": {
792 "version": "1.0.2",
792 "version": "1.0.2",
793 "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
793 "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
794 "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
794 "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
795 "dev": true
795 "dev": true
796 },
796 },
797 "parent-module": {
797 "parent-module": {
798 "version": "1.0.1",
798 "version": "1.0.1",
799 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
799 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
800 "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
800 "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
801 "dev": true,
801 "dev": true,
802 "requires": {
802 "requires": {
803 "callsites": "^3.0.0"
803 "callsites": "^3.0.0"
804 }
804 }
805 },
805 },
806 "path-is-absolute": {
806 "path-is-absolute": {
807 "version": "1.0.1",
807 "version": "1.0.1",
808 "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
808 "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
809 "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
809 "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
810 "dev": true
810 "dev": true
811 },
811 },
812 "path-key": {
812 "path-key": {
813 "version": "2.0.1",
813 "version": "2.0.1",
814 "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
814 "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
815 "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
815 "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
816 "dev": true
816 "dev": true
817 },
817 },
818 "path-parse": {
818 "path-parse": {
819 "version": "1.0.6",
819 "version": "1.0.6",
820 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
820 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
821 "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
821 "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
822 "dev": true
822 "dev": true
823 },
823 },
824 "pathval": {
824 "pathval": {
825 "version": "1.1.0",
825 "version": "1.1.0",
826 "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
826 "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
827 "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=",
827 "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=",
828 "dev": true
828 "dev": true
829 },
829 },
830 "prelude-ls": {
830 "prelude-ls": {
831 "version": "1.1.2",
831 "version": "1.1.2",
832 "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
832 "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
833 "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
833 "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
834 "dev": true
834 "dev": true
835 },
835 },
836 "progress": {
836 "progress": {
837 "version": "2.0.3",
837 "version": "2.0.3",
838 "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
838 "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
839 "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
839 "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
840 "dev": true
840 "dev": true
841 },
841 },
842 "punycode": {
842 "punycode": {
843 "version": "2.1.1",
843 "version": "2.1.1",
844 "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
844 "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
845 "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
845 "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
846 "dev": true
846 "dev": true
847 },
847 },
848 "regenerator-runtime": {
848 "regenerator-runtime": {
849 "version": "0.13.3",
849 "version": "0.13.3",
850 "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
850 "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
851 "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==",
851 "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==",
852 "dev": true
852 "dev": true
853 },
853 },
854 "regexpp": {
854 "regexpp": {
855 "version": "2.0.1",
855 "version": "2.0.1",
856 "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
856 "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
857 "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
857 "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
858 "dev": true
858 "dev": true
859 },
859 },
860 "resolve": {
860 "resolve": {
861 "version": "1.15.0",
861 "version": "1.15.0",
862 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.0.tgz",
862 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.0.tgz",
863 "integrity": "sha512-+hTmAldEGE80U2wJJDC1lebb5jWqvTYAfm3YZ1ckk1gBr0MnCqUKlwK1e+anaFljIl+F5tR5IoZcm4ZDA1zMQw==",
863 "integrity": "sha512-+hTmAldEGE80U2wJJDC1lebb5jWqvTYAfm3YZ1ckk1gBr0MnCqUKlwK1e+anaFljIl+F5tR5IoZcm4ZDA1zMQw==",
864 "dev": true,
864 "dev": true,
865 "requires": {
865 "requires": {
866 "path-parse": "^1.0.6"
866 "path-parse": "^1.0.6"
867 }
867 }
868 },
868 },
869 "resolve-from": {
869 "resolve-from": {
870 "version": "4.0.0",
870 "version": "4.0.0",
871 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
871 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
872 "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
872 "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
873 "dev": true
873 "dev": true
874 },
874 },
875 "restore-cursor": {
875 "restore-cursor": {
876 "version": "3.1.0",
876 "version": "3.1.0",
877 "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
877 "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
878 "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
878 "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
879 "dev": true,
879 "dev": true,
880 "requires": {
880 "requires": {
881 "onetime": "^5.1.0",
881 "onetime": "^5.1.0",
882 "signal-exit": "^3.0.2"
882 "signal-exit": "^3.0.2"
883 }
883 }
884 },
884 },
885 "rimraf": {
885 "rimraf": {
886 "version": "2.6.3",
886 "version": "2.6.3",
887 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
887 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
888 "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
888 "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
889 "dev": true,
889 "dev": true,
890 "requires": {
890 "requires": {
891 "glob": "^7.1.3"
891 "glob": "^7.1.3"
892 }
892 }
893 },
893 },
894 "run-async": {
894 "run-async": {
895 "version": "2.3.0",
895 "version": "2.3.0",
896 "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
896 "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
897 "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
897 "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
898 "dev": true,
898 "dev": true,
899 "requires": {
899 "requires": {
900 "is-promise": "^2.1.0"
900 "is-promise": "^2.1.0"
901 }
901 }
902 },
902 },
903 "rxjs": {
903 "rxjs": {
904 "version": "6.5.4",
904 "version": "6.5.4",
905 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
905 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
906 "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
906 "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
907 "dev": true,
907 "dev": true,
908 "requires": {
908 "requires": {
909 "tslib": "^1.9.0"
909 "tslib": "^1.9.0"
910 }
910 }
911 },
911 },
912 "safer-buffer": {
912 "safer-buffer": {
913 "version": "2.1.2",
913 "version": "2.1.2",
914 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
914 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
915 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
915 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
916 "dev": true
916 "dev": true
917 },
917 },
918 "semver": {
918 "semver": {
919 "version": "6.3.0",
919 "version": "6.3.0",
920 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
920 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
921 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
921 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
922 "dev": true
922 "dev": true
923 },
923 },
924 "shebang-command": {
924 "shebang-command": {
925 "version": "1.2.0",
925 "version": "1.2.0",
926 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
926 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
927 "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
927 "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
928 "dev": true,
928 "dev": true,
929 "requires": {
929 "requires": {
930 "shebang-regex": "^1.0.0"
930 "shebang-regex": "^1.0.0"
931 }
931 }
932 },
932 },
933 "shebang-regex": {
933 "shebang-regex": {
934 "version": "1.0.0",
934 "version": "1.0.0",
935 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
935 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
936 "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
936 "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
937 "dev": true
937 "dev": true
938 },
938 },
939 "signal-exit": {
939 "signal-exit": {
940 "version": "3.0.2",
940 "version": "3.0.2",
941 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
941 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
942 "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
942 "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
943 "dev": true
943 "dev": true
944 },
944 },
945 "slice-ansi": {
945 "slice-ansi": {
946 "version": "2.1.0",
946 "version": "2.1.0",
947 "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
947 "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
948 "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
948 "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
949 "dev": true,
949 "dev": true,
950 "requires": {
950 "requires": {
951 "ansi-styles": "^3.2.0",
951 "ansi-styles": "^3.2.0",
952 "astral-regex": "^1.0.0",
952 "astral-regex": "^1.0.0",
953 "is-fullwidth-code-point": "^2.0.0"
953 "is-fullwidth-code-point": "^2.0.0"
954 },
954 },
955 "dependencies": {
955 "dependencies": {
956 "is-fullwidth-code-point": {
956 "is-fullwidth-code-point": {
957 "version": "2.0.0",
957 "version": "2.0.0",
958 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
958 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
959 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
959 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
960 "dev": true
960 "dev": true
961 }
961 }
962 }
962 }
963 },
963 },
964 "sprintf-js": {
964 "sprintf-js": {
965 "version": "1.0.3",
965 "version": "1.0.3",
966 "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
966 "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
967 "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
967 "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
968 "dev": true
968 "dev": true
969 },
969 },
970 "string-width": {
970 "string-width": {
971 "version": "4.2.0",
971 "version": "4.2.0",
972 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
972 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
973 "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
973 "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
974 "dev": true,
974 "dev": true,
975 "requires": {
975 "requires": {
976 "emoji-regex": "^8.0.0",
976 "emoji-regex": "^8.0.0",
977 "is-fullwidth-code-point": "^3.0.0",
977 "is-fullwidth-code-point": "^3.0.0",
978 "strip-ansi": "^6.0.0"
978 "strip-ansi": "^6.0.0"
979 },
979 },
980 "dependencies": {
980 "dependencies": {
981 "strip-ansi": {
981 "strip-ansi": {
982 "version": "6.0.0",
982 "version": "6.0.0",
983 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
983 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
984 "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
984 "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
985 "dev": true,
985 "dev": true,
986 "requires": {
986 "requires": {
987 "ansi-regex": "^5.0.0"
987 "ansi-regex": "^5.0.0"
988 }
988 }
989 }
989 }
990 }
990 }
991 },
991 },
992 "strip-ansi": {
992 "strip-ansi": {
993 "version": "5.2.0",
993 "version": "5.2.0",
994 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
994 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
995 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
995 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
996 "dev": true,
996 "dev": true,
997 "requires": {
997 "requires": {
998 "ansi-regex": "^4.1.0"
998 "ansi-regex": "^4.1.0"
999 },
999 },
1000 "dependencies": {
1000 "dependencies": {
1001 "ansi-regex": {
1001 "ansi-regex": {
1002 "version": "4.1.0",
1002 "version": "4.1.0",
1003 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
1003 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
1004 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
1004 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
1005 "dev": true
1005 "dev": true
1006 }
1006 }
1007 }
1007 }
1008 },
1008 },
1009 "strip-json-comments": {
1009 "strip-json-comments": {
1010 "version": "3.0.1",
1010 "version": "3.0.1",
1011 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
1011 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
1012 "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
1012 "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
1013 "dev": true
1013 "dev": true
1014 },
1014 },
1015 "supports-color": {
1015 "supports-color": {
1016 "version": "5.5.0",
1016 "version": "5.5.0",
1017 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
1017 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
1018 "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
1018 "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
1019 "dev": true,
1019 "dev": true,
1020 "requires": {
1020 "requires": {
1021 "has-flag": "^3.0.0"
1021 "has-flag": "^3.0.0"
1022 }
1022 }
1023 },
1023 },
1024 "table": {
1024 "table": {
1025 "version": "5.4.6",
1025 "version": "5.4.6",
1026 "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
1026 "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
1027 "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
1027 "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
1028 "dev": true,
1028 "dev": true,
1029 "requires": {
1029 "requires": {
1030 "ajv": "^6.10.2",
1030 "ajv": "^6.10.2",
1031 "lodash": "^4.17.14",
1031 "lodash": "^4.17.14",
1032 "slice-ansi": "^2.1.0",
1032 "slice-ansi": "^2.1.0",
1033 "string-width": "^3.0.0"
1033 "string-width": "^3.0.0"
1034 },
1034 },
1035 "dependencies": {
1035 "dependencies": {
1036 "emoji-regex": {
1036 "emoji-regex": {
1037 "version": "7.0.3",
1037 "version": "7.0.3",
1038 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
1038 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
1039 "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
1039 "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
1040 "dev": true
1040 "dev": true
1041 },
1041 },
1042 "is-fullwidth-code-point": {
1042 "is-fullwidth-code-point": {
1043 "version": "2.0.0",
1043 "version": "2.0.0",
1044 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
1044 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
1045 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
1045 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
1046 "dev": true
1046 "dev": true
1047 },
1047 },
1048 "string-width": {
1048 "string-width": {
1049 "version": "3.1.0",
1049 "version": "3.1.0",
1050 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
1050 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
1051 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
1051 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
1052 "dev": true,
1052 "dev": true,
1053 "requires": {
1053 "requires": {
1054 "emoji-regex": "^7.0.1",
1054 "emoji-regex": "^7.0.1",
1055 "is-fullwidth-code-point": "^2.0.0",
1055 "is-fullwidth-code-point": "^2.0.0",
1056 "strip-ansi": "^5.1.0"
1056 "strip-ansi": "^5.1.0"
1057 }
1057 }
1058 }
1058 }
1059 }
1059 }
1060 },
1060 },
1061 "text-table": {
1061 "text-table": {
1062 "version": "0.2.0",
1062 "version": "0.2.0",
1063 "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
1063 "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
1064 "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
1064 "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
1065 "dev": true
1065 "dev": true
1066 },
1066 },
1067 "through": {
1067 "through": {
1068 "version": "2.3.8",
1068 "version": "2.3.8",
1069 "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
1069 "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
1070 "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
1070 "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
1071 "dev": true
1071 "dev": true
1072 },
1072 },
1073 "tmp": {
1073 "tmp": {
1074 "version": "0.0.33",
1074 "version": "0.0.33",
1075 "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
1075 "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
1076 "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
1076 "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
1077 "dev": true,
1077 "dev": true,
1078 "requires": {
1078 "requires": {
1079 "os-tmpdir": "~1.0.2"
1079 "os-tmpdir": "~1.0.2"
1080 }
1080 }
1081 },
1081 },
1082 "tslib": {
1082 "tslib": {
1083 "version": "1.10.0",
1083 "version": "1.10.0",
1084 "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
1084 "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
1085 "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
1085 "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
1086 "dev": true
1086 "dev": true
1087 },
1087 },
1088 "tslint": {
1088 "tslint": {
1089 "version": "6.0.0",
1089 "version": "6.0.0",
1090 "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.0.0.tgz",
1090 "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.0.0.tgz",
1091 "integrity": "sha512-9nLya8GBtlFmmFMW7oXXwoXS1NkrccqTqAtwXzdPV9e2mqSEvCki6iHL/Fbzi5oqbugshzgGPk7KBb2qNP1DSA==",
1091 "integrity": "sha512-9nLya8GBtlFmmFMW7oXXwoXS1NkrccqTqAtwXzdPV9e2mqSEvCki6iHL/Fbzi5oqbugshzgGPk7KBb2qNP1DSA==",
1092 "dev": true,
1092 "dev": true,
1093 "requires": {
1093 "requires": {
1094 "@babel/code-frame": "^7.0.0",
1094 "@babel/code-frame": "^7.0.0",
1095 "builtin-modules": "^1.1.1",
1095 "builtin-modules": "^1.1.1",
1096 "chalk": "^2.3.0",
1096 "chalk": "^2.3.0",
1097 "commander": "^2.12.1",
1097 "commander": "^2.12.1",
1098 "diff": "^4.0.1",
1098 "diff": "^4.0.1",
1099 "glob": "^7.1.1",
1099 "glob": "^7.1.1",
1100 "js-yaml": "^3.13.1",
1100 "js-yaml": "^3.13.1",
1101 "minimatch": "^3.0.4",
1101 "minimatch": "^3.0.4",
1102 "mkdirp": "^0.5.1",
1102 "mkdirp": "^0.5.1",
1103 "resolve": "^1.3.2",
1103 "resolve": "^1.3.2",
1104 "semver": "^5.3.0",
1104 "semver": "^5.3.0",
1105 "tslib": "^1.10.0",
1105 "tslib": "^1.10.0",
1106 "tsutils": "^2.29.0"
1106 "tsutils": "^2.29.0"
1107 },
1107 },
1108 "dependencies": {
1108 "dependencies": {
1109 "semver": {
1109 "semver": {
1110 "version": "5.7.1",
1110 "version": "5.7.1",
1111 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
1111 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
1112 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
1112 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
1113 "dev": true
1113 "dev": true
1114 }
1114 }
1115 }
1115 }
1116 },
1116 },
1117 "tsutils": {
1117 "tsutils": {
1118 "version": "2.29.0",
1118 "version": "2.29.0",
1119 "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz",
1119 "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz",
1120 "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
1120 "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
1121 "dev": true,
1121 "dev": true,
1122 "requires": {
1122 "requires": {
1123 "tslib": "^1.8.1"
1123 "tslib": "^1.8.1"
1124 }
1124 }
1125 },
1125 },
1126 "type-check": {
1126 "type-check": {
1127 "version": "0.3.2",
1127 "version": "0.3.2",
1128 "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
1128 "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
1129 "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
1129 "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
1130 "dev": true,
1130 "dev": true,
1131 "requires": {
1131 "requires": {
1132 "prelude-ls": "~1.1.2"
1132 "prelude-ls": "~1.1.2"
1133 }
1133 }
1134 },
1134 },
1135 "type-detect": {
1135 "type-detect": {
1136 "version": "4.0.8",
1136 "version": "4.0.8",
1137 "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
1137 "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
1138 "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
1138 "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
1139 "dev": true
1139 "dev": true
1140 },
1140 },
1141 "type-fest": {
1141 "type-fest": {
1142 "version": "0.8.1",
1142 "version": "0.8.1",
1143 "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
1143 "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
1144 "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
1144 "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
1145 "dev": true
1145 "dev": true
1146 },
1146 },
1147 "typescript": {
1147 "typescript": {
1148 "version": "3.7.5",
1148 "version": "3.8.3",
1149 "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.5.tgz",
1149 "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz",
1150 "integrity": "sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw==",
1150 "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==",
1151 "dev": true
1151 "dev": true
1152 },
1152 },
1153 "uri-js": {
1153 "uri-js": {
1154 "version": "4.2.2",
1154 "version": "4.2.2",
1155 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
1155 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
1156 "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
1156 "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
1157 "dev": true,
1157 "dev": true,
1158 "requires": {
1158 "requires": {
1159 "punycode": "^2.1.0"
1159 "punycode": "^2.1.0"
1160 }
1160 }
1161 },
1161 },
1162 "v8-compile-cache": {
1162 "v8-compile-cache": {
1163 "version": "2.1.0",
1163 "version": "2.1.0",
1164 "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
1164 "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
1165 "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==",
1165 "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==",
1166 "dev": true
1166 "dev": true
1167 },
1167 },
1168 "which": {
1168 "which": {
1169 "version": "1.3.1",
1169 "version": "1.3.1",
1170 "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
1170 "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
1171 "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
1171 "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
1172 "dev": true,
1172 "dev": true,
1173 "requires": {
1173 "requires": {
1174 "isexe": "^2.0.0"
1174 "isexe": "^2.0.0"
1175 }
1175 }
1176 },
1176 },
1177 "word-wrap": {
1177 "word-wrap": {
1178 "version": "1.2.3",
1178 "version": "1.2.3",
1179 "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
1179 "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
1180 "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
1180 "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
1181 "dev": true
1181 "dev": true
1182 },
1182 },
1183 "wrappy": {
1183 "wrappy": {
1184 "version": "1.0.2",
1184 "version": "1.0.2",
1185 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1185 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1186 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
1186 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
1187 "dev": true
1187 "dev": true
1188 },
1188 },
1189 "write": {
1189 "write": {
1190 "version": "1.0.3",
1190 "version": "1.0.3",
1191 "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
1191 "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
1192 "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
1192 "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
1193 "dev": true,
1193 "dev": true,
1194 "requires": {
1194 "requires": {
1195 "mkdirp": "^0.5.1"
1195 "mkdirp": "^0.5.1"
1196 }
1196 }
1197 },
1197 },
1198 "yaml": {
1198 "yaml": {
1199 "version": "1.7.2",
1199 "version": "1.7.2",
1200 "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz",
1200 "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz",
1201 "integrity": "sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==",
1201 "integrity": "sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==",
1202 "dev": true,
1202 "dev": true,
1203 "requires": {
1203 "requires": {
1204 "@babel/runtime": "^7.6.3"
1204 "@babel/runtime": "^7.6.3"
1205 }
1205 }
1206 }
1206 }
1207 }
1207 }
1208 }
1208 }
@@ -1,34 +1,34
1 {
1 {
2 "name": "@implab/djx",
2 "name": "@implab/djx",
3 "version": "0.0.1-dev",
3 "version": "0.0.1-dev",
4 "description": "Supports using dojo version 1 with typescript and .tsx files",
4 "description": "Supports using dojo version 1 with typescript and .tsx files",
5 "keywords": [
5 "keywords": [
6 "dojo",
6 "dojo",
7 "tsx",
7 "tsx",
8 "typescript",
8 "typescript",
9 "widgets"
9 "widgets"
10 ],
10 ],
11 "author": "Implab team",
11 "author": "Implab team",
12 "license": "BSD-2-Clause",
12 "license": "BSD-2-Clause",
13 "repository": "https://hg.code.sf.net/p/implabjs/djx",
13 "repository": "https://hg.code.sf.net/p/implabjs/djx",
14 "publishConfig": {
14 "publishConfig": {
15 "access": "public"
15 "access": "public"
16 },
16 },
17 "peerDependencies": {
17 "peerDependencies": {
18 "dojo": "1.16.0",
18 "dojo": "1.16.0",
19 "@implab/core-amd": "^1.3.2"
19 "@implab/core-amd": "^1.3.2"
20 },
20 },
21 "devDependencies": {
21 "devDependencies": {
22 "@types/requirejs": "2.1.31",
22 "@types/requirejs": "2.1.31",
23 "dojo": "1.16.0",
23 "dojo": "1.16.0",
24 "typescript": "~3.7.5",
24 "typescript": "~3.8.3",
25 "eslint": "6.8.0",
25 "eslint": "6.8.0",
26 "tslint": "6.0.0",
26 "tslint": "6.0.0",
27 "@implab/core-amd": "^1.3.2",
27 "@implab/core-amd": "^1.3.2",
28 "yaml": "~1.7.2",
28 "yaml": "~1.7.2",
29 "@types/yaml": "1.2.0",
29 "@types/yaml": "1.2.0",
30 "chai": "4.2.0",
30 "chai": "4.2.0",
31 "@types/chai": "4.1.3",
31 "@types/chai": "4.1.3",
32 "dojo-typings": "~1.11.9"
32 "dojo-typings": "~1.11.9"
33 }
33 }
34 }
34 }
@@ -1,240 +1,241
1 import declare = require("dojo/_base/declare");
1 import declare = require("dojo/_base/declare");
2 import { each } from "@implab/core-amd/safe";
2 import { each } from "@implab/core-amd/safe";
3 import { Constructor } from "@implab/core-amd/interfaces";
3 import { Constructor } from "@implab/core-amd/interfaces";
4 // import { DeclareConstructor } from "dojo/_base/declare";
5
4
6 type DeclareConstructor<T> = dojo._base.DeclareConstructor<T>;
5 // declare const declare: any;
6
7 type DeclareConstructor<T> = declare.DeclareConstructor<T>;
7
8
8 export interface AbstractConstructor<T = {}> {
9 export interface AbstractConstructor<T = {}> {
9 prototype: T;
10 prototype: T;
10 }
11 }
11
12
12 interface DjMockConstructor<T = {}> {
13 interface DjMockConstructor<T = {}> {
13 new(...args: any[]): T;
14 new(...args: any[]): T;
14 mock: boolean;
15 mock: boolean;
15 base: AbstractConstructor;
16 base: AbstractConstructor;
16 }
17 }
17
18
18 export function djbase<T>(
19 export function djbase<T>(
19 b0: AbstractConstructor<T>
20 b0: AbstractConstructor<T>
20 ): DeclareConstructor<T>;
21 ): DeclareConstructor<T>;
21
22
22 export function djbase<T0, T1>(
23 export function djbase<T0, T1>(
23 b0: AbstractConstructor<T0>,
24 b0: AbstractConstructor<T0>,
24 b1: AbstractConstructor<T1>
25 b1: AbstractConstructor<T1>
25 ): DeclareConstructor<T0 & T1>;
26 ): DeclareConstructor<T0 & T1>;
26
27
27 export function djbase<T0, T1, T2>(
28 export function djbase<T0, T1, T2>(
28 b0: AbstractConstructor<T0>,
29 b0: AbstractConstructor<T0>,
29 b1: AbstractConstructor<T1>,
30 b1: AbstractConstructor<T1>,
30 b2: AbstractConstructor<T2>
31 b2: AbstractConstructor<T2>
31 ): DeclareConstructor<T0 & T1 & T2>;
32 ): DeclareConstructor<T0 & T1 & T2>;
32
33
33 export function djbase<T0, T1, T2, T3>(
34 export function djbase<T0, T1, T2, T3>(
34 b0: AbstractConstructor<T0>,
35 b0: AbstractConstructor<T0>,
35 b1: AbstractConstructor<T1>,
36 b1: AbstractConstructor<T1>,
36 b2: AbstractConstructor<T2>,
37 b2: AbstractConstructor<T2>,
37 b3: AbstractConstructor<T3>
38 b3: AbstractConstructor<T3>
38 ): DeclareConstructor<T0 & T1 & T2 & T3>;
39 ): DeclareConstructor<T0 & T1 & T2 & T3>;
39
40
40 export function djbase<T0, T1, T2, T3, T4>(
41 export function djbase<T0, T1, T2, T3, T4>(
41 b0: AbstractConstructor<T0>,
42 b0: AbstractConstructor<T0>,
42 b1: AbstractConstructor<T1>,
43 b1: AbstractConstructor<T1>,
43 b2: AbstractConstructor<T2>,
44 b2: AbstractConstructor<T2>,
44 b3: AbstractConstructor<T3>,
45 b3: AbstractConstructor<T3>,
45 b4: AbstractConstructor<T4>
46 b4: AbstractConstructor<T4>
46 ): DeclareConstructor<T0 & T1 & T2 & T3 & T4>;
47 ): DeclareConstructor<T0 & T1 & T2 & T3 & T4>;
47
48
48 export function djbase<T0, T1, T2, T3, T4, T5>(
49 export function djbase<T0, T1, T2, T3, T4, T5>(
49 b0: AbstractConstructor<T0>,
50 b0: AbstractConstructor<T0>,
50 b1: AbstractConstructor<T1>,
51 b1: AbstractConstructor<T1>,
51 b2: AbstractConstructor<T2>,
52 b2: AbstractConstructor<T2>,
52 b3: AbstractConstructor<T3>,
53 b3: AbstractConstructor<T3>,
53 b4: AbstractConstructor<T4>,
54 b4: AbstractConstructor<T4>,
54 b5: AbstractConstructor<T5>
55 b5: AbstractConstructor<T5>
55 ): DeclareConstructor<T0 & T1 & T2 & T3 & T4 & T5>;
56 ): DeclareConstructor<T0 & T1 & T2 & T3 & T4 & T5>;
56
57
57 export function djbase<T0, T1, T2, T3, T4, T5, T6>(
58 export function djbase<T0, T1, T2, T3, T4, T5, T6>(
58 b0: AbstractConstructor<T0>,
59 b0: AbstractConstructor<T0>,
59 b1: AbstractConstructor<T1>,
60 b1: AbstractConstructor<T1>,
60 b2: AbstractConstructor<T2>,
61 b2: AbstractConstructor<T2>,
61 b3: AbstractConstructor<T3>,
62 b3: AbstractConstructor<T3>,
62 b4: AbstractConstructor<T4>,
63 b4: AbstractConstructor<T4>,
63 b5: AbstractConstructor<T5>,
64 b5: AbstractConstructor<T5>,
64 b6: AbstractConstructor<T6>
65 b6: AbstractConstructor<T6>
65 ): DeclareConstructor<T0 & T1 & T2 & T3 & T4 & T5 & T6>;
66 ): DeclareConstructor<T0 & T1 & T2 & T3 & T4 & T5 & T6>;
66
67
67 export function djbase<T0, T1, T2, T3, T4, T5, T6, T7>(
68 export function djbase<T0, T1, T2, T3, T4, T5, T6, T7>(
68 b0: AbstractConstructor<T0>,
69 b0: AbstractConstructor<T0>,
69 b1: AbstractConstructor<T1>,
70 b1: AbstractConstructor<T1>,
70 b2: AbstractConstructor<T2>,
71 b2: AbstractConstructor<T2>,
71 b3: AbstractConstructor<T3>,
72 b3: AbstractConstructor<T3>,
72 b4: AbstractConstructor<T4>,
73 b4: AbstractConstructor<T4>,
73 b5: AbstractConstructor<T5>,
74 b5: AbstractConstructor<T5>,
74 b6: AbstractConstructor<T6>,
75 b6: AbstractConstructor<T6>,
75 b7: AbstractConstructor<T7>
76 b7: AbstractConstructor<T7>
76 ): DeclareConstructor<T0 & T1 & T2 & T3 & T4 & T5 & T6 & T7>;
77 ): DeclareConstructor<T0 & T1 & T2 & T3 & T4 & T5 & T6 & T7>;
77
78
78 /** Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ конструктор-Π·Π°Π³Π»ΡƒΡˆΠΊΡƒ ΠΈΠ· списка Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ
79 /** Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ конструктор-Π·Π°Π³Π»ΡƒΡˆΠΊΡƒ ΠΈΠ· списка Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ
79 * для объявлСния классов ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ `dojo/_base/declare`.
80 * для объявлСния классов ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ `dojo/_base/declare`.
80 *
81 *
81 * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ пустой конструтор, с пустым стандартным ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠΌ, это Π½ΡƒΠΆΠ½ΠΎ,
82 * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ пустой конструтор, с пустым стандартным ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠΌ, это Π½ΡƒΠΆΠ½ΠΎ,
82 * ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² унаслСдованном классС конструктор ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ
83 * ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² унаслСдованном классС конструктор ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ
83 * `super(...)`, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ½ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΏΡƒΡΡ‚ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.
84 * `super(...)`, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ½ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΏΡƒΡΡ‚ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.
84 *
85 *
85 * Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ конструтор Ρ…Ρ€Π°Π½ΠΈΡ‚ Π² сСбС список Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚
86 * Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ конструтор Ρ…Ρ€Π°Π½ΠΈΡ‚ Π² сСбС список Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚
86 * использован Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ `djclass`, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π΅Ρ€Π½Π΅Ρ‚ класс, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈ
87 * использован Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ `djclass`, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π΅Ρ€Π½Π΅Ρ‚ класс, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈ
87 * ΠΏΠΎΠΌΠΎΡ‰ΠΈ `dojo/_base/declare`.
88 * ΠΏΠΎΠΌΠΎΡ‰ΠΈ `dojo/_base/declare`.
88 *
89 *
89 * @param bases список Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… трСбуСтся ΡƒΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ
90 * @param bases список Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… трСбуСтся ΡƒΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ
90 * Π½ΠΎΠ²Ρ‹ΠΉ класс.
91 * Π½ΠΎΠ²Ρ‹ΠΉ класс.
91 *
92 *
92 */
93 */
93 export function djbase(...bases: any[]): Constructor {
94 export function djbase(...bases: any[]): Constructor {
94
95
95 const t = class {
96 const t = class {
96 static mock: boolean;
97 static mock: boolean;
97 static base: AbstractConstructor;
98 static base: AbstractConstructor;
98 };
99 };
99
100
100 t.mock = true;
101 t.mock = true;
101 t.base = declare(bases);
102 t.base = declare(bases);
102
103
103 return t as any;
104 return t as any;
104 }
105 }
105
106
106 function isMockConstructor<T extends {}>(v: AbstractConstructor<T>): v is DjMockConstructor<T> {
107 function isMockConstructor<T extends {}>(v: AbstractConstructor<T>): v is DjMockConstructor<T> {
107 return v && "mock" in v;
108 return v && "mock" in v;
108 }
109 }
109
110
110 /** Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ класс ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ `dojo/_base/declare`. Для этого исходный класс
111 /** Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ класс ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ `dojo/_base/declare`. Для этого исходный класс
111 * Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ унаслСдован ΠΎΡ‚ `djbase(...)`.
112 * Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ унаслСдован ΠΎΡ‚ `djbase(...)`.
112 *
113 *
113 * @param target Класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ `dojo/_base/declare`
114 * @param target Класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ `dojo/_base/declare`
114 */
115 */
115 export function djclass<T extends AbstractConstructor>(target: T): T {
116 export function djclass<T extends AbstractConstructor>(target: T): T {
116 // ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ конструктор ΠΈ Π΅Π³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ
117 // ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ конструктор ΠΈ Π΅Π³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ
117 let bp = target && target.prototype && Object.getPrototypeOf(target.prototype);
118 let bp = target && target.prototype && Object.getPrototypeOf(target.prototype);
118 const bc = bp && bp.constructor;
119 const bc = bp && bp.constructor;
119
120
120 // ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ класс унаслСдован ΠΎΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Π»ΡƒΡˆΠΊΠΈ
121 // ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ класс унаслСдован ΠΎΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Π»ΡƒΡˆΠΊΠΈ
121 if (isMockConstructor(bc)) {
122 if (isMockConstructor(bc)) {
122 // t - Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ dojo/_base/declare
123 // t - Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ dojo/_base/declare
123 const t = bc.base;
124 const t = bc.base;
124
125
125 // bc - Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс, bc.prototype ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ super
126 // bc - Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс, bc.prototype ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ super
126 // ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². НуТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ bc.prototype
127 // ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². НуТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ bc.prototype
127 // Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π²Ρ‹Π·Ρ‹Π²Π°Π» this.inherited().
128 // Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π²Ρ‹Π·Ρ‹Π²Π°Π» this.inherited().
128
129
129 // создаСм Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ, ΠΎΠ½ Π½Π΅ Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ² Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ
130 // создаСм Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ, ΠΎΠ½ Π½Π΅ Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ² Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ
130 // класса, Π½ΠΎ super.some_method Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ.
131 // класса, Π½ΠΎ super.some_method Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ.
131 // Π² этом ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ прокси для ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ…
132 // Π² этом ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ прокси для ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ…
132 // ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².
133 // ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².
133 bp = bc.prototype = Object.create(t.prototype);
134 bp = bc.prototype = Object.create(t.prototype);
134 bp.constructor = bc;
135 bp.constructor = bc;
135
136
136 // proxy - Ρ„Π°Π±Ρ€ΠΈΠΊΠ° для создания прокси-ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ
137 // proxy - Ρ„Π°Π±Ρ€ΠΈΠΊΠ° для создания прокси-ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ
137 // сСбя Π²Ρ‹Π·ΠΎΠ²ΡƒΡ‚ this.inherited с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ.
138 // сСбя Π²Ρ‹Π·ΠΎΠ²ΡƒΡ‚ this.inherited с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ.
138 const proxy = (m: (...args: any[]) => any) => function (this: any) {
139 const proxy = (m: (...args: any[]) => any) => function (this: any) {
139 const f = this.getInherited({ callee: m });
140 const f = this.getInherited({ callee: m });
140 return f && f.apply(this, arguments);
141 return f && f.apply(this, arguments);
141
142
142 // Ρ‚Π°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ dojo 1.15+
143 // Ρ‚Π°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ dojo 1.15+
143 // return this.inherited(m, arguments);
144 // return this.inherited(m, arguments);
144 };
145 };
145
146
146 // Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ класса ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ содСрТит ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π² этом
147 // Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ класса ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ содСрТит ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π² этом
147 // классС ΠΈ Π΅Π³ΠΎ конструктор. НуТно ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ всСм ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΈ
148 // классС ΠΈ Π΅Π³ΠΎ конструктор. НуТно ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ всСм ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΈ
148 // ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ для Π½ΠΈΡ… прокси.
149 // ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ для Π½ΠΈΡ… прокси.
149 // ΠŸΡ€ΠΈ этом Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ Π² Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классах
150 // ΠŸΡ€ΠΈ этом Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ Π² Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классах
150 // ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹.
151 // ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹.
151 each(target.prototype, (m: any, p: string | number | symbol) => {
152 each(target.prototype, (m: any, p: string | number | symbol) => {
152 if (typeof m === "function" &&
153 if (typeof m === "function" &&
153 p !== "constructor" &&
154 p !== "constructor" &&
154 target.prototype.hasOwnProperty(p) &&
155 target.prototype.hasOwnProperty(p) &&
155 p in t.prototype
156 p in t.prototype
156 ) {
157 ) {
157 bp[p] = proxy(m);
158 bp[p] = proxy(m);
158 }
159 }
159 });
160 });
160
161
161 const cls = declare(t, target.prototype);
162 const cls = declare(t, target.prototype);
162 // TODO mixin static members
163 // TODO mixin static members
163 return cls as any;
164 return cls as any;
164 } else {
165 } else {
165 return target as any;
166 return target as any;
166 }
167 }
167 }
168 }
168
169
169 function makeSetterName(prop: string) {
170 function makeSetterName(prop: string) {
170 return [
171 return [
171 "_set",
172 "_set",
172 prop.replace(/^./, x => x.toUpperCase()),
173 prop.replace(/^./, x => x.toUpperCase()),
173 "Attr"
174 "Attr"
174 ].join("");
175 ].join("");
175 }
176 }
176
177
177 function makeGetterName(prop: string) {
178 function makeGetterName(prop: string) {
178 return [
179 return [
179 "_get",
180 "_get",
180 prop.replace(/^./, x => x.toUpperCase()),
181 prop.replace(/^./, x => x.toUpperCase()),
181 "Attr"
182 "Attr"
182 ].join("");
183 ].join("");
183 }
184 }
184
185
185 interface NodeBindSpec {
186 interface NodeBindSpec {
186 node: string;
187 node: string;
187 type: string;
188 type: string;
188 }
189 }
189
190
190 /**
191 /**
191 * ОписаниС привязки свойства Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΊ свойству Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.
192 * ОписаниС привязки свойства Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΊ свойству Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.
192 */
193 */
193 interface MemberBindSpec {
194 interface MemberBindSpec {
194 /**
195 /**
195 * Имя свойства со ссылкой Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ .
196 * Имя свойства со ссылкой Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ .
196 */
197 */
197 member: string;
198 member: string;
198 /**
199 /**
199 * Бвойство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ привязку.
200 * Бвойство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ привязку.
200 */
201 */
201 property: string;
202 property: string;
202
203
203 /**
204 /**
204 * ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° осущСствляСтся Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° запись Π½ΠΎ ΠΈ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ свойства.
205 * ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° осущСствляСтся Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° запись Π½ΠΎ ΠΈ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ свойства.
205 */
206 */
206 getter?: boolean;
207 getter?: boolean;
207 }
208 }
208
209
209 function isNodeBindSpec(v: any): v is NodeBindSpec {
210 function isNodeBindSpec(v: any): v is NodeBindSpec {
210 return "node" in v;
211 return "node" in v;
211 }
212 }
212
213
213 function isMemberBindSpec(v: any): v is MemberBindSpec {
214 function isMemberBindSpec(v: any): v is MemberBindSpec {
214 return "member" in v;
215 return "member" in v;
215 }
216 }
216
217
217 /** Π”Π΅ΠΊΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ свойства Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° для привязки ΠΈΡ… ΠΊ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ Ρ‡Π»Π΅Π½Π°ΠΌ, Π»ΠΈΠ±ΠΎ DOM
218 /** Π”Π΅ΠΊΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ свойства Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° для привязки ΠΈΡ… ΠΊ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ Ρ‡Π»Π΅Π½Π°ΠΌ, Π»ΠΈΠ±ΠΎ DOM
218 * элСмСнтам, Π»ΠΈΠ±ΠΎ свойству Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.
219 * элСмСнтам, Π»ΠΈΠ±ΠΎ свойству Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.
219 *
220 *
220 * @param {NodeBindSpec | MemberBindSpec} params ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ связывания.
221 * @param {NodeBindSpec | MemberBindSpec} params ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ связывания.
221 */
222 */
222 export function bind(params: NodeBindSpec | MemberBindSpec) {
223 export function bind(params: NodeBindSpec | MemberBindSpec) {
223 if (isNodeBindSpec(params))
224 if (isNodeBindSpec(params))
224 return (target: any, name: string) => {
225 return (target: any, name: string) => {
225 target[makeSetterName(name)] = params;
226 target[makeSetterName(name)] = params;
226 };
227 };
227 else if (isMemberBindSpec(params)) {
228 else if (isMemberBindSpec(params)) {
228 return (target: any, name: string) => {
229 return (target: any, name: string) => {
229 target[name] = null;
230 target[name] = null;
230 target[makeSetterName(name)] = function (v: any) {
231 target[makeSetterName(name)] = function (v: any) {
231 this._set(name, v);
232 this._set(name, v);
232 this[params.member].set(params.property, v);
233 this[params.member].set(params.property, v);
233 };
234 };
234 if (params.getter)
235 if (params.getter)
235 target[makeGetterName(name)] = function () {
236 target[makeGetterName(name)] = function () {
236 return this[params.member].get(params.property);
237 return this[params.member].get(params.property);
237 };
238 };
238 };
239 };
239 }
240 }
240 }
241 }
@@ -1,51 +1,52
1 import { djbase, djclass } from "../declare";
1 import { djbase, djclass } from "../declare";
2 import _WidgetBase = require("dijit/_WidgetBase");
2 import _WidgetBase = require("dijit/_WidgetBase");
3 import _AttachMixin = require("dijit/_AttachMixin");
3 import _AttachMixin = require("dijit/_AttachMixin");
4 import { BuildContext, isNode } from "./traits";
4 import { BuildContext, isNode } from "./traits";
5 import registry = require("dijit/registry");
5 import registry = require("dijit/registry");
6 // import { Handle } from "dojo/interfaces";
6 import { Handle } from "dojo/interfaces";
7 type Handle = dojo.Handle;
7
8 // type Handle = dojo.Handle;
8
9
9 @djclass
10 @djclass
10 export abstract class DjxWidgetBase extends djbase(_WidgetBase, _AttachMixin) {
11 export abstract class DjxWidgetBase extends djbase(_WidgetBase, _AttachMixin) {
11
12
12 buildRendering() {
13 buildRendering() {
13 this.domNode = this.render().getDomElement();
14 this.domNode = this.render().getDomElement();
14 super.buildRendering();
15 super.buildRendering();
15 }
16 }
16
17
17 abstract render(): BuildContext;
18 abstract render(): BuildContext;
18
19
19 _processTemplateNode<T extends (Element | Node | _WidgetBase)>(
20 _processTemplateNode<T extends (Element | Node | _WidgetBase)>(
20 baseNode: T,
21 baseNode: T,
21 getAttrFunc: (baseNode: T, attr: string) => string,
22 getAttrFunc: (baseNode: T, attr: string) => string,
22 // tslint:disable-next-line: ban-types
23 // tslint:disable-next-line: ban-types
23 attachFunc: (node: T, type: string, func?: Function) => Handle
24 attachFunc: (node: T, type: string, func?: Function) => Handle
24 ): boolean {
25 ): boolean {
25 if (isNode(baseNode)) {
26 if (isNode(baseNode)) {
26 const w = registry.byNode(baseNode);
27 const w = registry.byNode(baseNode);
27 if (w) {
28 if (w) {
28 // from dijit/_WidgetsInTemplateMixin
29 // from dijit/_WidgetsInTemplateMixin
29 this._processTemplateNode(w,
30 this._processTemplateNode(w,
30 (n, p) => n.get(p), // callback to get a property of a widget
31 (n, p) => n.get(p), // callback to get a property of a widget
31 (widget, type, callback) => {
32 (widget, type, callback) => {
32 if (!callback)
33 if (!callback)
33 throw new Error("The callback must be specified");
34 throw new Error("The callback must be specified");
34
35
35 // callback to do data-dojo-attach-event to a widget
36 // callback to do data-dojo-attach-event to a widget
36 if (type in widget) {
37 if (type in widget) {
37 // back-compat, remove for 2.0
38 // back-compat, remove for 2.0
38 return widget.connect(widget, type, callback as EventListener);
39 return widget.connect(widget, type, callback as EventListener);
39 } else {
40 } else {
40 // 1.x may never hit this branch, but it's the default for 2.0
41 // 1.x may never hit this branch, but it's the default for 2.0
41 return widget.on(type, callback);
42 return widget.on(type, callback);
42 }
43 }
43
44
44 });
45 });
45 // don't process widgets internals
46 // don't process widgets internals
46 return false;
47 return false;
47 }
48 }
48 }
49 }
49 return super._processTemplateNode(baseNode, getAttrFunc, attachFunc);
50 return super._processTemplateNode(baseNode, getAttrFunc, attachFunc);
50 }
51 }
51 }
52 }
@@ -1,13 +1,18
1 {
1 {
2 "extends": "../tsconfig",
2 "extends": "../tsconfig",
3 "compilerOptions": {
3 "compilerOptions": {
4 "baseUrl": "../",
4 "rootDir": "ts",
5 "rootDir": "ts",
5 "rootDirs": [
6 "rootDirs": [
6 "ts",
7 "ts",
7 "typings"
8 "typings"
8 ],
9 ],
10 "paths" : {
11 "dojo/*" : [ "typings/dojo/*" ],
12 "dijit/*" : [ "typings/dijit/*" ]
13 },
9 "types": [
14 "types": [
10 "requirejs", "dojo-typings", "./typings/index"
15 "requirejs", "./typings/index", "../typings/dojo/index"
11 ]
16 ]
12 }
17 }
13 } No newline at end of file
18 }
@@ -1,18 +1,18
1 import { test } from "./TestTraits";
1 import { test } from "./TestTraits";
2 import { delay } from "@implab/core-amd/safe";
2 import { delay } from "@implab/core-amd/safe";
3 import { assert } from "chai";
3 import { assert } from "chai";
4 import css = require("@implab/djx/css!my,css");
4 import css = require("@implab/djx/css!my,css");
5 import {} from "@implab/djx/i18n";
5 import {} from "@implab/djx/i18n";
6
6
7 test("simple", (ok, fail, log) => {
7 test("simple", (ok, fail, log) => {
8 setTimeout(() => {
8 setTimeout(() => {
9 // end should be called after the last assertion
9 // end should be called after the last assertion
10 ok("async assert");
10 ok("async assert");
11 }, 100);
11 }, 100);
12 });
12 });
13
13
14 test("simple", async log => {
14 test("simple", async (log, fail) => {
15 await delay(0);
15 await delay(0);
16
16
17 assert.ok(true); // everything is fine
17 assert.ok(true); // everything is fine
18 });
18 });
@@ -1,87 +1,87
1 import { DeclareConstructor } from "dojo/_base/declare";
2 import { Handle } from "dojo/interfaces";
1 import { Handle } from "dojo/interfaces";
3 import _WidgetBase = require("./_WidgetBase");
2 import _WidgetBase = require("./_WidgetBase");
3 import declare = require("dojo/_base/declare");
4
4
5 declare module "./_WidgetBase" {
5 declare module "./_WidgetBase" {
6 interface _WidgetBase {
6 interface _WidgetBase {
7 dojoAttachEvent: string;
7 dojoAttachEvent: string;
8 dojoAttachPoint: string;
8 dojoAttachPoint: string;
9 }
9 }
10 }
10 }
11
11
12 declare module "dojo/_base/kernel" {
12 declare module "dojo/_base/kernel" {
13 interface Dijit {
13 interface Dijit {
14 _AttachMixin: _AttachMixinConstructor;
14 _AttachMixin: _AttachMixinConstructor;
15 }
15 }
16 }
16 }
17
17
18 interface _AttachMixin {
18 interface _AttachMixin {
19 /**
19 /**
20 * List of widget attribute names associated with data-dojo-attach-point=... in the template, ex: ["containerNode", "labelNode"]
20 * List of widget attribute names associated with data-dojo-attach-point=... in the template, ex: ["containerNode", "labelNode"]
21 */
21 */
22 _attachPoints: string[];
22 _attachPoints: string[];
23
23
24 /**
24 /**
25 * List of connections associated with data-dojo-attach-event=... in the template
25 * List of connections associated with data-dojo-attach-event=... in the template
26 */
26 */
27 _attachEvents: Handle[];
27 _attachEvents: Handle[];
28
28
29 /**
29 /**
30 * Object to which attach points and events will be scoped. Defaults to 'this'.
30 * Object to which attach points and events will be scoped. Defaults to 'this'.
31 */
31 */
32 attachScope: any;
32 attachScope: any;
33
33
34 /**
34 /**
35 * Search descendants of this.containerNode for data-dojo-attach-point and data-dojo-attach-event.
35 * Search descendants of this.containerNode for data-dojo-attach-point and data-dojo-attach-event.
36 *
36 *
37 * Should generally be left false (the default value) both for performance and to avoid failures when this.containerNode holds other _AttachMixin instances with their own attach points and events.
37 * Should generally be left false (the default value) both for performance and to avoid failures when this.containerNode holds other _AttachMixin instances with their own attach points and events.
38 */
38 */
39 searchContainerNode: boolean;
39 searchContainerNode: boolean;
40
40
41 /**
41 /**
42 * Attach to DOM nodes marked with special attributes.
42 * Attach to DOM nodes marked with special attributes.
43 */
43 */
44 buildRendering(): void;
44 buildRendering(): void;
45
45
46 /**
46 /**
47 * hook for _WidgetsInTemplateMixin
47 * hook for _WidgetsInTemplateMixin
48 */
48 */
49 _beforeFillContent(): void;
49 _beforeFillContent(): void;
50
50
51 /**
51 /**
52 * Iterate through the dom nodes and attach functions and nodes accordingly.
52 * Iterate through the dom nodes and attach functions and nodes accordingly.
53 *
53 *
54 * Map widget properties and functions to the handlers specified in the dom node and it's descendants. This function iterates over all nodes and looks for these properties:
54 * Map widget properties and functions to the handlers specified in the dom node and it's descendants. This function iterates over all nodes and looks for these properties:
55 * - dojoAttachPoint/data-dojo-attach-point
55 * - dojoAttachPoint/data-dojo-attach-point
56 * - dojoAttachEvent/data-dojo-attach-event
56 * - dojoAttachEvent/data-dojo-attach-event
57 */
57 */
58 _attachTemplateNodes(rootNode: Element | Node): void;
58 _attachTemplateNodes(rootNode: Element | Node): void;
59
59
60 /**
60 /**
61 * Process data-dojo-attach-point and data-dojo-attach-event for given node or widget.
61 * Process data-dojo-attach-point and data-dojo-attach-event for given node or widget.
62 *
62 *
63 * Returns true if caller should process baseNode's children too.
63 * Returns true if caller should process baseNode's children too.
64 */
64 */
65 _processTemplateNode<T extends (Element | Node | _WidgetBase)>(
65 _processTemplateNode<T extends (Element | Node | _WidgetBase)>(
66 baseNode: T,
66 baseNode: T,
67 getAttrFunc: (baseNode: T, attr: string) => string,
67 getAttrFunc: (baseNode: T, attr: string) => string,
68 attachFunc: (node: T, type: string, func?: Function) => Handle
68 attachFunc: (node: T, type: string, func?: Function) => Handle
69 ): boolean;
69 ): boolean;
70
70
71 /**
71 /**
72 * Roughly corresponding to dojo/on, this is the default function for processing a data-dojo-attach-event. Meant to attach to DOMNodes, not to widgets.
72 * Roughly corresponding to dojo/on, this is the default function for processing a data-dojo-attach-event. Meant to attach to DOMNodes, not to widgets.
73 */
73 */
74 _attach(node: Element | Node, type: string, func?: Function): Handle;
74 _attach(node: Element | Node, type: string, func?: Function): Handle;
75
75
76 /**
76 /**
77 * Detach and clean up the attachments made in _attachtempalteNodes.
77 * Detach and clean up the attachments made in _attachtempalteNodes.
78 */
78 */
79 _detachTemplateNodes(): void;
79 _detachTemplateNodes(): void;
80
80
81 destroyRendering(preserveDom?: boolean): void;
81 destroyRendering(preserveDom?: boolean): void;
82 }
82 }
83
83
84 interface _AttachMixinConstructor extends DeclareConstructor<_AttachMixin> { }
84 interface _AttachMixinConstructor extends declare.DeclareConstructor<_AttachMixin> { }
85
85
86 declare const _AttachMixin: _AttachMixinConstructor;
86 declare const _AttachMixin: _AttachMixinConstructor;
87 export = _AttachMixin;
87 export = _AttachMixin;
@@ -1,241 +1,240
1 import Stateful = require("dojo/Stateful");
1 import Stateful = require("dojo/Stateful");
2 import Destroyable = require("./Destroyable");
2 import Destroyable = require("./Destroyable");
3 import { ExtensionEvent } from "dojo/on";
3 import { ExtensionEvent } from "dojo/on";
4 import { NodeFragmentOrString, Handle, NodeOrString, WatchHandle } from "dojo/interfaces";
4 import { NodeFragmentOrString, Handle, NodeOrString, WatchHandle } from "dojo/interfaces";
5 import { DeclareConstructor } from "dojo/_base/declare";
6
5
7 declare namespace _WidgetBase {
6 declare namespace _WidgetBase {
8 interface _WidgetBase extends Stateful, Destroyable {
7 interface _WidgetBase extends Stateful, Destroyable {
9
8
10 /**
9 /**
11 * A unique, opaque ID string that can be assigned by users or by the
10 * A unique, opaque ID string that can be assigned by users or by the
12 * system. If the developer passes an ID which is known not to be
11 * system. If the developer passes an ID which is known not to be
13 * unique, the specified ID is ignored and the system-generated ID is
12 * unique, the specified ID is ignored and the system-generated ID is
14 * used instead.
13 * used instead.
15 */
14 */
16 id: string;
15 id: string;
17
16
18 /**
17 /**
19 * Rarely used. Overrides the default Dojo locale used to render this widget,
18 * Rarely used. Overrides the default Dojo locale used to render this widget,
20 * as defined by the [HTML LANG](http://www.w3.org/TR/html401/struct/dirlang.html#adef-lang) attribute.
19 * as defined by the [HTML LANG](http://www.w3.org/TR/html401/struct/dirlang.html#adef-lang) attribute.
21 * Value must be among the list of locales specified during by the Dojo bootstrap,
20 * Value must be among the list of locales specified during by the Dojo bootstrap,
22 * formatted according to [RFC 3066](http://www.ietf.org/rfc/rfc3066.txt) (like en-us).
21 * formatted according to [RFC 3066](http://www.ietf.org/rfc/rfc3066.txt) (like en-us).
23 */
22 */
24 lang: string;
23 lang: string;
25
24
26 /**
25 /**
27 * Bi-directional support, as defined by the [HTML DIR](http://www.w3.org/TR/html401/struct/dirlang.html#adef-dir)
26 * Bi-directional support, as defined by the [HTML DIR](http://www.w3.org/TR/html401/struct/dirlang.html#adef-dir)
28 * attribute. Either left-to-right "ltr" or right-to-left "rtl". If undefined, widgets renders in page's
27 * attribute. Either left-to-right "ltr" or right-to-left "rtl". If undefined, widgets renders in page's
29 * default direction.
28 * default direction.
30 */
29 */
31 dir: string;
30 dir: string;
32
31
33 /**
32 /**
34 * HTML class attribute
33 * HTML class attribute
35 */
34 */
36 class: string;
35 class: string;
37
36
38 /**
37 /**
39 * HTML style attributes as cssText string or name/value hash
38 * HTML style attributes as cssText string or name/value hash
40 */
39 */
41 style: string;
40 style: string;
42
41
43 /**
42 /**
44 * HTML title attribute.
43 * HTML title attribute.
45 *
44 *
46 * For form widgets this specifies a tooltip to display when hovering over
45 * For form widgets this specifies a tooltip to display when hovering over
47 * the widget (just like the native HTML title attribute).
46 * the widget (just like the native HTML title attribute).
48 *
47 *
49 * For TitlePane or for when this widget is a child of a TabContainer, AccordionContainer,
48 * For TitlePane or for when this widget is a child of a TabContainer, AccordionContainer,
50 * etc., it's used to specify the tab label, accordion pane title, etc. In this case it's
49 * etc., it's used to specify the tab label, accordion pane title, etc. In this case it's
51 * interpreted as HTML.
50 * interpreted as HTML.
52 */
51 */
53 title: string;
52 title: string;
54
53
55 /**
54 /**
56 * When this widget's title attribute is used to for a tab label, accordion pane title, etc.,
55 * When this widget's title attribute is used to for a tab label, accordion pane title, etc.,
57 * this specifies the tooltip to appear when the mouse is hovered over that text.
56 * this specifies the tooltip to appear when the mouse is hovered over that text.
58 */
57 */
59 tooltip: string;
58 tooltip: string;
60
59
61 /**
60 /**
62 * Root CSS class of the widget (ex: dijitTextBox), used to construct CSS classes to indicate
61 * Root CSS class of the widget (ex: dijitTextBox), used to construct CSS classes to indicate
63 * widget state.
62 * widget state.
64 */
63 */
65 baseClass: string;
64 baseClass: string;
66
65
67 /**
66 /**
68 * pointer to original DOM node
67 * pointer to original DOM node
69 */
68 */
70 srcNodeRef: HTMLElement;
69 srcNodeRef: HTMLElement;
71
70
72 /**
71 /**
73 * This is our visible representation of the widget! Other DOM
72 * This is our visible representation of the widget! Other DOM
74 * Nodes may by assigned to other properties, usually through the
73 * Nodes may by assigned to other properties, usually through the
75 * template system's data-dojo-attach-point syntax, but the domNode
74 * template system's data-dojo-attach-point syntax, but the domNode
76 * property is the canonical "top level" node in widget UI.
75 * property is the canonical "top level" node in widget UI.
77 */
76 */
78 domNode: HTMLElement;
77 domNode: HTMLElement;
79
78
80 /**
79 /**
81 * Designates where children of the source DOM node will be placed.
80 * Designates where children of the source DOM node will be placed.
82 * "Children" in this case refers to both DOM nodes and widgets.
81 * "Children" in this case refers to both DOM nodes and widgets.
83 */
82 */
84 containerNode: HTMLElement;
83 containerNode: HTMLElement;
85
84
86 /**
85 /**
87 * The document this widget belongs to. If not specified to constructor, will default to
86 * The document this widget belongs to. If not specified to constructor, will default to
88 * srcNodeRef.ownerDocument, or if no sourceRef specified, then to the document global
87 * srcNodeRef.ownerDocument, or if no sourceRef specified, then to the document global
89 */
88 */
90 ownerDocument: HTMLElement;
89 ownerDocument: HTMLElement;
91
90
92 /**
91 /**
93 * Deprecated. Instead of attributeMap, widget should have a _setXXXAttr attribute
92 * Deprecated. Instead of attributeMap, widget should have a _setXXXAttr attribute
94 * for each XXX attribute to be mapped to the DOM.
93 * for each XXX attribute to be mapped to the DOM.
95 */
94 */
96 attributeMap: { [attribute: string]: any };
95 attributeMap: { [attribute: string]: any };
97
96
98 /**
97 /**
99 * Bi-directional support, the main variable which is responsible for the direction of the text.
98 * Bi-directional support, the main variable which is responsible for the direction of the text.
100 * The text direction can be different than the GUI direction by using this parameter in creation
99 * The text direction can be different than the GUI direction by using this parameter in creation
101 * of a widget.
100 * of a widget.
102 */
101 */
103 textDir: string;
102 textDir: string;
104
103
105 /**
104 /**
106 * Kicks off widget instantiation. See create() for details.
105 * Kicks off widget instantiation. See create() for details.
107 */
106 */
108 postscript(params?: any, srcNodeRef?: HTMLElement): void;
107 postscript(params?: any, srcNodeRef?: HTMLElement): void;
109
108
110 /**
109 /**
111 * Kick off the life-cycle of a widget
110 * Kick off the life-cycle of a widget
112 */
111 */
113 create(params?: any, srcNodeRef?: HTMLElement): void;
112 create(params?: any, srcNodeRef?: HTMLElement): void;
114
113
115 /**
114 /**
116 * Called after the parameters to the widget have been read-in,
115 * Called after the parameters to the widget have been read-in,
117 * but before the widget template is instantiated. Especially
116 * but before the widget template is instantiated. Especially
118 * useful to set properties that are referenced in the widget
117 * useful to set properties that are referenced in the widget
119 * template.
118 * template.
120 */
119 */
121 postMixInProperties(): void;
120 postMixInProperties(): void;
122
121
123 /**
122 /**
124 * Construct the UI for this widget, setting this.domNode.
123 * Construct the UI for this widget, setting this.domNode.
125 * Most widgets will mixin `dijit._TemplatedMixin`, which implements this method.
124 * Most widgets will mixin `dijit._TemplatedMixin`, which implements this method.
126 */
125 */
127 buildRendering(): void;
126 buildRendering(): void;
128
127
129 /**
128 /**
130 * Processing after the DOM fragment is created
129 * Processing after the DOM fragment is created
131 */
130 */
132 postCreate(): void;
131 postCreate(): void;
133
132
134 /**
133 /**
135 * Processing after the DOM fragment is added to the document
134 * Processing after the DOM fragment is added to the document
136 */
135 */
137 startup(): void;
136 startup(): void;
138
137
139 /**
138 /**
140 * Destroy this widget and its descendants
139 * Destroy this widget and its descendants
141 */
140 */
142 destroyRecursive(preserveDom?: boolean): void;
141 destroyRecursive(preserveDom?: boolean): void;
143
142
144 /**
143 /**
145 * Destroys the DOM nodes associated with this widget.
144 * Destroys the DOM nodes associated with this widget.
146 */
145 */
147 destroyRendering(preserveDom?: boolean): void;
146 destroyRendering(preserveDom?: boolean): void;
148
147
149 /**
148 /**
150 * Recursively destroy the children of this widget and their
149 * Recursively destroy the children of this widget and their
151 * descendants.
150 * descendants.
152 */
151 */
153 destroyDescendants(preserveDom?: boolean): void;
152 destroyDescendants(preserveDom?: boolean): void;
154
153
155 /**
154 /**
156 * Deprecated. Override destroy() instead to implement custom widget tear-down
155 * Deprecated. Override destroy() instead to implement custom widget tear-down
157 * behavior.
156 * behavior.
158 */
157 */
159 uninitialize(): boolean;
158 uninitialize(): boolean;
160
159
161 /**
160 /**
162 * Used by widgets to signal that a synthetic event occurred, ex:
161 * Used by widgets to signal that a synthetic event occurred, ex:
163 * | myWidget.emit("attrmodified-selectedChildWidget", {}).
162 * | myWidget.emit("attrmodified-selectedChildWidget", {}).
164 */
163 */
165 emit(type: string, eventObj?: any, callbackArgs?: any[]): any;
164 emit(type: string, eventObj?: any, callbackArgs?: any[]): any;
166
165
167 /**
166 /**
168 * Call specified function when event occurs, ex: myWidget.on("click", function(){ ... }).
167 * Call specified function when event occurs, ex: myWidget.on("click", function(){ ... }).
169 */
168 */
170 on(type: string | ExtensionEvent, func: EventListener | Function): WatchHandle;
169 on(type: string | ExtensionEvent, func: EventListener | Function): WatchHandle;
171
170
172 /**
171 /**
173 * Returns a string that represents the widget.
172 * Returns a string that represents the widget.
174 */
173 */
175 toString(): string;
174 toString(): string;
176
175
177 /**
176 /**
178 * Returns all direct children of this widget, i.e. all widgets underneath this.containerNode whose parent
177 * Returns all direct children of this widget, i.e. all widgets underneath this.containerNode whose parent
179 * is this widget. Note that it does not return all descendants, but rather just direct children.
178 * is this widget. Note that it does not return all descendants, but rather just direct children.
180 */
179 */
181 getChildren<T extends _WidgetBase>(): T[];
180 getChildren<T extends _WidgetBase>(): T[];
182
181
183 /**
182 /**
184 * Returns the parent widget of this widget.
183 * Returns the parent widget of this widget.
185 */
184 */
186 getParent<T extends _WidgetBase>(): T;
185 getParent<T extends _WidgetBase>(): T;
187
186
188 /**
187 /**
189 * Deprecated, will be removed in 2.0, use this.own(on(...)) or this.own(aspect.after(...)) instead.
188 * Deprecated, will be removed in 2.0, use this.own(on(...)) or this.own(aspect.after(...)) instead.
190 */
189 */
191 connect(obj: any, event: string | ExtensionEvent, method: string | EventListener): WatchHandle;
190 connect(obj: any, event: string | ExtensionEvent, method: string | EventListener): WatchHandle;
192
191
193 /**
192 /**
194 * Deprecated, will be removed in 2.0, use handle.remove() instead.
193 * Deprecated, will be removed in 2.0, use handle.remove() instead.
195 */
194 */
196 disconnect(handle: WatchHandle): void;
195 disconnect(handle: WatchHandle): void;
197
196
198 /**
197 /**
199 * Deprecated, will be removed in 2.0, use this.own(topic.subscribe()) instead.
198 * Deprecated, will be removed in 2.0, use this.own(topic.subscribe()) instead.
200 */
199 */
201 subscribe(t: string, method: EventListener): WatchHandle;
200 subscribe(t: string, method: EventListener): WatchHandle;
202
201
203 /**
202 /**
204 * Deprecated, will be removed in 2.0, use handle.remove() instead.
203 * Deprecated, will be removed in 2.0, use handle.remove() instead.
205 */
204 */
206 unsubscribe(handle: WatchHandle): void;
205 unsubscribe(handle: WatchHandle): void;
207
206
208 /**
207 /**
209 * Return this widget's explicit or implicit orientation (true for LTR, false for RTL)
208 * Return this widget's explicit or implicit orientation (true for LTR, false for RTL)
210 */
209 */
211 isLeftToRight(): boolean;
210 isLeftToRight(): boolean;
212
211
213 /**
212 /**
214 * Return true if this widget can currently be focused
213 * Return true if this widget can currently be focused
215 * and false if not
214 * and false if not
216 */
215 */
217 isFocusable(): boolean;
216 isFocusable(): boolean;
218
217
219 /**
218 /**
220 * Place this widget somewhere in the DOM based
219 * Place this widget somewhere in the DOM based
221 * on standard domConstruct.place() conventions.
220 * on standard domConstruct.place() conventions.
222 */
221 */
223 placeAt<T extends _WidgetBase>(reference: NodeFragmentOrString | T, position?: string | number): this;
222 placeAt<T extends _WidgetBase>(reference: NodeFragmentOrString | T, position?: string | number): this;
224
223
225 /**
224 /**
226 * Wrapper to setTimeout to avoid deferred functions executing
225 * Wrapper to setTimeout to avoid deferred functions executing
227 * after the originating widget has been destroyed.
226 * after the originating widget has been destroyed.
228 * Returns an object handle with a remove method (that returns null) (replaces clearTimeout).
227 * Returns an object handle with a remove method (that returns null) (replaces clearTimeout).
229 */
228 */
230 defer(fcn: Function, delay?: number): Handle;
229 defer(fcn: Function, delay?: number): Handle;
231 }
230 }
232
231
233 interface _WidgetBaseConstructor<W = _WidgetBase> extends DeclareConstructor<W> {
232 interface _WidgetBaseConstructor<W = _WidgetBase> extends DeclareConstructor<W> {
234 new(params: Object, srcNodeRef: NodeOrString): W;
233 new(params: Object, srcNodeRef?: NodeOrString): W;
235 }
234 }
236
235
237 }
236 }
238
237
239 type _WidgetBase = _WidgetBase._WidgetBase;
238 type _WidgetBase = _WidgetBase._WidgetBase;
240 declare const _WidgetBase: _WidgetBase._WidgetBaseConstructor;
239 declare const _WidgetBase: _WidgetBase._WidgetBaseConstructor;
241 export = _WidgetBase;
240 export = _WidgetBase;
@@ -1,269 +1,269
1 /* dojo/_base/Color */
1 /* dojo/_base/Color */
2
2
3 declare namespace dojoColor {
3 declare namespace Color {
4 type ColorValue = [number, number, number];
4 type ColorValue = [number, number, number];
5 type ColorValueAlpha = [number, number, number, number];
5 type ColorValueAlpha = [number, number, number, number];
6
6
7 interface ColorObject {
7 interface ColorObject {
8 r: number;
8 r: number;
9 g: number;
9 g: number;
10 b: number;
10 b: number;
11 a?: number;
11 a?: number;
12 }
12 }
13
13
14 interface ColorNamed {
14 interface ColorNamed {
15 'black': ColorValue;
15 'black': ColorValue;
16 'silver': ColorValue;
16 'silver': ColorValue;
17 'gray': ColorValue;
17 'gray': ColorValue;
18 'white': ColorValue;
18 'white': ColorValue;
19 'maroon': ColorValue;
19 'maroon': ColorValue;
20 'red': ColorValue;
20 'red': ColorValue;
21 'purple': ColorValue;
21 'purple': ColorValue;
22 'fuchsia': ColorValue;
22 'fuchsia': ColorValue;
23 'green': ColorValue;
23 'green': ColorValue;
24 'lime': ColorValue;
24 'lime': ColorValue;
25 'olive': ColorValue;
25 'olive': ColorValue;
26 'yellow': ColorValue;
26 'yellow': ColorValue;
27 'navy': ColorValue;
27 'navy': ColorValue;
28 'blue': ColorValue;
28 'blue': ColorValue;
29 'teal': ColorValue;
29 'teal': ColorValue;
30 'aqua': ColorValue;
30 'aqua': ColorValue;
31 'transparent': [number, number, number, number];
31 'transparent': [number, number, number, number];
32 }
32 }
33
33
34 interface Color {
34 interface Color {
35 r: number;
35 r: number;
36 g: number;
36 g: number;
37 b: number;
37 b: number;
38 a: number;
38 a: number;
39 _set(r: number, g: number, b: number, a: number): void;
39 _set(r: number, g: number, b: number, a: number): void;
40
40
41 /** Takes a named string, hex string, array of rgb or rgba values,
41 /** Takes a named string, hex string, array of rgb or rgba values,
42 * an object with r, g, b, and a properties, or another `Color` object
42 * an object with r, g, b, and a properties, or another `Color` object
43 * and sets this color instance to that value.
43 * and sets this color instance to that value.
44 */
44 */
45 setColor(color: ColorValue | ColorValueAlpha | ColorObject | string): Color;
45 setColor(color: ColorValue | ColorValueAlpha | ColorObject | string): Color;
46
46
47 /**
47 /**
48 * Ensures the object has correct attributes
48 * Ensures the object has correct attributes
49 */
49 */
50 sanitize(): Color;
50 sanitize(): Color;
51
51
52 /**
52 /**
53 * Returns 3 component array of rgb values
53 * Returns 3 component array of rgb values
54 */
54 */
55 toRgb(): ColorValue;
55 toRgb(): ColorValue;
56
56
57 /**
57 /**
58 * Returns a 4 component array of rgba values from the color represented by
58 * Returns a 4 component array of rgba values from the color represented by
59 * this object.
59 * this object.
60 */
60 */
61 toRgba(): ColorValueAlpha;
61 toRgba(): ColorValueAlpha;
62
62
63 /**
63 /**
64 * Returns a CSS color string in hexadecimal representation
64 * Returns a CSS color string in hexadecimal representation
65 */
65 */
66 toHex(): string;
66 toHex(): string;
67
67
68 /**
68 /**
69 * Returns a css color string in rgb(a) representation
69 * Returns a css color string in rgb(a) representation
70 */
70 */
71 toCss(includeAlpha?: boolean): string;
71 toCss(includeAlpha?: boolean): string;
72
72
73 /**
73 /**
74 * Returns a visual representation of the color
74 * Returns a visual representation of the color
75 */
75 */
76 toString(): string;
76 toString(): string;
77 }
77 }
78
78
79 interface ColorConstructor {
79 interface ColorConstructor {
80 new(color: ColorValue | ColorValueAlpha | ColorObject | string): Color;
80 new(color: ColorValue | ColorValueAlpha | ColorObject | string): Color;
81 prototype: Color;
81 prototype: Color;
82
82
83 /**
83 /**
84 * Dictionary list of all CSS named colors, by name. Values are 3-item arrays with corresponding RG and B values.
84 * Dictionary list of all CSS named colors, by name. Values are 3-item arrays with corresponding RG and B values.
85 */
85 */
86 named: ColorNamed;
86 named: ColorNamed;
87
87
88 /**
88 /**
89 * Blend colors end and start with weight from 0 to 1, 0.5 being a 50/50 blend,
89 * Blend colors end and start with weight from 0 to 1, 0.5 being a 50/50 blend,
90 * can reuse a previously allocated Color object for the result
90 * can reuse a previously allocated Color object for the result
91 */
91 */
92 blendColors(start: Color, end: Color, weight: number, obj?: Color): Color;
92 blendColors(start: Color, end: Color, weight: number, obj?: Color): Color;
93
93
94 /**
94 /**
95 * Returns a `Color` instance from a string of the form
95 * Returns a `Color` instance from a string of the form
96 * "rgb(...)" or "rgba(...)". Optionally accepts a `Color`
96 * "rgb(...)" or "rgba(...)". Optionally accepts a `Color`
97 * object to update with the parsed value and return instead of
97 * object to update with the parsed value and return instead of
98 * creating a new object.
98 * creating a new object.
99 */
99 */
100 fromRgb(color: string, obj?: Color): Color;
100 fromRgb(color: string, obj?: Color): Color;
101
101
102 /**
102 /**
103 * Converts a hex string with a '#' prefix to a color object.
103 * Converts a hex string with a '#' prefix to a color object.
104 * Supports 12-bit #rgb shorthand. Optionally accepts a
104 * Supports 12-bit #rgb shorthand. Optionally accepts a
105 * `Color` object to update with the parsed value.
105 * `Color` object to update with the parsed value.
106 */
106 */
107 fromHex(color: string, obj?: Color): Color;
107 fromHex(color: string, obj?: Color): Color;
108
108
109 /**
109 /**
110 * Builds a `Color` from a 3 or 4 element array, mapping each
110 * Builds a `Color` from a 3 or 4 element array, mapping each
111 * element in sequence to the rgb(a) values of the color.
111 * element in sequence to the rgb(a) values of the color.
112 */
112 */
113 fromArray(color: ColorValue | ColorValueAlpha, obj?: Color): Color;
113 fromArray(color: ColorValue | ColorValueAlpha, obj?: Color): Color;
114
114
115 /**
115 /**
116 * Parses `str` for a color value. Accepts hex, rgb, and rgba
116 * Parses `str` for a color value. Accepts hex, rgb, and rgba
117 * style color values.
117 * style color values.
118 */
118 */
119 fromString(str: string, obj?: Color): Color;
119 fromString(str: string, obj?: Color): Color;
120 }
120 }
121
121
122 /* dojo/colors */
122 /* dojo/colors */
123
123
124 interface ColorNamed {
124 interface ColorNamed {
125 'aliceblue': ColorValue;
125 'aliceblue': ColorValue;
126 'antiquewhite': ColorValue;
126 'antiquewhite': ColorValue;
127 'aquamarine': ColorValue;
127 'aquamarine': ColorValue;
128 'azure': ColorValue;
128 'azure': ColorValue;
129 'beige': ColorValue;
129 'beige': ColorValue;
130 'bisque': ColorValue;
130 'bisque': ColorValue;
131 'blanchedalmond': ColorValue;
131 'blanchedalmond': ColorValue;
132 'blueviolet': ColorValue;
132 'blueviolet': ColorValue;
133 'brown': ColorValue;
133 'brown': ColorValue;
134 'burlywood': ColorValue;
134 'burlywood': ColorValue;
135 'cadetblue': ColorValue;
135 'cadetblue': ColorValue;
136 'chartreuse': ColorValue;
136 'chartreuse': ColorValue;
137 'chocolate': ColorValue;
137 'chocolate': ColorValue;
138 'coral': ColorValue;
138 'coral': ColorValue;
139 'cornflowerblue': ColorValue;
139 'cornflowerblue': ColorValue;
140 'cornsilk': ColorValue;
140 'cornsilk': ColorValue;
141 'crimson': ColorValue;
141 'crimson': ColorValue;
142 'cyan': ColorValue;
142 'cyan': ColorValue;
143 'darkblue': ColorValue;
143 'darkblue': ColorValue;
144 'darkcyan': ColorValue;
144 'darkcyan': ColorValue;
145 'darkgoldenrod': ColorValue;
145 'darkgoldenrod': ColorValue;
146 'darkgray': ColorValue;
146 'darkgray': ColorValue;
147 'darkgreen': ColorValue;
147 'darkgreen': ColorValue;
148 'darkgrey': ColorValue;
148 'darkgrey': ColorValue;
149 'darkkhaki': ColorValue;
149 'darkkhaki': ColorValue;
150 'darkmagenta': ColorValue;
150 'darkmagenta': ColorValue;
151 'darkolivegreen': ColorValue;
151 'darkolivegreen': ColorValue;
152 'darkorange': ColorValue;
152 'darkorange': ColorValue;
153 'darkorchid': ColorValue;
153 'darkorchid': ColorValue;
154 'darkred': ColorValue;
154 'darkred': ColorValue;
155 'darksalmon': ColorValue;
155 'darksalmon': ColorValue;
156 'darkseagreen': ColorValue;
156 'darkseagreen': ColorValue;
157 'darkslateblue': ColorValue;
157 'darkslateblue': ColorValue;
158 'darkslategray': ColorValue;
158 'darkslategray': ColorValue;
159 'darkslategrey': ColorValue;
159 'darkslategrey': ColorValue;
160 'darkturquoise': ColorValue;
160 'darkturquoise': ColorValue;
161 'darkviolet': ColorValue;
161 'darkviolet': ColorValue;
162 'deeppink': ColorValue;
162 'deeppink': ColorValue;
163 'deepskyblue': ColorValue;
163 'deepskyblue': ColorValue;
164 'dimgray': ColorValue;
164 'dimgray': ColorValue;
165 'dimgrey': ColorValue;
165 'dimgrey': ColorValue;
166 'dodgerblue': ColorValue;
166 'dodgerblue': ColorValue;
167 'firebrick': ColorValue;
167 'firebrick': ColorValue;
168 'floralwhite': ColorValue;
168 'floralwhite': ColorValue;
169 'forestgreen': ColorValue;
169 'forestgreen': ColorValue;
170 'gainsboro': ColorValue;
170 'gainsboro': ColorValue;
171 'ghostwhite': ColorValue;
171 'ghostwhite': ColorValue;
172 'gold': ColorValue;
172 'gold': ColorValue;
173 'goldenrod': ColorValue;
173 'goldenrod': ColorValue;
174 'greenyellow': ColorValue;
174 'greenyellow': ColorValue;
175 'grey': ColorValue;
175 'grey': ColorValue;
176 'honeydew': ColorValue;
176 'honeydew': ColorValue;
177 'hotpink': ColorValue;
177 'hotpink': ColorValue;
178 'indianred': ColorValue;
178 'indianred': ColorValue;
179 'indigo': ColorValue;
179 'indigo': ColorValue;
180 'ivory': ColorValue;
180 'ivory': ColorValue;
181 'khaki': ColorValue;
181 'khaki': ColorValue;
182 'lavender': ColorValue;
182 'lavender': ColorValue;
183 'lavenderblush': ColorValue;
183 'lavenderblush': ColorValue;
184 'lawngreen': ColorValue;
184 'lawngreen': ColorValue;
185 'lemonchiffon': ColorValue;
185 'lemonchiffon': ColorValue;
186 'lightblue': ColorValue;
186 'lightblue': ColorValue;
187 'lightcoral': ColorValue;
187 'lightcoral': ColorValue;
188 'lightcyan': ColorValue;
188 'lightcyan': ColorValue;
189 'lightgoldenrodyellow': ColorValue;
189 'lightgoldenrodyellow': ColorValue;
190 'lightgray': ColorValue;
190 'lightgray': ColorValue;
191 'lightgreen': ColorValue;
191 'lightgreen': ColorValue;
192 'lightgrey': ColorValue;
192 'lightgrey': ColorValue;
193 'lightpink': ColorValue;
193 'lightpink': ColorValue;
194 'lightsalmon': ColorValue;
194 'lightsalmon': ColorValue;
195 'lightseagreen': ColorValue;
195 'lightseagreen': ColorValue;
196 'lightskyblue': ColorValue;
196 'lightskyblue': ColorValue;
197 'lightslategray': ColorValue;
197 'lightslategray': ColorValue;
198 'lightslategrey': ColorValue;
198 'lightslategrey': ColorValue;
199 'lightsteelblue': ColorValue;
199 'lightsteelblue': ColorValue;
200 'lightyellow': ColorValue;
200 'lightyellow': ColorValue;
201 'limegreen': ColorValue;
201 'limegreen': ColorValue;
202 'linen': ColorValue;
202 'linen': ColorValue;
203 'magenta': ColorValue;
203 'magenta': ColorValue;
204 'mediumaquamarine': ColorValue;
204 'mediumaquamarine': ColorValue;
205 'mediumblue': ColorValue;
205 'mediumblue': ColorValue;
206 'mediumorchid': ColorValue;
206 'mediumorchid': ColorValue;
207 'mediumpurple': ColorValue;
207 'mediumpurple': ColorValue;
208 'mediumseagreen': ColorValue;
208 'mediumseagreen': ColorValue;
209 'mediumslateblue': ColorValue;
209 'mediumslateblue': ColorValue;
210 'mediumspringgreen': ColorValue;
210 'mediumspringgreen': ColorValue;
211 'mediumturquoise': ColorValue;
211 'mediumturquoise': ColorValue;
212 'mediumvioletred': ColorValue;
212 'mediumvioletred': ColorValue;
213 'midnightblue': ColorValue;
213 'midnightblue': ColorValue;
214 'mintcream': ColorValue;
214 'mintcream': ColorValue;
215 'mistyrose': ColorValue;
215 'mistyrose': ColorValue;
216 'moccasin': ColorValue;
216 'moccasin': ColorValue;
217 'navajowhite': ColorValue;
217 'navajowhite': ColorValue;
218 'oldlace': ColorValue;
218 'oldlace': ColorValue;
219 'olivedrab': ColorValue;
219 'olivedrab': ColorValue;
220 'orange': ColorValue;
220 'orange': ColorValue;
221 'orangered': ColorValue;
221 'orangered': ColorValue;
222 'orchid': ColorValue;
222 'orchid': ColorValue;
223 'palegoldenrod': ColorValue;
223 'palegoldenrod': ColorValue;
224 'palegreen': ColorValue;
224 'palegreen': ColorValue;
225 'paleturquoise': ColorValue;
225 'paleturquoise': ColorValue;
226 'palevioletred': ColorValue;
226 'palevioletred': ColorValue;
227 'papayawhip': ColorValue;
227 'papayawhip': ColorValue;
228 'peachpuff': ColorValue;
228 'peachpuff': ColorValue;
229 'peru': ColorValue;
229 'peru': ColorValue;
230 'pink': ColorValue;
230 'pink': ColorValue;
231 'plum': ColorValue;
231 'plum': ColorValue;
232 'powderblue': ColorValue;
232 'powderblue': ColorValue;
233 'rosybrown': ColorValue;
233 'rosybrown': ColorValue;
234 'royalblue': ColorValue;
234 'royalblue': ColorValue;
235 'saddlebrown': ColorValue;
235 'saddlebrown': ColorValue;
236 'salmon': ColorValue;
236 'salmon': ColorValue;
237 'sandybrown': ColorValue;
237 'sandybrown': ColorValue;
238 'seagreen': ColorValue;
238 'seagreen': ColorValue;
239 'seashell': ColorValue;
239 'seashell': ColorValue;
240 'sienna': ColorValue;
240 'sienna': ColorValue;
241 'skyblue': ColorValue;
241 'skyblue': ColorValue;
242 'slateblue': ColorValue;
242 'slateblue': ColorValue;
243 'slategray': ColorValue;
243 'slategray': ColorValue;
244 'slategrey': ColorValue;
244 'slategrey': ColorValue;
245 'snow': ColorValue;
245 'snow': ColorValue;
246 'springgreen': ColorValue;
246 'springgreen': ColorValue;
247 'steelblue': ColorValue;
247 'steelblue': ColorValue;
248 'tan': ColorValue;
248 'tan': ColorValue;
249 'thistle': ColorValue;
249 'thistle': ColorValue;
250 'tomato': ColorValue;
250 'tomato': ColorValue;
251 'turquoise': ColorValue;
251 'turquoise': ColorValue;
252 'violet': ColorValue;
252 'violet': ColorValue;
253 'wheat': ColorValue;
253 'wheat': ColorValue;
254 'whitesmoke': ColorValue;
254 'whitesmoke': ColorValue;
255 'yellowgreen': ColorValue;
255 'yellowgreen': ColorValue;
256 }
256 }
257
257
258 interface ColorConstructor {
258 interface ColorConstructor {
259 /**
259 /**
260 * creates a greyscale color with an optional alpha
260 * creates a greyscale color with an optional alpha
261 */
261 */
262 makeGrey(g: number, a?: number): Color;
262 makeGrey(g: number, a?: number): Color;
263 }
263 }
264
264
265 }
265 }
266
266
267 type dojoColor = dojoColor.Color;
267 type Color = Color.Color;
268 declare const dojoColor: dojoColor.ColorConstructor;
268 declare const Color: Color.ColorConstructor;
269 export = dojoColor;
269 export = Color;
@@ -1,100 +1,101
1 import DojoPromise = require("../promise/Promise");
1 import DojoPromise = require("../promise/Promise");
2 import { PromiseCallback, PromiseErrback, PromiseProgback } from "../promise/Promise";
2 import { PromiseCallback, PromiseErrback, PromiseProgback } from "../promise/Promise";
3 import declare = require("./declare");
3
4
4 /* dojo/_base/Deferred */
5 /* dojo/_base/Deferred */
5
6
6 interface Deferred<T> {
7 interface Deferred<T> {
7
8
8 promise: DojoPromise<T>;
9 promise: DojoPromise<T>;
9
10
10 /**
11 /**
11 * Checks whether the deferred has been resolved.
12 * Checks whether the deferred has been resolved.
12 */
13 */
13 isResolved(): boolean;
14 isResolved(): boolean;
14
15
15 /**
16 /**
16 * Checks whether the deferred has been rejected.
17 * Checks whether the deferred has been rejected.
17 */
18 */
18 isRejected(): boolean;
19 isRejected(): boolean;
19
20
20 /**
21 /**
21 * Checks whether the deferred has been resolved or rejected.
22 * Checks whether the deferred has been resolved or rejected.
22 */
23 */
23 isFulfilled(): boolean;
24 isFulfilled(): boolean;
24
25
25 /**
26 /**
26 * Checks whether the deferred has been canceled.
27 * Checks whether the deferred has been canceled.
27 */
28 */
28 isCanceled(): boolean;
29 isCanceled(): boolean;
29
30
30 /**
31 /**
31 * Emit a progress update on the deferred.
32 * Emit a progress update on the deferred.
32 */
33 */
33 progress(update: any, strict?: boolean): DojoPromise<T>;
34 progress(update: any, strict?: boolean): DojoPromise<T>;
34
35
35 /**
36 /**
36 * Resolve the deferred.
37 * Resolve the deferred.
37 */
38 */
38 resolve(value?: T, strict?: boolean): DojoPromise<T>;
39 resolve(value?: T, strict?: boolean): DojoPromise<T>;
39
40
40 /**
41 /**
41 * Reject the deferred.
42 * Reject the deferred.
42 */
43 */
43 reject(error?: any, strict?: boolean): DojoPromise<T>;
44 reject(error?: any, strict?: boolean): DojoPromise<T>;
44
45
45 /**
46 /**
46 * The results of the Deferred
47 * The results of the Deferred
47 */
48 */
48 results: [T, any];
49 results: [T, any];
49
50
50 /**
51 /**
51 * Adds callback and error callback for this deferred instance.
52 * Adds callback and error callback for this deferred instance.
52 */
53 */
53 addCallbacks<U1, U2 = never>(callback?: PromiseCallback<T, U1>, errback?: PromiseErrback<U2>): Deferred<U1 | U2>;
54 addCallbacks<U1, U2 = never>(callback?: PromiseCallback<T, U1>, errback?: PromiseErrback<U2>): Deferred<U1 | U2>;
54
55
55 /**
56 /**
56 * Add new callbacks to the deferred.
57 * Add new callbacks to the deferred.
57 */
58 */
58 then<U1, U2 = never>(callback?: PromiseCallback<T, U1>, errback?: PromiseErrback<U2>, progback?: PromiseProgback): DojoPromise<U1 | U2>;
59 then<U1, U2 = never>(callback?: PromiseCallback<T, U1>, errback?: PromiseErrback<U2>, progback?: PromiseProgback): DojoPromise<U1 | U2>;
59
60
60 /**
61 /**
61 * Cancels the asynchronous operation
62 * Cancels the asynchronous operation
62 */
63 */
63 cancel(): void;
64 cancel(): void;
64
65
65 /**
66 /**
66 * Adds successful callback for this deferred instance.
67 * Adds successful callback for this deferred instance.
67 */
68 */
68 addCallback<U>(callback: PromiseCallback<T, U>): Deferred<U>;
69 addCallback<U>(callback: PromiseCallback<T, U>): Deferred<U>;
69
70
70 /**
71 /**
71 * Adds error callback for this deferred instance.
72 * Adds error callback for this deferred instance.
72 */
73 */
73 addErrback<U>(errback: PromiseErrback<U>): Deferred<U>;
74 addErrback<U>(errback: PromiseErrback<U>): Deferred<U>;
74
75
75 /**
76 /**
76 * Add handler as both successful callback and error callback for this deferred instance.
77 * Add handler as both successful callback and error callback for this deferred instance.
77 */
78 */
78 addBoth<U>(callback?: PromiseErrback<U>): Deferred<U>;
79 addBoth<U>(callback?: PromiseErrback<U>): Deferred<U>;
79
80
80 fired: number;
81 fired: number;
81 }
82 }
82
83
83 interface DeferredConstructor {
84 interface DeferredConstructor {
84 /**
85 /**
85 * Deprecated. This module defines the legacy dojo/_base/Deferred API.
86 * Deprecated. This module defines the legacy dojo/_base/Deferred API.
86 * New code should use dojo/Deferred instead.
87 * New code should use dojo/Deferred instead.
87 */
88 */
88 new <T>(canceller?: (reason: any) => void): Deferred<T>;
89 new <T>(canceller?: (reason: any) => void): Deferred<T>;
89
90
90 prototype: Deferred<any>;
91 prototype: Deferred<any>;
91
92
92 /**
93 /**
93 * Transparently applies callbacks to values and/or promises.
94 * Transparently applies callbacks to values and/or promises.
94 */
95 */
95 when<T>(valueOrPromise: any): Deferred<T>;
96 when<T>(valueOrPromise: any): Deferred<T>;
96 when<T, U1, U2 = never>(valueOrPromise: any, callback?: PromiseCallback<T, U1>, errback?: PromiseErrback<U2>, progback?: PromiseProgback): Deferred<U1 | U2>;
97 when<T, U1, U2 = never>(valueOrPromise: any, callback?: PromiseCallback<T, U1>, errback?: PromiseErrback<U2>, progback?: PromiseProgback): Deferred<U1 | U2>;
97 }
98 }
98
99
99 declare const Deferred: DeferredConstructor;
100 declare const Deferred: DeferredConstructor;
100 export = Deferred; No newline at end of file
101 export = Deferred;
@@ -1,55 +1,51
1 import { GenericConstructor } from "../interfaces";
1 import { GenericConstructor } from "../interfaces";
2
2
3 /* dojo/_base/array */
3 /* dojo/_base/array */
4 interface DojoArray {
4
5 /**
5 /**
6 * Determines whether or not every item in arr satisfies the condition implemented by callback.
6 * Determines whether or not every item in arr satisfies the condition implemented by callback.
7 * @param {T[] | string} arr the array to iterate on. If a string, operates on individual characters.
7 * @param {T[] | string} arr the array to iterate on. If a string, operates on individual characters.
8 * @param {Function | string} callback a function is invoked with three arguments: item, index, and
8 * @param {Function | string} callback a function is invoked with three arguments: item, index, and
9 * array and returns true if the condition is met.
9 * array and returns true if the condition is met.
10 * @param {object} thisObj may be used to scope the call to callback
10 * @param {object} thisObj may be used to scope the call to callback
11 */
11 */
12 every<T>(arr: T[] | string, callback: string | ((item: T, idx: number, arr: T[]) => boolean), thisObj?: Object): boolean;
12 export function every<T>(arr: T[] | string, callback: string | ((item: T, idx: number, arr: T[]) => boolean), thisObj?: Object): boolean;
13
13
14 /**
14 /**
15 * Determines whether or not any item in arr satisfies the condition implemented by callback.
15 * Determines whether or not any item in arr satisfies the condition implemented by callback.
16 */
16 */
17 some<T>(arr: T[] | string, callback: string | ((item: T, idx: number, arr: T[]) => boolean), thisObj?: Object): boolean;
17 export function some<T>(arr: T[] | string, callback: string | ((item: T, idx: number, arr: T[]) => boolean), thisObj?: Object): boolean;
18
18
19 /**
19 /**
20 * locates the last index of the provided value in the passed array. If the value is not found, -1
20 * locates the last index of the provided value in the passed array. If the value is not found, -1
21 * is returned.
21 * is returned.
22 * @param {boolean} findLast Makes indexOf() work like lastIndexOf(). Used internally; not meant
22 * @param {boolean} findLast Makes indexOf() work like lastIndexOf(). Used internally; not meant
23 * for external usage.
23 * for external usage.
24 */
24 */
25 indexOf<T>(arr: T[], value: T, fromIndex?: number, findLast?: boolean): number;
25 export function indexOf<T>(arr: T[], value: T, fromIndex?: number, findLast?: boolean): number;
26
26
27 /**
27 /**
28 * locates the first index of the provided value in the passed array. If the value is not found,
28 * locates the first index of the provided value in the passed array. If the value is not found,
29 * -1 is returned.
29 * -1 is returned.
30 */
30 */
31 lastIndexOf<T>(arr: T[], value: T, fromIndex?: number): number;
31 export function lastIndexOf<T>(arr: T[], value: T, fromIndex?: number): number;
32
32
33 /**
33 /**
34 * locates the last index of the provided value in the passed array. If the value is not found,
34 * locates the last index of the provided value in the passed array. If the value is not found,
35 * -1 is returned.
35 * -1 is returned.
36 */
36 */
37 forEach<T>(arr: T[], callback: string | ((item: T, idx: number, arr: T[]) => void), thisObj?: Object): void;
37 export function forEach<T>(arr: T[], callback: string | ((item: T, idx: number, arr: T[]) => void), thisObj?: Object): void;
38
38
39 /**
39 /**
40 * for every item in arr, callback is invoked. Return values are ignored. If you want to break
40 * for every item in arr, callback is invoked. Return values are ignored. If you want to break
41 * out of the loop, consider using array.every() or array.some().
41 * out of the loop, consider using array.every() or array.some().
42 */
42 */
43 map<T, U>(arr: T[] | string, callback: string | ((item: T, idx: number, arr: T[]) => U), thisObj?: Object, Ctr?: GenericConstructor<U[]>): U[];
43 export function map<T, U>(arr: T[] | string, callback: string | ((item: T, idx: number, arr: T[]) => U), thisObj?: Object, Ctr?: GenericConstructor<U[]>): U[];
44
44
45 /**
45 /**
46 * Returns a new Array with those items from arr that match the condition implemented by
46 * Returns a new Array with those items from arr that match the condition implemented by
47 * callback.
47 * callback.
48 */
48 */
49 filter<T>(arr: T[], callback: string | ((item: T, idx: number, arr: T[]) => boolean), thisObj?: Object): T[];
49 export function filter<T>(arr: T[], callback: string | ((item: T, idx: number, arr: T[]) => boolean), thisObj?: Object): T[];
50
50
51 clearCache(): void;
51 export function clearCache(): void;
52 }
53
54 declare const dojoArray: DojoArray;
55 export = dojoArray;
@@ -1,13 +1,13
1 import "../ready";
1 import "../ready";
2 import dojo = require("./kernel");
2 import dojo = require("./kernel");
3 import "./connect"; // until we decide if connect is going back into non-browser environments
3 import "./connect"; // until we decide if connect is going back into non-browser environments
4 import "./unload";
4 import "./unload";
5 import "./window";
5 import "./window";
6 import "./event";
6 import "./event";
7 import "./html";
7 import "./html";
8 import "./NodeList";
8 import "./NodeList";
9 import"../query";
9 import"../query";
10 import "./xhr";
10 import "./xhr";
11 import "./fx";
11 import "./fx";
12
12
13 export = dojo; No newline at end of file
13 export = dojo;
@@ -1,151 +1,154
1 import { ColorValue, ColorValueAlpha } from "./Color";
1 import { ColorValue, ColorValueAlpha } from "./Color";
2 import { HasCache } from "../has";
2 import { HasCache } from "../has";
3
4 declare namespace config {
3 interface Config {
5 interface Config {
4 /** Defaults to `false`. If set to `true`, ensures that Dojo provides
6 /** Defaults to `false`. If set to `true`, ensures that Dojo provides
5 * extended debugging feedback via Firebug. If Firebug is not available
7 * extended debugging feedback via Firebug. If Firebug is not available
6 * on your platform, setting `isDebug` to `true` will force Dojo to
8 * on your platform, setting `isDebug` to `true` will force Dojo to
7 * pull in (and display) the version of Firebug Lite which is
9 * pull in (and display) the version of Firebug Lite which is
8 * integrated into the Dojo distribution, thereby always providing a
10 * integrated into the Dojo distribution, thereby always providing a
9 * debugging/logging console when `isDebug` is enabled. Note that
11 * debugging/logging console when `isDebug` is enabled. Note that
10 * Firebug's `console.*` methods are ALWAYS defined by Dojo. If
12 * Firebug's `console.*` methods are ALWAYS defined by Dojo. If
11 * `isDebug` is false and you are on a platform without Firebug, these
13 * `isDebug` is false and you are on a platform without Firebug, these
12 * methods will be defined as no-ops.
14 * methods will be defined as no-ops.
13 */
15 */
14 isDebug: boolean;
16 isDebug: boolean;
15
17
16 /**
18 /**
17 * The locale to assume for loading localized resources in this page,
19 * The locale to assume for loading localized resources in this page,
18 * specified according to [RFC 3066](http://www.ietf.org/rfc/rfc3066.txt).
20 * specified according to [RFC 3066](http://www.ietf.org/rfc/rfc3066.txt).
19 * Must be specified entirely in lowercase, e.g. `en-us` and `zh-cn`.
21 * Must be specified entirely in lowercase, e.g. `en-us` and `zh-cn`.
20 * See the documentation for `dojo.i18n` and `dojo.requireLocalization`
22 * See the documentation for `dojo.i18n` and `dojo.requireLocalization`
21 * for details on loading localized resources. If no locale is specified,
23 * for details on loading localized resources. If no locale is specified,
22 * Dojo assumes the locale of the user agent, according to `navigator.userLanguage`
24 * Dojo assumes the locale of the user agent, according to `navigator.userLanguage`
23 * or `navigator.language` properties.
25 * or `navigator.language` properties.
24 */
26 */
25 locale: string;
27 locale: string;
26
28
27 /**
29 /**
28 * No default value. Specifies additional locales whose
30 * No default value. Specifies additional locales whose
29 * resources should also be loaded alongside the default locale when
31 * resources should also be loaded alongside the default locale when
30 * calls to `dojo.requireLocalization()` are processed.
32 * calls to `dojo.requireLocalization()` are processed.
31 */
33 */
32 extraLocale: string[];
34 extraLocale: string[];
33
35
34 /**
36 /**
35 * The directory in which `dojo.js` is located. Under normal
37 * The directory in which `dojo.js` is located. Under normal
36 * conditions, Dojo auto-detects the correct location from which it
38 * conditions, Dojo auto-detects the correct location from which it
37 * was loaded. You may need to manually configure `baseUrl` in cases
39 * was loaded. You may need to manually configure `baseUrl` in cases
38 * where you have renamed `dojo.js` or in which `<base>` tags confuse
40 * where you have renamed `dojo.js` or in which `<base>` tags confuse
39 * some browsers (e.g. IE 6). The variable `dojo.baseUrl` is assigned
41 * some browsers (e.g. IE 6). The variable `dojo.baseUrl` is assigned
40 * either the value of `djConfig.baseUrl` if one is provided or the
42 * either the value of `djConfig.baseUrl` if one is provided or the
41 * auto-detected root if not. Other modules are located relative to
43 * auto-detected root if not. Other modules are located relative to
42 * this path. The path should end in a slash.
44 * this path. The path should end in a slash.
43 */
45 */
44 baseUrl: string;
46 baseUrl: string;
45
47
46 /**
48 /**
47 * A map of module names to paths relative to `dojo.baseUrl`. The
49 * A map of module names to paths relative to `dojo.baseUrl`. The
48 * key/value pairs correspond directly to the arguments which
50 * key/value pairs correspond directly to the arguments which
49 * `dojo.registerModulePath` accepts. Specifying
51 * `dojo.registerModulePath` accepts. Specifying
50 * `djConfig.modulePaths = { "foo": "../../bar" }` is the equivalent
52 * `djConfig.modulePaths = { "foo": "../../bar" }` is the equivalent
51 * of calling `dojo.registerModulePath("foo", "../../bar");`. Multiple
53 * of calling `dojo.registerModulePath("foo", "../../bar");`. Multiple
52 * modules may be configured via `djConfig.modulePaths`.
54 * modules may be configured via `djConfig.modulePaths`.
53 */
55 */
54 modulePaths: { [mid: string]: string };
56 modulePaths: { [mid: string]: string };
55
57
56 /**
58 /**
57 * Adds a callback via dojo/ready. Useful when Dojo is added after
59 * Adds a callback via dojo/ready. Useful when Dojo is added after
58 * the page loads and djConfig.afterOnLoad is true. Supports the same
60 * the page loads and djConfig.afterOnLoad is true. Supports the same
59 * arguments as dojo/ready. When using a function reference, use
61 * arguments as dojo/ready. When using a function reference, use
60 * `djConfig.addOnLoad = function(){};`. For object with function name use
62 * `djConfig.addOnLoad = function(){};`. For object with function name use
61 * `djConfig.addOnLoad = [myObject, "functionName"];` and for object with
63 * `djConfig.addOnLoad = [myObject, "functionName"];` and for object with
62 * function reference use
64 * function reference use
63 * `djConfig.addOnLoad = [myObject, function(){}];`
65 * `djConfig.addOnLoad = [myObject, function(){}];`
64 */
66 */
65 addOnLoad: () => void | [any, string];
67 addOnLoad: () => void | [any, string];
66
68
67 /**
69 /**
68 * Run the parser after the page is loaded
70 * Run the parser after the page is loaded
69 */
71 */
70 parseOnLoad: boolean;
72 parseOnLoad: boolean;
71
73
72 /**
74 /**
73 * An array of module names to be loaded immediately after dojo.js has been included
75 * An array of module names to be loaded immediately after dojo.js has been included
74 * in a page.
76 * in a page.
75 */
77 */
76 require: string[];
78 require: string[];
77
79
78 /**
80 /**
79 * Default duration, in milliseconds, for wipe and fade animations within dijits.
81 * Default duration, in milliseconds, for wipe and fade animations within dijits.
80 * Assigned to dijit.defaultDuration.
82 * Assigned to dijit.defaultDuration.
81 */
83 */
82 defaultDuration: number;
84 defaultDuration: number;
83
85
84 /**
86 /**
85 * Used by some modules to configure an empty iframe. Used by dojo/io/iframe and
87 * Used by some modules to configure an empty iframe. Used by dojo/io/iframe and
86 * dojo/back, and dijit/popup support in IE where an iframe is needed to make sure native
88 * dojo/back, and dijit/popup support in IE where an iframe is needed to make sure native
87 * controls do not bleed through the popups. Normally this configuration variable
89 * controls do not bleed through the popups. Normally this configuration variable
88 * does not need to be set, except when using cross-domain/CDN Dojo builds.
90 * does not need to be set, except when using cross-domain/CDN Dojo builds.
89 * Save dojo/resources/blank.html to your domain and set `djConfig.dojoBlankHtmlUrl`
91 * Save dojo/resources/blank.html to your domain and set `djConfig.dojoBlankHtmlUrl`
90 * to the path on your domain your copy of blank.html.
92 * to the path on your domain your copy of blank.html.
91 */
93 */
92 dojoBlankHtmlUrl: string;
94 dojoBlankHtmlUrl: string;
93
95
94 /**
96 /**
95 * Set this to true to enable publishing of topics for the different phases of
97 * Set this to true to enable publishing of topics for the different phases of
96 * IO operations. Publishing is done via dojo/topic.publish(). See dojo/main.__IoPublish for a list
98 * IO operations. Publishing is done via dojo/topic.publish(). See dojo/main.__IoPublish for a list
97 * of topics that are published.
99 * of topics that are published.
98 */
100 */
99 ioPublish: boolean;
101 ioPublish: boolean;
100
102
101 /**
103 /**
102 * If set to a value that evaluates to true such as a string or array and
104 * If set to a value that evaluates to true such as a string or array and
103 * isDebug is true and Firebug is not available or running, then it bypasses
105 * isDebug is true and Firebug is not available or running, then it bypasses
104 * the creation of Firebug Lite allowing you to define your own console object.
106 * the creation of Firebug Lite allowing you to define your own console object.
105 */
107 */
106 useCustomLogger: any;
108 useCustomLogger: any;
107
109
108 /**
110 /**
109 * Array containing the r, g, b components used as transparent color in dojo.Color;
111 * Array containing the r, g, b components used as transparent color in dojo.Color;
110 * if undefined, ColorValue (white) will be used.
112 * if undefined, ColorValue (white) will be used.
111 */
113 */
112 transparentColor: ColorValue | ColorValueAlpha;
114 transparentColor: ColorValue | ColorValueAlpha;
113
115
114 /**
116 /**
115 * Defines dependencies to be used before the loader has been loaded.
117 * Defines dependencies to be used before the loader has been loaded.
116 * When provided, they cause the loader to execute require(deps, callback)
118 * When provided, they cause the loader to execute require(deps, callback)
117 * once it has finished loading. Should be used with callback.
119 * once it has finished loading. Should be used with callback.
118 */
120 */
119 deps: () => string[] | string[];
121 deps: () => string[] | string[];
120
122
121 /**
123 /**
122 * Defines the cached has API variables
124 * Defines the cached has API variables
123 */
125 */
124 hasCache: HasCache;
126 hasCache: HasCache;
125
127
126 /**
128 /**
127 * Defines a callback to be used when dependencies are defined before
129 * Defines a callback to be used when dependencies are defined before
128 * the loader has been loaded. When provided, they cause the loader to
130 * the loader has been loaded. When provided, they cause the loader to
129 * execute require(deps, callback) once it has finished loading.
131 * execute require(deps, callback) once it has finished loading.
130 */
132 */
131 callback: (...args: any[]) => void;
133 callback: (...args: any[]) => void;
132
134
133 /**
135 /**
134 * Whether deferred instrumentation should be loaded or included
136 * Whether deferred instrumentation should be loaded or included
135 * in builds.
137 * in builds.
136 */
138 */
137 deferredInstrumentation: boolean;
139 deferredInstrumentation: boolean;
138
140
139 /**
141 /**
140 * Whether the deferred instrumentation should be used.
142 * Whether the deferred instrumentation should be used.
141 *
143 *
142 * * `"report-rejections"`: report each rejection as it occurs.
144 * * `"report-rejections"`: report each rejection as it occurs.
143 * * `true` or `1` or `"report-unhandled-rejections"`: wait 1 second
145 * * `true` or `1` or `"report-unhandled-rejections"`: wait 1 second
144 * in an attempt to detect unhandled rejections.
146 * in an attempt to detect unhandled rejections.
145 */
147 */
146 useDeferredInstrumentation: string | boolean | number;
148 useDeferredInstrumentation: string | boolean | number;
147 }
149 }
148
150
149 type dojoConfig = Config;
151 }
150 declare const dojoConfig: Config;
152
151 export = dojoConfig; No newline at end of file
153 declare const config: config.Config;
154 export = config;
@@ -1,49 +1,47
1 import { Handle } from "../interfaces";
1 import { Handle } from "../interfaces";
2
2
3 interface Connect {
4 /**
3 /**
5 * TODO: Type this better
4 * TODO: Type this better
6 */
5 */
7 _keypress(object: any, listener: EventListener): Handle;
6 export function _keypress(object: any, listener: EventListener): Handle;
8
7
9 /**
8 /**
10 * `dojo.connect` is a deprecated event handling and delegation method in
9 * `dojo.connect` is a deprecated event handling and delegation method in
11 * Dojo. It allows one function to "listen in" on the execution of
10 * Dojo. It allows one function to "listen in" on the execution of
12 * any other, triggering the second whenever the first is called. Many
11 * any other, triggering the second whenever the first is called. Many
13 * listeners may be attached to a function, and source functions may
12 * listeners may be attached to a function, and source functions may
14 * be either regular function calls or DOM events.
13 * be either regular function calls or DOM events.
15 */
14 */
16 connect(obj: any, event: string, context: any, method: EventListener | string, dontFix?: boolean): Handle;
15 export function connect(obj: any, event: string, context: any, method: EventListener | string, dontFix?: boolean): Handle;
17 connect(event: string, context: any, method: EventListener | string, dontFix?: boolean): Handle;
16 export function connect(event: string, context: any, method: EventListener | string, dontFix?: boolean): Handle;
18
17
19 /**
18 /**
20 * Remove a link created by dojo.connect.
19 * Remove a link created by dojo.connect.
21 */
20 */
22 disconnect(handle: Handle): void;
21 export function disconnect(handle: Handle): void;
23
22
24 /**
23 /**
25 * Attach a listener to a named topic. The listener function is invoked whenever the
24 * Attach a listener to a named topic. The listener function is invoked whenever the
26 * named topic is published (see: dojo.publish).
25 * named topic is published (see: dojo.publish).
27 * Returns a handle which is needed to unsubscribe this listener.
26 * Returns a handle which is needed to unsubscribe this listener.
28 */
27 */
29 subscribe(topic: string, context: any, method: EventListener): Handle;
28 export function subscribe(topic: string, context: any, method: EventListener): Handle;
30
29
31 /**
30 /**
32 * Invoke all listener method subscribed to topic.
31 * Invoke all listener method subscribed to topic.
33 */
32 */
34 publish(topic: string, args: any[]): boolean;
33 export function publish(topic: string, args: any[]): boolean;
35
34
36 /**
35 /**
37 * Ensure that every time obj.event() is called, a message is published
36 * Ensure that every time obj.event() is called, a message is published
38 * on the topic. Returns a handle which can be passed to
37 * on the topic. Returns a handle which can be passed to
39 * dojo.disconnect() to disable subsequent automatic publication on
38 * dojo.disconnect() to disable subsequent automatic publication on
40 * the topic.
39 * the topic.
41 */
40 */
42 connectPublisher(topic: string, obj: any, method: string): Handle;
41 export function connectPublisher(topic: string, obj: any, method: string): Handle;
43 connectPublisher(topic: string, method: EventListener): Handle;
42 export function connectPublisher(topic: string, method: EventListener): Handle;
44
43
45 /**
44 /**
46 * Checks an event for the copy key (meta on Mac, and ctrl anywhere else)
45 * Checks an event for the copy key (meta on Mac, and ctrl anywhere else)
47 */
46 */
48 isCopyKey(e: Event): boolean;
47 export function isCopyKey(e: Event): boolean;
49 } No newline at end of file
@@ -1,140 +1,138
1 declare namespace declare {
1 declare module "./kernel" {
2 /* dojo/_base/declare */
2 interface Dojo {
3 declare: declare.Declare;
4 safeMixin: typeof declare.safeMixin;
5 }
6 }
3
7
4 /**
8 declare namespace declare {
5 * dojo/_base/declare() returns a constructor `C`. `new C()` returns an Object with the following
6 * methods, in addition to the methods and properties specified via the arguments passed to declare().
7 */
8 interface DeclareCreatedObject {
9 interface DeclareCreatedObject {
9 declaredClass: string;
10 declaredClass: string;
10
11
11 /**
12 /**
12 * Calls a super method.
13 * Calls a super method.
13 *
14 *
14 * This method is used inside method of classes produced with
15 * This method is used inside method of classes produced with
15 * declare() to call a super method (next in the chain). It is
16 * declare() to call a super method (next in the chain). It is
16 * used for manually controlled chaining. Consider using the regular
17 * used for manually controlled chaining. Consider using the regular
17 * chaining, because it is faster. Use "this.inherited()" only in
18 * chaining, because it is faster. Use "this.inherited()" only in
18 * complex cases.
19 * complex cases.
19 *
20 *
20 * This method cannot me called from automatically chained
21 * This method cannot me called from automatically chained
21 * constructors including the case of a special (legacy)
22 * constructors including the case of a special (legacy)
22 * constructor chaining. It cannot be called from chained methods.
23 * constructor chaining. It cannot be called from chained methods.
23 *
24 *
24 * If "this.inherited()" cannot find the next-in-chain method, it
25 * If "this.inherited()" cannot find the next-in-chain method, it
25 * does nothing and returns "undefined". The last method in chain
26 * does nothing and returns "undefined". The last method in chain
26 * can be a default method implemented in Object, which will be
27 * can be a default method implemented in Object, which will be
27 * called last.
28 * called last.
28 *
29 *
29 * If "name" is specified, it is assumed that the method that
30 * If "name" is specified, it is assumed that the method that
30 * received "args" is the parent method for this call. It is looked
31 * received "args" is the parent method for this call. It is looked
31 * up in the chain list and if it is found the next-in-chain method
32 * up in the chain list and if it is found the next-in-chain method
32 * is called. If it is not found, the first-in-chain method is
33 * is called. If it is not found, the first-in-chain method is
33 * called.
34 * called.
34 *
35 *
35 * If "name" is not specified, it will be derived from the calling
36 * If "name" is not specified, it will be derived from the calling
36 * method (using a methoid property "nom").
37 * method (using a methoid property "nom").
37 */
38 */
38 inherited<U>(args: IArguments, newArgs?: any[]): U;
39 inherited<U>(args: IArguments, newArgs?: any[]): U;
39 inherited(args: IArguments, newArgs?: true): Function | void;
40 inherited(args: IArguments, newArgs?: true): Function | void;
40 inherited<U>(name: string, args: IArguments, newArgs?: any[]): U;
41 inherited<U>(name: string, args: IArguments, newArgs?: any[]): U;
41 inherited(name: string, args: IArguments, newArgs?: true): Function | void;
42 inherited(name: string, args: IArguments, newArgs?: true): Function | void;
42
43
43 /**
44 /**
44 * Returns a super method.
45 * Returns a super method.
45 *
46 *
46 * This method is a convenience method for "this.inherited()".
47 * This method is a convenience method for "this.inherited()".
47 * It uses the same algorithm but instead of executing a super
48 * It uses the same algorithm but instead of executing a super
48 * method, it returns it, or "undefined" if not found.
49 * method, it returns it, or "undefined" if not found.
49 */
50 */
50 getInherited(args: IArguments): Function | void;
51 getInherited(args: IArguments): Function | void;
51 getInherited(name: string, args: IArguments): Function | void;
52 getInherited(name: string, args: IArguments): Function | void;
52
53
53 /**
54 /**
54 * Checks the inheritance chain to see if it is inherited from this class.
55 * Checks the inheritance chain to see if it is inherited from this class.
55 *
56 *
56 * This method is used with instances of classes produced with
57 * This method is used with instances of classes produced with
57 * declare() to determine of they support a certain interface or
58 * declare() to determine of they support a certain interface or
58 * not. It models "instanceof" operator.
59 * not. It models "instanceof" operator.
59 */
60 */
60 isInstanceOf(cls: any): boolean;
61 isInstanceOf(cls: any): boolean;
61 }
62 }
62
63
63 interface DeclareConstructor<T> {
64 interface DeclareConstructor<T> {
64 new(...args: any[]): T & DeclareCreatedObject;
65 new(...args: any[]): T & DeclareCreatedObject;
65 prototype: T;
66 prototype: T;
66
67
67 /**
68 /**
68 * Adds all properties and methods of source to constructor's
69 * Adds all properties and methods of source to constructor's
69 * prototype, making them available to all instances created with
70 * prototype, making them available to all instances created with
70 * constructor. This method is specific to constructors created with
71 * constructor. This method is specific to constructors created with
71 * declare().
72 * declare().
72 *
73 *
73 * Adds source properties to the constructor's prototype. It can
74 * Adds source properties to the constructor's prototype. It can
74 * override existing properties.
75 * override existing properties.
75 *
76 *
76 * This method is similar to dojo.extend function, but it is specific
77 * This method is similar to dojo.extend function, but it is specific
77 * to constructors produced by declare(). It is implemented
78 * to constructors produced by declare(). It is implemented
78 * using dojo.safeMixin, and it skips a constructor property,
79 * using dojo.safeMixin, and it skips a constructor property,
79 * and properly decorates copied functions.
80 * and properly decorates copied functions.
80 */
81 */
81 extend<U>(source: U): DeclareConstructor<T & U>;
82 extend<U>(source: U): DeclareConstructor<T & U>;
82
83
83 /**
84 /**
84 * Create a subclass of the declared class from a list of base classes.
85 * Create a subclass of the declared class from a list of base classes.
85 *
86 *
86 * Create a constructor using a compact notation for inheritance and
87 * Create a constructor using a compact notation for inheritance and
87 * prototype extension.
88 * prototype extension.
88 *
89 *
89 * Mixin ancestors provide a type of multiple inheritance.
90 * Mixin ancestors provide a type of multiple inheritance.
90 * Prototypes of mixin ancestors are copied to the new class:
91 * Prototypes of mixin ancestors are copied to the new class:
91 * changes to mixin prototypes will not affect classes to which
92 * changes to mixin prototypes will not affect classes to which
92 * they have been mixed in.
93 * they have been mixed in.
93 */
94 */
94 createSubclass<U, V, X>(mixins: [DeclareConstructor<U>, DeclareConstructor<V>], props: X): DeclareConstructor<T & U & V & X>;
95 createSubclass<U, V, X>(mixins: [DeclareConstructor<U>, DeclareConstructor<V>], props: X): DeclareConstructor<T & U & V & X>;
95 createSubclass<U, V>(mixins: [DeclareConstructor<U>], props: V): DeclareConstructor<T & U & V>;
96 createSubclass<U, V>(mixins: [DeclareConstructor<U>], props: V): DeclareConstructor<T & U & V>;
96 createSubclass<U, V>(mixins: DeclareConstructor<U>, props: V): DeclareConstructor<T & U & V>;
97 createSubclass<U, V>(mixins: DeclareConstructor<U>, props: V): DeclareConstructor<T & U & V>;
97 createSubclass<U>(mixins: [DeclareConstructor<U>]): DeclareConstructor<T & U>;
98 createSubclass<U>(mixins: [DeclareConstructor<U>]): DeclareConstructor<T & U>;
98 createSubclass<U>(mixins: DeclareConstructor<U>): DeclareConstructor<T & U>;
99 createSubclass<U>(mixins: DeclareConstructor<U>): DeclareConstructor<T & U>;
99 createSubclass<U>(mixins: any, props: U): DeclareConstructor<T & U>;
100 createSubclass<U>(mixins: any, props: U): DeclareConstructor<T & U>;
100 }
101 }
101
102
102 /**
103 * Create a feature-rich constructor from compact notation.
104 */
105 interface Declare {
103 interface Declare {
106 <A, B, C, D>(superClass: [DeclareConstructor<A>, DeclareConstructor<B>, DeclareConstructor<C>, DeclareConstructor<D>]): DeclareConstructor<A & B & C & D>;
104 <A, B, C, D>(superClass: [DeclareConstructor<A>, DeclareConstructor<B>, DeclareConstructor<C>, DeclareConstructor<D>]): DeclareConstructor<A & B & C & D>;
107 <A, B, C>(superClass: [DeclareConstructor<A>, DeclareConstructor<B>, DeclareConstructor<C>]): DeclareConstructor<A & B & C>;
105 <A, B, C>(superClass: [DeclareConstructor<A>, DeclareConstructor<B>, DeclareConstructor<C>]): DeclareConstructor<A & B & C>;
108 <A, B>(superClass: [DeclareConstructor<A>, DeclareConstructor<B>]): DeclareConstructor<A & B>;
106 <A, B>(superClass: [DeclareConstructor<A>, DeclareConstructor<B>]): DeclareConstructor<A & B>;
109 <A>(superClass: DeclareConstructor<A> | [DeclareConstructor<A>]): DeclareConstructor<A>;
107 <A>(superClass: DeclareConstructor<A> | [DeclareConstructor<A>]): DeclareConstructor<A>;
110
108
111 <A, B, C, D, E>(superClass: [DeclareConstructor<A>, DeclareConstructor<B>, DeclareConstructor<C>, DeclareConstructor<D>], props: E): DeclareConstructor<A & B & C & D & E>;
109 <A, B, C, D, E>(superClass: [DeclareConstructor<A>, DeclareConstructor<B>, DeclareConstructor<C>, DeclareConstructor<D>], props: E): DeclareConstructor<A & B & C & D & E>;
112 <A, B, C, D>(superClass: [DeclareConstructor<A>, DeclareConstructor<B>, DeclareConstructor<C>], props: D): DeclareConstructor<A & B & C & D>;
110 <A, B, C, D>(superClass: [DeclareConstructor<A>, DeclareConstructor<B>, DeclareConstructor<C>], props: D): DeclareConstructor<A & B & C & D>;
113 <A, B, C>(superClass: [DeclareConstructor<A>, DeclareConstructor<B>], props: C): DeclareConstructor<A & B & C>;
111 <A, B, C>(superClass: [DeclareConstructor<A>, DeclareConstructor<B>], props: C): DeclareConstructor<A & B & C>;
114 <A, B>(superClass: DeclareConstructor<A> | [DeclareConstructor<A>], props: B): DeclareConstructor<A & B>;
112 <A, B>(superClass: DeclareConstructor<A> | [DeclareConstructor<A>], props: B): DeclareConstructor<A & B>;
115
113
116 <A, B, C, D>(className: string, superClass: [DeclareConstructor<A>, DeclareConstructor<B>, DeclareConstructor<C>, DeclareConstructor<D>]): DeclareConstructor<A & B & C & D>;
114 <A, B, C, D>(className: string, superClass: [DeclareConstructor<A>, DeclareConstructor<B>, DeclareConstructor<C>, DeclareConstructor<D>]): DeclareConstructor<A & B & C & D>;
117 <A, B, C>(className: string, superClass: [DeclareConstructor<A>, DeclareConstructor<B>, DeclareConstructor<C>]): DeclareConstructor<A & B & C>;
115 <A, B, C>(className: string, superClass: [DeclareConstructor<A>, DeclareConstructor<B>, DeclareConstructor<C>]): DeclareConstructor<A & B & C>;
118 <A, B>(className: string, superClass: [DeclareConstructor<A>, DeclareConstructor<B>]): DeclareConstructor<A & B>;
116 <A, B>(className: string, superClass: [DeclareConstructor<A>, DeclareConstructor<B>]): DeclareConstructor<A & B>;
119 <A>(className: string, superClass: DeclareConstructor<A> | [DeclareConstructor<A>]): DeclareConstructor<A>;
117 <A>(className: string, superClass: DeclareConstructor<A> | [DeclareConstructor<A>]): DeclareConstructor<A>;
120
118
121 <A, B, C, D, E>(className: string, superClass: [DeclareConstructor<A>, DeclareConstructor<B>, DeclareConstructor<C>, DeclareConstructor<D>], props: E): DeclareConstructor<A & B & C & D & E>;
119 <A, B, C, D, E>(className: string, superClass: [DeclareConstructor<A>, DeclareConstructor<B>, DeclareConstructor<C>, DeclareConstructor<D>], props: E): DeclareConstructor<A & B & C & D & E>;
122 <A, B, C, D>(className: string, superClass: [DeclareConstructor<A>, DeclareConstructor<B>, DeclareConstructor<C>], props: D): DeclareConstructor<A & B & C & D>;
120 <A, B, C, D>(className: string, superClass: [DeclareConstructor<A>, DeclareConstructor<B>, DeclareConstructor<C>], props: D): DeclareConstructor<A & B & C & D>;
123 <A, B, C>(className: string, superClass: [DeclareConstructor<A>, DeclareConstructor<B>], props: C): DeclareConstructor<A & B & C>;
121 <A, B, C>(className: string, superClass: [DeclareConstructor<A>, DeclareConstructor<B>], props: C): DeclareConstructor<A & B & C>;
124 <A, B>(className: string, superClass: DeclareConstructor<A> | [DeclareConstructor<A>], props: B): DeclareConstructor<A & B>;
122 <A, B>(className: string, superClass: DeclareConstructor<A> | [DeclareConstructor<A>], props: B): DeclareConstructor<A & B>;
125
123
126 <A>(className: string, superClass: any, props: A): DeclareConstructor<A>;
124 <A>(className: string, superClass: any, props: A): DeclareConstructor<A>;
127 (className: string, superClass: any): DeclareConstructor<any>;
125 (className: string, superClass: any): DeclareConstructor<any>;
128 <A>(superClass: any, props: A): DeclareConstructor<A>;
126 <A>(superClass: any, props: A): DeclareConstructor<A>;
129 (superClass: any): DeclareConstructor<any>;
127 (superClass: any): DeclareConstructor<any>;
130
128
131 /**
129 /**
132 * Mix in properties skipping a constructor and decorating functions
130 * Mix in properties skipping a constructor and decorating functions
133 * like it is done by declare().
131 * like it is done by declare().
134 */
132 */
135 safeMixin<A, B>(target: A, source: B): A & B;
133 safeMixin<A, B>(target: A, source: B): A & B;
136 }
134 }
137 }
135 }
138
136
139 declare const declare: declare.Declare;
137 declare const declare: declare.Declare;
140 export = declare;
138 export = declare;
@@ -1,22 +1,21
1 /* dojo/_base/event */
1 /* dojo/_base/event */
2
2
3 /**
3 /**
4 * @module
4 * This module defines dojo DOM event API. Usually you should use dojo/on, and evt.stopPropagation() +
5 * This module defines dojo DOM event API. Usually you should use dojo/on, and evt.stopPropagation() +
5 * evt.preventDefault(), rather than this module.
6 * evt.preventDefault(), rather than this module.
6 */
7 */
7 interface EventModule {
8
9
8 /**
10 /**
9 * normalizes properties on the event object including event
11 * normalizes properties on the event object including event
10 * bubbling methods, keystroke normalization, and x/y positions
12 * bubbling methods, keystroke normalization, and x/y positions
11 */
13 */
12 fix(evt: Event, sender: Element): Event;
14 export declare function fix(evt: Event, sender: Element): Event;
13
15
14 /**
16 /**
15 * prevents propagation and clobbers the default action of the
17 * prevents propagation and clobbers the default action of the
16 * passed event
18 * passed event
17 */
19 */
18 stop(evt: Event): void;
20 export declare function stop(evt: Event): void;
19 }
20
21
21 declare const dojoEvent: EventModule;
22 export = dojoEvent;
@@ -1,218 +1,215
1 import Evented = require("../Evented");
1 import Evented = require("../Evented");
2
2
3 declare namespace fx {
4 /* dojo/_base/fx */
3 /* dojo/_base/fx */
5
4
6 interface Line {
5 export interface _Line {
7 /**
6 /**
8 * Returns the point on the line
7 * Returns the point on the line
9 * @param {number} n a floating point number greater than 0 and less than 1
8 * @param {number} n a floating point number greater than 0 and less than 1
10 */
9 */
11 getValue(n: number): number;
10 getValue(n: number): number;
12 }
11 }
13
12
14 /**
13 /**
15 * Object used to generate values from a start value to an end value
14 * Object used to generate values from a start value to an end value
16 */
15 */
17 interface LineConstructor {
16 export interface LineConstructor {
18 new(start: number, end: number): Line;
17 new(start: number, end: number): _Line;
18
19 prototype: _Line;
19 }
20 }
20
21
21 interface EasingFunction {
22 export interface EasingFunction {
22 (n?: number): number;
23 (n?: number): number;
23 }
24 }
24
25
25 interface Animation extends Evented {
26 export interface Animation extends Evented {
26 /**
27 /**
27 * The time in milliseconds the animation will take to run
28 * The time in milliseconds the animation will take to run
28 */
29 */
29 duration: number;
30 duration: number;
30
31
31 /**
32 /**
32 * A two element array of start and end values, or a `_Line` instance to be
33 * A two element array of start and end values, or a `_Line` instance to be
33 * used in the Animation.
34 * used in the Animation.
34 */
35 */
35 curve: Line | [number, number];
36 curve: _Line | [number, number];
36
37
37 /**
38 /**
38 * A Function to adjust the acceleration (or deceleration) of the progress
39 * A Function to adjust the acceleration (or deceleration) of the progress
39 * across a _Line
40 * across a _Line
40 */
41 */
41 easing?: EasingFunction;
42 easing?: EasingFunction;
42
43
43 /**
44 /**
44 * The number of times to loop the animation
45 * The number of times to loop the animation
45 */
46 */
46 repeat: number;
47 repeat: number;
47
48
48 /**
49 /**
49 * the time in milliseconds to wait before advancing to next frame
50 * the time in milliseconds to wait before advancing to next frame
50 * (used as a fps timer: 1000/rate = fps)
51 * (used as a fps timer: 1000/rate = fps)
51 */
52 */
52 rate: number;
53 rate: number;
53
54
54 /**
55 /**
55 * The time in milliseconds to wait before starting animation after it
56 * The time in milliseconds to wait before starting animation after it
56 * has been .play()'ed
57 * has been .play()'ed
57 */
58 */
58 delay?: number;
59 delay?: number;
59
60
60 /**
61 /**
61 * Synthetic event fired before a Animation begins playing (synchronous)
62 * Synthetic event fired before a Animation begins playing (synchronous)
62 */
63 */
63 beforeBegin?: Event;
64 beforeBegin?: Event;
64
65
65 /**
66 /**
66 * Synthetic event fired as a Animation begins playing (useful?)
67 * Synthetic event fired as a Animation begins playing (useful?)
67 */
68 */
68 onBegin?: Event;
69 onBegin?: Event;
69
70
70 /**
71 /**
71 * Synthetic event fired at each interval of the Animation
72 * Synthetic event fired at each interval of the Animation
72 */
73 */
73 onAnimate?: Event;
74 onAnimate?: Event;
74
75
75 /**
76 /**
76 * Synthetic event fired after the final frame of the Animation
77 * Synthetic event fired after the final frame of the Animation
77 */
78 */
78 onEnd?: Event;
79 onEnd?: Event;
79
80
80 /**
81 /**
81 * Synthetic event fired any time the Animation is play()'ed
82 * Synthetic event fired any time the Animation is play()'ed
82 */
83 */
83 onPlay?: Event;
84 onPlay?: Event;
84
85
85 /**
86 /**
86 * Synthetic event fired when the Animation is paused
87 * Synthetic event fired when the Animation is paused
87 */
88 */
88 onPause?: Event;
89 onPause?: Event;
89
90
90 /**
91 /**
91 * Synthetic event fires when the Animation is stopped
92 * Synthetic event fires when the Animation is stopped
92 */
93 */
93 onStop?: Event;
94 onStop?: Event;
94
95
95 _precent: number;
96 _percent: number;
96 _startRepeatCount: number;
97 _startRepeatCount: number;
97 _getStep(): number;
98 _getStep(): number;
98
99
99 /**
100 /**
100 * Convenience function. Fire event "evt" and pass it the
101 * Convenience function. Fire event "evt" and pass it the
101 * arguments specified in "args".
102 * arguments specified in "args".
102 */
103 */
103 _fire(evt: Event, args?: any[]): this;
104 _fire(evt: Event, args?: any[]): this;
104
105
105 /**
106 /**
106 * Start the animation.
107 * Start the animation.
107 */
108 */
108 play(delay?: number, gotoStart?: boolean): this;
109 play(delay?: number, gotoStart?: boolean): this;
109
110
110 _play(gotoStart?: boolean): this;
111 _play(gotoStart?: boolean): this;
111
112
112 /**
113 /**
113 * Pauses a running animation.
114 * Pauses a running animation.
114 */
115 */
115 pause(): this;
116 pause(): this;
116
117
117 /**
118 /**
118 * Sets the progress of the animation.
119 * Sets the progress of the animation.
119 */
120 */
120 gotoPercent(precent: number, andPlay?: boolean): this;
121 gotoPercent(precent: number, andPlay?: boolean): this;
121
122
122 /**
123 /**
123 * Stops a running animation.
124 * Stops a running animation.
124 */
125 */
125 stop(gotoEnd?: boolean): Animation;
126 stop(gotoEnd?: boolean): Animation;
126
127
127 /**
128 /**
128 * cleanup the animation
129 * cleanup the animation
129 */
130 */
130 destroy(): void;
131 destroy(): void;
131
132
132 /**
133 /**
133 * Returns a string token representation of the status of
134 * Returns a string token representation of the status of
134 * the animation, one of: "paused", "playing", "stopped"
135 * the animation, one of: "paused", "playing", "stopped"
135 */
136 */
136 status(): string;
137 status(): string;
137
138
138 _cycle(): Animation;
139 _cycle(): Animation;
139 _clearTimer(): void;
140 _clearTimer(): void;
140 _startTimer(): void;
141 _startTimer(): void;
141 _stopTimer(): void;
142 _stopTimer(): void;
142 }
143 }
143
144
144 /**
145 /**
145 * A generic animation class that fires callbacks into its handlers
146 * A generic animation class that fires callbacks into its handlers
146 * object at various states.
147 * object at various states.
147 */
148 */
148 interface AnimationConstructor {
149 export interface AnimationConstructor {
149 new(args: any): Animation;
150 new(args: any): Animation;
150 prototype: Animation;
151 prototype: Animation;
151 }
152 }
152
153
153 interface AnimationCallback {
154 export interface AnimationCallback {
154 (node: HTMLElement): void;
155 (node: HTMLElement): void;
155 }
156 }
156
157
157 interface FadeArguments {
158 export interface FadeArguments {
158 node: HTMLElement | string;
159 node: HTMLElement | string;
159 duration?: number;
160 duration?: number;
160 easing?: EasingFunction;
161 easing?: EasingFunction;
161
162
162 start?: Function;
163 start?: Function;
163 end?: Function;
164 end?: Function;
164 }
165 }
165
166
166 interface AnimationArgumentsProperties {
167 export interface AnimationArgumentsProperties {
167 [name: string]: any;
168 [name: string]: any;
168 }
169 }
169
170
170 interface AnimationArguments extends FadeArguments {
171 export interface AnimationArguments extends FadeArguments {
171 properties?: AnimationArgumentsProperties;
172 properties?: AnimationArgumentsProperties;
172 onEnd?: AnimationCallback;
173 onEnd?: AnimationCallback;
173 }
174 }
174
175
175 interface Fx {
176
176 _Line: LineConstructor;
177 export const _Line: LineConstructor;
177
178
178 Animation: AnimationConstructor;
179 export const Animation: AnimationConstructor;
179
180
180 _fade(args: any): Animation;
181 export function _fade(args: any): Animation;
181
182
182 /**
183 /**
183 * Returns an animation that will fade node defined in 'args' from
184 * Returns an animation that will fade node defined in 'args' from
184 * its current opacity to fully opaque.
185 * its current opacity to fully opaque.
185 */
186 */
186 fadeIn(args: FadeArguments): Animation;
187 export function fadeIn(args: FadeArguments): Animation;
187
188
188 /**
189 /**
189 * Returns an animation that will fade node defined in 'args'
190 * Returns an animation that will fade node defined in 'args'
190 * from its current opacity to fully transparent.
191 * from its current opacity to fully transparent.
191 */
192 */
192 fadeOut(args: FadeArguments): Animation;
193 export function fadeOut(args: FadeArguments): Animation;
193
194
194 _defaultEasing(n?: number): number;
195 export function _defaultEasing(n?: number): number;
195
196
196 /**
197 /**
197 * Returns an animation that will transition the properties of
198 * Returns an animation that will transition the properties of
198 * node defined in `args` depending how they are defined in
199 * node defined in `args` depending how they are defined in
199 * `args.properties`
200 * `args.properties`
200 */
201 */
201 animateProperty(args: AnimationArguments): Animation;
202 export function animateProperty(args: AnimationArguments): Animation;
202
203
203 /**
204 /**
204 * A simpler interface to `animateProperty()`, also returns
205 * A simpler interface to `animateProperty()`, also returns
205 * an instance of `Animation` but begins the animation
206 * an instance of `Animation` but begins the animation
206 * immediately, unlike nearly every other Dojo animation API.
207 * immediately, unlike nearly every other Dojo animation API.
207 */
208 */
208 anim(
209 export function anim(
209 node: HTMLElement | string,
210 node: HTMLElement | string,
210 properties: { [name: string]: any },
211 properties: { [name: string]: any },
211 duration?: number,
212 duration?: number,
212 easing?: Function,
213 easing?: Function,
213 onEnd?: AnimationCallback,
214 onEnd?: AnimationCallback,
214 delay?: number): Animation;
215 delay?: number): Animation;
215 }
216 }
217 declare const fx: fx.Fx;
218 export = fx;
@@ -1,75 +1,74
1 /* dojo/_base/kernel */
1 /* dojo/_base/kernel */
2 import Config = require('./config');
2 import { Config } from './config';
3
3
4 declare namespace dojo {
4 declare namespace dojo {
5 interface Dijit {
5 interface Dijit {
6
6
7 }
7 }
8 interface Dojox {
8 interface Dojox {
9
9
10 }
10 }
11
11
12 interface Dojo {
12 interface Dojo {
13 config: Config;
13 config: Config;
14 global: any;
14 global: any;
15
15
16 // TODO: dojot, dojox
17 dijit: Dijit;
16 dijit: Dijit;
18 dojox: Dojox;
17 dojox: Dojox;
19
18
20 /**
19 /**
21 * a map from a name used in a legacy module to the (global variable name, object addressed by that name)
20 * a map from a name used in a legacy module to the (global variable name, object addressed by that name)
22 * always map dojo, dijit, and dojox
21 * always map dojo, dijit, and dojox
23 */
22 */
24 scopeMap: {
23 scopeMap: {
25 [scope: string]: [string, any];
24 [scope: string]: [string, any];
26 dojo: [string, Dojo];
25 dojo: [string, Dojo];
27 dijit: [string, Dijit];
26 dijit: [string, Dijit];
28 dojox: [string, Dojox];
27 dojox: [string, Dojox];
29 };
28 };
30
29
31 baseUrl: string;
30 baseUrl: string;
32 isAsync: boolean;
31 isAsync: boolean;
33 locale: string;
32 locale: string;
34 version: {
33 version: {
35 major: number;
34 major: number;
36 minor: number;
35 minor: number;
37 patch: number;
36 patch: number;
38 flag: string;
37 flag: string;
39 revision: number;
38 revision: number;
40 toString(): string;
39 toString(): string;
41 };
40 };
42
41
43 /**
42 /**
44 * A legacy method created for use exclusively by internal Dojo methods. Do not use this method
43 * A legacy method created for use exclusively by internal Dojo methods. Do not use this method
45 * directly unless you understand its possibly-different implications on the platforms your are targeting.
44 * directly unless you understand its possibly-different implications on the platforms your are targeting.
46 */
45 */
47 eval(scriptText: string): any;
46 eval(scriptText: string): any;
48
47
49 exit(exitcode?: number): void;
48 exit(exitcode?: number): void;
50
49
51 /**
50 /**
52 * Log a debug message to indicate that a behavior has been
51 * Log a debug message to indicate that a behavior has been
53 * deprecated.
52 * deprecated.
54 */
53 */
55 deprecated(behaviour: string, extra?: string, removal?: string): void;
54 deprecated(behaviour: string, extra?: string, removal?: string): void;
56
55
57 /**
56 /**
58 * Marks code as experimental.
57 * Marks code as experimental.
59 */
58 */
60 experimental(moduleName: string, extra?: string): void;
59 experimental(moduleName: string, extra?: string): void;
61
60
62 /**
61 /**
63 * Returns a URL relative to a module.
62 * Returns a URL relative to a module.
64 */
63 */
65 moduleUrl(module: string, url?: string): any;
64 moduleUrl(module: string, url?: string): any;
66
65
67 /**
66 /**
68 * for backward compatibility with layers built with 1.6 tooling
67 * for backward compatibility with layers built with 1.6 tooling
69 */
68 */
70 _hasResource: any;
69 _hasResource: any;
71 }
70 }
72 }
71 }
73
72
74 declare const dojo: dojo.Dojo;
73 declare const dojo: dojo.Dojo;
75 export = dojo;
74 export = dojo;
General Comments 0
You need to be logged in to leave comments. Login now