Просмотр исходного кода

Actualizacion cambios generados: seccion #12, #14 y #15.

lyxaira.glass 4 лет назад
Родитель
Сommit
74ca844f42
100 измененных файлов: 13572 добавлений и 0 удалений
  1. 1
    0
      node_modules/.bin/cordova
  2. 1
    0
      node_modules/.bin/is-ci
  3. 1
    0
      node_modules/.bin/is-docker
  4. 1
    0
      node_modules/.bin/md5-file
  5. 1
    0
      node_modules/.bin/node-which
  6. 1
    0
      node_modules/.bin/rc
  7. 1
    0
      node_modules/.bin/rimraf
  8. 1
    0
      node_modules/.bin/sshpk-conv
  9. 1
    0
      node_modules/.bin/sshpk-sign
  10. 1
    0
      node_modules/.bin/sshpk-verify
  11. 1
    0
      node_modules/.bin/systeminformation
  12. 1
    0
      node_modules/.bin/uuid
  13. 41
    0
      node_modules/@netflix/nerror/CHANGELOG.md
  14. 21
    0
      node_modules/@netflix/nerror/LICENSE
  15. 339
    0
      node_modules/@netflix/nerror/README.md
  16. 67
    0
      node_modules/@netflix/nerror/lib/index.d.ts
  17. 3
    0
      node_modules/@netflix/nerror/lib/index.js
  18. 813
    0
      node_modules/@netflix/nerror/lib/verror.js
  19. 183
    0
      node_modules/@netflix/nerror/package.json
  20. 21
    0
      node_modules/@nodelib/fs.scandir/LICENSE
  21. 171
    0
      node_modules/@nodelib/fs.scandir/README.md
  22. 13
    0
      node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts
  23. 18
    0
      node_modules/@nodelib/fs.scandir/out/adapters/fs.js
  24. 5
    0
      node_modules/@nodelib/fs.scandir/out/constants.d.ts
  25. 13
    0
      node_modules/@nodelib/fs.scandir/out/constants.js
  26. 13
    0
      node_modules/@nodelib/fs.scandir/out/index.d.ts
  27. 24
    0
      node_modules/@nodelib/fs.scandir/out/index.js
  28. 8
    0
      node_modules/@nodelib/fs.scandir/out/providers/async.d.ts
  29. 90
    0
      node_modules/@nodelib/fs.scandir/out/providers/async.js
  30. 6
    0
      node_modules/@nodelib/fs.scandir/out/providers/sync.d.ts
  31. 52
    0
      node_modules/@nodelib/fs.scandir/out/providers/sync.js
  32. 21
    0
      node_modules/@nodelib/fs.scandir/out/settings.d.ts
  33. 24
    0
      node_modules/@nodelib/fs.scandir/out/settings.js
  34. 20
    0
      node_modules/@nodelib/fs.scandir/out/types/index.d.ts
  35. 2
    0
      node_modules/@nodelib/fs.scandir/out/types/index.js
  36. 3
    0
      node_modules/@nodelib/fs.scandir/out/utils/fs.d.ts
  37. 18
    0
      node_modules/@nodelib/fs.scandir/out/utils/fs.js
  38. 3
    0
      node_modules/@nodelib/fs.scandir/out/utils/index.d.ts
  39. 4
    0
      node_modules/@nodelib/fs.scandir/out/utils/index.js
  40. 95
    0
      node_modules/@nodelib/fs.scandir/package.json
  41. 21
    0
      node_modules/@nodelib/fs.stat/LICENSE
  42. 126
    0
      node_modules/@nodelib/fs.stat/README.md
  43. 11
    0
      node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts
  44. 16
    0
      node_modules/@nodelib/fs.stat/out/adapters/fs.js
  45. 13
    0
      node_modules/@nodelib/fs.stat/out/index.d.ts
  46. 24
    0
      node_modules/@nodelib/fs.stat/out/index.js
  47. 5
    0
      node_modules/@nodelib/fs.stat/out/providers/async.d.ts
  48. 31
    0
      node_modules/@nodelib/fs.stat/out/providers/async.js
  49. 4
    0
      node_modules/@nodelib/fs.stat/out/providers/sync.d.ts
  50. 22
    0
      node_modules/@nodelib/fs.stat/out/providers/sync.js
  51. 17
    0
      node_modules/@nodelib/fs.stat/out/settings.d.ts
  52. 16
    0
      node_modules/@nodelib/fs.stat/out/settings.js
  53. 5
    0
      node_modules/@nodelib/fs.stat/out/types/index.d.ts
  54. 2
    0
      node_modules/@nodelib/fs.stat/out/types/index.js
  55. 91
    0
      node_modules/@nodelib/fs.stat/package.json
  56. 21
    0
      node_modules/@nodelib/fs.walk/LICENSE
  57. 215
    0
      node_modules/@nodelib/fs.walk/README.md
  58. 15
    0
      node_modules/@nodelib/fs.walk/out/index.d.ts
  59. 32
    0
      node_modules/@nodelib/fs.walk/out/index.js
  60. 13
    0
      node_modules/@nodelib/fs.walk/out/providers/async.d.ts
  61. 30
    0
      node_modules/@nodelib/fs.walk/out/providers/async.js
  62. 5
    0
      node_modules/@nodelib/fs.walk/out/providers/index.d.ts
  63. 8
    0
      node_modules/@nodelib/fs.walk/out/providers/index.js
  64. 13
    0
      node_modules/@nodelib/fs.walk/out/providers/stream.d.ts
  65. 30
    0
      node_modules/@nodelib/fs.walk/out/providers/stream.js
  66. 11
    0
      node_modules/@nodelib/fs.walk/out/providers/sync.d.ts
  67. 14
    0
      node_modules/@nodelib/fs.walk/out/providers/sync.js
  68. 30
    0
      node_modules/@nodelib/fs.walk/out/readers/async.d.ts
  69. 93
    0
      node_modules/@nodelib/fs.walk/out/readers/async.js
  70. 7
    0
      node_modules/@nodelib/fs.walk/out/readers/common.d.ts
  71. 24
    0
      node_modules/@nodelib/fs.walk/out/readers/common.js
  72. 7
    0
      node_modules/@nodelib/fs.walk/out/readers/reader.d.ts
  73. 11
    0
      node_modules/@nodelib/fs.walk/out/readers/reader.js
  74. 16
    0
      node_modules/@nodelib/fs.walk/out/readers/sync.d.ts
  75. 59
    0
      node_modules/@nodelib/fs.walk/out/readers/sync.js
  76. 31
    0
      node_modules/@nodelib/fs.walk/out/settings.d.ts
  77. 26
    0
      node_modules/@nodelib/fs.walk/out/settings.js
  78. 9
    0
      node_modules/@nodelib/fs.walk/out/types/index.d.ts
  79. 2
    0
      node_modules/@nodelib/fs.walk/out/types/index.js
  80. 95
    0
      node_modules/@nodelib/fs.walk/package.json
  81. 132
    0
      node_modules/@sindresorhus/is/dist/index.d.ts
  82. 245
    0
      node_modules/@sindresorhus/is/dist/index.js
  83. 1
    0
      node_modules/@sindresorhus/is/dist/index.js.map
  84. 9
    0
      node_modules/@sindresorhus/is/license
  85. 125
    0
      node_modules/@sindresorhus/is/package.json
  86. 451
    0
      node_modules/@sindresorhus/is/readme.md
  87. 21
    0
      node_modules/@szmarczak/http-timer/LICENSE
  88. 70
    0
      node_modules/@szmarczak/http-timer/README.md
  89. 103
    0
      node_modules/@szmarczak/http-timer/package.json
  90. 99
    0
      node_modules/@szmarczak/http-timer/source/index.js
  91. 21
    0
      node_modules/@types/color-name/LICENSE
  92. 16
    0
      node_modules/@types/color-name/README.md
  93. 161
    0
      node_modules/@types/color-name/index.d.ts
  94. 83
    0
      node_modules/@types/color-name/package.json
  95. 20
    0
      node_modules/ajv/.tonic_example.js
  96. 22
    0
      node_modules/ajv/LICENSE
  97. 1477
    0
      node_modules/ajv/README.md
  98. 7189
    0
      node_modules/ajv/dist/ajv.bundle.js
  99. 3
    0
      node_modules/ajv/dist/ajv.min.js
  100. 0
    0
      node_modules/ajv/dist/ajv.min.js.map

+ 1
- 0
node_modules/.bin/cordova Просмотреть файл

@@ -0,0 +1 @@
1
+../cordova/bin/cordova

+ 1
- 0
node_modules/.bin/is-ci Просмотреть файл

@@ -0,0 +1 @@
1
+../is-ci/bin.js

+ 1
- 0
node_modules/.bin/is-docker Просмотреть файл

@@ -0,0 +1 @@
1
+../is-docker/cli.js

+ 1
- 0
node_modules/.bin/md5-file Просмотреть файл

@@ -0,0 +1 @@
1
+../md5-file/cli.js

+ 1
- 0
node_modules/.bin/node-which Просмотреть файл

@@ -0,0 +1 @@
1
+../which/bin/node-which

+ 1
- 0
node_modules/.bin/rc Просмотреть файл

@@ -0,0 +1 @@
1
+../rc/cli.js

+ 1
- 0
node_modules/.bin/rimraf Просмотреть файл

@@ -0,0 +1 @@
1
+../rimraf/bin.js

+ 1
- 0
node_modules/.bin/sshpk-conv Просмотреть файл

@@ -0,0 +1 @@
1
+../sshpk/bin/sshpk-conv

+ 1
- 0
node_modules/.bin/sshpk-sign Просмотреть файл

@@ -0,0 +1 @@
1
+../sshpk/bin/sshpk-sign

+ 1
- 0
node_modules/.bin/sshpk-verify Просмотреть файл

@@ -0,0 +1 @@
1
+../sshpk/bin/sshpk-verify

+ 1
- 0
node_modules/.bin/systeminformation Просмотреть файл

@@ -0,0 +1 @@
1
+../systeminformation/lib/cli.js

+ 1
- 0
node_modules/.bin/uuid Просмотреть файл

@@ -0,0 +1 @@
1
+../uuid/bin/uuid

+ 41
- 0
node_modules/@netflix/nerror/CHANGELOG.md Просмотреть файл

