rahad-all-downloader 2.1.16 → 2.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/.github/workflows/Run.yml +20 -0
  2. package/README.md +1 -2
  3. package/index.js +1 -1
  4. package/package.json +6 -2
  5. package/.cache/nix/binary-cache-v6.sqlite +0 -0
  6. package/.cache/nix/binary-cache-v6.sqlite-journal +0 -0
  7. package/.cache/replit/env/latest +0 -123
  8. package/.cache/replit/env/latest.json +0 -1
  9. package/.cache/replit/modules/nix.res +0 -1
  10. package/.cache/replit/modules/nodejs-20.res +0 -1
  11. package/.cache/replit/modules/replit.res +0 -1
  12. package/.cache/replit/modules.stamp +0 -0
  13. package/.cache/replit/nix/env.json +0 -1
  14. package/.cache/typescript/5.4/node_modules/.package-lock.json +0 -137
  15. package/.cache/typescript/5.4/node_modules/@types/caseless/LICENSE +0 -21
  16. package/.cache/typescript/5.4/node_modules/@types/caseless/README.md +0 -48
  17. package/.cache/typescript/5.4/node_modules/@types/caseless/index.d.ts +0 -29
  18. package/.cache/typescript/5.4/node_modules/@types/caseless/package.json +0 -35
  19. package/.cache/typescript/5.4/node_modules/@types/node/LICENSE +0 -21
  20. package/.cache/typescript/5.4/node_modules/@types/node/README.md +0 -15
  21. package/.cache/typescript/5.4/node_modules/@types/node/assert/strict.d.ts +0 -8
  22. package/.cache/typescript/5.4/node_modules/@types/node/assert.d.ts +0 -1040
  23. package/.cache/typescript/5.4/node_modules/@types/node/async_hooks.d.ts +0 -541
  24. package/.cache/typescript/5.4/node_modules/@types/node/buffer.d.ts +0 -2363
  25. package/.cache/typescript/5.4/node_modules/@types/node/child_process.d.ts +0 -1544
  26. package/.cache/typescript/5.4/node_modules/@types/node/cluster.d.ts +0 -578
  27. package/.cache/typescript/5.4/node_modules/@types/node/console.d.ts +0 -452
  28. package/.cache/typescript/5.4/node_modules/@types/node/constants.d.ts +0 -19
  29. package/.cache/typescript/5.4/node_modules/@types/node/crypto.d.ts +0 -4523
  30. package/.cache/typescript/5.4/node_modules/@types/node/dgram.d.ts +0 -596
  31. package/.cache/typescript/5.4/node_modules/@types/node/diagnostics_channel.d.ts +0 -554
  32. package/.cache/typescript/5.4/node_modules/@types/node/dns/promises.d.ts +0 -474
  33. package/.cache/typescript/5.4/node_modules/@types/node/dns.d.ts +0 -864
  34. package/.cache/typescript/5.4/node_modules/@types/node/dom-events.d.ts +0 -124
  35. package/.cache/typescript/5.4/node_modules/@types/node/domain.d.ts +0 -170
  36. package/.cache/typescript/5.4/node_modules/@types/node/events.d.ts +0 -909
  37. package/.cache/typescript/5.4/node_modules/@types/node/fs/promises.d.ts +0 -1245
  38. package/.cache/typescript/5.4/node_modules/@types/node/fs.d.ts +0 -4317
  39. package/.cache/typescript/5.4/node_modules/@types/node/globals.d.ts +0 -411
  40. package/.cache/typescript/5.4/node_modules/@types/node/globals.global.d.ts +0 -1
  41. package/.cache/typescript/5.4/node_modules/@types/node/http.d.ts +0 -1908
  42. package/.cache/typescript/5.4/node_modules/@types/node/http2.d.ts +0 -2418
  43. package/.cache/typescript/5.4/node_modules/@types/node/https.d.ts +0 -550
  44. package/.cache/typescript/5.4/node_modules/@types/node/index.d.ts +0 -89
  45. package/.cache/typescript/5.4/node_modules/@types/node/inspector.d.ts +0 -2746
  46. package/.cache/typescript/5.4/node_modules/@types/node/module.d.ts +0 -315
  47. package/.cache/typescript/5.4/node_modules/@types/node/net.d.ts +0 -999
  48. package/.cache/typescript/5.4/node_modules/@types/node/os.d.ts +0 -495
  49. package/.cache/typescript/5.4/node_modules/@types/node/package.json +0 -217
  50. package/.cache/typescript/5.4/node_modules/@types/node/path.d.ts +0 -191
  51. package/.cache/typescript/5.4/node_modules/@types/node/perf_hooks.d.ts +0 -905
  52. package/.cache/typescript/5.4/node_modules/@types/node/process.d.ts +0 -1754
  53. package/.cache/typescript/5.4/node_modules/@types/node/punycode.d.ts +0 -117
  54. package/.cache/typescript/5.4/node_modules/@types/node/querystring.d.ts +0 -153
  55. package/.cache/typescript/5.4/node_modules/@types/node/readline/promises.d.ts +0 -150
  56. package/.cache/typescript/5.4/node_modules/@types/node/readline.d.ts +0 -540
  57. package/.cache/typescript/5.4/node_modules/@types/node/repl.d.ts +0 -430
  58. package/.cache/typescript/5.4/node_modules/@types/node/sea.d.ts +0 -153
  59. package/.cache/typescript/5.4/node_modules/@types/node/stream/consumers.d.ts +0 -12
  60. package/.cache/typescript/5.4/node_modules/@types/node/stream/promises.d.ts +0 -83
  61. package/.cache/typescript/5.4/node_modules/@types/node/stream/web.d.ts +0 -367
  62. package/.cache/typescript/5.4/node_modules/@types/node/stream.d.ts +0 -1707
  63. package/.cache/typescript/5.4/node_modules/@types/node/string_decoder.d.ts +0 -67
  64. package/.cache/typescript/5.4/node_modules/@types/node/test.d.ts +0 -1718
  65. package/.cache/typescript/5.4/node_modules/@types/node/timers/promises.d.ts +0 -97
  66. package/.cache/typescript/5.4/node_modules/@types/node/timers.d.ts +0 -240
  67. package/.cache/typescript/5.4/node_modules/@types/node/tls.d.ts +0 -1217
  68. package/.cache/typescript/5.4/node_modules/@types/node/trace_events.d.ts +0 -197
  69. package/.cache/typescript/5.4/node_modules/@types/node/tty.d.ts +0 -208
  70. package/.cache/typescript/5.4/node_modules/@types/node/url.d.ts +0 -952
  71. package/.cache/typescript/5.4/node_modules/@types/node/util.d.ts +0 -2292
  72. package/.cache/typescript/5.4/node_modules/@types/node/v8.d.ts +0 -808
  73. package/.cache/typescript/5.4/node_modules/@types/node/vm.d.ts +0 -924
  74. package/.cache/typescript/5.4/node_modules/@types/node/wasi.d.ts +0 -181
  75. package/.cache/typescript/5.4/node_modules/@types/node/worker_threads.d.ts +0 -691
  76. package/.cache/typescript/5.4/node_modules/@types/node/zlib.d.ts +0 -530
  77. package/.cache/typescript/5.4/node_modules/@types/node-fetch/LICENSE +0 -21
  78. package/.cache/typescript/5.4/node_modules/@types/node-fetch/README.md +0 -15
  79. package/.cache/typescript/5.4/node_modules/@types/node-fetch/externals.d.ts +0 -32
  80. package/.cache/typescript/5.4/node_modules/@types/node-fetch/index.d.ts +0 -238
  81. package/.cache/typescript/5.4/node_modules/@types/node-fetch/package.json +0 -83
  82. package/.cache/typescript/5.4/node_modules/@types/request/LICENSE +0 -21
  83. package/.cache/typescript/5.4/node_modules/@types/request/README.md +0 -15
  84. package/.cache/typescript/5.4/node_modules/@types/request/index.d.ts +0 -395
  85. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/License +0 -19
  86. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/README.md +0 -350
  87. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/README.md.bak +0 -350
  88. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/index.d.ts +0 -51
  89. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/lib/browser.js +0 -2
  90. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/lib/form_data.js +0 -483
  91. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/lib/populate.js +0 -10
  92. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/package.json +0 -68
  93. package/.cache/typescript/5.4/node_modules/@types/request/package.json +0 -70
  94. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/LICENSE +0 -21
  95. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/README.md +0 -15
  96. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/index.d.ts +0 -321
  97. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/package.json +0 -35
  98. package/.cache/typescript/5.4/node_modules/asynckit/LICENSE +0 -21
  99. package/.cache/typescript/5.4/node_modules/asynckit/README.md +0 -233
  100. package/.cache/typescript/5.4/node_modules/asynckit/bench.js +0 -76
  101. package/.cache/typescript/5.4/node_modules/asynckit/index.js +0 -6
  102. package/.cache/typescript/5.4/node_modules/asynckit/lib/abort.js +0 -29
  103. package/.cache/typescript/5.4/node_modules/asynckit/lib/async.js +0 -34
  104. package/.cache/typescript/5.4/node_modules/asynckit/lib/defer.js +0 -26
  105. package/.cache/typescript/5.4/node_modules/asynckit/lib/iterate.js +0 -75
  106. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_asynckit.js +0 -91
  107. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_parallel.js +0 -25
  108. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_serial.js +0 -25
  109. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_serial_ordered.js +0 -29
  110. package/.cache/typescript/5.4/node_modules/asynckit/lib/state.js +0 -37
  111. package/.cache/typescript/5.4/node_modules/asynckit/lib/streamify.js +0 -141
  112. package/.cache/typescript/5.4/node_modules/asynckit/lib/terminator.js +0 -29
  113. package/.cache/typescript/5.4/node_modules/asynckit/package.json +0 -63
  114. package/.cache/typescript/5.4/node_modules/asynckit/parallel.js +0 -43
  115. package/.cache/typescript/5.4/node_modules/asynckit/serial.js +0 -17
  116. package/.cache/typescript/5.4/node_modules/asynckit/serialOrdered.js +0 -75
  117. package/.cache/typescript/5.4/node_modules/asynckit/stream.js +0 -21
  118. package/.cache/typescript/5.4/node_modules/combined-stream/License +0 -19
  119. package/.cache/typescript/5.4/node_modules/combined-stream/Readme.md +0 -138
  120. package/.cache/typescript/5.4/node_modules/combined-stream/lib/combined_stream.js +0 -208
  121. package/.cache/typescript/5.4/node_modules/combined-stream/package.json +0 -25
  122. package/.cache/typescript/5.4/node_modules/combined-stream/yarn.lock +0 -17
  123. package/.cache/typescript/5.4/node_modules/delayed-stream/License +0 -19
  124. package/.cache/typescript/5.4/node_modules/delayed-stream/Makefile +0 -7
  125. package/.cache/typescript/5.4/node_modules/delayed-stream/Readme.md +0 -141
  126. package/.cache/typescript/5.4/node_modules/delayed-stream/lib/delayed_stream.js +0 -107
  127. package/.cache/typescript/5.4/node_modules/delayed-stream/package.json +0 -27
  128. package/.cache/typescript/5.4/node_modules/form-data/License +0 -19
  129. package/.cache/typescript/5.4/node_modules/form-data/README.md.bak +0 -358
  130. package/.cache/typescript/5.4/node_modules/form-data/Readme.md +0 -358
  131. package/.cache/typescript/5.4/node_modules/form-data/index.d.ts +0 -62
  132. package/.cache/typescript/5.4/node_modules/form-data/lib/browser.js +0 -2
  133. package/.cache/typescript/5.4/node_modules/form-data/lib/form_data.js +0 -501
  134. package/.cache/typescript/5.4/node_modules/form-data/lib/populate.js +0 -10
  135. package/.cache/typescript/5.4/node_modules/form-data/package.json +0 -68
  136. package/.cache/typescript/5.4/node_modules/mime-db/HISTORY.md +0 -507
  137. package/.cache/typescript/5.4/node_modules/mime-db/LICENSE +0 -23
  138. package/.cache/typescript/5.4/node_modules/mime-db/README.md +0 -100
  139. package/.cache/typescript/5.4/node_modules/mime-db/db.json +0 -8519
  140. package/.cache/typescript/5.4/node_modules/mime-db/index.js +0 -12
  141. package/.cache/typescript/5.4/node_modules/mime-db/package.json +0 -60
  142. package/.cache/typescript/5.4/node_modules/mime-types/HISTORY.md +0 -397
  143. package/.cache/typescript/5.4/node_modules/mime-types/LICENSE +0 -23
  144. package/.cache/typescript/5.4/node_modules/mime-types/README.md +0 -113
  145. package/.cache/typescript/5.4/node_modules/mime-types/index.js +0 -188
  146. package/.cache/typescript/5.4/node_modules/mime-types/package.json +0 -44
  147. package/.cache/typescript/5.4/node_modules/types-registry/README.md +0 -2
  148. package/.cache/typescript/5.4/node_modules/types-registry/index.json +0 -1
  149. package/.cache/typescript/5.4/node_modules/types-registry/package.json +0 -20
  150. package/.cache/typescript/5.4/node_modules/undici-types/README.md +0 -6
  151. package/.cache/typescript/5.4/node_modules/undici-types/agent.d.ts +0 -31
  152. package/.cache/typescript/5.4/node_modules/undici-types/api.d.ts +0 -43
  153. package/.cache/typescript/5.4/node_modules/undici-types/balanced-pool.d.ts +0 -18
  154. package/.cache/typescript/5.4/node_modules/undici-types/cache.d.ts +0 -36
  155. package/.cache/typescript/5.4/node_modules/undici-types/client.d.ts +0 -97
  156. package/.cache/typescript/5.4/node_modules/undici-types/connector.d.ts +0 -34
  157. package/.cache/typescript/5.4/node_modules/undici-types/content-type.d.ts +0 -21
  158. package/.cache/typescript/5.4/node_modules/undici-types/cookies.d.ts +0 -28
  159. package/.cache/typescript/5.4/node_modules/undici-types/diagnostics-channel.d.ts +0 -67
  160. package/.cache/typescript/5.4/node_modules/undici-types/dispatcher.d.ts +0 -241
  161. package/.cache/typescript/5.4/node_modules/undici-types/errors.d.ts +0 -128
  162. package/.cache/typescript/5.4/node_modules/undici-types/fetch.d.ts +0 -209
  163. package/.cache/typescript/5.4/node_modules/undici-types/file.d.ts +0 -39
  164. package/.cache/typescript/5.4/node_modules/undici-types/filereader.d.ts +0 -54
  165. package/.cache/typescript/5.4/node_modules/undici-types/formdata.d.ts +0 -108
  166. package/.cache/typescript/5.4/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  167. package/.cache/typescript/5.4/node_modules/undici-types/global-origin.d.ts +0 -7
  168. package/.cache/typescript/5.4/node_modules/undici-types/handlers.d.ts +0 -9
  169. package/.cache/typescript/5.4/node_modules/undici-types/header.d.ts +0 -4
  170. package/.cache/typescript/5.4/node_modules/undici-types/index.d.ts +0 -63
  171. package/.cache/typescript/5.4/node_modules/undici-types/interceptors.d.ts +0 -5
  172. package/.cache/typescript/5.4/node_modules/undici-types/mock-agent.d.ts +0 -50
  173. package/.cache/typescript/5.4/node_modules/undici-types/mock-client.d.ts +0 -25
  174. package/.cache/typescript/5.4/node_modules/undici-types/mock-errors.d.ts +0 -12
  175. package/.cache/typescript/5.4/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  176. package/.cache/typescript/5.4/node_modules/undici-types/mock-pool.d.ts +0 -25
  177. package/.cache/typescript/5.4/node_modules/undici-types/package.json +0 -55
  178. package/.cache/typescript/5.4/node_modules/undici-types/patch.d.ts +0 -71
  179. package/.cache/typescript/5.4/node_modules/undici-types/pool-stats.d.ts +0 -19
  180. package/.cache/typescript/5.4/node_modules/undici-types/pool.d.ts +0 -28
  181. package/.cache/typescript/5.4/node_modules/undici-types/proxy-agent.d.ts +0 -30
  182. package/.cache/typescript/5.4/node_modules/undici-types/readable.d.ts +0 -61
  183. package/.cache/typescript/5.4/node_modules/undici-types/webidl.d.ts +0 -220
  184. package/.cache/typescript/5.4/node_modules/undici-types/websocket.d.ts +0 -131
  185. package/.cache/typescript/5.4/package-lock.json +0 -146
  186. package/.cache/typescript/5.4/package.json +0 -1
  187. package/.replit +0 -21
  188. package/replit.nix +0 -3
