angular-slickgrid 4.2.1 → 4.2.2

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 (205) hide show
  1. package/LICENSE +20 -20
  2. package/app/modules/angular-slickgrid/components/angular-slickgrid.component.d.ts +2 -2
  3. package/app/modules/angular-slickgrid/extensions/slickRowDetailView.d.ts +0 -2
  4. package/docs/assets/lib/multiple-select/README.md +17 -17
  5. package/esm2020/app/modules/angular-slickgrid/components/angular-slickgrid.component.mjs +14 -14
  6. package/esm2020/app/modules/angular-slickgrid/constants.mjs +1 -1
  7. package/esm2020/app/modules/angular-slickgrid/extensions/index.mjs +1 -1
  8. package/esm2020/app/modules/angular-slickgrid/extensions/slickRowDetailView.mjs +2 -4
  9. package/esm2020/app/modules/angular-slickgrid/global-grid-options.mjs +1 -1
  10. package/esm2020/app/modules/angular-slickgrid/index.mjs +1 -1
  11. package/esm2020/app/modules/angular-slickgrid/models/angularComponentOutput.interface.mjs +1 -1
  12. package/esm2020/app/modules/angular-slickgrid/models/angularGridInstance.interface.mjs +1 -1
  13. package/esm2020/app/modules/angular-slickgrid/models/externalTestingDependencies.interface.mjs +1 -1
  14. package/esm2020/app/modules/angular-slickgrid/models/gridOption.interface.mjs +1 -1
  15. package/esm2020/app/modules/angular-slickgrid/models/index.mjs +1 -1
  16. package/esm2020/app/modules/angular-slickgrid/models/rowDetailView.interface.mjs +1 -1
  17. package/esm2020/app/modules/angular-slickgrid/models/slickGrid.interface.mjs +1 -1
  18. package/esm2020/app/modules/angular-slickgrid/modules/angular-slickgrid.module.mjs +7 -10
  19. package/esm2020/app/modules/angular-slickgrid/services/angularUtil.service.mjs +4 -4
  20. package/esm2020/app/modules/angular-slickgrid/services/bsDropdown.service.mjs +4 -4
  21. package/esm2020/app/modules/angular-slickgrid/services/container.service.mjs +4 -4
  22. package/esm2020/app/modules/angular-slickgrid/services/index.mjs +1 -1
  23. package/esm2020/app/modules/angular-slickgrid/services/translater.service.mjs +4 -4
  24. package/esm2020/app/modules/angular-slickgrid/services/utilities.mjs +1 -1
  25. package/esm2020/app/modules/angular-slickgrid/slickgrid-config.mjs +1 -1
  26. package/esm2020/public_api.mjs +1 -1
  27. package/fesm2015/angular-slickgrid.mjs +32 -37
  28. package/fesm2015/angular-slickgrid.mjs.map +1 -1
  29. package/fesm2020/angular-slickgrid.mjs +32 -37
  30. package/fesm2020/angular-slickgrid.mjs.map +1 -1
  31. package/i18n/en.json +89 -89
  32. package/i18n/fr.json +90 -90
  33. package/{angular-slickgrid.d.ts → index.d.ts} +0 -0
  34. package/package.json +11 -11
  35. package/test/cypress/node_modules/@cypress/request/README.md +1038 -0
  36. package/test/cypress/node_modules/@cypress/xvfb/README.md +48 -0
  37. package/test/cypress/node_modules/@cypress/xvfb/node_modules/debug/README.md +437 -0
  38. package/test/cypress/node_modules/@types/node/README.md +16 -0
  39. package/test/cypress/node_modules/@types/sinonjs__fake-timers/README.md +16 -0
  40. package/test/cypress/node_modules/@types/sizzle/README.md +16 -0
  41. package/test/cypress/node_modules/@types/yauzl/README.md +16 -0
  42. package/test/cypress/node_modules/@types/yauzl/node_modules/@types/node/README.md +16 -0
  43. package/test/cypress/node_modules/aggregate-error/README.md +61 -0
  44. package/test/cypress/node_modules/ansi-colors/README.md +315 -0
  45. package/test/cypress/node_modules/ansi-escapes/README.md +245 -0
  46. package/test/cypress/node_modules/ansi-regex/README.md +78 -0
  47. package/test/cypress/node_modules/ansi-styles/README.md +152 -0
  48. package/test/cypress/node_modules/arch/README.md +71 -0
  49. package/test/cypress/node_modules/asn1/README.md +50 -0
  50. package/test/cypress/node_modules/assert-plus/README.md +162 -0
  51. package/test/cypress/node_modules/astral-regex/README.md +46 -0
  52. package/test/cypress/node_modules/async/README.md +60 -0
  53. package/test/cypress/node_modules/asynckit/README.md +233 -0
  54. package/test/cypress/node_modules/at-least-node/README.md +25 -0
  55. package/test/cypress/node_modules/aws-sign2/README.md +4 -0
  56. package/test/cypress/node_modules/aws4/README.md +183 -0
  57. package/test/cypress/node_modules/balanced-match/README.md +91 -0
  58. package/test/cypress/node_modules/base64-js/README.md +34 -0
  59. package/test/cypress/node_modules/bcrypt-pbkdf/README.md +45 -0
  60. package/test/cypress/node_modules/blob-util/README.md +623 -0
  61. package/test/cypress/node_modules/bluebird/README.md +57 -0
  62. package/test/cypress/node_modules/brace-expansion/README.md +129 -0
  63. package/test/cypress/node_modules/buffer/README.md +410 -0
  64. package/test/cypress/node_modules/buffer-crc32/README.md +47 -0
  65. package/test/cypress/node_modules/cachedir/README.md +27 -0
  66. package/test/cypress/node_modules/caseless/README.md +45 -0
  67. package/test/cypress/node_modules/chalk/README.md +293 -0
  68. package/test/cypress/node_modules/chalk/node_modules/supports-color/README.md +76 -0
  69. package/test/cypress/node_modules/check-more-types/README.md +952 -0
  70. package/test/cypress/node_modules/ci-info/README.md +114 -0
  71. package/test/cypress/node_modules/clean-stack/README.md +76 -0
  72. package/test/cypress/node_modules/cli-cursor/README.md +55 -0
  73. package/test/cypress/node_modules/cli-table3/README.md +218 -0
  74. package/test/cypress/node_modules/cli-truncate/README.md +139 -0
  75. package/test/cypress/node_modules/color-convert/README.md +68 -0
  76. package/test/cypress/node_modules/color-name/README.md +11 -0
  77. package/test/cypress/node_modules/colorette/README.md +102 -0
  78. package/test/cypress/node_modules/colors/README.md +221 -0
  79. package/test/cypress/node_modules/combined-stream/README.md +138 -0
  80. package/test/cypress/node_modules/commander/README.md +737 -0
  81. package/test/cypress/node_modules/common-tags/README.md +687 -0
  82. package/test/cypress/node_modules/core-util-is/README.md +3 -0
  83. package/test/cypress/node_modules/cross-spawn/README.md +96 -0
  84. package/test/cypress/node_modules/cypress/README.md +25 -0
  85. package/test/cypress/node_modules/cypress/mount-utils/README.md +14 -0
  86. package/test/cypress/node_modules/cypress/react/README.md +414 -0
  87. package/test/cypress/node_modules/cypress/vue/README.md +678 -0
  88. package/test/cypress/node_modules/cypress/vue2/README.md +693 -0
  89. package/test/cypress/node_modules/dashdash/README.md +574 -0
  90. package/test/cypress/node_modules/dayjs/README.md +128 -0
  91. package/test/cypress/node_modules/debug/README.md +455 -0
  92. package/test/cypress/node_modules/delayed-stream/README.md +141 -0
  93. package/test/cypress/node_modules/ecc-jsbn/README.md +8 -0
  94. package/test/cypress/node_modules/emoji-regex/README.md +73 -0
  95. package/test/cypress/node_modules/end-of-stream/README.md +54 -0
  96. package/test/cypress/node_modules/enquirer/README.md +1752 -0
  97. package/test/cypress/node_modules/escape-string-regexp/README.md +27 -0
  98. package/test/cypress/node_modules/eventemitter2/README.md +809 -0
  99. package/test/cypress/node_modules/execa/README.md +656 -0
  100. package/test/cypress/node_modules/executable/README.md +64 -0
  101. package/test/cypress/node_modules/extend/README.md +81 -0
  102. package/test/cypress/node_modules/extract-zip/README.md +57 -0
  103. package/test/cypress/node_modules/extract-zip/node_modules/debug/README.md +455 -0
  104. package/test/cypress/node_modules/extsprintf/README.md +46 -0
  105. package/test/cypress/node_modules/fd-slicer/README.md +199 -0
  106. package/test/cypress/node_modules/figures/README.md +139 -0
  107. package/test/cypress/node_modules/forever-agent/README.md +4 -0
  108. package/test/cypress/node_modules/form-data/README.md +234 -0
  109. package/test/cypress/node_modules/fs-extra/README.md +264 -0
  110. package/test/cypress/node_modules/fs.realpath/README.md +33 -0
  111. package/test/cypress/node_modules/get-stream/README.md +124 -0
  112. package/test/cypress/node_modules/getos/README.md +79 -0
  113. package/test/cypress/node_modules/getpass/README.md +32 -0
  114. package/test/cypress/node_modules/glob/README.md +375 -0
  115. package/test/cypress/node_modules/global-dirs/README.md +72 -0
  116. package/test/cypress/node_modules/graceful-fs/README.md +133 -0
  117. package/test/cypress/node_modules/has-flag/README.md +89 -0
  118. package/test/cypress/node_modules/http-signature/README.md +80 -0
  119. package/test/cypress/node_modules/human-signals/README.md +155 -0
  120. package/test/cypress/node_modules/ieee754/README.md +51 -0
  121. package/test/cypress/node_modules/indent-string/README.md +70 -0
  122. package/test/cypress/node_modules/inflight/README.md +37 -0
  123. package/test/cypress/node_modules/inherits/README.md +42 -0
  124. package/test/cypress/node_modules/ini/README.md +102 -0
  125. package/test/cypress/node_modules/is-ci/README.md +50 -0
  126. package/test/cypress/node_modules/is-fullwidth-code-point/README.md +39 -0
  127. package/test/cypress/node_modules/is-installed-globally/README.md +31 -0
  128. package/test/cypress/node_modules/is-path-inside/README.md +63 -0
  129. package/test/cypress/node_modules/is-stream/README.md +57 -0
  130. package/test/cypress/node_modules/is-typedarray/README.md +16 -0
  131. package/test/cypress/node_modules/isexe/README.md +51 -0
  132. package/test/cypress/node_modules/isstream/README.md +66 -0
  133. package/test/cypress/node_modules/jsbn/README.md +175 -0
  134. package/test/cypress/node_modules/json-schema/README.md +3 -0
  135. package/test/cypress/node_modules/json-stringify-safe/README.md +52 -0
  136. package/test/cypress/node_modules/jsonfile/README.md +205 -0
  137. package/test/cypress/node_modules/jsonfile/node_modules/universalify/README.md +76 -0
  138. package/test/cypress/node_modules/jsprim/README.md +287 -0
  139. package/test/cypress/node_modules/lazy-ass/README.md +269 -0
  140. package/test/cypress/node_modules/listr2/README.md +17 -0
  141. package/test/cypress/node_modules/lodash/README.md +39 -0
  142. package/test/cypress/node_modules/lodash.once/README.md +18 -0
  143. package/test/cypress/node_modules/log-symbols/README.md +51 -0
  144. package/test/cypress/node_modules/log-update/README.md +97 -0
  145. package/test/cypress/node_modules/log-update/node_modules/slice-ansi/README.md +66 -0
  146. package/test/cypress/node_modules/log-update/node_modules/wrap-ansi/README.md +97 -0
  147. package/test/cypress/node_modules/lru-cache/README.md +166 -0
  148. package/test/cypress/node_modules/merge-stream/README.md +78 -0
  149. package/test/cypress/node_modules/mime-db/README.md +102 -0
  150. package/test/cypress/node_modules/mime-types/README.md +123 -0
  151. package/test/cypress/node_modules/mimic-fn/README.md +69 -0
  152. package/test/cypress/node_modules/minimatch/README.md +209 -0
  153. package/test/cypress/node_modules/ms/README.md +60 -0
  154. package/test/cypress/node_modules/npm-run-path/README.md +115 -0
  155. package/test/cypress/node_modules/once/README.md +79 -0
  156. package/test/cypress/node_modules/onetime/README.md +94 -0
  157. package/test/cypress/node_modules/ospath/README.md +53 -0
  158. package/test/cypress/node_modules/p-map/README.md +89 -0
  159. package/test/cypress/node_modules/path-is-absolute/README.md +59 -0
  160. package/test/cypress/node_modules/path-key/README.md +61 -0
  161. package/test/cypress/node_modules/pend/README.md +41 -0
  162. package/test/cypress/node_modules/performance-now/README.md +30 -0
  163. package/test/cypress/node_modules/pify/README.md +119 -0
  164. package/test/cypress/node_modules/pretty-bytes/README.md +131 -0
  165. package/test/cypress/node_modules/proxy-from-env/README.md +131 -0
  166. package/test/cypress/node_modules/psl/README.md +215 -0
  167. package/test/cypress/node_modules/pump/README.md +65 -0
  168. package/test/cypress/node_modules/punycode/README.md +122 -0
  169. package/test/cypress/node_modules/qs/README.md +475 -0
  170. package/test/cypress/node_modules/request-progress/README.md +78 -0
  171. package/test/cypress/node_modules/restore-cursor/README.md +26 -0
  172. package/test/cypress/node_modules/rimraf/README.md +101 -0
  173. package/test/cypress/node_modules/rxjs/README.md +147 -0
  174. package/test/cypress/node_modules/rxjs/_esm2015/README.md +147 -0
  175. package/test/cypress/node_modules/rxjs/_esm5/README.md +147 -0
  176. package/test/cypress/node_modules/rxjs/src/README.md +147 -0
  177. package/test/cypress/node_modules/safe-buffer/README.md +584 -0
  178. package/test/cypress/node_modules/safer-buffer/README.md +156 -0
  179. package/test/cypress/node_modules/semver/README.md +566 -0
  180. package/test/cypress/node_modules/shebang-command/README.md +34 -0
  181. package/test/cypress/node_modules/shebang-regex/README.md +33 -0
  182. package/test/cypress/node_modules/signal-exit/README.md +39 -0
  183. package/test/cypress/node_modules/slice-ansi/README.md +72 -0
  184. package/test/cypress/node_modules/sshpk/README.md +804 -0
  185. package/test/cypress/node_modules/string-width/README.md +50 -0
  186. package/test/cypress/node_modules/strip-ansi/README.md +46 -0
  187. package/test/cypress/node_modules/strip-final-newline/README.md +30 -0
  188. package/test/cypress/node_modules/supports-color/README.md +77 -0
  189. package/test/cypress/node_modules/throttleit/README.md +32 -0
  190. package/test/cypress/node_modules/tmp/README.md +365 -0
  191. package/test/cypress/node_modules/tough-cookie/README.md +527 -0
  192. package/test/cypress/node_modules/tslib/README.md +142 -0
  193. package/test/cypress/node_modules/tunnel-agent/README.md +4 -0
  194. package/test/cypress/node_modules/tweetnacl/README.md +459 -0
  195. package/test/cypress/node_modules/type-fest/README.md +760 -0
  196. package/test/cypress/node_modules/universalify/README.md +76 -0
  197. package/test/cypress/node_modules/untildify/README.md +30 -0
  198. package/test/cypress/node_modules/uuid/README.md +505 -0
  199. package/test/cypress/node_modules/verror/README.md +528 -0
  200. package/test/cypress/node_modules/verror/node_modules/extsprintf/README.md +46 -0
  201. package/test/cypress/node_modules/which/README.md +54 -0
  202. package/test/cypress/node_modules/wrap-ansi/README.md +91 -0
  203. package/test/cypress/node_modules/wrappy/README.md +36 -0
  204. package/test/cypress/node_modules/yallist/README.md +204 -0
  205. package/test/cypress/node_modules/yauzl/README.md +658 -0
