@@ -0,0 +1,9 | |||||
|
1 | { | |||
|
2 | "java.configuration.updateBuildConfiguration": "automatic", | |||
|
3 | "files.exclude": { | |||
|
4 | "**/.classpath": true, | |||
|
5 | "**/.project": true, | |||
|
6 | "**/.settings": true, | |||
|
7 | "**/.factorypath": true | |||
|
8 | } | |||
|
9 | } No newline at end of file |
@@ -0,0 +1,39 | |||||
|
1 | plugins { | |||
|
2 | id "org.implab.gradle-typescript" version "1.3.1" | |||
|
3 | id "ivy-publish" | |||
|
4 | } | |||
|
5 | ||||
|
6 | typescript { | |||
|
7 | compilerOptions { | |||
|
8 | lib = ["es5", "dom", "scripthost", "es2015.promise", "es2015.symbol", "es2015.iterable"] | |||
|
9 | listFiles = true | |||
|
10 | declaration = true | |||
|
11 | types = [] | |||
|
12 | module = "amd" | |||
|
13 | it.target = "es5" | |||
|
14 | experimentalDecorators = true | |||
|
15 | jsx = "react" | |||
|
16 | jsxFactory = "createElement" | |||
|
17 | moduleResolution = "node" | |||
|
18 | } | |||
|
19 | ||||
|
20 | tscCmd = "$projectDir/node_modules/.bin/tsc" | |||
|
21 | tsLintCmd = "$projectDir/node_modules/.bin/tslint" | |||
|
22 | esLintCmd = "$projectDir/node_modules/.bin/eslint" | |||
|
23 | } | |||
|
24 | ||||
|
25 | configureTsMain { | |||
|
26 | compilerOptions { | |||
|
27 | types = ["requirejs", "dojo-typings"] | |||
|
28 | } | |||
|
29 | } | |||
|
30 | ||||
|
31 | task printVersion { | |||
|
32 | doLast { | |||
|
33 | println "packageName: $packageName"; | |||
|
34 | println "version: $version"; | |||
|
35 | println "target: $typescript.compilerOptions.target"; | |||
|
36 | println "module: $typescript.compilerOptions.module"; | |||
|
37 | println "symbols: $symbols"; | |||
|
38 | } | |||
|
39 | } No newline at end of file |
@@ -0,0 +1,8 | |||||
|
1 | group=org.implab.implabjs | |||
|
2 | version= | |||
|
3 | author=Implab team | |||
|
4 | description=Create HyperText with Typescript, integrate Dojo1 widgets in your .tsx scripts. | |||
|
5 | license=BSD-2-Clause | |||
|
6 | repository=http://hg.code.sf.net/p/implabjs/djx | |||
|
7 | npmScope=implab | |||
|
8 | symbols=pack No newline at end of file |
1 | NO CONTENT: new file 100644, binary diff hidden |
|
NO CONTENT: new file 100644, binary diff hidden |
@@ -0,0 +1,5 | |||||
|
1 | distributionBase=GRADLE_USER_HOME | |||
|
2 | distributionPath=wrapper/dists | |||
|
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.1-bin.zip | |||
|
4 | zipStoreBase=GRADLE_USER_HOME | |||
|
5 | zipStorePath=wrapper/dists |
@@ -0,0 +1,188 | |||||
|
1 | #!/usr/bin/env sh | |||
|
2 | ||||
|
3 | # | |||
|
4 | # Copyright 2015 the original author or authors. | |||
|
5 | # | |||
|
6 | # Licensed under the Apache License, Version 2.0 (the "License"); | |||
|
7 | # you may not use this file except in compliance with the License. | |||
|
8 | # You may obtain a copy of the License at | |||
|
9 | # | |||
|
10 | # https://www.apache.org/licenses/LICENSE-2.0 | |||
|
11 | # | |||
|
12 | # Unless required by applicable law or agreed to in writing, software | |||
|
13 | # distributed under the License is distributed on an "AS IS" BASIS, | |||
|
14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
|
15 | # See the License for the specific language governing permissions and | |||
|
16 | # limitations under the License. | |||
|
17 | # | |||
|
18 | ||||
|
19 | ############################################################################## | |||
|
20 | ## | |||
|
21 | ## Gradle start up script for UN*X | |||
|
22 | ## | |||
|
23 | ############################################################################## | |||
|
24 | ||||
|
25 | # Attempt to set APP_HOME | |||
|
26 | # Resolve links: $0 may be a link | |||
|
27 | PRG="$0" | |||
|
28 | # Need this for relative symlinks. | |||
|
29 | while [ -h "$PRG" ] ; do | |||
|
30 | ls=`ls -ld "$PRG"` | |||
|
31 | link=`expr "$ls" : '.*-> \(.*\)$'` | |||
|
32 | if expr "$link" : '/.*' > /dev/null; then | |||
|
33 | PRG="$link" | |||
|
34 | else | |||
|
35 | PRG=`dirname "$PRG"`"/$link" | |||
|
36 | fi | |||
|
37 | done | |||
|
38 | SAVED="`pwd`" | |||
|
39 | cd "`dirname \"$PRG\"`/" >/dev/null | |||
|
40 | APP_HOME="`pwd -P`" | |||
|
41 | cd "$SAVED" >/dev/null | |||
|
42 | ||||
|
43 | APP_NAME="Gradle" | |||
|
44 | APP_BASE_NAME=`basename "$0"` | |||
|
45 | ||||
|
46 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | |||
|
47 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' | |||
|
48 | ||||
|
49 | # Use the maximum available, or set MAX_FD != -1 to use that value. | |||
|
50 | MAX_FD="maximum" | |||
|
51 | ||||
|
52 | warn () { | |||
|
53 | echo "$*" | |||
|
54 | } | |||
|
55 | ||||
|
56 | die () { | |||
|
57 | echo | |||
|
58 | echo "$*" | |||
|
59 | echo | |||
|
60 | exit 1 | |||
|
61 | } | |||
|
62 | ||||
|
63 | # OS specific support (must be 'true' or 'false'). | |||
|
64 | cygwin=false | |||
|
65 | msys=false | |||
|
66 | darwin=false | |||
|
67 | nonstop=false | |||
|
68 | case "`uname`" in | |||
|
69 | CYGWIN* ) | |||
|
70 | cygwin=true | |||
|
71 | ;; | |||
|
72 | Darwin* ) | |||
|
73 | darwin=true | |||
|
74 | ;; | |||
|
75 | MINGW* ) | |||
|
76 | msys=true | |||
|
77 | ;; | |||
|
78 | NONSTOP* ) | |||
|
79 | nonstop=true | |||
|
80 | ;; | |||
|
81 | esac | |||
|
82 | ||||
|
83 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar | |||
|
84 | ||||
|
85 | # Determine the Java command to use to start the JVM. | |||
|
86 | if [ -n "$JAVA_HOME" ] ; then | |||
|
87 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then | |||
|
88 | # IBM's JDK on AIX uses strange locations for the executables | |||
|
89 | JAVACMD="$JAVA_HOME/jre/sh/java" | |||
|
90 | else | |||
|
91 | JAVACMD="$JAVA_HOME/bin/java" | |||
|
92 | fi | |||
|
93 | if [ ! -x "$JAVACMD" ] ; then | |||
|
94 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME | |||
|
95 | ||||
|
96 | Please set the JAVA_HOME variable in your environment to match the | |||
|
97 | location of your Java installation." | |||
|
98 | fi | |||
|
99 | else | |||
|
100 | JAVACMD="java" | |||
|
101 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | |||
|
102 | ||||
|
103 | Please set the JAVA_HOME variable in your environment to match the | |||
|
104 | location of your Java installation." | |||
|
105 | fi | |||
|
106 | ||||
|
107 | # Increase the maximum file descriptors if we can. | |||
|
108 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then | |||
|
109 | MAX_FD_LIMIT=`ulimit -H -n` | |||
|
110 | if [ $? -eq 0 ] ; then | |||
|
111 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then | |||
|
112 | MAX_FD="$MAX_FD_LIMIT" | |||
|
113 | fi | |||
|
114 | ulimit -n $MAX_FD | |||
|
115 | if [ $? -ne 0 ] ; then | |||
|
116 | warn "Could not set maximum file descriptor limit: $MAX_FD" | |||
|
117 | fi | |||
|
118 | else | |||
|
119 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" | |||
|
120 | fi | |||
|
121 | fi | |||
|
122 | ||||
|
123 | # For Darwin, add options to specify how the application appears in the dock | |||
|
124 | if $darwin; then | |||
|
125 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" | |||
|
126 | fi | |||
|
127 | ||||
|
128 | # For Cygwin or MSYS, switch paths to Windows format before running java | |||
|
129 | if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then | |||
|
130 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` | |||
|
131 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` | |||
|
132 | JAVACMD=`cygpath --unix "$JAVACMD"` | |||
|
133 | ||||
|
134 | # We build the pattern for arguments to be converted via cygpath | |||
|
135 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` | |||
|
136 | SEP="" | |||
|
137 | for dir in $ROOTDIRSRAW ; do | |||
|
138 | ROOTDIRS="$ROOTDIRS$SEP$dir" | |||
|
139 | SEP="|" | |||
|
140 | done | |||
|
141 | OURCYGPATTERN="(^($ROOTDIRS))" | |||
|
142 | # Add a user-defined pattern to the cygpath arguments | |||
|
143 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then | |||
|
144 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" | |||
|
145 | fi | |||
|
146 | # Now convert the arguments - kludge to limit ourselves to /bin/sh | |||
|
147 | i=0 | |||
|
148 | for arg in "$@" ; do | |||
|
149 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` | |||
|
150 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option | |||
|
151 | ||||
|
152 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition | |||
|
153 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` | |||
|
154 | else | |||
|
155 | eval `echo args$i`="\"$arg\"" | |||
|
156 | fi | |||
|
157 | i=$((i+1)) | |||
|
158 | done | |||
|
159 | case $i in | |||
|
160 | (0) set -- ;; | |||
|
161 | (1) set -- "$args0" ;; | |||
|
162 | (2) set -- "$args0" "$args1" ;; | |||
|
163 | (3) set -- "$args0" "$args1" "$args2" ;; | |||
|
164 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;; | |||
|
165 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; | |||
|
166 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; | |||
|
167 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; | |||
|
168 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; | |||
|
169 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; | |||
|
170 | esac | |||
|
171 | fi | |||
|
172 | ||||
|
173 | # Escape application args | |||
|
174 | save () { | |||
|
175 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done | |||
|
176 | echo " " | |||
|
177 | } | |||
|
178 | APP_ARGS=$(save "$@") | |||
|
179 | ||||
|
180 | # Collect all arguments for the java command, following the shell quoting and substitution rules | |||
|
181 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" | |||
|
182 | ||||
|
183 | # by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong | |||
|
184 | if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then | |||
|
185 | cd "$(dirname "$0")" | |||
|
186 | fi | |||
|
187 | ||||
|
188 | exec "$JAVACMD" "$@" |
@@ -0,0 +1,100 | |||||
|
1 | @rem | |||
|
2 | @rem Copyright 2015 the original author or authors. | |||
|
3 | @rem | |||
|
4 | @rem Licensed under the Apache License, Version 2.0 (the "License"); | |||
|
5 | @rem you may not use this file except in compliance with the License. | |||
|
6 | @rem You may obtain a copy of the License at | |||
|
7 | @rem | |||
|
8 | @rem https://www.apache.org/licenses/LICENSE-2.0 | |||
|
9 | @rem | |||
|
10 | @rem Unless required by applicable law or agreed to in writing, software | |||
|
11 | @rem distributed under the License is distributed on an "AS IS" BASIS, | |||
|
12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
|
13 | @rem See the License for the specific language governing permissions and | |||
|
14 | @rem limitations under the License. | |||
|
15 | @rem | |||
|
16 | ||||
|
17 | @if "%DEBUG%" == "" @echo off | |||
|
18 | @rem ########################################################################## | |||
|
19 | @rem | |||
|
20 | @rem Gradle startup script for Windows | |||
|
21 | @rem | |||
|
22 | @rem ########################################################################## | |||
|
23 | ||||
|
24 | @rem Set local scope for the variables with windows NT shell | |||
|
25 | if "%OS%"=="Windows_NT" setlocal | |||
|
26 | ||||
|
27 | set DIRNAME=%~dp0 | |||
|
28 | if "%DIRNAME%" == "" set DIRNAME=. | |||
|
29 | set APP_BASE_NAME=%~n0 | |||
|
30 | set APP_HOME=%DIRNAME% | |||
|
31 | ||||
|
32 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | |||
|
33 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" | |||
|
34 | ||||
|
35 | @rem Find java.exe | |||
|
36 | if defined JAVA_HOME goto findJavaFromJavaHome | |||
|
37 | ||||
|
38 | set JAVA_EXE=java.exe | |||
|
39 | %JAVA_EXE% -version >NUL 2>&1 | |||
|
40 | if "%ERRORLEVEL%" == "0" goto init | |||
|
41 | ||||
|
42 | echo. | |||
|
43 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | |||
|
44 | echo. | |||
|
45 | echo Please set the JAVA_HOME variable in your environment to match the | |||
|
46 | echo location of your Java installation. | |||
|
47 | ||||
|
48 | goto fail | |||
|
49 | ||||
|
50 | :findJavaFromJavaHome | |||
|
51 | set JAVA_HOME=%JAVA_HOME:"=% | |||
|
52 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe | |||
|
53 | ||||
|
54 | if exist "%JAVA_EXE%" goto init | |||
|
55 | ||||
|
56 | echo. | |||
|
57 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% | |||
|
58 | echo. | |||
|
59 | echo Please set the JAVA_HOME variable in your environment to match the | |||
|
60 | echo location of your Java installation. | |||
|
61 | ||||
|
62 | goto fail | |||
|
63 | ||||
|
64 | :init | |||
|
65 | @rem Get command-line arguments, handling Windows variants | |||
|
66 | ||||
|
67 | if not "%OS%" == "Windows_NT" goto win9xME_args | |||
|
68 | ||||
|
69 | :win9xME_args | |||
|
70 | @rem Slurp the command line arguments. | |||
|
71 | set CMD_LINE_ARGS= | |||
|
72 | set _SKIP=2 | |||
|
73 | ||||
|
74 | :win9xME_args_slurp | |||
|
75 | if "x%~1" == "x" goto execute | |||
|
76 | ||||
|
77 | set CMD_LINE_ARGS=%* | |||
|
78 | ||||
|
79 | :execute | |||
|
80 | @rem Setup the command line | |||
|
81 | ||||
|
82 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar | |||
|
83 | ||||
|
84 | @rem Execute Gradle | |||
|
85 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% | |||
|
86 | ||||
|
87 | :end | |||
|
88 | @rem End local scope for the variables with windows NT shell | |||
|
89 | if "%ERRORLEVEL%"=="0" goto mainEnd | |||
|
90 | ||||
|
91 | :fail | |||
|
92 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of | |||
|
93 | rem the _cmd.exe /c_ return code! | |||
|
94 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 | |||
|
95 | exit /b 1 | |||
|
96 | ||||
|
97 | :mainEnd | |||
|
98 | if "%OS%"=="Windows_NT" endlocal | |||
|
99 | ||||
|
100 | :omega |
This diff has been collapsed as it changes many lines, (1323 lines changed) Show them Hide them | |||||
@@ -0,0 +1,1323 | |||||
|
1 | { | |||
|
2 | "requires": true, | |||
|
3 | "lockfileVersion": 1, | |||
|
4 | "dependencies": { | |||
|
5 | "@babel/code-frame": { | |||
|
6 | "version": "7.8.3", | |||
|
7 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", | |||
|
8 | "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", | |||
|
9 | "dev": true, | |||
|
10 | "requires": { | |||
|
11 | "@babel/highlight": "^7.8.3" | |||
|
12 | } | |||
|
13 | }, | |||
|
14 | "@babel/highlight": { | |||
|
15 | "version": "7.8.3", | |||
|
16 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", | |||
|
17 | "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", | |||
|
18 | "dev": true, | |||
|
19 | "requires": { | |||
|
20 | "chalk": "^2.0.0", | |||
|
21 | "esutils": "^2.0.2", | |||
|
22 | "js-tokens": "^4.0.0" | |||
|
23 | } | |||
|
24 | }, | |||
|
25 | "@implab/core-amd": { | |||
|
26 | "version": "1.3.2", | |||
|
27 | "resolved": "https://registry.npmjs.org/@implab/core-amd/-/core-amd-1.3.2.tgz", | |||
|
28 | "integrity": "sha512-OPx02obqz60FiOzDqEFuPfag/0ugl1tuQouI+52Op0k+fcmuBK4QACJy7o3fzOYvejdjF1DG4aRXuCm6+vgMYQ==", | |||
|
29 | "dev": true | |||
|
30 | }, | |||
|
31 | "@types/chai": { | |||
|
32 | "version": "4.2.7", | |||
|
33 | "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.7.tgz", | |||
|
34 | "integrity": "sha512-luq8meHGYwvky0O7u0eQZdA7B4Wd9owUCqvbw2m3XCrCU8mplYOujMBbvyS547AxJkC+pGnd0Cm15eNxEUNU8g==", | |||
|
35 | "dev": true | |||
|
36 | }, | |||
|
37 | "@types/node": { | |||
|
38 | "version": "8.0.0", | |||
|
39 | "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.0.tgz", | |||
|
40 | "integrity": "sha512-j2tekvJCO7j22cs+LO6i0kRPhmQ9MXaPZ55TzOc1lzkN5b6BWqq4AFjl04s1oRRQ1v5rSe+KEvnLUSTonuls/A==", | |||
|
41 | "dev": true | |||
|
42 | }, | |||
|
43 | "@types/requirejs": { | |||
|
44 | "version": "2.1.31", | |||
|
45 | "resolved": "https://registry.npmjs.org/@types/requirejs/-/requirejs-2.1.31.tgz", | |||
|
46 | "integrity": "sha512-b2soeyuU76rMbcRJ4e0hEl0tbMhFwZeTC0VZnfuWlfGlk6BwWNsev6kFu/twKABPX29wkX84wU2o+cEJoXsiTw==", | |||
|
47 | "dev": true | |||
|
48 | }, | |||
|
49 | "@types/tape": { | |||
|
50 | "version": "4.2.33", | |||
|
51 | "resolved": "https://registry.npmjs.org/@types/tape/-/tape-4.2.33.tgz", | |||
|
52 | "integrity": "sha512-ltfyuY5BIkYlGuQfwqzTDT8f0q8Z5DGppvUnWGs39oqDmMd6/UWhNpX3ZMh/VYvfxs3rFGHMrLC/eGRdLiDGuw==", | |||
|
53 | "dev": true, | |||
|
54 | "requires": { | |||
|
55 | "@types/node": "*" | |||
|
56 | } | |||
|
57 | }, | |||
|
58 | "acorn": { | |||
|
59 | "version": "7.1.0", | |||
|
60 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", | |||
|
61 | "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", | |||
|
62 | "dev": true | |||
|
63 | }, | |||
|
64 | "acorn-jsx": { | |||
|
65 | "version": "5.1.0", | |||
|
66 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", | |||
|
67 | "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", | |||
|
68 | "dev": true | |||
|
69 | }, | |||
|
70 | "ajv": { | |||
|
71 | "version": "6.11.0", | |||
|
72 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz", | |||
|
73 | "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==", | |||
|
74 | "dev": true, | |||
|
75 | "requires": { | |||
|
76 | "fast-deep-equal": "^3.1.1", | |||
|
77 | "fast-json-stable-stringify": "^2.0.0", | |||
|
78 | "json-schema-traverse": "^0.4.1", | |||
|
79 | "uri-js": "^4.2.2" | |||
|
80 | } | |||
|
81 | }, | |||
|
82 | "ansi-escapes": { | |||
|
83 | "version": "3.2.0", | |||
|
84 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", | |||
|
85 | "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", | |||
|
86 | "dev": true | |||
|
87 | }, | |||
|
88 | "ansi-regex": { | |||
|
89 | "version": "3.0.0", | |||
|
90 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", | |||
|
91 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", | |||
|
92 | "dev": true | |||
|
93 | }, | |||
|
94 | "ansi-styles": { | |||
|
95 | "version": "3.2.1", | |||
|
96 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | |||
|
97 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | |||
|
98 | "dev": true, | |||
|
99 | "requires": { | |||
|
100 | "color-convert": "^1.9.0" | |||
|
101 | } | |||
|
102 | }, | |||
|
103 | "argparse": { | |||
|
104 | "version": "1.0.10", | |||
|
105 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", | |||
|
106 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", | |||
|
107 | "dev": true, | |||
|
108 | "requires": { | |||
|
109 | "sprintf-js": "~1.0.2" | |||
|
110 | } | |||
|
111 | }, | |||
|
112 | "astral-regex": { | |||
|
113 | "version": "1.0.0", | |||
|
114 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", | |||
|
115 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", | |||
|
116 | "dev": true | |||
|
117 | }, | |||
|
118 | "balanced-match": { | |||
|
119 | "version": "1.0.0", | |||
|
120 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", | |||
|
121 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", | |||
|
122 | "dev": true | |||
|
123 | }, | |||
|
124 | "brace-expansion": { | |||
|
125 | "version": "1.1.11", | |||
|
126 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | |||
|
127 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", | |||
|
128 | "dev": true, | |||
|
129 | "requires": { | |||
|
130 | "balanced-match": "^1.0.0", | |||
|
131 | "concat-map": "0.0.1" | |||
|
132 | } | |||
|
133 | }, | |||
|
134 | "builtin-modules": { | |||
|
135 | "version": "1.1.1", | |||
|
136 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", | |||
|
137 | "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", | |||
|
138 | "dev": true | |||
|
139 | }, | |||
|
140 | "callsites": { | |||
|
141 | "version": "3.1.0", | |||
|
142 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", | |||
|
143 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", | |||
|
144 | "dev": true | |||
|
145 | }, | |||
|
146 | "chalk": { | |||
|
147 | "version": "2.4.2", | |||
|
148 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", | |||
|
149 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", | |||
|
150 | "dev": true, | |||
|
151 | "requires": { | |||
|
152 | "ansi-styles": "^3.2.1", | |||
|
153 | "escape-string-regexp": "^1.0.5", | |||
|
154 | "supports-color": "^5.3.0" | |||
|
155 | } | |||
|
156 | }, | |||
|
157 | "chardet": { | |||
|
158 | "version": "0.7.0", | |||
|
159 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", | |||
|
160 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", | |||
|
161 | "dev": true | |||
|
162 | }, | |||
|
163 | "cli-cursor": { | |||
|
164 | "version": "2.1.0", | |||
|
165 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", | |||
|
166 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", | |||
|
167 | "dev": true, | |||
|
168 | "requires": { | |||
|
169 | "restore-cursor": "^2.0.0" | |||
|
170 | } | |||
|
171 | }, | |||
|
172 | "cli-width": { | |||
|
173 | "version": "2.2.0", | |||
|
174 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", | |||
|
175 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", | |||
|
176 | "dev": true | |||
|
177 | }, | |||
|
178 | "color-convert": { | |||
|
179 | "version": "1.9.3", | |||
|
180 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", | |||
|
181 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", | |||
|
182 | "dev": true, | |||
|
183 | "requires": { | |||
|
184 | "color-name": "1.1.3" | |||
|
185 | } | |||
|
186 | }, | |||
|
187 | "color-name": { | |||
|
188 | "version": "1.1.3", | |||
|
189 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", | |||
|
190 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", | |||
|
191 | "dev": true | |||
|
192 | }, | |||
|
193 | "commander": { | |||
|
194 | "version": "2.20.3", | |||
|
195 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", | |||
|
196 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", | |||
|
197 | "dev": true | |||
|
198 | }, | |||
|
199 | "concat-map": { | |||
|
200 | "version": "0.0.1", | |||
|
201 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", | |||
|
202 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", | |||
|
203 | "dev": true | |||
|
204 | }, | |||
|
205 | "cross-spawn": { | |||
|
206 | "version": "6.0.5", | |||
|
207 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", | |||
|
208 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", | |||
|
209 | "dev": true, | |||
|
210 | "requires": { | |||
|
211 | "nice-try": "^1.0.4", | |||
|
212 | "path-key": "^2.0.1", | |||
|
213 | "semver": "^5.5.0", | |||
|
214 | "shebang-command": "^1.2.0", | |||
|
215 | "which": "^1.2.9" | |||
|
216 | }, | |||
|
217 | "dependencies": { | |||
|
218 | "semver": { | |||
|
219 | "version": "5.7.1", | |||
|
220 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", | |||
|
221 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", | |||
|
222 | "dev": true | |||
|
223 | } | |||
|
224 | } | |||
|
225 | }, | |||
|
226 | "debug": { | |||
|
227 | "version": "4.1.1", | |||
|
228 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", | |||
|
229 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", | |||
|
230 | "dev": true, | |||
|
231 | "requires": { | |||
|
232 | "ms": "^2.1.1" | |||
|
233 | } | |||
|
234 | }, | |||
|
235 | "deep-equal": { | |||
|
236 | "version": "1.0.1", | |||
|
237 | "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", | |||
|
238 | "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", | |||
|
239 | "dev": true | |||
|
240 | }, | |||
|
241 | "deep-is": { | |||
|
242 | "version": "0.1.3", | |||
|
243 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", | |||
|
244 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", | |||
|
245 | "dev": true | |||
|
246 | }, | |||
|
247 | "define-properties": { | |||
|
248 | "version": "1.1.3", | |||
|
249 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", | |||
|
250 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", | |||
|
251 | "dev": true, | |||
|
252 | "requires": { | |||
|
253 | "object-keys": "^1.0.12" | |||
|
254 | } | |||
|
255 | }, | |||
|
256 | "defined": { | |||
|
257 | "version": "1.0.0", | |||
|
258 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", | |||
|
259 | "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", | |||
|
260 | "dev": true | |||
|
261 | }, | |||
|
262 | "diff": { | |||
|
263 | "version": "3.5.0", | |||
|
264 | "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", | |||
|
265 | "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", | |||
|
266 | "dev": true | |||
|
267 | }, | |||
|
268 | "doctrine": { | |||
|
269 | "version": "3.0.0", | |||
|
270 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", | |||
|
271 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", | |||
|
272 | "dev": true, | |||
|
273 | "requires": { | |||
|
274 | "esutils": "^2.0.2" | |||
|
275 | } | |||
|
276 | }, | |||
|
277 | "dojo": { | |||
|
278 | "version": "1.10.10", | |||
|
279 | "resolved": "https://registry.npmjs.org/dojo/-/dojo-1.10.10.tgz", | |||
|
280 | "integrity": "sha512-kg79C8Yyd317cG3MgXGMH4AeQ8TgNr8H/PpA3BRms7DTfl0CJCRAgGE/C6d9Nw55s1ID/fEsfS+P3bj1s7dWgA==", | |||
|
281 | "dev": true | |||
|
282 | }, | |||
|
283 | "dojo-typings": { | |||
|
284 | "version": "1.11.9", | |||
|
285 | "resolved": "https://registry.npmjs.org/dojo-typings/-/dojo-typings-1.11.9.tgz", | |||
|
286 | "integrity": "sha512-mh8w+Mau2Y1QfTEszEAdO7j6ycNhYxF/Ing6nAk1eUg6NxjeT0viVHjICMd9sU3U463vM2G+KfBBK5grk3/Mlw==", | |||
|
287 | "dev": true, | |||
|
288 | "requires": { | |||
|
289 | "@types/chai": "^4.0.4" | |||
|
290 | } | |||
|
291 | }, | |||
|
292 | "emoji-regex": { | |||
|
293 | "version": "7.0.3", | |||
|
294 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", | |||
|
295 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", | |||
|
296 | "dev": true | |||
|
297 | }, | |||
|
298 | "es-abstract": { | |||
|
299 | "version": "1.17.4", | |||
|
300 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", | |||
|
301 | "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", | |||
|
302 | "dev": true, | |||
|
303 | "requires": { | |||
|
304 | "es-to-primitive": "^1.2.1", | |||
|
305 | "function-bind": "^1.1.1", | |||
|
306 | "has": "^1.0.3", | |||
|
307 | "has-symbols": "^1.0.1", | |||
|
308 | "is-callable": "^1.1.5", | |||
|
309 | "is-regex": "^1.0.5", | |||
|
310 | "object-inspect": "^1.7.0", | |||
|
311 | "object-keys": "^1.1.1", | |||
|
312 | "object.assign": "^4.1.0", | |||
|
313 | "string.prototype.trimleft": "^2.1.1", | |||
|
314 | "string.prototype.trimright": "^2.1.1" | |||
|
315 | }, | |||
|
316 | "dependencies": { | |||
|
317 | "object-inspect": { | |||
|
318 | "version": "1.7.0", | |||
|
319 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", | |||
|
320 | "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", | |||
|
321 | "dev": true | |||
|
322 | } | |||
|
323 | } | |||
|
324 | }, | |||
|
325 | "es-to-primitive": { | |||
|
326 | "version": "1.2.1", | |||
|
327 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", | |||
|
328 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", | |||
|
329 | "dev": true, | |||
|
330 | "requires": { | |||
|
331 | "is-callable": "^1.1.4", | |||
|
332 | "is-date-object": "^1.0.1", | |||
|
333 | "is-symbol": "^1.0.2" | |||
|
334 | } | |||
|
335 | }, | |||
|
336 | "escape-string-regexp": { | |||
|
337 | "version": "1.0.5", | |||
|
338 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", | |||
|
339 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", | |||
|
340 | "dev": true | |||
|
341 | }, | |||
|
342 | "eslint": { | |||
|
343 | "version": "6.1.0", | |||
|
344 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.1.0.tgz", | |||
|
345 | "integrity": "sha512-QhrbdRD7ofuV09IuE2ySWBz0FyXCq0rriLTZXZqaWSI79CVtHVRdkFuFTViiqzZhkCgfOh9USpriuGN2gIpZDQ==", | |||
|
346 | "dev": true, | |||
|
347 | "requires": { | |||
|
348 | "@babel/code-frame": "^7.0.0", | |||
|
349 | "ajv": "^6.10.0", | |||
|
350 | "chalk": "^2.1.0", | |||
|
351 | "cross-spawn": "^6.0.5", | |||
|
352 | "debug": "^4.0.1", | |||
|
353 | "doctrine": "^3.0.0", | |||
|
354 | "eslint-scope": "^5.0.0", | |||
|
355 | "eslint-utils": "^1.3.1", | |||
|
356 | "eslint-visitor-keys": "^1.0.0", | |||
|
357 | "espree": "^6.0.0", | |||
|
358 | "esquery": "^1.0.1", | |||
|
359 | "esutils": "^2.0.2", | |||
|
360 | "file-entry-cache": "^5.0.1", | |||
|
361 | "functional-red-black-tree": "^1.0.1", | |||
|
362 | "glob-parent": "^5.0.0", | |||
|
363 | "globals": "^11.7.0", | |||
|
364 | "ignore": "^4.0.6", | |||
|
365 | "import-fresh": "^3.0.0", | |||
|
366 | "imurmurhash": "^0.1.4", | |||
|
367 | "inquirer": "^6.4.1", | |||
|
368 | "is-glob": "^4.0.0", | |||
|
369 | "js-yaml": "^3.13.1", | |||
|
370 | "json-stable-stringify-without-jsonify": "^1.0.1", | |||
|
371 | "levn": "^0.3.0", | |||
|
372 | "lodash": "^4.17.14", | |||
|
373 | "minimatch": "^3.0.4", | |||
|
374 | "mkdirp": "^0.5.1", | |||
|
375 | "natural-compare": "^1.4.0", | |||
|
376 | "optionator": "^0.8.2", | |||
|
377 | "progress": "^2.0.0", | |||
|
378 | "regexpp": "^2.0.1", | |||
|
379 | "semver": "^6.1.2", | |||
|
380 | "strip-ansi": "^5.2.0", | |||
|
381 | "strip-json-comments": "^3.0.1", | |||
|
382 | "table": "^5.2.3", | |||
|
383 | "text-table": "^0.2.0", | |||
|
384 | "v8-compile-cache": "^2.0.3" | |||
|
385 | } | |||
|
386 | }, | |||
|
387 | "eslint-scope": { | |||
|
388 | "version": "5.0.0", | |||
|
389 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", | |||
|
390 | "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", | |||
|
391 | "dev": true, | |||
|
392 | "requires": { | |||
|
393 | "esrecurse": "^4.1.0", | |||
|
394 | "estraverse": "^4.1.1" | |||
|
395 | } | |||
|
396 | }, | |||
|
397 | "eslint-utils": { | |||
|
398 | "version": "1.4.3", | |||
|
399 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", | |||
|
400 | "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", | |||
|
401 | "dev": true, | |||
|
402 | "requires": { | |||
|
403 | "eslint-visitor-keys": "^1.1.0" | |||
|
404 | } | |||
|
405 | }, | |||
|
406 | "eslint-visitor-keys": { | |||
|
407 | "version": "1.1.0", | |||
|
408 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", | |||
|
409 | "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", | |||
|
410 | "dev": true | |||
|
411 | }, | |||
|
412 | "espree": { | |||
|
413 | "version": "6.1.2", | |||
|
414 | "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz", | |||
|
415 | "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==", | |||
|
416 | "dev": true, | |||
|
417 | "requires": { | |||
|
418 | "acorn": "^7.1.0", | |||
|
419 | "acorn-jsx": "^5.1.0", | |||
|
420 | "eslint-visitor-keys": "^1.1.0" | |||
|
421 | } | |||
|
422 | }, | |||
|
423 | "esprima": { | |||
|
424 | "version": "4.0.1", | |||
|
425 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", | |||
|
426 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", | |||
|
427 | "dev": true | |||
|
428 | }, | |||
|
429 | "esquery": { | |||
|
430 | "version": "1.0.1", | |||
|
431 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", | |||
|
432 | "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", | |||
|
433 | "dev": true, | |||
|
434 | "requires": { | |||
|
435 | "estraverse": "^4.0.0" | |||
|
436 | } | |||
|
437 | }, | |||
|
438 | "esrecurse": { | |||
|
439 | "version": "4.2.1", | |||
|
440 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", | |||
|
441 | "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", | |||
|
442 | "dev": true, | |||
|
443 | "requires": { | |||
|
444 | "estraverse": "^4.1.0" | |||
|
445 | } | |||
|
446 | }, | |||
|
447 | "estraverse": { | |||
|
448 | "version": "4.3.0", | |||
|
449 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", | |||
|
450 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", | |||
|
451 | "dev": true | |||
|
452 | }, | |||
|
453 | "esutils": { | |||
|
454 | "version": "2.0.3", | |||
|
455 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", | |||
|
456 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", | |||
|
457 | "dev": true | |||
|
458 | }, | |||
|
459 | "external-editor": { | |||
|
460 | "version": "3.1.0", | |||
|
461 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", | |||
|
462 | "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", | |||
|
463 | "dev": true, | |||
|
464 | "requires": { | |||
|
465 | "chardet": "^0.7.0", | |||
|
466 | "iconv-lite": "^0.4.24", | |||
|
467 | "tmp": "^0.0.33" | |||
|
468 | } | |||
|
469 | }, | |||
|
470 | "fast-deep-equal": { | |||
|
471 | "version": "3.1.1", | |||
|
472 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", | |||
|
473 | "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", | |||
|
474 | "dev": true | |||
|
475 | }, | |||
|
476 | "fast-json-stable-stringify": { | |||
|
477 | "version": "2.1.0", | |||
|
478 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", | |||
|
479 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", | |||
|
480 | "dev": true | |||
|
481 | }, | |||
|
482 | "fast-levenshtein": { | |||
|
483 | "version": "2.0.6", | |||
|
484 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", | |||
|
485 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", | |||
|
486 | "dev": true | |||
|
487 | }, | |||
|
488 | "figures": { | |||
|
489 | "version": "2.0.0", | |||
|
490 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", | |||
|
491 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", | |||
|
492 | "dev": true, | |||
|
493 | "requires": { | |||
|
494 | "escape-string-regexp": "^1.0.5" | |||
|
495 | } | |||
|
496 | }, | |||
|
497 | "file-entry-cache": { | |||
|
498 | "version": "5.0.1", | |||
|
499 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", | |||
|
500 | "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", | |||
|
501 | "dev": true, | |||
|
502 | "requires": { | |||
|
503 | "flat-cache": "^2.0.1" | |||
|
504 | } | |||
|
505 | }, | |||
|
506 | "flat-cache": { | |||
|
507 | "version": "2.0.1", | |||
|
508 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", | |||
|
509 | "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", | |||
|
510 | "dev": true, | |||
|
511 | "requires": { | |||
|
512 | "flatted": "^2.0.0", | |||
|
513 | "rimraf": "2.6.3", | |||
|
514 | "write": "1.0.3" | |||
|
515 | } | |||
|
516 | }, | |||
|
517 | "flatted": { | |||
|
518 | "version": "2.0.1", | |||
|
519 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", | |||
|
520 | "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", | |||
|
521 | "dev": true | |||
|
522 | }, | |||
|
523 | "for-each": { | |||
|
524 | "version": "0.3.3", | |||
|
525 | "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", | |||
|
526 | "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", | |||
|
527 | "dev": true, | |||
|
528 | "requires": { | |||
|
529 | "is-callable": "^1.1.3" | |||
|
530 | } | |||
|
531 | }, | |||
|
532 | "fs.realpath": { | |||
|
533 | "version": "1.0.0", | |||
|
534 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", | |||
|
535 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", | |||
|
536 | "dev": true | |||
|
537 | }, | |||
|
538 | "function-bind": { | |||
|
539 | "version": "1.1.1", | |||
|
540 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", | |||
|
541 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", | |||
|
542 | "dev": true | |||
|
543 | }, | |||
|
544 | "functional-red-black-tree": { | |||
|
545 | "version": "1.0.1", | |||
|
546 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", | |||
|
547 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", | |||
|
548 | "dev": true | |||
|
549 | }, | |||
|
550 | "glob": { | |||
|
551 | "version": "7.1.6", | |||
|
552 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", | |||
|
553 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", | |||
|
554 | "dev": true, | |||
|
555 | "requires": { | |||
|
556 | "fs.realpath": "^1.0.0", | |||
|
557 | "inflight": "^1.0.4", | |||
|
558 | "inherits": "2", | |||
|
559 | "minimatch": "^3.0.4", | |||
|
560 | "once": "^1.3.0", | |||
|
561 | "path-is-absolute": "^1.0.0" | |||
|
562 | } | |||
|
563 | }, | |||
|
564 | "glob-parent": { | |||
|
565 | "version": "5.1.0", | |||
|
566 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", | |||
|
567 | "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", | |||
|
568 | "dev": true, | |||
|
569 | "requires": { | |||
|
570 | "is-glob": "^4.0.1" | |||
|
571 | } | |||
|
572 | }, | |||
|
573 | "globals": { | |||
|
574 | "version": "11.12.0", | |||
|
575 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", | |||
|
576 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", | |||
|
577 | "dev": true | |||
|
578 | }, | |||
|
579 | "has": { | |||
|
580 | "version": "1.0.3", | |||
|
581 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", | |||
|
582 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", | |||
|
583 | "dev": true, | |||
|
584 | "requires": { | |||
|
585 | "function-bind": "^1.1.1" | |||
|
586 | } | |||
|
587 | }, | |||
|
588 | "has-flag": { | |||
|
589 | "version": "3.0.0", | |||
|
590 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | |||
|
591 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", | |||
|
592 | "dev": true | |||
|
593 | }, | |||
|
594 | "has-symbols": { | |||
|
595 | "version": "1.0.1", | |||
|
596 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", | |||
|
597 | "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", | |||
|
598 | "dev": true | |||
|
599 | }, | |||
|
600 | "iconv-lite": { | |||
|
601 | "version": "0.4.24", | |||
|
602 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", | |||
|
603 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", | |||
|
604 | "dev": true, | |||
|
605 | "requires": { | |||
|
606 | "safer-buffer": ">= 2.1.2 < 3" | |||
|
607 | } | |||
|
608 | }, | |||
|
609 | "ignore": { | |||
|
610 | "version": "4.0.6", | |||
|
611 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", | |||
|
612 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", | |||
|
613 | "dev": true | |||
|
614 | }, | |||
|
615 | "import-fresh": { | |||
|
616 | "version": "3.2.1", | |||
|
617 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", | |||
|
618 | "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", | |||
|
619 | "dev": true, | |||
|
620 | "requires": { | |||
|
621 | "parent-module": "^1.0.0", | |||
|
622 | "resolve-from": "^4.0.0" | |||
|
623 | } | |||
|
624 | }, | |||
|
625 | "imurmurhash": { | |||
|
626 | "version": "0.1.4", | |||
|
627 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", | |||
|
628 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", | |||
|
629 | "dev": true | |||
|
630 | }, | |||
|
631 | "inflight": { | |||
|
632 | "version": "1.0.6", | |||
|
633 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", | |||
|
634 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", | |||
|
635 | "dev": true, | |||
|
636 | "requires": { | |||
|
637 | "once": "^1.3.0", | |||
|
638 | "wrappy": "1" | |||
|
639 | } | |||
|
640 | }, | |||
|
641 | "inherits": { | |||
|
642 | "version": "2.0.4", | |||
|
643 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", | |||
|
644 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", | |||
|
645 | "dev": true | |||
|
646 | }, | |||
|
647 | "inquirer": { | |||
|
648 | "version": "6.5.2", | |||
|
649 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", | |||
|
650 | "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", | |||
|
651 | "dev": true, | |||
|
652 | "requires": { | |||
|
653 | "ansi-escapes": "^3.2.0", | |||
|
654 | "chalk": "^2.4.2", | |||
|
655 | "cli-cursor": "^2.1.0", | |||
|
656 | "cli-width": "^2.0.0", | |||
|
657 | "external-editor": "^3.0.3", | |||
|
658 | "figures": "^2.0.0", | |||
|
659 | "lodash": "^4.17.12", | |||
|
660 | "mute-stream": "0.0.7", | |||
|
661 | "run-async": "^2.2.0", | |||
|
662 | "rxjs": "^6.4.0", | |||
|
663 | "string-width": "^2.1.0", | |||
|
664 | "strip-ansi": "^5.1.0", | |||
|
665 | "through": "^2.3.6" | |||
|
666 | } | |||
|
667 | }, | |||
|
668 | "is-callable": { | |||
|
669 | "version": "1.1.5", | |||
|
670 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", | |||
|
671 | "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", | |||
|
672 | "dev": true | |||
|
673 | }, | |||
|
674 | "is-date-object": { | |||
|
675 | "version": "1.0.2", | |||
|
676 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", | |||
|
677 | "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", | |||
|
678 | "dev": true | |||
|
679 | }, | |||
|
680 | "is-extglob": { | |||
|
681 | "version": "2.1.1", | |||
|
682 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", | |||
|
683 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", | |||
|
684 | "dev": true | |||
|
685 | }, | |||
|
686 | "is-fullwidth-code-point": { | |||
|
687 | "version": "2.0.0", | |||
|
688 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", | |||
|
689 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", | |||
|
690 | "dev": true | |||
|
691 | }, | |||
|
692 | "is-glob": { | |||
|
693 | "version": "4.0.1", | |||
|
694 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", | |||
|
695 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", | |||
|
696 | "dev": true, | |||
|
697 | "requires": { | |||
|
698 | "is-extglob": "^2.1.1" | |||
|
699 | } | |||
|
700 | }, | |||
|
701 | "is-promise": { | |||
|
702 | "version": "2.1.0", | |||
|
703 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", | |||
|
704 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", | |||
|
705 | "dev": true | |||
|
706 | }, | |||
|
707 | "is-regex": { | |||
|
708 | "version": "1.0.5", | |||
|
709 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", | |||
|
710 | "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", | |||
|
711 | "dev": true, | |||
|
712 | "requires": { | |||
|
713 | "has": "^1.0.3" | |||
|
714 | } | |||
|
715 | }, | |||
|
716 | "is-symbol": { | |||
|
717 | "version": "1.0.3", | |||
|
718 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", | |||
|
719 | "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", | |||
|
720 | "dev": true, | |||
|
721 | "requires": { | |||
|
722 | "has-symbols": "^1.0.1" | |||
|
723 | } | |||
|
724 | }, | |||
|
725 | "isexe": { | |||
|
726 | "version": "2.0.0", | |||
|
727 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", | |||
|
728 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", | |||
|
729 | "dev": true | |||
|
730 | }, | |||
|
731 | "js-tokens": { | |||
|
732 | "version": "4.0.0", | |||
|
733 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", | |||
|
734 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", | |||
|
735 | "dev": true | |||
|
736 | }, | |||
|
737 | "js-yaml": { | |||
|
738 | "version": "3.13.1", | |||
|
739 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", | |||
|
740 | "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", | |||
|
741 | "dev": true, | |||
|
742 | "requires": { | |||
|
743 | "argparse": "^1.0.7", | |||
|
744 | "esprima": "^4.0.0" | |||
|
745 | } | |||
|
746 | }, | |||
|
747 | "json-schema-traverse": { | |||
|
748 | "version": "0.4.1", | |||
|
749 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", | |||
|
750 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", | |||
|
751 | "dev": true | |||
|
752 | }, | |||
|
753 | "json-stable-stringify-without-jsonify": { | |||
|
754 | "version": "1.0.1", | |||
|
755 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", | |||
|
756 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", | |||
|
757 | "dev": true | |||
|
758 | }, | |||
|
759 | "levn": { | |||
|
760 | "version": "0.3.0", | |||
|
761 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", | |||
|
762 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", | |||
|
763 | "dev": true, | |||
|
764 | "requires": { | |||
|
765 | "prelude-ls": "~1.1.2", | |||
|
766 | "type-check": "~0.3.2" | |||
|
767 | } | |||
|
768 | }, | |||
|
769 | "lodash": { | |||
|
770 | "version": "4.17.15", | |||
|
771 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", | |||
|
772 | "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", | |||
|
773 | "dev": true | |||
|
774 | }, | |||
|
775 | "mimic-fn": { | |||
|
776 | "version": "1.2.0", | |||
|
777 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", | |||
|
778 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", | |||
|
779 | "dev": true | |||
|
780 | }, | |||
|
781 | "minimatch": { | |||
|
782 | "version": "3.0.4", | |||
|
783 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", | |||
|
784 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", | |||
|
785 | "dev": true, | |||
|
786 | "requires": { | |||
|
787 | "brace-expansion": "^1.1.7" | |||
|
788 | } | |||
|
789 | }, | |||
|
790 | "minimist": { | |||
|
791 | "version": "0.0.8", | |||
|
792 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", | |||
|
793 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", | |||
|
794 | "dev": true | |||
|
795 | }, | |||
|
796 | "mkdirp": { | |||
|
797 | "version": "0.5.1", | |||
|
798 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", | |||
|
799 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", | |||
|
800 | "dev": true, | |||
|
801 | "requires": { | |||
|
802 | "minimist": "0.0.8" | |||
|
803 | } | |||
|
804 | }, | |||
|
805 | "ms": { | |||
|
806 | "version": "2.1.2", | |||
|
807 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | |||
|
808 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", | |||
|
809 | "dev": true | |||
|
810 | }, | |||
|
811 | "mute-stream": { | |||
|
812 | "version": "0.0.7", | |||
|
813 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", | |||
|
814 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", | |||
|
815 | "dev": true | |||
|
816 | }, | |||
|
817 | "natural-compare": { | |||
|
818 | "version": "1.4.0", | |||
|
819 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", | |||
|
820 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", | |||
|
821 | "dev": true | |||
|
822 | }, | |||
|
823 | "nice-try": { | |||
|
824 | "version": "1.0.5", | |||
|
825 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", | |||
|
826 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", | |||
|
827 | "dev": true | |||
|
828 | }, | |||
|
829 | "object-inspect": { | |||
|
830 | "version": "1.6.0", | |||
|
831 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", | |||
|
832 | "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", | |||
|
833 | "dev": true | |||
|
834 | }, | |||
|
835 | "object-keys": { | |||
|
836 | "version": "1.1.1", | |||
|
837 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", | |||
|
838 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", | |||
|
839 | "dev": true | |||
|
840 | }, | |||
|
841 | "object.assign": { | |||
|
842 | "version": "4.1.0", | |||
|
843 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", | |||
|
844 | "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", | |||
|
845 | "dev": true, | |||
|
846 | "requires": { | |||
|
847 | "define-properties": "^1.1.2", | |||
|
848 | "function-bind": "^1.1.1", | |||
|
849 | "has-symbols": "^1.0.0", | |||
|
850 | "object-keys": "^1.0.11" | |||
|
851 | } | |||
|
852 | }, | |||
|
853 | "once": { | |||
|
854 | "version": "1.4.0", | |||
|
855 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", | |||
|
856 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", | |||
|
857 | "dev": true, | |||
|
858 | "requires": { | |||
|
859 | "wrappy": "1" | |||
|
860 | } | |||
|
861 | }, | |||
|
862 | "onetime": { | |||
|
863 | "version": "2.0.1", | |||
|
864 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", | |||
|
865 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", | |||
|
866 | "dev": true, | |||
|
867 | "requires": { | |||
|
868 | "mimic-fn": "^1.0.0" | |||
|
869 | } | |||
|
870 | }, | |||
|
871 | "optionator": { | |||
|
872 | "version": "0.8.3", | |||
|
873 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", | |||
|
874 | "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", | |||
|
875 | "dev": true, | |||
|
876 | "requires": { | |||
|
877 | "deep-is": "~0.1.3", | |||
|
878 | "fast-levenshtein": "~2.0.6", | |||
|
879 | "levn": "~0.3.0", | |||
|
880 | "prelude-ls": "~1.1.2", | |||
|
881 | "type-check": "~0.3.2", | |||
|
882 | "word-wrap": "~1.2.3" | |||
|
883 | } | |||
|
884 | }, | |||
|
885 | "os-tmpdir": { | |||
|
886 | "version": "1.0.2", | |||
|
887 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", | |||
|
888 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", | |||
|
889 | "dev": true | |||
|
890 | }, | |||
|
891 | "parent-module": { | |||
|
892 | "version": "1.0.1", | |||
|
893 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", | |||
|
894 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", | |||
|
895 | "dev": true, | |||
|
896 | "requires": { | |||
|
897 | "callsites": "^3.0.0" | |||
|
898 | } | |||
|
899 | }, | |||
|
900 | "path-is-absolute": { | |||
|
901 | "version": "1.0.1", | |||
|
902 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", | |||
|
903 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", | |||
|
904 | "dev": true | |||
|
905 | }, | |||
|
906 | "path-key": { | |||
|
907 | "version": "2.0.1", | |||
|
908 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", | |||
|
909 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", | |||
|
910 | "dev": true | |||
|
911 | }, | |||
|
912 | "path-parse": { | |||
|
913 | "version": "1.0.6", | |||
|
914 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", | |||
|
915 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", | |||
|
916 | "dev": true | |||
|
917 | }, | |||
|
918 | "prelude-ls": { | |||
|
919 | "version": "1.1.2", | |||
|
920 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", | |||
|
921 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", | |||
|
922 | "dev": true | |||
|
923 | }, | |||
|
924 | "progress": { | |||
|
925 | "version": "2.0.3", | |||
|
926 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", | |||
|
927 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", | |||
|
928 | "dev": true | |||
|
929 | }, | |||
|
930 | "punycode": { | |||
|
931 | "version": "2.1.1", | |||
|
932 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", | |||
|
933 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", | |||
|
934 | "dev": true | |||
|
935 | }, | |||
|
936 | "regexpp": { | |||
|
937 | "version": "2.0.1", | |||
|
938 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", | |||
|
939 | "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", | |||
|
940 | "dev": true | |||
|
941 | }, | |||
|
942 | "requirejs": { | |||
|
943 | "version": "2.3.6", | |||
|
944 | "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz", | |||
|
945 | "integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==", | |||
|
946 | "dev": true | |||
|
947 | }, | |||
|
948 | "resolve": { | |||
|
949 | "version": "1.11.1", | |||
|
950 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", | |||
|
951 | "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", | |||
|
952 | "dev": true, | |||
|
953 | "requires": { | |||
|
954 | "path-parse": "^1.0.6" | |||
|
955 | } | |||
|
956 | }, | |||
|
957 | "resolve-from": { | |||
|
958 | "version": "4.0.0", | |||
|
959 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", | |||
|
960 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", | |||
|
961 | "dev": true | |||
|
962 | }, | |||
|
963 | "restore-cursor": { | |||
|
964 | "version": "2.0.0", | |||
|
965 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", | |||
|
966 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", | |||
|
967 | "dev": true, | |||
|
968 | "requires": { | |||
|
969 | "onetime": "^2.0.0", | |||
|
970 | "signal-exit": "^3.0.2" | |||
|
971 | } | |||
|
972 | }, | |||
|
973 | "resumer": { | |||
|
974 | "version": "0.0.0", | |||
|
975 | "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", | |||
|
976 | "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", | |||
|
977 | "dev": true, | |||
|
978 | "requires": { | |||
|
979 | "through": "~2.3.4" | |||
|
980 | } | |||
|
981 | }, | |||
|
982 | "rimraf": { | |||
|
983 | "version": "2.6.3", | |||
|
984 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", | |||
|
985 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", | |||
|
986 | "dev": true, | |||
|
987 | "requires": { | |||
|
988 | "glob": "^7.1.3" | |||
|
989 | } | |||
|
990 | }, | |||
|
991 | "run-async": { | |||
|
992 | "version": "2.3.0", | |||
|
993 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", | |||
|
994 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", | |||
|
995 | "dev": true, | |||
|
996 | "requires": { | |||
|
997 | "is-promise": "^2.1.0" | |||
|
998 | } | |||
|
999 | }, | |||
|
1000 | "rxjs": { | |||
|
1001 | "version": "6.5.4", | |||
|
1002 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", | |||
|
1003 | "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", | |||
|
1004 | "dev": true, | |||
|
1005 | "requires": { | |||
|
1006 | "tslib": "^1.9.0" | |||
|
1007 | } | |||
|
1008 | }, | |||
|
1009 | "safer-buffer": { | |||
|
1010 | "version": "2.1.2", | |||
|
1011 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", | |||
|
1012 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", | |||
|
1013 | "dev": true | |||
|
1014 | }, | |||
|
1015 | "semver": { | |||
|
1016 | "version": "6.3.0", | |||
|
1017 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", | |||
|
1018 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", | |||
|
1019 | "dev": true | |||
|
1020 | }, | |||
|
1021 | "shebang-command": { | |||
|
1022 | "version": "1.2.0", | |||
|
1023 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", | |||
|
1024 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", | |||
|
1025 | "dev": true, | |||
|
1026 | "requires": { | |||
|
1027 | "shebang-regex": "^1.0.0" | |||
|
1028 | } | |||
|
1029 | }, | |||
|
1030 | "shebang-regex": { | |||
|
1031 | "version": "1.0.0", | |||
|
1032 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", | |||
|
1033 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", | |||
|
1034 | "dev": true | |||
|
1035 | }, | |||
|
1036 | "signal-exit": { | |||
|
1037 | "version": "3.0.2", | |||
|
1038 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", | |||
|
1039 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", | |||
|
1040 | "dev": true | |||
|
1041 | }, | |||
|
1042 | "slice-ansi": { | |||
|
1043 | "version": "2.1.0", | |||
|
1044 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", | |||
|
1045 | "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", | |||
|
1046 | "dev": true, | |||
|
1047 | "requires": { | |||
|
1048 | "ansi-styles": "^3.2.0", | |||
|
1049 | "astral-regex": "^1.0.0", | |||
|
1050 | "is-fullwidth-code-point": "^2.0.0" | |||
|
1051 | } | |||
|
1052 | }, | |||
|
1053 | "sprintf-js": { | |||
|
1054 | "version": "1.0.3", | |||
|
1055 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", | |||
|
1056 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", | |||
|
1057 | "dev": true | |||
|
1058 | }, | |||
|
1059 | "string-width": { | |||
|
1060 | "version": "2.1.1", | |||
|
1061 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", | |||
|
1062 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", | |||
|
1063 | "dev": true, | |||
|
1064 | "requires": { | |||
|
1065 | "is-fullwidth-code-point": "^2.0.0", | |||
|
1066 | "strip-ansi": "^4.0.0" | |||
|
1067 | }, | |||
|
1068 | "dependencies": { | |||
|
1069 | "strip-ansi": { | |||
|
1070 | "version": "4.0.0", | |||
|
1071 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", | |||
|
1072 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", | |||
|
1073 | "dev": true, | |||
|
1074 | "requires": { | |||
|
1075 | "ansi-regex": "^3.0.0" | |||
|
1076 | } | |||
|
1077 | } | |||
|
1078 | } | |||
|
1079 | }, | |||
|
1080 | "string.prototype.trim": { | |||
|
1081 | "version": "1.1.2", | |||
|
1082 | "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz", | |||
|
1083 | "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=", | |||
|
1084 | "dev": true, | |||
|
1085 | "requires": { | |||
|
1086 | "define-properties": "^1.1.2", | |||
|
1087 | "es-abstract": "^1.5.0", | |||
|
1088 | "function-bind": "^1.0.2" | |||
|
1089 | } | |||
|
1090 | }, | |||
|
1091 | "string.prototype.trimleft": { | |||
|
1092 | "version": "2.1.1", | |||
|
1093 | "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", | |||
|
1094 | "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", | |||
|
1095 | "dev": true, | |||
|
1096 | "requires": { | |||
|
1097 | "define-properties": "^1.1.3", | |||
|
1098 | "function-bind": "^1.1.1" | |||
|
1099 | } | |||
|
1100 | }, | |||
|
1101 | "string.prototype.trimright": { | |||
|
1102 | "version": "2.1.1", | |||
|
1103 | "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", | |||
|
1104 | "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", | |||
|
1105 | "dev": true, | |||
|
1106 | "requires": { | |||
|
1107 | "define-properties": "^1.1.3", | |||
|
1108 | "function-bind": "^1.1.1" | |||
|
1109 | } | |||
|
1110 | }, | |||
|
1111 | "strip-ansi": { | |||
|
1112 | "version": "5.2.0", | |||
|
1113 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", | |||
|
1114 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", | |||
|
1115 | "dev": true, | |||
|
1116 | "requires": { | |||
|
1117 | "ansi-regex": "^4.1.0" | |||
|
1118 | }, | |||
|
1119 | "dependencies": { | |||
|
1120 | "ansi-regex": { | |||
|
1121 | "version": "4.1.0", | |||
|
1122 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", | |||
|
1123 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", | |||
|
1124 | "dev": true | |||
|
1125 | } | |||
|
1126 | } | |||
|
1127 | }, | |||
|
1128 | "strip-json-comments": { | |||
|
1129 | "version": "3.0.1", | |||
|
1130 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", | |||
|
1131 | "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", | |||
|
1132 | "dev": true | |||
|
1133 | }, | |||
|
1134 | "supports-color": { | |||
|
1135 | "version": "5.5.0", | |||
|
1136 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", | |||
|
1137 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", | |||
|
1138 | "dev": true, | |||
|
1139 | "requires": { | |||
|
1140 | "has-flag": "^3.0.0" | |||
|
1141 | } | |||
|
1142 | }, | |||
|
1143 | "table": { | |||
|
1144 | "version": "5.4.6", | |||
|
1145 | "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", | |||
|
1146 | "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", | |||
|
1147 | "dev": true, | |||
|
1148 | "requires": { | |||
|
1149 | "ajv": "^6.10.2", | |||
|
1150 | "lodash": "^4.17.14", | |||
|
1151 | "slice-ansi": "^2.1.0", | |||
|
1152 | "string-width": "^3.0.0" | |||
|
1153 | }, | |||
|
1154 | "dependencies": { | |||
|
1155 | "string-width": { | |||
|
1156 | "version": "3.1.0", | |||
|
1157 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", | |||
|
1158 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", | |||
|
1159 | "dev": true, | |||
|
1160 | "requires": { | |||
|
1161 | "emoji-regex": "^7.0.1", | |||
|
1162 | "is-fullwidth-code-point": "^2.0.0", | |||
|
1163 | "strip-ansi": "^5.1.0" | |||
|
1164 | } | |||
|
1165 | } | |||
|
1166 | } | |||
|
1167 | }, | |||
|
1168 | "tape": { | |||
|
1169 | "version": "4.11.0", | |||
|
1170 | "resolved": "https://registry.npmjs.org/tape/-/tape-4.11.0.tgz", | |||
|
1171 | "integrity": "sha512-yixvDMX7q7JIs/omJSzSZrqulOV51EC9dK8dM0TzImTIkHWfe2/kFyL5v+d9C+SrCMaICk59ujsqFAVidDqDaA==", | |||
|
1172 | "dev": true, | |||
|
1173 | "requires": { | |||
|
1174 | "deep-equal": "~1.0.1", | |||
|
1175 | "defined": "~1.0.0", | |||
|
1176 | "for-each": "~0.3.3", | |||
|
1177 | "function-bind": "~1.1.1", | |||
|
1178 | "glob": "~7.1.4", | |||
|
1179 | "has": "~1.0.3", | |||
|
1180 | "inherits": "~2.0.4", | |||
|
1181 | "minimist": "~1.2.0", | |||
|
1182 | "object-inspect": "~1.6.0", | |||
|
1183 | "resolve": "~1.11.1", | |||
|
1184 | "resumer": "~0.0.0", | |||
|
1185 | "string.prototype.trim": "~1.1.2", | |||
|
1186 | "through": "~2.3.8" | |||
|
1187 | }, | |||
|
1188 | "dependencies": { | |||
|
1189 | "minimist": { | |||
|
1190 | "version": "1.2.0", | |||
|
1191 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", | |||
|
1192 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", | |||
|
1193 | "dev": true | |||
|
1194 | } | |||
|
1195 | } | |||
|
1196 | }, | |||
|
1197 | "text-table": { | |||
|
1198 | "version": "0.2.0", | |||
|
1199 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", | |||
|
1200 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", | |||
|
1201 | "dev": true | |||
|
1202 | }, | |||
|
1203 | "through": { | |||
|
1204 | "version": "2.3.8", | |||
|
1205 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", | |||
|
1206 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", | |||
|
1207 | "dev": true | |||
|
1208 | }, | |||
|
1209 | "tmp": { | |||
|
1210 | "version": "0.0.33", | |||
|
1211 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", | |||
|
1212 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", | |||
|
1213 | "dev": true, | |||
|
1214 | "requires": { | |||
|
1215 | "os-tmpdir": "~1.0.2" | |||
|
1216 | } | |||
|
1217 | }, | |||
|
1218 | "tslib": { | |||
|
1219 | "version": "1.10.0", | |||
|
1220 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", | |||
|
1221 | "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", | |||
|
1222 | "dev": true | |||
|
1223 | }, | |||
|
1224 | "tslint": { | |||
|
1225 | "version": "5.18.0", | |||
|
1226 | "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.18.0.tgz", | |||
|
1227 | "integrity": "sha512-Q3kXkuDEijQ37nXZZLKErssQVnwCV/+23gFEMROi8IlbaBG6tXqLPQJ5Wjcyt/yHPKBC+hD5SzuGaMora+ZS6w==", | |||
|
1228 | "dev": true, | |||
|
1229 | "requires": { | |||
|
1230 | "@babel/code-frame": "^7.0.0", | |||
|
1231 | "builtin-modules": "^1.1.1", | |||
|
1232 | "chalk": "^2.3.0", | |||
|
1233 | "commander": "^2.12.1", | |||
|
1234 | "diff": "^3.2.0", | |||
|
1235 | "glob": "^7.1.1", | |||
|
1236 | "js-yaml": "^3.13.1", | |||
|
1237 | "minimatch": "^3.0.4", | |||
|
1238 | "mkdirp": "^0.5.1", | |||
|
1239 | "resolve": "^1.3.2", | |||
|
1240 | "semver": "^5.3.0", | |||
|
1241 | "tslib": "^1.8.0", | |||
|
1242 | "tsutils": "^2.29.0" | |||
|
1243 | }, | |||
|
1244 | "dependencies": { | |||
|
1245 | "semver": { | |||
|
1246 | "version": "5.7.1", | |||
|
1247 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", | |||
|
1248 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", | |||
|
1249 | "dev": true | |||
|
1250 | } | |||
|
1251 | } | |||
|
1252 | }, | |||
|
1253 | "tsutils": { | |||
|
1254 | "version": "2.29.0", | |||
|
1255 | "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", | |||
|
1256 | "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", | |||
|
1257 | "dev": true, | |||
|
1258 | "requires": { | |||
|
1259 | "tslib": "^1.8.1" | |||
|
1260 | } | |||
|
1261 | }, | |||
|
1262 | "type-check": { | |||
|
1263 | "version": "0.3.2", | |||
|
1264 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", | |||
|
1265 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", | |||
|
1266 | "dev": true, | |||
|
1267 | "requires": { | |||
|
1268 | "prelude-ls": "~1.1.2" | |||
|
1269 | } | |||
|
1270 | }, | |||
|
1271 | "typescript": { | |||
|
1272 | "version": "3.6.5", | |||
|
1273 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.5.tgz", | |||
|
1274 | "integrity": "sha512-BEjlc0Z06ORZKbtcxGrIvvwYs5hAnuo6TKdNFL55frVDlB+na3z5bsLhFaIxmT+dPWgBIjMo6aNnTOgHHmHgiQ==", | |||
|
1275 | "dev": true | |||
|
1276 | }, | |||
|
1277 | "uri-js": { | |||
|
1278 | "version": "4.2.2", | |||
|
1279 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", | |||
|
1280 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", | |||
|
1281 | "dev": true, | |||
|
1282 | "requires": { | |||
|
1283 | "punycode": "^2.1.0" | |||
|
1284 | } | |||
|
1285 | }, | |||
|
1286 | "v8-compile-cache": { | |||
|
1287 | "version": "2.1.0", | |||
|
1288 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", | |||
|
1289 | "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", | |||
|
1290 | "dev": true | |||
|
1291 | }, | |||
|
1292 | "which": { | |||
|
1293 | "version": "1.3.1", | |||
|
1294 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", | |||
|
1295 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", | |||
|
1296 | "dev": true, | |||
|
1297 | "requires": { | |||
|
1298 | "isexe": "^2.0.0" | |||
|
1299 | } | |||
|
1300 | }, | |||
|
1301 | "word-wrap": { | |||
|
1302 | "version": "1.2.3", | |||
|
1303 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", | |||
|
1304 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", | |||
|
1305 | "dev": true | |||
|
1306 | }, | |||
|
1307 | "wrappy": { | |||
|
1308 | "version": "1.0.2", | |||
|
1309 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", | |||
|
1310 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", | |||
|
1311 | "dev": true | |||
|
1312 | }, | |||
|
1313 | "write": { | |||
|
1314 | "version": "1.0.3", | |||
|
1315 | "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", | |||
|
1316 | "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", | |||
|
1317 | "dev": true, | |||
|
1318 | "requires": { | |||
|
1319 | "mkdirp": "^0.5.1" | |||
|
1320 | } | |||
|
1321 | } | |||
|
1322 | } | |||
|
1323 | } |
@@ -0,0 +1,14 | |||||
|
1 | { | |||
|
2 | "devDependencies": { | |||
|
3 | "@types/node": "8.0.0", | |||
|
4 | "@types/tape": "~4.2.33", | |||
|
5 | "@types/requirejs": "2.1.31", | |||
|
6 | "dojo": "1.16.0", | |||
|
7 | "dojo-typings": "1.11.9", | |||
|
8 | "tape": "~4.13.0", | |||
|
9 | "typescript": "~3.7.5", | |||
|
10 | "eslint": "6.8.0", | |||
|
11 | "tslint": "6.0.0", | |||
|
12 | "@implab/core-amd": "^1.3.2" | |||
|
13 | } | |||
|
14 | } |
@@ -0,0 +1,15 | |||||
|
1 | /* | |||
|
2 | * This settings file was generated by the Gradle 'init' task. | |||
|
3 | * | |||
|
4 | * The settings file is used to specify which projects to include in your build. | |||
|
5 | * In a single project build this file can be empty or even removed. | |||
|
6 | * | |||
|
7 | * Detailed information about configuring a multi-project build in Gradle can be found | |||
|
8 | * in the user guide at https://docs.gradle.org/3.5/userguide/multi_project_builds.html | |||
|
9 | */ | |||
|
10 | ||||
|
11 | // To declare projects as part of a multi-project build use the 'include' method | |||
|
12 | ||||
|
13 | //include 'sub-project-name' | |||
|
14 | ||||
|
15 | //rootProject.name = 'djx' No newline at end of file |
@@ -0,0 +1,78 | |||||
|
1 | import { MapOf } from "@implab/core-amd/interfaces"; | |||
|
2 | import { isPromise, mixin } from "@implab/core-amd/safe"; | |||
|
3 | import { locale as sysLocale } from "dojo/_base/kernel"; | |||
|
4 | import { id as mid } from "module"; | |||
|
5 | import { TraceSource } from "@implab/core-amd/log/TraceSource"; | |||
|
6 | ||||
|
7 | const trace = TraceSource.get(mid); | |||
|
8 | ||||
|
9 | type PromiseOrValue<T> = PromiseLike<T> | T; | |||
|
10 | type ResolveCallback<T> = () => PromiseOrValue<T>; | |||
|
11 | ||||
|
12 | trace.debug("Current sysLocale: {0}", sysLocale); | |||
|
13 | ||||
|
14 | function when<T, T2>(value: PromiseOrValue<T>, cb: (v: T) => PromiseOrValue<T2>): PromiseOrValue<T2> { | |||
|
15 | return isPromise(value) ? | |||
|
16 | value.then(cb) : | |||
|
17 | cb(value); | |||
|
18 | } | |||
|
19 | ||||
|
20 | function isCallback<T>(v: ResolveCallback<T> | PromiseOrValue<T>): v is ResolveCallback<T> { | |||
|
21 | return typeof v === "function"; | |||
|
22 | } | |||
|
23 | ||||
|
24 | function chainObjects<T extends object>(o1: T, o2: T) { | |||
|
25 | if (!o1) | |||
|
26 | return o2; | |||
|
27 | if (!o2) | |||
|
28 | return o1; | |||
|
29 | ||||
|
30 | return mixin(Object.create(o1) as T, o2); | |||
|
31 | } | |||
|
32 | ||||
|
33 | export class NlsBundle<T extends object> { | |||
|
34 | _locales: MapOf<ResolveCallback<T> | PromiseOrValue<T>>; | |||
|
35 | default: T; | |||
|
36 | ||||
|
37 | _cache: MapOf<PromiseOrValue<T>>; | |||
|
38 | ||||
|
39 | constructor(defNls: T, locales: MapOf<any>) { | |||
|
40 | this.default = defNls; | |||
|
41 | this._locales = locales || {}; | |||
|
42 | this._cache = {}; | |||
|
43 | } | |||
|
44 | ||||
|
45 | getLocale(locale: string) { | |||
|
46 | const _loc = locale || sysLocale; | |||
|
47 | ||||
|
48 | const locales = new Array<string>(); | |||
|
49 | ||||
|
50 | _loc.split("-").reduce((a, x) => { | |||
|
51 | a.push(x); | |||
|
52 | locales.unshift(a.join("-")); | |||
|
53 | return a; | |||
|
54 | }, []); | |||
|
55 | ||||
|
56 | return this._resolveLocale(locales); | |||
|
57 | } | |||
|
58 | ||||
|
59 | _resolveLocale(locales: string[]): PromiseOrValue<T> { | |||
|
60 | if (!locales.length) | |||
|
61 | return; | |||
|
62 | ||||
|
63 | const locale = locales.shift(); | |||
|
64 | ||||
|
65 | if (this._cache[locale]) | |||
|
66 | return this._cache[locale]; | |||
|
67 | ||||
|
68 | let data = this._locales[locale]; | |||
|
69 | if (isCallback(data)) | |||
|
70 | data = data(); | |||
|
71 | ||||
|
72 | const parent = locales.length ? this._resolveLocale(locales) : this.default; | |||
|
73 | ||||
|
74 | return this._cache[locale] = when(data, x => { | |||
|
75 | return when(parent, y => this._cache[locale] = chainObjects(y, x)); | |||
|
76 | }); | |||
|
77 | } | |||
|
78 | } |
@@ -0,0 +1,233 | |||||
|
1 | import declare = require("dojo/_base/declare"); | |||
|
2 | import { each } from "@implab/core-amd/safe"; | |||
|
3 | import { Constructor } from "@implab/core-amd/interfaces"; | |||
|
4 | ||||
|
5 | export interface AbstractConstructor<T = {}> { | |||
|
6 | prototype: T; | |||
|
7 | } | |||
|
8 | ||||
|
9 | interface DjMockConstructor<T = {}> { | |||
|
10 | new(...args: any[]): T; | |||
|
11 | mock: boolean; | |||
|
12 | base: AbstractConstructor; | |||
|
13 | } | |||
|
14 | ||||
|
15 | export function djbase<T>( | |||
|
16 | b0: AbstractConstructor<T> | |||
|
17 | ): dojo._base.DeclareConstructor<T>; | |||
|
18 | ||||
|
19 | export function djbase<T0, T1>( | |||
|
20 | b0: AbstractConstructor<T0>, | |||
|
21 | b1: AbstractConstructor<T1> | |||
|
22 | ): dojo._base.DeclareConstructor<T0 & T1>; | |||
|
23 | ||||
|
24 | export function djbase<T0, T1, T2>( | |||
|
25 | b0: AbstractConstructor<T0>, | |||
|
26 | b1: AbstractConstructor<T1>, | |||
|
27 | b2: AbstractConstructor<T2> | |||
|
28 | ): dojo._base.DeclareConstructor<T0 & T1 & T2>; | |||
|
29 | ||||
|
30 | export function djbase<T0, T1, T2, T3>( | |||
|
31 | b0: AbstractConstructor<T0>, | |||
|
32 | b1: AbstractConstructor<T1>, | |||
|
33 | b2: AbstractConstructor<T2>, | |||
|
34 | b3: AbstractConstructor<T3> | |||
|
35 | ): dojo._base.DeclareConstructor<T0 & T1 & T2 & T3>; | |||
|
36 | ||||
|
37 | export function djbase<T0, T1, T2, T3, T4>( | |||
|
38 | b0: AbstractConstructor<T0>, | |||
|
39 | b1: AbstractConstructor<T1>, | |||
|
40 | b2: AbstractConstructor<T2>, | |||
|
41 | b3: AbstractConstructor<T3>, | |||
|
42 | b4: AbstractConstructor<T4> | |||
|
43 | ): dojo._base.DeclareConstructor<T0 & T1 & T2 & T3 & T4>; | |||
|
44 | ||||
|
45 | export function djbase<T0, T1, T2, T3, T4, T5>( | |||
|
46 | b0: AbstractConstructor<T0>, | |||
|
47 | b1: AbstractConstructor<T1>, | |||
|
48 | b2: AbstractConstructor<T2>, | |||
|
49 | b3: AbstractConstructor<T3>, | |||
|
50 | b4: AbstractConstructor<T4>, | |||
|
51 | b5: AbstractConstructor<T5> | |||
|
52 | ): dojo._base.DeclareConstructor<T0 & T1 & T2 & T3 & T4 & T5>; | |||
|
53 | ||||
|
54 | export function djbase<T0, T1, T2, T3, T4, T5, T6>( | |||
|
55 | b0: AbstractConstructor<T0>, | |||
|
56 | b1: AbstractConstructor<T1>, | |||
|
57 | b2: AbstractConstructor<T2>, | |||
|
58 | b3: AbstractConstructor<T3>, | |||
|
59 | b4: AbstractConstructor<T4>, | |||
|
60 | b5: AbstractConstructor<T5>, | |||
|
61 | b6: AbstractConstructor<T6> | |||
|
62 | ): dojo._base.DeclareConstructor<T0 & T1 & T2 & T3 & T4 & T5 & T6>; | |||
|
63 | ||||
|
64 | export function djbase<T0, T1, T2, T3, T4, T5, T6, T7>( | |||
|
65 | b0: AbstractConstructor<T0>, | |||
|
66 | b1: AbstractConstructor<T1>, | |||
|
67 | b2: AbstractConstructor<T2>, | |||
|
68 | b3: AbstractConstructor<T3>, | |||
|
69 | b4: AbstractConstructor<T4>, | |||
|
70 | b5: AbstractConstructor<T5>, | |||
|
71 | b6: AbstractConstructor<T6>, | |||
|
72 | b7: AbstractConstructor<T7> | |||
|
73 | ): dojo._base.DeclareConstructor<T0 & T1 & T2 & T3 & T4 & T5 & T6 & T7>; | |||
|
74 | ||||
|
75 | /** Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ-Π·Π°Π³Π»ΡΡΠΊΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ | |||
|
76 | * Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ `dojo/_base/declare`. | |||
|
77 | * | |||
|
78 | * Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΠΏΡΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΡΠΎΡ, Ρ ΠΏΡΡΡΡΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΎΠΌ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ, | |||
|
79 | * ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ·Π²Π°ΡΡ | |||
|
80 | * `super(...)`, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠ½ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΏΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ. | |||
|
81 | * | |||
|
82 | * Π‘ΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΡΠΎΡ Ρ ΡΠ°Π½ΠΈΡ Π² ΡΠ΅Π±Π΅ ΡΠΏΠΈΡΠΎΠΊ Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ | |||
|
83 | * ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡΠΎΠΌ `djclass`, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π΅ΡΠ½Π΅Ρ ΠΊΠ»Π°ΡΡ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠΉ ΠΏΡΠΈ | |||
|
84 | * ΠΏΠΎΠΌΠΎΡΠΈ `dojo/_base/declare`. | |||
|
85 | * | |||
|
86 | * @param bases ΡΠΏΠΈΡΠΎΠΊ Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΎΡ ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ | |||
|
87 | * Π½ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ. | |||
|
88 | * | |||
|
89 | */ | |||
|
90 | export function djbase(...bases: any[]): Constructor { | |||
|
91 | ||||
|
92 | const t = class { | |||
|
93 | static mock: boolean; | |||
|
94 | static base: AbstractConstructor; | |||
|
95 | }; | |||
|
96 | ||||
|
97 | t.mock = true; | |||
|
98 | t.base = declare(bases); | |||
|
99 | ||||
|
100 | return t as any; | |||
|
101 | } | |||
|
102 | ||||
|
103 | function isMockConstructor<T extends {}>(v: AbstractConstructor<T>): v is DjMockConstructor<T> { | |||
|
104 | return v && "mock" in v; | |||
|
105 | } | |||
|
106 | ||||
|
107 | /** Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠ»Π°ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ `dojo/_base/declare`. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ | |||
|
108 | * Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ ΠΎΡ `djbase(...)`. | |||
|
109 | * | |||
|
110 | * @param target ΠΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ `dojo/_base/declare` | |||
|
111 | */ | |||
|
112 | export function djclass<T extends AbstractConstructor>(target: T): T { | |||
|
113 | // ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΈ Π΅Π³ΠΎ ΠΏΡΠΎΡΠΎΡΠΈΠΏ | |||
|
114 | let bp = target && target.prototype && Object.getPrototypeOf(target.prototype); | |||
|
115 | const bc = bp && bp.constructor; | |||
|
116 | ||||
|
117 | // ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΊΠ»Π°ΡΡ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ ΠΎΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π³Π»ΡΡΠΊΠΈ | |||
|
118 | if (isMockConstructor(bc)) { | |||
|
119 | // t - Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠΉ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ dojo/_base/declare | |||
|
120 | const t = bc.base; | |||
|
121 | ||||
|
122 | // bc - Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ, bc.prototype ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ super | |||
|
123 | // ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ Π±Π°Π·ΠΎΠ²ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². ΠΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ bc.prototype | |||
|
124 | // ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π²ΡΠ·ΡΠ²Π°Π» this.inherited(). | |||
|
125 | ||||
|
126 | // ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΡΠΎΡΠΎΡΠΈΠΏ, ΠΎΠ½ Π½Π΅ Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΎΠ² Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ | |||
|
127 | // ΠΊΠ»Π°ΡΡΠ°, Π½ΠΎ super.some_method Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ. | |||
|
128 | // Π² ΡΡΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Ρ ΠΏΡΠΎΠΊΡΠΈ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ | |||
|
129 | // ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². | |||
|
130 | bp = bc.prototype = Object.create(t.prototype); | |||
|
131 | bp.constructor = bc; | |||
|
132 | ||||
|
133 | // proxy - ΡΠ°Π±ΡΠΈΠΊΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠΊΡΠΈ-ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π½ΡΡΡΠΈ | |||
|
134 | // ΡΠ΅Π±Ρ Π²ΡΠ·ΠΎΠ²ΡΡ this.inherited Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. | |||
|
135 | const proxy = (m: (...args: any[]) => any) => function () { | |||
|
136 | return this.inherited(m, arguments); | |||
|
137 | }; | |||
|
138 | ||||
|
139 | // Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΏΡΠΎΡΠΎΡΠΈΠΏ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π² ΡΡΠΎΠΌ | |||
|
140 | // ΠΊΠ»Π°ΡΡΠ΅ ΠΈ Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ. ΠΡΠΆΠ½ΠΎ ΠΏΡΠΎΠΉΡΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΈ | |||
|
141 | // ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π»Ρ Π½ΠΈΡ ΠΏΡΠΎΠΊΡΠΈ. | |||
|
142 | // ΠΡΠΈ ΡΡΠΎΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅, ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΡΡ Π² Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠ°Ρ | |||
|
143 | // ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ. | |||
|
144 | each(target.prototype, (m: any, p: string | number | symbol) => { | |||
|
145 | if (typeof m === "function" && | |||
|
146 | p !== "constructor" && | |||
|
147 | target.prototype.hasOwnProperty(p) && | |||
|
148 | p in t.prototype | |||
|
149 | ) { | |||
|
150 | bp[p] = proxy(m); | |||
|
151 | } | |||
|
152 | }); | |||
|
153 | ||||
|
154 | const cls = declare(t, target.prototype); | |||
|
155 | // TODO mixin static members | |||
|
156 | return cls as any; | |||
|
157 | } else { | |||
|
158 | return target as any; | |||
|
159 | } | |||
|
160 | } | |||
|
161 | ||||
|
162 | function makeSetterName(prop: string) { | |||
|
163 | return [ | |||
|
164 | "_set", | |||
|
165 | prop.replace(/^./, x => x.toUpperCase()), | |||
|
166 | "Attr" | |||
|
167 | ].join(""); | |||
|
168 | } | |||
|
169 | ||||
|
170 | function makeGetterName(prop: string) { | |||
|
171 | return [ | |||
|
172 | "_get", | |||
|
173 | prop.replace(/^./, x => x.toUpperCase()), | |||
|
174 | "Attr" | |||
|
175 | ].join(""); | |||
|
176 | } | |||
|
177 | ||||
|
178 | interface NodeBindSpec { | |||
|
179 | node: string; | |||
|
180 | type: string; | |||
|
181 | } | |||
|
182 | ||||
|
183 | /** | |||
|
184 | * ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° ΠΊ ΡΠ²ΠΎΠΉΡΡΠ²Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. | |||
|
185 | */ | |||
|
186 | interface MemberBindSpec { | |||
|
187 | /** | |||
|
188 | * ΠΠΌΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠΎ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ . | |||
|
189 | */ | |||
|
190 | member: string; | |||
|
191 | /** | |||
|
192 | * Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ. | |||
|
193 | */ | |||
|
194 | property: string; | |||
|
195 | ||||
|
196 | /** | |||
|
197 | * ΠΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π·Π°ΠΏΠΈΡΡ Π½ΠΎ ΠΈ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°. | |||
|
198 | */ | |||
|
199 | getter?: boolean; | |||
|
200 | } | |||
|
201 | ||||
|
202 | function isNodeBindSpec(v): v is NodeBindSpec { | |||
|
203 | return "node" in v; | |||
|
204 | } | |||
|
205 | ||||
|
206 | function isMemberBindSpec(v): v is MemberBindSpec { | |||
|
207 | return "member" in v; | |||
|
208 | } | |||
|
209 | ||||
|
210 | /** ΠΠ΅ΠΊΠΎΡΠΈΡΡΠ΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° Π΄Π»Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΈΡ ΠΊ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΡΠ»Π΅Π½Π°ΠΌ, Π»ΠΈΠ±ΠΎ DOM | |||
|
211 | * ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ, Π»ΠΈΠ±ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. | |||
|
212 | * | |||
|
213 | * @param {NodeBindSpec | MemberBindSpec} params ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ. | |||
|
214 | */ | |||
|
215 | export function bind(params: NodeBindSpec | MemberBindSpec) { | |||
|
216 | if (isNodeBindSpec(params)) | |||
|
217 | return (target: any, name: string) => { | |||
|
218 | target[makeSetterName(name)] = params; | |||
|
219 | }; | |||
|
220 | else if (isMemberBindSpec(params)) { | |||
|
221 | return (target: any, name: string) => { | |||
|
222 | target[name] = null; | |||
|
223 | target[makeSetterName(name)] = function (v) { | |||
|
224 | this._set(name, v); | |||
|
225 | this[params.member].set(params.property, v); | |||
|
226 | }; | |||
|
227 | if (params.getter) | |||
|
228 | target[makeGetterName(name)] = function () { | |||
|
229 | return this[params.member].get(params.property); | |||
|
230 | }; | |||
|
231 | }; | |||
|
232 | } | |||
|
233 | } |
@@ -0,0 +1,67 | |||||
|
1 | import { isNull, mixin } from "@implab/core-amd/safe"; | |||
|
2 | import { isPlainObject, isNode, isBuildContext } from "./traits"; | |||
|
3 | ||||
|
4 | export abstract class BuildContextBase { | |||
|
5 | _attrs = {}; | |||
|
6 | ||||
|
7 | _children = []; | |||
|
8 | ||||
|
9 | _created: boolean; | |||
|
10 | ||||
|
11 | visitNext(v: any) { | |||
|
12 | if (isNull(v)) | |||
|
13 | return; | |||
|
14 | ||||
|
15 | if (isPlainObject(v)) { | |||
|
16 | ||||
|
17 | if (this._created) | |||
|
18 | this._setAttrs(v); | |||
|
19 | else | |||
|
20 | mixin(this._attrs, v); | |||
|
21 | ||||
|
22 | } else { | |||
|
23 | if (this._created) | |||
|
24 | this._addChild(v); | |||
|
25 | else | |||
|
26 | this._children.push(v); | |||
|
27 | } | |||
|
28 | } | |||
|
29 | ||||
|
30 | getChildDom(v: any) { | |||
|
31 | if (isNull(v)) | |||
|
32 | return; | |||
|
33 | ||||
|
34 | const tv = typeof v; | |||
|
35 | if (tv === "string" || tv === "number" || tv === "boolean" || v instanceof RegExp || v instanceof Date) { | |||
|
36 | return document.createTextNode(v.toString()); | |||
|
37 | } else if (isNode(v)) { | |||
|
38 | return v; | |||
|
39 | } else if (isBuildContext(v)) { | |||
|
40 | return v.getDomElement(); | |||
|
41 | } else { | |||
|
42 | throw new Error("Invalid parameter"); | |||
|
43 | } | |||
|
44 | } | |||
|
45 | ||||
|
46 | abstract _getDomElement(): HTMLElement; | |||
|
47 | ||||
|
48 | ensureCreated() { | |||
|
49 | if (!this._created) { | |||
|
50 | this._create(this._attrs, this._children); | |||
|
51 | this._children = null; | |||
|
52 | this._attrs = null; | |||
|
53 | this._created = true; | |||
|
54 | } | |||
|
55 | } | |||
|
56 | ||||
|
57 | getDomElement() { | |||
|
58 | this.ensureCreated(); | |||
|
59 | return this._getDomElement(); | |||
|
60 | } | |||
|
61 | ||||
|
62 | abstract _addChild(child: any): void; | |||
|
63 | ||||
|
64 | abstract _setAttrs(attrs: object): void; | |||
|
65 | ||||
|
66 | abstract _create(attrs: object, children: any[]): void; | |||
|
67 | } |
@@ -0,0 +1,44 | |||||
|
1 | import { djbase, djclass } from "../declare"; | |||
|
2 | import _WidgetBase = require("dijit/_WidgetBase"); | |||
|
3 | import _AttachMixin = require("dijit/_AttachMixin"); | |||
|
4 | import { BuildContext, isNode } from "./traits"; | |||
|
5 | import registry = require("dijit/registry"); | |||
|
6 | ||||
|
7 | @djclass | |||
|
8 | export abstract class DjxWidgetBase extends djbase(_WidgetBase, _AttachMixin) { | |||
|
9 | ||||
|
10 | buildRendering() { | |||
|
11 | this.domNode = this.render().getDomElement(); | |||
|
12 | super.buildRendering(); | |||
|
13 | } | |||
|
14 | ||||
|
15 | abstract render(): BuildContext; | |||
|
16 | ||||
|
17 | _processTemplateNode<T extends (Element | Node | _WidgetBase)>( | |||
|
18 | baseNode: T, | |||
|
19 | getAttrFunc: (baseNode: T, attr: string) => string, | |||
|
20 | attachFunc: (node: T, type: string, func?: (...args: any[]) => any) => dojo.Handle | |||
|
21 | ): boolean { | |||
|
22 | if (isNode(baseNode)) { | |||
|
23 | const w = registry.byNode(baseNode); | |||
|
24 | if (w) { | |||
|
25 | // from dijit/_WidgetsInTemplateMixin | |||
|
26 | this._processTemplateNode(w, | |||
|
27 | (n, p) => n[p], // callback to get a property of a widget | |||
|
28 | (widget, type, callback) => { | |||
|
29 | // callback to do data-dojo-attach-event to a widget | |||
|
30 | if (type in widget) { | |||
|
31 | // back-compat, remove for 2.0 | |||
|
32 | return widget.connect(widget, type, callback); | |||
|
33 | } else { | |||
|
34 | // 1.x may never hit this branch, but it's the default for 2.0 | |||
|
35 | return widget.on(type, callback); | |||
|
36 | } | |||
|
37 | }); | |||
|
38 | // don't process widgets internals | |||
|
39 | return false; | |||
|
40 | } | |||
|
41 | } | |||
|
42 | return super._processTemplateNode(baseNode, getAttrFunc, attachFunc); | |||
|
43 | } | |||
|
44 | } |
@@ -0,0 +1,37 | |||||
|
1 | import dom = require("dojo/dom-construct"); | |||
|
2 | import attr = require("dojo/dom-attr"); | |||
|
3 | import { argumentNotEmptyString } from "@implab/core-amd/safe"; | |||
|
4 | import { BuildContextBase } from "./BuildContextBase"; | |||
|
5 | ||||
|
6 | export class HtmlElementContext extends BuildContextBase { | |||
|
7 | elementType: string; | |||
|
8 | ||||
|
9 | _element: HTMLElement; | |||
|
10 | ||||
|
11 | constructor(elementType: string) { | |||
|
12 | argumentNotEmptyString(elementType, "elementType"); | |||
|
13 | super(); | |||
|
14 | ||||
|
15 | this.elementType = elementType; | |||
|
16 | } | |||
|
17 | ||||
|
18 | _addChild(child: any): void { | |||
|
19 | dom.place(this.getChildDom(child), this._element); | |||
|
20 | } | |||
|
21 | ||||
|
22 | _setAttrs(attrs: object): void { | |||
|
23 | attr.set(this._element, attrs); | |||
|
24 | } | |||
|
25 | ||||
|
26 | _create(attrs: object, children: any[]) { | |||
|
27 | this._element = dom.create(this.elementType, attrs); | |||
|
28 | ||||
|
29 | if (children) | |||
|
30 | children.forEach(v => this._addChild(v)); | |||
|
31 | } | |||
|
32 | ||||
|
33 | _getDomElement() { | |||
|
34 | return this._element; | |||
|
35 | } | |||
|
36 | ||||
|
37 | } |
@@ -0,0 +1,40 | |||||
|
1 | import dom = require("dojo/dom-construct"); | |||
|
2 | import { argumentNotNull, isNull, mixin } from "@implab/core-amd/safe"; | |||
|
3 | import _WidgetBase = require("dijit/_WidgetBase"); | |||
|
4 | import { _WidgetBaseConstructor, isNode } from "./traits"; | |||
|
5 | import { BuildContextBase } from "./BuildContextBase"; | |||
|
6 | ||||
|
7 | export class WidgetContext extends BuildContextBase { | |||
|
8 | widgetClass: _WidgetBaseConstructor; | |||
|
9 | ||||
|
10 | _instance: _WidgetBase; | |||
|
11 | ||||
|
12 | constructor(widgetClass: _WidgetBaseConstructor) { | |||
|
13 | super(); | |||
|
14 | argumentNotNull(widgetClass, "widgetClass"); | |||
|
15 | ||||
|
16 | this.widgetClass = widgetClass; | |||
|
17 | } | |||
|
18 | ||||
|
19 | _addChild(child: any): void { | |||
|
20 | if (!this._instance.containerNode) | |||
|
21 | throw new Error("Widget doesn't support adding children"); | |||
|
22 | ||||
|
23 | dom.place(this.getChildDom(child), this._instance.containerNode); | |||
|
24 | } | |||
|
25 | ||||
|
26 | _setAttrs(attrs: object): void { | |||
|
27 | this._instance.set(attrs); | |||
|
28 | } | |||
|
29 | ||||
|
30 | _create(attrs: object, children: any[]) { | |||
|
31 | this._instance = new this.widgetClass(this._attrs); | |||
|
32 | if (children) | |||
|
33 | children.forEach(x => this._addChild(x)); | |||
|
34 | } | |||
|
35 | ||||
|
36 | _getDomElement() { | |||
|
37 | return this._instance.domNode; | |||
|
38 | } | |||
|
39 | ||||
|
40 | } |
@@ -0,0 +1,31 | |||||
|
1 | import _WidgetBase = require("dijit/_WidgetBase"); | |||
|
2 | ||||
|
3 | export interface BuildContext { | |||
|
4 | getDomElement(): HTMLElement; | |||
|
5 | } | |||
|
6 | ||||
|
7 | export function isNode(el: any): el is HTMLElement { | |||
|
8 | return el && el.nodeName && el.nodeType; | |||
|
9 | } | |||
|
10 | ||||
|
11 | export function isWidget(v: any): v is _WidgetBase { | |||
|
12 | return v && "domNode" in v; | |||
|
13 | } | |||
|
14 | ||||
|
15 | export function isBuildContext(v: any): v is BuildContext { | |||
|
16 | return typeof v === "object" && typeof v.getDomElement === "function"; | |||
|
17 | } | |||
|
18 | ||||
|
19 | export function isPlainObject(v: object) { | |||
|
20 | if (typeof v !== "object") | |||
|
21 | return false; | |||
|
22 | ||||
|
23 | const vp = Object.getPrototypeOf(v); | |||
|
24 | return !vp || vp === Object.prototype; | |||
|
25 | } | |||
|
26 | ||||
|
27 | export type _WidgetBaseConstructor = dijit._WidgetBaseConstructor<_WidgetBase>; | |||
|
28 | ||||
|
29 | export function isWidgetConstructor(v: any): v is _WidgetBaseConstructor { | |||
|
30 | return typeof v === "function" && v.prototype && "domNode" in v.prototype; | |||
|
31 | } |
@@ -0,0 +1,28 | |||||
|
1 | import { MapOf } from "@implab/core-amd/interfaces"; | |||
|
2 | import { NlsBundle } from "./NlsBundle"; | |||
|
3 | import { isPromise } from "@implab/core-amd/safe"; | |||
|
4 | ||||
|
5 | export function bundle<T extends object>(nls: T, locales?: MapOf<any>) { | |||
|
6 | const nlsBundle = new NlsBundle(nls, locales); | |||
|
7 | ||||
|
8 | const fn = (locale?: string) => { | |||
|
9 | const result = nlsBundle.getLocale(locale); | |||
|
10 | if (isPromise(result)) | |||
|
11 | throw new Error(`The bundle '${locale}' isn't loaded`); | |||
|
12 | else | |||
|
13 | return result; | |||
|
14 | }; | |||
|
15 | ||||
|
16 | fn.define = (pack: Partial<T>) => pack; | |||
|
17 | fn.default = nlsBundle.default; | |||
|
18 | fn.load = async (id: string, require: Require, cb: { (): void; error: (arg0: any) => void; }) => { | |||
|
19 | try { | |||
|
20 | await nlsBundle.getLocale(id); | |||
|
21 | cb(); | |||
|
22 | } catch (e) { | |||
|
23 | cb.error(e); | |||
|
24 | } | |||
|
25 | }; | |||
|
26 | ||||
|
27 | return fn; | |||
|
28 | } |
@@ -0,0 +1,7 | |||||
|
1 | { | |||
|
2 | "extends": "../tsconfig", | |||
|
3 | "compilerOptions": { | |||
|
4 | "rootDir": "ts", | |||
|
5 | "types": ["requirejs", "dojo-typings"] | |||
|
6 | } | |||
|
7 | } No newline at end of file |
@@ -0,0 +1,74 | |||||
|
1 | import { IObservable, ICancellation, IDestroyable } from "@implab/core-amd/interfaces"; | |||
|
2 | import { Cancellation } from "@implab/core-amd/Cancellation"; | |||
|
3 | import { TraceEvent, LogLevel, WarnLevel, DebugLevel, TraceSource } from "@implab/core-amd/log/TraceSource"; | |||
|
4 | import * as tape from "tape"; | |||
|
5 | import { argumentNotNull, destroy } from "@implab/core-amd/safe"; | |||
|
6 | ||||
|
7 | export class TapeWriter implements IDestroyable { | |||
|
8 | private readonly _tape: tape.Test; | |||
|
9 | ||||
|
10 | private readonly _subscriptions = new Array<IDestroyable>(); | |||
|
11 | private _destroyed; | |||
|
12 | ||||
|
13 | constructor(t: tape.Test) { | |||
|
14 | argumentNotNull(t, "tape"); | |||
|
15 | this._tape = t; | |||
|
16 | } | |||
|
17 | ||||
|
18 | writeEvents(source: IObservable<TraceEvent>, ct: ICancellation = Cancellation.none) { | |||
|
19 | if (!this._destroyed) { | |||
|
20 | const subscription = source.on(this.writeEvent.bind(this)); | |||
|
21 | if (ct.isSupported()) { | |||
|
22 | ct.register(subscription.destroy.bind(subscription)); | |||
|
23 | } | |||
|
24 | this._subscriptions.push(subscription); | |||
|
25 | } | |||
|
26 | } | |||
|
27 | ||||
|
28 | writeEvent(next: TraceEvent) { | |||
|
29 | if (next.level >= DebugLevel) { | |||
|
30 | this._tape.comment(`DEBUG ${next.source.id} ${next}`); | |||
|
31 | } else if (next.level >= LogLevel) { | |||
|
32 | this._tape.comment(`LOG ${next.source.id} ${next}`); | |||
|
33 | } else if (next.level >= WarnLevel) { | |||
|
34 | this._tape.comment(`WARN ${next.source.id} ${next}`); | |||
|
35 | } else { | |||
|
36 | this._tape.comment(`ERROR ${next.source.id} ${next}`); | |||
|
37 | } | |||
|
38 | } | |||
|
39 | ||||
|
40 | destroy() { | |||
|
41 | this._subscriptions.forEach(destroy); | |||
|
42 | } | |||
|
43 | } | |||
|
44 | ||||
|
45 | export function test(name: string, cb: (t: tape.Test, trace: TraceSource) => any) { | |||
|
46 | tape(name, async t => { | |||
|
47 | const writer = new TapeWriter(t); | |||
|
48 | ||||
|
49 | // this trace is not announced through the TraceSource global registry | |||
|
50 | const trace = new TraceSource(name); | |||
|
51 | trace.level = DebugLevel; | |||
|
52 | writer.writeEvents(trace.events); | |||
|
53 | ||||
|
54 | const h = TraceSource.on(ts => { | |||
|
55 | ts.level = DebugLevel; | |||
|
56 | writer.writeEvents(ts.events); | |||
|
57 | }); | |||
|
58 | ||||
|
59 | try { | |||
|
60 | await cb(t, trace); | |||
|
61 | } catch (e) { | |||
|
62 | ||||
|
63 | // verbose error information | |||
|
64 | // tslint:disable-next-line | |||
|
65 | console.error(e); | |||
|
66 | t.fail(e); | |||
|
67 | ||||
|
68 | } finally { | |||
|
69 | t.end(); | |||
|
70 | destroy(writer); | |||
|
71 | destroy(h); | |||
|
72 | } | |||
|
73 | }); | |||
|
74 | } |
@@ -0,0 +1,10 | |||||
|
1 | import * as tape from "tape"; | |||
|
2 | ||||
|
3 | tape("simple", t => { | |||
|
4 | t.pass("sync assert"); | |||
|
5 | setTimeout(() => { | |||
|
6 | t.pass("async assert"); | |||
|
7 | // end should be called after the last assertion | |||
|
8 | t.end(); | |||
|
9 | }, 100); | |||
|
10 | }); |
@@ -0,0 +1,11 | |||||
|
1 | { | |||
|
2 | "extends": "../tsconfig", | |||
|
3 | "compilerOptions": { | |||
|
4 | "rootDir": "ts", | |||
|
5 | "rootDirs": [ | |||
|
6 | "ts", | |||
|
7 | "../main/ts" | |||
|
8 | ], | |||
|
9 | "types": ["requirejs", "dojo-typings"] | |||
|
10 | } | |||
|
11 | } No newline at end of file |
@@ -0,0 +1,11 | |||||
|
1 | { | |||
|
2 | "compilerOptions": { | |||
|
3 | "moduleResolution": "node", | |||
|
4 | "noEmitOnError": true, | |||
|
5 | "types": [], | |||
|
6 | "experimentalDecorators": true, | |||
|
7 | "jsxFactory": "createElement", | |||
|
8 | "jsx": "react", | |||
|
9 | "lib": ["es5", "es2015.promise", "es2015.symbol", "es2015.iterable", "dom", "scripthost"] | |||
|
10 | } | |||
|
11 | } No newline at end of file |
@@ -0,0 +1,43 | |||||
|
1 | { | |||
|
2 | "extends": "tslint:recommended", | |||
|
3 | "defaultSeverity": "warn", | |||
|
4 | "rules": { | |||
|
5 | "align": [ | |||
|
6 | true, | |||
|
7 | "parameters", | |||
|
8 | "statements" | |||
|
9 | ], | |||
|
10 | "interface-name": [false], | |||
|
11 | "max-line-length": [ true, 185 ], | |||
|
12 | "member-access": false, | |||
|
13 | "member-ordering": [ | |||
|
14 | false, | |||
|
15 | "variables-before-functions" | |||
|
16 | ], | |||
|
17 | "no-bitwise": false, | |||
|
18 | "no-empty": false, | |||
|
19 | "no-namespace": false, | |||
|
20 | "ordered-imports": false, | |||
|
21 | "no-return-await": true, | |||
|
22 | "no-floating-promises": true, | |||
|
23 | "prefer-for-of": false, | |||
|
24 | "one-line": [ | |||
|
25 | true, | |||
|
26 | "check-open-brace", | |||
|
27 | "check-catch", | |||
|
28 | "check-whitespace" | |||
|
29 | ], | |||
|
30 | "object-literal-sort-keys": false, | |||
|
31 | "trailing-comma": [ | |||
|
32 | true, | |||
|
33 | { | |||
|
34 | "singleline": "never", | |||
|
35 | "multiline": "never" | |||
|
36 | } | |||
|
37 | ], | |||
|
38 | "variable-name": false, | |||
|
39 | "curly": false, | |||
|
40 | "array-type": false, | |||
|
41 | "arrow-parens": [true, "ban-single-arg-parens"] | |||
|
42 | } | |||
|
43 | } No newline at end of file |
General Comments 0
You need to be logged in to leave comments.
Login now