@@ -0,0 +1,41 @@
1
+<a name="1.1.3"></a>
2
+### 1.1.3 (2019-11-27)
3
+
4
+
5
+#### Bug Fixes
6
+
7
+* **nerror:**  don't call extsprintf if single string passed to VError constructor (#11) ([89b2088b](https://github.com/Netflix/nerror/commit/89b2088b))
8
+
9
+
10
+<a name="1.1.2"></a>
11
+### 1.1.2 (2019-07-26)
12
+
13
+
14
+<a name="1.1.1"></a>
15
+### 1.1.1 (2019-07-09)
16
+
17
+
18
+<a name="1.1.0"></a>
19
+## 1.1.0 (2019-05-06)
20
+
21
+
22
+#### Features
23
+
24
+* **errorForEach:** make it MultiError support more general (#2) ([96cc8769](https://github.com/Netflix/nerror/commit/96cc8769))
25
+
26
+
27
+<a name="1.0.0"></a>
28
+## 1.0.0 (2019-05-02)
29
+
30
+
31
+#### Features
32
+
33
+* **nerror:** initial commit ([c959d4fc](https://github.com/Netflix/nerror/commit/c959d4fc))
34
+
35
+
36
+#### Breaking Changes
37
+
38
+* initial release
39
+
40
+ ([6ae8bd30](https://github.com/Netflix/nerror/commit/6ae8bd30))
41
+

+ 21
- 0
node_modules/@netflix/nerror/LICENSE Просмотреть файл

@@ -0,0 +1,21 @@
1
+The MIT License (MIT)
2
+
3
+Copyright (c) 2019, AUTHORS. All rights reserved.
4
+
5
+Permission is hereby granted, free of charge, to any person obtaining a copy
6
+of this software and associated documentation files (the "Software"), to deal
7
+in the Software without restriction, including without limitation the rights
8
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+copies of the Software, and to permit persons to whom the Software is
10
+furnished to do so, subject to the following conditions:
11
+
12
+The above copyright notice and this permission notice shall be included in
13
+all copies or substantial portions of the Software.
14
+
15
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+THE SOFTWARE

+ 339
- 0
node_modules/@netflix/nerror/README.md Просмотреть файл

@@ -0,0 +1,339 @@
1
+# nerror: rich JavaScript errors
2
+
3
+[![Build Status](https://travis-ci.org/Netflix/nerror.svg?branch=master)](https://travis-ci.org/Netflix/nerror)
4
+
5
+*Netflix services uses [VError](https://github.com/joyent/node-verror) to make
6
+operation of Node.js applications easier  through meaningful error chains.
7
+VError is an amazing library by Joyent and we  are glad for all the hard work
8
+for the contributors made during the years.
9
+In early 2019 Netflix error handling requirements started to broaden enough that
10
+we had to find a way to make quick iterations on VError with minimizing the
11
+churn on existing VError customers. As a result of this we decided to fork
12
+VError as NError. We hope in the future after the initial development period we
13
+can seek convergence between the two projects.*
14
+
15
+This module provides several classes in support of Joyent's [Best Practices for
16
+Error Handling in Node.js](http://www.joyent.com/developers/node/design/errors).
17
+If you find any of the behavior here confusing or surprising, check out that
18
+document first.
19
+
20
+## API
21
+
22
+See [API](/api.md)
23
+
24
+## Classes
25
+
26
+The error classes here support:
27
+
28
+* printf-style arguments for the message
29
+* chains of causes
30
+* properties to provide extra information about the error
31
+* creating your own subclasses that support all of these
32
+
33
+The classes here are:
34
+
35
+* **VError**, for chaining errors while preserving each one's error message.
36
+  This is useful in servers and command-line utilities when you want to
37
+  propagate an error up a call stack, but allow various levels to add their own
38
+  context.  See examples below.
39
+* **WError**, for wrapping errors while hiding the lower-level messages from the
40
+  top-level error.  This is useful for API endpoints where you don't want to
41
+  expose internal error messages, but you still want to preserve the error chain
42
+  for logging and debugging.
43
+* **PError**, which is just like VError but does not interpret printf-style
44
+  arguments at all.
45
+* **SError**, which is just like VError but interprets printf-style arguments
46
+  more strictly.
47
+* **MultiError**, which is just an Error that encapsulates one or more other
48
+  errors.  (This is used for parallel operations that return several errors.)
49
+
50
+For the full list of features see [API](/api.md).
51
+
52
+## Quick start
53
+
54
+First, install the package:
55
+
56
+    npm install @netflix/nerror
57
+
58
+If nothing else, you can use VError as a drop-in replacement for the built-in
59
+JavaScript Error class, with the addition of printf-style messages:
60
+
61
+```javascript
62
+const { VError } = require('@netflix/nerror');
63
+const err = new VError('missing file: "%s"', '/etc/passwd');
64
+console.log(err.message);
65
+```
66
+
67
+This prints:
68
+
69
+    missing file: "/etc/passwd"
70
+
71
+You can also pass a `cause` argument, which is any other Error object:
72
+
73
+```javascript
74
+const fs = require('fs');
75
+const filename = '/nonexistent';
76
+fs.stat(filename, function (err1) {
77
+	const err2 = new VError(err1, 'stat "%s"', filename);
78
+	console.error(err2.message);
79
+});
80
+```
81
+
82
+This prints out:
83
+
84
+    stat "/nonexistent": ENOENT, stat '/nonexistent'
85
+
86
+which resembles how Unix programs typically report errors:
87
+
88
+    $ sort /nonexistent
89
+    sort: open failed: /nonexistent: No such file or directory
90
+
91
+To match the Unixy feel, when you print out the error, just prepend the
92
+program's name to the VError's `message`.  Or just call
93
+[node-cmdutil.fail(your_verror)](https://github.com/joyent/node-cmdutil), which
94
+does this for you.
95
+
96
+You can get the next-level Error using `err.cause()`:
97
+
98
+```javascript
99
+console.error(err2.cause().message);
100
+```
101
+
102
+prints:
103
+
104
+    ENOENT, stat '/nonexistent'
105
+
106
+Of course, you can chain these as many times as you want, and it works with any
107
+kind of Error:
108
+
109
+```javascript
110
+const err1 = new Error('No such file or directory');
111
+const err2 = new VError(err1, 'failed to stat "%s"', '/junk');
112
+const err3 = new VError(err2, 'request failed');
113
+console.error(err3.message);
114
+```
115
+
116
+This prints:
117
+
118
+    request failed: failed to stat "/junk": No such file or directory
119
+
120
+The idea is that each layer in the stack annotates the error with a description
121
+of what it was doing.  The end result is a message that explains what happened
122
+at each level.
123
+
124
+You can also decorate Error objects with additional information so that callers
125
+can not only handle each kind of error differently, but also construct their own
126
+error messages (e.g., to localize them, format them, group them by type, and so
127
+on).  See the example below.
128
+
129
+
130
+## Deeper dive
131
+
132
+The two main goals for VError are:
133
+
134
+* **Make it easy to construct clear, complete error messages intended for
135
+  people.**  Clear error messages greatly improve both user experience and
136
+  debuggability, so we wanted to make it easy to build them.  That's why the
137
+  constructor takes printf-style arguments.
138
+* **Make it easy to construct objects with programmatically-accessible
139
+  metadata** (which we call _informational properties_).  Instead of just saying
140
+  "connection refused while connecting to 192.168.1.2:80", you can add
141
+  properties like `"ip": "192.168.1.2"` and `"tcpPort": 80`.  This can be used
142
+  for feeding into monitoring systems, analyzing large numbers of Errors (as
143
+  from a log file), or localizing error messages.
144
+
145
+To really make this useful, it also needs to be easy to compose Errors:
146
+higher-level code should be able to augment the Errors reported by lower-level
147
+code to provide a more complete description of what happened.  Instead of saying
148
+"connection refused", you can say "operation X failed: connection refused".
149
+That's why VError supports `causes`.
150
+
151
+In order for all this to work, programmers need to know that it's generally safe
152
+to wrap lower-level Errors with higher-level ones.  If you have existing code
153
+that handles Errors produced by a library, you should be able to wrap those
154
+Errors with a VError to add information without breaking the error handling
155
+code.  There are two obvious ways that this could break such consumers:
156
+
157
+* The error's name might change.  People typically use `name` to determine what
158
+  kind of Error they've got.  To ensure compatibility, you can create VErrors
159
+  with custom names, but this approach isn't great because it prevents you from
160
+  representing complex failures.  For this reason, VError provides
161
+  `findCauseByName`, which essentially asks: does this Error _or any of its
162
+  causes_ have this specific type?  If error handling code uses
163
+  `findCauseByName`, then subsystems can construct very specific causal chains
164
+  for debuggability and still let people handle simple cases easily.  There's an
165
+  example below.
166
+* The error's properties might change.  People often hang additional properties
167
+  off of Error objects.  If we wrap an existing Error in a new Error, those
168
+  properties would be lost unless we copied them.  But there are a variety of
169
+  both standard and non-standard Error properties that should _not_ be copied in
170
+  this way: most obviously `name`, `message`, and `stack`, but also `fileName`,
171
+  `lineNumber`, and a few others.  Plus, it's useful for some Error subclasses
172
+  to have their own private properties -- and there'd be no way to know whether
173
+  these should be copied.  For these reasons, VError first-classes these
174
+  information properties.  You have to provide them in the constructor, you can
175
+  only fetch them with the `info()` function, and VError takes care of making
176
+  sure properties from causes wind up in the `info()` output.
177
+
178
+Let's put this all together with an example from the node-fast RPC library.
179
+node-fast implements a simple RPC protocol for Node programs.  There's a server
180
+and client interface, and clients make RPC requests to servers.  Let's say the
181
+server fails with an UnauthorizedError with message "user 'bob' is not
182
+authorized".  The client wraps all server errors with a FastServerError.  The
183
+client also wraps all request errors with a FastRequestError that includes the
184
+name of the RPC call being made.  The result of this failed RPC might look like
185
+this:
186
+
187
+    name: FastRequestError
188
+    message: "request failed: server error: user 'bob' is not authorized"
189
+    rpcMsgid: <unique identifier for this request>
190
+    rpcMethod: GetObject
191
+    cause:
192
+        name: FastServerError
193
+        message: "server error: user 'bob' is not authorized"
194
+        cause:
195
+            name: UnauthorizedError
196
+            message: "user 'bob' is not authorized"
197
+            rpcUser: "bob"
198
+
199
+When the caller uses `VError.info()`, the information properties are collapsed
200
+so that it looks like this:
201
+
202
+    message: "request failed: server error: user 'bob' is not authorized"
203
+    rpcMsgid: <unique identifier for this request>
204
+    rpcMethod: GetObject
205
+    rpcUser: "bob"
206
+
207
+Taking this apart:
208
+
209
+* The error's message is a complete description of the problem.  The caller can
210
+  report this directly to its caller, which can potentially make its way back to
211
+  an end user (if appropriate).  It can also be logged.
212
+* The caller can tell that the request failed on the server, rather than as a
213
+  result of a client problem (e.g., failure to serialize the request), a
214
+  transport problem (e.g., failure to connect to the server), or something else
215
+  (e.g., a timeout).  They do this using `findCauseByName('FastServerError')`
216
+  rather than checking the `name` field directly.
217
+* If the caller logs this error, the logs can be analyzed to aggregate
218
+  errors by cause, by RPC method name, by user, or whatever.  Or the
219
+  error can be correlated with other events for the same rpcMsgid.
220
+* It wasn't very hard for any part of the code to contribute to this Error.
221
+  Each part of the stack has just a few lines to provide exactly what it knows,
222
+  with very little boilerplate.
223
+
224
+It's not expected that you'd use these complex forms all the time.  Despite
225
+supporting the complex case above, you can still just do:
226
+
227
+   new VError("my service isn't working");
228
+
229
+for the simple cases.
230
+
231
+
232
+## Examples
233
+
234
+The "Demo" section above covers several basic cases.  Here's a more advanced
235
+case:
236
+
237
+```javascript
238
+const err1 = new VError('something bad happened');
239
+/* ... */
240
+const err2 = new VError({
241
+    'name': 'ConnectionError',
242
+    'cause': err1,
243
+    'info': {
244
+        'errno': 'ECONNREFUSED',
245
+        'remote_ip': '127.0.0.1',
246
+        'port': 215
247
+    }
248
+}, 'failed to connect to "%s:%d"', '127.0.0.1', 215);
249
+
250
+console.log(err2.message);
251
+console.log(err2.name);
252
+console.log(VError.info(err2));
253
+console.log(err2.stack);
254
+```
255
+
256
+This outputs:
257
+
258
+    failed to connect to "127.0.0.1:215": something bad happened
259
+    ConnectionError
260
+    { errno: 'ECONNREFUSED', remote_ip: '127.0.0.1', port: 215 }
261
+    ConnectionError: failed to connect to "127.0.0.1:215": something bad happened
262
+        at Object.<anonymous> (/home/dap/node-verror/examples/info.js:5:12)
263
+        at Module._compile (module.js:456:26)
264
+        at Object.Module._extensions..js (module.js:474:10)
265
+        at Module.load (module.js:356:32)
266
+        at Function.Module._load (module.js:312:12)
267
+        at Function.Module.runMain (module.js:497:10)
268
+        at startup (node.js:119:16)
269
+        at node.js:935:3
270
+
271
+Information properties are inherited up the cause chain, with values at the top
272
+of the chain overriding same-named values lower in the chain.  To continue that
273
+example:
274
+
275
+```javascript
276
+const err3 = new VError({
277
+    'name': 'RequestError',
278
+    'cause': err2,
279
+    'info': {
280
+        'errno': 'EBADREQUEST'
281
+    }
282
+}, 'request failed');
283
+
284
+console.log(err3.message);
285
+console.log(err3.name);
286
+console.log(VError.info(err3));
287
+console.log(err3.stack);
288
+```
289
+
290
+This outputs:
291
+
292
+    request failed: failed to connect to "127.0.0.1:215": something bad happened
293
+    RequestError
294
+    { errno: 'EBADREQUEST', remote_ip: '127.0.0.1', port: 215 }
295
+    RequestError: request failed: failed to connect to "127.0.0.1:215": something bad happened
296
+        at Object.<anonymous> (/home/dap/node-verror/examples/info.js:20:12)
297
+        at Module._compile (module.js:456:26)
298
+        at Object.Module._extensions..js (module.js:474:10)
299
+        at Module.load (module.js:356:32)
300
+        at Function.Module._load (module.js:312:12)
301
+        at Function.Module.runMain (module.js:497:10)
302
+        at startup (node.js:119:16)
303
+        at node.js:935:3
304
+
305
+You can also print the complete stack trace of combined `Error`s by using
306
+`VError.fullStack(err).`
307
+
308
+```javascript
309
+const err1 = new VError('something bad happened');
310
+/* ... */
311
+const err2 = new VError(err1, 'something really bad happened here');
312
+
313
+console.log(VError.fullStack(err2));
314
+```
315
+
316
+This outputs:
317
+
318
+    VError: something really bad happened here: something bad happened
319
+        at Object.<anonymous> (/home/dap/node-verror/examples/fullStack.js:5:12)
320
+        at Module._compile (module.js:409:26)
321
+        at Object.Module._extensions..js (module.js:416:10)
322
+        at Module.load (module.js:343:32)
323
+        at Function.Module._load (module.js:300:12)
324
+        at Function.Module.runMain (module.js:441:10)
325
+        at startup (node.js:139:18)
326
+        at node.js:968:3
327
+    caused by: VError: something bad happened
328
+        at Object.<anonymous> (/home/dap/node-verror/examples/fullStack.js:3:12)
329
+        at Module._compile (module.js:409:26)
330
+        at Object.Module._extensions..js (module.js:416:10)
331
+        at Module.load (module.js:343:32)
332
+        at Function.Module._load (module.js:300:12)
333
+        at Function.Module.runMain (module.js:441:10)
334
+        at startup (node.js:139:18)
335
+        at node.js:968:3
336
+
337
+`VError.fullStack` is also safe to use on regular `Error`s, so feel free to use
338
+it whenever you need to extract the stack trace from an `Error`, regardless if
339
+it's a `VError` or not.

+ 67
- 0
node_modules/@netflix/nerror/lib/index.d.ts Просмотреть файл

@@ -0,0 +1,67 @@
1
+export class VError extends Error {
2
+    static VError: typeof VError;
3
+
4
+    static cause(err: Error): Error | null;
5
+    static info(err: Error): VError.Info;
6
+    static fullStack(err: Error): string;
7
+    static findCauseByName(err: Error, name: string): Error | null;
8
+    static hasCauseWithName(err: Error, name: string): boolean;
9
+    static errorFromList<T extends Error>(
10
+        errors: T[]
11
+    ): null | T | VError.MultiError;
12
+    static errorForEach(err: Error, func: (err: Error) => void): void;
13
+
14
+    cause(): Error | undefined;
15
+    constructor(
16
+        options: VError.Options | Error,
17
+        message: string,
18
+        ...params: any[]
19
+    );
20
+    constructor(message?: string, ...params: any[]);
21
+}
22
+
23
+export namespace VError {
24
+    interface Info {
25
+        [key: string]: any;
26
+    }
27
+
28
+    interface Options {
29
+        cause?: Error | null;
30
+        name?: string;
31
+        strict?: boolean;
32
+        constructorOpt?(...args: any[]): void;
33
+        info?: Info;
34
+    }
35
+
36
+    /*
37
+     * SError is like VError, but stricter about types.  You cannot pass "null" or
38
+     * "undefined" as string arguments to the formatter.  Since SError is only a
39
+     * different function, not really a different class, we don't set
40
+     * SError.prototype.name.
41
+     */
42
+    class SError extends VError {}
43
+
44
+    /*
45
+     * PError is like VError, but the message is not run through printf-style
46
+     * templating.
47
+     */
48
+    class PError extends VError {}
49
+
50
+    /*
51
+     * Represents a collection of errors for the purpose of consumers that generally
52
+     * only deal with one error.  Callers can extract the individual errors
53
+     * contained in this object, but may also just treat it as a normal single
54
+     * error, in which case a summary message will be printed.
55
+     */
56
+    class MultiError extends VError {
57
+        constructor(errors: Error[]);
58
+        errors(): Error[];
59
+    }
60
+
61
+    /*
62
+     * Like JavaScript's built-in Error class, but supports a "cause" argument which
63
+     * is wrapped, not "folded in" as with VError.	Accepts a printf-style message.
64
+     * The cause argument can be null.
65
+     */
66
+    class WError extends VError {}
67
+}

+ 3
- 0
node_modules/@netflix/nerror/lib/index.js Просмотреть файл

@@ -0,0 +1,3 @@
1
+'use strict';
2
+
3
+module.exports = require('./verror');

+ 813
- 0
node_modules/@netflix/nerror/lib/verror.js Просмотреть файл

@@ -0,0 +1,813 @@
1
+'use strict';
2
+
3
+/*
4
+ * verror.js: richer JavaScript errors
5
+ */
6
+const util = require('util');
7
+
8
+const _ = require('lodash');
9
+const assert = require('assert-plus');
10
+const { sprintf } = require('extsprintf');
11
+
12
+/*
13
+ * Public interface
14
+ */
15
+
16
+/* So you can 'var VError = require('@netflix/nerror')' */
17
+module.exports = VError;
18
+/* For compatibility */
19
+VError.VError = VError;
20
+/* Other exported classes */
21
+VError.PError = PError;
22
+VError.SError = SError;
23
+VError.WError = WError;
24
+VError.MultiError = MultiError;
25
+
26
+/**
27
+ * Normalized forms, producing an object with the following properties.
28
+ * @private
29
+ * @typedef {Object} ParsedOptions parsed Options
30
+ * @param {Object} options e- quivalent to "options" in third form. This will
31
+ *              never
32
+ *    			be a direct reference to what the caller passed in
33
+ *    			(i.e., it may be a shallow copy), so it can be freely
34
+ *    			modified.
35
+ * @param {String} shortmessage - result of sprintf(sprintf_args), taking
36
+ *              `options.strict` into account as described in README.md.
37
+ */
38
+
39
+/**
40
+ * Common function used to parse constructor arguments for VError, WError, and
41
+ * SError.  Named arguments to this function:
42
+ *
43
+ *     strict		force strict interpretation of sprintf arguments, even
44
+ *     			if the options in "argv" don't say so
45
+ *
46
+ *     argv		error's constructor arguments, which are to be
47
+ *     			interpreted as described in README.md.  For quick
48
+ *     			reference, "argv" has one of the following forms:
49
+ *
50
+ *          [ sprintf_args... ]           (argv[0] is a string)
51
+ *          [ cause, sprintf_args... ]    (argv[0] is an Error)
52
+ *          [ options, sprintf_args... ]  (argv[0] is an object)
53
+ *
54
+
55
+ * @private
56
+ * @param {Array} args - arguments
57
+ * @returns {ParsedOptions} parsed options
58
+ */
59
+function parseConstructorArguments(args) {
60
+    let options, sprintf_args, shortmessage, k;
61
+
62
+    assert.object(args, 'args');
63
+    assert.bool(args.strict, 'args.strict');
64
+    assert.array(args.argv, 'args.argv');
65
+    assert.optionalBool(args.skipPrintf, 'args.skipPrintf');
66
+    const argv = args.argv;
67
+
68
+    /*
69
+     * First, figure out which form of invocation we've been given.
70
+     */
71
+    if (argv.length === 0) {
72
+        options = {};
73
+        sprintf_args = [];
74
+    } else if (_.isError(argv[0])) {
75
+        options = { cause: argv[0] };
76
+        sprintf_args = argv.slice(1);
77
+    } else if (typeof argv[0] === 'object') {
78
+        options = {};
79
+        // eslint-disable-next-line guard-for-in
80
+        for (k in argv[0]) {
81
+            options[k] = argv[0][k];
82
+        }
83
+        sprintf_args = argv.slice(1);
84
+    } else {
85
+        assert.string(
86
+            argv[0],
87
+            'first argument to VError, PError, SError, or WError ' +
88
+                'constructor must be a string, object, or Error'
89
+        );
90
+        options = {};
91
+        sprintf_args = argv;
92
+    }
93
+
94
+    // Preserve options
95
+    if (args.skipPrintf) {
96
+        options.skipPrintf = args.skipPrintf;
97
+    }
98
+    if (args.strict) {
99
+        options.strict = args.strict;
100
+    }
101
+
102
+    /*
103
+     * Now construct the error's message.
104
+     *
105
+     * extsprintf (which we invoke here with our caller's arguments in order
106
+     * to construct this Error's message) is strict in its interpretation of
107
+     * values to be processed by the "%s" specifier.  The value passed to
108
+     * extsprintf must actually be a string or something convertible to a
109
+     * String using .toString().  Passing other values (notably "null" and
110
+     * "undefined") is considered a programmer error.  The assumption is
111
+     * that if you actually want to print the string "null" or "undefined",
112
+     * then that's easy to do that when you're calling extsprintf; on the
113
+     * other hand, if you did NOT want that (i.e., there's actually a bug
114
+     * where the program assumes some variable is non-null and tries to
115
+     * print it, which might happen when constructing a packet or file in
116
+     * some specific format), then it's better to stop immediately than
117
+     * produce bogus output.
118
+     *
119
+     * However, sometimes the bug is only in the code calling VError, and a
120
+     * programmer might prefer to have the error message contain "null" or
121
+     * "undefined" rather than have the bug in the error path crash the
122
+     * program (making the first bug harder to identify).  For that reason,
123
+     * by default VError converts "null" or "undefined" arguments to their
124
+     * string representations and passes those to extsprintf.  Programmers
125
+     * desiring the strict behavior can use the SError class or pass the
126
+     * "strict" option to the VError constructor.
127
+     */
128
+    assert.object(options);
129
+    if (!options.skipPrintf && !options.strict && !args.strict) {
130
+        sprintf_args = sprintf_args.map(function(a) {
131
+            return a === null ? 'null' : a === undefined ? 'undefined' : a;
132
+        });
133
+    }
134
+
135
+    if (sprintf_args.length === 0) {
136
+        shortmessage = '';
137
+    } else if (
138
+        options.skipPrintf ||
139
+        (sprintf_args.length === 1 && typeof sprintf_args[0] === 'string')
140
+    ) {
141
+        assert.equal(
142
+            sprintf_args.length,
143
+            1,
144
+            'only one argument is allowed with options.skipPrintf'
145
+        );
146
+        shortmessage = sprintf_args[0];
147
+    } else {
148
+        shortmessage = sprintf.apply(null, sprintf_args);
149
+    }
150
+
151
+    return {
152
+        options: options,
153
+        shortmessage: shortmessage
154
+    };
155
+}
156
+
157
+/**
158
+ * @public
159
+ * @typedef {Object} VErrorOptions Options
160
+ * @param {String} name - Name of the error.
161
+ * @param {Error} [cause] -  Indicates that the new error was caused by `cause`.
162
+ * @param {Boolean} [strict=false] - If true, then `null` and `undefined` values
163
+ *  in `sprintf_args` are passed through to `sprintf()`
164
+ * @param {Function} [constructorOpt] -If specified, then the stack trace for
165
+ *  this error ends at function `constructorOpt`.
166
+ * @param {Object} [info]- Specifies arbitrary informational properties.
167
+ * @param {Boolean} [skipPrintf=false] - If true, then `sprintf()` is not called
168
+ */
169
+
170
+/**
171
+ *
172
+ * About Constructor:
173
+ * All of these forms construct a new VError that behaves just like the built-in
174
+ * JavaScript `Error` class, with some additional methods described below.
175
+ *
176
+ * About Properties:
177
+ * For all of these classes except `PError`, the printf-style arguments passed to
178
+ * the constructor are processed with `sprintf()` to form a message.
179
+ * For `WError`, this becomes the complete `message` property.  For `SError` and
180
+ * `VError`, this message is prepended to the message of the cause, if any
181
+ * (with a suitable separator), and the result becomes the `message` property.
182
+ *
183
+ * The `stack` property is managed entirely by the underlying JavaScript
184
+ * implementation.  It's generally implemented using a getter function because
185
+ * constructing the human-readable stack trace is somewhat expensive.
186
+ *
187
+ * @public
188
+ * @class VError
189
+ * @param {...String|VErrorOptions|Error} [arg] - sprintf args, options or cause
190
+ * @param {...String} [args] - sprintf args
191
+ * @property {String} name - Programmatically-usable name of the error.
192
+ * @property {String} message - Human-readable summary of the failure.
193
+ * Programmatically-accessible details are provided through `VError.info(err)`
194
+ * class method.
195
+ * @property {String} stack - Human-readable stack trace where the Error was
196
+ * constructed.
197
+ * @example
198
+ * // This is the most general form.  You can specify any supported options
199
+ * // including "cause" and "info") this way.</caption>
200
+ * new VError(options, sprintf_args...)
201
+ * @example
202
+ * // This is a useful shorthand when the only option you need is "cause".
203
+ * new VError(cause, sprintf_args...)
204
+ * @example
205
+ * // This is a useful shorthand when you don't need any options at all.
206
+ * new VError(sprintf_args...)
207
+ */
208
+function VError(...args) {
209
+    let obj, ctor, message, k;
210
+
211
+    /*
212
+     * This is a regrettable pattern, but JavaScript's built-in Error class
213
+     * is defined to work this way, so we allow the constructor to be called
214
+     * without "new".
215
+     */
216
+    if (!(this instanceof VError)) {
217
+        obj = Object.create(VError.prototype);
218
+        VError.apply(obj, arguments);
219
+        return obj;
220
+    }
221
+
222
+    /*
223
+     * For convenience and backwards compatibility, we support several
224
+     * different calling forms.  Normalize them here.
225
+     */
226
+    const parsed = parseConstructorArguments({
227
+        argv: args,
228
+        strict: false
229
+    });
230
+
231
+    /*
232
+     * If we've been given a name, apply it now.
233
+     */
234
+    if (parsed.options.name) {
235
+        assert.string(parsed.options.name, 'error\'s "name" must be a string');
236
+        this.name = parsed.options.name;
237
+    }
238
+
239
+    /*
240
+     * For debugging, we keep track of the original short message (attached
241
+     * this Error particularly) separately from the complete message (which
242
+     * includes the messages of our cause chain).
243
+     */
244
+    this.jse_shortmsg = parsed.shortmessage;
245
+    message = parsed.shortmessage;
246
+
247
+    /*
248
+     * If we've been given a cause, record a reference to it and update our
249
+     * message appropriately.
250
+     */
251
+    const cause = parsed.options.cause;
252
+    if (cause) {
253
+        VError._assertError(cause, '"cause" must be an Error');
254
+        this.jse_cause = cause;
255
+
256
+        if (!parsed.options.skipCauseMessage) {
257
+            message += ': ' + cause.message;
258
+        }
259
+    }
260
+
261
+    /*
262
+     * If we've been given an object with properties, shallow-copy that
263
+     * here.  We don't want to use a deep copy in case there are non-plain
264
+     * objects here, but we don't want to use the original object in case
265
+     * the caller modifies it later.
266
+     */
267
+    this.jse_info = {};
268
+    if (parsed.options.info) {
269
+        // eslint-disable-next-line guard-for-in
270
+        for (k in parsed.options.info) {
271
+            this.jse_info[k] = parsed.options.info[k];
272
+        }
273
+    }
274
+
275
+    this.message = message;
276
+    Error.call(this, message);
277
+
278
+    if (Error.captureStackTrace) {
279
+        ctor = parsed.options.constructorOpt || this.constructor;
280
+        Error.captureStackTrace(this, ctor);
281
+    }
282
+
283
+    return this;
284
+}
285
+
286
+util.inherits(VError, Error);
287
+VError.prototype.name = 'VError';
288
+
289
+/**
290
+ * Appends any keys/fields to the existing jse_info. this can stomp over any
291
+ * existing fields.
292
+ * @public
293
+ * @memberof VError.prototype
294
+ * @param {Object} obj source obj to assign fields from
295
+ * @return {Object} new info object
296
+ */
297
+VError.prototype.assignInfo = function ve_assignInfo(obj) {
298
+    assert.optionalObject(obj, 'obj');
299
+    return Object.assign(this.jse_info, obj);
300
+};
301
+
302
+/**
303
+ * Instance level convenience method vs using the static methods on VError.
304
+ * @public
305
+ * @memberof VError.prototype
306
+ * @return {Object} info object
307
+ */
308
+VError.prototype.info = function ve_info() {
309
+    return VError.info(this);
310
+};
311
+
312
+/**
313
+ * A string representing the VError.
314
+ * @public
315
+ * @memberof VError.prototype
316
+ * @return {String} string representation
317
+ */
318
+VError.prototype.toString = function ve_toString() {
319
+    let str =
320
+        (this.hasOwnProperty('name') && this.name) ||
321
+        this.constructor.name ||
322
+        this.constructor.prototype.name;
323
+    if (this.message) {
324
+        str += ': ' + this.message;
325
+    }
326
+
327
+    return str;
328
+};
329
+
330
+/**
331
+ * This method is provided for compatibility.  New callers should use
332
+ * VError.cause() instead.  That method also uses the saner `null` return value
333
+ * when there is no cause.
334
+ * @public
335
+ * @memberof VError.prototype
336
+ * @return {undefined|Error} Error cause if any
337
+ */
338
+VError.prototype.cause = function ve_cause() {
339
+    const cause = VError.cause(this);
340
+    return cause === null ? undefined : cause;
341
+};
342
+
343
+/*
344
+ * Static methods
345
+ *
346
+ * These class-level methods are provided so that callers can use them on
347
+ * instances of Errors that are not VErrors.  New interfaces should be provided
348
+ * only using static methods to eliminate the class of programming mistake where
349
+ * people fail to check whether the Error object has the corresponding methods.
350
+ */
351
+
352
+/**
353
+ * @private
354
+ * @static
355
+ * @memberof VError
356
+ * @param {Error} err - error to assert
357
+ * @param {String} [msg] - optional message
358
+ * @returns {undefined} no return value
359
+ * @throws AssertationError - when input is not an error
360
+ */
361
+VError._assertError = function _assertError(err, msg) {
362
+    assert.optionalString(msg, 'msg');
363
+    const _msg = (msg || 'err must be an Error') + ` but got ${String(err)}`;
364
+    assert.ok(_.isError(err), _msg);
365
+};
366
+
367
+/**
368
+ * Checks if an error is a VError or VError sub-class.
369
+ *
370
+ * @public
371
+ * @static
372
+ * @memberof VError
373
+ * @param {Error} err - error
374
+ * @return {Boolean} is a VError or VError sub-class
375
+ */
376
+VError.isVError = function assignInfo(err) {
377
+    // We are checking on internals here instead of using
378
+    // `err instanceof VError` to being compatible with the original VError lib.
379
+    return err && err.hasOwnProperty('jse_info');
380
+};
381
+
382
+/**
383
+ * Appends any keys/fields to the `jse_info`. This can stomp over any existing
384
+ * fields.
385
+ *
386
+ * Note: This method is static because in this way we don't need to check on
387
+ * VError versions to be sure `assignInfo` method is supported.
388
+ *
389
+ * @public
390
+ * @static
391
+ * @memberof VError
392
+ * @param {Error} err - error
393
+ * @param {Object} obj - source obj to assign fields from
394
+ * @return {Object} new info object
395
+ */
396
+VError.assignInfo = function assignInfo(err, obj) {
397
+    VError._assertError(err);
398
+    assert.optionalObject(obj, 'obj');
399
+
400
+    if (!VError.isVError(err)) {
401
+        throw new TypeError('err must be an instance of VError');
402
+    }
403
+
404
+    return Object.assign(err.jse_info, obj);
405
+};
406
+
407
+/**
408
+ * Returns the next Error in the cause chain for `err`, or `null` if there is no
409
+ * next error.  See the `cause` argument to the constructor.
410
+ * Errors can have arbitrarily long cause chains.  You can walk the `cause`
411
+ * chain by invoking `VError.cause(err)` on each subsequent return value.
412
+ * If `err` is not a `VError`, the cause is `null`.
413
+ *
414
+ * @public
415
+ * @static
416
+ * @memberof VError
417
+ * @param {VError} err - error
418
+ * @return {undefined|Error} Error cause if any
419
+ */
420
+VError.cause = function cause(err) {
421
+    VError._assertError(err);
422
+    return _.isError(err.jse_cause) ? err.jse_cause : null;
423
+};
424
+
425
+/**
426
+ * Returns an object with all of the extra error information that's been
427
+ * associated with this Error and all of its causes. These are the properties
428
+ * passed in using the `info` option to the constructor. Properties not
429
+ * specified in the constructor for this Error are implicitly inherited from
430
+ * this error's cause.
431
+ *
432
+ * These properties are intended to provide programmatically-accessible metadata
433
+ * about the error.  For an error that indicates a failure to resolve a DNS
434
+ * name, informational properties might include the DNS name to be resolved, or
435
+ * even the list of resolvers used to resolve it.  The values of these
436
+ * properties should generally be plain objects (i.e., consisting only of null,
437
+ * undefined, numbers, booleans, strings, and objects and arrays containing only
438
+ * other plain objects).
439
+ *
440
+ * @public
441
+ * @static
442
+ * @memberof VError
443
+ * @param {VError} err - error
444
+ * @return {Object} info object
445
+ */
446
+VError.info = function info(err) {
447
+    let rv, k;
448
+
449
+    VError._assertError(err);
450
+    const cause = VError.cause(err);
451
+    if (cause !== null) {
452
+        rv = VError.info(cause);
453
+    } else {
454
+        rv = {};
455
+    }
456
+
457
+    if (typeof err.jse_info === 'object' && err.jse_info !== null) {
458
+        // eslint-disable-next-line guard-for-in
459
+        for (k in err.jse_info) {
460
+            rv[k] = err.jse_info[k];
461
+        }
462
+    }
463
+
464
+    return rv;
465
+};
466
+
467
+/**
468
+ * The `findCauseByName()` function traverses the cause chain for `err`, looking
469
+ * for an error whose `name` property matches the passed in `name` value. If no
470
+ * match is found, `null` is returned.
471
+ *
472
+ * If all you want is to know _whether_ there's a cause (and you don't care what
473
+ * it is), you can use `VError.hasCauseWithName(err, name)`.
474
+ *
475
+ * If a vanilla error or a non-VError error is passed in, then there is no cause
476
+ * chain to traverse. In this scenario, the function will check the `name`
477
+ * property of only `err`.
478
+ *
479
+ * @public
480
+ * @static
481
+ * @memberof VError
482
+ * @param {VError} err - error
483
+ * @param {String} name - name of cause Error
484
+ * @return {null|Error} cause if any
485
+ */
486
+VError.findCauseByName = function findCauseByName(err, name) {
487
+    let cause;
488
+
489
+    VError._assertError(err);
490
+    assert.string(name, 'name');
491
+    assert.ok(name.length > 0, 'name cannot be empty');
492
+
493
+    for (cause = err; cause !== null; cause = VError.cause(cause)) {
494
+        assert.ok(_.isError(cause));
495
+        if (cause.name === name) {
496
+            return cause;
497
+        }
498
+    }
499
+
500
+    return null;
501
+};
502
+
503
+/**
504
+ * Returns true if and only if `VError.findCauseByName(err, name)` would return
505
+ * a non-null value.  This essentially determines whether `err` has any cause in
506
+ * its cause chain that has name `name`.
507
+ *
508
+ * @public
509
+ * @static
510
+ * @memberof VError
511
+ * @param {VError} err - error
512
+ * @param {String} name - name of cause Error
513
+ * @return {Boolean} has cause
514
+ */
515
+VError.hasCauseWithName = function hasCauseWithName(err, name) {
516
+    return VError.findCauseByName(err, name) !== null;
517
+};
518
+
519
+/**
520
+ * Returns a string containing the full stack trace, with all nested errors
521
+ * recursively reported as `'caused by:' + err.stack`.
522
+ *
523
+ * @public
524
+ * @static
525
+ * @memberof VError
526
+ * @param {VError} err - error
527
+ * @return {String} full stack trace
528
+ */
529
+VError.fullStack = function fullStack(err) {
530
+    VError._assertError(err);
531
+
532
+    const cause = VError.cause(err);
533
+
534
+    if (cause) {
535
+        return err.stack + '\ncaused by: ' + VError.fullStack(cause);
536
+    }
537
+
538
+    return err.stack;
539
+};
540
+
541
+/**
542
+ * Given an array of Error objects (possibly empty), return a single error
543
+ * representing the whole collection of errors. If the list has:
544
+ *
545
+ * * 0 elements, returns `null`
546
+ * * 1 element, returns the sole error
547
+ * * more than 1 element, returns a MultiError referencing the whole list
548
+ *
549
+ * This is useful for cases where an operation may produce any number of errors,
550
+ * and you ultimately want to implement the usual `callback(err)` pattern.
551
+ * You can accumulate the errors in an array and then invoke
552
+ * `callback(VError.errorFromList(errors))` when the operation is complete.
553
+ *
554
+ * @public
555
+ * @static
556
+ * @memberof VError
557
+ * @param {Array<Error>} errors - errors
558
+ * @return {null|Error|MultiError} single or multi error if any
559
+ */
560
+VError.errorFromList = function errorFromList(errors) {
561
+    assert.arrayOfObject(errors, 'errors');
562
+
563
+    if (errors.length === 0) {
564
+        return null;
565
+    }
566
+
567
+    errors.forEach(function(e) {
568
+        assert.ok(_.isError(e), 'all errors must be an Error');
569
+    });
570
+
571
+    if (errors.length === 1) {
572
+        return errors[0];
573
+    }
574
+
575
+    return new MultiError(errors);
576
+};
577
+
578
+/**
579
+ * Convenience function for iterating an error that may itself be a MultiError.
580
+ *
581
+ * In all cases, `err` must be an Error.  If `err` is a MultiError, then `func`
582
+ * is invoked as `func(errorN)` for each of the underlying errors of the
583
+ * MultiError.
584
+ * If `err` is any other kind of error, `func` is invoked once as `func(err)`.
585
+ * In all cases, `func` is invoked synchronously.
586
+ *
587
+ * This is useful for cases where an operation may produce any number of
588
+ * warnings that may be encapsulated with a MultiError -- but may not be.
589
+ *
590
+ * This function does not iterate an error's cause chain.
591
+ *
592
+ * @public
593
+ * @static
594
+ * @memberof VError
595
+ * @param {Error} err - error
596
+ * @param {Function} func - iterator
597
+ * @return {undefined} no return value
598
+ */
599
+VError.errorForEach = function errorForEach(err, func) {
600
+    VError._assertError(err);
601
+    assert.func(func, 'func');
602
+
603
+    if (err.name === 'MultiError') {
604
+        err.errors().forEach(function iterError(e) {
605
+            func(e);
606
+        });
607
+    } else {
608
+        func(err);
609
+    }
610
+};
611
+
612
+/**
613
+ * PError is like VError, but the message is not run through printf-style
614
+ * templating.
615
+ *
616
+ * @public
617
+ * @class PError
618
+ * @extends VError
619
+ * @param {...String|VErrorOptions|Error} [arg] - sprintf args, options or cause
620
+ * @param {...String} [args] - sprintf args
621
+ */
622
+function PError(...args) {
623
+    let obj;
624
+
625
+    if (!(this instanceof PError)) {
626
+        obj = Object.create(PError.prototype);
627
+        PError.apply(obj, args);
628
+        return obj;
629
+    }
630
+
631
+    const parsed = parseConstructorArguments({
632
+        argv: args,
633
+        strict: false,
634
+        skipPrintf: true
635
+    });
636
+
637
+    VError.call(this, parsed.options, parsed.shortmessage);
638
+
639
+    return this;
640
+}
641
+
642
+util.inherits(PError, VError);
643
+PError.prototype.name = 'PError';
644
+
645
+/**
646
+ * SError is like VError, but stricter about types. You cannot pass "null" or
647
+ * "undefined" as string arguments to the formatter.
648
+ *
649
+ * @public
650
+ * @class SError
651
+ * @extends VError
652
+ * @param {...String|VErrorOptions|Error} [arg] - sprintf args, options or cause
653
+ * @param {...String} [args] - sprintf args
654
+ */
655
+function SError(...args) {
656
+    let obj;
657
+
658
+    if (!(this instanceof SError)) {
659
+        obj = Object.create(SError.prototype);
660
+        SError.apply(obj, arguments);
661
+        return obj;
662
+    }
663
+
664
+    const parsed = parseConstructorArguments({
665
+        argv: args,
666
+        strict: true
667
+    });
668
+
669
+    const options = parsed.options;
670
+    options.skipPrintf = false;
671
+    VError.call(this, options, '%s', parsed.shortmessage);
672
+
673
+    return this;
674
+}
675
+
676
+/*
677
+ * We don't bother setting SError.prototype.name because once constructed,
678
+ * SErrors are just like VErrors.
679
+ */
680
+util.inherits(SError, VError);
681
+
682
+/**
683
+ * Represents a collection of errors for the purpose of consumers that generally
684
+ * only deal with one error.  Callers can extract the individual errors
685
+ * contained in this object, but may also just treat it as a normal single
686
+ * error, in which case a summary message will be printed.
687
+ *
688
+ * @public
689
+ * @class MultiError
690
+ * @extends VError
691
+ * @param {Array<Error>} errors - errors
692
+ * @example
693
+ * // `error_list` is an array of at least one `Error` object.
694
+ * new MultiError(error_list)
695
+ *
696
+ * // The cause of the MultiError is the first error provided.  None of the
697
+ * // other `VError` options are supported.  The `message` for a MultiError
698
+ * // consists the `message` from the first error, prepended with a message
699
+ * // indicating that there were other errors.
700
+ *
701
+ * //For example:
702
+ * err = new MultiError([
703
+ *     new Error('failed to resolve DNS name "abc.example.com"'),
704
+ *     new Error('failed to resolve DNS name "def.example.com"'),
705
+ * ]);
706
+ * console.error(err.message);
707
+ *
708
+ * // outputs:
709
+ * //   first of 2 errors: failed to resolve DNS name "abc.example.com"
710
+ */
711
+function MultiError(errors) {
712
+    assert.array(errors, 'list of errors');
713
+    assert.ok(errors.length > 0, 'must be at least one error');
714
+    this.ase_errors = errors;
715
+
716
+    VError.call(
717
+        this,
718
+        {
719
+            cause: errors[0]
720
+        },
721
+        'first of %d error%s',
722
+        errors.length,
723
+        errors.length === 1 ? '' : 's'
724
+    );
725
+}
726
+
727
+util.inherits(MultiError, VError);
728
+MultiError.prototype.name = 'MultiError';
729
+
730
+/**
731
+ * Returns an array of the errors used to construct this MultiError.
732
+ *
733
+ * @public
734
+ * @memberof MultiError.prototype
735
+ * @returns {Array<Error>} errors
736
+ */
737
+MultiError.prototype.errors = function me_errors() {
738
+    return this.ase_errors.slice(0);
739
+};
740
+
741
+/**
742
+ * WError for wrapping errors while hiding the lower-level messages from the
743
+ * top-level error.  This is useful for API endpoints where you don't want to
744
+ * expose internal error messages, but you still want to preserve the error
745
+ * chain for logging and debugging
746
+ *
747
+ * @public
748
+ * @class WError
749
+ * @extends VError
750
+ * @param {...String|VErrorOptions|Error} [arg] - sprintf args, options or cause
751
+ * @param {...String} [args] - sprintf args
752
+ */
753
+function WError(...args) {
754
+    let obj;
755
+
756
+    if (!(this instanceof WError)) {
757
+        obj = Object.create(WError.prototype);
758
+        WError.apply(obj, args);
759
+        return obj;
760
+    }
761
+
762
+    const parsed = parseConstructorArguments({
763
+        argv: args,
764
+        strict: false
765
+    });
766
+
767
+    const options = parsed.options;
768
+    options.skipCauseMessage = true;
769
+    options.skipPrintf = false;
770
+    VError.call(this, options, '%s', parsed.shortmessage);
771
+
772
+    return this;
773
+}
774
+
775
+util.inherits(WError, VError);
776
+WError.prototype.name = 'WError';
777
+
778
+/**
779
+ * A string representing the WError.
780
+ * @public
781
+ * @memberof WError.prototype
782
+ * @return {String} string representation
783
+ */
784
+WError.prototype.toString = function we_toString() {
785
+    let str =
786
+        (this.hasOwnProperty('name') && this.name) ||
787
+        this.constructor.name ||
788
+        this.constructor.prototype.name;
789
+    if (this.message) {
790
+        str += ': ' + this.message;
791
+    }
792
+    if (this.jse_cause && this.jse_cause.message) {
793
+        str += '; caused by ' + this.jse_cause.toString();
794
+    }
795
+
796
+    return str;
797
+};
798
+
799
+/**
800
+ * For purely historical reasons, WError's cause() function allows you to set
801
+ * the cause.
802
+ * @public
803
+ * @memberof WError.prototype
804
+ * @param {Error} c - cause
805
+ * @return {undefined|Error} Error cause
806
+ */
807
+WError.prototype.cause = function we_cause(c) {
808
+    if (_.isError(c)) {
809
+        this.jse_cause = c;
810
+    }
811
+
812
+    return this.jse_cause;
813
+};

+ 183
- 0
node_modules/@netflix/nerror/package.json Просмотреть файл

@@ -0,0 +1,183 @@
1
+{
2
+  "_args": [
3
+    [
4
+      "@netflix/nerror@^1.1.3",
5
+      "/home/lyxaira/Artesanias/artesanias/node_modules/cordova/node_modules/cordova-common"
6
+    ]
7
+  ],
8
+  "_from": "@netflix/nerror@>=1.1.3 <2.0.0",
9
+  "_hasShrinkwrap": false,
10
+  "_id": "@netflix/nerror@1.1.3",
11
+  "_inCache": true,
12
+  "_installable": true,
13
+  "_location": "/@netflix/nerror",
14
+  "_nodeVersion": "10.16.0",
15
+  "_npmOperationalInternal": {
16
+    "host": "s3://npm-registry-packages",
17
+    "tmp": "tmp/nerror_1.1.3_1574883672939_0.6018803222449305"
18
+  },
19
+  "_npmUser": {
20
+    "email": "email@martonpeter.com",
21
+    "name": "hekike"
22
+  },
23
+  "_npmVersion": "6.12.0",
24
+  "_phantomChildren": {},
25
+  "_requested": {
26
+    "name": "@netflix/nerror",
27
+    "raw": "@netflix/nerror@^1.1.3",
28
+    "rawSpec": "^1.1.3",
29
+    "scope": "@netflix",
30
+    "spec": ">=1.1.3 <2.0.0",
31
+    "type": "range"
32
+  },
33
+  "_requiredBy": [
34
+    "/cordova-create/cordova-common",
35
+    "/cordova-fetch/cordova-common",
36
+    "/cordova-lib/cordova-common",
37
+    "/cordova/cordova-common"
38
+  ],
39
+  "_resolved": "https://registry.npmjs.org/@netflix/nerror/-/nerror-1.1.3.tgz",
40
+  "_shasum": "9d88eccca442f1d544f2761d15ea557dc0a44ed2",
41
+  "_shrinkwrap": null,
42
+  "_spec": "@netflix/nerror@^1.1.3",
43
+  "_where": "/home/lyxaira/Artesanias/artesanias/node_modules/cordova/node_modules/cordova-common",
44
+  "bugs": {
45
+    "url": "https://github.com/Netflix/nerror/issues"
46
+  },
47
+  "contributors": [
48
+    {
49
+      "name": "Alex Liu",
50
+      "email": "DonutEspresso@users.noreply.github.com"
51
+    },
52
+    {
53
+      "name": "Peter Marton",
54
+      "email": "email@martonpeter.com"
55
+    },
56
+    {
57
+      "name": "Peter Marton",
58
+      "email": "pmarton@netflix.com"
59
+    },
60
+    {
61
+      "name": "Joyent"
62
+    },
63
+    {
64
+      "name": "David Pacheco"
65
+    },
66
+    {
67
+      "name": "Trent Mick"
68
+    },
69
+    {
70
+      "name": "cburroughs"
71
+    },
72
+    {
73
+      "name": "Simen Bekkhus"
74
+    },
75
+    {
76
+      "name": "Samer Masterson"
77
+    }
78
+  ],
79
+  "dependencies": {
80
+    "assert-plus": "^1.0.0",
81
+    "extsprintf": "^1.4.0",
82
+    "lodash": "^4.17.15"
83
+  },
84
+  "description": "Rich errors",
85
+  "devDependencies": {
86
+    "chai": "^4.1.2",
87
+    "conventional-changelog-angular": "^5.0.0",
88
+    "conventional-recommended-bump": "^4.0.0",
89
+    "documentation": "^8.0.0",
90
+    "eslint": "^4.19.1",
91
+    "eslint-config-prettier": "^2.9.0",
92
+    "eslint-plugin-prettier": "^2.6.0",
93
+    "mocha": "^5.2.0",
94
+    "nyc": "^12.0.2",
95
+    "prettier": "^1.13.5",
96
+    "tsd": "^0.7.3",
97
+    "unleash": "^2.0.1"
98
+  },
99
+  "directories": {},
100
+  "dist": {
101
+    "fileCount": 7,
102
+    "integrity": "sha512-b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==",
103
+    "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd3tFZCRA9TVsSAnZWagAAFhIP+wRDSXHnoEmTVs+fTqwR\nrsDbA/BmNwdUvDBOPzIWO2oOfKduOYZCerkvWXebxJls4LMEOO81y22wzRxh\noMXl17uEKuGfObOdwSe7NVlP3FOS3DkzoQCJtNVtcbrEhwpJKffxVT3glhsF\nXBhX00N8GWdkqMgleWR09YItaJ7VPwwhf6djInjbP5EpLtajQ6jilfNB5P46\n4KKMyg6Yuey5/ZsmMZg1nkH/AK4WMk6JZl+4VH2OWNkbgQFjirMMHxDzixuE\n/RorHvwhJJlr99ZMMqIO+H66qAMifXPDkEOpazsGCPxda5roAGQNCWqSuWvQ\nLR/ZLOXflH+4mXNWO1CV+Owjty4FjHIogTQCj3hLPHhHkUi3aDiuBRyn7xpe\nMLoZF18ovbhj7zB9JqiplGmuYlHAK/rDjz3HEZdRGIZuptvYlYsmfylX6H1G\nd2Lkm9qUa7CbPHIHA23XWnlpHYZ9g/jrjLweOouqFcPo0eRbriYKiTDKSqSy\n4Tt1ztyqNIpxhw2Yu0umeQzX+mJgggF781G+iCMNWTl7WJ136vDRtC1tDljH\nRd3mVw4/MYlQF0afMHcu+kzLjgqqeXgWKUHV69OTbLgY2MFAVyi9VieJQxpM\nCUOTDSs3KfCYmLPfNVwQUuBxzfyHgDM9Jfbfa856plRKEIWSr121dXIIY+Tm\nIbbT\r\n=nZII\r\n-----END PGP SIGNATURE-----\r\n",
104
+    "shasum": "9d88eccca442f1d544f2761d15ea557dc0a44ed2",
105
+    "tarball": "https://registry.npmjs.org/@netflix/nerror/-/nerror-1.1.3.tgz",
106
+    "unpackedSize": 43306
107
+  },
108
+  "gitHead": "e6d624ce0f3e1a60acdd3af1d8dedc9bc745b656",
109
+  "homepage": "https://github.com/Netflix/nerror",
110
+  "keywords": [
111
+    "error",
112
+    "multierror",
113
+    "nerror",
114
+    "verror"
115
+  ],
116
+  "license": "MIT",
117
+  "main": "lib/index.js",
118
+  "maintainers": [
119
+    {
120
+      "name": "kaylie",
121
+      "email": "kayliealexa7@gmail.com"
122
+    },
123
+    {
124
+      "name": "abritinthebay",
125
+      "email": "darkcryst@gmail.com"
126
+    },
127
+    {
128
+      "name": "donutespresso",
129
+      "email": "donutespresso@gmail.com"
130
+    },
131
+    {
132
+      "name": "ghermeto",
133
+      "email": "gui.hermeto@gmail.com"
134
+    },
135
+    {
136
+      "name": "gsimpson",
137
+      "email": "gsimpson@netflix.com"
138
+    },
139
+    {
140
+      "name": "hekike",
141
+      "email": "email@martonpeter.com"
142
+    },
143
+    {
144
+      "name": "barb_the_builder",
145
+      "email": "npm@netflix.com"
146
+    },
147
+    {
148
+      "name": "kkwon",
149
+      "email": "kkwon@netflix.com"
150
+    },
151
+    {
152
+      "name": "mmarchini",
153
+      "email": "matheusdot@gmail.com"
154
+    },
155
+    {
156
+      "name": "tbranyen",
157
+      "email": "tim@tabdeveloper.com"
158
+    },
159
+    {
160
+      "name": "tvui",
161
+      "email": "tvui-npm@netflix.com"
162
+    },
163
+    {
164
+      "name": "tvuiops",
165
+      "email": "tvui-npm@netflix.com"
166
+    }
167
+  ],
168
+  "name": "@netflix/nerror",
169
+  "optionalDependencies": {},
170
+  "readme": "ERROR: No README data found!",
171
+  "repository": {
172
+    "type": "git",
173
+    "url": "git+https://github.com/Netflix/nerror.git"
174
+  },
175
+  "scripts": {
176
+    "test": "make prepush & tsd"
177
+  },
178
+  "tsd": {
179
+    "directory": "test"
180
+  },
181
+  "types": "lib/index.d.ts",
182
+  "version": "1.1.3"
183
+}

+ 21
- 0
node_modules/@nodelib/fs.scandir/LICENSE Просмотреть файл

@@ -0,0 +1,21 @@
1
+The MIT License (MIT)
2
+
3
+Copyright (c) Denis Malinochkin
4
+
5
+Permission is hereby granted, free of charge, to any person obtaining a copy
6
+of this software and associated documentation files (the "Software"), to deal
7
+in the Software without restriction, including without limitation the rights
8
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+copies of the Software, and to permit persons to whom the Software is
10
+furnished to do so, subject to the following conditions:
11
+
12
+The above copyright notice and this permission notice shall be included in all
13
+copies or substantial portions of the Software.
14
+
15
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+SOFTWARE.

+ 171
- 0
node_modules/@nodelib/fs.scandir/README.md Просмотреть файл

@@ -0,0 +1,171 @@
1
+# @nodelib/fs.scandir
2
+
3
+> List files and directories inside the specified directory.
4
+
5
+## :bulb: Highlights
6
+
7
+The package is aimed at obtaining information about entries in the directory.
8
+
9
+* :moneybag: Returns useful information: `name`, `path`, `dirent` and `stats` (optional).
10
+* :gear: On Node.js 10.10+ uses the mechanism without additional calls to determine the entry type. See [`old` and `modern` mode](#old-and-modern-mode).
11
+* :link: Can safely work with broken symbolic links.
12
+
13
+## Install
14
+
15
+```console
16
+npm install @nodelib/fs.scandir
17
+```
18
+
19
+## Usage
20
+
21
+```ts
22
+import * as fsScandir from '@nodelib/fs.scandir';
23
+
24
+fsScandir.scandir('path', (error, stats) => { /* … */ });
25
+```
26
+
27
+## API
28
+
29
+### .scandir(path, [optionsOrSettings], callback)
30
+
31
+Returns an array of plain objects ([`Entry`](#entry)) with information about entry for provided path with standard callback-style.
32
+
33
+```ts
34
+fsScandir.scandir('path', (error, entries) => { /* … */ });
35
+fsScandir.scandir('path', {}, (error, entries) => { /* … */ });
36
+fsScandir.scandir('path', new fsScandir.Settings(), (error, entries) => { /* … */ });
37
+```
38
+
39
+### .scandirSync(path, [optionsOrSettings])
40
+
41
+Returns an array of plain objects ([`Entry`](#entry)) with information about entry for provided path.
42
+
43
+```ts
44
+const entries = fsScandir.scandirSync('path');
45
+const entries = fsScandir.scandirSync('path', {});
46
+const entries = fsScandir.scandirSync(('path', new fsScandir.Settings());
47
+```
48
+
49
+#### path
50
+
51
+* Required: `true`
52
+* Type: `string | Buffer | URL`
53
+
54
+A path to a file. If a URL is provided, it must use the `file:` protocol.
55
+
56
+#### optionsOrSettings
57
+
58
+* Required: `false`
59
+* Type: `Options | Settings`
60
+* Default: An instance of `Settings` class
61
+
62
+An [`Options`](#options) object or an instance of [`Settings`](#settingsoptions) class.
63
+
64
+> :book: When you pass a plain object, an instance of the `Settings` class will be created automatically. If you plan to call the method frequently, use a pre-created instance of the `Settings` class.
65
+
66
+### Settings([options])
67
+
68
+A class of full settings of the package.
69
+
70
+```ts
71
+const settings = new fsScandir.Settings({ followSymbolicLinks: false });
72
+
73
+const entries = fsScandir.scandirSync('path', settings);
74
+```
75
+
76
+## Entry
77
+
78
+* `name` — The name of the entry (`unknown.txt`).
79
+* `path` — The path of the entry relative to call directory (`root/unknown.txt`).
80
+* `dirent` — An instance of [`fs.Dirent`](./src/types/index.ts) class. On Node.js below 10.10 will be emulated by [`DirentFromStats`](./src/utils/fs.ts) class.
81
+* `stats` (optional) — An instance of `fs.Stats` class.
82
+
83
+For example, the `scandir` call for `tools` directory with one directory inside:
84
+
85
+```ts
86
+{
87
+	dirent: Dirent { name: 'typedoc', /* … */ },
88
+	name: 'typedoc',
89
+	path: 'tools/typedoc'
90
+}
91
+```
92
+
93
+## Options
94
+
95
+### stats
96
+
97
+* Type: `boolean`
98
+* Default: `false`
99
+
100
+Adds an instance of `fs.Stats` class to the [`Entry`](#entry).
101
+
102
+> :book: Always use `fs.readdir` without the `withFileTypes` option. ??TODO??
103
+
104
+### followSymbolicLinks
105
+
106
+* Type: `boolean`
107
+* Default: `false`
108
+
109
+Follow symbolic links or not. Call `fs.stat` on symbolic link if `true`.
110
+
111
+### `throwErrorOnBrokenSymbolicLink`
112
+
113
+* Type: `boolean`
114
+* Default: `true`
115
+
116
+Throw an error when symbolic link is broken if `true` or safely use `lstat` call if `false`.
117
+
118
+### `pathSegmentSeparator`
119
+
120
+* Type: `string`
121
+* Default: `path.sep`
122
+
123
+By default, this package uses the correct path separator for your OS (`\` on Windows, `/` on Unix-like systems). But you can set this option to any separator character(s) that you want to use instead.
124
+
125
+### `fs`
126
+
127
+* Type: [`FileSystemAdapter`](./src/adapters/fs.ts)
128
+* Default: A default FS methods
129
+
130
+By default, the built-in Node.js module (`fs`) is used to work with the file system. You can replace any method with your own.
131
+
132
+```ts
133
+interface FileSystemAdapter {
134
+	lstat?: typeof fs.lstat;
135
+	stat?: typeof fs.stat;
136
+	lstatSync?: typeof fs.lstatSync;
137
+	statSync?: typeof fs.statSync;
138
+	readdir?: typeof fs.readdir;
139
+	readdirSync?: typeof fs.readdirSync;
140
+}
141
+
142
+const settings = new fsScandir.Settings({
143
+	fs: { lstat: fakeLstat }
144
+});
145
+```
146
+
147
+## `old` and `modern` mode
148
+
149
+This package has two modes that are used depending on the environment and parameters of use.
150
+
151
+### old
152
+
153
+* Node.js below `10.10` or when the `stats` option is enabled
154
+
155
+When working in the old mode, the directory is read first (`fs.readdir`), then the type of entries is determined (`fs.lstat` and/or `fs.stat` for symbolic links).
156
+
157
+### modern
158
+
159
+* Node.js 10.10+ and the `stats` option is disabled
160
+
161
+In the modern mode, reading the directory (`fs.readdir` with the `withFileTypes` option) is combined with obtaining information about its entries. An additional call for symbolic links (`fs.stat`) is still present.
162
+
163
+This mode makes fewer calls to the file system. It's faster.
164
+
165
+## Changelog
166
+
167
+See the [Releases section of our GitHub project](https://github.com/nodelib/nodelib/releases) for changelog for each release version.
168
+
169
+## License
170
+
171
+This software is released under the terms of the MIT license.

+ 13
- 0
node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts Просмотреть файл

@@ -0,0 +1,13 @@
1
+/// <reference types="node" />
2
+import * as fs from 'fs';
3
+export declare type FileSystemAdapter = {
4
+    lstat: typeof fs.lstat;
5
+    stat: typeof fs.stat;
6
+    lstatSync: typeof fs.lstatSync;
7
+    statSync: typeof fs.statSync;
8
+    readdir: typeof fs.readdir;
9
+    readdirSync: typeof fs.readdirSync;
10
+};
11
+export declare const FILE_SYSTEM_ADAPTER: FileSystemAdapter;
12
+export declare function createFileSystemAdapter(fsMethods?: Partial<FileSystemAdapter>): FileSystemAdapter;
13
+//# sourceMappingURL=fs.d.ts.map

+ 18
- 0
node_modules/@nodelib/fs.scandir/out/adapters/fs.js Просмотреть файл

@@ -0,0 +1,18 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+const fs = require("fs");
4
+exports.FILE_SYSTEM_ADAPTER = {
5
+    lstat: fs.lstat,
6
+    stat: fs.stat,
7
+    lstatSync: fs.lstatSync,
8
+    statSync: fs.statSync,
9
+    readdir: fs.readdir,
10
+    readdirSync: fs.readdirSync
11
+};
12
+function createFileSystemAdapter(fsMethods) {
13
+    if (fsMethods === undefined) {
14
+        return exports.FILE_SYSTEM_ADAPTER;
15
+    }
16
+    return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods);
17
+}
18
+exports.createFileSystemAdapter = createFileSystemAdapter;

+ 5
- 0
node_modules/@nodelib/fs.scandir/out/constants.d.ts Просмотреть файл

@@ -0,0 +1,5 @@
1
+/**
2
+ * IS `true` for Node.js 10.10 and greater.
3
+ */
4
+export declare const IS_SUPPORT_READDIR_WITH_FILE_TYPES: boolean;
5
+//# sourceMappingURL=constants.d.ts.map

+ 13
- 0
node_modules/@nodelib/fs.scandir/out/constants.js Просмотреть файл

@@ -0,0 +1,13 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+const NODE_PROCESS_VERSION_PARTS = process.versions.node.split('.');
4
+const MAJOR_VERSION = parseInt(NODE_PROCESS_VERSION_PARTS[0], 10);
5
+const MINOR_VERSION = parseInt(NODE_PROCESS_VERSION_PARTS[1], 10);
6
+const SUPPORTED_MAJOR_VERSION = 10;
7
+const SUPPORTED_MINOR_VERSION = 10;
8
+const IS_MATCHED_BY_MAJOR = MAJOR_VERSION > SUPPORTED_MAJOR_VERSION;
9
+const IS_MATCHED_BY_MAJOR_AND_MINOR = MAJOR_VERSION === SUPPORTED_MAJOR_VERSION && MINOR_VERSION >= SUPPORTED_MINOR_VERSION;
10
+/**
11
+ * IS `true` for Node.js 10.10 and greater.
12
+ */
13
+exports.IS_SUPPORT_READDIR_WITH_FILE_TYPES = IS_MATCHED_BY_MAJOR || IS_MATCHED_BY_MAJOR_AND_MINOR;

+ 13
- 0
node_modules/@nodelib/fs.scandir/out/index.d.ts Просмотреть файл

@@ -0,0 +1,13 @@
1
+import { FileSystemAdapter } from './adapters/fs';
2
+import * as async from './providers/async';
3
+import Settings, { Options } from './settings';
4
+import { Dirent, Entry } from './types';
5
+declare type AsyncCallback = async.AsyncCallback;
6
+declare function scandir(path: string, callback: AsyncCallback): void;
7
+declare function scandir(path: string, optionsOrSettings: Options | Settings, callback: AsyncCallback): void;
8
+declare namespace scandir {
9
+    function __promisify__(path: string, optionsOrSettings?: Options | Settings): Promise<Entry[]>;
10
+}
11
+declare function scandirSync(path: string, optionsOrSettings?: Options | Settings): Entry[];
12
+export { scandir, scandirSync, Settings, AsyncCallback, Dirent, Entry, FileSystemAdapter, Options };
13
+//# sourceMappingURL=index.d.ts.map

+ 24
- 0
node_modules/@nodelib/fs.scandir/out/index.js Просмотреть файл

@@ -0,0 +1,24 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+const async = require("./providers/async");
4
+const sync = require("./providers/sync");
5
+const settings_1 = require("./settings");
6
+exports.Settings = settings_1.default;
7
+function scandir(path, optionsOrSettingsOrCallback, callback) {
8
+    if (typeof optionsOrSettingsOrCallback === 'function') {
9
+        return async.read(path, getSettings(), optionsOrSettingsOrCallback);
10
+    }
11
+    async.read(path, getSettings(optionsOrSettingsOrCallback), callback);
12
+}
13
+exports.scandir = scandir;
14
+function scandirSync(path, optionsOrSettings) {
15
+    const settings = getSettings(optionsOrSettings);
16
+    return sync.read(path, settings);
17
+}
18
+exports.scandirSync = scandirSync;
19
+function getSettings(settingsOrOptions = {}) {
20
+    if (settingsOrOptions instanceof settings_1.default) {
21
+        return settingsOrOptions;
22
+    }
23
+    return new settings_1.default(settingsOrOptions);
24
+}

+ 8
- 0
node_modules/@nodelib/fs.scandir/out/providers/async.d.ts Просмотреть файл

@@ -0,0 +1,8 @@
1
+/// <reference types="node" />
2
+import Settings from '../settings';
3
+import { Entry } from '../types';
4
+export declare type AsyncCallback = (err: NodeJS.ErrnoException, entries: Entry[]) => void;
5
+export declare function read(directory: string, settings: Settings, callback: AsyncCallback): void;
6
+export declare function readdirWithFileTypes(directory: string, settings: Settings, callback: AsyncCallback): void;
7
+export declare function readdir(directory: string, settings: Settings, callback: AsyncCallback): void;
8
+//# sourceMappingURL=async.d.ts.map

+ 90
- 0
node_modules/@nodelib/fs.scandir/out/providers/async.js Просмотреть файл

@@ -0,0 +1,90 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+const fsStat = require("@nodelib/fs.stat");
4
+const rpl = require("run-parallel");
5
+const constants_1 = require("../constants");
6
+const utils = require("../utils");
7
+function read(directory, settings, callback) {
8
+    if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {
9
+        return readdirWithFileTypes(directory, settings, callback);
10
+    }
11
+    return readdir(directory, settings, callback);
12
+}
13
+exports.read = read;
14
+function readdirWithFileTypes(directory, settings, callback) {
15
+    settings.fs.readdir(directory, { withFileTypes: true }, (readdirError, dirents) => {
16
+        if (readdirError !== null) {
17
+            return callFailureCallback(callback, readdirError);
18
+        }
19
+        const entries = dirents.map((dirent) => ({
20
+            dirent,
21
+            name: dirent.name,
22
+            path: `${directory}${settings.pathSegmentSeparator}${dirent.name}`
23
+        }));
24
+        if (!settings.followSymbolicLinks) {
25
+            return callSuccessCallback(callback, entries);
26
+        }
27
+        const tasks = entries.map((entry) => makeRplTaskEntry(entry, settings));
28
+        rpl(tasks, (rplError, rplEntries) => {
29
+            if (rplError !== null) {
30
+                return callFailureCallback(callback, rplError);
31
+            }
32
+            callSuccessCallback(callback, rplEntries);
33
+        });
34
+    });
35
+}
36
+exports.readdirWithFileTypes = readdirWithFileTypes;
37
+function makeRplTaskEntry(entry, settings) {
38
+    return (done) => {
39
+        if (!entry.dirent.isSymbolicLink()) {
40
+            return done(null, entry);
41
+        }
42
+        settings.fs.stat(entry.path, (statError, stats) => {
43
+            if (statError !== null) {
44
+                if (settings.throwErrorOnBrokenSymbolicLink) {
45
+                    return done(statError);
46
+                }
47
+                return done(null, entry);
48
+            }
49
+            entry.dirent = utils.fs.createDirentFromStats(entry.name, stats);
50
+            return done(null, entry);
51
+        });
52
+    };
53
+}
54
+function readdir(directory, settings, callback) {
55
+    settings.fs.readdir(directory, (readdirError, names) => {
56
+        if (readdirError !== null) {
57
+            return callFailureCallback(callback, readdirError);
58
+        }
59
+        const filepaths = names.map((name) => `${directory}${settings.pathSegmentSeparator}${name}`);
60
+        const tasks = filepaths.map((filepath) => {
61
+            return (done) => fsStat.stat(filepath, settings.fsStatSettings, done);
62
+        });
63
+        rpl(tasks, (rplError, results) => {
64
+            if (rplError !== null) {
65
+                return callFailureCallback(callback, rplError);
66
+            }
67
+            const entries = [];
68
+            names.forEach((name, index) => {
69
+                const stats = results[index];
70
+                const entry = {
71
+                    name,
72
+                    path: filepaths[index],
73
+                    dirent: utils.fs.createDirentFromStats(name, stats)
74
+                };
75
+                if (settings.stats) {
76
+                    entry.stats = stats;
77
+                }
78
+                entries.push(entry);
79
+            });
80
+            callSuccessCallback(callback, entries);
81
+        });
82
+    });
83
+}
84
+exports.readdir = readdir;
85
+function callFailureCallback(callback, error) {
86
+    callback(error);
87
+}
88
+function callSuccessCallback(callback, result) {
89
+    callback(null, result);
90
+}

+ 6
- 0
node_modules/@nodelib/fs.scandir/out/providers/sync.d.ts Просмотреть файл

@@ -0,0 +1,6 @@
1
+import Settings from '../settings';
2
+import { Entry } from '../types';
3
+export declare function read(directory: string, settings: Settings): Entry[];
4
+export declare function readdirWithFileTypes(directory: string, settings: Settings): Entry[];
5
+export declare function readdir(directory: string, settings: Settings): Entry[];
6
+//# sourceMappingURL=sync.d.ts.map

+ 52
- 0
node_modules/@nodelib/fs.scandir/out/providers/sync.js Просмотреть файл

@@ -0,0 +1,52 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+const fsStat = require("@nodelib/fs.stat");
4
+const constants_1 = require("../constants");
5
+const utils = require("../utils");
6
+function read(directory, settings) {
7
+    if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {
8
+        return readdirWithFileTypes(directory, settings);
9
+    }
10
+    return readdir(directory, settings);
11
+}
12
+exports.read = read;
13
+function readdirWithFileTypes(directory, settings) {
14
+    const dirents = settings.fs.readdirSync(directory, { withFileTypes: true });
15
+    return dirents.map((dirent) => {
16
+        const entry = {
17
+            dirent,
18
+            name: dirent.name,
19
+            path: `${directory}${settings.pathSegmentSeparator}${dirent.name}`
20
+        };
21
+        if (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) {
22
+            try {
23
+                const stats = settings.fs.statSync(entry.path);
24
+                entry.dirent = utils.fs.createDirentFromStats(entry.name, stats);
25
+            }
26
+            catch (error) {
27
+                if (settings.throwErrorOnBrokenSymbolicLink) {
28
+                    throw error;
29
+                }
30
+            }
31
+        }
32
+        return entry;
33
+    });
34
+}
35
+exports.readdirWithFileTypes = readdirWithFileTypes;
36
+function readdir(directory, settings) {
37
+    const names = settings.fs.readdirSync(directory);
38
+    return names.map((name) => {
39
+        const entryPath = `${directory}${settings.pathSegmentSeparator}${name}`;
40
+        const stats = fsStat.statSync(entryPath, settings.fsStatSettings);
41
+        const entry = {
42
+            name,
43
+            path: entryPath,
44
+            dirent: utils.fs.createDirentFromStats(name, stats)
45
+        };
46
+        if (settings.stats) {
47
+            entry.stats = stats;
48
+        }
49
+        return entry;
50
+    });
51
+}
52
+exports.readdir = readdir;

+ 21
- 0
node_modules/@nodelib/fs.scandir/out/settings.d.ts Просмотреть файл

@@ -0,0 +1,21 @@
1
+import * as fsStat from '@nodelib/fs.stat';
2
+import * as fs from './adapters/fs';
3
+export declare type Options = {
4
+    followSymbolicLinks?: boolean;
5
+    fs?: Partial<fs.FileSystemAdapter>;
6
+    pathSegmentSeparator?: string;
7
+    stats?: boolean;
8
+    throwErrorOnBrokenSymbolicLink?: boolean;
9
+};
10
+export default class Settings {
11
+    private readonly _options;
12
+    readonly followSymbolicLinks: boolean;
13
+    readonly fs: fs.FileSystemAdapter;
14
+    readonly pathSegmentSeparator: string;
15
+    readonly stats: boolean;
16
+    readonly throwErrorOnBrokenSymbolicLink: boolean;
17
+    readonly fsStatSettings: fsStat.Settings;
18
+    constructor(_options?: Options);
19
+    private _getValue;
20
+}
21
+//# sourceMappingURL=settings.d.ts.map

+ 24
- 0
node_modules/@nodelib/fs.scandir/out/settings.js Просмотреть файл

@@ -0,0 +1,24 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+const path = require("path");
4
+const fsStat = require("@nodelib/fs.stat");
5
+const fs = require("./adapters/fs");
6
+class Settings {
7
+    constructor(_options = {}) {
8
+        this._options = _options;
9
+        this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false);
10
+        this.fs = fs.createFileSystemAdapter(this._options.fs);
11
+        this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep);
12
+        this.stats = this._getValue(this._options.stats, false);
13
+        this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);
14
+        this.fsStatSettings = new fsStat.Settings({
15
+            followSymbolicLink: this.followSymbolicLinks,
16
+            fs: this.fs,
17
+            throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink
18
+        });
19
+    }
20
+    _getValue(option, value) {
21
+        return option === undefined ? value : option;
22
+    }
23
+}
24
+exports.default = Settings;

+ 20
- 0
node_modules/@nodelib/fs.scandir/out/types/index.d.ts Просмотреть файл

@@ -0,0 +1,20 @@
1
+/// <reference types="node" />
2
+import * as fs from 'fs';
3
+export declare type Entry = {
4
+    dirent: Dirent;
5
+    name: string;
6
+    path: string;
7
+    stats?: Stats;
8
+};
9
+export declare type Stats = fs.Stats;
10
+export declare type Dirent = {
11
+    isBlockDevice(): boolean;
12
+    isCharacterDevice(): boolean;
13
+    isDirectory(): boolean;
14
+    isFIFO(): boolean;
15
+    isFile(): boolean;
16
+    isSocket(): boolean;
17
+    isSymbolicLink(): boolean;
18
+    name: string;
19
+};
20
+//# sourceMappingURL=index.d.ts.map

+ 2
- 0
node_modules/@nodelib/fs.scandir/out/types/index.js Просмотреть файл

@@ -0,0 +1,2 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });

+ 3
- 0
node_modules/@nodelib/fs.scandir/out/utils/fs.d.ts Просмотреть файл

@@ -0,0 +1,3 @@
1
+import { Dirent, Stats } from '../types';
2
+export declare function createDirentFromStats(name: string, stats: Stats): Dirent;
3
+//# sourceMappingURL=fs.d.ts.map

+ 18
- 0
node_modules/@nodelib/fs.scandir/out/utils/fs.js Просмотреть файл

@@ -0,0 +1,18 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+class DirentFromStats {
4
+    constructor(name, stats) {
5
+        this.name = name;
6
+        this.isBlockDevice = stats.isBlockDevice.bind(stats);
7
+        this.isCharacterDevice = stats.isCharacterDevice.bind(stats);
8
+        this.isDirectory = stats.isDirectory.bind(stats);
9
+        this.isFIFO = stats.isFIFO.bind(stats);
10
+        this.isFile = stats.isFile.bind(stats);
11
+        this.isSocket = stats.isSocket.bind(stats);
12
+        this.isSymbolicLink = stats.isSymbolicLink.bind(stats);
13
+    }
14
+}
15
+function createDirentFromStats(name, stats) {
16
+    return new DirentFromStats(name, stats);
17
+}
18
+exports.createDirentFromStats = createDirentFromStats;

+ 3
- 0
node_modules/@nodelib/fs.scandir/out/utils/index.d.ts Просмотреть файл

@@ -0,0 +1,3 @@
1
+import * as fs from './fs';
2
+export { fs };
3
+//# sourceMappingURL=index.d.ts.map

+ 4
- 0
node_modules/@nodelib/fs.scandir/out/utils/index.js Просмотреть файл

@@ -0,0 +1,4 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+const fs = require("./fs");
4
+exports.fs = fs;

+ 95
- 0
node_modules/@nodelib/fs.scandir/package.json Просмотреть файл

@@ -0,0 +1,95 @@
1
+{
2
+  "_args": [
3
+    [
4
+      "@nodelib/fs.scandir@2.1.3",
5
+      "/home/lyxaira/Artesanias/artesanias/node_modules/@nodelib/fs.walk"
6
+    ]
7
+  ],
8
+  "_from": "@nodelib/fs.scandir@2.1.3",
9
+  "_hasShrinkwrap": false,
10
+  "_id": "@nodelib/fs.scandir@2.1.3",
11
+  "_inCache": true,
12
+  "_installable": true,
13
+  "_location": "/@nodelib/fs.scandir",
14
+  "_nodeVersion": "12.8.0",
15
+  "_npmOperationalInternal": {
16
+    "host": "s3://npm-registry-packages",
17
+    "tmp": "tmp/fs.scandir_2.1.3_1570173166752_0.07827536155873238"
18
+  },
19
+  "_npmUser": {
20
+    "email": "dmalinochkin@rambler.ru",
21
+    "name": "mrmlnc"
22
+  },
23
+  "_npmVersion": "lerna/3.16.4/node@v12.8.0+x64 (win32)",
24
+  "_phantomChildren": {},
25
+  "_requested": {
26
+    "name": "@nodelib/fs.scandir",
27
+    "raw": "@nodelib/fs.scandir@2.1.3",
28
+    "rawSpec": "2.1.3",
29
+    "scope": "@nodelib",
30
+    "spec": "2.1.3",
31
+    "type": "version"
32
+  },
33
+  "_requiredBy": [
34
+    "/@nodelib/fs.walk"
35
+  ],
36
+  "_resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
37
+  "_shasum": "3a582bdb53804c6ba6d146579c46e52130cf4a3b",
38
+  "_shrinkwrap": null,
39
+  "_spec": "@nodelib/fs.scandir@2.1.3",
40
+  "_where": "/home/lyxaira/Artesanias/artesanias/node_modules/@nodelib/fs.walk",
41
+  "dependencies": {
42
+    "@nodelib/fs.stat": "2.0.3",
43
+    "run-parallel": "^1.1.9"
44
+  },
45
+  "description": "List files and directories inside the specified directory",
46
+  "devDependencies": {},
47
+  "directories": {},
48
+  "dist": {
49
+    "fileCount": 21,
50
+    "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
51
+    "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlvDvCRA9TVsSAnZWagAAQpwQAImz9Twd2paLWU/2+Z4/\nvEfs7aZHO2sps0DbVGVrVcG8r5nCmUqeBUo/eqfl2xcBGhWSfKiOZyzT/6wQ\n6508wr4fsoa6XdxL9Yf4Mm1AhBRmv9zE9Fw25OVCXvTmPsqFJiU8aSgCAgd/\nlRnZqu9uktqwaMpuoYB7xXr70YYVFB32DVZlZYqjTm1EHkq54RvR7gDU1T0b\n2ayJhGhaZzf2B/CZFtk/Vb06HmYn7FsY7t21w8u3hiBfju5lXwEEy6t/5ITh\nQWJJjOzJzSOqGHv3+QgCUDBZHPjE5LiNZyoMVz0Q3vRvNjRBVei9ovEkja9U\n68I2ufjoxWA333j9xX4wgJI5laD39lNSAorHH3C24Vm+PcttPfJNkeGFcBhP\nN8gHJj3DPipumGdt4Z/CYJkSbQ39mqGOcEB5XJJXHegcNdpBl5rF1GD+/Kg0\n/8Y7B8dPX6NoJH8QHL5PvPGRTs9yzNk+jw1jxU995v7I2g95zfLIHH00evDJ\nfou2c+uT9o9CUQnFAvV07mzJxNn93SJZunf1N+ih0+GoJf7dJynTjwTUocTz\ngFxzs5DazEDDaLmKIcsUHPJutABJo1wqHdoBiU9jXSW7eLxMU2fO8Rm1F1ha\nAWxLTTfPsCw6vhyMIqEy1ist3bC6GTeouc2R1AUoeWSqd/T19baLm3XaHd2D\nu+MV\r\n=176S\r\n-----END PGP SIGNATURE-----\r\n",
52
+    "shasum": "3a582bdb53804c6ba6d146579c46e52130cf4a3b",
53
+    "tarball": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
54
+    "unpackedSize": 20514
55
+  },
56
+  "engines": {
57
+    "node": ">= 8"
58
+  },
59
+  "gitHead": "3b1ef7554ad7c061b3580858101d483fba847abf",
60
+  "keywords": [
61
+    "FileSystem",
62
+    "NodeLib",
63
+    "dirent",
64
+    "file system",
65
+    "fs",
66
+    "readdir",
67
+    "scandir"
68
+  ],
69
+  "license": "MIT",
70
+  "main": "out/index.js",
71
+  "maintainers": [
72
+    {
73
+      "name": "mrmlnc",
74
+      "email": "dmalinochkin@rambler.ru"
75
+    }
76
+  ],
77
+  "name": "@nodelib/fs.scandir",
78
+  "optionalDependencies": {},
79
+  "readme": "ERROR: No README data found!",
80
+  "repository": {
81
+    "type": "git",
82
+    "url": "https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.scandir"
83
+  },
84
+  "scripts": {
85
+    "build": "npm run clean && npm run compile && npm run lint && npm test",
86
+    "clean": "rimraf {tsconfig.tsbuildinfo,out}",
87
+    "compile": "tsc -b .",
88
+    "compile:watch": "tsc -p . --watch --sourceMap",
89
+    "lint": "eslint \"src/**/*.ts\" --cache",
90
+    "test": "mocha \"out/**/*.spec.js\" -s 0",
91
+    "watch": "npm run clean && npm run compile:watch"
92
+  },
93
+  "typings": "out/index.d.ts",
94
+  "version": "2.1.3"
95
+}

+ 21
- 0
node_modules/@nodelib/fs.stat/LICENSE Просмотреть файл

@@ -0,0 +1,21 @@
1
+The MIT License (MIT)
2
+
3
+Copyright (c) Denis Malinochkin
4
+
5
+Permission is hereby granted, free of charge, to any person obtaining a copy
6
+of this software and associated documentation files (the "Software"), to deal
7
+in the Software without restriction, including without limitation the rights
8
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+copies of the Software, and to permit persons to whom the Software is
10
+furnished to do so, subject to the following conditions:
11
+
12
+The above copyright notice and this permission notice shall be included in all
13
+copies or substantial portions of the Software.
14
+
15
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+SOFTWARE.

+ 126
- 0
node_modules/@nodelib/fs.stat/README.md Просмотреть файл

@@ -0,0 +1,126 @@
1
+# @nodelib/fs.stat
2
+
3
+> Get the status of a file with some features.
4
+
5
+## :bulb: Highlights
6
+
7
+Wrapper around standard method `fs.lstat` and `fs.stat` with some features.
8
+
9
+* :beginner: Normally follows symbolic link.
10
+* :gear: Can safely work with broken symbolic link.
11
+
12
+## Install
13
+
14
+```console
15
+npm install @nodelib/fs.stat
16
+```
17
+
18
+## Usage
19
+
20
+```ts
21
+import * as fsStat from '@nodelib/fs.stat';
22
+
23
+fsStat.stat('path', (error, stats) => { /* … */ });
24
+```
25
+
26
+## API
27
+
28
+### .stat(path, [optionsOrSettings], callback)
29
+
30
+Returns an instance of `fs.Stats` class for provided path with standard callback-style.
31
+
32
+```ts
33
+fsStat.stat('path', (error, stats) => { /* … */ });
34
+fsStat.stat('path', {}, (error, stats) => { /* … */ });
35
+fsStat.stat('path', new fsStat.Settings(), (error, stats) => { /* … */ });
36
+```
37
+
38
+### .statSync(path, [optionsOrSettings])
39
+
40
+Returns an instance of `fs.Stats` class for provided path.
41
+
42
+```ts
43
+const stats = fsStat.stat('path');
44
+const stats = fsStat.stat('path', {});
45
+const stats = fsStat.stat('path', new fsStat.Settings());
46
+```
47
+
48
+#### path
49
+
50
+* Required: `true`
51
+* Type: `string | Buffer | URL`
52
+
53
+A path to a file. If a URL is provided, it must use the `file:` protocol.
54
+
55
+#### optionsOrSettings
56
+
57
+* Required: `false`
58
+* Type: `Options | Settings`
59
+* Default: An instance of `Settings` class
60
+
61
+An [`Options`](#options) object or an instance of [`Settings`](#settings) class.
62
+
63
+> :book: When you pass a plain object, an instance of the `Settings` class will be created automatically. If you plan to call the method frequently, use a pre-created instance of the `Settings` class.
64
+
65
+### Settings([options])
66
+
67
+A class of full settings of the package.
68
+
69
+```ts
70
+const settings = new fsStat.Settings({ followSymbolicLink: false });
71
+
72
+const stats = fsStat.stat('path', settings);
73
+```
74
+
75
+## Options
76
+
77
+### `followSymbolicLink`
78
+
79
+* Type: `boolean`
80
+* Default: `true`
81
+
82
+Follow symbolic link or not. Call `fs.stat` on symbolic link if `true`.
83
+
84
+### `markSymbolicLink`
85
+
86
+* Type: `boolean`
87
+* Default: `false`
88
+
89
+Mark symbolic link by setting the return value of `isSymbolicLink` function to always `true` (even after `fs.stat`).
90
+
91
+> :book: Can be used if you want to know what is hidden behind a symbolic link, but still continue to know that it is a symbolic link.
92
+
93
+### `throwErrorOnBrokenSymbolicLink`
94
+
95
+* Type: `boolean`
96
+* Default: `true`
97
+
98
+Throw an error when symbolic link is broken if `true` or safely return `lstat` call if `false`.
99
+
100
+### `fs`
101
+
102
+* Type: [`FileSystemAdapter`](./src/adapters/fs.ts)
103
+* Default: A default FS methods
104
+
105
+By default, the built-in Node.js module (`fs`) is used to work with the file system. You can replace any method with your own.
106
+
107
+```ts
108
+interface FileSystemAdapter {
109
+	lstat?: typeof fs.lstat;
110
+	stat?: typeof fs.stat;
111
+	lstatSync?: typeof fs.lstatSync;
112
+	statSync?: typeof fs.statSync;
113
+}
114
+
115
+const settings = new fsStat.Settings({
116
+	fs: { lstat: fakeLstat }
117
+});
118
+```
119
+
120
+## Changelog
121
+
122
+See the [Releases section of our GitHub project](https://github.com/nodelib/nodelib/releases) for changelog for each release version.
123
+
124
+## License
125
+
126
+This software is released under the terms of the MIT license.

+ 11
- 0
node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts Просмотреть файл

@@ -0,0 +1,11 @@
1
+/// <reference types="node" />
2
+import * as fs from 'fs';
3
+export declare type FileSystemAdapter = {
4
+    lstat: typeof fs.lstat;
5
+    stat: typeof fs.stat;
6
+    lstatSync: typeof fs.lstatSync;
7
+    statSync: typeof fs.statSync;
8
+};
9
+export declare const FILE_SYSTEM_ADAPTER: FileSystemAdapter;
10
+export declare function createFileSystemAdapter(fsMethods?: Partial<FileSystemAdapter>): FileSystemAdapter;
11
+//# sourceMappingURL=fs.d.ts.map

+ 16
- 0
node_modules/@nodelib/fs.stat/out/adapters/fs.js Просмотреть файл

@@ -0,0 +1,16 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+const fs = require("fs");
4
+exports.FILE_SYSTEM_ADAPTER = {
5
+    lstat: fs.lstat,
6
+    stat: fs.stat,
7
+    lstatSync: fs.lstatSync,
8
+    statSync: fs.statSync
9
+};
10
+function createFileSystemAdapter(fsMethods) {
11
+    if (fsMethods === undefined) {
12
+        return exports.FILE_SYSTEM_ADAPTER;
13
+    }
14
+    return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods);
15
+}
16
+exports.createFileSystemAdapter = createFileSystemAdapter;

+ 13
- 0
node_modules/@nodelib/fs.stat/out/index.d.ts Просмотреть файл

@@ -0,0 +1,13 @@
1
+import { FileSystemAdapter } from './adapters/fs';
2
+import * as async from './providers/async';
3
+import Settings, { Options } from './settings';
4
+import { Stats } from './types';
5
+declare type AsyncCallback = async.AsyncCallback;
6
+declare function stat(path: string, callback: AsyncCallback): void;
7
+declare function stat(path: string, optionsOrSettings: Options | Settings, callback: AsyncCallback): void;
8
+declare namespace stat {
9
+    function __promisify__(path: string, optionsOrSettings?: Options | Settings): Promise<Stats>;
10
+}
11
+declare function statSync(path: string, optionsOrSettings?: Options | Settings): Stats;
12
+export { Settings, stat, statSync, AsyncCallback, FileSystemAdapter, Options, Stats };
13
+//# sourceMappingURL=index.d.ts.map

+ 24
- 0
node_modules/@nodelib/fs.stat/out/index.js Просмотреть файл

@@ -0,0 +1,24 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+const async = require("./providers/async");
4
+const sync = require("./providers/sync");
5
+const settings_1 = require("./settings");
6
+exports.Settings = settings_1.default;
7
+function stat(path, optionsOrSettingsOrCallback, callback) {
8
+    if (typeof optionsOrSettingsOrCallback === 'function') {
9
+        return async.read(path, getSettings(), optionsOrSettingsOrCallback);
10
+    }
11
+    async.read(path, getSettings(optionsOrSettingsOrCallback), callback);
12
+}
13
+exports.stat = stat;
14
+function statSync(path, optionsOrSettings) {
15
+    const settings = getSettings(optionsOrSettings);
16
+    return sync.read(path, settings);
17
+}
18
+exports.statSync = statSync;
19
+function getSettings(settingsOrOptions = {}) {
20
+    if (settingsOrOptions instanceof settings_1.default) {
21
+        return settingsOrOptions;
22
+    }
23
+    return new settings_1.default(settingsOrOptions);
24
+}

+ 5
- 0
node_modules/@nodelib/fs.stat/out/providers/async.d.ts Просмотреть файл

@@ -0,0 +1,5 @@
1
+import Settings from '../settings';
2
+import { ErrnoException, Stats } from '../types';
3
+export declare type AsyncCallback = (err: ErrnoException, stats: Stats) => void;
4
+export declare function read(path: string, settings: Settings, callback: AsyncCallback): void;
5
+//# sourceMappingURL=async.d.ts.map

+ 31
- 0
node_modules/@nodelib/fs.stat/out/providers/async.js Просмотреть файл

@@ -0,0 +1,31 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+function read(path, settings, callback) {
4
+    settings.fs.lstat(path, (lstatError, lstat) => {
5
+        if (lstatError !== null) {
6
+            return callFailureCallback(callback, lstatError);
7
+        }
8
+        if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) {
9
+            return callSuccessCallback(callback, lstat);
10
+        }
11
+        settings.fs.stat(path, (statError, stat) => {
12
+            if (statError !== null) {
13
+                if (settings.throwErrorOnBrokenSymbolicLink) {
14
+                    return callFailureCallback(callback, statError);
15
+                }
16
+                return callSuccessCallback(callback, lstat);
17
+            }
18
+            if (settings.markSymbolicLink) {
19
+                stat.isSymbolicLink = () => true;
20
+            }
21
+            callSuccessCallback(callback, stat);
22
+        });
23
+    });
24
+}
25
+exports.read = read;
26
+function callFailureCallback(callback, error) {
27
+    callback(error);
28
+}
29
+function callSuccessCallback(callback, result) {
30
+    callback(null, result);
31
+}

+ 4
- 0
node_modules/@nodelib/fs.stat/out/providers/sync.d.ts Просмотреть файл

@@ -0,0 +1,4 @@
1
+import Settings from '../settings';
2
+import { Stats } from '../types';
3
+export declare function read(path: string, settings: Settings): Stats;
4
+//# sourceMappingURL=sync.d.ts.map

+ 22
- 0
node_modules/@nodelib/fs.stat/out/providers/sync.js Просмотреть файл

@@ -0,0 +1,22 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+function read(path, settings) {
4
+    const lstat = settings.fs.lstatSync(path);
5
+    if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) {
6
+        return lstat;
7
+    }
8
+    try {
9
+        const stat = settings.fs.statSync(path);
10
+        if (settings.markSymbolicLink) {
11
+            stat.isSymbolicLink = () => true;
12
+        }
13
+        return stat;
14
+    }
15
+    catch (error) {
16
+        if (!settings.throwErrorOnBrokenSymbolicLink) {
17
+            return lstat;
18
+        }
19
+        throw error;
20
+    }
21
+}
22
+exports.read = read;

+ 17
- 0
node_modules/@nodelib/fs.stat/out/settings.d.ts Просмотреть файл

@@ -0,0 +1,17 @@
1
+import * as fs from './adapters/fs';
2
+export declare type Options = {
3
+    followSymbolicLink?: boolean;
4
+    fs?: Partial<fs.FileSystemAdapter>;
5
+    markSymbolicLink?: boolean;
6
+    throwErrorOnBrokenSymbolicLink?: boolean;
7
+};
8
+export default class Settings {
9
+    private readonly _options;
10
+    readonly followSymbolicLink: boolean;
11
+    readonly fs: fs.FileSystemAdapter;
12
+    readonly markSymbolicLink: boolean;
13
+    readonly throwErrorOnBrokenSymbolicLink: boolean;
14
+    constructor(_options?: Options);
15
+    private _getValue;
16
+}
17
+//# sourceMappingURL=settings.d.ts.map

+ 16
- 0
node_modules/@nodelib/fs.stat/out/settings.js Просмотреть файл

@@ -0,0 +1,16 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+const fs = require("./adapters/fs");
4
+class Settings {
5
+    constructor(_options = {}) {
6
+        this._options = _options;
7
+        this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true);
8
+        this.fs = fs.createFileSystemAdapter(this._options.fs);
9
+        this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false);
10
+        this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);
11
+    }
12
+    _getValue(option, value) {
13
+        return option === undefined ? value : option;
14
+    }
15
+}
16
+exports.default = Settings;

+ 5
- 0
node_modules/@nodelib/fs.stat/out/types/index.d.ts Просмотреть файл

@@ -0,0 +1,5 @@
1
+/// <reference types="node" />
2
+import * as fs from 'fs';
3
+export declare type Stats = fs.Stats;
4
+export declare type ErrnoException = NodeJS.ErrnoException;
5
+//# sourceMappingURL=index.d.ts.map

+ 2
- 0
node_modules/@nodelib/fs.stat/out/types/index.js Просмотреть файл

@@ -0,0 +1,2 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });

+ 91
- 0
node_modules/@nodelib/fs.stat/package.json Просмотреть файл

@@ -0,0 +1,91 @@
1
+{
2
+  "_args": [
3
+    [
4
+      "@nodelib/fs.stat@^2.0.2",
5
+      "/home/lyxaira/Artesanias/artesanias/node_modules/fast-glob"
6
+    ]
7
+  ],
8
+  "_from": "@nodelib/fs.stat@>=2.0.2 <3.0.0",
9
+  "_hasShrinkwrap": false,
10
+  "_id": "@nodelib/fs.stat@2.0.3",
11
+  "_inCache": true,
12
+  "_installable": true,
13
+  "_location": "/@nodelib/fs.stat",
14
+  "_nodeVersion": "12.8.0",
15
+  "_npmOperationalInternal": {
16
+    "host": "s3://npm-registry-packages",
17
+    "tmp": "tmp/fs.stat_2.0.3_1570173163141_0.7325395787436761"
18
+  },
19
+  "_npmUser": {
20
+    "email": "dmalinochkin@rambler.ru",
21
+    "name": "mrmlnc"
22
+  },
23
+  "_npmVersion": "lerna/3.16.4/node@v12.8.0+x64 (win32)",
24
+  "_phantomChildren": {},
25
+  "_requested": {
26
+    "name": "@nodelib/fs.stat",
27
+    "raw": "@nodelib/fs.stat@^2.0.2",
28
+    "rawSpec": "^2.0.2",
29
+    "scope": "@nodelib",
30
+    "spec": ">=2.0.2 <3.0.0",
31
+    "type": "range"
32
+  },
33
+  "_requiredBy": [
34
+    "/@nodelib/fs.scandir",
35
+    "/fast-glob"
36
+  ],
37
+  "_resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
38
+  "_shasum": "34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3",
39
+  "_shrinkwrap": null,
40
+  "_spec": "@nodelib/fs.stat@^2.0.2",
41
+  "_where": "/home/lyxaira/Artesanias/artesanias/node_modules/fast-glob",
42
+  "dependencies": {},
43
+  "description": "Get the status of a file with some features",
44
+  "devDependencies": {},
45
+  "directories": {},
46
+  "dist": {
47
+    "fileCount": 15,
48
+    "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
49
+    "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlvDrCRA9TVsSAnZWagAAPlgP/1IoWIVZ4ikAyMLYWYV5\nspxT3f0dZhAipLIxwQb68bf9eCYHS3apQ+DrIBgPdXpapH2+CBH+wIkYRGMe\n6iS86/wtGGls377ZByPfgFepXUBKeD3h5X738BsGGfE+GkcNnRjIYtNYO00U\nH9yV9POPFICJHRBS0bh1DW8tOa+B5dAEYX/gr8Fb9cI037ESV61HyKPKJm45\nPdjcYsGQROpmfL58R204goQGKcYw+6vu3S8QzhD7eU6Sof5AXotr8B9u8SYo\nv6t4Rn9oyJLo0U+dIc+L0Z8r/qiIBp3NcyZ2Ave0uugCYNOLlHEG7OaW8Esx\nwLHqfydj0QG0SAEY0sYrasMzesswls5NkD3VkWfLbS7sqFXLzPE4GScIvc87\n8E2LlFKJkbfANo2BfFTEAVenBV85nvynAUP3GYO4kjtKHvPhkFAg6/s3usSc\nkPGf9j2ASJO7c5fsFEUBlYg58EEeZqW1/rXiGxVyCVzSSZQmNj7AT8BMTqDj\nrikx0otjIs+iPpxbwslHfGBwV1iMLt7IsUsv5BIDSOzFLayUx6sj6TdInthT\ni2q3Q+xRjh7D4KM0q1rruzsFHQappRTkRaP0HQxvZODvek/ZzmkwfClvn3Yn\nm91VxVR5bxO/+flLCnTH0rVKooZ05tEalNbhSX6V59Orfdf6i1G7Ht26WcvX\nSURC\r\n=jUeA\r\n-----END PGP SIGNATURE-----\r\n",
50
+    "shasum": "34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3",
51
+    "tarball": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
52
+    "unpackedSize": 11410
53
+  },
54
+  "engines": {
55
+    "node": ">= 8"
56
+  },
57
+  "gitHead": "3b1ef7554ad7c061b3580858101d483fba847abf",
58
+  "keywords": [
59
+    "FileSystem",
60
+    "NodeLib",
61
+    "file system",
62
+    "fs",
63
+    "stat"
64
+  ],
65
+  "license": "MIT",
66
+  "main": "out/index.js",
67
+  "maintainers": [
68
+    {
69
+      "name": "mrmlnc",
70
+      "email": "dmalinochkin@rambler.ru"
71
+    }
72
+  ],
73
+  "name": "@nodelib/fs.stat",
74
+  "optionalDependencies": {},
75
+  "readme": "ERROR: No README data found!",
76
+  "repository": {
77
+    "type": "git",
78
+    "url": "https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.stat"
79
+  },
80
+  "scripts": {
81
+    "build": "npm run clean && npm run compile && npm run lint && npm test",
82
+    "clean": "rimraf {tsconfig.tsbuildinfo,out}",
83
+    "compile": "tsc -b .",
84
+    "compile:watch": "tsc -p . --watch --sourceMap",
85
+    "lint": "eslint \"src/**/*.ts\" --cache",
86
+    "test": "mocha \"out/**/*.spec.js\" -s 0",
87
+    "watch": "npm run clean && npm run compile:watch"
88
+  },
89
+  "typings": "out/index.d.ts",
90
+  "version": "2.0.3"
91
+}

+ 21
- 0
node_modules/@nodelib/fs.walk/LICENSE Просмотреть файл

@@ -0,0 +1,21 @@
1
+The MIT License (MIT)
2
+
3
+Copyright (c) Denis Malinochkin
4
+
5
+Permission is hereby granted, free of charge, to any person obtaining a copy
6
+of this software and associated documentation files (the "Software"), to deal
7
+in the Software without restriction, including without limitation the rights
8
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+copies of the Software, and to permit persons to whom the Software is
10
+furnished to do so, subject to the following conditions:
11
+
12
+The above copyright notice and this permission notice shall be included in all
13
+copies or substantial portions of the Software.
14
+
15
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+SOFTWARE.

+ 215
- 0
node_modules/@nodelib/fs.walk/README.md Просмотреть файл

@@ -0,0 +1,215 @@
1
+# @nodelib/fs.walk
2
+
3
+> A library for efficiently walking a directory recursively.
4
+
5
+## :bulb: Highlights
6
+
7
+* :moneybag: Returns useful information: `name`, `path`, `dirent` and `stats` (optional).
8
+* :rocket: On Node.js 10.10+ uses the mechanism without additional calls to determine the entry type for performance reasons. See [`old` and `modern` mode](https://github.com/nodelib/nodelib/blob/master/packages/fs/fs.scandir/README.md#old-and-modern-mode).
9
+* :gear: Built-in directories/files and error filtering system.
10
+* :link: Can safely work with broken symbolic links.
11
+
12
+## Install
13
+
14
+```console
15
+npm install @nodelib/fs.walk
16
+```
17
+
18
+## Usage
19
+
20
+```ts
21
+import * as fsWalk from '@nodelib/fs.walk';
22
+
23
+fsWalk.walk('path', (error, entries) => { /* … */ });
24
+```
25
+
26
+## API
27
+
28
+### .walk(path, [optionsOrSettings], callback)
29
+
30
+Reads the directory recursively and asynchronously. Requires a callback function.
31
+
32
+> :book: If you want to use the Promise API, use `util.promisify`.
33
+
34
+```ts
35
+fsWalk.walk('path', (error, entries) => { /* … */ });
36
+fsWalk.walk('path', {}, (error, entries) => { /* … */ });
37
+fsWalk.walk('path', new fsWalk.Settings(), (error, entries) => { /* … */ });
38
+```
39
+
40
+### .walkStream(path, [optionsOrSettings])
41
+
42
+Reads the directory recursively and asynchronously. [Readable Stream](https://nodejs.org/dist/latest-v12.x/docs/api/stream.html#stream_readable_streams) is used as a provider.
43
+
44
+```ts
45
+const stream = fsWalk.walkStream('path');
46
+const stream = fsWalk.walkStream('path', {});
47
+const stream = fsWalk.walkStream('path', new fsWalk.Settings());
48
+```
49
+
50
+### .walkSync(path, [optionsOrSettings])
51
+
52
+Reads the directory recursively and synchronously. Returns an array of entries.
53
+
54
+```ts
55
+const entries = fsWalk.walkSync('path');
56
+const entries = fsWalk.walkSync('path', {});
57
+const entries = fsWalk.walkSync('path', new fsWalk.Settings());
58
+```
59
+
60
+#### path
61
+
62
+* Required: `true`
63
+* Type: `string | Buffer | URL`
64
+
65
+A path to a file. If a URL is provided, it must use the `file:` protocol.
66
+
67
+#### optionsOrSettings
68
+
69
+* Required: `false`
70
+* Type: `Options | Settings`
71
+* Default: An instance of `Settings` class
72
+
73
+An [`Options`](#options) object or an instance of [`Settings`](#settings) class.
74
+
75
+> :book: When you pass a plain object, an instance of the `Settings` class will be created automatically. If you plan to call the method frequently, use a pre-created instance of the `Settings` class.
76
+
77
+### Settings([options])
78
+
79
+A class of full settings of the package.
80
+
81
+```ts
82
+const settings = new fsWalk.Settings({ followSymbolicLinks: true });
83
+
84
+const entries = fsWalk.walkSync('path', settings);
85
+```
86
+
87
+## Entry
88
+
89
+* `name` — The name of the entry (`unknown.txt`).
90
+* `path` — The path of the entry relative to call directory (`root/unknown.txt`).
91
+* `dirent` — An instance of [`fs.Dirent`](./src/types/index.ts) class.
92
+* [`stats`] — An instance of `fs.Stats` class.
93
+
94
+## Options
95
+
96
+### basePath
97
+
98
+* Type: `string`
99
+* Default: `undefined`
100
+
101
+By default, all paths are built relative to the root path. You can use this option to set custom root path.
102
+
103
+In the example below we read the files from the `root` directory, but in the results the root path will be `custom`.
104
+
105
+```ts
106
+fsWalk.walkSync('root'); // → ['root/file.txt']
107
+fsWalk.walkSync('root', { basePath: 'custom' }); // → ['custom/file.txt']
108
+```
109
+
110
+### concurrency
111
+
112
+* Type: `number`
113
+* Default: `Infinity`
114
+
115
+The maximum number of concurrent calls to `fs.readdir`.
116
+
117
+> :book: The higher the number, the higher performance and the load on the File System. If you want to read in quiet mode, set the value to `4 * os.cpus().length` (4 is default size of [thread pool work scheduling](http://docs.libuv.org/en/v1.x/threadpool.html#thread-pool-work-scheduling)).
118
+
119
+### deepFilter
120
+
121
+* Type: [`DeepFilterFunction`](./src/settings.ts)
122
+* Default: `undefined`
123
+
124
+A function that indicates whether the directory will be read deep or not.
125
+
126
+```ts
127
+// Skip all directories that starts with `node_modules`
128
+const filter: DeepFilterFunction = (entry) => !entry.path.startsWith('node_modules');
129
+```
130
+
131
+### entryFilter
132
+
133
+* Type: [`EntryFilterFunction`](./src/settings.ts)
134
+* Default: `undefined`
135
+
136
+A function that indicates whether the entry will be included to results or not.
137
+
138
+```ts
139
+// Exclude all `.js` files from results
140
+const filter: EntryFilterFunction = (entry) => !entry.name.endsWith('.js');
141
+```
142
+
143
+### errorFilter
144
+
145
+* Type: [`ErrorFilterFunction`](./src/settings.ts)
146
+* Default: `undefined`
147
+
148
+A function that allows you to skip errors that occur when reading directories.
149
+
150
+For example, you can skip `ENOENT` errors if required:
151
+
152
+```ts
153
+// Skip all ENOENT errors
154
+const filter: ErrorFilterFunction = (error) => error.code == 'ENOENT';
155
+```
156
+
157
+### stats
158
+
159
+* Type: `boolean`
160
+* Default: `false`
161
+
162
+Adds an instance of `fs.Stats` class to the [`Entry`](#entry).
163
+
164
+> :book: Always use `fs.readdir` with additional `fs.lstat/fs.stat` calls to determine the entry type.
165
+
166
+### followSymbolicLinks
167
+
168
+* Type: `boolean`
169
+* Default: `false`
170
+
171
+Follow symbolic links or not. Call `fs.stat` on symbolic link if `true`.
172
+
173
+### `throwErrorOnBrokenSymbolicLink`
174
+
175
+* Type: `boolean`
176
+* Default: `true`
177
+
178
+Throw an error when symbolic link is broken if `true` or safely return `lstat` call if `false`.
179
+
180
+### `pathSegmentSeparator`
181
+
182
+* Type: `string`
183
+* Default: `path.sep`
184
+
185
+By default, this package uses the correct path separator for your OS (`\` on Windows, `/` on Unix-like systems). But you can set this option to any separator character(s) that you want to use instead.
186
+
187
+### `fs`
188
+
189
+* Type: `FileSystemAdapter`
190
+* Default: A default FS methods
191
+
192
+By default, the built-in Node.js module (`fs`) is used to work with the file system. You can replace any method with your own.
193
+
194
+```ts
195
+interface FileSystemAdapter {
196
+	lstat: typeof fs.lstat;
197
+	stat: typeof fs.stat;
198
+	lstatSync: typeof fs.lstatSync;
199
+	statSync: typeof fs.statSync;
200
+	readdir: typeof fs.readdir;
201
+	readdirSync: typeof fs.readdirSync;
202
+}
203
+
204
+const settings = new fsWalk.Settings({
205
+	fs: { lstat: fakeLstat }
206
+});
207
+```
208
+
209
+## Changelog
210
+
211
+See the [Releases section of our GitHub project](https://github.com/nodelib/nodelib/releases) for changelog for each release version.
212
+
213
+## License
214
+
215
+This software is released under the terms of the MIT license.

+ 15
- 0
node_modules/@nodelib/fs.walk/out/index.d.ts Просмотреть файл

@@ -0,0 +1,15 @@
1
+/// <reference types="node" />
2
+import { Readable } from 'stream';
3
+import { Dirent, FileSystemAdapter } from '@nodelib/fs.scandir';
4
+import { AsyncCallback } from './providers/async';
5
+import Settings, { DeepFilterFunction, EntryFilterFunction, ErrorFilterFunction, Options } from './settings';
6
+import { Entry } from './types';
7
+declare function walk(directory: string, callback: AsyncCallback): void;
8
+declare function walk(directory: string, optionsOrSettings: Options | Settings, callback: AsyncCallback): void;
9
+declare namespace walk {
10
+    function __promisify__(directory: string, optionsOrSettings?: Options | Settings): Promise<Entry[]>;
11
+}
12
+declare function walkSync(directory: string, optionsOrSettings?: Options | Settings): Entry[];
13
+declare function walkStream(directory: string, optionsOrSettings?: Options | Settings): Readable;
14
+export { walk, walkSync, walkStream, Settings, AsyncCallback, Dirent, Entry, FileSystemAdapter, Options, DeepFilterFunction, EntryFilterFunction, ErrorFilterFunction };
15
+//# sourceMappingURL=index.d.ts.map

+ 32
- 0
node_modules/@nodelib/fs.walk/out/index.js Просмотреть файл

@@ -0,0 +1,32 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+const async_1 = require("./providers/async");
4
+const stream_1 = require("./providers/stream");
5
+const sync_1 = require("./providers/sync");
6
+const settings_1 = require("./settings");
7
+exports.Settings = settings_1.default;
8
+function walk(directory, optionsOrSettingsOrCallback, callback) {
9
+    if (typeof optionsOrSettingsOrCallback === 'function') {
10
+        return new async_1.default(directory, getSettings()).read(optionsOrSettingsOrCallback);
11
+    }
12
+    new async_1.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback);
13
+}
14
+exports.walk = walk;
15
+function walkSync(directory, optionsOrSettings) {
16
+    const settings = getSettings(optionsOrSettings);
17
+    const provider = new sync_1.default(directory, settings);
18
+    return provider.read();
19
+}
20
+exports.walkSync = walkSync;
21
+function walkStream(directory, optionsOrSettings) {
22
+    const settings = getSettings(optionsOrSettings);
23
+    const provider = new stream_1.default(directory, settings);
24
+    return provider.read();
25
+}
26
+exports.walkStream = walkStream;
27
+function getSettings(settingsOrOptions = {}) {
28
+    if (settingsOrOptions instanceof settings_1.default) {
29
+        return settingsOrOptions;
30
+    }
31
+    return new settings_1.default(settingsOrOptions);
32
+}

+ 13
- 0
node_modules/@nodelib/fs.walk/out/providers/async.d.ts Просмотреть файл

@@ -0,0 +1,13 @@
1
+import AsyncReader from '../readers/async';
2
+import Settings from '../settings';
3
+import { Entry, Errno } from '../types';
4
+export declare type AsyncCallback = (err: Errno, entries: Entry[]) => void;
5
+export default class AsyncProvider {
6
+    private readonly _root;
7
+    private readonly _settings;
8
+    protected readonly _reader: AsyncReader;
9
+    private readonly _storage;
10
+    constructor(_root: string, _settings: Settings);
11
+    read(callback: AsyncCallback): void;
12
+}
13
+//# sourceMappingURL=async.d.ts.map

+ 30
- 0
node_modules/@nodelib/fs.walk/out/providers/async.js Просмотреть файл

@@ -0,0 +1,30 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+const async_1 = require("../readers/async");
4
+class AsyncProvider {
5
+    constructor(_root, _settings) {
6
+        this._root = _root;
7
+        this._settings = _settings;
8
+        this._reader = new async_1.default(this._root, this._settings);
9
+        this._storage = new Set();
10
+    }
11
+    read(callback) {
12
+        this._reader.onError((error) => {
13
+            callFailureCallback(callback, error);
14
+        });
15
+        this._reader.onEntry((entry) => {
16
+            this._storage.add(entry);
17
+        });
18
+        this._reader.onEnd(() => {
19
+            callSuccessCallback(callback, [...this._storage]);
20
+        });
21
+        this._reader.read();
22
+    }
23
+}
24
+exports.default = AsyncProvider;
25
+function callFailureCallback(callback, error) {
26
+    callback(error);
27
+}
28
+function callSuccessCallback(callback, entries) {
29
+    callback(null, entries);
30
+}

+ 5
- 0
node_modules/@nodelib/fs.walk/out/providers/index.d.ts Просмотреть файл

@@ -0,0 +1,5 @@
1
+import AsyncProvider from './async';
2
+import StreamProvider from './stream';
3
+import SyncProvider from './sync';
4
+export { AsyncProvider, StreamProvider, SyncProvider };
5
+//# sourceMappingURL=index.d.ts.map

+ 8
- 0
node_modules/@nodelib/fs.walk/out/providers/index.js Просмотреть файл

@@ -0,0 +1,8 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+const async_1 = require("./async");
4
+exports.AsyncProvider = async_1.default;
5
+const stream_1 = require("./stream");
6
+exports.StreamProvider = stream_1.default;
7
+const sync_1 = require("./sync");
8
+exports.SyncProvider = sync_1.default;

+ 13
- 0
node_modules/@nodelib/fs.walk/out/providers/stream.d.ts Просмотреть файл

@@ -0,0 +1,13 @@
1
+/// <reference types="node" />
2
+import { Readable } from 'stream';
3
+import AsyncReader from '../readers/async';
4
+import Settings from '../settings';
5
+export default class StreamProvider {
6
+    private readonly _root;
7
+    private readonly _settings;
8
+    protected readonly _reader: AsyncReader;
9
+    protected readonly _stream: Readable;
10
+    constructor(_root: string, _settings: Settings);
11
+    read(): Readable;
12
+}
13
+//# sourceMappingURL=stream.d.ts.map

+ 30
- 0
node_modules/@nodelib/fs.walk/out/providers/stream.js Просмотреть файл

@@ -0,0 +1,30 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+const stream_1 = require("stream");
4
+const async_1 = require("../readers/async");
5
+class StreamProvider {
6
+    constructor(_root, _settings) {
7
+        this._root = _root;
8
+        this._settings = _settings;
9
+        this._reader = new async_1.default(this._root, this._settings);
10
+        this._stream = new stream_1.Readable({
11
+            objectMode: true,
12
+            read: () => { },
13
+            destroy: this._reader.destroy.bind(this._reader)
14
+        });
15
+    }
16
+    read() {
17
+        this._reader.onError((error) => {
18
+            this._stream.emit('error', error);
19
+        });
20
+        this._reader.onEntry((entry) => {
21
+            this._stream.push(entry);
22
+        });
23
+        this._reader.onEnd(() => {
24
+            this._stream.push(null);
25
+        });
26
+        this._reader.read();
27
+        return this._stream;
28
+    }
29
+}
30
+exports.default = StreamProvider;

+ 11
- 0
node_modules/@nodelib/fs.walk/out/providers/sync.d.ts Просмотреть файл

@@ -0,0 +1,11 @@
1
+import SyncReader from '../readers/sync';
2
+import Settings from '../settings';
3
+import { Entry } from '../types';
4
+export default class SyncProvider {
5
+    private readonly _root;
6
+    private readonly _settings;
7
+    protected readonly _reader: SyncReader;
8
+    constructor(_root: string, _settings: Settings);
9
+    read(): Entry[];
10
+}
11
+//# sourceMappingURL=sync.d.ts.map

+ 14
- 0
node_modules/@nodelib/fs.walk/out/providers/sync.js Просмотреть файл

@@ -0,0 +1,14 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+const sync_1 = require("../readers/sync");
4
+class SyncProvider {
5
+    constructor(_root, _settings) {
6
+        this._root = _root;
7
+        this._settings = _settings;
8
+        this._reader = new sync_1.default(this._root, this._settings);
9
+    }
10
+    read() {
11
+        return this._reader.read();
12
+    }
13
+}
14
+exports.default = SyncProvider;

+ 30
- 0
node_modules/@nodelib/fs.walk/out/readers/async.d.ts Просмотреть файл

@@ -0,0 +1,30 @@
1
+/// <reference types="node" />
2
+import { EventEmitter } from 'events';
3
+import * as fsScandir from '@nodelib/fs.scandir';
4
+import Settings from '../settings';
5
+import { Entry, Errno } from '../types';
6
+import Reader from './reader';
7
+declare type EntryEventCallback = (entry: Entry) => void;
8
+declare type ErrorEventCallback = (error: Errno) => void;
9
+declare type EndEventCallback = () => void;
10
+export default class AsyncReader extends Reader {
11
+    protected readonly _settings: Settings;
12
+    protected readonly _scandir: typeof fsScandir.scandir;
13
+    protected readonly _emitter: EventEmitter;
14
+    private readonly _queue;
15
+    private _isFatalError;
16
+    private _isDestroyed;
17
+    constructor(_root: string, _settings: Settings);
18
+    read(): EventEmitter;
19
+    destroy(): void;
20
+    onEntry(callback: EntryEventCallback): void;
21
+    onError(callback: ErrorEventCallback): void;
22
+    onEnd(callback: EndEventCallback): void;
23
+    private _pushToQueue;
24
+    private _worker;
25
+    private _handleError;
26
+    private _handleEntry;
27
+    private _emitEntry;
28
+}
29
+export {};
30
+//# sourceMappingURL=async.d.ts.map

+ 93
- 0
node_modules/@nodelib/fs.walk/out/readers/async.js Просмотреть файл

@@ -0,0 +1,93 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+const events_1 = require("events");
4
+const fsScandir = require("@nodelib/fs.scandir");
5
+const fastq = require("fastq");
6
+const common = require("./common");
7
+const reader_1 = require("./reader");
8
+class AsyncReader extends reader_1.default {
9
+    constructor(_root, _settings) {
10
+        super(_root, _settings);
11
+        this._settings = _settings;
12
+        this._scandir = fsScandir.scandir;
13
+        this._emitter = new events_1.EventEmitter();
14
+        this._queue = fastq(this._worker.bind(this), this._settings.concurrency);
15
+        this._isFatalError = false;
16
+        this._isDestroyed = false;
17
+        this._queue.drain = () => {
18
+            if (!this._isFatalError) {
19
+                this._emitter.emit('end');
20
+            }
21
+        };
22
+    }
23
+    read() {
24
+        this._isFatalError = false;
25
+        this._isDestroyed = false;
26
+        setImmediate(() => {
27
+            this._pushToQueue(this._root, this._settings.basePath);
28
+        });
29
+        return this._emitter;
30
+    }
31
+    destroy() {
32
+        if (this._isDestroyed) {
33
+            throw new Error('The reader is already destroyed');
34
+        }
35
+        this._isDestroyed = true;
36
+        this._queue.killAndDrain();
37
+    }
38
+    onEntry(callback) {
39
+        this._emitter.on('entry', callback);
40
+    }
41
+    onError(callback) {
42
+        this._emitter.once('error', callback);
43
+    }
44
+    onEnd(callback) {
45
+        this._emitter.once('end', callback);
46
+    }
47
+    _pushToQueue(directory, base) {
48
+        const queueItem = { directory, base };
49
+        this._queue.push(queueItem, (error) => {
50
+            if (error !== null) {
51
+                this._handleError(error);
52
+            }
53
+        });
54
+    }
55
+    _worker(item, done) {
56
+        this._scandir(item.directory, this._settings.fsScandirSettings, (error, entries) => {
57
+            if (error !== null) {
58
+                return done(error, undefined);
59
+            }
60
+            for (const entry of entries) {
61
+                this._handleEntry(entry, item.base);
62
+            }
63
+            done(null, undefined);
64
+        });
65
+    }
66
+    _handleError(error) {
67
+        if (!common.isFatalError(this._settings, error)) {
68
+            return;
69
+        }
70
+        this._isFatalError = true;
71
+        this._isDestroyed = true;
72
+        this._emitter.emit('error', error);
73
+    }
74
+    _handleEntry(entry, base) {
75
+        if (this._isDestroyed || this._isFatalError) {
76
+            return;
77
+        }
78
+        const fullpath = entry.path;
79
+        if (base !== undefined) {
80
+            entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator);
81
+        }
82
+        if (common.isAppliedFilter(this._settings.entryFilter, entry)) {
83
+            this._emitEntry(entry);
84
+        }
85
+        if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) {
86
+            this._pushToQueue(fullpath, entry.path);
87
+        }
88
+    }
89
+    _emitEntry(entry) {
90
+        this._emitter.emit('entry', entry);
91
+    }
92
+}
93
+exports.default = AsyncReader;

+ 7
- 0
node_modules/@nodelib/fs.walk/out/readers/common.d.ts Просмотреть файл

@@ -0,0 +1,7 @@
1
+import Settings, { FilterFunction } from '../settings';
2
+import { Errno } from '../types';
3
+export declare function isFatalError(settings: Settings, error: Errno): boolean;
4
+export declare function isAppliedFilter<T>(filter: FilterFunction<T> | null, value: T): boolean;
5
+export declare function replacePathSegmentSeparator(filepath: string, separator: string): string;
6
+export declare function joinPathSegments(a: string, b: string, separator: string): string;
7
+//# sourceMappingURL=common.d.ts.map

+ 24
- 0
node_modules/@nodelib/fs.walk/out/readers/common.js Просмотреть файл

@@ -0,0 +1,24 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+function isFatalError(settings, error) {
4
+    if (settings.errorFilter === null) {
5
+        return true;
6
+    }
7
+    return !settings.errorFilter(error);
8
+}
9
+exports.isFatalError = isFatalError;
10
+function isAppliedFilter(filter, value) {
11
+    return filter === null || filter(value);
12
+}
13
+exports.isAppliedFilter = isAppliedFilter;
14
+function replacePathSegmentSeparator(filepath, separator) {
15
+    return filepath.split(/[\\/]/).join(separator);
16
+}
17
+exports.replacePathSegmentSeparator = replacePathSegmentSeparator;
18
+function joinPathSegments(a, b, separator) {
19
+    if (a === '') {
20
+        return b;
21
+    }
22
+    return a + separator + b;
23
+}
24
+exports.joinPathSegments = joinPathSegments;

+ 7
- 0
node_modules/@nodelib/fs.walk/out/readers/reader.d.ts Просмотреть файл

@@ -0,0 +1,7 @@
1
+import Settings from '../settings';
2
+export default class Reader {
3
+    protected readonly _root: string;
4
+    protected readonly _settings: Settings;
5
+    constructor(_root: string, _settings: Settings);
6
+}
7
+//# sourceMappingURL=reader.d.ts.map

+ 11
- 0
node_modules/@nodelib/fs.walk/out/readers/reader.js Просмотреть файл

@@ -0,0 +1,11 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+const common = require("./common");
4
+class Reader {
5
+    constructor(_root, _settings) {
6
+        this._root = _root;
7
+        this._settings = _settings;
8
+        this._root = common.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator);
9
+    }
10
+}
11
+exports.default = Reader;

+ 16
- 0
node_modules/@nodelib/fs.walk/out/readers/sync.d.ts Просмотреть файл

@@ -0,0 +1,16 @@
1
+import * as fsScandir from '@nodelib/fs.scandir';
2
+import { Entry } from '../types';
3
+import Reader from './reader';
4
+export default class SyncReader extends Reader {
5
+    protected readonly _scandir: typeof fsScandir.scandirSync;
6
+    private readonly _storage;
7
+    private readonly _queue;
8
+    read(): Entry[];
9
+    private _pushToQueue;
10
+    private _handleQueue;
11
+    private _handleDirectory;
12
+    private _handleError;
13
+    private _handleEntry;
14
+    private _pushToStorage;
15
+}
16
+//# sourceMappingURL=sync.d.ts.map

+ 59
- 0
node_modules/@nodelib/fs.walk/out/readers/sync.js Просмотреть файл

@@ -0,0 +1,59 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+const fsScandir = require("@nodelib/fs.scandir");
4
+const common = require("./common");
5
+const reader_1 = require("./reader");
6
+class SyncReader extends reader_1.default {
7
+    constructor() {
8
+        super(...arguments);
9
+        this._scandir = fsScandir.scandirSync;
10
+        this._storage = new Set();
11
+        this._queue = new Set();
12
+    }
13
+    read() {
14
+        this._pushToQueue(this._root, this._settings.basePath);
15
+        this._handleQueue();
16
+        return [...this._storage];
17
+    }
18
+    _pushToQueue(directory, base) {
19
+        this._queue.add({ directory, base });
20
+    }
21
+    _handleQueue() {
22
+        for (const item of this._queue.values()) {
23
+            this._handleDirectory(item.directory, item.base);
24
+        }
25
+    }
26
+    _handleDirectory(directory, base) {
27
+        try {
28
+            const entries = this._scandir(directory, this._settings.fsScandirSettings);
29
+            for (const entry of entries) {
30
+                this._handleEntry(entry, base);
31
+            }
32
+        }
33
+        catch (error) {
34
+            this._handleError(error);
35
+        }
36
+    }
37
+    _handleError(error) {
38
+        if (!common.isFatalError(this._settings, error)) {
39
+            return;
40
+        }
41
+        throw error;
42
+    }
43
+    _handleEntry(entry, base) {
44
+        const fullpath = entry.path;
45
+        if (base !== undefined) {
46
+            entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator);
47
+        }
48
+        if (common.isAppliedFilter(this._settings.entryFilter, entry)) {
49
+            this._pushToStorage(entry);
50
+        }
51
+        if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) {
52
+            this._pushToQueue(fullpath, entry.path);
53
+        }
54
+    }
55
+    _pushToStorage(entry) {
56
+        this._storage.add(entry);
57
+    }
58
+}
59
+exports.default = SyncReader;

+ 31
- 0
node_modules/@nodelib/fs.walk/out/settings.d.ts Просмотреть файл

@@ -0,0 +1,31 @@
1
+import * as fsScandir from '@nodelib/fs.scandir';
2
+import { Entry, Errno } from './types';
3
+export declare type FilterFunction<T> = (value: T) => boolean;
4
+export declare type DeepFilterFunction = FilterFunction<Entry>;
5
+export declare type EntryFilterFunction = FilterFunction<Entry>;
6
+export declare type ErrorFilterFunction = FilterFunction<Errno>;
7
+export declare type Options = {
8
+    basePath?: string;
9
+    concurrency?: number;
10
+    deepFilter?: DeepFilterFunction;
11
+    entryFilter?: EntryFilterFunction;
12
+    errorFilter?: ErrorFilterFunction;
13
+    followSymbolicLinks?: boolean;
14
+    fs?: Partial<fsScandir.FileSystemAdapter>;
15
+    pathSegmentSeparator?: string;
16
+    stats?: boolean;
17
+    throwErrorOnBrokenSymbolicLink?: boolean;
18
+};
19
+export default class Settings {
20
+    private readonly _options;
21
+    readonly basePath?: string;
22
+    readonly concurrency: number;
23
+    readonly deepFilter: DeepFilterFunction | null;
24
+    readonly entryFilter: EntryFilterFunction | null;
25
+    readonly errorFilter: ErrorFilterFunction | null;
26
+    readonly pathSegmentSeparator: string;
27
+    readonly fsScandirSettings: fsScandir.Settings;
28
+    constructor(_options?: Options);
29
+    private _getValue;
30
+}
31
+//# sourceMappingURL=settings.d.ts.map

+ 26
- 0
node_modules/@nodelib/fs.walk/out/settings.js Просмотреть файл

@@ -0,0 +1,26 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+const path = require("path");
4
+const fsScandir = require("@nodelib/fs.scandir");
5
+class Settings {
6
+    constructor(_options = {}) {
7
+        this._options = _options;
8
+        this.basePath = this._getValue(this._options.basePath, undefined);
9
+        this.concurrency = this._getValue(this._options.concurrency, Infinity);
10
+        this.deepFilter = this._getValue(this._options.deepFilter, null);
11
+        this.entryFilter = this._getValue(this._options.entryFilter, null);
12
+        this.errorFilter = this._getValue(this._options.errorFilter, null);
13
+        this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep);
14
+        this.fsScandirSettings = new fsScandir.Settings({
15
+            followSymbolicLinks: this._options.followSymbolicLinks,
16
+            fs: this._options.fs,
17
+            pathSegmentSeparator: this._options.pathSegmentSeparator,
18
+            stats: this._options.stats,
19
+            throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink
20
+        });
21
+    }
22
+    _getValue(option, value) {
23
+        return option === undefined ? value : option;
24
+    }
25
+}
26
+exports.default = Settings;

+ 9
- 0
node_modules/@nodelib/fs.walk/out/types/index.d.ts Просмотреть файл

@@ -0,0 +1,9 @@
1
+/// <reference types="node" />
2
+import * as scandir from '@nodelib/fs.scandir';
3
+export declare type Entry = scandir.Entry;
4
+export declare type Errno = NodeJS.ErrnoException;
5
+export declare type QueueItem = {
6
+    directory: string;
7
+    base?: string;
8
+};
9
+//# sourceMappingURL=index.d.ts.map

+ 2
- 0
node_modules/@nodelib/fs.walk/out/types/index.js Просмотреть файл

@@ -0,0 +1,2 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });

+ 95
- 0
node_modules/@nodelib/fs.walk/package.json Просмотреть файл

@@ -0,0 +1,95 @@
1
+{
2
+  "_args": [
3
+    [
4
+      "@nodelib/fs.walk@^1.2.3",
5
+      "/home/lyxaira/Artesanias/artesanias/node_modules/fast-glob"
6
+    ]
7
+  ],
8
+  "_from": "@nodelib/fs.walk@>=1.2.3 <2.0.0",
9
+  "_hasShrinkwrap": false,
10
+  "_id": "@nodelib/fs.walk@1.2.4",
11
+  "_inCache": true,
12
+  "_installable": true,
13
+  "_location": "/@nodelib/fs.walk",
14
+  "_nodeVersion": "12.8.0",
15
+  "_npmOperationalInternal": {
16
+    "host": "s3://npm-registry-packages",
17
+    "tmp": "tmp/fs.walk_1.2.4_1570173170330_0.925284813053447"
18
+  },
19
+  "_npmUser": {
20
+    "email": "dmalinochkin@rambler.ru",
21
+    "name": "mrmlnc"
22
+  },
23
+  "_npmVersion": "lerna/3.16.4/node@v12.8.0+x64 (win32)",
24
+  "_phantomChildren": {},
25
+  "_requested": {
26
+    "name": "@nodelib/fs.walk",
27
+    "raw": "@nodelib/fs.walk@^1.2.3",
28
+    "rawSpec": "^1.2.3",
29
+    "scope": "@nodelib",
30
+    "spec": ">=1.2.3 <2.0.0",
31
+    "type": "range"
32
+  },
33
+  "_requiredBy": [
34
+    "/fast-glob"
35
+  ],
36
+  "_resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
37
+  "_shasum": "011b9202a70a6366e436ca5c065844528ab04976",
38
+  "_shrinkwrap": null,
39
+  "_spec": "@nodelib/fs.walk@^1.2.3",
40
+  "_where": "/home/lyxaira/Artesanias/artesanias/node_modules/fast-glob",
41
+  "dependencies": {
42
+    "@nodelib/fs.scandir": "2.1.3",
43
+    "fastq": "^1.6.0"
44
+  },
45
+  "description": "A library for efficiently walking a directory recursively",
46
+  "devDependencies": {},
47
+  "directories": {},
48
+  "dist": {
49
+    "fileCount": 25,
50
+    "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
51
+    "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlvDyCRA9TVsSAnZWagAA5GUP/1fn0doM3q3ulxgkjG/u\nd1ooqABgfvL9xPJrJlJ3cCLwZvB6ZCzroj7EcQSrJfB9jyYDEyYrCje7aszw\nIEoR/pM22MAn1f1QbTu5h8znpfzWGhiDYTZ7+3jnsiiVPPzXG5/TThqnKHCM\nKQT6BRfAuZblQbFwXnkPrUotqT7951qDS7se5K5gWBasL1OwoWmni2vZlI4k\nOU0N88QFvpBQ0gjFMjMN3oRrTwX4zl71OwWpsGt7qSBEmGlAk78cm8NRt+VJ\n4xB2LDrI+uKAYzSsV/swj5BGyavl9xUEUIPkKTgu6OlfesUeYh5T/wif80nD\nJpT7BDx8QBZzvKg1ibfpyMph+oVAFhX8k09tsGxGB6rZTSaqeUL4JcT/XrFN\nTk8777lzOp59YvuXZu3BJqP8LGZs36crqJ1QP05bHPYYC6n6hLByzdOD0fZf\nk2zKM/fff9EHSA4MbUaozLckgAAt4MYYuUGCsz26BY+tuXBHtsQVtBO4LouJ\n4LknFwE6a72p2TQPhfxxA47yAY+3p6thG9k0hs5L7EPAaDMFAFw4Wn3108Zq\nYFqI8YPTwgtEICLx36Z4RcxfyYgVWDBtlfsI9aFj53yYe3qbaxHCVzKIoX5k\nNDQ/E+wYU+sAAyCui4gZmwORaYus0Cm8CoTgrB8Af79auv0DENdIFY9Zh7j/\noail\r\n=yPJU\r\n-----END PGP SIGNATURE-----\r\n",
52
+    "shasum": "011b9202a70a6366e436ca5c065844528ab04976",
53
+    "tarball": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
54
+    "unpackedSize": 26194
55
+  },
56
+  "engines": {
57
+    "node": ">= 8"
58
+  },
59
+  "gitHead": "3b1ef7554ad7c061b3580858101d483fba847abf",
60
+  "keywords": [
61
+    "FileSystem",
62
+    "NodeLib",
63
+    "crawler",
64
+    "file system",
65
+    "fs",
66
+    "scanner",
67
+    "walk"
68
+  ],
69
+  "license": "MIT",
70
+  "main": "out/index.js",
71
+  "maintainers": [
72
+    {
73
+      "name": "mrmlnc",
74
+      "email": "dmalinochkin@rambler.ru"
75
+    }
76
+  ],
77
+  "name": "@nodelib/fs.walk",
78
+  "optionalDependencies": {},
79
+  "readme": "ERROR: No README data found!",
80
+  "repository": {
81
+    "type": "git",
82
+    "url": "https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.walk"
83
+  },
84
+  "scripts": {
85
+    "build": "npm run clean && npm run compile && npm run lint && npm test",
86
+    "clean": "rimraf {tsconfig.tsbuildinfo,out}",
87
+    "compile": "tsc -b .",
88
+    "compile:watch": "tsc -p . --watch --sourceMap",
89
+    "lint": "eslint \"src/**/*.ts\" --cache",
90
+    "test": "mocha \"out/**/*.spec.js\" -s 0",
91
+    "watch": "npm run clean && npm run compile:watch"
92
+  },
93
+  "typings": "out/index.d.ts",
94
+  "version": "1.2.4"
95
+}

+ 132
- 0
node_modules/@sindresorhus/is/dist/index.d.ts Просмотреть файл

@@ -0,0 +1,132 @@
1
+/// <reference types="node" />
2
+/// <reference lib="es2016" />
3
+/// <reference lib="es2017.sharedmemory" />
4
+/// <reference lib="esnext.asynciterable" />
5
+/// <reference lib="dom" />
6
+declare type TypedArray = Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array;
7
+declare type Primitive = null | undefined | string | number | boolean | Symbol;
8
+export interface ArrayLike {
9
+    length: number;
10
+}
11
+export interface Class<T = unknown> {
12
+    new (...args: any[]): T;
13
+}
14
+declare type DomElement = object & {
15
+    nodeType: 1;
16
+    nodeName: string;
17
+};
18
+declare type NodeStream = object & {
19
+    pipe: Function;
20
+};
21
+export declare const enum TypeName {
22
+    null = "null",
23
+    boolean = "boolean",
24
+    undefined = "undefined",
25
+    string = "string",
26
+    number = "number",
27
+    symbol = "symbol",
28
+    Function = "Function",
29
+    GeneratorFunction = "GeneratorFunction",
30
+    AsyncFunction = "AsyncFunction",
31
+    Observable = "Observable",
32
+    Array = "Array",
33
+    Buffer = "Buffer",
34
+    Object = "Object",
35
+    RegExp = "RegExp",
36
+    Date = "Date",
37
+    Error = "Error",
38
+    Map = "Map",
39
+    Set = "Set",
40
+    WeakMap = "WeakMap",
41
+    WeakSet = "WeakSet",
42
+    Int8Array = "Int8Array",
43
+    Uint8Array = "Uint8Array",
44
+    Uint8ClampedArray = "Uint8ClampedArray",
45
+    Int16Array = "Int16Array",
46
+    Uint16Array = "Uint16Array",
47
+    Int32Array = "Int32Array",
48
+    Uint32Array = "Uint32Array",
49
+    Float32Array = "Float32Array",
50
+    Float64Array = "Float64Array",
51
+    ArrayBuffer = "ArrayBuffer",
52
+    SharedArrayBuffer = "SharedArrayBuffer",
53
+    DataView = "DataView",
54
+    Promise = "Promise",
55
+    URL = "URL"
56
+}
57
+declare function is(value: unknown): TypeName;
58
+declare namespace is {
59
+    const undefined: (value: unknown) => value is undefined;
60
+    const string: (value: unknown) => value is string;
61
+    const number: (value: unknown) => value is number;
62
+    const function_: (value: unknown) => value is Function;
63
+    const null_: (value: unknown) => value is null;
64
+    const class_: (value: unknown) => value is Class<unknown>;
65
+    const boolean: (value: unknown) => value is boolean;
66
+    const symbol: (value: unknown) => value is Symbol;
67
+    const numericString: (value: unknown) => boolean;
68
+    const array: (arg: any) => arg is any[];
69
+    const buffer: (input: unknown) => input is Buffer;
70
+    const nullOrUndefined: (value: unknown) => value is null | undefined;
71
+    const object: (value: unknown) => value is object;
72
+    const iterable: (value: unknown) => value is IterableIterator<unknown>;
73
+    const asyncIterable: (value: unknown) => value is AsyncIterableIterator<unknown>;
74
+    const generator: (value: unknown) => value is Generator;
75
+    const nativePromise: (value: unknown) => value is Promise<unknown>;
76
+    const promise: (value: unknown) => value is Promise<unknown>;
77
+    const generatorFunction: (value: unknown) => value is GeneratorFunction;
78
+    const asyncFunction: (value: unknown) => value is Function;
79
+    const boundFunction: (value: unknown) => value is Function;
80
+    const regExp: (value: unknown) => value is RegExp;
81
+    const date: (value: unknown) => value is Date;
82
+    const error: (value: unknown) => value is Error;
83
+    const map: (value: unknown) => value is Map<unknown, unknown>;
84
+    const set: (value: unknown) => value is Set<unknown>;
85
+    const weakMap: (value: unknown) => value is WeakMap<object, unknown>;
86
+    const weakSet: (value: unknown) => value is WeakSet<object>;
87
+    const int8Array: (value: unknown) => value is Int8Array;
88
+    const uint8Array: (value: unknown) => value is Uint8Array;
89
+    const uint8ClampedArray: (value: unknown) => value is Uint8ClampedArray;
90
+    const int16Array: (value: unknown) => value is Int16Array;
91
+    const uint16Array: (value: unknown) => value is Uint16Array;
92
+    const int32Array: (value: unknown) => value is Int32Array;
93
+    const uint32Array: (value: unknown) => value is Uint32Array;
94
+    const float32Array: (value: unknown) => value is Float32Array;
95
+    const float64Array: (value: unknown) => value is Float64Array;
96
+    const arrayBuffer: (value: unknown) => value is ArrayBuffer;
97
+    const sharedArrayBuffer: (value: unknown) => value is SharedArrayBuffer;
98
+    const dataView: (value: unknown) => value is DataView;
99
+    const directInstanceOf: <T>(instance: unknown, klass: Class<T>) => instance is T;
100
+    const urlInstance: (value: unknown) => value is URL;
101
+    const urlString: (value: unknown) => boolean;
102
+    const truthy: (value: unknown) => boolean;
103
+    const falsy: (value: unknown) => boolean;
104
+    const nan: (value: unknown) => boolean;
105
+    const primitive: (value: unknown) => value is Primitive;
106
+    const integer: (value: unknown) => value is number;
107
+    const safeInteger: (value: unknown) => value is number;
108
+    const plainObject: (value: unknown) => boolean;
109
+    const typedArray: (value: unknown) => value is TypedArray;
110
+    const arrayLike: (value: unknown) => value is ArrayLike;
111
+    const inRange: (value: number, range: number | number[]) => boolean;
112
+    const domElement: (value: unknown) => value is DomElement;
113
+    const observable: (value: unknown) => boolean;
114
+    const nodeStream: (value: unknown) => value is NodeStream;
115
+    const infinite: (value: unknown) => boolean;
116
+    const even: (value: number) => boolean;
117
+    const odd: (value: number) => boolean;
118
+    const emptyArray: (value: unknown) => boolean;
119
+    const nonEmptyArray: (value: unknown) => boolean;
120
+    const emptyString: (value: unknown) => boolean;
121
+    const nonEmptyString: (value: unknown) => boolean;
122
+    const emptyStringOrWhitespace: (value: unknown) => boolean;
123
+    const emptyObject: (value: unknown) => boolean;
124
+    const nonEmptyObject: (value: unknown) => boolean;
125
+    const emptySet: (value: unknown) => boolean;
126
+    const nonEmptySet: (value: unknown) => boolean;
127
+    const emptyMap: (value: unknown) => boolean;
128
+    const nonEmptyMap: (value: unknown) => boolean;
129
+    const any: (predicate: unknown, ...values: unknown[]) => boolean;
130
+    const all: (predicate: unknown, ...values: unknown[]) => boolean;
131
+}
132
+export default is;

+ 245
- 0
node_modules/@sindresorhus/is/dist/index.js Просмотреть файл

@@ -0,0 +1,245 @@
1
+"use strict";
2
+/// <reference lib="es2016"/>
3
+/// <reference lib="es2017.sharedmemory"/>
4
+/// <reference lib="esnext.asynciterable"/>
5
+/// <reference lib="dom"/>
6
+Object.defineProperty(exports, "__esModule", { value: true });
7
+// TODO: Use the `URL` global when targeting Node.js 10
8
+// tslint:disable-next-line
9
+const URLGlobal = typeof URL === 'undefined' ? require('url').URL : URL;
10
+const toString = Object.prototype.toString;
11
+const isOfType = (type) => (value) => typeof value === type;
12
+const isBuffer = (input) => !is.nullOrUndefined(input) && !is.nullOrUndefined(input.constructor) && is.function_(input.constructor.isBuffer) && input.constructor.isBuffer(input);
13
+const getObjectType = (value) => {
14
+    const objectName = toString.call(value).slice(8, -1);
15
+    if (objectName) {
16
+        return objectName;
17
+    }
18
+    return null;
19
+};
20
+const isObjectOfType = (type) => (value) => getObjectType(value) === type;
21
+function is(value) {
22
+    switch (value) {
23
+        case null:
24
+            return "null" /* null */;
25
+        case true:
26
+        case false:
27
+            return "boolean" /* boolean */;
28
+        default:
29
+    }
30
+    switch (typeof value) {
31
+        case 'undefined':
32
+            return "undefined" /* undefined */;
33
+        case 'string':
34
+            return "string" /* string */;
35
+        case 'number':
36
+            return "number" /* number */;
37
+        case 'symbol':
38
+            return "symbol" /* symbol */;
39
+        default:
40
+    }
41
+    if (is.function_(value)) {
42
+        return "Function" /* Function */;
43
+    }
44
+    if (is.observable(value)) {
45
+        return "Observable" /* Observable */;
46
+    }
47
+    if (Array.isArray(value)) {
48
+        return "Array" /* Array */;
49
+    }
50
+    if (isBuffer(value)) {
51
+        return "Buffer" /* Buffer */;
52
+    }
53
+    const tagType = getObjectType(value);
54
+    if (tagType) {
55
+        return tagType;
56
+    }
57
+    if (value instanceof String || value instanceof Boolean || value instanceof Number) {
58
+        throw new TypeError('Please don\'t use object wrappers for primitive types');
59
+    }
60
+    return "Object" /* Object */;
61
+}
62
+(function (is) {
63
+    // tslint:disable-next-line:strict-type-predicates
64
+    const isObject = (value) => typeof value === 'object';
65
+    // tslint:disable:variable-name
66
+    is.undefined = isOfType('undefined');
67
+    is.string = isOfType('string');
68
+    is.number = isOfType('number');
69
+    is.function_ = isOfType('function');
70
+    // tslint:disable-next-line:strict-type-predicates
71
+    is.null_ = (value) => value === null;
72
+    is.class_ = (value) => is.function_(value) && value.toString().startsWith('class ');
73
+    is.boolean = (value) => value === true || value === false;
74
+    is.symbol = isOfType('symbol');
75
+    // tslint:enable:variable-name
76
+    is.numericString = (value) => is.string(value) && value.length > 0 && !Number.isNaN(Number(value));
77
+    is.array = Array.isArray;
78
+    is.buffer = isBuffer;
79
+    is.nullOrUndefined = (value) => is.null_(value) || is.undefined(value);
80
+    is.object = (value) => !is.nullOrUndefined(value) && (is.function_(value) || isObject(value));
81
+    is.iterable = (value) => !is.nullOrUndefined(value) && is.function_(value[Symbol.iterator]);
82
+    is.asyncIterable = (value) => !is.nullOrUndefined(value) && is.function_(value[Symbol.asyncIterator]);
83
+    is.generator = (value) => is.iterable(value) && is.function_(value.next) && is.function_(value.throw);
84
+    is.nativePromise = (value) => isObjectOfType("Promise" /* Promise */)(value);
85
+    const hasPromiseAPI = (value) => !is.null_(value) &&
86
+        isObject(value) &&
87
+        is.function_(value.then) &&
88
+        is.function_(value.catch);
89
+    is.promise = (value) => is.nativePromise(value) || hasPromiseAPI(value);
90
+    is.generatorFunction = isObjectOfType("GeneratorFunction" /* GeneratorFunction */);
91
+    is.asyncFunction = isObjectOfType("AsyncFunction" /* AsyncFunction */);
92
+    is.boundFunction = (value) => is.function_(value) && !value.hasOwnProperty('prototype');
93
+    is.regExp = isObjectOfType("RegExp" /* RegExp */);
94
+    is.date = isObjectOfType("Date" /* Date */);
95
+    is.error = isObjectOfType("Error" /* Error */);
96
+    is.map = (value) => isObjectOfType("Map" /* Map */)(value);
97
+    is.set = (value) => isObjectOfType("Set" /* Set */)(value);
98
+    is.weakMap = (value) => isObjectOfType("WeakMap" /* WeakMap */)(value);
99
+    is.weakSet = (value) => isObjectOfType("WeakSet" /* WeakSet */)(value);
100
+    is.int8Array = isObjectOfType("Int8Array" /* Int8Array */);
101
+    is.uint8Array = isObjectOfType("Uint8Array" /* Uint8Array */);
102
+    is.uint8ClampedArray = isObjectOfType("Uint8ClampedArray" /* Uint8ClampedArray */);
103
+    is.int16Array = isObjectOfType("Int16Array" /* Int16Array */);
104
+    is.uint16Array = isObjectOfType("Uint16Array" /* Uint16Array */);
105
+    is.int32Array = isObjectOfType("Int32Array" /* Int32Array */);
106
+    is.uint32Array = isObjectOfType("Uint32Array" /* Uint32Array */);
107
+    is.float32Array = isObjectOfType("Float32Array" /* Float32Array */);
108
+    is.float64Array = isObjectOfType("Float64Array" /* Float64Array */);
109
+    is.arrayBuffer = isObjectOfType("ArrayBuffer" /* ArrayBuffer */);
110
+    is.sharedArrayBuffer = isObjectOfType("SharedArrayBuffer" /* SharedArrayBuffer */);
111
+    is.dataView = isObjectOfType("DataView" /* DataView */);
112
+    is.directInstanceOf = (instance, klass) => Object.getPrototypeOf(instance) === klass.prototype;
113
+    is.urlInstance = (value) => isObjectOfType("URL" /* URL */)(value);
114
+    is.urlString = (value) => {
115
+        if (!is.string(value)) {
116
+            return false;
117
+        }
118
+        try {
119
+            new URLGlobal(value); // tslint:disable-line no-unused-expression
120
+            return true;
121
+        }
122
+        catch (_a) {
123
+            return false;
124
+        }
125
+    };
126
+    is.truthy = (value) => Boolean(value);
127
+    is.falsy = (value) => !value;
128
+    is.nan = (value) => Number.isNaN(value);
129
+    const primitiveTypes = new Set([
130
+        'undefined',
131
+        'string',
132
+        'number',
133
+        'boolean',
134
+        'symbol'
135
+    ]);
136
+    is.primitive = (value) => is.null_(value) || primitiveTypes.has(typeof value);
137
+    is.integer = (value) => Number.isInteger(value);
138
+    is.safeInteger = (value) => Number.isSafeInteger(value);
139
+    is.plainObject = (value) => {
140
+        // From: https://github.com/sindresorhus/is-plain-obj/blob/master/index.js
141
+        let prototype;
142
+        return getObjectType(value) === "Object" /* Object */ &&
143
+            (prototype = Object.getPrototypeOf(value), prototype === null || // tslint:disable-line:ban-comma-operator
144
+                prototype === Object.getPrototypeOf({}));
145
+    };
146
+    const typedArrayTypes = new Set([
147
+        "Int8Array" /* Int8Array */,
148
+        "Uint8Array" /* Uint8Array */,
149
+        "Uint8ClampedArray" /* Uint8ClampedArray */,
150
+        "Int16Array" /* Int16Array */,
151
+        "Uint16Array" /* Uint16Array */,
152
+        "Int32Array" /* Int32Array */,
153
+        "Uint32Array" /* Uint32Array */,
154
+        "Float32Array" /* Float32Array */,
155
+        "Float64Array" /* Float64Array */
156
+    ]);
157
+    is.typedArray = (value) => {
158
+        const objectType = getObjectType(value);
159
+        if (objectType === null) {
160
+            return false;
161
+        }
162
+        return typedArrayTypes.has(objectType);
163
+    };
164
+    const isValidLength = (value) => is.safeInteger(value) && value > -1;
165
+    is.arrayLike = (value) => !is.nullOrUndefined(value) && !is.function_(value) && isValidLength(value.length);
166
+    is.inRange = (value, range) => {
167
+        if (is.number(range)) {
168
+            return value >= Math.min(0, range) && value <= Math.max(range, 0);
169
+        }
170
+        if (is.array(range) && range.length === 2) {
171
+            return value >= Math.min(...range) && value <= Math.max(...range);
172
+        }
173
+        throw new TypeError(`Invalid range: ${JSON.stringify(range)}`);
174
+    };
175
+    const NODE_TYPE_ELEMENT = 1;
176
+    const DOM_PROPERTIES_TO_CHECK = [
177
+        'innerHTML',
178
+        'ownerDocument',
179
+        'style',
180
+        'attributes',
181
+        'nodeValue'
182
+    ];
183
+    is.domElement = (value) => is.object(value) && value.nodeType === NODE_TYPE_ELEMENT && is.string(value.nodeName) &&
184
+        !is.plainObject(value) && DOM_PROPERTIES_TO_CHECK.every(property => property in value);
185
+    is.observable = (value) => {
186
+        if (!value) {
187
+            return false;
188
+        }
189
+        if (value[Symbol.observable] && value === value[Symbol.observable]()) {
190
+            return true;
191
+        }
192
+        if (value['@@observable'] && value === value['@@observable']()) {
193
+            return true;
194
+        }
195
+        return false;
196
+    };
197
+    is.nodeStream = (value) => !is.nullOrUndefined(value) && isObject(value) && is.function_(value.pipe) && !is.observable(value);
198
+    is.infinite = (value) => value === Infinity || value === -Infinity;
199
+    const isAbsoluteMod2 = (rem) => (value) => is.integer(value) && Math.abs(value % 2) === rem;
200
+    is.even = isAbsoluteMod2(0);
201
+    is.odd = isAbsoluteMod2(1);
202
+    const isWhiteSpaceString = (value) => is.string(value) && /\S/.test(value) === false;
203
+    is.emptyArray = (value) => is.array(value) && value.length === 0;
204
+    is.nonEmptyArray = (value) => is.array(value) && value.length > 0;
205
+    is.emptyString = (value) => is.string(value) && value.length === 0;
206
+    is.nonEmptyString = (value) => is.string(value) && value.length > 0;
207
+    is.emptyStringOrWhitespace = (value) => is.emptyString(value) || isWhiteSpaceString(value);
208
+    is.emptyObject = (value) => is.object(value) && !is.map(value) && !is.set(value) && Object.keys(value).length === 0;
209
+    is.nonEmptyObject = (value) => is.object(value) && !is.map(value) && !is.set(value) && Object.keys(value).length > 0;
210
+    is.emptySet = (value) => is.set(value) && value.size === 0;
211
+    is.nonEmptySet = (value) => is.set(value) && value.size > 0;
212
+    is.emptyMap = (value) => is.map(value) && value.size === 0;
213
+    is.nonEmptyMap = (value) => is.map(value) && value.size > 0;
214
+    const predicateOnArray = (method, predicate, values) => {
215
+        if (is.function_(predicate) === false) {
216
+            throw new TypeError(`Invalid predicate: ${JSON.stringify(predicate)}`);
217
+        }
218
+        if (values.length === 0) {
219
+            throw new TypeError('Invalid number of values');
220
+        }
221
+        return method.call(values, predicate);
222
+    };
223
+    // tslint:disable variable-name
224
+    is.any = (predicate, ...values) => predicateOnArray(Array.prototype.some, predicate, values);
225
+    is.all = (predicate, ...values) => predicateOnArray(Array.prototype.every, predicate, values);
226
+    // tslint:enable variable-name
227
+})(is || (is = {}));
228
+// Some few keywords are reserved, but we'll populate them for Node.js users
229
+// See https://github.com/Microsoft/TypeScript/issues/2536
230
+Object.defineProperties(is, {
231
+    class: {
232
+        value: is.class_
233
+    },
234
+    function: {
235
+        value: is.function_
236
+    },
237
+    null: {
238
+        value: is.null_
239
+    }
240
+});
241
+exports.default = is;
242
+// For CommonJS default export support
243
+module.exports = is;
244
+module.exports.default = is;
245
+//# sourceMappingURL=index.js.map

+ 1
- 0
node_modules/@sindresorhus/is/dist/index.js.map
Разница между файлами не показана из-за своего большого размера
Просмотреть файл


+ 9
- 0
node_modules/@sindresorhus/is/license Просмотреть файл

@@ -0,0 +1,9 @@
1
+MIT License
2
+
3
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
4
+
5
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+ 125
- 0
node_modules/@sindresorhus/is/package.json Просмотреть файл

@@ -0,0 +1,125 @@
1
+{
2
+  "_args": [
3
+    [
4
+      "@sindresorhus/is@^0.14.0",
5
+      "/home/lyxaira/Artesanias/artesanias/node_modules/got"
6
+    ]
7
+  ],
8
+  "_from": "@sindresorhus/is@>=0.14.0 <0.15.0",
9
+  "_hasShrinkwrap": false,
10
+  "_id": "@sindresorhus/is@0.14.0",
11
+  "_inCache": true,
12
+  "_installable": true,
13
+  "_location": "/@sindresorhus/is",
14
+  "_nodeVersion": "10.13.0",
15
+  "_npmOperationalInternal": {
16
+    "host": "s3://npm-registry-packages",
17
+    "tmp": "tmp/is_0.14.0_1544716808201_0.7722326585650734"
18
+  },
19
+  "_npmUser": {
20
+    "email": "sindresorhus@gmail.com",
21
+    "name": "sindresorhus"
22
+  },
23
+  "_npmVersion": "6.5.0",
24
+  "_phantomChildren": {},
25
+  "_requested": {
26
+    "name": "@sindresorhus/is",
27
+    "raw": "@sindresorhus/is@^0.14.0",
28
+    "rawSpec": "^0.14.0",
29
+    "scope": "@sindresorhus",
30
+    "spec": ">=0.14.0 <0.15.0",
31
+    "type": "range"
32
+  },
33
+  "_requiredBy": [
34
+    "/got"
35
+  ],
36
+  "_resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
37
+  "_shasum": "9fb3a3cf3132328151f353de4632e01e52102bea",
38
+  "_shrinkwrap": null,
39
+  "_spec": "@sindresorhus/is@^0.14.0",
40
+  "_where": "/home/lyxaira/Artesanias/artesanias/node_modules/got",
41
+  "author": {
42
+    "email": "sindresorhus@gmail.com",
43
+    "name": "Sindre Sorhus",
44
+    "url": "sindresorhus.com"
45
+  },
46
+  "bugs": {
47
+    "url": "https://github.com/sindresorhus/is/issues"
48
+  },
49
+  "dependencies": {},
50
+  "description": "Type check values: `is.string('🦄') //=> true`",
51
+  "devDependencies": {
52
+    "@sindresorhus/tsconfig": "^0.1.0",
53
+    "@types/jsdom": "^11.12.0",
54
+    "@types/node": "^10.12.10",
55
+    "@types/tempy": "^0.2.0",
56
+    "@types/zen-observable": "^0.8.0",
57
+    "ava": "^0.25.0",
58
+    "del-cli": "^1.1.0",
59
+    "jsdom": "^11.6.2",
60
+    "rxjs": "^6.3.3",
61
+    "tempy": "^0.2.1",
62
+    "tslint": "^5.9.1",
63
+    "tslint-xo": "^0.10.0",
64
+    "typescript": "^3.2.1",
65
+    "zen-observable": "^0.8.8"
66
+  },
67
+  "directories": {},
68
+  "dist": {
69
+    "fileCount": 6,
70
+    "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
71
+    "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEoIJCRA9TVsSAnZWagAAU08QAKRmmjyTcJv4iAVu+wry\n2CzzAwXJWrHc93Jw/6+u0TBj54yGGGblVjDyL9zh8oDte+ea3h7q9boPKgFb\nq5e2uTUcqreN3ACUae3RPfTMysurTujN6Bd+iet8CRcAmC8n8Isdano2UB5Q\nEvgP1BJgRIgIrHKCr+OwLNLCfN7K5XQPuZeymMaU1BhzIoz8e0vRRnyrQSsC\nIb5NnhpVi3GsLqwlr7yGbTvNZ28mTm3wzDSivpNbZ/ceEecNUdFc/ioRhzTn\nusAzAD2aIjp/WSVuokPgCQYz5fzFj19clZfuvoURD/uS+EOQQaWPQ0xESHx2\nN5qENeQo1u1m1Snq5l5AVxpz5GDiE8DQKxIV1iR6Nh+rg18hVEu8Y8Q9DPgS\n91D+4ue1cTql2mKFtRS6SilDmvmmKhAoCROJw3wvv1Pef4Q9Ke9aqkW53ay7\nE0xfbWXtdu491hdOfYglED4F79BQi5ExUWQRKrVWM4cXs6QE87cwsBd9+p5c\nV99QHu4ZgOJoV5EOJyB2sOf/U0emh4rTV1So0Dz8HLhRQ4JbBNwZmVD4CSAX\nqQo1WG3DntAYTnk44nHkiwmVM4tlL3U6kyN7hxMeWrpA5qSIhokc2uYZNOxE\n7c+gmo7WteSsKKYekDdoFYVTL+c9dsszU9OWGdr6f7vsdTKkbVp913BN7v0S\ncjHv\r\n=KAWq\r\n-----END PGP SIGNATURE-----\r\n",
72
+    "shasum": "9fb3a3cf3132328151f353de4632e01e52102bea",
73
+    "tarball": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
74
+    "unpackedSize": 40158
75
+  },
76
+  "engines": {
77
+    "node": ">=6"
78
+  },
79
+  "gitHead": "6cb1d1e91073ada3d0e298e2fef361f0d418b668",
80
+  "homepage": "https://github.com/sindresorhus/is#readme",
81
+  "keywords": [
82
+    "assert",
83
+    "assertion",
84
+    "check",
85
+    "checking",
86
+    "compare",
87
+    "instanceof",
88
+    "is",
89
+    "kind",
90
+    "object",
91
+    "primitive",
92
+    "test",
93
+    "type",
94
+    "typeof",
95
+    "types",
96
+    "util",
97
+    "utility",
98
+    "validate",
99
+    "validation",
100
+    "verify"
101
+  ],
102
+  "license": "MIT",
103
+  "main": "dist/index.js",
104
+  "maintainers": [
105
+    {
106
+      "name": "sindresorhus",
107
+      "email": "sindresorhus@gmail.com"
108
+    }
109
+  ],
110
+  "name": "@sindresorhus/is",
111
+  "optionalDependencies": {},
112
+  "readme": "ERROR: No README data found!",
113
+  "repository": {
114
+    "type": "git",
115
+    "url": "git+https://github.com/sindresorhus/is.git"
116
+  },
117
+  "scripts": {
118
+    "build": "del dist && tsc",
119
+    "lint": "tslint --format stylish --project .",
120
+    "prepublish": "npm run build && del dist/tests",
121
+    "test": "npm run lint && npm run build && ava dist/tests"
122
+  },
123
+  "types": "dist/index.d.ts",
124
+  "version": "0.14.0"
125
+}

+ 451
- 0
node_modules/@sindresorhus/is/readme.md Просмотреть файл

@@ -0,0 +1,451 @@
1
+# is [![Build Status](https://travis-ci.org/sindresorhus/is.svg?branch=master)](https://travis-ci.org/sindresorhus/is)
2
+
3
+> Type check values: `is.string('🦄') //=> true`
4
+
5
+<img src="header.gif" width="182" align="right">
6
+
7
+
8
+## Install
9
+
10
+```
11
+$ npm install @sindresorhus/is
12
+```
13
+
14
+
15
+## Usage
16
+
17
+```js
18
+const is = require('@sindresorhus/is');
19
+
20
+is('🦄');
21
+//=> 'string'
22
+
23
+is(new Map());
24
+//=> 'Map'
25
+
26
+is.number(6);
27
+//=> true
28
+```
29
+
30
+When using `is` together with TypeScript, [type guards](http://www.typescriptlang.org/docs/handbook/advanced-types.html#type-guards-and-differentiating-types) are being used to infer the correct type inside if-else statements.
31
+
32
+```ts
33
+import is from '@sindresorhus/is';
34
+
35
+const padLeft = (value: string, padding: string | number) => {
36
+	if (is.number(padding)) {
37
+		// `padding` is typed as `number`
38
+		return Array(padding + 1).join(' ') + value;
39
+	}
40
+
41
+	if (is.string(padding)) {
42
+		// `padding` is typed as `string`
43
+		return padding + value;
44
+	}
45
+
46
+	throw new TypeError(`Expected 'padding' to be of type 'string' or 'number', got '${is(padding)}'.`);
47
+}
48
+
49
+padLeft('🦄', 3);
50
+//=> '   🦄'
51
+
52
+padLeft('🦄', '🌈');
53
+//=> '🌈🦄'
54
+```
55
+
56
+
57
+## API
58
+
59
+### is(value)
60
+
61
+Returns the type of `value`.
62
+
63
+Primitives are lowercase and object types are camelcase.
64
+
65
+Example:
66
+
67
+- `'undefined'`
68
+- `'null'`
69
+- `'string'`
70
+- `'symbol'`
71
+- `'Array'`
72
+- `'Function'`
73
+- `'Object'`
74
+
75
+Note: It will throw an error if you try to feed it object-wrapped primitives, as that's a bad practice. For example `new String('foo')`.
76
+
77
+### is.{method}
78
+
79
+All the below methods accept a value and returns a boolean for whether the value is of the desired type.
80
+
81
+#### Primitives
82
+
83
+##### .undefined(value)
84
+##### .null(value)
85
+##### .string(value)
86
+##### .number(value)
87
+##### .boolean(value)
88
+##### .symbol(value)
89
+
90
+#### Built-in types
91
+
92
+##### .array(value)
93
+##### .function(value)
94
+##### .buffer(value)
95
+##### .object(value)
96
+
97
+Keep in mind that [functions are objects too](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions).
98
+
99
+##### .numericString(value)
100
+
101
+Returns `true` for a string that represents a number. For example, `'42'` and `'-8'`.
102
+
103
+Note: `'NaN'` returns `false`, but `'Infinity'` and `'-Infinity'` return `true`.
104
+
105
+##### .regExp(value)
106
+##### .date(value)
107
+##### .error(value)
108
+##### .nativePromise(value)
109
+##### .promise(value)
110
+
111
+Returns `true` for any object with a `.then()` and `.catch()` method. Prefer this one over `.nativePromise()` as you usually want to allow userland promise implementations too.
112
+
113
+##### .generator(value)
114
+
115
+Returns `true` for any object that implements its own `.next()` and `.throw()` methods and has a function definition for `Symbol.iterator`.
116
+
117
+##### .generatorFunction(value)
118
+
119
+##### .asyncFunction(value)
120
+
121
+Returns `true` for any `async` function that can be called with the `await` operator.
122
+
123
+```js
124
+is.asyncFunction(async () => {});
125
+// => true
126
+
127
+is.asyncFunction(() => {});
128
+// => false
129
+```
130
+
131
+##### .boundFunction(value)
132
+
133
+Returns `true` for any `bound` function.
134
+
135
+```js
136
+is.boundFunction(() => {});
137
+// => true
138
+
139
+is.boundFunction(function () {}.bind(null));
140
+// => true
141
+
142
+is.boundFunction(function () {});
143
+// => false
144
+```
145
+
146
+##### .map(value)
147
+##### .set(value)
148
+##### .weakMap(value)
149
+##### .weakSet(value)
150
+
151
+#### Typed arrays
152
+
153
+##### .int8Array(value)
154
+##### .uint8Array(value)
155
+##### .uint8ClampedArray(value)
156
+##### .int16Array(value)
157
+##### .uint16Array(value)
158
+##### .int32Array(value)
159
+##### .uint32Array(value)
160
+##### .float32Array(value)
161
+##### .float64Array(value)
162
+
163
+#### Structured data
164
+
165
+##### .arrayBuffer(value)
166
+##### .sharedArrayBuffer(value)
167
+##### .dataView(value)
168
+
169
+#### Emptiness
170
+
171
+##### .emptyString(value)
172
+
173
+Returns `true` if the value is a `string` and the `.length` is 0.
174
+
175
+##### .nonEmptyString(value)
176
+
177
+Returns `true` if the value is a `string` and the `.length` is more than 0.
178
+
179
+##### .emptyStringOrWhitespace(value)
180
+
181
+Returns `true` if `is.emptyString(value)` or if it's a `string` that is all whitespace.
182
+
183
+##### .emptyArray(value)
184
+
185
+Returns `true` if the value is an `Array` and the `.length` is 0.
186
+
187
+##### .nonEmptyArray(value)
188
+
189
+Returns `true` if the value is an `Array` and the `.length` is more than 0.
190
+
191
+##### .emptyObject(value)
192
+
193
+Returns `true` if the value is an `Object` and `Object.keys(value).length` is 0.
194
+
195
+Please note that `Object.keys` returns only own enumerable properties. Hence something like this can happen:
196
+
197
+```js
198
+const object1 = {};
199
+
200
+Object.defineProperty(object1, 'property1', {
201
+	value: 42,
202
+	writable: true,
203
+	enumerable: false,
204
+	configurable: true
205
+});
206
+
207
+is.emptyObject(object1);
208
+// => true
209
+```
210
+
211
+##### .nonEmptyObject(value)
212
+
213
+Returns `true` if the value is an `Object` and `Object.keys(value).length` is more than 0.
214
+
215
+##### .emptySet(value)
216
+
217
+Returns `true` if the value is a `Set` and the `.size` is 0.
218
+
219
+##### .nonEmptySet(Value)
220
+
221
+Returns `true` if the value is a `Set` and the `.size` is more than 0.
222
+
223
+##### .emptyMap(value)
224
+
225
+Returns `true` if the value is a `Map` and the `.size` is 0.
226
+
227
+##### .nonEmptyMap(value)
228
+
229
+Returns `true` if the value is a `Map` and the `.size` is more than 0.
230
+
231
+#### Miscellaneous
232
+
233
+##### .directInstanceOf(value, class)
234
+
235
+Returns `true` if `value` is a direct instance of `class`.
236
+
237
+```js
238
+is.directInstanceOf(new Error(), Error);
239
+//=> true
240
+
241
+class UnicornError extends Error {}
242
+
243
+is.directInstanceOf(new UnicornError(), Error);
244
+//=> false
245
+```
246
+
247
+##### .urlInstance(value)
248
+
249
+Returns `true` if `value` is an instance of the [`URL` class](https://developer.mozilla.org/en-US/docs/Web/API/URL).
250
+
251
+```js
252
+const url = new URL('https://example.com');
253
+
254
+is.urlInstance(url);
255
+//=> true
256
+```
257
+
258
+### .url(value)
259
+
260
+Returns `true` if `value` is a URL string.
261
+
262
+Note: this only does basic checking using the [`URL` class](https://developer.mozilla.org/en-US/docs/Web/API/URL) constructor.
263
+
264
+```js
265
+const url = 'https://example.com';
266
+
267
+is.url(url);
268
+//=> true
269
+
270
+is.url(new URL(url));
271
+//=> false
272
+```
273
+
274
+##### .truthy(value)
275
+
276
+Returns `true` for all values that evaluate to true in a boolean context:
277
+
278
+```js
279
+is.truthy('🦄');
280
+//=> true
281
+
282
+is.truthy(undefined);
283
+//=> false
284
+```
285
+
286
+##### .falsy(value)
287
+
288
+Returns `true` if `value` is one of: `false`, `0`, `''`, `null`, `undefined`, `NaN`.
289
+
290
+##### .nan(value)
291
+##### .nullOrUndefined(value)
292
+##### .primitive(value)
293
+
294
+JavaScript primitives are as follows: `null`, `undefined`, `string`, `number`, `boolean`, `symbol`.
295
+
296
+##### .integer(value)
297
+
298
+##### .safeInteger(value)
299
+
300
+Returns `true` if `value` is a [safe integer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger).
301
+
302
+##### .plainObject(value)
303
+
304
+An object is plain if it's created by either `{}`, `new Object()`, or `Object.create(null)`.
305
+
306
+##### .iterable(value)
307
+##### .asyncIterable(value)
308
+##### .class(value)
309
+
310
+Returns `true` for instances created by a class.
311
+
312
+##### .typedArray(value)
313
+
314
+##### .arrayLike(value)
315
+
316
+A `value` is array-like if it is not a function and has a `value.length` that is a safe integer greater than or equal to 0.
317
+
318
+```js
319
+is.arrayLike(document.forms);
320
+//=> true
321
+
322
+function foo() {
323
+	is.arrayLike(arguments);
324
+	//=> true
325
+}
326
+foo();
327
+```
328
+
329
+##### .inRange(value, range)
330
+
331
+Check if `value` (number) is in the given `range`. The range is an array of two values, lower bound and upper bound, in no specific order.
332
+
333
+```js
334
+is.inRange(3, [0, 5]);
335
+is.inRange(3, [5, 0]);
336
+is.inRange(0, [-2, 2]);
337
+```
338
+
339
+##### .inRange(value, upperBound)
340
+
341
+Check if `value` (number) is in the range of `0` to `upperBound`.
342
+
343
+```js
344
+is.inRange(3, 10);
345
+```
346
+
347
+##### .domElement(value)
348
+
349
+Returns `true` if `value` is a DOM Element.
350
+
351
+##### .nodeStream(value)
352
+
353
+Returns `true` if `value` is a Node.js [stream](https://nodejs.org/api/stream.html).
354
+
355
+```js
356
+const fs = require('fs');
357
+
358
+is.nodeStream(fs.createReadStream('unicorn.png'));
359
+//=> true
360
+```
361
+
362
+##### .observable(value)
363
+
364
+Returns `true` if `value` is an `Observable`.
365
+
366
+```js
367
+const {Observable} = require('rxjs');
368
+
369
+is.observable(new Observable());
370
+//=> true
371
+```
372
+
373
+##### .infinite(value)
374
+
375
+Check if `value` is `Infinity` or `-Infinity`.
376
+
377
+##### .even(value)
378
+
379
+Returns `true` if `value` is an even integer.
380
+
381
+##### .odd(value)
382
+
383
+Returns `true` if `value` is an odd integer.
384
+
385
+##### .any(predicate, ...values)
386
+
387
+Returns `true` if **any** of the input `values` returns true in the `predicate`:
388
+
389
+```js
390
+is.any(is.string, {}, true, '🦄');
391
+//=> true
392
+
393
+is.any(is.boolean, 'unicorns', [], new Map());
394
+//=> false
395
+```
396
+
397
+##### .all(predicate, ...values)
398
+
399
+Returns `true` if **all** of the input `values` returns true in the `predicate`:
400
+
401
+```js
402
+is.all(is.object, {}, new Map(), new Set());
403
+//=> true
404
+
405
+is.all(is.string, '🦄', [], 'unicorns');
406
+//=> false
407
+```
408
+
409
+
410
+## FAQ
411
+
412
+### Why yet another type checking module?
413
+
414
+There are hundreds of type checking modules on npm, unfortunately, I couldn't find any that fit my needs:
415
+
416
+- Includes both type methods and ability to get the type
417
+- Types of primitives returned as lowercase and object types as camelcase
418
+- Covers all built-ins
419
+- Unsurprising behavior
420
+- Well-maintained
421
+- Comprehensive test suite
422
+
423
+For the ones I found, pick 3 of these.
424
+
425
+The most common mistakes I noticed in these modules was using `instanceof` for type checking, forgetting that functions are objects, and omitting `symbol` as a primitive.
426
+
427
+
428
+## Related
429
+
430
+- [ow](https://github.com/sindresorhus/ow) - Function argument validation for humans
431
+- [is-stream](https://github.com/sindresorhus/is-stream) - Check if something is a Node.js stream
432
+- [is-observable](https://github.com/sindresorhus/is-observable) - Check if a value is an Observable
433
+- [file-type](https://github.com/sindresorhus/file-type) - Detect the file type of a Buffer/Uint8Array
434
+- [is-ip](https://github.com/sindresorhus/is-ip) - Check if a string is an IP address
435
+- [is-array-sorted](https://github.com/sindresorhus/is-array-sorted) - Check if an Array is sorted
436
+- [is-error-constructor](https://github.com/sindresorhus/is-error-constructor) - Check if a value is an error constructor
437
+- [is-empty-iterable](https://github.com/sindresorhus/is-empty-iterable) - Check if an Iterable is empty
438
+- [is-blob](https://github.com/sindresorhus/is-blob) - Check if a value is a Blob - File-like object of immutable, raw data
439
+- [has-emoji](https://github.com/sindresorhus/has-emoji) - Check whether a string has any emoji
440
+
441
+
442
+## Created by
443
+
444
+- [Sindre Sorhus](https://github.com/sindresorhus)
445
+- [Giora Guttsait](https://github.com/gioragutt)
446
+- [Brandon Smith](https://github.com/brandon93s)
447
+
448
+
449
+## License
450
+
451
+MIT

+ 21
- 0
node_modules/@szmarczak/http-timer/LICENSE Просмотреть файл

@@ -0,0 +1,21 @@
1
+MIT License
2
+
3
+Copyright (c) 2018 Szymon Marczak
4
+
5
+Permission is hereby granted, free of charge, to any person obtaining a copy
6
+of this software and associated documentation files (the "Software"), to deal
7
+in the Software without restriction, including without limitation the rights
8
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+copies of the Software, and to permit persons to whom the Software is
10
+furnished to do so, subject to the following conditions:
11
+
12
+The above copyright notice and this permission notice shall be included in all
13
+copies or substantial portions of the Software.
14
+
15
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+SOFTWARE.

+ 70
- 0
node_modules/@szmarczak/http-timer/README.md Просмотреть файл

@@ -0,0 +1,70 @@
1
+# http-timer
2
+> Timings for HTTP requests
3
+
4
+[![Build Status](https://travis-ci.org/szmarczak/http-timer.svg?branch=master)](https://travis-ci.org/szmarczak/http-timer)
5
+[![Coverage Status](https://coveralls.io/repos/github/szmarczak/http-timer/badge.svg?branch=master)](https://coveralls.io/github/szmarczak/http-timer?branch=master)
6
+[![install size](https://packagephobia.now.sh/badge?p=@szmarczak/http-timer)](https://packagephobia.now.sh/result?p=@szmarczak/http-timer)
7
+
8
+Inspired by the [`request` package](https://github.com/request/request).
9
+
10
+## Usage
11
+```js
12
+'use strict';
13
+const https = require('https');
14
+const timer = require('@szmarczak/http-timer');
15
+
16
+const request = https.get('https://httpbin.org/anything');
17
+const timings = timer(request);
18
+
19
+request.on('response', response => {
20
+	response.on('data', () => {}); // Consume the data somehow
21
+	response.on('end', () => {
22
+		console.log(timings);
23
+	});
24
+});
25
+
26
+// { start: 1535708511443,
27
+//   socket: 1535708511444,
28
+//   lookup: 1535708511444,
29
+//   connect: 1535708511582,
30
+//   upload: 1535708511887,
31
+//   response: 1535708512037,
32
+//   end: 1535708512040,
33
+//   phases:
34
+//    { wait: 1,
35
+//      dns: 0,
36
+//      tcp: 138,
37
+//      request: 305,
38
+//      firstByte: 150,
39
+//      download: 3,
40
+//      total: 597 } }
41
+```
42
+
43
+## API
44
+
45
+### timer(request)
46
+
47
+Returns: `Object`
48
+
49
+- `start` - Time when the request started.
50
+- `socket` - Time when a socket was assigned to the request.
51
+- `lookup` - Time when the DNS lookup finished.
52
+- `connect` - Time when the socket successfully connected.
53
+- `upload` - Time when the request finished uploading.
54
+- `response` - Time when the request fired the `response` event.
55
+- `end` - Time when the response fired the `end` event.
56
+- `error` - Time when the request fired the `error` event.
57
+- `phases`
58
+	- `wait` - `timings.socket - timings.start`
59
+	- `dns` - `timings.lookup - timings.socket`
60
+	- `tcp` - `timings.connect - timings.lookup`
61
+	- `request` - `timings.upload - timings.connect`
62
+	- `firstByte` - `timings.response - timings.upload`
63
+	- `download` - `timings.end - timings.response`
64
+	- `total` - `timings.end - timings.start` or `timings.error - timings.start`
65
+
66
+**Note**: The time is a `number` representing the milliseconds elapsed since the UNIX epoch.
67
+
68
+## License
69
+
70
+MIT

+ 103
- 0
node_modules/@szmarczak/http-timer/package.json Просмотреть файл

@@ -0,0 +1,103 @@
1
+{
2
+  "_args": [
3
+    [
4
+      "@szmarczak/http-timer@^1.1.2",
5
+      "/home/lyxaira/Artesanias/artesanias/node_modules/got"
6
+    ]
7
+  ],
8
+  "_from": "@szmarczak/http-timer@>=1.1.2 <2.0.0",
9
+  "_hasShrinkwrap": false,
10
+  "_id": "@szmarczak/http-timer@1.1.2",
11
+  "_inCache": true,
12
+  "_installable": true,
13
+  "_location": "/@szmarczak/http-timer",
14
+  "_nodeVersion": "11.6.0",
15
+  "_npmOperationalInternal": {
16
+    "host": "s3://npm-registry-packages",
17
+    "tmp": "tmp/http-timer_1.1.2_1546619937020_0.7812035537643258"
18
+  },
19
+  "_npmUser": {
20
+    "email": "sz.marczak@gmail.com",
21
+    "name": "szmarczak"
22
+  },
23
+  "_npmVersion": "6.5.0-next.0",
24
+  "_phantomChildren": {},
25
+  "_requested": {
26
+    "name": "@szmarczak/http-timer",
27
+    "raw": "@szmarczak/http-timer@^1.1.2",
28
+    "rawSpec": "^1.1.2",
29
+    "scope": "@szmarczak",
30
+    "spec": ">=1.1.2 <2.0.0",
31
+    "type": "range"
32
+  },
33
+  "_requiredBy": [
34
+    "/got"
35
+  ],
36
+  "_resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
37
+  "_shasum": "b1665e2c461a2cd92f4c1bbf50d5454de0d4b421",
38
+  "_shrinkwrap": null,
39
+  "_spec": "@szmarczak/http-timer@^1.1.2",
40
+  "_where": "/home/lyxaira/Artesanias/artesanias/node_modules/got",
41
+  "author": {
42
+    "name": "Szymon Marczak"
43
+  },
44
+  "bugs": {
45
+    "url": "https://github.com/szmarczak/http-timer/issues"
46
+  },
47
+  "dependencies": {
48
+    "defer-to-connect": "^1.0.1"
49
+  },
50
+  "description": "Timings for HTTP requests",
51
+  "devDependencies": {
52
+    "ava": "^0.25.0",
53
+    "coveralls": "^3.0.2",
54
+    "nyc": "^12.0.2",
55
+    "p-event": "^2.1.0",
56
+    "xo": "^0.22.0"
57
+  },
58
+  "directories": {},
59
+  "dist": {
60
+    "fileCount": 4,
61
+    "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
62
+    "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcL4whCRA9TVsSAnZWagAA5pgP/3DWndgx0zab0GQZ0r6z\nxahulxeCKn6PCn+v4S214bPpTO7rRnOiotJT46gx7aKx0G8rx5Vnaf3Isx/s\nJ3rdoO3qLw8ISl9CnRlqRHnr1xd7k+IKir5tAHIJTA0eFEZpaizaH56j/xDS\nLcTsmXRlGkDp8Xp7fRTN1dXseCdtDcOM7+4f3+18oviB3vW65Z1UFa1SrvJ4\nJOmgsn/Q8d9yIlmL6TpXpiHoymOx35Aqu/vMFnXMnRJQ1zHJd9XmS1EBfBl5\n4VWrB//a/c9IrYmt7z+xIms173qmVEA3TwRVjkaMfs/9baafKMdyI4ztUtsW\nnwf6aoYBMbf/06VPiU3L5rKIht9WesfBrk01vZDr3M9+Yjy294PAvvTSTJEw\nj4Yyp55HJ6NzLYO6MbS4k0+TNK4vexYI3ocRosaEZyqpye6gAr0Xo6mvmWDD\nI7q4oyaIicAiidgLkgrd46URKddKwvx9PoycyRxZS9MxjUte6X0XK2ODjYqI\n8BSgwMIhk87fSPTL7UeFQpD9vFm15YVhV+gyiPVFy43LtuevAVJsnZQ9EV2S\nV5M7TwSmiI1Ue0FH3sQIeeQtDu2pM0ewCQmNTHDfq/Fj63FAxWEFqPZgWxTF\nOtnFgQNTZX9YXQMpvgsvJWm8a59vo17ene7vXqeXNPHHLWcJaF5VhkugBk6L\n8Uy/\r\n=WwTF\r\n-----END PGP SIGNATURE-----\r\n",
63
+    "shasum": "b1665e2c461a2cd92f4c1bbf50d5454de0d4b421",
64
+    "tarball": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
65
+    "unpackedSize": 6296
66
+  },
67
+  "engines": {
68
+    "node": ">=6"
69
+  },
70
+  "gitHead": "010f7732043933ec6309045f01473af3495591c4",
71
+  "homepage": "https://github.com/szmarczak/http-timer#readme",
72
+  "keywords": [
73
+    "http",
74
+    "https",
75
+    "timer",
76
+    "timings"
77
+  ],
78
+  "license": "MIT",
79
+  "main": "source",
80
+  "maintainers": [
81
+    {
82
+      "name": "szmarczak",
83
+      "email": "sz.marczak@gmail.com"
84
+    }
85
+  ],
86
+  "name": "@szmarczak/http-timer",
87
+  "optionalDependencies": {},
88
+  "readme": "ERROR: No README data found!",
89
+  "repository": {
90
+    "type": "git",
91
+    "url": "git+https://github.com/szmarczak/http-timer.git"
92
+  },
93
+  "scripts": {
94
+    "coveralls": "nyc report --reporter=text-lcov | coveralls",
95
+    "test": "xo && nyc ava"
96
+  },
97
+  "version": "1.1.2",
98
+  "xo": {
99
+    "rules": {
100
+      "unicorn/filename-case": "camelCase"
101
+    }
102
+  }
103
+}

+ 99
- 0
node_modules/@szmarczak/http-timer/source/index.js Просмотреть файл

@@ -0,0 +1,99 @@
1
+'use strict';
2
+const deferToConnect = require('defer-to-connect');
3
+
4
+module.exports = request => {
5
+	const timings = {
6
+		start: Date.now(),
7
+		socket: null,
8
+		lookup: null,
9
+		connect: null,
10
+		upload: null,
11
+		response: null,
12
+		end: null,
13
+		error: null,
14
+		phases: {
15
+			wait: null,
16
+			dns: null,
17
+			tcp: null,
18
+			request: null,
19
+			firstByte: null,
20
+			download: null,
21
+			total: null
22
+		}
23
+	};
24
+
25
+	const handleError = origin => {
26
+		const emit = origin.emit.bind(origin);
27
+		origin.emit = (event, ...args) => {
28
+			// Catches the `error` event
29
+			if (event === 'error') {
30
+				timings.error = Date.now();
31
+				timings.phases.total = timings.error - timings.start;
32
+
33
+				origin.emit = emit;
34
+			}
35
+
36
+			// Saves the original behavior
37
+			return emit(event, ...args);
38
+		};
39
+	};
40
+
41
+	let uploadFinished = false;
42
+	const onUpload = () => {
43
+		timings.upload = Date.now();
44
+		timings.phases.request = timings.upload - timings.connect;
45
+	};
46
+
47
+	handleError(request);
48
+
49
+	request.once('socket', socket => {
50
+		timings.socket = Date.now();
51
+		timings.phases.wait = timings.socket - timings.start;
52
+
53
+		const lookupListener = () => {
54
+			timings.lookup = Date.now();
55
+			timings.phases.dns = timings.lookup - timings.socket;
56
+		};
57
+
58
+		socket.once('lookup', lookupListener);
59
+
60
+		deferToConnect(socket, () => {
61
+			timings.connect = Date.now();
62
+
63
+			if (timings.lookup === null) {
64
+				socket.removeListener('lookup', lookupListener);
65
+				timings.lookup = timings.connect;
66
+				timings.phases.dns = timings.lookup - timings.socket;
67
+			}
68
+
69
+			timings.phases.tcp = timings.connect - timings.lookup;
70
+
71
+			if (uploadFinished && !timings.upload) {
72
+				onUpload();
73
+			}
74
+		});
75
+	});
76
+
77
+	request.once('finish', () => {
78
+		uploadFinished = true;
79
+
80
+		if (timings.connect) {
81
+			onUpload();
82
+		}
83
+	});
84
+
85
+	request.once('response', response => {
86
+		timings.response = Date.now();
87
+		timings.phases.firstByte = timings.response - timings.upload;
88
+
89
+		handleError(response);
90
+
91
+		response.once('end', () => {
92
+			timings.end = Date.now();
93
+			timings.phases.download = timings.end - timings.response;
94
+			timings.phases.total = timings.end - timings.start;
95
+		});
96
+	});
97
+
98
+	return timings;
99
+};

+ 21
- 0
node_modules/@types/color-name/LICENSE Просмотреть файл

@@ -0,0 +1,21 @@
1
+    MIT License
2
+
3
+    Copyright (c) Microsoft Corporation. All rights reserved.
4
+
5
+    Permission is hereby granted, free of charge, to any person obtaining a copy
6
+    of this software and associated documentation files (the "Software"), to deal
7
+    in the Software without restriction, including without limitation the rights
8
+    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+    copies of the Software, and to permit persons to whom the Software is
10
+    furnished to do so, subject to the following conditions:
11
+
12
+    The above copyright notice and this permission notice shall be included in all
13
+    copies or substantial portions of the Software.
14
+
15
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+    SOFTWARE

+ 16
- 0
node_modules/@types/color-name/README.md Просмотреть файл

@@ -0,0 +1,16 @@
1
+# Installation
2
+> `npm install --save @types/color-name`
3
+
4
+# Summary
5
+This package contains type definitions for color-name ( https://github.com/colorjs/color-name ).
6
+
7
+# Details
8
+Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/color-name
9
+
10
+Additional Details
11
+ * Last updated: Wed, 13 Feb 2019 16:16:48 GMT
12
+ * Dependencies: none
13
+ * Global values: none
14
+
15
+# Credits
16
+These definitions were written by Junyoung Clare Jang <https://github.com/Ailrun>.

+ 161
- 0
node_modules/@types/color-name/index.d.ts Просмотреть файл

@@ -0,0 +1,161 @@
1
+// Type definitions for color-name 1.1
2
+// Project: https://github.com/colorjs/color-name
3
+// Definitions by: Junyoung Clare Jang <https://github.com/Ailrun>
4
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
5
+
6
+/**
7
+ * Tuple of Red, Green, and Blue
8
+ * @example
9
+ * // Red = 55, Green = 70, Blue = 0
10
+ * const rgb: RGB = [55, 70, 0];
11
+ */
12
+export type RGB = [number, number, number];
13
+
14
+export const aliceblue: RGB;
15
+export const antiquewhite: RGB;
16
+export const aqua: RGB;
17
+export const aquamarine: RGB;
18
+export const azure: RGB;
19
+export const beige: RGB;
20
+export const bisque: RGB;
21
+export const black: RGB;
22
+export const blanchedalmond: RGB;
23
+export const blue: RGB;
24
+export const blueviolet: RGB;
25
+export const brown: RGB;
26
+export const burlywood: RGB;
27
+export const cadetblue: RGB;
28
+export const chartreuse: RGB;
29
+export const chocolate: RGB;
30
+export const coral: RGB;
31
+export const cornflowerblue: RGB;
32
+export const cornsilk: RGB;
33
+export const crimson: RGB;
34
+export const cyan: RGB;
35
+export const darkblue: RGB;
36
+export const darkcyan: RGB;
37
+export const darkgoldenrod: RGB;
38
+export const darkgray: RGB;
39
+export const darkgreen: RGB;
40
+export const darkgrey: RGB;
41
+export const darkkhaki: RGB;
42
+export const darkmagenta: RGB;
43
+export const darkolivegreen: RGB;
44
+export const darkorange: RGB;
45
+export const darkorchid: RGB;
46
+export const darkred: RGB;
47
+export const darksalmon: RGB;
48
+export const darkseagreen: RGB;
49
+export const darkslateblue: RGB;
50
+export const darkslategray: RGB;
51
+export const darkslategrey: RGB;
52
+export const darkturquoise: RGB;
53
+export const darkviolet: RGB;
54
+export const deeppink: RGB;
55
+export const deepskyblue: RGB;
56
+export const dimgray: RGB;
57
+export const dimgrey: RGB;
58
+export const dodgerblue: RGB;
59
+export const firebrick: RGB;
60
+export const floralwhite: RGB;
61
+export const forestgreen: RGB;
62
+export const fuchsia: RGB;
63
+export const gainsboro: RGB;
64
+export const ghostwhite: RGB;
65
+export const gold: RGB;
66
+export const goldenrod: RGB;
67
+export const gray: RGB;
68
+export const green: RGB;
69
+export const greenyellow: RGB;
70
+export const grey: RGB;
71
+export const honeydew: RGB;
72
+export const hotpink: RGB;
73
+export const indianred: RGB;
74
+export const indigo: RGB;
75
+export const ivory: RGB;
76
+export const khaki: RGB;
77
+export const lavender: RGB;
78
+export const lavenderblush: RGB;
79
+export const lawngreen: RGB;
80
+export const lemonchiffon: RGB;
81
+export const lightblue: RGB;
82
+export const lightcoral: RGB;
83
+export const lightcyan: RGB;
84
+export const lightgoldenrodyellow: RGB;
85
+export const lightgray: RGB;
86
+export const lightgreen: RGB;
87
+export const lightgrey: RGB;
88
+export const lightpink: RGB;
89
+export const lightsalmon: RGB;
90
+export const lightseagreen: RGB;
91
+export const lightskyblue: RGB;
92
+export const lightslategray: RGB;
93
+export const lightslategrey: RGB;
94
+export const lightsteelblue: RGB;
95
+export const lightyellow: RGB;
96
+export const lime: RGB;
97
+export const limegreen: RGB;
98
+export const linen: RGB;
99
+export const magenta: RGB;
100
+export const maroon: RGB;
101
+export const mediumaquamarine: RGB;
102
+export const mediumblue: RGB;
103
+export const mediumorchid: RGB;
104
+export const mediumpurple: RGB;
105
+export const mediumseagreen: RGB;
106
+export const mediumslateblue: RGB;
107
+export const mediumspringgreen: RGB;
108
+export const mediumturquoise: RGB;
109
+export const mediumvioletred: RGB;
110
+export const midnightblue: RGB;
111
+export const mintcream: RGB;
112
+export const mistyrose: RGB;
113
+export const moccasin: RGB;
114
+export const navajowhite: RGB;
115
+export const navy: RGB;
116
+export const oldlace: RGB;
117
+export const olive: RGB;
118
+export const olivedrab: RGB;
119
+export const orange: RGB;
120
+export const orangered: RGB;
121
+export const orchid: RGB;
122
+export const palegoldenrod: RGB;
123
+export const palegreen: RGB;
124
+export const paleturquoise: RGB;
125
+export const palevioletred: RGB;
126
+export const papayawhip: RGB;
127
+export const peachpuff: RGB;
128
+export const peru: RGB;
129
+export const pink: RGB;
130
+export const plum: RGB;
131
+export const powderblue: RGB;
132
+export const purple: RGB;
133
+export const rebeccapurple: RGB;
134
+export const red: RGB;
135
+export const rosybrown: RGB;
136
+export const royalblue: RGB;
137
+export const saddlebrown: RGB;
138
+export const salmon: RGB;
139
+export const sandybrown: RGB;
140
+export const seagreen: RGB;
141
+export const seashell: RGB;
142
+export const sienna: RGB;
143
+export const silver: RGB;
144
+export const skyblue: RGB;
145
+export const slateblue: RGB;
146
+export const slategray: RGB;
147
+export const slategrey: RGB;
148
+export const snow: RGB;
149
+export const springgreen: RGB;
150
+export const steelblue: RGB;
151
+export const tan: RGB;
152
+export const teal: RGB;
153
+export const thistle: RGB;
154
+export const tomato: RGB;
155
+export const turquoise: RGB;
156
+export const violet: RGB;
157
+export const wheat: RGB;
158
+export const white: RGB;
159
+export const whitesmoke: RGB;
160
+export const yellow: RGB;
161
+export const yellowgreen: RGB;

+ 83
- 0
node_modules/@types/color-name/package.json Просмотреть файл

@@ -0,0 +1,83 @@
1
+{
2
+  "_args": [
3
+    [
4
+      "@types/color-name@^1.1.1",
5
+      "/home/lyxaira/Artesanias/artesanias/node_modules/cordova-lib/node_modules/ansi-styles"
6
+    ]
7
+  ],
8
+  "_from": "@types/color-name@>=1.1.1 <2.0.0",
9
+  "_hasShrinkwrap": false,
10
+  "_id": "@types/color-name@1.1.1",
11
+  "_inCache": true,
12
+  "_installable": true,
13
+  "_location": "/@types/color-name",
14
+  "_npmOperationalInternal": {
15
+    "host": "s3://npm-registry-packages",
16
+    "tmp": "tmp/color-name_1.1.1_1550075907636_0.27445667614815705"
17
+  },
18
+  "_npmUser": {
19
+    "email": "ts-npm-types@microsoft.com",
20
+    "name": "types"
21
+  },
22
+  "_phantomChildren": {},
23
+  "_requested": {
24
+    "name": "@types/color-name",
25
+    "raw": "@types/color-name@^1.1.1",
26
+    "rawSpec": "^1.1.1",
27
+    "scope": "@types",
28
+    "spec": ">=1.1.1 <2.0.0",
29
+    "type": "range"
30
+  },
31
+  "_requiredBy": [
32
+    "/boxen/ansi-styles",
33
+    "/cordova-lib/ansi-styles",
34
+    "/update-notifier/ansi-styles"
35
+  ],
36
+  "_resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
37
+  "_shasum": "1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0",
38
+  "_shrinkwrap": null,
39
+  "_spec": "@types/color-name@^1.1.1",
40
+  "_where": "/home/lyxaira/Artesanias/artesanias/node_modules/cordova-lib/node_modules/ansi-styles",
41
+  "bugs": {
42
+    "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
43
+  },
44
+  "contributors": [
45
+    {
46
+      "name": "Junyoung Clare Jang",
47
+      "url": "https://github.com/Ailrun"
48
+    }
49
+  ],
50
+  "dependencies": {},
51
+  "description": "TypeScript definitions for color-name",
52
+  "devDependencies": {},
53
+  "directories": {},
54
+  "dist": {
55
+    "fileCount": 4,
56
+    "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
57
+    "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZEgECRA9TVsSAnZWagAAfA8QAJC+L3IXpCHyUwm7u4oN\ngbtWuc7X0zfKubrTpG5ozUde6sBP4N3mLLllqHewqzcZx0zrQoqrmv96Xja+\nWqNEbYoLuByI2AtPbV30P30uKolldeFCf/dTHenjujdt1Vmk2MBMHJWUkRuU\n0vJK5UnY5ybprWvgVOs51psNIR+MGuNFKl5aVuM+wPttZt83JEElyMCQQaWg\nnSwvv+GEElBf62pJCfWllyIYG/oH0nfDz02Ba8b2jNDLwYefOrVJalyEhf97\nWqXBM+DyZfc8ZCEYVP9pB8eUgiRqr96olbs1kKc6dbKt4nCaxOLHD0zT7IsD\nWIdMkRkiycX7vQDXxN9gQcS1iULQdssZHD/c4eVXVlGIczfxW5kPn0PXul/F\nTGiuPsf6Oa9ca28f/IX/pmr2VDOnB3Aaj4mlC4WlQ1KMaEbry2nVvu98Owiz\ngz0/AFvkKHzgaBlPi7BV/XVgQdd5dGyvPlYfH2+EwMmQSGuzDpXr7Uys3AlV\nDCQS+A07/vl4vW+9YPZR5rZwkw+vNi8s6qXUL7gLHQiJNaMGS7057QUOJg0s\nTXtRelzcBVD4+RTXFCfXliIY5rKy9LEL/A4gKbqZj5DKI0u2K7O72jkjvUaK\nw1emj6txBxHpXA7rvUkvEyWuLfQEMXn95Oi2B90V/ZKnpAG+rdzQ1WhxMTG6\nnzh1\r\n=7zdn\r\n-----END PGP SIGNATURE-----\r\n",
58
+    "shasum": "1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0",
59
+    "tarball": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
60
+    "unpackedSize": 7015
61
+  },
62
+  "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped#readme",
63
+  "license": "MIT",
64
+  "main": "",
65
+  "maintainers": [
66
+    {
67
+      "name": "types",
68
+      "email": "ts-npm-types@microsoft.com"
69
+    }
70
+  ],
71
+  "name": "@types/color-name",
72
+  "optionalDependencies": {},
73
+  "readme": "ERROR: No README data found!",
74
+  "repository": {
75
+    "type": "git",
76
+    "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git"
77
+  },
78
+  "scripts": {},
79
+  "typeScriptVersion": "2.0",
80
+  "types": "index",
81
+  "typesPublisherContentHash": "e22c6881e2dcf766e32142cbb82d9acf9c08258bdf0da8e76c8a448d1be44ac7",
82
+  "version": "1.1.1"
83
+}

+ 20
- 0
node_modules/ajv/.tonic_example.js Просмотреть файл

@@ -0,0 +1,20 @@
1
+var Ajv = require('ajv');
2
+var ajv = new Ajv({allErrors: true});
3
+
4
+var schema = {
5
+  "properties": {
6
+    "foo": { "type": "string" },
7
+    "bar": { "type": "number", "maximum": 3 }
8
+  }
9
+};
10
+
11
+var validate = ajv.compile(schema);
12
+
13
+test({"foo": "abc", "bar": 2});
14
+test({"foo": 2, "bar": 4});
15
+
16
+function test(data) {
17
+  var valid = validate(data);
18
+  if (valid) console.log('Valid!');
19
+  else console.log('Invalid: ' + ajv.errorsText(validate.errors));
20
+}

+ 22
- 0
node_modules/ajv/LICENSE Просмотреть файл

@@ -0,0 +1,22 @@
1
+The MIT License (MIT)
2
+
3
+Copyright (c) 2015-2017 Evgeny Poberezkin
4
+
5
+Permission is hereby granted, free of charge, to any person obtaining a copy
6
+of this software and associated documentation files (the "Software"), to deal
7
+in the Software without restriction, including without limitation the rights
8
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+copies of the Software, and to permit persons to whom the Software is
10
+furnished to do so, subject to the following conditions:
11
+
12
+The above copyright notice and this permission notice shall be included in all
13
+copies or substantial portions of the Software.
14
+
15
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+SOFTWARE.
22
+

+ 1477
- 0
node_modules/ajv/README.md
Разница между файлами не показана из-за своего большого размера
Просмотреть файл


+ 7189
- 0
node_modules/ajv/dist/ajv.bundle.js
Разница между файлами не показана из-за своего большого размера
Просмотреть файл


+ 3
- 0
node_modules/ajv/dist/ajv.min.js
Разница между файлами не показана из-за своего большого размера
Просмотреть файл


+ 0
- 0
node_modules/ajv/dist/ajv.min.js.map Просмотреть файл


Некоторые файлы не были показаны из-за большого количества измененных файлов