@@ -1,76 +0,0 @@
1
- /* eslint no-console: "off" */
2
-
3
- var asynckit = require('./')
4
- , async = require('async')
5
- , assert = require('assert')
6
- , expected = 0
7
- ;
8
-
9
- var Benchmark = require('benchmark');
10
- var suite = new Benchmark.Suite;
11
-
12
- var source = [];
13
- for (var z = 1; z < 100; z++)
14
- {
15
- source.push(z);
16
- expected += z;
17
- }
18
-
19
- suite
20
- // add tests
21
-
22
- .add('async.map', function(deferred)
23
- {
24
- var total = 0;
25
-
26
- async.map(source,
27
- function(i, cb)
28
- {
29
- setImmediate(function()
30
- {
31
- total += i;
32
- cb(null, total);
33
- });
34
- },
35
- function(err, result)
36
- {
37
- assert.ifError(err);
38
- assert.equal(result[result.length - 1], expected);
39
- deferred.resolve();
40
- });
41
- }, {'defer': true})
42
-
43
-
44
- .add('asynckit.parallel', function(deferred)
45
- {
46
- var total = 0;
47
-
48
- asynckit.parallel(source,
49
- function(i, cb)
50
- {
51
- setImmediate(function()
52
- {
53
- total += i;
54
- cb(null, total);
55
- });
56
- },
57
- function(err, result)
58
- {
59
- assert.ifError(err);
60
- assert.equal(result[result.length - 1], expected);
61
- deferred.resolve();
62
- });
63
- }, {'defer': true})
64
-
65
-
66
- // add listeners
67
- .on('cycle', function(ev)
68
- {
69
- console.log(String(ev.target));
70
- })
71
- .on('complete', function()
72
- {
73
- console.log('Fastest is ' + this.filter('fastest').map('name'));
74
- })
75
- // run async
76
- .run({ 'async': true });
@@ -1,6 +0,0 @@
1
- module.exports =
2
- {
3
- parallel : require('./parallel.js'),
4
- serial : require('./serial.js'),
5
- serialOrdered : require('./serialOrdered.js')
6
- };
@@ -1,29 +0,0 @@
1
- // API
2
- module.exports = abort;
3
-
4
- /**
5
- * Aborts leftover active jobs
6
- *
7
- * @param {object} state - current state object
8
- */
9
- function abort(state)
10
- {
11
- Object.keys(state.jobs).forEach(clean.bind(state));
12
-
13
- // reset leftover jobs
14
- state.jobs = {};
15
- }
16
-
17
- /**
18
- * Cleans up leftover job by invoking abort function for the provided job id
19
- *
20
- * @this state
21
- * @param {string|number} key - job id to abort
22
- */
23
- function clean(key)
24
- {
25
- if (typeof this.jobs[key] == 'function')
26
- {
27
- this.jobs[key]();
28
- }
29
- }
@@ -1,34 +0,0 @@
1
- var defer = require('./defer.js');
2
-
3
- // API
4
- module.exports = async;
5
-
6
- /**
7
- * Runs provided callback asynchronously
8
- * even if callback itself is not
9
- *
10
- * @param {function} callback - callback to invoke
11
- * @returns {function} - augmented callback
12
- */
13
- function async(callback)
14
- {
15
- var isAsync = false;
16
-
17
- // check if async happened
18
- defer(function() { isAsync = true; });
19
-
20
- return function async_callback(err, result)
21
- {
22
- if (isAsync)
23
- {
24
- callback(err, result);
25
- }
26
- else
27
- {
28
- defer(function nextTick_callback()
29
- {
30
- callback(err, result);
31
- });
32
- }
33
- };
34
- }
@@ -1,26 +0,0 @@
1
- module.exports = defer;
2
-
3
- /**
4
- * Runs provided function on next iteration of the event loop
5
- *
6
- * @param {function} fn - function to run
7
- */
8
- function defer(fn)
9
- {
10
- var nextTick = typeof setImmediate == 'function'
11
- ? setImmediate
12
- : (
13
- typeof process == 'object' && typeof process.nextTick == 'function'
14
- ? process.nextTick
15
- : null
16
- );
17
-
18
- if (nextTick)
19
- {
20
- nextTick(fn);
21
- }
22
- else
23
- {
24
- setTimeout(fn, 0);
25
- }
26
- }
@@ -1,75 +0,0 @@
1
- var async = require('./async.js')
2
- , abort = require('./abort.js')
3
- ;
4
-
5
- // API
6
- module.exports = iterate;
7
-
8
- /**
9
- * Iterates over each job object
10
- *
11
- * @param {array|object} list - array or object (named list) to iterate over
12
- * @param {function} iterator - iterator to run
13
- * @param {object} state - current job status
14
- * @param {function} callback - invoked when all elements processed
15
- */
16
- function iterate(list, iterator, state, callback)
17
- {
18
- // store current index
19
- var key = state['keyedList'] ? state['keyedList'][state.index] : state.index;
20
-
21
- state.jobs[key] = runJob(iterator, key, list[key], function(error, output)
22
- {
23
- // don't repeat yourself
24
- // skip secondary callbacks
25
- if (!(key in state.jobs))
26
- {
27
- return;
28
- }
29
-
30
- // clean up jobs
31
- delete state.jobs[key];
32
-
33
- if (error)
34
- {
35
- // don't process rest of the results
36
- // stop still active jobs
37
- // and reset the list
38
- abort(state);
39
- }
40
- else
41
- {
42
- state.results[key] = output;
43
- }
44
-
45
- // return salvaged results
46
- callback(error, state.results);
47
- });
48
- }
49
-
50
- /**
51
- * Runs iterator over provided job element
52
- *
53
- * @param {function} iterator - iterator to invoke
54
- * @param {string|number} key - key/index of the element in the list of jobs
55
- * @param {mixed} item - job description
56
- * @param {function} callback - invoked after iterator is done with the job
57
- * @returns {function|mixed} - job abort function or something else
58
- */
59
- function runJob(iterator, key, item, callback)
60
- {
61
- var aborter;
62
-
63
- // allow shortcut if iterator expects only two arguments
64
- if (iterator.length == 2)
65
- {
66
- aborter = iterator(item, async(callback));
67
- }
68
- // otherwise go with full three arguments
69
- else
70
- {
71
- aborter = iterator(item, key, async(callback));
72
- }
73
-
74
- return aborter;
75
- }
@@ -1,91 +0,0 @@
1
- var streamify = require('./streamify.js')
2
- , defer = require('./defer.js')
3
- ;
4
-
5
- // API
6
- module.exports = ReadableAsyncKit;
7
-
8
- /**
9
- * Base constructor for all streams
10
- * used to hold properties/methods
11
- */
12
- function ReadableAsyncKit()
13
- {
14
- ReadableAsyncKit.super_.apply(this, arguments);
15
-
16
- // list of active jobs
17
- this.jobs = {};
18
-
19
- // add stream methods
20
- this.destroy = destroy;
21
- this._start = _start;
22
- this._read = _read;
23
- }
24
-
25
- /**
26
- * Destroys readable stream,
27
- * by aborting outstanding jobs
28
- *
29
- * @returns {void}
30
- */
31
- function destroy()
32
- {
33
- if (this.destroyed)
34
- {
35
- return;
36
- }
37
-
38
- this.destroyed = true;
39
-
40
- if (typeof this.terminator == 'function')
41
- {
42
- this.terminator();
43
- }
44
- }
45
-
46
- /**
47
- * Starts provided jobs in async manner
48
- *
49
- * @private
50
- */
51
- function _start()
52
- {
53
- // first argument – runner function
54
- var runner = arguments[0]
55
- // take away first argument
56
- , args = Array.prototype.slice.call(arguments, 1)
57
- // second argument - input data
58
- , input = args[0]
59
- // last argument - result callback
60
- , endCb = streamify.callback.call(this, args[args.length - 1])
61
- ;
62
-
63
- args[args.length - 1] = endCb;
64
- // third argument - iterator
65
- args[1] = streamify.iterator.call(this, args[1]);
66
-
67
- // allow time for proper setup
68
- defer(function()
69
- {
70
- if (!this.destroyed)
71
- {
72
- this.terminator = runner.apply(null, args);
73
- }
74
- else
75
- {
76
- endCb(null, Array.isArray(input) ? [] : {});
77
- }
78
- }.bind(this));
79
- }
80
-
81
-
82
- /**
83
- * Implement _read to comply with Readable streams
84
- * Doesn't really make sense for flowing object mode
85
- *
86
- * @private
87
- */
88
- function _read()
89
- {
90
-
91
- }
@@ -1,25 +0,0 @@
1
- var parallel = require('../parallel.js');
2
-
3
- // API
4
- module.exports = ReadableParallel;
5
-
6
- /**
7
- * Streaming wrapper to `asynckit.parallel`
8
- *
9
- * @param {array|object} list - array or object (named list) to iterate over
10
- * @param {function} iterator - iterator to run
11
- * @param {function} callback - invoked when all elements processed
12
- * @returns {stream.Readable#}
13
- */
14
- function ReadableParallel(list, iterator, callback)
15
- {
16
- if (!(this instanceof ReadableParallel))
17
- {
18
- return new ReadableParallel(list, iterator, callback);
19
- }
20
-
21
- // turn on object mode
22
- ReadableParallel.super_.call(this, {objectMode: true});
23
-
24
- this._start(parallel, list, iterator, callback);
25
- }
@@ -1,25 +0,0 @@
1
- var serial = require('../serial.js');
2
-
3
- // API
4
- module.exports = ReadableSerial;
5
-
6
- /**
7
- * Streaming wrapper to `asynckit.serial`
8
- *
9
- * @param {array|object} list - array or object (named list) to iterate over
10
- * @param {function} iterator - iterator to run
11
- * @param {function} callback - invoked when all elements processed
12
- * @returns {stream.Readable#}
13
- */
14
- function ReadableSerial(list, iterator, callback)
15
- {
16
- if (!(this instanceof ReadableSerial))
17
- {
18
- return new ReadableSerial(list, iterator, callback);
19
- }
20
-
21
- // turn on object mode
22
- ReadableSerial.super_.call(this, {objectMode: true});
23
-
24
- this._start(serial, list, iterator, callback);
25
- }
@@ -1,29 +0,0 @@
1
- var serialOrdered = require('../serialOrdered.js');
2
-
3
- // API
4
- module.exports = ReadableSerialOrdered;
5
- // expose sort helpers
6
- module.exports.ascending = serialOrdered.ascending;
7
- module.exports.descending = serialOrdered.descending;
8
-
9
- /**
10
- * Streaming wrapper to `asynckit.serialOrdered`
11
- *
12
- * @param {array|object} list - array or object (named list) to iterate over
13
- * @param {function} iterator - iterator to run
14
- * @param {function} sortMethod - custom sort function
15
- * @param {function} callback - invoked when all elements processed
16
- * @returns {stream.Readable#}
17
- */
18
- function ReadableSerialOrdered(list, iterator, sortMethod, callback)
19
- {
20
- if (!(this instanceof ReadableSerialOrdered))
21
- {
22
- return new ReadableSerialOrdered(list, iterator, sortMethod, callback);
23
- }
24
-
25
- // turn on object mode
26
- ReadableSerialOrdered.super_.call(this, {objectMode: true});
27
-
28
- this._start(serialOrdered, list, iterator, sortMethod, callback);
29
- }
@@ -1,37 +0,0 @@
1
- // API
2
- module.exports = state;
3
-
4
- /**
5
- * Creates initial state object
6
- * for iteration over list
7
- *
8
- * @param {array|object} list - list to iterate over
9
- * @param {function|null} sortMethod - function to use for keys sort,
10
- * or `null` to keep them as is
11
- * @returns {object} - initial state object
12
- */
13
- function state(list, sortMethod)
14
- {
15
- var isNamedList = !Array.isArray(list)
16
- , initState =
17
- {
18
- index : 0,
19
- keyedList: isNamedList || sortMethod ? Object.keys(list) : null,
20
- jobs : {},
21
- results : isNamedList ? {} : [],
22
- size : isNamedList ? Object.keys(list).length : list.length
23
- }
24
- ;
25
-
26
- if (sortMethod)
27
- {
28
- // sort array keys based on it's values
29
- // sort object's keys just on own merit
30
- initState.keyedList.sort(isNamedList ? sortMethod : function(a, b)
31
- {
32
- return sortMethod(list[a], list[b]);
33
- });
34
- }
35
-
36
- return initState;
37
- }
@@ -1,141 +0,0 @@
1
- var async = require('./async.js');
2
-
3
- // API
4
- module.exports = {
5
- iterator: wrapIterator,
6
- callback: wrapCallback
7
- };
8
-
9
- /**
10
- * Wraps iterators with long signature
11
- *
12
- * @this ReadableAsyncKit#
13
- * @param {function} iterator - function to wrap
14
- * @returns {function} - wrapped function
15
- */
16
- function wrapIterator(iterator)
17
- {
18
- var stream = this;
19
-
20
- return function(item, key, cb)
21
- {
22
- var aborter
23
- , wrappedCb = async(wrapIteratorCallback.call(stream, cb, key))
24
- ;
25
-
26
- stream.jobs[key] = wrappedCb;
27
-
28
- // it's either shortcut (item, cb)
29
- if (iterator.length == 2)
30
- {
31
- aborter = iterator(item, wrappedCb);
32
- }
33
- // or long format (item, key, cb)
34
- else
35
- {
36
- aborter = iterator(item, key, wrappedCb);
37
- }
38
-
39
- return aborter;
40
- };
41
- }
42
-
43
- /**
44
- * Wraps provided callback function
45
- * allowing to execute snitch function before
46
- * real callback
47
- *
48
- * @this ReadableAsyncKit#
49
- * @param {function} callback - function to wrap
50
- * @returns {function} - wrapped function
51
- */
52
- function wrapCallback(callback)
53
- {
54
- var stream = this;
55
-
56
- var wrapped = function(error, result)
57
- {
58
- return finisher.call(stream, error, result, callback);
59
- };
60
-
61
- return wrapped;
62
- }
63
-
64
- /**
65
- * Wraps provided iterator callback function
66
- * makes sure snitch only called once,
67
- * but passes secondary calls to the original callback
68
- *
69
- * @this ReadableAsyncKit#
70
- * @param {function} callback - callback to wrap
71
- * @param {number|string} key - iteration key
72
- * @returns {function} wrapped callback
73
- */
74
- function wrapIteratorCallback(callback, key)
75
- {
76
- var stream = this;
77
-
78
- return function(error, output)
79
- {
80
- // don't repeat yourself
81
- if (!(key in stream.jobs))
82
- {
83
- callback(error, output);
84
- return;
85
- }
86
-
87
- // clean up jobs
88
- delete stream.jobs[key];
89
-
90
- return streamer.call(stream, error, {key: key, value: output}, callback);
91
- };
92
- }
93
-
94
- /**
95
- * Stream wrapper for iterator callback
96
- *
97
- * @this ReadableAsyncKit#
98
- * @param {mixed} error - error response
99
- * @param {mixed} output - iterator output
100
- * @param {function} callback - callback that expects iterator results
101
- */
102
- function streamer(error, output, callback)
103
- {
104
- if (error && !this.error)
105
- {
106
- this.error = error;
107
- this.pause();
108
- this.emit('error', error);
109
- // send back value only, as expected
110
- callback(error, output && output.value);
111
- return;
112
- }
113
-
114
- // stream stuff
115
- this.push(output);
116
-
117
- // back to original track
118
- // send back value only, as expected
119
- callback(error, output && output.value);
120
- }
121
-
122
- /**
123
- * Stream wrapper for finishing callback
124
- *
125
- * @this ReadableAsyncKit#
126
- * @param {mixed} error - error response
127
- * @param {mixed} output - iterator output
128
- * @param {function} callback - callback that expects final results
129
- */
130
- function finisher(error, output, callback)
131
- {
132
- // signal end of the stream
133
- // only for successfully finished streams
134
- if (!error)
135
- {
136
- this.push(null);
137
- }
138
-
139
- // back to original track
140
- callback(error, output);
141
- }
@@ -1,29 +0,0 @@
1
- var abort = require('./abort.js')
2
- , async = require('./async.js')
3
- ;
4
-
5
- // API
6
- module.exports = terminator;
7
-
8
- /**
9
- * Terminates jobs in the attached state context
10
- *
11
- * @this AsyncKitState#
12
- * @param {function} callback - final callback to invoke after termination
13
- */
14
- function terminator(callback)
15
- {
16
- if (!Object.keys(this.jobs).length)
17
- {
18
- return;
19
- }
20
-
21
- // fast forward iteration index
22
- this.index = this.size;
23
-
24
- // abort jobs
25
- abort(this);
26
-
27
- // send back results we have so far
28
- async(callback)(null, this.results);
29
- }
@@ -1,63 +0,0 @@
1
- {
2
- "name": "asynckit",
3
- "version": "0.4.0",
4
- "description": "Minimal async jobs utility library, with streams support",
5
- "main": "index.js",
6
- "scripts": {
7
- "clean": "rimraf coverage",
8
- "lint": "eslint *.js lib/*.js test/*.js",
9
- "test": "istanbul cover --reporter=json tape -- 'test/test-*.js' | tap-spec",
10
- "win-test": "tape test/test-*.js",
11
- "browser": "browserify -t browserify-istanbul test/lib/browserify_adjustment.js test/test-*.js | obake --coverage | tap-spec",
12
- "report": "istanbul report",
13
- "size": "browserify index.js | size-table asynckit",
14
- "debug": "tape test/test-*.js"
15
- },
16
- "pre-commit": [
17
- "clean",
18
- "lint",
19
- "test",
20
- "browser",
21
- "report",
22
- "size"
23
- ],
24
- "repository": {
25
- "type": "git",
26
- "url": "git+https://github.com/alexindigo/asynckit.git"
27
- },
28
- "keywords": [
29
- "async",
30
- "jobs",
31
- "parallel",
32
- "serial",
33
- "iterator",
34
- "array",
35
- "object",
36
- "stream",
37
- "destroy",
38
- "terminate",
39
- "abort"
40
- ],
41
- "author": "Alex Indigo <iam@alexindigo.com>",
42
- "license": "MIT",
43
- "bugs": {
44
- "url": "https://github.com/alexindigo/asynckit/issues"
45
- },
46
- "homepage": "https://github.com/alexindigo/asynckit#readme",
47
- "devDependencies": {
48
- "browserify": "^13.0.0",
49
- "browserify-istanbul": "^2.0.0",
50
- "coveralls": "^2.11.9",
51
- "eslint": "^2.9.0",
52
- "istanbul": "^0.4.3",
53
- "obake": "^0.1.2",
54
- "phantomjs-prebuilt": "^2.1.7",
55
- "pre-commit": "^1.1.3",
56
- "reamde": "^1.1.0",
57
- "rimraf": "^2.5.2",
58
- "size-table": "^0.2.0",
59
- "tap-spec": "^4.1.1",
60
- "tape": "^4.5.1"
61
- },
62
- "dependencies": {}
63
- }