cline 1.0.0 → 1.0.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 (299) hide show
  1. package/bin/cline +0 -0
  2. package/bin/cline-darwin-amd64 +0 -0
  3. package/bin/cline-darwin-arm64 +0 -0
  4. package/bin/cline-host +0 -0
  5. package/bin/cline-host-darwin-amd64 +0 -0
  6. package/bin/cline-host-darwin-arm64 +0 -0
  7. package/bin/cline-host-linux-amd64 +0 -0
  8. package/bin/cline-host-linux-arm64 +0 -0
  9. package/bin/cline-linux-amd64 +0 -0
  10. package/bin/cline-linux-arm64 +0 -0
  11. package/cline-core.js +24841 -16621
  12. package/extension/package.json +12 -4
  13. package/node_modules/b4a/LICENSE +201 -0
  14. package/node_modules/b4a/README.md +153 -0
  15. package/node_modules/b4a/browser.js +563 -0
  16. package/node_modules/b4a/index.js +188 -0
  17. package/node_modules/b4a/lib/ascii.js +31 -0
  18. package/node_modules/b4a/lib/base64.js +65 -0
  19. package/node_modules/b4a/lib/hex.js +51 -0
  20. package/node_modules/b4a/lib/utf16le.js +40 -0
  21. package/node_modules/b4a/lib/utf8.js +141 -0
  22. package/node_modules/b4a/package.json +49 -0
  23. package/node_modules/b4a/react-native.js +5 -0
  24. package/node_modules/bare-events/LICENSE +201 -0
  25. package/node_modules/bare-events/README.md +25 -0
  26. package/node_modules/bare-events/global.d.ts +15 -0
  27. package/node_modules/bare-events/global.js +5 -0
  28. package/node_modules/bare-events/index.d.ts +94 -0
  29. package/node_modules/bare-events/index.js +355 -0
  30. package/node_modules/bare-events/lib/errors.js +32 -0
  31. package/node_modules/bare-events/package.json +61 -0
  32. package/node_modules/bare-events/web.d.ts +79 -0
  33. package/node_modules/bare-events/web.js +347 -0
  34. package/node_modules/bare-fs/CMakeLists.txt +13 -0
  35. package/node_modules/bare-fs/LICENSE +201 -0
  36. package/node_modules/bare-fs/README.md +29 -0
  37. package/node_modules/bare-fs/binding.c +2238 -0
  38. package/node_modules/bare-fs/binding.js +1 -0
  39. package/node_modules/bare-fs/index.d.ts +1115 -0
  40. package/node_modules/bare-fs/index.js +2330 -0
  41. package/node_modules/bare-fs/lib/constants.d.ts +49 -0
  42. package/node_modules/bare-fs/lib/constants.js +49 -0
  43. package/node_modules/bare-fs/lib/errors.d.ts +11 -0
  44. package/node_modules/bare-fs/lib/errors.js +55 -0
  45. package/node_modules/bare-fs/package.json +71 -0
  46. package/node_modules/bare-fs/prebuilds/android-arm/bare-fs.bare +0 -0
  47. package/node_modules/bare-fs/prebuilds/android-arm64/bare-fs.bare +0 -0
  48. package/node_modules/bare-fs/prebuilds/android-ia32/bare-fs.bare +0 -0
  49. package/node_modules/bare-fs/prebuilds/android-x64/bare-fs.bare +0 -0
  50. package/node_modules/bare-fs/prebuilds/darwin-arm64/bare-fs.bare +0 -0
  51. package/node_modules/bare-fs/prebuilds/darwin-x64/bare-fs.bare +0 -0
  52. package/node_modules/bare-fs/prebuilds/ios-arm64/bare-fs.bare +0 -0
  53. package/node_modules/bare-fs/prebuilds/ios-arm64-simulator/bare-fs.bare +0 -0
  54. package/node_modules/bare-fs/prebuilds/ios-x64-simulator/bare-fs.bare +0 -0
  55. package/node_modules/bare-fs/prebuilds/linux-arm64/bare-fs.bare +0 -0
  56. package/node_modules/bare-fs/prebuilds/linux-x64/bare-fs.bare +0 -0
  57. package/node_modules/bare-fs/prebuilds/win32-arm64/bare-fs.bare +0 -0
  58. package/node_modules/bare-fs/prebuilds/win32-x64/bare-fs.bare +0 -0
  59. package/node_modules/bare-fs/promises.d.ts +282 -0
  60. package/node_modules/bare-fs/promises.js +90 -0
  61. package/node_modules/bare-os/CMakeLists.txt +13 -0
  62. package/node_modules/bare-os/LICENSE +201 -0
  63. package/node_modules/bare-os/README.md +11 -0
  64. package/node_modules/bare-os/binding.c +1119 -0
  65. package/node_modules/bare-os/binding.js +1 -0
  66. package/node_modules/bare-os/index.d.ts +109 -0
  67. package/node_modules/bare-os/index.js +99 -0
  68. package/node_modules/bare-os/lib/constants.js +6 -0
  69. package/node_modules/bare-os/lib/errors.js +22 -0
  70. package/node_modules/bare-os/package.json +46 -0
  71. package/node_modules/bare-os/prebuilds/android-arm/bare-os.bare +0 -0
  72. package/node_modules/bare-os/prebuilds/android-arm64/bare-os.bare +0 -0
  73. package/node_modules/bare-os/prebuilds/android-ia32/bare-os.bare +0 -0
  74. package/node_modules/bare-os/prebuilds/android-x64/bare-os.bare +0 -0
  75. package/node_modules/bare-os/prebuilds/darwin-arm64/bare-os.bare +0 -0
  76. package/node_modules/bare-os/prebuilds/darwin-x64/bare-os.bare +0 -0
  77. package/node_modules/bare-os/prebuilds/ios-arm64/bare-os.bare +0 -0
  78. package/node_modules/bare-os/prebuilds/ios-arm64-simulator/bare-os.bare +0 -0
  79. package/node_modules/bare-os/prebuilds/ios-x64-simulator/bare-os.bare +0 -0
  80. package/node_modules/bare-os/prebuilds/linux-arm64/bare-os.bare +0 -0
  81. package/node_modules/bare-os/prebuilds/linux-x64/bare-os.bare +0 -0
  82. package/node_modules/bare-os/prebuilds/win32-arm64/bare-os.bare +0 -0
  83. package/node_modules/bare-os/prebuilds/win32-x64/bare-os.bare +0 -0
  84. package/node_modules/bare-path/LICENSE +201 -0
  85. package/node_modules/bare-path/NOTICE +28 -0
  86. package/node_modules/bare-path/README.md +19 -0
  87. package/node_modules/bare-path/index.js +11 -0
  88. package/node_modules/bare-path/lib/constants.js +11 -0
  89. package/node_modules/bare-path/lib/posix.js +242 -0
  90. package/node_modules/bare-path/lib/shared.js +67 -0
  91. package/node_modules/bare-path/lib/win32.js +513 -0
  92. package/node_modules/bare-path/package.json +36 -0
  93. package/node_modules/bare-stream/LICENSE +201 -0
  94. package/node_modules/bare-stream/README.md +15 -0
  95. package/node_modules/bare-stream/global.js +8 -0
  96. package/node_modules/bare-stream/index.d.ts +237 -0
  97. package/node_modules/bare-stream/index.js +355 -0
  98. package/node_modules/bare-stream/package.json +61 -0
  99. package/node_modules/bare-stream/promises.js +3 -0
  100. package/node_modules/bare-stream/web.d.ts +73 -0
  101. package/node_modules/bare-stream/web.js +229 -0
  102. package/node_modules/bare-url/CMakeLists.txt +27 -0
  103. package/node_modules/bare-url/LICENSE +201 -0
  104. package/node_modules/bare-url/README.md +19 -0
  105. package/node_modules/bare-url/binding.c +188 -0
  106. package/node_modules/bare-url/binding.js +1 -0
  107. package/node_modules/bare-url/global.d.ts +12 -0
  108. package/node_modules/bare-url/global.js +2 -0
  109. package/node_modules/bare-url/index.d.ts +39 -0
  110. package/node_modules/bare-url/index.js +450 -0
  111. package/node_modules/bare-url/lib/errors.d.ts +8 -0
  112. package/node_modules/bare-url/lib/errors.js +38 -0
  113. package/node_modules/bare-url/lib/url-search-params.d.ts +21 -0
  114. package/node_modules/bare-url/lib/url-search-params.js +176 -0
  115. package/node_modules/bare-url/package.json +51 -0
  116. package/node_modules/bare-url/prebuilds/android-arm/bare-url.bare +0 -0
  117. package/node_modules/bare-url/prebuilds/android-arm64/bare-url.bare +0 -0
  118. package/node_modules/bare-url/prebuilds/android-ia32/bare-url.bare +0 -0
  119. package/node_modules/bare-url/prebuilds/android-x64/bare-url.bare +0 -0
  120. package/node_modules/bare-url/prebuilds/darwin-arm64/bare-url.bare +0 -0
  121. package/node_modules/bare-url/prebuilds/darwin-x64/bare-url.bare +0 -0
  122. package/node_modules/bare-url/prebuilds/ios-arm64/bare-url.bare +0 -0
  123. package/node_modules/bare-url/prebuilds/ios-arm64-simulator/bare-url.bare +0 -0
  124. package/node_modules/bare-url/prebuilds/ios-x64-simulator/bare-url.bare +0 -0
  125. package/node_modules/bare-url/prebuilds/linux-arm64/bare-url.bare +0 -0
  126. package/node_modules/bare-url/prebuilds/linux-x64/bare-url.bare +0 -0
  127. package/node_modules/bare-url/prebuilds/win32-arm64/bare-url.bare +0 -0
  128. package/node_modules/bare-url/prebuilds/win32-x64/bare-url.bare +0 -0
  129. package/node_modules/better-sqlite3/deps/download.sh +1 -1
  130. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.c +122 -81
  131. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.h +45 -45
  132. package/node_modules/better-sqlite3/lib/database.js +1 -1
  133. package/node_modules/better-sqlite3/package.json +4 -7
  134. package/node_modules/better-sqlite3/src/addon.cpp +47 -0
  135. package/node_modules/better-sqlite3/src/better_sqlite3.cpp +44 -2164
  136. package/node_modules/better-sqlite3/src/objects/backup.cpp +120 -0
  137. package/node_modules/better-sqlite3/src/objects/backup.hpp +36 -0
  138. package/node_modules/better-sqlite3/src/objects/database.cpp +417 -0
  139. package/node_modules/better-sqlite3/src/objects/database.hpp +103 -0
  140. package/node_modules/better-sqlite3/src/objects/statement-iterator.cpp +113 -0
  141. package/node_modules/better-sqlite3/src/objects/statement-iterator.hpp +50 -0
  142. package/node_modules/better-sqlite3/src/objects/statement.cpp +383 -0
  143. package/node_modules/better-sqlite3/src/objects/statement.hpp +58 -0
  144. package/node_modules/better-sqlite3/src/util/bind-map.cpp +73 -0
  145. package/node_modules/better-sqlite3/src/util/binder.cpp +193 -0
  146. package/node_modules/better-sqlite3/src/util/constants.cpp +172 -0
  147. package/node_modules/better-sqlite3/src/util/custom-aggregate.cpp +121 -0
  148. package/node_modules/better-sqlite3/src/util/custom-function.cpp +59 -0
  149. package/node_modules/better-sqlite3/src/util/custom-table.cpp +409 -0
  150. package/node_modules/better-sqlite3/src/util/data-converter.cpp +17 -0
  151. package/node_modules/better-sqlite3/src/util/data.cpp +194 -0
  152. package/node_modules/better-sqlite3/src/util/helpers.cpp +109 -0
  153. package/node_modules/better-sqlite3/src/util/macros.cpp +63 -0
  154. package/node_modules/better-sqlite3/src/util/query-macros.cpp +71 -0
  155. package/node_modules/better-sqlite3/src/util/row-builder.cpp +49 -0
  156. package/node_modules/events-universal/LICENSE +201 -0
  157. package/node_modules/events-universal/README.md +17 -0
  158. package/node_modules/events-universal/bare.js +1 -0
  159. package/node_modules/events-universal/default.js +1 -0
  160. package/node_modules/events-universal/index.js +1 -0
  161. package/node_modules/events-universal/package.json +39 -0
  162. package/node_modules/events-universal/react-native.js +1 -0
  163. package/node_modules/{fs-constants → fast-fifo}/LICENSE +1 -1
  164. package/node_modules/fast-fifo/README.md +78 -0
  165. package/node_modules/fast-fifo/fixed-size.js +39 -0
  166. package/node_modules/fast-fifo/index.js +48 -0
  167. package/node_modules/fast-fifo/package.json +28 -0
  168. package/node_modules/{base64-js → streamx}/LICENSE +1 -1
  169. package/node_modules/streamx/README.md +489 -0
  170. package/node_modules/streamx/index.js +1184 -0
  171. package/node_modules/streamx/package.json +34 -0
  172. package/node_modules/tar-fs/README.md +23 -34
  173. package/node_modules/tar-fs/index.js +211 -184
  174. package/node_modules/tar-fs/package.json +27 -7
  175. package/node_modules/tar-stream/README.md +34 -19
  176. package/node_modules/tar-stream/constants.js +14 -0
  177. package/node_modules/tar-stream/extract.js +341 -192
  178. package/node_modules/tar-stream/headers.js +201 -175
  179. package/node_modules/tar-stream/pack.js +226 -194
  180. package/node_modules/tar-stream/package.json +23 -46
  181. package/node_modules/text-decoder/LICENSE +201 -0
  182. package/node_modules/text-decoder/README.md +36 -0
  183. package/node_modules/text-decoder/index.js +64 -0
  184. package/node_modules/text-decoder/lib/browser-decoder.js +17 -0
  185. package/node_modules/text-decoder/lib/pass-through-decoder.js +19 -0
  186. package/node_modules/text-decoder/lib/utf8-decoder.js +104 -0
  187. package/node_modules/text-decoder/package.json +38 -0
  188. package/package.json +2 -2
  189. package/proto/cline/account.proto +10 -8
  190. package/proto/cline/browser.proto +3 -1
  191. package/proto/cline/checkpoints.proto +5 -3
  192. package/proto/cline/commands.proto +4 -2
  193. package/proto/cline/common.proto +5 -7
  194. package/proto/cline/dictation.proto +3 -1
  195. package/proto/cline/file.proto +36 -34
  196. package/proto/cline/hooks.proto +3 -2
  197. package/proto/cline/mcp.proto +6 -4
  198. package/proto/cline/models.proto +189 -19
  199. package/proto/cline/oca_account.proto +6 -7
  200. package/proto/cline/slash.proto +3 -1
  201. package/proto/cline/state.proto +147 -292
  202. package/proto/cline/task.proto +4 -2
  203. package/proto/cline/ui.proto +25 -24
  204. package/proto/cline/web.proto +3 -1
  205. package/proto/descriptor_set.pb +0 -0
  206. package/proto/host/diff.proto +5 -4
  207. package/proto/host/env.proto +8 -7
  208. package/proto/host/testing.proto +3 -3
  209. package/proto/host/window.proto +2 -2
  210. package/proto/host/workspace.proto +24 -11
  211. package/node_modules/base64-js/README.md +0 -34
  212. package/node_modules/base64-js/base64js.min.js +0 -1
  213. package/node_modules/base64-js/index.d.ts +0 -3
  214. package/node_modules/base64-js/index.js +0 -150
  215. package/node_modules/base64-js/package.json +0 -47
  216. package/node_modules/better-sqlite3/src/better_sqlite3.hpp +0 -1036
  217. package/node_modules/bl/.travis.yml +0 -17
  218. package/node_modules/bl/BufferList.js +0 -396
  219. package/node_modules/bl/LICENSE.md +0 -13
  220. package/node_modules/bl/README.md +0 -247
  221. package/node_modules/bl/bl.js +0 -84
  222. package/node_modules/bl/package.json +0 -37
  223. package/node_modules/bl/test/convert.js +0 -21
  224. package/node_modules/bl/test/indexOf.js +0 -492
  225. package/node_modules/bl/test/isBufferList.js +0 -32
  226. package/node_modules/bl/test/test.js +0 -869
  227. package/node_modules/buffer/AUTHORS.md +0 -70
  228. package/node_modules/buffer/LICENSE +0 -21
  229. package/node_modules/buffer/README.md +0 -410
  230. package/node_modules/buffer/index.d.ts +0 -186
  231. package/node_modules/buffer/index.js +0 -1817
  232. package/node_modules/buffer/package.json +0 -96
  233. package/node_modules/chownr/LICENSE +0 -15
  234. package/node_modules/chownr/README.md +0 -3
  235. package/node_modules/chownr/chownr.js +0 -167
  236. package/node_modules/chownr/package.json +0 -29
  237. package/node_modules/fs-constants/README.md +0 -26
  238. package/node_modules/fs-constants/browser.js +0 -1
  239. package/node_modules/fs-constants/index.js +0 -1
  240. package/node_modules/fs-constants/package.json +0 -19
  241. package/node_modules/ieee754/LICENSE +0 -11
  242. package/node_modules/ieee754/README.md +0 -51
  243. package/node_modules/ieee754/index.d.ts +0 -10
  244. package/node_modules/ieee754/index.js +0 -85
  245. package/node_modules/ieee754/package.json +0 -52
  246. package/node_modules/inherits/LICENSE +0 -16
  247. package/node_modules/inherits/README.md +0 -42
  248. package/node_modules/inherits/inherits.js +0 -9
  249. package/node_modules/inherits/inherits_browser.js +0 -27
  250. package/node_modules/inherits/package.json +0 -29
  251. package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  252. package/node_modules/readable-stream/GOVERNANCE.md +0 -136
  253. package/node_modules/readable-stream/LICENSE +0 -47
  254. package/node_modules/readable-stream/README.md +0 -106
  255. package/node_modules/readable-stream/errors-browser.js +0 -127
  256. package/node_modules/readable-stream/errors.js +0 -116
  257. package/node_modules/readable-stream/experimentalWarning.js +0 -17
  258. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
  259. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
  260. package/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
  261. package/node_modules/readable-stream/lib/_stream_transform.js +0 -190
  262. package/node_modules/readable-stream/lib/_stream_writable.js +0 -641
  263. package/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
  264. package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
  265. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
  266. package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
  267. package/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  268. package/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
  269. package/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
  270. package/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
  271. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  272. package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  273. package/node_modules/readable-stream/package.json +0 -68
  274. package/node_modules/readable-stream/readable-browser.js +0 -9
  275. package/node_modules/readable-stream/readable.js +0 -16
  276. package/node_modules/string_decoder/LICENSE +0 -48
  277. package/node_modules/string_decoder/README.md +0 -47
  278. package/node_modules/string_decoder/lib/string_decoder.js +0 -296
  279. package/node_modules/string_decoder/package.json +0 -34
  280. package/node_modules/tar-fs/.travis.yml +0 -6
  281. package/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
  282. package/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
  283. package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  284. package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  285. package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  286. package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  287. package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  288. package/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  289. package/node_modules/tar-fs/test/fixtures/e/file +0 -0
  290. package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  291. package/node_modules/tar-fs/test/index.js +0 -346
  292. package/node_modules/tar-stream/sandbox.js +0 -11
  293. package/node_modules/util-deprecate/History.md +0 -16
  294. package/node_modules/util-deprecate/LICENSE +0 -24
  295. package/node_modules/util-deprecate/README.md +0 -53
  296. package/node_modules/util-deprecate/browser.js +0 -67
  297. package/node_modules/util-deprecate/node.js +0 -6
  298. package/node_modules/util-deprecate/package.json +0 -27
  299. package/test-startup.sh +0 -14