@@ -0,0 +1,233 @@
1
+ # asynckit [![NPM Module](https://img.shields.io/npm/v/asynckit.svg?style=flat)](https://www.npmjs.com/package/asynckit)
2
+
3
+ Minimal async jobs utility library, with streams support.
4
+
5
+ [![PhantomJS Build](https://img.shields.io/travis/alexindigo/asynckit/v0.4.0.svg?label=browser&style=flat)](https://travis-ci.org/alexindigo/asynckit)
6
+ [![Linux Build](https://img.shields.io/travis/alexindigo/asynckit/v0.4.0.svg?label=linux:0.12-6.x&style=flat)](https://travis-ci.org/alexindigo/asynckit)
7
+ [![Windows Build](https://img.shields.io/appveyor/ci/alexindigo/asynckit/v0.4.0.svg?label=windows:0.12-6.x&style=flat)](https://ci.appveyor.com/project/alexindigo/asynckit)
8
+
9
+ [![Coverage Status](https://img.shields.io/coveralls/alexindigo/asynckit/v0.4.0.svg?label=code+coverage&style=flat)](https://coveralls.io/github/alexindigo/asynckit?branch=master)
10
+ [![Dependency Status](https://img.shields.io/david/alexindigo/asynckit/v0.4.0.svg?style=flat)](https://david-dm.org/alexindigo/asynckit)
11
+ [![bitHound Overall Score](https://www.bithound.io/github/alexindigo/asynckit/badges/score.svg)](https://www.bithound.io/github/alexindigo/asynckit)
12
+
13
+ <!-- [![Readme](https://img.shields.io/badge/readme-tested-brightgreen.svg?style=flat)](https://www.npmjs.com/package/reamde) -->
14
+
15
+ AsyncKit provides harness for `parallel` and `serial` iterators over list of items represented by arrays or objects.
16
+ Optionally it accepts abort function (should be synchronously return by iterator for each item), and terminates left over jobs upon an error event. For specific iteration order built-in (`ascending` and `descending`) and custom sort helpers also supported, via `asynckit.serialOrdered` method.
17
+
18
+ It ensures async operations to keep behavior more stable and prevent `Maximum call stack size exceeded` errors, from sync iterators.
19
+
20
+ | compression | size |
21
+ | :----------------- | -------: |
22
+ | asynckit.js | 12.34 kB |
23
+ | asynckit.min.js | 4.11 kB |
24
+ | asynckit.min.js.gz | 1.47 kB |
25
+
26
+
27
+ ## Install
28
+
29
+ ```sh
30
+ $ npm install --save asynckit
31
+ ```
32
+
33
+ ## Examples
34
+
35
+ ### Parallel Jobs
36
+
37
+ Runs iterator over provided array in parallel. Stores output in the `result` array,
38
+ on the matching positions. In unlikely event of an error from one of the jobs,
39
+ will terminate rest of the active jobs (if abort function is provided)
40
+ and return error along with salvaged data to the main callback function.
41
+
42
+ #### Input Array
43
+
44
+ ```javascript
45
+ var parallel = require('asynckit').parallel
46
+ , assert = require('assert')
47
+ ;
48
+
49
+ var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ]
50
+ , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ]
51
+ , expectedTarget = [ 1, 1, 2, 4, 8, 16, 32, 64 ]
52
+ , target = []
53
+ ;
54
+
55
+ parallel(source, asyncJob, function(err, result)
56
+ {
57
+ assert.deepEqual(result, expectedResult);
58
+ assert.deepEqual(target, expectedTarget);
59
+ });
60
+
61
+ // async job accepts one element from the array
62
+ // and a callback function
63
+ function asyncJob(item, cb)
64
+ {
65
+ // different delays (in ms) per item
66
+ var delay = item * 25;
67
+
68
+ // pretend different jobs take different time to finish
69
+ // and not in consequential order
70
+ var timeoutId = setTimeout(function() {
71
+ target.push(item);
72
+ cb(null, item * 2);
73
+ }, delay);
74
+
75
+ // allow to cancel "leftover" jobs upon error
76
+ // return function, invoking of which will abort this job
77
+ return clearTimeout.bind(null, timeoutId);
78
+ }
79
+ ```
80
+
81
+ More examples could be found in [test/test-parallel-array.js](test/test-parallel-array.js).
82
+
83
+ #### Input Object
84
+
85
+ Also it supports named jobs, listed via object.
86
+
87
+ ```javascript
88
+ var parallel = require('asynckit/parallel')
89
+ , assert = require('assert')
90
+ ;
91
+
92
+ var source = { first: 1, one: 1, four: 4, sixteen: 16, sixtyFour: 64, thirtyTwo: 32, eight: 8, two: 2 }
93
+ , expectedResult = { first: 2, one: 2, four: 8, sixteen: 32, sixtyFour: 128, thirtyTwo: 64, eight: 16, two: 4 }
94
+ , expectedTarget = [ 1, 1, 2, 4, 8, 16, 32, 64 ]
95
+ , expectedKeys = [ 'first', 'one', 'two', 'four', 'eight', 'sixteen', 'thirtyTwo', 'sixtyFour' ]
96
+ , target = []
97
+ , keys = []
98
+ ;
99
+
100
+ parallel(source, asyncJob, function(err, result)
101
+ {
102
+ assert.deepEqual(result, expectedResult);
103
+ assert.deepEqual(target, expectedTarget);
104
+ assert.deepEqual(keys, expectedKeys);
105
+ });
106
+
107
+ // supports full value, key, callback (shortcut) interface
108
+ function asyncJob(item, key, cb)
109
+ {
110
+ // different delays (in ms) per item
111
+ var delay = item * 25;
112
+
113
+ // pretend different jobs take different time to finish
114
+ // and not in consequential order
115
+ var timeoutId = setTimeout(function() {
116
+ keys.push(key);
117
+ target.push(item);
118
+ cb(null, item * 2);
119
+ }, delay);
120
+
121
+ // allow to cancel "leftover" jobs upon error
122
+ // return function, invoking of which will abort this job
123
+ return clearTimeout.bind(null, timeoutId);
124
+ }
125
+ ```
126
+
127
+ More examples could be found in [test/test-parallel-object.js](test/test-parallel-object.js).
128
+
129
+ ### Serial Jobs
130
+
131
+ Runs iterator over provided array sequentially. Stores output in the `result` array,
132
+ on the matching positions. In unlikely event of an error from one of the jobs,
133
+ will not proceed to the rest of the items in the list
134
+ and return error along with salvaged data to the main callback function.
135
+
136
+ #### Input Array
137
+
138
+ ```javascript
139
+ var serial = require('asynckit/serial')
140
+ , assert = require('assert')
141
+ ;
142
+
143
+ var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ]
144
+ , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ]
145
+ , expectedTarget = [ 0, 1, 2, 3, 4, 5, 6, 7 ]
146
+ , target = []
147
+ ;
148
+
149
+ serial(source, asyncJob, function(err, result)
150
+ {
151
+ assert.deepEqual(result, expectedResult);
152
+ assert.deepEqual(target, expectedTarget);
153
+ });
154
+
155
+ // extended interface (item, key, callback)
156
+ // also supported for arrays
157
+ function asyncJob(item, key, cb)
158
+ {
159
+ target.push(key);
160
+
161
+ // it will be automatically made async
162
+ // even it iterator "returns" in the same event loop
163
+ cb(null, item * 2);
164
+ }
165
+ ```
166
+
167
+ More examples could be found in [test/test-serial-array.js](test/test-serial-array.js).
168
+
169
+ #### Input Object
170
+
171
+ Also it supports named jobs, listed via object.
172
+
173
+ ```javascript
174
+ var serial = require('asynckit').serial
175
+ , assert = require('assert')
176
+ ;
177
+
178
+ var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ]
179
+ , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ]
180
+ , expectedTarget = [ 0, 1, 2, 3, 4, 5, 6, 7 ]
181
+ , target = []
182
+ ;
183
+
184
+ var source = { first: 1, one: 1, four: 4, sixteen: 16, sixtyFour: 64, thirtyTwo: 32, eight: 8, two: 2 }
185
+ , expectedResult = { first: 2, one: 2, four: 8, sixteen: 32, sixtyFour: 128, thirtyTwo: 64, eight: 16, two: 4 }
186
+ , expectedTarget = [ 1, 1, 4, 16, 64, 32, 8, 2 ]
187
+ , target = []
188
+ ;
189
+
190
+
191
+ serial(source, asyncJob, function(err, result)
192
+ {
193
+ assert.deepEqual(result, expectedResult);
194
+ assert.deepEqual(target, expectedTarget);
195
+ });
196
+
197
+ // shortcut interface (item, callback)
198
+ // works for object as well as for the arrays
199
+ function asyncJob(item, cb)
200
+ {
201
+ target.push(item);
202
+
203
+ // it will be automatically made async
204
+ // even it iterator "returns" in the same event loop
205
+ cb(null, item * 2);
206
+ }
207
+ ```
208
+
209
+ More examples could be found in [test/test-serial-object.js](test/test-serial-object.js).
210
+
211
+ _Note: Since _object_ is an _unordered_ collection of properties,
212
+ it may produce unexpected results with sequential iterations.
213
+ Whenever order of the jobs' execution is important please use `serialOrdered` method._
214
+
215
+ ### Ordered Serial Iterations
216
+
217
+ TBD
218
+
219
+ For example [compare-property](compare-property) package.
220
+
221
+ ### Streaming interface
222
+
223
+ TBD
224
+
225
+ ## Want to Know More?
226
+
227
+ More examples can be found in [test folder](test/).
228
+
229
+ Or open an [issue](https://github.com/alexindigo/asynckit/issues) with questions and/or suggestions.
230
+
231
+ ## License
232
+
233
+ AsyncKit is licensed under the MIT license.
@@ -0,0 +1,25 @@
1
+ # at-least-node
2
+
3
+ ![npm](https://img.shields.io/npm/v/at-least-node)
4
+ ![node](https://img.shields.io/node/v/at-least-node)
5
+ ![NPM](https://img.shields.io/npm/l/at-least-node)
6
+
7
+ Sometimes you need to check if you're on _at least_ a given Node.js version, but you don't want to pull in the whole [`semver`](https://www.npmjs.com/package/semver) kitchen sink. That's what `at-least-node` is for.
8
+
9
+ | Package | Size |
10
+ | --------------- | ------- |
11
+ | `at-least-node` | 2.6 kB |
12
+ | `semver` | 75.5 kB |
13
+
14
+ ```js
15
+ const atLeastNode = require('at-least-node')
16
+ atLeastNode('10.12.0')
17
+ // -> true on Node 10.12.0+, false on anything below that
18
+ ```
19
+
20
+ When passing in a version string:
21
+
22
+ - You cannot include a leading `v` (i.e. `v10.12.0`)
23
+ - You cannot omit sections (i.e. `10.12`)
24
+ - You cannot use pre-releases (i.e. `1.0.0-beta`)
25
+ - There is no input validation, if you make a mistake, the resulting behavior is undefined
@@ -0,0 +1,4 @@
1
+ aws-sign
2
+ ========
3
+
4
+ AWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.
@@ -0,0 +1,183 @@
1
+ aws4
2
+ ----
3
+
4
+ [![Build Status](https://api.travis-ci.org/mhart/aws4.png?branch=master)](https://travis-ci.org/github/mhart/aws4)
5
+
6
+ A small utility to sign vanilla Node.js http(s) request options using Amazon's
7
+ [AWS Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
8
+
9
+ If you want to sign and send AWS requests in a modern browser, or an environment like [Cloudflare Workers](https://developers.cloudflare.com/workers/), then check out [aws4fetch](https://github.com/mhart/aws4fetch) – otherwise you can also bundle this library for use [in older browsers](./browser).
10
+
11
+ The only AWS service that *doesn't* support v4 as of 2020-05-22 is
12
+ [SimpleDB](https://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API.html)
13
+ (it only supports [AWS Signature Version 2](https://github.com/mhart/aws2)).
14
+
15
+ It also provides defaults for a number of core AWS headers and
16
+ request parameters, making it very easy to query AWS services, or
17
+ build out a fully-featured AWS library.
18
+
19
+ Example
20
+ -------
21
+
22
+ ```javascript
23
+ var https = require('https')
24
+ var aws4 = require('aws4')
25
+
26
+ // to illustrate usage, we'll create a utility function to request and pipe to stdout
27
+ function request(opts) { https.request(opts, function(res) { res.pipe(process.stdout) }).end(opts.body || '') }
28
+
29
+ // aws4 will sign an options object as you'd pass to http.request, with an AWS service and region
30
+ var opts = { host: 'my-bucket.s3.us-west-1.amazonaws.com', path: '/my-object', service: 's3', region: 'us-west-1' }
31
+
32
+ // aws4.sign() will sign and modify these options, ready to pass to http.request
33
+ aws4.sign(opts, { accessKeyId: '', secretAccessKey: '' })
34
+
35
+ // or it can get credentials from process.env.AWS_ACCESS_KEY_ID, etc
36
+ aws4.sign(opts)
37
+
38
+ // for most AWS services, aws4 can figure out the service and region if you pass a host
39
+ opts = { host: 'my-bucket.s3.us-west-1.amazonaws.com', path: '/my-object' }
40
+
41
+ // usually it will add/modify request headers, but you can also sign the query:
42
+ opts = { host: 'my-bucket.s3.amazonaws.com', path: '/?X-Amz-Expires=12345', signQuery: true }
43
+
44
+ // and for services with simple hosts, aws4 can infer the host from service and region:
45
+ opts = { service: 'sqs', region: 'us-east-1', path: '/?Action=ListQueues' }
46
+
47
+ // and if you're using us-east-1, it's the default:
48
+ opts = { service: 'sqs', path: '/?Action=ListQueues' }
49
+
50
+ aws4.sign(opts)
51
+ console.log(opts)
52
+ /*
53
+ {
54
+ host: 'sqs.us-east-1.amazonaws.com',
55
+ path: '/?Action=ListQueues',
56
+ headers: {
57
+ Host: 'sqs.us-east-1.amazonaws.com',
58
+ 'X-Amz-Date': '20121226T061030Z',
59
+ Authorization: 'AWS4-HMAC-SHA256 Credential=ABCDEF/20121226/us-east-1/sqs/aws4_request, ...'
60
+ }
61
+ }
62
+ */
63
+
64
+ // we can now use this to query AWS
65
+ request(opts)
66
+ /*
67
+ <?xml version="1.0"?>
68
+ <ListQueuesResponse xmlns="https://queue.amazonaws.com/doc/2012-11-05/">
69
+ ...
70
+ */
71
+
72
+ // aws4 can infer the HTTP method if a body is passed in
73
+ // method will be POST and Content-Type: 'application/x-www-form-urlencoded; charset=utf-8'
74
+ request(aws4.sign({ service: 'iam', body: 'Action=ListGroups&Version=2010-05-08' }))
75
+ /*
76
+ <ListGroupsResponse xmlns="https://iam.amazonaws.com/doc/2010-05-08/">
77
+ ...
78
+ */
79
+
80
+ // you can specify any custom option or header as per usual
81
+ request(aws4.sign({
82
+ service: 'dynamodb',
83
+ region: 'ap-southeast-2',
84
+ method: 'POST',
85
+ path: '/',
86
+ headers: {
87
+ 'Content-Type': 'application/x-amz-json-1.0',
88
+ 'X-Amz-Target': 'DynamoDB_20120810.ListTables'
89
+ },
90
+ body: '{}'
91
+ }))
92
+ /*
93
+ {"TableNames":[]}
94
+ ...
95
+ */
96
+
97
+ // The raw RequestSigner can be used to generate CodeCommit Git passwords
98
+ var signer = new aws4.RequestSigner({
99
+ service: 'codecommit',
100
+ host: 'git-codecommit.us-east-1.amazonaws.com',
101
+ method: 'GIT',
102
+ path: '/v1/repos/MyAwesomeRepo',
103
+ })
104
+ var password = signer.getDateTime() + 'Z' + signer.signature()
105
+
106
+ // see example.js for examples with other services
107
+ ```
108
+
109
+ API
110
+ ---
111
+
112
+ ### aws4.sign(requestOptions, [credentials])
113
+
114
+ Calculates and populates any necessary AWS headers and/or request
115
+ options on `requestOptions`. Returns `requestOptions` as a convenience for chaining.
116
+
117
+ `requestOptions` is an object holding the same options that the Node.js
118
+ [http.request](https://nodejs.org/docs/latest/api/http.html#http_http_request_options_callback)
119
+ function takes.
120
+
121
+ The following properties of `requestOptions` are used in the signing or
122
+ populated if they don't already exist:
123
+
124
+ - `hostname` or `host` (will try to be determined from `service` and `region` if not given)
125
+ - `method` (will use `'GET'` if not given or `'POST'` if there is a `body`)
126
+ - `path` (will use `'/'` if not given)
127
+ - `body` (will use `''` if not given)
128
+ - `service` (will try to be calculated from `hostname` or `host` if not given)
129
+ - `region` (will try to be calculated from `hostname` or `host` or use `'us-east-1'` if not given)
130
+ - `signQuery` (to sign the query instead of adding an `Authorization` header, defaults to false)
131
+ - `headers['Host']` (will use `hostname` or `host` or be calculated if not given)
132
+ - `headers['Content-Type']` (will use `'application/x-www-form-urlencoded; charset=utf-8'`
133
+ if not given and there is a `body`)
134
+ - `headers['Date']` (used to calculate the signature date if given, otherwise `new Date` is used)
135
+
136
+ Your AWS credentials (which can be found in your
137
+ [AWS console](https://portal.aws.amazon.com/gp/aws/securityCredentials))
138
+ can be specified in one of two ways:
139
+
140
+ - As the second argument, like this:
141
+
142
+ ```javascript
143
+ aws4.sign(requestOptions, {
144
+ secretAccessKey: "<your-secret-access-key>",
145
+ accessKeyId: "<your-access-key-id>",
146
+ sessionToken: "<your-session-token>"
147
+ })
148
+ ```
149
+
150
+ - From `process.env`, such as this:
151
+
152
+ ```
153
+ export AWS_ACCESS_KEY_ID="<your-access-key-id>"
154
+ export AWS_SECRET_ACCESS_KEY="<your-secret-access-key>"
155
+ export AWS_SESSION_TOKEN="<your-session-token>"
156
+ ```
157
+
158
+ (will also use `AWS_ACCESS_KEY` and `AWS_SECRET_KEY` if available)
159
+
160
+ The `sessionToken` property and `AWS_SESSION_TOKEN` environment variable are optional for signing
161
+ with [IAM STS temporary credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html).
162
+
163
+ Installation
164
+ ------------
165
+
166
+ With [npm](https://www.npmjs.com/) do:
167
+
168
+ ```
169
+ npm install aws4
170
+ ```
171
+
172
+ Can also be used [in the browser](./browser).
173
+
174
+ Thanks
175
+ ------
176
+
177
+ Thanks to [@jed](https://github.com/jed) for his
178
+ [dynamo-client](https://github.com/jed/dynamo-client) lib where I first
179
+ committed and subsequently extracted this code.
180
+
181
+ Also thanks to the
182
+ [official Node.js AWS SDK](https://github.com/aws/aws-sdk-js) for giving
183
+ me a start on implementing the v4 signature.
@@ -0,0 +1,91 @@
1
+ # balanced-match
2
+
3
+ Match balanced string pairs, like `{` and `}` or `<b>` and `</b>`. Supports regular expressions as well!
4
+
5
+ [![build status](https://secure.travis-ci.org/juliangruber/balanced-match.svg)](http://travis-ci.org/juliangruber/balanced-match)
6
+ [![downloads](https://img.shields.io/npm/dm/balanced-match.svg)](https://www.npmjs.org/package/balanced-match)
7
+
8
+ [![testling badge](https://ci.testling.com/juliangruber/balanced-match.png)](https://ci.testling.com/juliangruber/balanced-match)
9
+
10
+ ## Example
11
+
12
+ Get the first matching pair of braces:
13
+
14
+ ```js
15
+ var balanced = require('balanced-match');
16
+
17
+ console.log(balanced('{', '}', 'pre{in{nested}}post'));
18
+ console.log(balanced('{', '}', 'pre{first}between{second}post'));
19
+ console.log(balanced(/\s+\{\s+/, /\s+\}\s+/, 'pre { in{nest} } post'));
20
+ ```
21
+
22
+ The matches are:
23
+
24
+ ```bash
25
+ $ node example.js
26
+ { start: 3, end: 14, pre: 'pre', body: 'in{nested}', post: 'post' }
27
+ { start: 3,
28
+ end: 9,
29
+ pre: 'pre',
30
+ body: 'first',
31
+ post: 'between{second}post' }
32
+ { start: 3, end: 17, pre: 'pre', body: 'in{nest}', post: 'post' }
33
+ ```
34
+
35
+ ## API
36
+
37
+ ### var m = balanced(a, b, str)
38
+
39
+ For the first non-nested matching pair of `a` and `b` in `str`, return an
40
+ object with those keys:
41
+
42
+ * **start** the index of the first match of `a`
43
+ * **end** the index of the matching `b`
44
+ * **pre** the preamble, `a` and `b` not included
45
+ * **body** the match, `a` and `b` not included
46
+ * **post** the postscript, `a` and `b` not included
47
+
48
+ If there's no match, `undefined` will be returned.
49
+
50
+ If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']` and `{a}}` will match `['', 'a', '}']`.
51
+
52
+ ### var r = balanced.range(a, b, str)
53
+
54
+ For the first non-nested matching pair of `a` and `b` in `str`, return an
55
+ array with indexes: `[ <a index>, <b index> ]`.
56
+
57
+ If there's no match, `undefined` will be returned.
58
+
59
+ If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `[ 1, 3 ]` and `{a}}` will match `[0, 2]`.
60
+
61
+ ## Installation
62
+
63
+ With [npm](https://npmjs.org) do:
64
+
65
+ ```bash
66
+ npm install balanced-match
67
+ ```
68
+
69
+ ## License
70
+
71
+ (MIT)
72
+
73
+ Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
74
+
75
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
76
+ this software and associated documentation files (the "Software"), to deal in
77
+ the Software without restriction, including without limitation the rights to
78
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
79
+ of the Software, and to permit persons to whom the Software is furnished to do
80
+ so, subject to the following conditions:
81
+
82
+ The above copyright notice and this permission notice shall be included in all
83
+ copies or substantial portions of the Software.
84
+
85
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
86
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
87
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
88
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
89
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
90
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
91
+ SOFTWARE.
@@ -0,0 +1,34 @@
1
+ base64-js
2
+ =========
3
+
4
+ `base64-js` does basic base64 encoding/decoding in pure JS.
5
+
6
+ [![build status](https://secure.travis-ci.org/beatgammit/base64-js.png)](http://travis-ci.org/beatgammit/base64-js)
7
+
8
+ Many browsers already have base64 encoding/decoding functionality, but it is for text data, not all-purpose binary data.
9
+
10
+ Sometimes encoding/decoding binary data in the browser is useful, and that is what this module does.
11
+
12
+ ## install
13
+
14
+ With [npm](https://npmjs.org) do:
15
+
16
+ `npm install base64-js` and `var base64js = require('base64-js')`
17
+
18
+ For use in web browsers do:
19
+
20
+ `<script src="base64js.min.js"></script>`
21
+
22
+ [Get supported base64-js with the Tidelift Subscription](https://tidelift.com/subscription/pkg/npm-base64-js?utm_source=npm-base64-js&utm_medium=referral&utm_campaign=readme)
23
+
24
+ ## methods
25
+
26
+ `base64js` has three exposed functions, `byteLength`, `toByteArray` and `fromByteArray`, which both take a single argument.
27
+
28
+ * `byteLength` - Takes a base64 string and returns length of byte array
29
+ * `toByteArray` - Takes a base64 string and returns a byte array
30
+ * `fromByteArray` - Takes a byte array and returns a base64 string
31
+
32
+ ## license
33
+
34
+ MIT
@@ -0,0 +1,45 @@
1
+ Port of the OpenBSD `bcrypt_pbkdf` function to pure Javascript. `npm`-ified
2
+ version of [Devi Mandiri's port](https://github.com/devi/tmp/blob/master/js/bcrypt_pbkdf.js),
3
+ with some minor performance improvements. The code is copied verbatim (and
4
+ un-styled) from Devi's work.
5
+
6
+ This product includes software developed by Niels Provos.
7
+
8
+ ## API
9
+
10
+ ### `bcrypt_pbkdf.pbkdf(pass, passlen, salt, saltlen, key, keylen, rounds)`
11
+
12
+ Derive a cryptographic key of arbitrary length from a given password and salt,
13
+ using the OpenBSD `bcrypt_pbkdf` function. This is a combination of Blowfish and
14
+ SHA-512.
15
+
16
+ See [this article](http://www.tedunangst.com/flak/post/bcrypt-pbkdf) for
17
+ further information.
18
+
19
+ Parameters:
20
+
21
+ * `pass`, a Uint8Array of length `passlen`
22
+ * `passlen`, an integer Number
23
+ * `salt`, a Uint8Array of length `saltlen`
24
+ * `saltlen`, an integer Number
25
+ * `key`, a Uint8Array of length `keylen`, will be filled with output
26
+ * `keylen`, an integer Number
27
+ * `rounds`, an integer Number, number of rounds of the PBKDF to run
28
+
29
+ ### `bcrypt_pbkdf.hash(sha2pass, sha2salt, out)`
30
+
31
+ Calculate a Blowfish hash, given SHA2-512 output of a password and salt. Used as
32
+ part of the inner round function in the PBKDF.
33
+
34
+ Parameters:
35
+
36
+ * `sha2pass`, a Uint8Array of length 64
37
+ * `sha2salt`, a Uint8Array of length 64
38
+ * `out`, a Uint8Array of length 32, will be filled with output
39
+
40
+ ## License
41
+
42
+ This source form is a 1:1 port from the OpenBSD `blowfish.c` and `bcrypt_pbkdf.c`.
43
+ As a result, it retains the original copyright and license. The two files are
44
+ under slightly different (but compatible) licenses, and are here combined in
45
+ one file. For each of the full license texts see `LICENSE`.