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
@@ -0,0 +1,32 @@
1
+ module.exports = class EventEmitterError extends Error {
2
+ constructor(msg, code, fn = EventEmitterError, opts) {
3
+ super(`${code}: ${msg}`, opts)
4
+ this.code = code
5
+
6
+ if (Error.captureStackTrace) {
7
+ Error.captureStackTrace(this, fn)
8
+ }
9
+ }
10
+
11
+ get name() {
12
+ return 'EventEmitterError'
13
+ }
14
+
15
+ static OPERATION_ABORTED(cause, msg = 'Operation aborted') {
16
+ return new EventEmitterError(
17
+ msg,
18
+ 'OPERATION_ABORTED',
19
+ EventEmitterError.OPERATION_ABORTED,
20
+ { cause }
21
+ )
22
+ }
23
+
24
+ static UNHANDLED_ERROR(cause, msg = 'Unhandled error') {
25
+ return new EventEmitterError(
26
+ msg,
27
+ 'UNHANDLED_ERROR',
28
+ EventEmitterError.UNHANDLED_ERROR,
29
+ { cause }
30
+ )
31
+ }
32
+ }
@@ -0,0 +1,61 @@
1
+ {
2
+ "name": "bare-events",
3
+ "version": "2.8.0",
4
+ "description": "Event emitters for JavaScript",
5
+ "exports": {
6
+ "./package": "./package.json",
7
+ ".": {
8
+ "types": "./index.d.ts",
9
+ "default": "./index.js"
10
+ },
11
+ "./global": {
12
+ "types": "./global.d.ts",
13
+ "default": "./global.js"
14
+ },
15
+ "./web": {
16
+ "types": "./web.d.ts",
17
+ "default": "./web.js"
18
+ },
19
+ "./errors": "./lib/errors.js"
20
+ },
21
+ "files": [
22
+ "index.js",
23
+ "index.d.ts",
24
+ "global.js",
25
+ "global.d.ts",
26
+ "web.js",
27
+ "web.d.ts",
28
+ "lib"
29
+ ],
30
+ "scripts": {
31
+ "test": "npm run lint && npm run test:bare && npm run test:node",
32
+ "test:bare": "bare test.js",
33
+ "test:node": "node test.js",
34
+ "lint": "prettier . --check"
35
+ },
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "git+https://github.com/holepunchto/bare-events.git"
39
+ },
40
+ "author": "Holepunch",
41
+ "license": "Apache-2.0",
42
+ "bugs": {
43
+ "url": "https://github.com/holepunchto/bare-events/issues"
44
+ },
45
+ "homepage": "https://github.com/holepunchto/bare-events#readme",
46
+ "devDependencies": {
47
+ "bare-abort-controller": "^1.0.0",
48
+ "brittle": "^3.3.2",
49
+ "prettier": "^3.4.2",
50
+ "prettier-config-standard": "^7.0.0",
51
+ "uncaughts": "^1.1.1"
52
+ },
53
+ "peerDependencies": {
54
+ "bare-abort-controller": "*"
55
+ },
56
+ "peerDependenciesMeta": {
57
+ "bare-abort-controller": {
58
+ "optional": true
59
+ }
60
+ }
61
+ }
@@ -0,0 +1,79 @@
1
+ interface AbortSignal extends EventTarget {}
2
+
3
+ export interface EventOptions {
4
+ bubbles?: boolean
5
+ cancelable?: boolean
6
+ composed?: boolean
7
+ }
8
+
9
+ export interface Event {
10
+ readonly type: string
11
+ readonly target: EventTarget | null
12
+ readonly currentTarget: EventTarget | null
13
+ readonly bubbles: boolean
14
+ readonly cancelable: boolean
15
+ readonly composed: boolean
16
+ readonly defaultPrevented: boolean
17
+ readonly isTrusted: boolean
18
+
19
+ preventDefault(): void
20
+ stopPropagation(): void
21
+ stopImmediatePropagation(): void
22
+ }
23
+
24
+ export class Event {
25
+ constructor(type: string, options?: EventOptions)
26
+ }
27
+
28
+ export interface CustomEventOptions<T = any> extends EventOptions {
29
+ detail?: T
30
+ }
31
+
32
+ export interface CustomEvent<T = any> extends Event {
33
+ readonly detail: T
34
+ }
35
+
36
+ export class CustomEvent<T = any> {
37
+ constructor(type: string, options?: CustomEventOptions<T>)
38
+ }
39
+
40
+ export interface AddEventListenerOptions {
41
+ capture?: boolean
42
+ passive?: boolean
43
+ once?: boolean
44
+ signal?: AbortSignal | null
45
+ }
46
+
47
+ export interface RemoveEventListenerOptions {
48
+ capture?: boolean
49
+ }
50
+
51
+ export interface EventTarget {
52
+ addEventListener(
53
+ type: string,
54
+ callback: EventListener,
55
+ options?: AddEventListenerOptions | boolean
56
+ ): void
57
+
58
+ removeEventListener(
59
+ type: string,
60
+ callback: EventListener,
61
+ options?: RemoveEventListenerOptions | boolean
62
+ ): void
63
+
64
+ dispatchEvent(event: Event): boolean
65
+ }
66
+
67
+ export class EventTarget {
68
+ constructor()
69
+ }
70
+
71
+ export type EventListener = EventCallback | EventHandler
72
+
73
+ export interface EventCallback {
74
+ (event: Event): void
75
+ }
76
+
77
+ export interface EventHandler {
78
+ handleEvent(event: Event): void
79
+ }
@@ -0,0 +1,347 @@
1
+ // Event state
2
+ const BUBBLES = 0x1
3
+ const CANCELABLE = 0x2
4
+ const COMPOSED = 0x4
5
+ const CANCELED = 0x8
6
+ const DISPATCH = 0x10
7
+ const STOP = 0x20
8
+
9
+ // EventTarget state
10
+ const CAPTURE = 0x1
11
+ const PASSIVE = 0x2
12
+ const ONCE = 0x4
13
+
14
+ // https://dom.spec.whatwg.org/#event
15
+ class Event {
16
+ // https://dom.spec.whatwg.org/#dom-event-event
17
+ constructor(type, options = {}) {
18
+ const { bubbles = false, cancelable = false, composed = false } = options
19
+
20
+ this._type = type
21
+ this._target = null
22
+ this._state = 0
23
+
24
+ if (bubbles) this._state |= BUBBLES
25
+ if (cancelable) this._state |= CANCELABLE
26
+ if (composed) this._state |= COMPOSED
27
+ }
28
+
29
+ // https://dom.spec.whatwg.org/#dom-event-type
30
+ get type() {
31
+ return this._type
32
+ }
33
+
34
+ // https://dom.spec.whatwg.org/#dom-event-target
35
+ get target() {
36
+ return this._target
37
+ }
38
+
39
+ // https://dom.spec.whatwg.org/#dom-event-currenttarget
40
+ get currentTarget() {
41
+ return null
42
+ }
43
+
44
+ // https://dom.spec.whatwg.org/#dom-event-bubbles
45
+ get bubbles() {
46
+ return (this._state & BUBBLES) !== 0
47
+ }
48
+
49
+ // https://dom.spec.whatwg.org/#dom-event-cancelable
50
+ get cancelable() {
51
+ return (this._state & CANCELABLE) !== 0
52
+ }
53
+
54
+ // https://dom.spec.whatwg.org/#dom-event-composed
55
+ get composed() {
56
+ return (this._state & COMPOSED) !== 0
57
+ }
58
+
59
+ // https://dom.spec.whatwg.org/#dom-event-defaultprevented
60
+ get defaultPrevented() {
61
+ return (this._state & CANCELED) !== 0
62
+ }
63
+
64
+ // https://dom.spec.whatwg.org/#dom-event-istrusted
65
+ get isTrusted() {
66
+ return false
67
+ }
68
+
69
+ // https://dom.spec.whatwg.org/#dom-event-preventdefault
70
+ preventDefault() {
71
+ if (this._state & CANCELABLE) this._state |= CANCELED
72
+ }
73
+
74
+ // https://dom.spec.whatwg.org/#dom-event-stoppropagation
75
+ stopPropagation() {}
76
+
77
+ // https://dom.spec.whatwg.org/#dom-event-stopimmediatepropagation
78
+ stopImmediatePropagation() {
79
+ this._state |= STOP
80
+ }
81
+
82
+ toJSON() {
83
+ return {
84
+ type: this.type,
85
+ target: this.target,
86
+ bubbles: this.bubbles,
87
+ cancelable: this.cancelable,
88
+ composed: this.composed,
89
+ defaultPrevented: this.defaultPrevented,
90
+ isTrusted: this.isTrusted
91
+ }
92
+ }
93
+
94
+ [Symbol.for('bare.inspect')]() {
95
+ return {
96
+ __proto__: { constructor: Event },
97
+
98
+ type: this.type,
99
+ target: this.target,
100
+ bubbles: this.bubbles,
101
+ cancelable: this.cancelable,
102
+ composed: this.composed,
103
+ defaultPrevented: this.defaultPrevented,
104
+ isTrusted: this.isTrusted
105
+ }
106
+ }
107
+ }
108
+
109
+ exports.Event = Event
110
+
111
+ // https://dom.spec.whatwg.org/#customevent
112
+ exports.CustomEvent = class CustomEvent extends Event {
113
+ constructor(type, options = {}) {
114
+ super(type, options)
115
+
116
+ const { detail = null } = options
117
+
118
+ this._detail = detail
119
+ }
120
+
121
+ // https://dom.spec.whatwg.org/#dom-customevent-detail
122
+ get detail() {
123
+ return this._detail
124
+ }
125
+ }
126
+
127
+ // https://dom.spec.whatwg.org/#eventtarget
128
+ exports.EventTarget = class EventTarget {
129
+ // https://dom.spec.whatwg.org/#dom-eventtarget-eventtarget
130
+ constructor() {
131
+ this._listeners = new Map()
132
+ }
133
+
134
+ // https://dom.spec.whatwg.org/#dom-eventtarget-addeventlistener
135
+ addEventListener(type, callback = null, options = {}) {
136
+ if (typeof options === 'boolean') options = { capture: options }
137
+
138
+ const {
139
+ capture = false,
140
+ passive = false,
141
+ once = false,
142
+ signal = null
143
+ } = options
144
+
145
+ if (signal !== null && signal.aborted) return
146
+ if (callback === null) return
147
+
148
+ const listener = new EventListener(
149
+ type,
150
+ callback,
151
+ capture,
152
+ passive,
153
+ once,
154
+ signal
155
+ )
156
+
157
+ const listeners = this._listeners.get(type)
158
+
159
+ if (listeners === undefined) this._listeners.set(type, listener)
160
+ else {
161
+ for (const existing of listeners) {
162
+ if (callback === existing.callback && capture === existing.capture) {
163
+ return // Duplicate listener
164
+ }
165
+ }
166
+
167
+ listener.link(listeners)
168
+
169
+ if (signal !== null) {
170
+ signal.addEventListener('abort', onabort)
171
+
172
+ function onabort() {
173
+ listener.unlink()
174
+ }
175
+ }
176
+ }
177
+ }
178
+
179
+ // https://dom.spec.whatwg.org/#dom-eventtarget-removeeventlistener
180
+ removeEventListener(type, callback = null, options = {}) {
181
+ if (typeof options === 'boolean') options = { capture: options }
182
+
183
+ const { capture = false } = options
184
+
185
+ const listeners = this._listeners.get(type)
186
+
187
+ if (listeners === undefined) return
188
+
189
+ for (const existing of listeners) {
190
+ if (callback === existing.callback && capture === existing.capture) {
191
+ const next = existing.unlink()
192
+
193
+ if (listeners === existing) this._listeners.set(type, next)
194
+
195
+ return
196
+ }
197
+ }
198
+ }
199
+
200
+ // https://dom.spec.whatwg.org/#dom-eventtarget-dispatchevent
201
+ dispatchEvent(event) {
202
+ event._target = this
203
+ event._state |= DISPATCH
204
+
205
+ const listeners = this._listeners.get(event.type)
206
+
207
+ try {
208
+ if (listeners === undefined) return true
209
+
210
+ for (const listener of listeners) {
211
+ // https://dom.spec.whatwg.org/#concept-event-listener-inner-invoke
212
+
213
+ if (listener.once) listener.unlink()
214
+
215
+ let callback = listener.callback
216
+ let context = this
217
+
218
+ if (typeof callback === 'object') {
219
+ context = callback
220
+ callback = callback.handleEvent
221
+ }
222
+
223
+ Reflect.apply(callback, context, [event])
224
+
225
+ if (event._state & STOP) break
226
+ }
227
+
228
+ return (event._state & CANCELED) === 0
229
+ } finally {
230
+ event._state &= ~DISPATCH
231
+ event._state &= ~STOP
232
+ }
233
+ }
234
+
235
+ toJSON() {
236
+ return {}
237
+ }
238
+
239
+ [Symbol.for('bare.inspect')]() {
240
+ return {
241
+ __proto__: { constructor: EventTarget }
242
+ }
243
+ }
244
+ }
245
+
246
+ // https://dom.spec.whatwg.org/#concept-event-listener
247
+ class EventListener {
248
+ constructor(type, callback, capture, passive, once, signal) {
249
+ this._type = type
250
+ this._callback = callback
251
+ this._signal = signal
252
+ this._state = 0
253
+
254
+ if (capture) this._state |= CAPTURE
255
+ if (passive) this._state |= PASSIVE
256
+ if (once) this._state |= ONCE
257
+
258
+ this._previous = this
259
+ this._next = this
260
+ }
261
+
262
+ get type() {
263
+ return this._type
264
+ }
265
+
266
+ get callback() {
267
+ return this._callback
268
+ }
269
+
270
+ get capture() {
271
+ return (this._state & CAPTURE) !== 0
272
+ }
273
+
274
+ get passive() {
275
+ return (this._state & PASSIVE) !== 0
276
+ }
277
+
278
+ get once() {
279
+ return (this._state & ONCE) !== 0
280
+ }
281
+
282
+ get removed() {
283
+ return this._previous === this && this._next === this
284
+ }
285
+
286
+ link(listener) {
287
+ const next = this._next
288
+ const previous = listener._previous
289
+
290
+ this._next = listener
291
+ listener._previous = this
292
+
293
+ previous._next = next
294
+ next._previous = previous
295
+
296
+ return listener
297
+ }
298
+
299
+ unlink() {
300
+ if (this.removed) return this
301
+
302
+ const next = this._next
303
+ const previous = this._previous
304
+
305
+ this._next = this
306
+ this._previous = this
307
+
308
+ previous._next = next
309
+ next._previous = previous
310
+
311
+ return next
312
+ }
313
+
314
+ *[Symbol.iterator]() {
315
+ let current = this
316
+
317
+ while (true) {
318
+ const next = current._next
319
+ yield current
320
+ if (next === this) break
321
+ current = next
322
+ }
323
+ }
324
+
325
+ toJSON() {
326
+ return {
327
+ type: this.type,
328
+ capture: this.capture,
329
+ passive: this.passive,
330
+ once: this.once,
331
+ removed: this.removed
332
+ }
333
+ }
334
+
335
+ [Symbol.for('bare.inspect')]() {
336
+ return {
337
+ __proto__: { constructor: EventListener },
338
+
339
+ type: this.type,
340
+ callback: this.callback,
341
+ capture: this.capture,
342
+ passive: this.passive,
343
+ once: this.once,
344
+ removed: this.removed
345
+ }
346
+ }
347
+ }
@@ -0,0 +1,13 @@
1
+ cmake_minimum_required(VERSION 4.0)
2
+
3
+ find_package(cmake-bare REQUIRED PATHS node_modules/cmake-bare)
4
+
5
+ project(bare_fs C)
6
+
7
+ add_bare_module(bare_fs)
8
+
9
+ target_sources(
10
+ ${bare_fs}
11
+ PRIVATE
12
+ binding.c
13
+ )