@@ -1,84 +0,0 @@
1
- 'use strict'
2
-
3
- const DuplexStream = require('readable-stream').Duplex
4
- const inherits = require('inherits')
5
- const BufferList = require('./BufferList')
6
-
7
- function BufferListStream (callback) {
8
- if (!(this instanceof BufferListStream)) {
9
- return new BufferListStream(callback)
10
- }
11
-
12
- if (typeof callback === 'function') {
13
- this._callback = callback
14
-
15
- const piper = function piper (err) {
16
- if (this._callback) {
17
- this._callback(err)
18
- this._callback = null
19
- }
20
- }.bind(this)
21
-
22
- this.on('pipe', function onPipe (src) {
23
- src.on('error', piper)
24
- })
25
- this.on('unpipe', function onUnpipe (src) {
26
- src.removeListener('error', piper)
27
- })
28
-
29
- callback = null
30
- }
31
-
32
- BufferList._init.call(this, callback)
33
- DuplexStream.call(this)
34
- }
35
-
36
- inherits(BufferListStream, DuplexStream)
37
- Object.assign(BufferListStream.prototype, BufferList.prototype)
38
-
39
- BufferListStream.prototype._new = function _new (callback) {
40
- return new BufferListStream(callback)
41
- }
42
-
43
- BufferListStream.prototype._write = function _write (buf, encoding, callback) {
44
- this._appendBuffer(buf)
45
-
46
- if (typeof callback === 'function') {
47
- callback()
48
- }
49
- }
50
-
51
- BufferListStream.prototype._read = function _read (size) {
52
- if (!this.length) {
53
- return this.push(null)
54
- }
55
-
56
- size = Math.min(size, this.length)
57
- this.push(this.slice(0, size))
58
- this.consume(size)
59
- }
60
-
61
- BufferListStream.prototype.end = function end (chunk) {
62
- DuplexStream.prototype.end.call(this, chunk)
63
-
64
- if (this._callback) {
65
- this._callback(null, this.slice())
66
- this._callback = null
67
- }
68
- }
69
-
70
- BufferListStream.prototype._destroy = function _destroy (err, cb) {
71
- this._bufs.length = 0
72
- this.length = 0
73
- cb(err)
74
- }
75
-
76
- BufferListStream.prototype._isBufferList = function _isBufferList (b) {
77
- return b instanceof BufferListStream || b instanceof BufferList || BufferListStream.isBufferList(b)
78
- }
79
-
80
- BufferListStream.isBufferList = BufferList.isBufferList
81
-
82
- module.exports = BufferListStream
83
- module.exports.BufferListStream = BufferListStream
84
- module.exports.BufferList = BufferList
@@ -1,37 +0,0 @@
1
- {
2
- "name": "bl",
3
- "version": "4.1.0",
4
- "description": "Buffer List: collect buffers and access with a standard readable Buffer interface, streamable too!",
5
- "license": "MIT",
6
- "main": "bl.js",
7
- "scripts": {
8
- "lint": "standard *.js test/*.js",
9
- "test": "npm run lint && node test/test.js | faucet"
10
- },
11
- "repository": {
12
- "type": "git",
13
- "url": "https://github.com/rvagg/bl.git"
14
- },
15
- "homepage": "https://github.com/rvagg/bl",
16
- "authors": [
17
- "Rod Vagg <rod@vagg.org> (https://github.com/rvagg)",
18
- "Matteo Collina <matteo.collina@gmail.com> (https://github.com/mcollina)",
19
- "Jarett Cruger <jcrugzz@gmail.com> (https://github.com/jcrugzz)"
20
- ],
21
- "keywords": [
22
- "buffer",
23
- "buffers",
24
- "stream",
25
- "awesomesauce"
26
- ],
27
- "dependencies": {
28
- "buffer": "^5.5.0",
29
- "inherits": "^2.0.4",
30
- "readable-stream": "^3.4.0"
31
- },
32
- "devDependencies": {
33
- "faucet": "~0.0.1",
34
- "standard": "^14.3.0",
35
- "tape": "^4.11.0"
36
- }
37
- }
@@ -1,21 +0,0 @@
1
- 'use strict'
2
-
3
- const tape = require('tape')
4
- const { BufferList, BufferListStream } = require('../')
5
- const { Buffer } = require('buffer')
6
-
7
- tape('convert from BufferList to BufferListStream', (t) => {
8
- const data = Buffer.from(`TEST-${Date.now()}`)
9
- const bl = new BufferList(data)
10
- const bls = new BufferListStream(bl)
11
- t.ok(bl.slice().equals(bls.slice()))
12
- t.end()
13
- })
14
-
15
- tape('convert from BufferListStream to BufferList', (t) => {
16
- const data = Buffer.from(`TEST-${Date.now()}`)
17
- const bls = new BufferListStream(data)
18
- const bl = new BufferList(bls)
19
- t.ok(bl.slice().equals(bls.slice()))
20
- t.end()
21
- })
@@ -1,492 +0,0 @@
1
- 'use strict'
2
-
3
- const tape = require('tape')
4
- const BufferList = require('../')
5
- const { Buffer } = require('buffer')
6
-
7
- tape('indexOf single byte needle', (t) => {
8
- const bl = new BufferList(['abcdefg', 'abcdefg', '12345'])
9
-
10
- t.equal(bl.indexOf('e'), 4)
11
- t.equal(bl.indexOf('e', 5), 11)
12
- t.equal(bl.indexOf('e', 12), -1)
13
- t.equal(bl.indexOf('5'), 18)
14
-
15
- t.end()
16
- })
17
-
18
- tape('indexOf multiple byte needle', (t) => {
19
- const bl = new BufferList(['abcdefg', 'abcdefg'])
20
-
21
- t.equal(bl.indexOf('ef'), 4)
22
- t.equal(bl.indexOf('ef', 5), 11)
23
-
24
- t.end()
25
- })
26
-
27
- tape('indexOf multiple byte needles across buffer boundaries', (t) => {
28
- const bl = new BufferList(['abcdefg', 'abcdefg'])
29
-
30
- t.equal(bl.indexOf('fgabc'), 5)
31
-
32
- t.end()
33
- })
34
-
35
- tape('indexOf takes a Uint8Array search', (t) => {
36
- const bl = new BufferList(['abcdefg', 'abcdefg'])
37
- const search = new Uint8Array([102, 103, 97, 98, 99]) // fgabc
38
-
39
- t.equal(bl.indexOf(search), 5)
40
-
41
- t.end()
42
- })
43
-
44
- tape('indexOf takes a buffer list search', (t) => {
45
- const bl = new BufferList(['abcdefg', 'abcdefg'])
46
- const search = new BufferList('fgabc')
47
-
48
- t.equal(bl.indexOf(search), 5)
49
-
50
- t.end()
51
- })
52
-
53
- tape('indexOf a zero byte needle', (t) => {
54
- const b = new BufferList('abcdef')
55
- const bufEmpty = Buffer.from('')
56
-
57
- t.equal(b.indexOf(''), 0)
58
- t.equal(b.indexOf('', 1), 1)
59
- t.equal(b.indexOf('', b.length + 1), b.length)
60
- t.equal(b.indexOf('', Infinity), b.length)
61
- t.equal(b.indexOf(bufEmpty), 0)
62
- t.equal(b.indexOf(bufEmpty, 1), 1)
63
- t.equal(b.indexOf(bufEmpty, b.length + 1), b.length)
64
- t.equal(b.indexOf(bufEmpty, Infinity), b.length)
65
-
66
- t.end()
67
- })
68
-
69
- tape('indexOf buffers smaller and larger than the needle', (t) => {
70
- const bl = new BufferList(['abcdefg', 'a', 'bcdefg', 'a', 'bcfgab'])
71
-
72
- t.equal(bl.indexOf('fgabc'), 5)
73
- t.equal(bl.indexOf('fgabc', 6), 12)
74
- t.equal(bl.indexOf('fgabc', 13), -1)
75
-
76
- t.end()
77
- })
78
-
79
- // only present in node 6+
80
- ;(process.version.substr(1).split('.')[0] >= 6) && tape('indexOf latin1 and binary encoding', (t) => {
81
- const b = new BufferList('abcdef')
82
-
83
- // test latin1 encoding
84
- t.equal(
85
- new BufferList(Buffer.from(b.toString('latin1'), 'latin1'))
86
- .indexOf('d', 0, 'latin1'),
87
- 3
88
- )
89
- t.equal(
90
- new BufferList(Buffer.from(b.toString('latin1'), 'latin1'))
91
- .indexOf(Buffer.from('d', 'latin1'), 0, 'latin1'),
92
- 3
93
- )
94
- t.equal(
95
- new BufferList(Buffer.from('aa\u00e8aa', 'latin1'))
96
- .indexOf('\u00e8', 'latin1'),
97
- 2
98
- )
99
- t.equal(
100
- new BufferList(Buffer.from('\u00e8', 'latin1'))
101
- .indexOf('\u00e8', 'latin1'),
102
- 0
103
- )
104
- t.equal(
105
- new BufferList(Buffer.from('\u00e8', 'latin1'))
106
- .indexOf(Buffer.from('\u00e8', 'latin1'), 'latin1'),
107
- 0
108
- )
109
-
110
- // test binary encoding
111
- t.equal(
112
- new BufferList(Buffer.from(b.toString('binary'), 'binary'))
113
- .indexOf('d', 0, 'binary'),
114
- 3
115
- )
116
- t.equal(
117
- new BufferList(Buffer.from(b.toString('binary'), 'binary'))
118
- .indexOf(Buffer.from('d', 'binary'), 0, 'binary'),
119
- 3
120
- )
121
- t.equal(
122
- new BufferList(Buffer.from('aa\u00e8aa', 'binary'))
123
- .indexOf('\u00e8', 'binary'),
124
- 2
125
- )
126
- t.equal(
127
- new BufferList(Buffer.from('\u00e8', 'binary'))
128
- .indexOf('\u00e8', 'binary'),
129
- 0
130
- )
131
- t.equal(
132
- new BufferList(Buffer.from('\u00e8', 'binary'))
133
- .indexOf(Buffer.from('\u00e8', 'binary'), 'binary'),
134
- 0
135
- )
136
-
137
- t.end()
138
- })
139
-
140
- tape('indexOf the entire nodejs10 buffer test suite', (t) => {
141
- const b = new BufferList('abcdef')
142
- const bufA = Buffer.from('a')
143
- const bufBc = Buffer.from('bc')
144
- const bufF = Buffer.from('f')
145
- const bufZ = Buffer.from('z')
146
-
147
- const stringComparison = 'abcdef'
148
-
149
- t.equal(b.indexOf('a'), 0)
150
- t.equal(b.indexOf('a', 1), -1)
151
- t.equal(b.indexOf('a', -1), -1)
152
- t.equal(b.indexOf('a', -4), -1)
153
- t.equal(b.indexOf('a', -b.length), 0)
154
- t.equal(b.indexOf('a', NaN), 0)
155
- t.equal(b.indexOf('a', -Infinity), 0)
156
- t.equal(b.indexOf('a', Infinity), -1)
157
- t.equal(b.indexOf('bc'), 1)
158
- t.equal(b.indexOf('bc', 2), -1)
159
- t.equal(b.indexOf('bc', -1), -1)
160
- t.equal(b.indexOf('bc', -3), -1)
161
- t.equal(b.indexOf('bc', -5), 1)
162
- t.equal(b.indexOf('bc', NaN), 1)
163
- t.equal(b.indexOf('bc', -Infinity), 1)
164
- t.equal(b.indexOf('bc', Infinity), -1)
165
- t.equal(b.indexOf('f'), b.length - 1)
166
- t.equal(b.indexOf('z'), -1)
167
-
168
- // empty search tests
169
- t.equal(b.indexOf(bufA), 0)
170
- t.equal(b.indexOf(bufA, 1), -1)
171
- t.equal(b.indexOf(bufA, -1), -1)
172
- t.equal(b.indexOf(bufA, -4), -1)
173
- t.equal(b.indexOf(bufA, -b.length), 0)
174
- t.equal(b.indexOf(bufA, NaN), 0)
175
- t.equal(b.indexOf(bufA, -Infinity), 0)
176
- t.equal(b.indexOf(bufA, Infinity), -1)
177
- t.equal(b.indexOf(bufBc), 1)
178
- t.equal(b.indexOf(bufBc, 2), -1)
179
- t.equal(b.indexOf(bufBc, -1), -1)
180
- t.equal(b.indexOf(bufBc, -3), -1)
181
- t.equal(b.indexOf(bufBc, -5), 1)
182
- t.equal(b.indexOf(bufBc, NaN), 1)
183
- t.equal(b.indexOf(bufBc, -Infinity), 1)
184
- t.equal(b.indexOf(bufBc, Infinity), -1)
185
- t.equal(b.indexOf(bufF), b.length - 1)
186
- t.equal(b.indexOf(bufZ), -1)
187
- t.equal(b.indexOf(0x61), 0)
188
- t.equal(b.indexOf(0x61, 1), -1)
189
- t.equal(b.indexOf(0x61, -1), -1)
190
- t.equal(b.indexOf(0x61, -4), -1)
191
- t.equal(b.indexOf(0x61, -b.length), 0)
192
- t.equal(b.indexOf(0x61, NaN), 0)
193
- t.equal(b.indexOf(0x61, -Infinity), 0)
194
- t.equal(b.indexOf(0x61, Infinity), -1)
195
- t.equal(b.indexOf(0x0), -1)
196
-
197
- // test offsets
198
- t.equal(b.indexOf('d', 2), 3)
199
- t.equal(b.indexOf('f', 5), 5)
200
- t.equal(b.indexOf('f', -1), 5)
201
- t.equal(b.indexOf('f', 6), -1)
202
-
203
- t.equal(b.indexOf(Buffer.from('d'), 2), 3)
204
- t.equal(b.indexOf(Buffer.from('f'), 5), 5)
205
- t.equal(b.indexOf(Buffer.from('f'), -1), 5)
206
- t.equal(b.indexOf(Buffer.from('f'), 6), -1)
207
-
208
- t.equal(Buffer.from('ff').indexOf(Buffer.from('f'), 1, 'ucs2'), -1)
209
-
210
- // test invalid and uppercase encoding
211
- t.equal(b.indexOf('b', 'utf8'), 1)
212
- t.equal(b.indexOf('b', 'UTF8'), 1)
213
- t.equal(b.indexOf('62', 'HEX'), 1)
214
- t.throws(() => b.indexOf('bad', 'enc'), TypeError)
215
-
216
- // test hex encoding
217
- t.equal(
218
- Buffer.from(b.toString('hex'), 'hex')
219
- .indexOf('64', 0, 'hex'),
220
- 3
221
- )
222
- t.equal(
223
- Buffer.from(b.toString('hex'), 'hex')
224
- .indexOf(Buffer.from('64', 'hex'), 0, 'hex'),
225
- 3
226
- )
227
-
228
- // test base64 encoding
229
- t.equal(
230
- Buffer.from(b.toString('base64'), 'base64')
231
- .indexOf('ZA==', 0, 'base64'),
232
- 3
233
- )
234
- t.equal(
235
- Buffer.from(b.toString('base64'), 'base64')
236
- .indexOf(Buffer.from('ZA==', 'base64'), 0, 'base64'),
237
- 3
238
- )
239
-
240
- // test ascii encoding
241
- t.equal(
242
- Buffer.from(b.toString('ascii'), 'ascii')
243
- .indexOf('d', 0, 'ascii'),
244
- 3
245
- )
246
- t.equal(
247
- Buffer.from(b.toString('ascii'), 'ascii')
248
- .indexOf(Buffer.from('d', 'ascii'), 0, 'ascii'),
249
- 3
250
- )
251
-
252
- // test optional offset with passed encoding
253
- t.equal(Buffer.from('aaaa0').indexOf('30', 'hex'), 4)
254
- t.equal(Buffer.from('aaaa00a').indexOf('3030', 'hex'), 4)
255
-
256
- {
257
- // test usc2 encoding
258
- const twoByteString = Buffer.from('\u039a\u0391\u03a3\u03a3\u0395', 'ucs2')
259
-
260
- t.equal(8, twoByteString.indexOf('\u0395', 4, 'ucs2'))
261
- t.equal(6, twoByteString.indexOf('\u03a3', -4, 'ucs2'))
262
- t.equal(4, twoByteString.indexOf('\u03a3', -6, 'ucs2'))
263
- t.equal(4, twoByteString.indexOf(
264
- Buffer.from('\u03a3', 'ucs2'), -6, 'ucs2'))
265
- t.equal(-1, twoByteString.indexOf('\u03a3', -2, 'ucs2'))
266
- }
267
-
268
- const mixedByteStringUcs2 =
269
- Buffer.from('\u039a\u0391abc\u03a3\u03a3\u0395', 'ucs2')
270
-
271
- t.equal(6, mixedByteStringUcs2.indexOf('bc', 0, 'ucs2'))
272
- t.equal(10, mixedByteStringUcs2.indexOf('\u03a3', 0, 'ucs2'))
273
- t.equal(-1, mixedByteStringUcs2.indexOf('\u0396', 0, 'ucs2'))
274
-
275
- t.equal(
276
- 6, mixedByteStringUcs2.indexOf(Buffer.from('bc', 'ucs2'), 0, 'ucs2'))
277
- t.equal(
278
- 10, mixedByteStringUcs2.indexOf(Buffer.from('\u03a3', 'ucs2'), 0, 'ucs2'))
279
- t.equal(
280
- -1, mixedByteStringUcs2.indexOf(Buffer.from('\u0396', 'ucs2'), 0, 'ucs2'))
281
-
282
- {
283
- const twoByteString = Buffer.from('\u039a\u0391\u03a3\u03a3\u0395', 'ucs2')
284
-
285
- // Test single char pattern
286
- t.equal(0, twoByteString.indexOf('\u039a', 0, 'ucs2'))
287
- let index = twoByteString.indexOf('\u0391', 0, 'ucs2')
288
- t.equal(2, index, `Alpha - at index ${index}`)
289
- index = twoByteString.indexOf('\u03a3', 0, 'ucs2')
290
- t.equal(4, index, `First Sigma - at index ${index}`)
291
- index = twoByteString.indexOf('\u03a3', 6, 'ucs2')
292
- t.equal(6, index, `Second Sigma - at index ${index}`)
293
- index = twoByteString.indexOf('\u0395', 0, 'ucs2')
294
- t.equal(8, index, `Epsilon - at index ${index}`)
295
- index = twoByteString.indexOf('\u0392', 0, 'ucs2')
296
- t.equal(-1, index, `Not beta - at index ${index}`)
297
-
298
- // Test multi-char pattern
299
- index = twoByteString.indexOf('\u039a\u0391', 0, 'ucs2')
300
- t.equal(0, index, `Lambda Alpha - at index ${index}`)
301
- index = twoByteString.indexOf('\u0391\u03a3', 0, 'ucs2')
302
- t.equal(2, index, `Alpha Sigma - at index ${index}`)
303
- index = twoByteString.indexOf('\u03a3\u03a3', 0, 'ucs2')
304
- t.equal(4, index, `Sigma Sigma - at index ${index}`)
305
- index = twoByteString.indexOf('\u03a3\u0395', 0, 'ucs2')
306
- t.equal(6, index, `Sigma Epsilon - at index ${index}`)
307
- }
308
-
309
- const mixedByteStringUtf8 = Buffer.from('\u039a\u0391abc\u03a3\u03a3\u0395')
310
-
311
- t.equal(5, mixedByteStringUtf8.indexOf('bc'))
312
- t.equal(5, mixedByteStringUtf8.indexOf('bc', 5))
313
- t.equal(5, mixedByteStringUtf8.indexOf('bc', -8))
314
- t.equal(7, mixedByteStringUtf8.indexOf('\u03a3'))
315
- t.equal(-1, mixedByteStringUtf8.indexOf('\u0396'))
316
-
317
- // Test complex string indexOf algorithms. Only trigger for long strings.
318
- // Long string that isn't a simple repeat of a shorter string.
319
- let longString = 'A'
320
- for (let i = 66; i < 76; i++) { // from 'B' to 'K'
321
- longString = longString + String.fromCharCode(i) + longString
322
- }
323
-
324
- const longBufferString = Buffer.from(longString)
325
-
326
- // pattern of 15 chars, repeated every 16 chars in long
327
- let pattern = 'ABACABADABACABA'
328
- for (let i = 0; i < longBufferString.length - pattern.length; i += 7) {
329
- const index = longBufferString.indexOf(pattern, i)
330
- t.equal((i + 15) & ~0xf, index,
331
- `Long ABACABA...-string at index ${i}`)
332
- }
333
-
334
- let index = longBufferString.indexOf('AJABACA')
335
- t.equal(510, index, `Long AJABACA, First J - at index ${index}`)
336
- index = longBufferString.indexOf('AJABACA', 511)
337
- t.equal(1534, index, `Long AJABACA, Second J - at index ${index}`)
338
-
339
- pattern = 'JABACABADABACABA'
340
- index = longBufferString.indexOf(pattern)
341
- t.equal(511, index, `Long JABACABA..., First J - at index ${index}`)
342
- index = longBufferString.indexOf(pattern, 512)
343
- t.equal(
344
- 1535, index, `Long JABACABA..., Second J - at index ${index}`)
345
-
346
- // Search for a non-ASCII string in a pure ASCII string.
347
- const asciiString = Buffer.from(
348
- 'somethingnotatallsinisterwhichalsoworks')
349
- t.equal(-1, asciiString.indexOf('\x2061'))
350
- t.equal(3, asciiString.indexOf('eth', 0))
351
-
352
- // Search in string containing many non-ASCII chars.
353
- const allCodePoints = []
354
- for (let i = 0; i < 65536; i++) {
355
- allCodePoints[i] = i
356
- }
357
-
358
- const allCharsString = String.fromCharCode.apply(String, allCodePoints)
359
- const allCharsBufferUtf8 = Buffer.from(allCharsString)
360
- const allCharsBufferUcs2 = Buffer.from(allCharsString, 'ucs2')
361
-
362
- // Search for string long enough to trigger complex search with ASCII pattern
363
- // and UC16 subject.
364
- t.equal(-1, allCharsBufferUtf8.indexOf('notfound'))
365
- t.equal(-1, allCharsBufferUcs2.indexOf('notfound'))
366
-
367
- // Needle is longer than haystack, but only because it's encoded as UTF-16
368
- t.equal(Buffer.from('aaaa').indexOf('a'.repeat(4), 'ucs2'), -1)
369
-
370
- t.equal(Buffer.from('aaaa').indexOf('a'.repeat(4), 'utf8'), 0)
371
- t.equal(Buffer.from('aaaa').indexOf('你好', 'ucs2'), -1)
372
-
373
- // Haystack has odd length, but the needle is UCS2.
374
- t.equal(Buffer.from('aaaaa').indexOf('b', 'ucs2'), -1)
375
-
376
- {
377
- // Find substrings in Utf8.
378
- const lengths = [1, 3, 15] // Single char, simple and complex.
379
- const indices = [0x5, 0x60, 0x400, 0x680, 0x7ee, 0xFF02, 0x16610, 0x2f77b]
380
- for (let lengthIndex = 0; lengthIndex < lengths.length; lengthIndex++) {
381
- for (let i = 0; i < indices.length; i++) {
382
- const index = indices[i]
383
- let length = lengths[lengthIndex]
384
-
385
- if (index + length > 0x7F) {
386
- length = 2 * length
387
- }
388
-
389
- if (index + length > 0x7FF) {
390
- length = 3 * length
391
- }
392
-
393
- if (index + length > 0xFFFF) {
394
- length = 4 * length
395
- }
396
-
397
- const patternBufferUtf8 = allCharsBufferUtf8.slice(index, index + length)
398
- t.equal(index, allCharsBufferUtf8.indexOf(patternBufferUtf8))
399
-
400
- const patternStringUtf8 = patternBufferUtf8.toString()
401
- t.equal(index, allCharsBufferUtf8.indexOf(patternStringUtf8))
402
- }
403
- }
404
- }
405
-
406
- {
407
- // Find substrings in Usc2.
408
- const lengths = [2, 4, 16] // Single char, simple and complex.
409
- const indices = [0x5, 0x65, 0x105, 0x205, 0x285, 0x2005, 0x2085, 0xfff0]
410
-
411
- for (let lengthIndex = 0; lengthIndex < lengths.length; lengthIndex++) {
412
- for (let i = 0; i < indices.length; i++) {
413
- const index = indices[i] * 2
414
- const length = lengths[lengthIndex]
415
-
416
- const patternBufferUcs2 =
417
- allCharsBufferUcs2.slice(index, index + length)
418
- t.equal(
419
- index, allCharsBufferUcs2.indexOf(patternBufferUcs2, 0, 'ucs2'))
420
-
421
- const patternStringUcs2 = patternBufferUcs2.toString('ucs2')
422
- t.equal(
423
- index, allCharsBufferUcs2.indexOf(patternStringUcs2, 0, 'ucs2'))
424
- }
425
- }
426
- }
427
-
428
- [
429
- () => {},
430
- {},
431
- []
432
- ].forEach((val) => {
433
- t.throws(() => b.indexOf(val), TypeError, `"${JSON.stringify(val)}" should throw`)
434
- })
435
-
436
- // Test weird offset arguments.
437
- // The following offsets coerce to NaN or 0, searching the whole Buffer
438
- t.equal(b.indexOf('b', undefined), 1)
439
- t.equal(b.indexOf('b', {}), 1)
440
- t.equal(b.indexOf('b', 0), 1)
441
- t.equal(b.indexOf('b', null), 1)
442
- t.equal(b.indexOf('b', []), 1)
443
-
444
- // The following offset coerces to 2, in other words +[2] === 2
445
- t.equal(b.indexOf('b', [2]), -1)
446
-
447
- // Behavior should match String.indexOf()
448
- t.equal(
449
- b.indexOf('b', undefined),
450
- stringComparison.indexOf('b', undefined))
451
- t.equal(
452
- b.indexOf('b', {}),
453
- stringComparison.indexOf('b', {}))
454
- t.equal(
455
- b.indexOf('b', 0),
456
- stringComparison.indexOf('b', 0))
457
- t.equal(
458
- b.indexOf('b', null),
459
- stringComparison.indexOf('b', null))
460
- t.equal(
461
- b.indexOf('b', []),
462
- stringComparison.indexOf('b', []))
463
- t.equal(
464
- b.indexOf('b', [2]),
465
- stringComparison.indexOf('b', [2]))
466
-
467
- // test truncation of Number arguments to uint8
468
- {
469
- const buf = Buffer.from('this is a test')
470
-
471
- t.equal(buf.indexOf(0x6973), 3)
472
- t.equal(buf.indexOf(0x697320), 4)
473
- t.equal(buf.indexOf(0x69732069), 2)
474
- t.equal(buf.indexOf(0x697374657374), 0)
475
- t.equal(buf.indexOf(0x69737374), 0)
476
- t.equal(buf.indexOf(0x69737465), 11)
477
- t.equal(buf.indexOf(0x69737465), 11)
478
- t.equal(buf.indexOf(-140), 0)
479
- t.equal(buf.indexOf(-152), 1)
480
- t.equal(buf.indexOf(0xff), -1)
481
- t.equal(buf.indexOf(0xffff), -1)
482
- }
483
-
484
- // Test that Uint8Array arguments are okay.
485
- {
486
- const needle = new Uint8Array([0x66, 0x6f, 0x6f])
487
- const haystack = new BufferList(Buffer.from('a foo b foo'))
488
- t.equal(haystack.indexOf(needle), 2)
489
- }
490
-
491
- t.end()
492
- })
@@ -1,32 +0,0 @@
1
- 'use strict'
2
-
3
- const tape = require('tape')
4
- const { BufferList, BufferListStream } = require('../')
5
- const { Buffer } = require('buffer')
6
-
7
- tape('isBufferList positives', (t) => {
8
- t.ok(BufferList.isBufferList(new BufferList()))
9
- t.ok(BufferList.isBufferList(new BufferListStream()))
10
-
11
- t.end()
12
- })
13
-
14
- tape('isBufferList negatives', (t) => {
15
- const types = [
16
- null,
17
- undefined,
18
- NaN,
19
- true,
20
- false,
21
- {},
22
- [],
23
- Buffer.alloc(0),
24
- [Buffer.alloc(0)]
25
- ]
26
-
27
- for (const obj of types) {
28
- t.notOk(BufferList.isBufferList(obj))
29
- }
30
-
31
- t.end()
32
- })