pear-electron 1.1.8 → 1.1.10

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 (3) hide show
  1. package/boot.bundle +1475 -57
  2. package/package.json +6 -5
  3. package/runtime.js +5 -3
package/boot.bundle CHANGED
@@ -1,5 +1,5 @@
1
- 48928
2
- {"version":0,"id":null,"main":"/boot.js","imports":{},"resolutions":{"/boot.js":{"#package":"/package.json","./electron-main.js":"/electron-main.js","./preload.js":"/preload.js","pear-api/constants":"/node_modules/pear-api/constants.js","which-runtime":"/node_modules/which-runtime/index.js"},"/electron-main.js":{"#package":"/package.json","./gui":"/gui/index.js","electron":"builtin:electron","paparam":"/node_modules/paparam/index.js","pear-api/cmd/run":"/node_modules/pear-api/cmd/run.js","pear-api/constants":"/node_modules/pear-api/constants.js","pear-api/crasher":"/node_modules/pear-api/crasher.js","pear-api/state":"/node_modules/pear-api/state.js","pear-api/tryboot":"/node_modules/pear-api/tryboot.js","which-runtime":"/node_modules/which-runtime/index.js"},"/gui/decal.js":{"#package":"/package.json"},"/gui/gui.js":{"#package":"/package.json","./decal":"/gui/decal.js","./icons/tray":"/gui/icons/tray.js","electron":"builtin:electron","events":"builtin:events","hypercore-id-encoding":"/node_modules/hypercore-id-encoding/index.js","path":"builtin:path","pear-api/constants":"/node_modules/pear-api/constants.js","pear-api/worker":"/node_modules/pear-api/worker.js","pear-ipc":"/node_modules/pear-ipc/index.js","ready-resource":"/node_modules/ready-resource/index.js","unix-path-resolve":"/node_modules/unix-path-resolve/index.js","which-runtime":"/node_modules/which-runtime/index.js"},"/gui/icons/tray.js":{"#package":"/package.json","electron":"builtin:electron"},"/gui/index.js":{"#package":"/package.json","./gui":"/gui/gui.js","./preload":"/gui/preload.js"},"/gui/preload.js":{"#package":"/package.json","electron":"builtin:electron","events":"builtin:events","hypercore-id-encoding":"/node_modules/hypercore-id-encoding/index.js","iambus":"/node_modules/iambus/index.js","pear-api/constants":"/node_modules/pear-api/constants.js","pear-api/worker":"/node_modules/pear-api/worker.js","streamx":"/node_modules/streamx/index.js"},"/node_modules/b4a/index.js":{"#package":"/node_modules/b4a/package.json"},"/node_modules/b4a/package.json":{},"/node_modules/bare-addon-resolve/index.js":{"#package":"/node_modules/bare-addon-resolve/package.json","./lib/errors":"/node_modules/bare-addon-resolve/lib/errors.js","bare-module-resolve":"/node_modules/bare-module-resolve/index.js","bare-semver":"/node_modules/bare-semver/index.js"},"/node_modules/bare-addon-resolve/lib/errors.js":{"#package":"/node_modules/bare-addon-resolve/package.json"},"/node_modules/bare-addon-resolve/package.json":{},"/node_modules/bare-env/index.js":{"#package":"/node_modules/bare-env/package.json","bare-os":"/node_modules/bare-os/index.js"},"/node_modules/bare-env/package.json":{},"/node_modules/bare-events/index.js":{"#package":"/node_modules/bare-events/package.json","./lib/errors":"/node_modules/bare-events/lib/errors.js"},"/node_modules/bare-events/lib/errors.js":{"#package":"/node_modules/bare-events/package.json"},"/node_modules/bare-events/package.json":{},"/node_modules/bare-fs/binding.js":{"#package":"/node_modules/bare-fs/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/a5ac624bf012486ee2e442a9fbc4b1cf41f0e15a6e3a0e30ecfff6265861a688.bare","x64":"/../prebuilds/darwin-x64/a1e8cb0f3d0b7e0207b2a0d967a1ca3ba2694aeb59f4b62d758d994e687de55d.bare"},"linux":{"arm64":"/../prebuilds/linux-arm64/89fef7df933646ec516c300c719f82d0f0efd5ae6e842a507fb837f484ce414f.bare","x64":"/../prebuilds/linux-x64/62559773a4272fda0d160a666a4ba78a135ca980d416ba2c140c1fcd64caea1a.bare"},"win32":"/../prebuilds/win32-x64/ff44ae6a6f1fd8945c8d94ba78625467c0b4ee919fe29dbae243c8f5e573a0c6.bare"}},"/node_modules/bare-fs/index.js":{"#package":"/node_modules/bare-fs/package.json","./binding":"/node_modules/bare-fs/binding.js","bare-events":"/node_modules/bare-events/index.js","bare-path":"/node_modules/bare-path/index.js","bare-stream":"/node_modules/bare-stream/index.js"},"/node_modules/bare-fs/package.json":{},"/node_modules/bare-module-resolve/index.js":{"#package":"/node_modules/bare-module-resolve/package.json","./lib/errors":"/node_modules/bare-module-resolve/lib/errors.js","bare-semver":"/node_modules/bare-semver/index.js"},"/node_modules/bare-module-resolve/lib/errors.js":{"#package":"/node_modules/bare-module-resolve/package.json"},"/node_modules/bare-module-resolve/package.json":{},"/node_modules/bare-os/binding.js":{"#package":"/node_modules/bare-os/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/d9b2ac59ff5fed4ff89842d93f840ba32d9368385ba9e5a54a315e8c2c6bd088.bare","x64":"/../prebuilds/darwin-x64/bf9d7ea533690233b090e17c58a439615f463e20fbc24e2652ce0868a9d4ec0f.bare"},"linux":{"arm64":"/../prebuilds/linux-arm64/e5d834053ad17e89f501510aa432d6d0539177f3f0f40c64cacf0a2267c1d7b6.bare","x64":"/../prebuilds/linux-x64/851e609901614c198c5e08b8f183a5872b8cade8df663f37e2c8b06b8b10ca2a.bare"},"win32":"/../prebuilds/win32-x64/db6dabe684172ab138e7736e32d15441a80cd62b8340c3f5321d42ec23eb68cd.bare"}},"/node_modules/bare-os/index.js":{"#package":"/node_modules/bare-os/package.json","./binding":"/node_modules/bare-os/binding.js","./lib/constants":"/node_modules/bare-os/lib/constants.js","./lib/errors":"/node_modules/bare-os/lib/errors.js"},"/node_modules/bare-os/lib/constants.js":{"#package":"/node_modules/bare-os/package.json","../binding":"/node_modules/bare-os/binding.js"},"/node_modules/bare-os/lib/errors.js":{"#package":"/node_modules/bare-os/package.json"},"/node_modules/bare-os/package.json":{},"/node_modules/bare-path/index.js":{"#package":"/node_modules/bare-path/package.json","./lib/posix":"/node_modules/bare-path/lib/posix.js","./lib/win32":"/node_modules/bare-path/lib/win32.js"},"/node_modules/bare-path/lib/constants.js":{"#package":"/node_modules/bare-path/package.json"},"/node_modules/bare-path/lib/posix.js":{"#package":"/node_modules/bare-path/package.json","./constants":"/node_modules/bare-path/lib/constants.js","./shared":"/node_modules/bare-path/lib/shared.js","./win32":"/node_modules/bare-path/lib/win32.js","bare-os":"/node_modules/bare-os/index.js"},"/node_modules/bare-path/lib/shared.js":{"#package":"/node_modules/bare-path/package.json","./constants":"/node_modules/bare-path/lib/constants.js"},"/node_modules/bare-path/lib/win32.js":{"#package":"/node_modules/bare-path/package.json","./constants":"/node_modules/bare-path/lib/constants.js","./posix":"/node_modules/bare-path/lib/posix.js","./shared":"/node_modules/bare-path/lib/shared.js","bare-os":"/node_modules/bare-os/index.js"},"/node_modules/bare-path/package.json":{},"/node_modules/bare-pipe/binding.js":{"#package":"/node_modules/bare-pipe/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/cffb943f8a7253be76c2a25895790ab1c7f0d31c707cdd286d04d0b4d6cd4d1f.bare","x64":"/../prebuilds/darwin-x64/61a8baf8e947d8de0c1be724166878f2b261a6d4fd27d18382721684dae8a910.bare"},"linux":{"arm64":"/../prebuilds/linux-arm64/31fb8040ea0865927c2f9f17bab2e8186d2198863623d4ad479101f004c11e18.bare","x64":"/../prebuilds/linux-x64/8be5cebf235dda2345f20d381655b9e86964c9857911b94d4afc9fe35af73db5.bare"},"win32":"/../prebuilds/win32-x64/29d163b976e13d06ecdbff2a776ccac01c5adca6ffd35a4669ca75a97df6cd1b.bare"}},"/node_modules/bare-pipe/index.js":{"#package":"/node_modules/bare-pipe/package.json","./binding":"/node_modules/bare-pipe/binding.js","./lib/constants":"/node_modules/bare-pipe/lib/constants.js","./lib/errors":"/node_modules/bare-pipe/lib/errors.js","bare-events":"/node_modules/bare-events/index.js","bare-stream":"/node_modules/bare-stream/index.js"},"/node_modules/bare-pipe/lib/constants.js":{"#package":"/node_modules/bare-pipe/package.json"},"/node_modules/bare-pipe/lib/errors.js":{"#package":"/node_modules/bare-pipe/package.json"},"/node_modules/bare-pipe/package.json":{},"/node_modules/bare-semver/index.js":{"#package":"/node_modules/bare-semver/package.json","./lib/comparator":"/node_modules/bare-semver/lib/comparator.js","./lib/constants":"/node_modules/bare-semver/lib/constants.js","./lib/errors":"/node_modules/bare-semver/lib/errors.js","./lib/range":"/node_modules/bare-semver/lib/range.js","./lib/version":"/node_modules/bare-semver/lib/version.js"},"/node_modules/bare-semver/lib/comparator.js":{"#package":"/node_modules/bare-semver/package.json","./constants":"/node_modules/bare-semver/lib/constants.js"},"/node_modules/bare-semver/lib/constants.js":{"#package":"/node_modules/bare-semver/package.json"},"/node_modules/bare-semver/lib/errors.js":{"#package":"/node_modules/bare-semver/package.json"},"/node_modules/bare-semver/lib/range.js":{"#package":"/node_modules/bare-semver/package.json","./comparator":"/node_modules/bare-semver/lib/comparator.js","./constants":"/node_modules/bare-semver/lib/constants.js","./errors":"/node_modules/bare-semver/lib/errors.js","./version":"/node_modules/bare-semver/lib/version.js"},"/node_modules/bare-semver/lib/version.js":{"#package":"/node_modules/bare-semver/package.json","./errors":"/node_modules/bare-semver/lib/errors.js"},"/node_modules/bare-semver/package.json":{},"/node_modules/bare-stream/index.js":{"#package":"/node_modules/bare-stream/package.json","streamx":"/node_modules/streamx/index.js"},"/node_modules/bare-stream/package.json":{},"/node_modules/bare-url/binding.js":{"#package":"/node_modules/bare-url/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/2adafb28c3c222dc69bc035354b5b1f4668a059b75ddf01284e7af5f27a37de9.bare","x64":"/../prebuilds/darwin-x64/5f24fc757aed1815e985e4372f32bdc677b980dfb79852bcf1a04fdeee3c3617.bare"},"linux":{"arm64":"/../prebuilds/linux-arm64/c4a837ed94958550d6e655573449842f7bd1c24a4142cb3dcce88a594038e58b.bare","x64":"/../prebuilds/linux-x64/2f60cd3b0cc19ec93825c5d4889368d7d901eac8255f2c405585503e0aca2704.bare"},"win32":"/../prebuilds/win32-x64/535255092b0796de277d31ee6bf3e7f9f681c6ff07cc1913abb0481805704c7e.bare"}},"/node_modules/bare-url/index.js":{"#package":"/node_modules/bare-url/package.json","./binding":"/node_modules/bare-url/binding.js","./lib/errors":"/node_modules/bare-url/lib/errors.js","bare-path":"/node_modules/bare-path/index.js"},"/node_modules/bare-url/lib/errors.js":{"#package":"/node_modules/bare-url/package.json"},"/node_modules/bare-url/package.json":{},"/node_modules/compact-encoding/endian.js":{"#package":"/node_modules/compact-encoding/package.json"},"/node_modules/compact-encoding/index.js":{"#package":"/node_modules/compact-encoding/package.json","./endian":"/node_modules/compact-encoding/endian.js","./lexint":"/node_modules/compact-encoding/lexint.js","./raw":"/node_modules/compact-encoding/raw.js","b4a":"/node_modules/b4a/index.js"},"/node_modules/compact-encoding/lexint.js":{"#package":"/node_modules/compact-encoding/package.json"},"/node_modules/compact-encoding/package.json":{},"/node_modules/compact-encoding/raw.js":{"#package":"/node_modules/compact-encoding/package.json","./endian":"/node_modules/compact-encoding/endian.js","b4a":"/node_modules/b4a/index.js"},"/node_modules/crc-native/binding.js":{"#package":"/node_modules/crc-native/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/bc135bd4f568a9f30fea2a5268dc3431e77955fc9d0d29944cc49f430b14d672.node","x64":"/../prebuilds/darwin-x64/20e2a8b215ca3b6719bb78d4fb9039f998d0290e063123ec0b76e49f59e170b5.node"},"linux":{"arm64":"/../prebuilds/linux-arm64/019f05d297bf6722dda1b2dfbeb8f8e658e3e9d62ce2c0e6fff86c8873475556.node","x64":"/../prebuilds/linux-x64/2665d4bae7193b28e1ce8677a8f4db7deef5f9928be3a7e380a98bf40d695e93.node"},"win32":"/../prebuilds/win32-x64/07dc802eef86654ef922d30efff79640e062c1efe79ce7e412a51d819e52145a.node"},"require-addon":"/node_modules/require-addon/index.js"},"/node_modules/crc-native/index.js":{"#package":"/node_modules/crc-native/package.json","./binding":"/node_modules/crc-native/binding.js"},"/node_modules/crc-native/package.json":{},"/node_modules/crc-universal/fallback.js":{"#package":"/node_modules/crc-universal/package.json","./lookup":"/node_modules/crc-universal/lookup.js"},"/node_modules/crc-universal/index.js":{"#package":"/node_modules/crc-universal/package.json","./fallback":"/node_modules/crc-universal/fallback.js","crc-native":"/node_modules/crc-native/index.js"},"/node_modules/crc-universal/lookup.js":{"#package":"/node_modules/crc-universal/package.json"},"/node_modules/crc-universal/package.json":{},"/node_modules/fast-fifo/fixed-size.js":{"#package":"/node_modules/fast-fifo/package.json"},"/node_modules/fast-fifo/index.js":{"#package":"/node_modules/fast-fifo/package.json","./fixed-size":"/node_modules/fast-fifo/fixed-size.js"},"/node_modules/fast-fifo/package.json":{},"/node_modules/framed-stream/index.js":{"#package":"/node_modules/framed-stream/package.json","b4a":"/node_modules/b4a/index.js","streamx":"/node_modules/streamx/index.js"},"/node_modules/framed-stream/package.json":{},"/node_modules/fs-native-extensions/binding.js":{"#package":"/node_modules/fs-native-extensions/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/fff184f75eee5d4528af4bd93bdc06859b5fc145790ff5eb8d89b9f0c02e0c4d.node","x64":"/../prebuilds/darwin-x64/24391a2e78b09b994e06f472e91c51bd6dc98f21fb727eab3d08c14004481a10.node"},"linux":{"arm64":"/../prebuilds/linux-arm64/9571bde8dd216b8533482f4c7288c5aa15c28821aa2a19b48c23380d36ae6f78.node","x64":"/../prebuilds/linux-x64/88991939d981c718e56af06e354560df77b8671774e4045295f334585996ffc0.node"},"win32":"/../prebuilds/win32-x64/0908a42a89ed8d92de7d1c7504091928269e045f936d077f88abeee01e458136.node"},"require-addon":"/node_modules/require-addon/index.js"},"/node_modules/fs-native-extensions/index.js":{"#package":"/node_modules/fs-native-extensions/package.json","./binding":"/node_modules/fs-native-extensions/binding.js","which-runtime":"/node_modules/which-runtime/index.js"},"/node_modules/fs-native-extensions/package.json":{},"/node_modules/hypercore-crypto/index.js":{"#package":"/node_modules/hypercore-crypto/package.json","b4a":"/node_modules/b4a/index.js","compact-encoding":"/node_modules/compact-encoding/index.js","sodium-universal":"/node_modules/sodium-universal/index.js"},"/node_modules/hypercore-crypto/package.json":{},"/node_modules/hypercore-id-encoding/index.js":{"#package":"/node_modules/hypercore-id-encoding/package.json","b4a":"/node_modules/b4a/index.js","z32":"/node_modules/z32/index.js"},"/node_modules/hypercore-id-encoding/package.json":{},"/node_modules/iambus/index.js":{"#package":"/node_modules/iambus/package.json","nanoassert":"/node_modules/nanoassert/index.js","streamx":"/node_modules/streamx/index.js"},"/node_modules/iambus/package.json":{},"/node_modules/nanoassert/index.js":{"#package":"/node_modules/nanoassert/package.json"},"/node_modules/nanoassert/package.json":{},"/node_modules/paparam/index.js":{"#package":"/node_modules/paparam/package.json"},"/node_modules/paparam/package.json":{},"/node_modules/pear-api/cmd/index.js":{"#package":"/node_modules/pear-api/package.json","./pear":"/node_modules/pear-api/cmd/pear.js","paparam":"/node_modules/paparam/index.js"},"/node_modules/pear-api/cmd/pear.js":{"#package":"/node_modules/pear-api/package.json","paparam":"/node_modules/paparam/index.js"},"/node_modules/pear-api/cmd/run.js":{"#package":"/node_modules/pear-api/package.json","paparam":"/node_modules/paparam/index.js"},"/node_modules/pear-api/constants.js":{"#package":"/node_modules/pear-api/package.json","b4a":"/node_modules/b4a/index.js","hypercore-id-encoding":"/node_modules/hypercore-id-encoding/index.js","sodium-native":"/node_modules/sodium-native/index.js","url-file-url":"/node_modules/url-file-url/index.js","which-runtime":"/node_modules/which-runtime/index.js"},"/node_modules/pear-api/crasher.js":{"#package":"/node_modules/pear-api/package.json","./constants":"/node_modules/pear-api/constants.js","bare-fs":"/node_modules/bare-fs/index.js","bare-os":"/node_modules/bare-os/index.js","bare-path":"/node_modules/bare-path/index.js","electron":"builtin:electron","fs":"builtin:fs","os":"builtin:os","path":"builtin:path","which-runtime":"/node_modules/which-runtime/index.js"},"/node_modules/pear-api/errors.js":{"#package":"/node_modules/pear-api/package.json"},"/node_modules/pear-api/gunk.js":{"#package":"/node_modules/pear-api/package.json","crc-universal":"/node_modules/crc-universal/index.js","fs-native-extensions":"/node_modules/fs-native-extensions/index.js","quickbit-universal":"/node_modules/quickbit-universal/index.js","rocksdb-native":"builtin:rocksdb-native","script-linker/defaults":"/node_modules/script-linker/defaults.js","sodium-native":"/node_modules/sodium-native/index.js","udx-native":"/node_modules/udx-native/lib/udx.js","which-runtime":"/node_modules/which-runtime/index.js"},"/node_modules/pear-api/index.js":{"#package":"/node_modules/pear-api/package.json","./teardown":"/node_modules/pear-api/teardown.js","./worker":"/node_modules/pear-api/worker.js","electron":"builtin:electron"},"/node_modules/pear-api/node_modules/bare-signals/binding.js":{"#package":"/node_modules/pear-api/node_modules/bare-signals/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/87676633cb5aa00eebe6dc64c6d37894e17c6b395642d0b85984df8ee14d9de5.bare","x64":"/../prebuilds/darwin-x64/37df46e83aaae05f59af58ba9a3152c6d8e583d7b393fe92e2a5df186f35eda1.bare"},"linux":{"arm64":"/../prebuilds/linux-arm64/1e91c5a8e68fce211c85735230e973c8a9373d30a64b321a9ce8138248dcb86a.bare","x64":"/../prebuilds/linux-x64/53f162ada72f54c9b76eb6cc294afc10a0678503666b34da8ecd3e2f55d67d77.bare"},"win32":"/../prebuilds/win32-x64/de326288cb9d2106ff6371124809fd5fa3467415d4293952a6f9012d53b83c4c.bare"}},"/node_modules/pear-api/node_modules/bare-signals/index.js":{"#package":"/node_modules/pear-api/node_modules/bare-signals/package.json","./binding":"/node_modules/pear-api/node_modules/bare-signals/binding.js","./lib/emitter":"/node_modules/pear-api/node_modules/bare-signals/lib/emitter.js","./lib/errors":"/node_modules/pear-api/node_modules/bare-signals/lib/errors.js","bare-events":"/node_modules/bare-events/index.js","bare-os":"/node_modules/bare-os/index.js"},"/node_modules/pear-api/node_modules/bare-signals/lib/emitter.js":{"#package":"/node_modules/pear-api/node_modules/bare-signals/package.json","..":"/node_modules/pear-api/node_modules/bare-signals/index.js","bare-events":"/node_modules/bare-events/index.js"},"/node_modules/pear-api/node_modules/bare-signals/lib/errors.js":{"#package":"/node_modules/pear-api/node_modules/bare-signals/package.json"},"/node_modules/pear-api/node_modules/bare-signals/package.json":{},"/node_modules/pear-api/package.json":{},"/node_modules/pear-api/parse-link.js":{"#package":"/node_modules/pear-api/package.json","./constants":"/node_modules/pear-api/constants.js","./errors":"/node_modules/pear-api/errors.js","pear-link":"/node_modules/pear-link/index.js"},"/node_modules/pear-api/state.js":{"#package":"/node_modules/pear-api/package.json","./errors":"/node_modules/pear-api/errors.js","./parse-link":"/node_modules/pear-api/parse-link.js","bare-env":"/node_modules/bare-env/index.js","bare-fs":"/node_modules/bare-fs/index.js","bare-os":"/node_modules/bare-os/index.js","bare-path":"/node_modules/bare-path/index.js","fs":"builtin:fs","hypercore-crypto":"/node_modules/hypercore-crypto/index.js","hypercore-id-encoding":"/node_modules/hypercore-id-encoding/index.js","os":"builtin:os","path":"builtin:path","pear-api/constants":"/node_modules/pear-api/constants.js","pear-link":"/node_modules/pear-link/index.js","url-file-url":"/node_modules/url-file-url/index.js","which-runtime":"/node_modules/which-runtime/index.js","z32":"/node_modules/z32/index.js"},"/node_modules/pear-api/teardown.js":{"#package":"/node_modules/pear-api/package.json","bare-signals":"/node_modules/pear-api/node_modules/bare-signals/index.js","safety-catch":"/node_modules/safety-catch/index.js"},"/node_modules/pear-api/tryboot.js":{"#package":"/node_modules/pear-api/package.json","./cmd":"/node_modules/pear-api/cmd/index.js","./constants":"/node_modules/pear-api/constants.js","child_process":"builtin:child_process"},"/node_modules/pear-api/worker.js":{"#package":"/node_modules/pear-api/package.json","./cmd/run":"/node_modules/pear-api/cmd/run.js","./constants":"/node_modules/pear-api/constants.js","./teardown":"/node_modules/pear-api/teardown.js","bare-pipe":"/node_modules/bare-pipe/index.js","child_process":"builtin:child_process","fs":"builtin:fs","net":"builtin:net","paparam":"/node_modules/paparam/index.js","which-runtime":"/node_modules/which-runtime/index.js"},"/node_modules/pear-ipc/api.js":{"#package":"/node_modules/pear-ipc/package.json","fs":"/node_modules/bare-fs/index.js","fs-native-extensions":"/node_modules/fs-native-extensions/index.js"},"/node_modules/pear-ipc/client.js":{"#package":"/node_modules/pear-ipc/package.json","./api":"/node_modules/pear-ipc/api.js","./constants":"/node_modules/pear-ipc/constants.js","./methods":"/node_modules/pear-ipc/methods.js","framed-stream":"/node_modules/framed-stream/index.js","net":"/node_modules/pear-ipc/node_modules/bare-pipe/index.js","path":"/node_modules/bare-path/index.js","ready-resource":"/node_modules/ready-resource/index.js","tiny-buffer-rpc":"/node_modules/tiny-buffer-rpc/index.js","tiny-buffer-rpc/any":"/node_modules/tiny-buffer-rpc/any.js","which-runtime":"/node_modules/which-runtime/index.js"},"/node_modules/pear-ipc/constants.js":{"#package":"/node_modules/pear-ipc/package.json","os":"/node_modules/bare-os/index.js","path":"/node_modules/bare-path/index.js","which-runtime":"/node_modules/which-runtime/index.js"},"/node_modules/pear-ipc/index.js":{"#package":"/node_modules/pear-ipc/package.json","./client":"/node_modules/pear-ipc/client.js","./server":"/node_modules/pear-ipc/server.js"},"/node_modules/pear-ipc/methods.js":{"#package":"/node_modules/pear-ipc/package.json"},"/node_modules/pear-ipc/node_modules/bare-pipe/binding.js":{"#package":"/node_modules/pear-ipc/node_modules/bare-pipe/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/4f3bee5e1f1b27319413fc3b328cd68a6694823608eed58e0f45b52927234530.bare","x64":"/../prebuilds/darwin-x64/4a93c9ddd94252b2fc80505eb2a94f6da85d7aa6a8411305987b9b6ef1a3eb98.bare"},"linux":{"arm64":"/../prebuilds/linux-arm64/54170017f5fbeeb442f9b5814b03be3433150a30aea754ae7e6a1037ed469c77.bare","x64":"/../prebuilds/linux-x64/397429a6b10492f2a08a34248637984de626b85cdf9e985fa936d34b09bbed6f.bare"},"win32":"/../prebuilds/win32-x64/f8cc9ebb3a5c9d25a145fe02aaff1c0f393c158c6e83ac93b1e329b69e47c75c.bare"}},"/node_modules/pear-ipc/node_modules/bare-pipe/index.js":{"#package":"/node_modules/pear-ipc/node_modules/bare-pipe/package.json","./binding":"/node_modules/pear-ipc/node_modules/bare-pipe/binding.js","./lib/constants":"/node_modules/pear-ipc/node_modules/bare-pipe/lib/constants.js","./lib/errors":"/node_modules/pear-ipc/node_modules/bare-pipe/lib/errors.js","bare-events":"/node_modules/bare-events/index.js","bare-stream":"/node_modules/bare-stream/index.js"},"/node_modules/pear-ipc/node_modules/bare-pipe/lib/constants.js":{"#package":"/node_modules/pear-ipc/node_modules/bare-pipe/package.json"},"/node_modules/pear-ipc/node_modules/bare-pipe/lib/errors.js":{"#package":"/node_modules/pear-ipc/node_modules/bare-pipe/package.json"},"/node_modules/pear-ipc/node_modules/bare-pipe/package.json":{},"/node_modules/pear-ipc/package.json":{},"/node_modules/pear-ipc/server.js":{"#package":"/node_modules/pear-ipc/package.json","./api":"/node_modules/pear-ipc/api.js","./constants":"/node_modules/pear-ipc/constants.js","./methods":"/node_modules/pear-ipc/methods.js","framed-stream":"/node_modules/framed-stream/index.js","fs":"/node_modules/bare-fs/index.js","net":"/node_modules/pear-ipc/node_modules/bare-pipe/index.js","path":"/node_modules/bare-path/index.js","ready-resource":"/node_modules/ready-resource/index.js","streamx":"/node_modules/streamx/index.js","tiny-buffer-rpc":"/node_modules/tiny-buffer-rpc/index.js","tiny-buffer-rpc/any":"/node_modules/tiny-buffer-rpc/any.js","which-runtime":"/node_modules/which-runtime/index.js"},"/node_modules/pear-link/index.js":{"#package":"/node_modules/pear-link/package.json","hypercore-id-encoding":"/node_modules/hypercore-id-encoding/index.js","path":"/node_modules/bare-path/index.js"},"/node_modules/pear-link/package.json":{},"/node_modules/quickbit-native/binding.js":{"#package":"/node_modules/quickbit-native/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/1b2dea778d4373c9f7ffd17509eec9dd70bf77c0dda602e373809f1b730fa4f8.node","x64":"/../prebuilds/darwin-x64/5a1feaaeb555d92cd9c1c7bf52d149059c055109000a6392f43242a8b1994775.node"},"linux":{"arm64":"/../prebuilds/linux-arm64/97db147c17b01163c4d3f3cdce0b1b01c2fbd7fbe6f8b4e941af5dd41a81ab73.node","x64":"/../prebuilds/linux-x64/e535d717acd3d9a69ea301617ff77778c54fa77d3fbc272edff54c9ed0d0dcea.node"},"win32":"/../prebuilds/win32-x64/a6d9b6b5bb312c8e850098d5998a39ee9d787a57a715e2bd98293f7a26a76b37.node"},"require-addon":"/node_modules/require-addon/index.js"},"/node_modules/quickbit-native/index.js":{"#package":"/node_modules/quickbit-native/package.json","./binding":"/node_modules/quickbit-native/binding.js","b4a":"/node_modules/b4a/index.js"},"/node_modules/quickbit-native/package.json":{},"/node_modules/quickbit-universal/fallback.js":{"#package":"/node_modules/quickbit-universal/package.json","simdle-universal":"/node_modules/simdle-universal/index.js"},"/node_modules/quickbit-universal/index.js":{"#package":"/node_modules/quickbit-universal/package.json","./fallback":"/node_modules/quickbit-universal/fallback.js","quickbit-native":"/node_modules/quickbit-native/index.js"},"/node_modules/quickbit-universal/package.json":{},"/node_modules/ready-resource/index.js":{"#package":"/node_modules/ready-resource/package.json","events":"/node_modules/bare-events/index.js"},"/node_modules/ready-resource/package.json":{},"/node_modules/require-addon/index.js":{"#package":"/node_modules/require-addon/package.json","./lib/runtime":"/node_modules/require-addon/lib/runtime.js","./lib/runtime/bare":"/node_modules/require-addon/lib/runtime/bare.js","./lib/runtime/default":"/node_modules/require-addon/lib/runtime/default.js","./lib/runtime/node":"/node_modules/require-addon/lib/runtime/node.js"},"/node_modules/require-addon/lib/runtime.js":{"#package":"/node_modules/require-addon/package.json"},"/node_modules/require-addon/lib/runtime/bare.js":{"#package":"/node_modules/require-addon/package.json"},"/node_modules/require-addon/lib/runtime/default.js":{"#package":"/node_modules/require-addon/package.json"},"/node_modules/require-addon/lib/runtime/node.js":{"#package":"/node_modules/require-addon/package.json","bare-addon-resolve":"/node_modules/bare-addon-resolve/index.js","url":"/node_modules/bare-url/index.js"},"/node_modules/require-addon/package.json":{},"/node_modules/safety-catch/index.js":{"#package":"/node_modules/safety-catch/package.json"},"/node_modules/safety-catch/package.json":{},"/node_modules/script-linker/defaults.js":{"#package":"/node_modules/script-linker/package.json","./lib/compile":"/node_modules/script-linker/lib/compile.js","module":"builtin:module"},"/node_modules/script-linker/lib/compile.js":{"#package":"/node_modules/script-linker/package.json"},"/node_modules/script-linker/package.json":{},"/node_modules/script-linker/runtime.js":{"#package":"/node_modules/script-linker/package.json","./defaults":"/node_modules/script-linker/defaults.js","unix-path-resolve":"/node_modules/unix-path-resolve/index.js"},"/node_modules/simdle-native/binding.js":{"#package":"/node_modules/simdle-native/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/6ad2240f689676549489f843afe5714ed3f582002918048495589cc06752e14b.node","x64":"/../prebuilds/darwin-x64/8f7bc1a7ebdeca2f836b415e72bbc05c0fd7ff2638966d2a6f9c175907d96ff6.node"},"linux":{"arm64":"/../prebuilds/linux-arm64/71ccce1cae6fc6f3b6e14c5b220eeb53d238b4ec4cc04274d6fe7a9d2907e917.node","x64":"/../prebuilds/linux-x64/5667812dd18780c75eff00d30c309d580eeb976135468637b5a75cc0de387a61.node"},"win32":"/../prebuilds/win32-x64/5dd094f91bb31f80ba857f1bcfd54a9428d3df348c78d940fb0b8efa30668d86.node"},"require-addon":"/node_modules/require-addon/index.js"},"/node_modules/simdle-native/index.js":{"#package":"/node_modules/simdle-native/package.json","./binding":"/node_modules/simdle-native/binding.js","b4a":"/node_modules/b4a/index.js"},"/node_modules/simdle-native/package.json":{},"/node_modules/simdle-universal/fallback.js":{"#package":"/node_modules/simdle-universal/package.json","./scalar":"/node_modules/simdle-universal/scalar.js","b4a":"/node_modules/b4a/index.js"},"/node_modules/simdle-universal/index.js":{"#package":"/node_modules/simdle-universal/package.json","./fallback":"/node_modules/simdle-universal/fallback.js","simdle-native":"/node_modules/simdle-native/index.js"},"/node_modules/simdle-universal/package.json":{},"/node_modules/simdle-universal/scalar.js":{"#package":"/node_modules/simdle-universal/package.json"},"/node_modules/sodium-native/index.js":{"#package":"/node_modules/sodium-native/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/449fb7540441c348c80f0d5e2d280d456dab730b33c216895e193d0fd159045e.node","x64":"/../prebuilds/darwin-x64/993484bc3672d58e09081c1649d005996f003272fff65e3b06fdeb362310fd94.node"},"linux":{"arm64":"/../prebuilds/linux-arm64/804ac584e75381529ef50442b20aa6eaf830abf838a96847a95f701ba91112f7.node","x64":"/../prebuilds/linux-x64/d46149731ec9a4486306e986e1be5b7e426af8d9752910bc5097cc7c16644cc5.node"},"win32":"/../prebuilds/win32-x64/bffc39609d08043adb5f134876ef137cc314c0e18990857b4e9eafbdb4e85896.node"},"require-addon":"/node_modules/require-addon/index.js"},"/node_modules/sodium-native/package.json":{},"/node_modules/sodium-universal/index.js":{"#package":"/node_modules/sodium-universal/package.json","sodium-native":"/node_modules/sodium-native/index.js"},"/node_modules/sodium-universal/package.json":{},"/node_modules/streamx/index.js":{"#package":"/node_modules/streamx/package.json","events":"/node_modules/bare-events/index.js","fast-fifo":"/node_modules/fast-fifo/index.js","text-decoder":"/node_modules/text-decoder/index.js"},"/node_modules/streamx/package.json":{},"/node_modules/text-decoder/index.js":{"#package":"/node_modules/text-decoder/package.json","./lib/pass-through-decoder":"/node_modules/text-decoder/lib/pass-through-decoder.js","./lib/utf8-decoder":"/node_modules/text-decoder/lib/utf8-decoder.js"},"/node_modules/text-decoder/lib/pass-through-decoder.js":{"#package":"/node_modules/text-decoder/package.json","b4a":"/node_modules/b4a/index.js"},"/node_modules/text-decoder/lib/utf8-decoder.js":{"#package":"/node_modules/text-decoder/package.json","b4a":"/node_modules/b4a/index.js"},"/node_modules/text-decoder/package.json":{},"/node_modules/tiny-buffer-rpc/any.js":{"#package":"/node_modules/tiny-buffer-rpc/package.json","b4a":"/node_modules/b4a/index.js","compact-encoding":"/node_modules/compact-encoding/index.js"},"/node_modules/tiny-buffer-rpc/index.js":{"#package":"/node_modules/tiny-buffer-rpc/package.json","./messages.js":"/node_modules/tiny-buffer-rpc/messages.js","b4a":"/node_modules/b4a/index.js","compact-encoding":"/node_modules/compact-encoding/index.js","safety-catch":"/node_modules/safety-catch/index.js","streamx":"/node_modules/streamx/index.js"},"/node_modules/tiny-buffer-rpc/messages.js":{"#package":"/node_modules/tiny-buffer-rpc/package.json","compact-encoding":"/node_modules/compact-encoding/index.js"},"/node_modules/tiny-buffer-rpc/package.json":{},"/node_modules/udx-native/binding.js":{"#package":"/node_modules/udx-native/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/79fab99fb131380b8fa47fc8517402caef84fce9accad9d4ab0c112ad926264e.node","x64":"/../prebuilds/darwin-x64/dd4f0d50885fd615b6651b6a16c9f0b2d32b931fa86fb7198f4ee432008ffe88.node"},"linux":{"arm64":"/../prebuilds/linux-arm64/44b8ee0b7fc465f78146ee7ef7934d9b10692627e1d3dd85adef6af4257e76a3.node","x64":"/../prebuilds/linux-x64/e9b91991bf768d071e201e10cabc69b90227568589faadb7c8977a5b5cb771ae.node"},"win32":"/../prebuilds/win32-x64/ad7bbe2e75971b3aba7b416d39e35fe60e5117881ed25f96e85d892eb7173ed5.node"},"require-addon":"/node_modules/require-addon/index.js"},"/node_modules/udx-native/lib/ip.js":{"#package":"/node_modules/udx-native/package.json"},"/node_modules/udx-native/lib/network-interfaces.js":{"#package":"/node_modules/udx-native/package.json","../binding":"/node_modules/udx-native/binding.js","b4a":"/node_modules/b4a/index.js","events":"/node_modules/bare-events/index.js"},"/node_modules/udx-native/lib/socket.js":{"#package":"/node_modules/udx-native/package.json","../binding":"/node_modules/udx-native/binding.js","./ip":"/node_modules/udx-native/lib/ip.js","b4a":"/node_modules/b4a/index.js","events":"/node_modules/bare-events/index.js"},"/node_modules/udx-native/lib/stream.js":{"#package":"/node_modules/udx-native/package.json","../binding":"/node_modules/udx-native/binding.js","./ip":"/node_modules/udx-native/lib/ip.js","b4a":"/node_modules/b4a/index.js","streamx":"/node_modules/streamx/index.js"},"/node_modules/udx-native/lib/udx.js":{"#package":"/node_modules/udx-native/package.json","../binding":"/node_modules/udx-native/binding.js","./ip":"/node_modules/udx-native/lib/ip.js","./network-interfaces":"/node_modules/udx-native/lib/network-interfaces.js","./socket":"/node_modules/udx-native/lib/socket.js","./stream":"/node_modules/udx-native/lib/stream.js","b4a":"/node_modules/b4a/index.js"},"/node_modules/udx-native/package.json":{},"/node_modules/unix-path-resolve/index.js":{"#package":"/node_modules/unix-path-resolve/package.json"},"/node_modules/unix-path-resolve/package.json":{},"/node_modules/url-file-url/index.js":{"#package":"/node_modules/url-file-url/package.json","path":"/node_modules/bare-path/index.js","which-runtime":"/node_modules/which-runtime/index.js"},"/node_modules/url-file-url/package.json":{},"/node_modules/which-runtime/index.js":{"#package":"/node_modules/which-runtime/package.json"},"/node_modules/which-runtime/package.json":{},"/node_modules/z32/index.js":{"#package":"/node_modules/z32/package.json","b4a":"/node_modules/b4a/index.js"},"/node_modules/z32/package.json":{},"/package.json":{},"/preload.js":{"#package":"/package.json","./gui":"/gui/index.js","electron":"builtin:electron","pear-api":"/node_modules/pear-api/index.js","pear-api/gunk":"/node_modules/pear-api/gunk.js","script-linker/runtime":"/node_modules/script-linker/runtime.js","timers":"builtin:timers","which-runtime":"/node_modules/which-runtime/index.js"}},"addons":[],"assets":[],"files":{"/boot.js":{"offset":0,"length":919,"mode":420},"/electron-main.js":{"offset":919,"length":3533,"mode":420},"/gui/decal.js":{"offset":4452,"length":681353,"mode":420},"/gui/gui.js":{"offset":685805,"length":63520,"mode":420},"/gui/icons/tray.js":{"offset":749325,"length":642,"mode":420},"/gui/index.js":{"offset":749967,"length":100,"mode":420},"/gui/preload.js":{"offset":750067,"length":18862,"mode":420},"/node_modules/b4a/index.js":{"offset":768929,"length":4092,"mode":420},"/node_modules/b4a/package.json":{"offset":773021,"length":701,"mode":420},"/node_modules/bare-addon-resolve/index.js":{"offset":773722,"length":10649,"mode":420},"/node_modules/bare-addon-resolve/lib/errors.js":{"offset":784371,"length":474,"mode":420},"/node_modules/bare-addon-resolve/package.json":{"offset":784845,"length":1175,"mode":420},"/node_modules/bare-env/index.js":{"offset":786020,"length":1023,"mode":420},"/node_modules/bare-env/package.json":{"offset":787043,"length":649,"mode":420},"/node_modules/bare-events/index.js":{"offset":787692,"length":6999,"mode":420},"/node_modules/bare-events/lib/errors.js":{"offset":794691,"length":711,"mode":420},"/node_modules/bare-events/package.json":{"offset":795402,"length":944,"mode":420},"/node_modules/bare-fs/binding.js":{"offset":796346,"length":33,"mode":420},"/node_modules/bare-fs/index.js":{"offset":796379,"length":59807,"mode":420},"/node_modules/bare-fs/package.json":{"offset":856186,"length":926,"mode":420},"/node_modules/bare-module-resolve/index.js":{"offset":857112,"length":20462,"mode":420},"/node_modules/bare-module-resolve/lib/errors.js":{"offset":877574,"length":1195,"mode":420},"/node_modules/bare-module-resolve/package.json":{"offset":878769,"length":1143,"mode":420},"/node_modules/bare-os/binding.js":{"offset":879912,"length":33,"mode":420},"/node_modules/bare-os/index.js":{"offset":879945,"length":2433,"mode":420},"/node_modules/bare-os/lib/constants.js":{"offset":882378,"length":113,"mode":420},"/node_modules/bare-os/lib/errors.js":{"offset":882491,"length":479,"mode":420},"/node_modules/bare-os/package.json":{"offset":882970,"length":1023,"mode":420},"/node_modules/bare-path/index.js":{"offset":883993,"length":306,"mode":420},"/node_modules/bare-path/lib/constants.js":{"offset":884299,"length":247,"mode":420},"/node_modules/bare-path/lib/posix.js":{"offset":884546,"length":5991,"mode":420},"/node_modules/bare-path/lib/shared.js":{"offset":890537,"length":1888,"mode":420},"/node_modules/bare-path/lib/win32.js":{"offset":892425,"length":13427,"mode":420},"/node_modules/bare-path/package.json":{"offset":905852,"length":796,"mode":420},"/node_modules/bare-pipe/binding.js":{"offset":906648,"length":33,"mode":420},"/node_modules/bare-pipe/index.js":{"offset":906681,"length":10652,"mode":420},"/node_modules/bare-pipe/lib/constants.js":{"offset":917333,"length":188,"mode":420},"/node_modules/bare-pipe/lib/errors.js":{"offset":917521,"length":711,"mode":420},"/node_modules/bare-pipe/package.json":{"offset":918232,"length":1254,"mode":420},"/node_modules/bare-semver/index.js":{"offset":919486,"length":469,"mode":420},"/node_modules/bare-semver/lib/comparator.js":{"offset":919955,"length":705,"mode":420},"/node_modules/bare-semver/lib/constants.js":{"offset":920660,"length":67,"mode":420},"/node_modules/bare-semver/lib/errors.js":{"offset":920727,"length":529,"mode":420},"/node_modules/bare-semver/lib/range.js":{"offset":921256,"length":2429,"mode":420},"/node_modules/bare-semver/lib/version.js":{"offset":923685,"length":3824,"mode":420},"/node_modules/bare-semver/package.json":{"offset":927509,"length":868,"mode":420},"/node_modules/bare-stream/index.js":{"offset":928377,"length":7649,"mode":420},"/node_modules/bare-stream/package.json":{"offset":936026,"length":1237,"mode":420},"/node_modules/bare-url/binding.js":{"offset":937263,"length":33,"mode":420},"/node_modules/bare-url/index.js":{"offset":937296,"length":7957,"mode":420},"/node_modules/bare-url/lib/errors.js":{"offset":945253,"length":881,"mode":420},"/node_modules/bare-url/package.json":{"offset":946134,"length":1104,"mode":420},"/node_modules/compact-encoding/endian.js":{"offset":947238,"length":103,"mode":420},"/node_modules/compact-encoding/index.js":{"offset":947341,"length":19073,"mode":420},"/node_modules/compact-encoding/lexint.js":{"offset":966414,"length":2824,"mode":420},"/node_modules/compact-encoding/package.json":{"offset":969238,"length":713,"mode":420},"/node_modules/compact-encoding/raw.js":{"offset":969951,"length":4118,"mode":420},"/node_modules/crc-native/binding.js":{"offset":974069,"length":90,"mode":420},"/node_modules/crc-native/index.js":{"offset":974159,"length":120,"mode":420},"/node_modules/crc-native/package.json":{"offset":974279,"length":972,"mode":420},"/node_modules/crc-universal/fallback.js":{"offset":975251,"length":2020,"mode":420},"/node_modules/crc-universal/index.js":{"offset":977271,"length":257,"mode":420},"/node_modules/crc-universal/lookup.js":{"offset":977528,"length":439,"mode":420},"/node_modules/crc-universal/package.json":{"offset":977967,"length":816,"mode":420},"/node_modules/fast-fifo/fixed-size.js":{"offset":978783,"length":875,"mode":420},"/node_modules/fast-fifo/index.js":{"offset":979658,"length":972,"mode":420},"/node_modules/fast-fifo/package.json":{"offset":980630,"length":682,"mode":420},"/node_modules/framed-stream/index.js":{"offset":981312,"length":3358,"mode":420},"/node_modules/framed-stream/package.json":{"offset":984670,"length":720,"mode":420},"/node_modules/fs-native-extensions/binding.js":{"offset":985390,"length":90,"mode":420},"/node_modules/fs-native-extensions/index.js":{"offset":985480,"length":6339,"mode":420},"/node_modules/fs-native-extensions/package.json":{"offset":991819,"length":1611,"mode":420},"/node_modules/hypercore-crypto/index.js":{"offset":993430,"length":4820,"mode":420},"/node_modules/hypercore-crypto/package.json":{"offset":998250,"length":771,"mode":420},"/node_modules/hypercore-id-encoding/index.js":{"offset":999021,"length":923,"mode":420},"/node_modules/hypercore-id-encoding/package.json":{"offset":999944,"length":799,"mode":420},"/node_modules/iambus/index.js":{"offset":1000743,"length":1607,"mode":420},"/node_modules/iambus/package.json":{"offset":1002350,"length":769,"mode":420},"/node_modules/nanoassert/index.js":{"offset":1003119,"length":438,"mode":420},"/node_modules/nanoassert/package.json":{"offset":1003557,"length":647,"mode":420},"/node_modules/paparam/index.js":{"offset":1004204,"length":19293,"mode":420},"/node_modules/paparam/package.json":{"offset":1023497,"length":637,"mode":420},"/node_modules/pear-api/cmd/index.js":{"offset":1024134,"length":204,"mode":420},"/node_modules/pear-api/cmd/pear.js":{"offset":1024338,"length":858,"mode":420},"/node_modules/pear-api/cmd/run.js":{"offset":1025196,"length":1516,"mode":420},"/node_modules/pear-api/constants.js":{"offset":1026712,"length":3134,"mode":420},"/node_modules/pear-api/crasher.js":{"offset":1029846,"length":2583,"mode":420},"/node_modules/pear-api/errors.js":{"offset":1032429,"length":3812,"mode":420},"/node_modules/pear-api/gunk.js":{"offset":1036241,"length":2542,"mode":420},"/node_modules/pear-api/index.js":{"offset":1038783,"length":4960,"mode":420},"/node_modules/pear-api/node_modules/bare-signals/binding.js":{"offset":1043743,"length":33,"mode":420},"/node_modules/pear-api/node_modules/bare-signals/index.js":{"offset":1043776,"length":1540,"mode":420},"/node_modules/pear-api/node_modules/bare-signals/lib/emitter.js":{"offset":1045316,"length":1236,"mode":420},"/node_modules/pear-api/node_modules/bare-signals/lib/errors.js":{"offset":1046552,"length":396,"mode":420},"/node_modules/pear-api/node_modules/bare-signals/package.json":{"offset":1046948,"length":945,"mode":420},"/node_modules/pear-api/package.json":{"offset":1047893,"length":1345,"mode":420},"/node_modules/pear-api/parse-link.js":{"offset":1049238,"length":224,"mode":420},"/node_modules/pear-api/state.js":{"offset":1049462,"length":7910,"mode":420},"/node_modules/pear-api/teardown.js":{"offset":1057372,"length":1716,"mode":420},"/node_modules/pear-api/tryboot.js":{"offset":1059088,"length":1053,"mode":420},"/node_modules/pear-api/worker.js":{"offset":1060141,"length":2385,"mode":420},"/node_modules/pear-ipc/api.js":{"offset":1062526,"length":1060,"mode":420},"/node_modules/pear-ipc/client.js":{"offset":1063586,"length":5036,"mode":420},"/node_modules/pear-ipc/constants.js":{"offset":1068622,"length":721,"mode":420},"/node_modules/pear-ipc/index.js":{"offset":1069343,"length":164,"mode":420},"/node_modules/pear-ipc/methods.js":{"offset":1069507,"length":1630,"mode":420},"/node_modules/pear-ipc/node_modules/bare-pipe/binding.js":{"offset":1071137,"length":33,"mode":420},"/node_modules/pear-ipc/node_modules/bare-pipe/index.js":{"offset":1071170,"length":10947,"mode":420},"/node_modules/pear-ipc/node_modules/bare-pipe/lib/constants.js":{"offset":1082117,"length":188,"mode":420},"/node_modules/pear-ipc/node_modules/bare-pipe/lib/errors.js":{"offset":1082305,"length":668,"mode":420},"/node_modules/pear-ipc/node_modules/bare-pipe/package.json":{"offset":1082973,"length":962,"mode":420},"/node_modules/pear-ipc/package.json":{"offset":1083935,"length":1300,"mode":420},"/node_modules/pear-ipc/server.js":{"offset":1085235,"length":7491,"mode":420},"/node_modules/pear-link/index.js":{"offset":1092726,"length":3161,"mode":420},"/node_modules/pear-link/package.json":{"offset":1095887,"length":847,"mode":420},"/node_modules/quickbit-native/binding.js":{"offset":1096734,"length":90,"mode":420},"/node_modules/quickbit-native/index.js":{"offset":1096824,"length":4123,"mode":420},"/node_modules/quickbit-native/package.json":{"offset":1100947,"length":1018,"mode":420},"/node_modules/quickbit-universal/fallback.js":{"offset":1101965,"length":10204,"mode":420},"/node_modules/quickbit-universal/index.js":{"offset":1112169,"length":442,"mode":420},"/node_modules/quickbit-universal/package.json":{"offset":1112611,"length":908,"mode":420},"/node_modules/ready-resource/index.js":{"offset":1113519,"length":1091,"mode":420},"/node_modules/ready-resource/package.json":{"offset":1114610,"length":769,"mode":420},"/node_modules/require-addon/index.js":{"offset":1115379,"length":262,"mode":420},"/node_modules/require-addon/lib/runtime.js":{"offset":1115641,"length":130,"mode":420},"/node_modules/require-addon/lib/runtime/bare.js":{"offset":1115771,"length":45,"mode":420},"/node_modules/require-addon/lib/runtime/default.js":{"offset":1115816,"length":260,"mode":420},"/node_modules/require-addon/lib/runtime/node.js":{"offset":1116076,"length":1073,"mode":420},"/node_modules/require-addon/package.json":{"offset":1117149,"length":1335,"mode":420},"/node_modules/safety-catch/index.js":{"offset":1118484,"length":506,"mode":420},"/node_modules/safety-catch/package.json":{"offset":1118990,"length":547,"mode":420},"/node_modules/script-linker/defaults.js":{"offset":1119537,"length":1251,"mode":420},"/node_modules/script-linker/lib/compile.js":{"offset":1120788,"length":136,"mode":420},"/node_modules/script-linker/package.json":{"offset":1120924,"length":919,"mode":420},"/node_modules/script-linker/runtime.js":{"offset":1121843,"length":6173,"mode":420},"/node_modules/simdle-native/binding.js":{"offset":1128016,"length":90,"mode":420},"/node_modules/simdle-native/index.js":{"offset":1128106,"length":3203,"mode":420},"/node_modules/simdle-native/package.json":{"offset":1131309,"length":1008,"mode":420},"/node_modules/simdle-universal/fallback.js":{"offset":1132317,"length":5137,"mode":420},"/node_modules/simdle-universal/index.js":{"offset":1137454,"length":103,"mode":420},"/node_modules/simdle-universal/package.json":{"offset":1137557,"length":879,"mode":420},"/node_modules/simdle-universal/scalar.js":{"offset":1138436,"length":469,"mode":420},"/node_modules/sodium-native/index.js":{"offset":1138905,"length":90,"mode":420},"/node_modules/sodium-native/package.json":{"offset":1138995,"length":1093,"mode":420},"/node_modules/sodium-universal/index.js":{"offset":1140088,"length":42,"mode":420},"/node_modules/sodium-universal/package.json":{"offset":1140130,"length":1064,"mode":420},"/node_modules/streamx/index.js":{"offset":1141194,"length":33174,"mode":420},"/node_modules/streamx/package.json":{"offset":1174368,"length":912,"mode":420},"/node_modules/text-decoder/index.js":{"offset":1175280,"length":1378,"mode":420},"/node_modules/text-decoder/lib/pass-through-decoder.js":{"offset":1176658,"length":273,"mode":420},"/node_modules/text-decoder/lib/utf8-decoder.js":{"offset":1176931,"length":2529,"mode":420},"/node_modules/text-decoder/package.json":{"offset":1179460,"length":987,"mode":420},"/node_modules/tiny-buffer-rpc/any.js":{"offset":1180447,"length":2475,"mode":420},"/node_modules/tiny-buffer-rpc/index.js":{"offset":1182922,"length":11707,"mode":420},"/node_modules/tiny-buffer-rpc/messages.js":{"offset":1194629,"length":2105,"mode":420},"/node_modules/tiny-buffer-rpc/package.json":{"offset":1196734,"length":713,"mode":420},"/node_modules/udx-native/binding.js":{"offset":1197447,"length":90,"mode":420},"/node_modules/udx-native/lib/ip.js":{"offset":1197537,"length":2179,"mode":420},"/node_modules/udx-native/lib/network-interfaces.js":{"offset":1199716,"length":1335,"mode":420},"/node_modules/udx-native/lib/socket.js":{"offset":1201051,"length":7445,"mode":420},"/node_modules/udx-native/lib/stream.js":{"offset":1208496,"length":12546,"mode":420},"/node_modules/udx-native/lib/udx.js":{"offset":1221042,"length":2842,"mode":420},"/node_modules/udx-native/package.json":{"offset":1223884,"length":1468,"mode":420},"/node_modules/unix-path-resolve/index.js":{"offset":1225352,"length":1356,"mode":420},"/node_modules/unix-path-resolve/package.json":{"offset":1226708,"length":651,"mode":420},"/node_modules/url-file-url/index.js":{"offset":1227359,"length":1702,"mode":420},"/node_modules/url-file-url/package.json":{"offset":1229061,"length":755,"mode":420},"/node_modules/which-runtime/index.js":{"offset":1229816,"length":1222,"mode":420},"/node_modules/which-runtime/package.json":{"offset":1231038,"length":602,"mode":420},"/node_modules/z32/index.js":{"offset":1231640,"length":2654,"mode":420},"/node_modules/z32/package.json":{"offset":1234294,"length":701,"mode":420},"/package.json":{"offset":1234995,"length":2114,"mode":420},"/preload.js":{"offset":1237109,"length":13810,"mode":420}}}
1
+ 52975
2
+ {"version":0,"id":null,"main":"/boot.js","imports":{},"resolutions":{"/boot.js":{"#package":"/package.json","./electron-main.js":"/electron-main.js","./preload.js":"/preload.js","pear-api/constants":"/node_modules/pear-api/constants.js","which-runtime":"/node_modules/which-runtime/index.js"},"/electron-main.js":{"#package":"/package.json","./gui":"/gui/index.js","electron":"builtin:electron","paparam":"/node_modules/paparam/index.js","pear-api/cmd/run":"/node_modules/pear-api/cmd/run.js","pear-api/constants":"/node_modules/pear-api/constants.js","pear-api/crasher":"/node_modules/pear-api/crasher.js","pear-api/state":"/node_modules/pear-api/state.js","pear-api/tryboot":"/node_modules/pear-api/tryboot.js","which-runtime":"/node_modules/which-runtime/index.js"},"/gui/decal.js":{"#package":"/package.json"},"/gui/gui.js":{"#package":"/package.json","./decal":"/gui/decal.js","./icons/tray":"/gui/icons/tray.js","electron":"builtin:electron","events":"builtin:events","hypercore-id-encoding":"/node_modules/hypercore-id-encoding/index.js","path":"builtin:path","pear-api/constants":"/node_modules/pear-api/constants.js","pear-api/worker":"/node_modules/pear-api/worker.js","pear-ipc":"/node_modules/pear-ipc/index.js","ready-resource":"/node_modules/ready-resource/index.js","unix-path-resolve":"/node_modules/unix-path-resolve/index.js","which-runtime":"/node_modules/which-runtime/index.js"},"/gui/icons/tray.js":{"#package":"/package.json","electron":"builtin:electron"},"/gui/index.js":{"#package":"/package.json","./gui":"/gui/gui.js","./preload":"/gui/preload.js"},"/gui/preload.js":{"#package":"/package.json","electron":"builtin:electron","events":"builtin:events","hypercore-id-encoding":"/node_modules/hypercore-id-encoding/index.js","iambus":"/node_modules/iambus/index.js","pear-api/constants":"/node_modules/pear-api/constants.js","pear-api/worker":"/node_modules/pear-api/worker.js","streamx":"/node_modules/streamx/index.js"},"/node_modules/b4a/index.js":{"#package":"/node_modules/b4a/package.json"},"/node_modules/b4a/package.json":{},"/node_modules/bare-addon-resolve/index.js":{"#package":"/node_modules/bare-addon-resolve/package.json","./lib/errors":"/node_modules/bare-addon-resolve/lib/errors.js","bare-module-resolve":"/node_modules/bare-module-resolve/index.js","bare-semver":"/node_modules/bare-semver/index.js"},"/node_modules/bare-addon-resolve/lib/errors.js":{"#package":"/node_modules/bare-addon-resolve/package.json"},"/node_modules/bare-addon-resolve/package.json":{},"/node_modules/bare-env/index.js":{"#package":"/node_modules/bare-env/package.json","bare-os":"/node_modules/bare-os/index.js"},"/node_modules/bare-env/package.json":{},"/node_modules/bare-events/index.js":{"#package":"/node_modules/bare-events/package.json","./lib/errors":"/node_modules/bare-events/lib/errors.js"},"/node_modules/bare-events/lib/errors.js":{"#package":"/node_modules/bare-events/package.json"},"/node_modules/bare-events/package.json":{},"/node_modules/bare-fs/binding.js":{"#package":"/node_modules/bare-fs/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/a5ac624bf012486ee2e442a9fbc4b1cf41f0e15a6e3a0e30ecfff6265861a688.bare","x64":"/../prebuilds/darwin-x64/a1e8cb0f3d0b7e0207b2a0d967a1ca3ba2694aeb59f4b62d758d994e687de55d.bare"},"linux":{"arm64":"/../prebuilds/linux-arm64/89fef7df933646ec516c300c719f82d0f0efd5ae6e842a507fb837f484ce414f.bare","x64":"/../prebuilds/linux-x64/62559773a4272fda0d160a666a4ba78a135ca980d416ba2c140c1fcd64caea1a.bare"},"win32":"/../prebuilds/win32-x64/ff44ae6a6f1fd8945c8d94ba78625467c0b4ee919fe29dbae243c8f5e573a0c6.bare"}},"/node_modules/bare-fs/index.js":{"#package":"/node_modules/bare-fs/package.json","./binding":"/node_modules/bare-fs/binding.js","bare-events":"/node_modules/bare-events/index.js","bare-path":"/node_modules/bare-path/index.js","bare-stream":"/node_modules/bare-stream/index.js"},"/node_modules/bare-fs/package.json":{},"/node_modules/bare-module-resolve/index.js":{"#package":"/node_modules/bare-module-resolve/package.json","./lib/errors":"/node_modules/bare-module-resolve/lib/errors.js","bare-semver":"/node_modules/bare-semver/index.js"},"/node_modules/bare-module-resolve/lib/errors.js":{"#package":"/node_modules/bare-module-resolve/package.json"},"/node_modules/bare-module-resolve/package.json":{},"/node_modules/bare-os/binding.js":{"#package":"/node_modules/bare-os/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/d9b2ac59ff5fed4ff89842d93f840ba32d9368385ba9e5a54a315e8c2c6bd088.bare","x64":"/../prebuilds/darwin-x64/bf9d7ea533690233b090e17c58a439615f463e20fbc24e2652ce0868a9d4ec0f.bare"},"linux":{"arm64":"/../prebuilds/linux-arm64/e5d834053ad17e89f501510aa432d6d0539177f3f0f40c64cacf0a2267c1d7b6.bare","x64":"/../prebuilds/linux-x64/851e609901614c198c5e08b8f183a5872b8cade8df663f37e2c8b06b8b10ca2a.bare"},"win32":"/../prebuilds/win32-x64/db6dabe684172ab138e7736e32d15441a80cd62b8340c3f5321d42ec23eb68cd.bare"}},"/node_modules/bare-os/index.js":{"#package":"/node_modules/bare-os/package.json","./binding":"/node_modules/bare-os/binding.js","./lib/constants":"/node_modules/bare-os/lib/constants.js","./lib/errors":"/node_modules/bare-os/lib/errors.js"},"/node_modules/bare-os/lib/constants.js":{"#package":"/node_modules/bare-os/package.json","../binding":"/node_modules/bare-os/binding.js"},"/node_modules/bare-os/lib/errors.js":{"#package":"/node_modules/bare-os/package.json"},"/node_modules/bare-os/package.json":{},"/node_modules/bare-path/index.js":{"#package":"/node_modules/bare-path/package.json","./lib/posix":"/node_modules/bare-path/lib/posix.js","./lib/win32":"/node_modules/bare-path/lib/win32.js"},"/node_modules/bare-path/lib/constants.js":{"#package":"/node_modules/bare-path/package.json"},"/node_modules/bare-path/lib/posix.js":{"#package":"/node_modules/bare-path/package.json","./constants":"/node_modules/bare-path/lib/constants.js","./shared":"/node_modules/bare-path/lib/shared.js","./win32":"/node_modules/bare-path/lib/win32.js","bare-os":"/node_modules/bare-os/index.js"},"/node_modules/bare-path/lib/shared.js":{"#package":"/node_modules/bare-path/package.json","./constants":"/node_modules/bare-path/lib/constants.js"},"/node_modules/bare-path/lib/win32.js":{"#package":"/node_modules/bare-path/package.json","./constants":"/node_modules/bare-path/lib/constants.js","./posix":"/node_modules/bare-path/lib/posix.js","./shared":"/node_modules/bare-path/lib/shared.js","bare-os":"/node_modules/bare-os/index.js"},"/node_modules/bare-path/package.json":{},"/node_modules/bare-pipe/binding.js":{"#package":"/node_modules/bare-pipe/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/cffb943f8a7253be76c2a25895790ab1c7f0d31c707cdd286d04d0b4d6cd4d1f.bare","x64":"/../prebuilds/darwin-x64/61a8baf8e947d8de0c1be724166878f2b261a6d4fd27d18382721684dae8a910.bare"},"linux":{"arm64":"/../prebuilds/linux-arm64/31fb8040ea0865927c2f9f17bab2e8186d2198863623d4ad479101f004c11e18.bare","x64":"/../prebuilds/linux-x64/8be5cebf235dda2345f20d381655b9e86964c9857911b94d4afc9fe35af73db5.bare"},"win32":"/../prebuilds/win32-x64/29d163b976e13d06ecdbff2a776ccac01c5adca6ffd35a4669ca75a97df6cd1b.bare"}},"/node_modules/bare-pipe/index.js":{"#package":"/node_modules/bare-pipe/package.json","./binding":"/node_modules/bare-pipe/binding.js","./lib/constants":"/node_modules/bare-pipe/lib/constants.js","./lib/errors":"/node_modules/bare-pipe/lib/errors.js","bare-events":"/node_modules/bare-events/index.js","bare-stream":"/node_modules/bare-stream/index.js"},"/node_modules/bare-pipe/lib/constants.js":{"#package":"/node_modules/bare-pipe/package.json"},"/node_modules/bare-pipe/lib/errors.js":{"#package":"/node_modules/bare-pipe/package.json"},"/node_modules/bare-pipe/package.json":{},"/node_modules/bare-semver/index.js":{"#package":"/node_modules/bare-semver/package.json","./lib/comparator":"/node_modules/bare-semver/lib/comparator.js","./lib/constants":"/node_modules/bare-semver/lib/constants.js","./lib/errors":"/node_modules/bare-semver/lib/errors.js","./lib/range":"/node_modules/bare-semver/lib/range.js","./lib/version":"/node_modules/bare-semver/lib/version.js"},"/node_modules/bare-semver/lib/comparator.js":{"#package":"/node_modules/bare-semver/package.json","./constants":"/node_modules/bare-semver/lib/constants.js"},"/node_modules/bare-semver/lib/constants.js":{"#package":"/node_modules/bare-semver/package.json"},"/node_modules/bare-semver/lib/errors.js":{"#package":"/node_modules/bare-semver/package.json"},"/node_modules/bare-semver/lib/range.js":{"#package":"/node_modules/bare-semver/package.json","./comparator":"/node_modules/bare-semver/lib/comparator.js","./constants":"/node_modules/bare-semver/lib/constants.js","./errors":"/node_modules/bare-semver/lib/errors.js","./version":"/node_modules/bare-semver/lib/version.js"},"/node_modules/bare-semver/lib/version.js":{"#package":"/node_modules/bare-semver/package.json","./errors":"/node_modules/bare-semver/lib/errors.js"},"/node_modules/bare-semver/package.json":{},"/node_modules/bare-stream/index.js":{"#package":"/node_modules/bare-stream/package.json","streamx":"/node_modules/streamx/index.js"},"/node_modules/bare-stream/package.json":{},"/node_modules/bare-url/binding.js":{"#package":"/node_modules/bare-url/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/2adafb28c3c222dc69bc035354b5b1f4668a059b75ddf01284e7af5f27a37de9.bare","x64":"/../prebuilds/darwin-x64/5f24fc757aed1815e985e4372f32bdc677b980dfb79852bcf1a04fdeee3c3617.bare"},"linux":{"arm64":"/../prebuilds/linux-arm64/c4a837ed94958550d6e655573449842f7bd1c24a4142cb3dcce88a594038e58b.bare","x64":"/../prebuilds/linux-x64/2f60cd3b0cc19ec93825c5d4889368d7d901eac8255f2c405585503e0aca2704.bare"},"win32":"/../prebuilds/win32-x64/535255092b0796de277d31ee6bf3e7f9f681c6ff07cc1913abb0481805704c7e.bare"}},"/node_modules/bare-url/index.js":{"#package":"/node_modules/bare-url/package.json","./binding":"/node_modules/bare-url/binding.js","./lib/errors":"/node_modules/bare-url/lib/errors.js","bare-path":"/node_modules/bare-path/index.js"},"/node_modules/bare-url/lib/errors.js":{"#package":"/node_modules/bare-url/package.json"},"/node_modules/bare-url/package.json":{},"/node_modules/compact-encoding/endian.js":{"#package":"/node_modules/compact-encoding/package.json"},"/node_modules/compact-encoding/index.js":{"#package":"/node_modules/compact-encoding/package.json","./endian":"/node_modules/compact-encoding/endian.js","./lexint":"/node_modules/compact-encoding/lexint.js","./raw":"/node_modules/compact-encoding/raw.js","b4a":"/node_modules/b4a/index.js"},"/node_modules/compact-encoding/lexint.js":{"#package":"/node_modules/compact-encoding/package.json"},"/node_modules/compact-encoding/package.json":{},"/node_modules/compact-encoding/raw.js":{"#package":"/node_modules/compact-encoding/package.json","./endian":"/node_modules/compact-encoding/endian.js","b4a":"/node_modules/b4a/index.js"},"/node_modules/crc-native/binding.js":{"#package":"/node_modules/crc-native/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/bc135bd4f568a9f30fea2a5268dc3431e77955fc9d0d29944cc49f430b14d672.node","x64":"/../prebuilds/darwin-x64/20e2a8b215ca3b6719bb78d4fb9039f998d0290e063123ec0b76e49f59e170b5.node"},"linux":{"arm64":"/../prebuilds/linux-arm64/019f05d297bf6722dda1b2dfbeb8f8e658e3e9d62ce2c0e6fff86c8873475556.node","x64":"/../prebuilds/linux-x64/2665d4bae7193b28e1ce8677a8f4db7deef5f9928be3a7e380a98bf40d695e93.node"},"win32":"/../prebuilds/win32-x64/07dc802eef86654ef922d30efff79640e062c1efe79ce7e412a51d819e52145a.node"},"require-addon":"/node_modules/require-addon/index.js"},"/node_modules/crc-native/index.js":{"#package":"/node_modules/crc-native/package.json","./binding":"/node_modules/crc-native/binding.js"},"/node_modules/crc-native/package.json":{},"/node_modules/crc-universal/fallback.js":{"#package":"/node_modules/crc-universal/package.json","./lookup":"/node_modules/crc-universal/lookup.js"},"/node_modules/crc-universal/index.js":{"#package":"/node_modules/crc-universal/package.json","./fallback":"/node_modules/crc-universal/fallback.js","crc-native":"/node_modules/crc-native/index.js"},"/node_modules/crc-universal/lookup.js":{"#package":"/node_modules/crc-universal/package.json"},"/node_modules/crc-universal/package.json":{},"/node_modules/fast-fifo/fixed-size.js":{"#package":"/node_modules/fast-fifo/package.json"},"/node_modules/fast-fifo/index.js":{"#package":"/node_modules/fast-fifo/package.json","./fixed-size":"/node_modules/fast-fifo/fixed-size.js"},"/node_modules/fast-fifo/package.json":{},"/node_modules/framed-stream/index.js":{"#package":"/node_modules/framed-stream/package.json","b4a":"/node_modules/b4a/index.js","streamx":"/node_modules/streamx/index.js"},"/node_modules/framed-stream/package.json":{},"/node_modules/fs-native-extensions/binding.js":{"#package":"/node_modules/fs-native-extensions/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/fff184f75eee5d4528af4bd93bdc06859b5fc145790ff5eb8d89b9f0c02e0c4d.node","x64":"/../prebuilds/darwin-x64/24391a2e78b09b994e06f472e91c51bd6dc98f21fb727eab3d08c14004481a10.node"},"linux":{"arm64":"/../prebuilds/linux-arm64/9571bde8dd216b8533482f4c7288c5aa15c28821aa2a19b48c23380d36ae6f78.node","x64":"/../prebuilds/linux-x64/88991939d981c718e56af06e354560df77b8671774e4045295f334585996ffc0.node"},"win32":"/../prebuilds/win32-x64/0908a42a89ed8d92de7d1c7504091928269e045f936d077f88abeee01e458136.node"},"require-addon":"/node_modules/require-addon/index.js"},"/node_modules/fs-native-extensions/index.js":{"#package":"/node_modules/fs-native-extensions/package.json","./binding":"/node_modules/fs-native-extensions/binding.js","which-runtime":"/node_modules/which-runtime/index.js"},"/node_modules/fs-native-extensions/package.json":{},"/node_modules/hypercore-crypto/index.js":{"#package":"/node_modules/hypercore-crypto/package.json","b4a":"/node_modules/b4a/index.js","compact-encoding":"/node_modules/compact-encoding/index.js","sodium-universal":"/node_modules/sodium-universal/index.js"},"/node_modules/hypercore-crypto/package.json":{},"/node_modules/hypercore-id-encoding/index.js":{"#package":"/node_modules/hypercore-id-encoding/package.json","b4a":"/node_modules/b4a/index.js","z32":"/node_modules/z32/index.js"},"/node_modules/hypercore-id-encoding/package.json":{},"/node_modules/iambus/index.js":{"#package":"/node_modules/iambus/package.json","nanoassert":"/node_modules/nanoassert/index.js","streamx":"/node_modules/streamx/index.js"},"/node_modules/iambus/package.json":{},"/node_modules/nanoassert/index.js":{"#package":"/node_modules/nanoassert/package.json"},"/node_modules/nanoassert/package.json":{},"/node_modules/paparam/index.js":{"#package":"/node_modules/paparam/package.json"},"/node_modules/paparam/package.json":{},"/node_modules/pear-api/cmd/index.js":{"#package":"/node_modules/pear-api/package.json","./pear":"/node_modules/pear-api/cmd/pear.js","paparam":"/node_modules/paparam/index.js"},"/node_modules/pear-api/cmd/pear.js":{"#package":"/node_modules/pear-api/package.json","paparam":"/node_modules/paparam/index.js"},"/node_modules/pear-api/cmd/run.js":{"#package":"/node_modules/pear-api/package.json","paparam":"/node_modules/paparam/index.js"},"/node_modules/pear-api/constants.js":{"#package":"/node_modules/pear-api/package.json","b4a":"/node_modules/b4a/index.js","hypercore-id-encoding":"/node_modules/hypercore-id-encoding/index.js","sodium-native":"/node_modules/sodium-native/index.js","url-file-url":"/node_modules/url-file-url/index.js","which-runtime":"/node_modules/which-runtime/index.js"},"/node_modules/pear-api/crasher.js":{"#package":"/node_modules/pear-api/package.json","./constants":"/node_modules/pear-api/constants.js","bare-fs":"/node_modules/bare-fs/index.js","bare-os":"/node_modules/bare-os/index.js","bare-path":"/node_modules/bare-path/index.js","electron":"builtin:electron","fs":"builtin:fs","os":"builtin:os","path":"builtin:path","which-runtime":"/node_modules/which-runtime/index.js"},"/node_modules/pear-api/errors.js":{"#package":"/node_modules/pear-api/package.json"},"/node_modules/pear-api/gunk.js":{"#package":"/node_modules/pear-api/package.json","crc-universal":"/node_modules/crc-universal/index.js","fs-native-extensions":"/node_modules/fs-native-extensions/index.js","quickbit-universal":"/node_modules/quickbit-universal/index.js","rocksdb-native":"/node_modules/rocksdb-native/index.js","script-linker/defaults":"/node_modules/script-linker/defaults.js","sodium-native":"/node_modules/sodium-native/index.js","udx-native":"/node_modules/udx-native/lib/udx.js","which-runtime":"/node_modules/which-runtime/index.js"},"/node_modules/pear-api/index.js":{"#package":"/node_modules/pear-api/package.json","./teardown":"/node_modules/pear-api/teardown.js","./worker":"/node_modules/pear-api/worker.js","electron":"builtin:electron"},"/node_modules/pear-api/node_modules/bare-signals/binding.js":{"#package":"/node_modules/pear-api/node_modules/bare-signals/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/87676633cb5aa00eebe6dc64c6d37894e17c6b395642d0b85984df8ee14d9de5.bare","x64":"/../prebuilds/darwin-x64/37df46e83aaae05f59af58ba9a3152c6d8e583d7b393fe92e2a5df186f35eda1.bare"},"linux":{"arm64":"/../prebuilds/linux-arm64/1e91c5a8e68fce211c85735230e973c8a9373d30a64b321a9ce8138248dcb86a.bare","x64":"/../prebuilds/linux-x64/53f162ada72f54c9b76eb6cc294afc10a0678503666b34da8ecd3e2f55d67d77.bare"},"win32":"/../prebuilds/win32-x64/de326288cb9d2106ff6371124809fd5fa3467415d4293952a6f9012d53b83c4c.bare"}},"/node_modules/pear-api/node_modules/bare-signals/index.js":{"#package":"/node_modules/pear-api/node_modules/bare-signals/package.json","./binding":"/node_modules/pear-api/node_modules/bare-signals/binding.js","./lib/emitter":"/node_modules/pear-api/node_modules/bare-signals/lib/emitter.js","./lib/errors":"/node_modules/pear-api/node_modules/bare-signals/lib/errors.js","bare-events":"/node_modules/bare-events/index.js","bare-os":"/node_modules/bare-os/index.js"},"/node_modules/pear-api/node_modules/bare-signals/lib/emitter.js":{"#package":"/node_modules/pear-api/node_modules/bare-signals/package.json","..":"/node_modules/pear-api/node_modules/bare-signals/index.js","bare-events":"/node_modules/bare-events/index.js"},"/node_modules/pear-api/node_modules/bare-signals/lib/errors.js":{"#package":"/node_modules/pear-api/node_modules/bare-signals/package.json"},"/node_modules/pear-api/node_modules/bare-signals/package.json":{},"/node_modules/pear-api/package.json":{},"/node_modules/pear-api/parse-link.js":{"#package":"/node_modules/pear-api/package.json","./constants":"/node_modules/pear-api/constants.js","./errors":"/node_modules/pear-api/errors.js","pear-link":"/node_modules/pear-link/index.js"},"/node_modules/pear-api/state.js":{"#package":"/node_modules/pear-api/package.json","./constants":"/node_modules/pear-api/constants.js","./errors":"/node_modules/pear-api/errors.js","./parse-link":"/node_modules/pear-api/parse-link.js","bare-env":"/node_modules/bare-env/index.js","bare-fs":"/node_modules/bare-fs/index.js","bare-os":"/node_modules/bare-os/index.js","bare-path":"/node_modules/bare-path/index.js","fs":"builtin:fs","hypercore-crypto":"/node_modules/hypercore-crypto/index.js","hypercore-id-encoding":"/node_modules/hypercore-id-encoding/index.js","os":"builtin:os","path":"builtin:path","pear-link":"/node_modules/pear-link/index.js","url-file-url":"/node_modules/url-file-url/index.js","which-runtime":"/node_modules/which-runtime/index.js"},"/node_modules/pear-api/teardown.js":{"#package":"/node_modules/pear-api/package.json","bare-signals":"/node_modules/pear-api/node_modules/bare-signals/index.js","safety-catch":"/node_modules/safety-catch/index.js"},"/node_modules/pear-api/tryboot.js":{"#package":"/node_modules/pear-api/package.json","./cmd":"/node_modules/pear-api/cmd/index.js","./constants":"/node_modules/pear-api/constants.js","child_process":"builtin:child_process"},"/node_modules/pear-api/worker.js":{"#package":"/node_modules/pear-api/package.json","./cmd/run":"/node_modules/pear-api/cmd/run.js","./constants":"/node_modules/pear-api/constants.js","./teardown":"/node_modules/pear-api/teardown.js","bare-pipe":"/node_modules/bare-pipe/index.js","child_process":"builtin:child_process","fs":"builtin:fs","net":"builtin:net","paparam":"/node_modules/paparam/index.js","which-runtime":"/node_modules/which-runtime/index.js"},"/node_modules/pear-ipc/api.js":{"#package":"/node_modules/pear-ipc/package.json","fs":"/node_modules/bare-fs/index.js","fs-native-extensions":"/node_modules/fs-native-extensions/index.js"},"/node_modules/pear-ipc/client.js":{"#package":"/node_modules/pear-ipc/package.json","./api":"/node_modules/pear-ipc/api.js","./constants":"/node_modules/pear-ipc/constants.js","./methods":"/node_modules/pear-ipc/methods.js","framed-stream":"/node_modules/framed-stream/index.js","net":"/node_modules/pear-ipc/node_modules/bare-pipe/index.js","path":"/node_modules/bare-path/index.js","ready-resource":"/node_modules/ready-resource/index.js","tiny-buffer-rpc":"/node_modules/tiny-buffer-rpc/index.js","tiny-buffer-rpc/any":"/node_modules/tiny-buffer-rpc/any.js","which-runtime":"/node_modules/which-runtime/index.js"},"/node_modules/pear-ipc/constants.js":{"#package":"/node_modules/pear-ipc/package.json","os":"/node_modules/bare-os/index.js","path":"/node_modules/bare-path/index.js","which-runtime":"/node_modules/which-runtime/index.js"},"/node_modules/pear-ipc/index.js":{"#package":"/node_modules/pear-ipc/package.json","./client":"/node_modules/pear-ipc/client.js","./server":"/node_modules/pear-ipc/server.js"},"/node_modules/pear-ipc/methods.js":{"#package":"/node_modules/pear-ipc/package.json"},"/node_modules/pear-ipc/node_modules/bare-pipe/binding.js":{"#package":"/node_modules/pear-ipc/node_modules/bare-pipe/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/4f3bee5e1f1b27319413fc3b328cd68a6694823608eed58e0f45b52927234530.bare","x64":"/../prebuilds/darwin-x64/4a93c9ddd94252b2fc80505eb2a94f6da85d7aa6a8411305987b9b6ef1a3eb98.bare"},"linux":{"arm64":"/../prebuilds/linux-arm64/54170017f5fbeeb442f9b5814b03be3433150a30aea754ae7e6a1037ed469c77.bare","x64":"/../prebuilds/linux-x64/397429a6b10492f2a08a34248637984de626b85cdf9e985fa936d34b09bbed6f.bare"},"win32":"/../prebuilds/win32-x64/f8cc9ebb3a5c9d25a145fe02aaff1c0f393c158c6e83ac93b1e329b69e47c75c.bare"}},"/node_modules/pear-ipc/node_modules/bare-pipe/index.js":{"#package":"/node_modules/pear-ipc/node_modules/bare-pipe/package.json","./binding":"/node_modules/pear-ipc/node_modules/bare-pipe/binding.js","./lib/constants":"/node_modules/pear-ipc/node_modules/bare-pipe/lib/constants.js","./lib/errors":"/node_modules/pear-ipc/node_modules/bare-pipe/lib/errors.js","bare-events":"/node_modules/bare-events/index.js","bare-stream":"/node_modules/bare-stream/index.js"},"/node_modules/pear-ipc/node_modules/bare-pipe/lib/constants.js":{"#package":"/node_modules/pear-ipc/node_modules/bare-pipe/package.json"},"/node_modules/pear-ipc/node_modules/bare-pipe/lib/errors.js":{"#package":"/node_modules/pear-ipc/node_modules/bare-pipe/package.json"},"/node_modules/pear-ipc/node_modules/bare-pipe/package.json":{},"/node_modules/pear-ipc/package.json":{},"/node_modules/pear-ipc/server.js":{"#package":"/node_modules/pear-ipc/package.json","./api":"/node_modules/pear-ipc/api.js","./constants":"/node_modules/pear-ipc/constants.js","./methods":"/node_modules/pear-ipc/methods.js","framed-stream":"/node_modules/framed-stream/index.js","fs":"/node_modules/bare-fs/index.js","net":"/node_modules/pear-ipc/node_modules/bare-pipe/index.js","path":"/node_modules/bare-path/index.js","ready-resource":"/node_modules/ready-resource/index.js","streamx":"/node_modules/streamx/index.js","tiny-buffer-rpc":"/node_modules/tiny-buffer-rpc/index.js","tiny-buffer-rpc/any":"/node_modules/tiny-buffer-rpc/any.js","which-runtime":"/node_modules/which-runtime/index.js"},"/node_modules/pear-link/index.js":{"#package":"/node_modules/pear-link/package.json","hypercore-id-encoding":"/node_modules/hypercore-id-encoding/index.js","path":"/node_modules/bare-path/index.js"},"/node_modules/pear-link/package.json":{},"/node_modules/quickbit-native/binding.js":{"#package":"/node_modules/quickbit-native/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/1b2dea778d4373c9f7ffd17509eec9dd70bf77c0dda602e373809f1b730fa4f8.node","x64":"/../prebuilds/darwin-x64/5a1feaaeb555d92cd9c1c7bf52d149059c055109000a6392f43242a8b1994775.node"},"linux":{"arm64":"/../prebuilds/linux-arm64/97db147c17b01163c4d3f3cdce0b1b01c2fbd7fbe6f8b4e941af5dd41a81ab73.node","x64":"/../prebuilds/linux-x64/e535d717acd3d9a69ea301617ff77778c54fa77d3fbc272edff54c9ed0d0dcea.node"},"win32":"/../prebuilds/win32-x64/a6d9b6b5bb312c8e850098d5998a39ee9d787a57a715e2bd98293f7a26a76b37.node"},"require-addon":"/node_modules/require-addon/index.js"},"/node_modules/quickbit-native/index.js":{"#package":"/node_modules/quickbit-native/package.json","./binding":"/node_modules/quickbit-native/binding.js","b4a":"/node_modules/b4a/index.js"},"/node_modules/quickbit-native/package.json":{},"/node_modules/quickbit-universal/fallback.js":{"#package":"/node_modules/quickbit-universal/package.json","simdle-universal":"/node_modules/simdle-universal/index.js"},"/node_modules/quickbit-universal/index.js":{"#package":"/node_modules/quickbit-universal/package.json","./fallback":"/node_modules/quickbit-universal/fallback.js","quickbit-native":"/node_modules/quickbit-native/index.js"},"/node_modules/quickbit-universal/package.json":{},"/node_modules/ready-resource/index.js":{"#package":"/node_modules/ready-resource/package.json","events":"/node_modules/bare-events/index.js"},"/node_modules/ready-resource/package.json":{},"/node_modules/refcounter/index.js":{"#package":"/node_modules/refcounter/package.json"},"/node_modules/refcounter/package.json":{},"/node_modules/require-addon/index.js":{"#package":"/node_modules/require-addon/package.json","./lib/runtime":"/node_modules/require-addon/lib/runtime.js","./lib/runtime/bare":"/node_modules/require-addon/lib/runtime/bare.js","./lib/runtime/default":"/node_modules/require-addon/lib/runtime/default.js","./lib/runtime/node":"/node_modules/require-addon/lib/runtime/node.js"},"/node_modules/require-addon/lib/runtime.js":{"#package":"/node_modules/require-addon/package.json"},"/node_modules/require-addon/lib/runtime/bare.js":{"#package":"/node_modules/require-addon/package.json"},"/node_modules/require-addon/lib/runtime/default.js":{"#package":"/node_modules/require-addon/package.json"},"/node_modules/require-addon/lib/runtime/node.js":{"#package":"/node_modules/require-addon/package.json","bare-addon-resolve":"/node_modules/bare-addon-resolve/index.js","url":"/node_modules/bare-url/index.js"},"/node_modules/require-addon/package.json":{},"/node_modules/resolve-reject-promise/index.js":{"#package":"/node_modules/resolve-reject-promise/package.json"},"/node_modules/resolve-reject-promise/package.json":{},"/node_modules/rocksdb-native/binding.js":{"#package":"/node_modules/rocksdb-native/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/b0fd96c351240949941b60b524cddabac1b432328f893b4c8caa6d6a88379bbb.node","x64":"/../prebuilds/darwin-x64/f7353291b3a9959a881e517a42ad3d17bd802f0a21b6562dd4841a24a766ec6f.node"},"linux":{"arm64":"/../prebuilds/linux-arm64/c73310e679745ff196344b04f93c08e450812bfdce70e421ab86b563572a8352.node","x64":"/../prebuilds/linux-x64/a4105436bff3ec43834c2907c117ee46fcad94d24ce18fa9c5a6f40662dd54a5.node"},"win32":"/../prebuilds/win32-x64/250895c9b543fd063629b564c0a2ccac7cc05ca18a92d8b4d155a25ebc05023f.node"},"require-addon":"/node_modules/require-addon/index.js"},"/node_modules/rocksdb-native/index.js":{"#package":"/node_modules/rocksdb-native/package.json","./lib/column-family":"/node_modules/rocksdb-native/lib/column-family.js","./lib/filter-policy":"/node_modules/rocksdb-native/lib/filter-policy.js","./lib/iterator":"/node_modules/rocksdb-native/lib/iterator.js","./lib/snapshot":"/node_modules/rocksdb-native/lib/snapshot.js","./lib/state":"/node_modules/rocksdb-native/lib/state.js"},"/node_modules/rocksdb-native/lib/batch.js":{"#package":"/node_modules/rocksdb-native/package.json","../binding":"/node_modules/rocksdb-native/binding.js","compact-encoding":"/node_modules/compact-encoding/index.js"},"/node_modules/rocksdb-native/lib/column-family.js":{"#package":"/node_modules/rocksdb-native/package.json","../binding":"/node_modules/rocksdb-native/binding.js","./filter-policy":"/node_modules/rocksdb-native/lib/filter-policy.js"},"/node_modules/rocksdb-native/lib/filter-policy.js":{"#package":"/node_modules/rocksdb-native/package.json"},"/node_modules/rocksdb-native/lib/iterator.js":{"#package":"/node_modules/rocksdb-native/package.json","../binding":"/node_modules/rocksdb-native/binding.js","compact-encoding":"/node_modules/compact-encoding/index.js","streamx":"/node_modules/streamx/index.js"},"/node_modules/rocksdb-native/lib/snapshot.js":{"#package":"/node_modules/rocksdb-native/package.json","../binding":"/node_modules/rocksdb-native/binding.js"},"/node_modules/rocksdb-native/lib/state.js":{"#package":"/node_modules/rocksdb-native/package.json","../binding":"/node_modules/rocksdb-native/binding.js","./batch":"/node_modules/rocksdb-native/lib/batch.js","./column-family":"/node_modules/rocksdb-native/lib/column-family.js","ready-resource":"/node_modules/ready-resource/index.js","refcounter":"/node_modules/refcounter/index.js","resolve-reject-promise":"/node_modules/resolve-reject-promise/index.js"},"/node_modules/rocksdb-native/package.json":{},"/node_modules/safety-catch/index.js":{"#package":"/node_modules/safety-catch/package.json"},"/node_modules/safety-catch/package.json":{},"/node_modules/script-linker/defaults.js":{"#package":"/node_modules/script-linker/package.json","./lib/compile":"/node_modules/script-linker/lib/compile.js","module":"builtin:module"},"/node_modules/script-linker/lib/compile.js":{"#package":"/node_modules/script-linker/package.json"},"/node_modules/script-linker/package.json":{},"/node_modules/script-linker/runtime.js":{"#package":"/node_modules/script-linker/package.json","./defaults":"/node_modules/script-linker/defaults.js","unix-path-resolve":"/node_modules/unix-path-resolve/index.js"},"/node_modules/simdle-native/binding.js":{"#package":"/node_modules/simdle-native/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/6ad2240f689676549489f843afe5714ed3f582002918048495589cc06752e14b.node","x64":"/../prebuilds/darwin-x64/8f7bc1a7ebdeca2f836b415e72bbc05c0fd7ff2638966d2a6f9c175907d96ff6.node"},"linux":{"arm64":"/../prebuilds/linux-arm64/71ccce1cae6fc6f3b6e14c5b220eeb53d238b4ec4cc04274d6fe7a9d2907e917.node","x64":"/../prebuilds/linux-x64/5667812dd18780c75eff00d30c309d580eeb976135468637b5a75cc0de387a61.node"},"win32":"/../prebuilds/win32-x64/5dd094f91bb31f80ba857f1bcfd54a9428d3df348c78d940fb0b8efa30668d86.node"},"require-addon":"/node_modules/require-addon/index.js"},"/node_modules/simdle-native/index.js":{"#package":"/node_modules/simdle-native/package.json","./binding":"/node_modules/simdle-native/binding.js","b4a":"/node_modules/b4a/index.js"},"/node_modules/simdle-native/package.json":{},"/node_modules/simdle-universal/fallback.js":{"#package":"/node_modules/simdle-universal/package.json","./scalar":"/node_modules/simdle-universal/scalar.js","b4a":"/node_modules/b4a/index.js"},"/node_modules/simdle-universal/index.js":{"#package":"/node_modules/simdle-universal/package.json","./fallback":"/node_modules/simdle-universal/fallback.js","simdle-native":"/node_modules/simdle-native/index.js"},"/node_modules/simdle-universal/package.json":{},"/node_modules/simdle-universal/scalar.js":{"#package":"/node_modules/simdle-universal/package.json"},"/node_modules/sodium-native/index.js":{"#package":"/node_modules/sodium-native/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/449fb7540441c348c80f0d5e2d280d456dab730b33c216895e193d0fd159045e.node","x64":"/../prebuilds/darwin-x64/993484bc3672d58e09081c1649d005996f003272fff65e3b06fdeb362310fd94.node"},"linux":{"arm64":"/../prebuilds/linux-arm64/804ac584e75381529ef50442b20aa6eaf830abf838a96847a95f701ba91112f7.node","x64":"/../prebuilds/linux-x64/d46149731ec9a4486306e986e1be5b7e426af8d9752910bc5097cc7c16644cc5.node"},"win32":"/../prebuilds/win32-x64/bffc39609d08043adb5f134876ef137cc314c0e18990857b4e9eafbdb4e85896.node"},"require-addon":"/node_modules/require-addon/index.js"},"/node_modules/sodium-native/package.json":{},"/node_modules/sodium-universal/index.js":{"#package":"/node_modules/sodium-universal/package.json","sodium-native":"/node_modules/sodium-native/index.js"},"/node_modules/sodium-universal/package.json":{},"/node_modules/streamx/index.js":{"#package":"/node_modules/streamx/package.json","events":"/node_modules/bare-events/index.js","fast-fifo":"/node_modules/fast-fifo/index.js","text-decoder":"/node_modules/text-decoder/index.js"},"/node_modules/streamx/package.json":{},"/node_modules/text-decoder/index.js":{"#package":"/node_modules/text-decoder/package.json","./lib/pass-through-decoder":"/node_modules/text-decoder/lib/pass-through-decoder.js","./lib/utf8-decoder":"/node_modules/text-decoder/lib/utf8-decoder.js"},"/node_modules/text-decoder/lib/pass-through-decoder.js":{"#package":"/node_modules/text-decoder/package.json","b4a":"/node_modules/b4a/index.js"},"/node_modules/text-decoder/lib/utf8-decoder.js":{"#package":"/node_modules/text-decoder/package.json","b4a":"/node_modules/b4a/index.js"},"/node_modules/text-decoder/package.json":{},"/node_modules/tiny-buffer-rpc/any.js":{"#package":"/node_modules/tiny-buffer-rpc/package.json","b4a":"/node_modules/b4a/index.js","compact-encoding":"/node_modules/compact-encoding/index.js"},"/node_modules/tiny-buffer-rpc/index.js":{"#package":"/node_modules/tiny-buffer-rpc/package.json","./messages.js":"/node_modules/tiny-buffer-rpc/messages.js","b4a":"/node_modules/b4a/index.js","compact-encoding":"/node_modules/compact-encoding/index.js","safety-catch":"/node_modules/safety-catch/index.js","streamx":"/node_modules/streamx/index.js"},"/node_modules/tiny-buffer-rpc/messages.js":{"#package":"/node_modules/tiny-buffer-rpc/package.json","compact-encoding":"/node_modules/compact-encoding/index.js"},"/node_modules/tiny-buffer-rpc/package.json":{},"/node_modules/udx-native/binding.js":{"#package":"/node_modules/udx-native/package.json",".":{"darwin":{"arm64":"/../prebuilds/darwin-arm64/79fab99fb131380b8fa47fc8517402caef84fce9accad9d4ab0c112ad926264e.node","x64":"/../prebuilds/darwin-x64/dd4f0d50885fd615b6651b6a16c9f0b2d32b931fa86fb7198f4ee432008ffe88.node"},"linux":{"arm64":"/../prebuilds/linux-arm64/44b8ee0b7fc465f78146ee7ef7934d9b10692627e1d3dd85adef6af4257e76a3.node","x64":"/../prebuilds/linux-x64/e9b91991bf768d071e201e10cabc69b90227568589faadb7c8977a5b5cb771ae.node"},"win32":"/../prebuilds/win32-x64/ad7bbe2e75971b3aba7b416d39e35fe60e5117881ed25f96e85d892eb7173ed5.node"},"require-addon":"/node_modules/require-addon/index.js"},"/node_modules/udx-native/lib/ip.js":{"#package":"/node_modules/udx-native/package.json"},"/node_modules/udx-native/lib/network-interfaces.js":{"#package":"/node_modules/udx-native/package.json","../binding":"/node_modules/udx-native/binding.js","b4a":"/node_modules/b4a/index.js","events":"/node_modules/bare-events/index.js"},"/node_modules/udx-native/lib/socket.js":{"#package":"/node_modules/udx-native/package.json","../binding":"/node_modules/udx-native/binding.js","./ip":"/node_modules/udx-native/lib/ip.js","b4a":"/node_modules/b4a/index.js","events":"/node_modules/bare-events/index.js"},"/node_modules/udx-native/lib/stream.js":{"#package":"/node_modules/udx-native/package.json","../binding":"/node_modules/udx-native/binding.js","./ip":"/node_modules/udx-native/lib/ip.js","b4a":"/node_modules/b4a/index.js","streamx":"/node_modules/streamx/index.js"},"/node_modules/udx-native/lib/udx.js":{"#package":"/node_modules/udx-native/package.json","../binding":"/node_modules/udx-native/binding.js","./ip":"/node_modules/udx-native/lib/ip.js","./network-interfaces":"/node_modules/udx-native/lib/network-interfaces.js","./socket":"/node_modules/udx-native/lib/socket.js","./stream":"/node_modules/udx-native/lib/stream.js","b4a":"/node_modules/b4a/index.js"},"/node_modules/udx-native/package.json":{},"/node_modules/unix-path-resolve/index.js":{"#package":"/node_modules/unix-path-resolve/package.json"},"/node_modules/unix-path-resolve/package.json":{},"/node_modules/url-file-url/index.js":{"#package":"/node_modules/url-file-url/package.json","path":"/node_modules/bare-path/index.js","which-runtime":"/node_modules/which-runtime/index.js"},"/node_modules/url-file-url/package.json":{},"/node_modules/which-runtime/index.js":{"#package":"/node_modules/which-runtime/package.json"},"/node_modules/which-runtime/package.json":{},"/node_modules/z32/index.js":{"#package":"/node_modules/z32/package.json","b4a":"/node_modules/b4a/index.js"},"/node_modules/z32/package.json":{},"/package.json":{},"/preload.js":{"#package":"/package.json","./gui":"/gui/index.js","electron":"builtin:electron","pear-api":"/node_modules/pear-api/index.js","pear-api/gunk":"/node_modules/pear-api/gunk.js","script-linker/runtime":"/node_modules/script-linker/runtime.js","timers":"builtin:timers","which-runtime":"/node_modules/which-runtime/index.js"}},"addons":[],"assets":[],"files":{"/boot.js":{"offset":0,"length":919,"mode":420},"/electron-main.js":{"offset":919,"length":3583,"mode":420},"/gui/decal.js":{"offset":4502,"length":681353,"mode":420},"/gui/gui.js":{"offset":685855,"length":63256,"mode":420},"/gui/icons/tray.js":{"offset":749111,"length":642,"mode":420},"/gui/index.js":{"offset":749753,"length":100,"mode":420},"/gui/preload.js":{"offset":749853,"length":18862,"mode":420},"/node_modules/b4a/index.js":{"offset":768715,"length":4092,"mode":420},"/node_modules/b4a/package.json":{"offset":772807,"length":701,"mode":420},"/node_modules/bare-addon-resolve/index.js":{"offset":773508,"length":10649,"mode":420},"/node_modules/bare-addon-resolve/lib/errors.js":{"offset":784157,"length":474,"mode":420},"/node_modules/bare-addon-resolve/package.json":{"offset":784631,"length":1175,"mode":420},"/node_modules/bare-env/index.js":{"offset":785806,"length":1023,"mode":420},"/node_modules/bare-env/package.json":{"offset":786829,"length":649,"mode":420},"/node_modules/bare-events/index.js":{"offset":787478,"length":6999,"mode":420},"/node_modules/bare-events/lib/errors.js":{"offset":794477,"length":711,"mode":420},"/node_modules/bare-events/package.json":{"offset":795188,"length":944,"mode":420},"/node_modules/bare-fs/binding.js":{"offset":796132,"length":33,"mode":420},"/node_modules/bare-fs/index.js":{"offset":796165,"length":59807,"mode":420},"/node_modules/bare-fs/package.json":{"offset":855972,"length":926,"mode":420},"/node_modules/bare-module-resolve/index.js":{"offset":856898,"length":20462,"mode":420},"/node_modules/bare-module-resolve/lib/errors.js":{"offset":877360,"length":1195,"mode":420},"/node_modules/bare-module-resolve/package.json":{"offset":878555,"length":1143,"mode":420},"/node_modules/bare-os/binding.js":{"offset":879698,"length":33,"mode":420},"/node_modules/bare-os/index.js":{"offset":879731,"length":2433,"mode":420},"/node_modules/bare-os/lib/constants.js":{"offset":882164,"length":113,"mode":420},"/node_modules/bare-os/lib/errors.js":{"offset":882277,"length":479,"mode":420},"/node_modules/bare-os/package.json":{"offset":882756,"length":1023,"mode":420},"/node_modules/bare-path/index.js":{"offset":883779,"length":306,"mode":420},"/node_modules/bare-path/lib/constants.js":{"offset":884085,"length":247,"mode":420},"/node_modules/bare-path/lib/posix.js":{"offset":884332,"length":5991,"mode":420},"/node_modules/bare-path/lib/shared.js":{"offset":890323,"length":1888,"mode":420},"/node_modules/bare-path/lib/win32.js":{"offset":892211,"length":13427,"mode":420},"/node_modules/bare-path/package.json":{"offset":905638,"length":796,"mode":420},"/node_modules/bare-pipe/binding.js":{"offset":906434,"length":33,"mode":420},"/node_modules/bare-pipe/index.js":{"offset":906467,"length":10652,"mode":420},"/node_modules/bare-pipe/lib/constants.js":{"offset":917119,"length":188,"mode":420},"/node_modules/bare-pipe/lib/errors.js":{"offset":917307,"length":711,"mode":420},"/node_modules/bare-pipe/package.json":{"offset":918018,"length":1254,"mode":420},"/node_modules/bare-semver/index.js":{"offset":919272,"length":469,"mode":420},"/node_modules/bare-semver/lib/comparator.js":{"offset":919741,"length":705,"mode":420},"/node_modules/bare-semver/lib/constants.js":{"offset":920446,"length":67,"mode":420},"/node_modules/bare-semver/lib/errors.js":{"offset":920513,"length":529,"mode":420},"/node_modules/bare-semver/lib/range.js":{"offset":921042,"length":2429,"mode":420},"/node_modules/bare-semver/lib/version.js":{"offset":923471,"length":3824,"mode":420},"/node_modules/bare-semver/package.json":{"offset":927295,"length":868,"mode":420},"/node_modules/bare-stream/index.js":{"offset":928163,"length":7649,"mode":420},"/node_modules/bare-stream/package.json":{"offset":935812,"length":1237,"mode":420},"/node_modules/bare-url/binding.js":{"offset":937049,"length":33,"mode":420},"/node_modules/bare-url/index.js":{"offset":937082,"length":7957,"mode":420},"/node_modules/bare-url/lib/errors.js":{"offset":945039,"length":881,"mode":420},"/node_modules/bare-url/package.json":{"offset":945920,"length":1104,"mode":420},"/node_modules/compact-encoding/endian.js":{"offset":947024,"length":103,"mode":420},"/node_modules/compact-encoding/index.js":{"offset":947127,"length":19073,"mode":420},"/node_modules/compact-encoding/lexint.js":{"offset":966200,"length":2824,"mode":420},"/node_modules/compact-encoding/package.json":{"offset":969024,"length":713,"mode":420},"/node_modules/compact-encoding/raw.js":{"offset":969737,"length":4118,"mode":420},"/node_modules/crc-native/binding.js":{"offset":973855,"length":90,"mode":420},"/node_modules/crc-native/index.js":{"offset":973945,"length":120,"mode":420},"/node_modules/crc-native/package.json":{"offset":974065,"length":972,"mode":420},"/node_modules/crc-universal/fallback.js":{"offset":975037,"length":2020,"mode":420},"/node_modules/crc-universal/index.js":{"offset":977057,"length":257,"mode":420},"/node_modules/crc-universal/lookup.js":{"offset":977314,"length":439,"mode":420},"/node_modules/crc-universal/package.json":{"offset":977753,"length":816,"mode":420},"/node_modules/fast-fifo/fixed-size.js":{"offset":978569,"length":875,"mode":420},"/node_modules/fast-fifo/index.js":{"offset":979444,"length":972,"mode":420},"/node_modules/fast-fifo/package.json":{"offset":980416,"length":682,"mode":420},"/node_modules/framed-stream/index.js":{"offset":981098,"length":3358,"mode":420},"/node_modules/framed-stream/package.json":{"offset":984456,"length":720,"mode":420},"/node_modules/fs-native-extensions/binding.js":{"offset":985176,"length":90,"mode":420},"/node_modules/fs-native-extensions/index.js":{"offset":985266,"length":6339,"mode":420},"/node_modules/fs-native-extensions/package.json":{"offset":991605,"length":1611,"mode":420},"/node_modules/hypercore-crypto/index.js":{"offset":993216,"length":4820,"mode":420},"/node_modules/hypercore-crypto/package.json":{"offset":998036,"length":771,"mode":420},"/node_modules/hypercore-id-encoding/index.js":{"offset":998807,"length":923,"mode":420},"/node_modules/hypercore-id-encoding/package.json":{"offset":999730,"length":799,"mode":420},"/node_modules/iambus/index.js":{"offset":1000529,"length":1607,"mode":420},"/node_modules/iambus/package.json":{"offset":1002136,"length":769,"mode":420},"/node_modules/nanoassert/index.js":{"offset":1002905,"length":438,"mode":420},"/node_modules/nanoassert/package.json":{"offset":1003343,"length":647,"mode":420},"/node_modules/paparam/index.js":{"offset":1003990,"length":19293,"mode":420},"/node_modules/paparam/package.json":{"offset":1023283,"length":637,"mode":420},"/node_modules/pear-api/cmd/index.js":{"offset":1023920,"length":204,"mode":420},"/node_modules/pear-api/cmd/pear.js":{"offset":1024124,"length":824,"mode":420},"/node_modules/pear-api/cmd/run.js":{"offset":1024948,"length":1482,"mode":420},"/node_modules/pear-api/constants.js":{"offset":1026430,"length":3130,"mode":420},"/node_modules/pear-api/crasher.js":{"offset":1029560,"length":2583,"mode":420},"/node_modules/pear-api/errors.js":{"offset":1032143,"length":3812,"mode":420},"/node_modules/pear-api/gunk.js":{"offset":1035955,"length":2542,"mode":420},"/node_modules/pear-api/index.js":{"offset":1038497,"length":4960,"mode":420},"/node_modules/pear-api/node_modules/bare-signals/binding.js":{"offset":1043457,"length":33,"mode":420},"/node_modules/pear-api/node_modules/bare-signals/index.js":{"offset":1043490,"length":1540,"mode":420},"/node_modules/pear-api/node_modules/bare-signals/lib/emitter.js":{"offset":1045030,"length":1236,"mode":420},"/node_modules/pear-api/node_modules/bare-signals/lib/errors.js":{"offset":1046266,"length":396,"mode":420},"/node_modules/pear-api/node_modules/bare-signals/package.json":{"offset":1046662,"length":945,"mode":420},"/node_modules/pear-api/package.json":{"offset":1047607,"length":1794,"mode":420},"/node_modules/pear-api/parse-link.js":{"offset":1049401,"length":224,"mode":420},"/node_modules/pear-api/state.js":{"offset":1049625,"length":7185,"mode":420},"/node_modules/pear-api/teardown.js":{"offset":1056810,"length":1716,"mode":420},"/node_modules/pear-api/tryboot.js":{"offset":1058526,"length":1053,"mode":420},"/node_modules/pear-api/worker.js":{"offset":1059579,"length":2446,"mode":420},"/node_modules/pear-ipc/api.js":{"offset":1062025,"length":1060,"mode":420},"/node_modules/pear-ipc/client.js":{"offset":1063085,"length":5036,"mode":420},"/node_modules/pear-ipc/constants.js":{"offset":1068121,"length":721,"mode":420},"/node_modules/pear-ipc/index.js":{"offset":1068842,"length":164,"mode":420},"/node_modules/pear-ipc/methods.js":{"offset":1069006,"length":1630,"mode":420},"/node_modules/pear-ipc/node_modules/bare-pipe/binding.js":{"offset":1070636,"length":33,"mode":420},"/node_modules/pear-ipc/node_modules/bare-pipe/index.js":{"offset":1070669,"length":10947,"mode":420},"/node_modules/pear-ipc/node_modules/bare-pipe/lib/constants.js":{"offset":1081616,"length":188,"mode":420},"/node_modules/pear-ipc/node_modules/bare-pipe/lib/errors.js":{"offset":1081804,"length":668,"mode":420},"/node_modules/pear-ipc/node_modules/bare-pipe/package.json":{"offset":1082472,"length":962,"mode":420},"/node_modules/pear-ipc/package.json":{"offset":1083434,"length":1300,"mode":420},"/node_modules/pear-ipc/server.js":{"offset":1084734,"length":7491,"mode":420},"/node_modules/pear-link/index.js":{"offset":1092225,"length":3161,"mode":420},"/node_modules/pear-link/package.json":{"offset":1095386,"length":847,"mode":420},"/node_modules/quickbit-native/binding.js":{"offset":1096233,"length":90,"mode":420},"/node_modules/quickbit-native/index.js":{"offset":1096323,"length":4123,"mode":420},"/node_modules/quickbit-native/package.json":{"offset":1100446,"length":1018,"mode":420},"/node_modules/quickbit-universal/fallback.js":{"offset":1101464,"length":10204,"mode":420},"/node_modules/quickbit-universal/index.js":{"offset":1111668,"length":442,"mode":420},"/node_modules/quickbit-universal/package.json":{"offset":1112110,"length":908,"mode":420},"/node_modules/ready-resource/index.js":{"offset":1113018,"length":1091,"mode":420},"/node_modules/ready-resource/package.json":{"offset":1114109,"length":769,"mode":420},"/node_modules/refcounter/index.js":{"offset":1114878,"length":611,"mode":420},"/node_modules/refcounter/package.json":{"offset":1115489,"length":451,"mode":420},"/node_modules/require-addon/index.js":{"offset":1115940,"length":262,"mode":420},"/node_modules/require-addon/lib/runtime.js":{"offset":1116202,"length":130,"mode":420},"/node_modules/require-addon/lib/runtime/bare.js":{"offset":1116332,"length":45,"mode":420},"/node_modules/require-addon/lib/runtime/default.js":{"offset":1116377,"length":260,"mode":420},"/node_modules/require-addon/lib/runtime/node.js":{"offset":1116637,"length":1073,"mode":420},"/node_modules/require-addon/package.json":{"offset":1117710,"length":1335,"mode":420},"/node_modules/resolve-reject-promise/index.js":{"offset":1119045,"length":443,"mode":420},"/node_modules/resolve-reject-promise/package.json":{"offset":1119488,"length":581,"mode":420},"/node_modules/rocksdb-native/binding.js":{"offset":1120069,"length":90,"mode":420},"/node_modules/rocksdb-native/index.js":{"offset":1120159,"length":3974,"mode":420},"/node_modules/rocksdb-native/lib/batch.js":{"offset":1124133,"length":8875,"mode":420},"/node_modules/rocksdb-native/lib/column-family.js":{"offset":1133008,"length":2066,"mode":420},"/node_modules/rocksdb-native/lib/filter-policy.js":{"offset":1135074,"length":437,"mode":420},"/node_modules/rocksdb-native/lib/iterator.js":{"offset":1135511,"length":4185,"mode":420},"/node_modules/rocksdb-native/lib/snapshot.js":{"offset":1139696,"length":503,"mode":420},"/node_modules/rocksdb-native/lib/state.js":{"offset":1140199,"length":7178,"mode":420},"/node_modules/rocksdb-native/package.json":{"offset":1147377,"length":1357,"mode":420},"/node_modules/safety-catch/index.js":{"offset":1148734,"length":506,"mode":420},"/node_modules/safety-catch/package.json":{"offset":1149240,"length":547,"mode":420},"/node_modules/script-linker/defaults.js":{"offset":1149787,"length":1251,"mode":420},"/node_modules/script-linker/lib/compile.js":{"offset":1151038,"length":136,"mode":420},"/node_modules/script-linker/package.json":{"offset":1151174,"length":919,"mode":420},"/node_modules/script-linker/runtime.js":{"offset":1152093,"length":6173,"mode":420},"/node_modules/simdle-native/binding.js":{"offset":1158266,"length":90,"mode":420},"/node_modules/simdle-native/index.js":{"offset":1158356,"length":3203,"mode":420},"/node_modules/simdle-native/package.json":{"offset":1161559,"length":1008,"mode":420},"/node_modules/simdle-universal/fallback.js":{"offset":1162567,"length":5137,"mode":420},"/node_modules/simdle-universal/index.js":{"offset":1167704,"length":103,"mode":420},"/node_modules/simdle-universal/package.json":{"offset":1167807,"length":879,"mode":420},"/node_modules/simdle-universal/scalar.js":{"offset":1168686,"length":469,"mode":420},"/node_modules/sodium-native/index.js":{"offset":1169155,"length":90,"mode":420},"/node_modules/sodium-native/package.json":{"offset":1169245,"length":1093,"mode":420},"/node_modules/sodium-universal/index.js":{"offset":1170338,"length":42,"mode":420},"/node_modules/sodium-universal/package.json":{"offset":1170380,"length":1064,"mode":420},"/node_modules/streamx/index.js":{"offset":1171444,"length":33174,"mode":420},"/node_modules/streamx/package.json":{"offset":1204618,"length":912,"mode":420},"/node_modules/text-decoder/index.js":{"offset":1205530,"length":1378,"mode":420},"/node_modules/text-decoder/lib/pass-through-decoder.js":{"offset":1206908,"length":273,"mode":420},"/node_modules/text-decoder/lib/utf8-decoder.js":{"offset":1207181,"length":2529,"mode":420},"/node_modules/text-decoder/package.json":{"offset":1209710,"length":987,"mode":420},"/node_modules/tiny-buffer-rpc/any.js":{"offset":1210697,"length":2475,"mode":420},"/node_modules/tiny-buffer-rpc/index.js":{"offset":1213172,"length":11707,"mode":420},"/node_modules/tiny-buffer-rpc/messages.js":{"offset":1224879,"length":2105,"mode":420},"/node_modules/tiny-buffer-rpc/package.json":{"offset":1226984,"length":713,"mode":420},"/node_modules/udx-native/binding.js":{"offset":1227697,"length":90,"mode":420},"/node_modules/udx-native/lib/ip.js":{"offset":1227787,"length":2179,"mode":420},"/node_modules/udx-native/lib/network-interfaces.js":{"offset":1229966,"length":1335,"mode":420},"/node_modules/udx-native/lib/socket.js":{"offset":1231301,"length":7445,"mode":420},"/node_modules/udx-native/lib/stream.js":{"offset":1238746,"length":12546,"mode":420},"/node_modules/udx-native/lib/udx.js":{"offset":1251292,"length":2842,"mode":420},"/node_modules/udx-native/package.json":{"offset":1254134,"length":1468,"mode":420},"/node_modules/unix-path-resolve/index.js":{"offset":1255602,"length":1356,"mode":420},"/node_modules/unix-path-resolve/package.json":{"offset":1256958,"length":651,"mode":420},"/node_modules/url-file-url/index.js":{"offset":1257609,"length":1702,"mode":420},"/node_modules/url-file-url/package.json":{"offset":1259311,"length":755,"mode":420},"/node_modules/which-runtime/index.js":{"offset":1260066,"length":1222,"mode":420},"/node_modules/which-runtime/package.json":{"offset":1261288,"length":602,"mode":420},"/node_modules/z32/index.js":{"offset":1261890,"length":2654,"mode":420},"/node_modules/z32/package.json":{"offset":1264544,"length":701,"mode":420},"/package.json":{"offset":1265245,"length":2147,"mode":420},"/preload.js":{"offset":1267392,"length":13810,"mode":420}}}
3
3
  /** @typedef {import('pear-interface')} */
4
4
  'use strict'
5
5
  const { isElectron, isElectronRenderer, isElectronWorker, isWindows } = require('which-runtime')
@@ -56,6 +56,7 @@ run.running?.catch(console.error)
56
56
 
57
57
  async function electronMain (cmd) {
58
58
  const state = new State({
59
+ startId: global.Pear.constructor.RTI.startId,
59
60
  dir: global.Pear.constructor.RTI.dir,
60
61
  link: cmd.args.link.replace('_||', '://'), // for Windows
61
62
  flags: cmd.flags,
@@ -651,15 +652,7 @@ class App {
651
652
 
652
653
  const { state } = this
653
654
 
654
- this.starting = this.ipc.start({
655
- startId: state.startId,
656
- args: state.args,
657
- flags: state.flags,
658
- env: state.env,
659
- dir: state.dir,
660
- link: state.link,
661
- cmdArgs: process.argv.slice(1)
662
- })
655
+ this.starting = this.ipc.identify({ startId: global.Pear.constructor.RTI.startId, startWait: true })
663
656
 
664
657
  this.starting.catch(async (err) => {
665
658
  await this.report({ err })
@@ -711,11 +704,8 @@ class App {
711
704
 
712
705
  decalSession.setUserAgent('Pear Platform')
713
706
  const entry = state.route
714
- const identify = await this.ipc.identify({ startId: state.startId })
715
- const { id } = identify
716
707
 
717
- state.update({ id, config: state.constructor.configFrom(state) })
718
- this.ipc.id = id
708
+ state.update({ config: state.constructor.configFrom(state) })
719
709
 
720
710
  const ctrl = await PearGUI.ctrl('window', entry, { state }, {
721
711
  ...guiOptions,
@@ -760,10 +750,9 @@ class App {
760
750
  if (state.type === 'commonjs') {
761
751
  throw new Error('"type": "commonjs" or no "type" in application package.json. Pear Desktop Applications are native EcmaScript Module (ESM) syntax only (CJS modules can be consumed, but applications must be ESM). To opt into ESM, set the package.json "type" field to "module".')
762
752
  }
763
-
764
- const { bail } = await this.starting
765
- if (bail) return false
766
- state.update({ config: await this.ipc.config() })
753
+ const { id } = await this.starting
754
+ const config = await this.ipc.config()
755
+ state.update({ id, config })
767
756
  applyGuiOptions(app.win, state.config.options.gui ?? {})
768
757
  if (app.closing) return false
769
758
  return true
@@ -13824,8 +13813,7 @@ module.exports = [
13824
13813
  flag('--rti <info>').hide(),
13825
13814
  flag('--key <key>', 'Advanced. Switch release lines').hide(),
13826
13815
  flag('--mem', 'Memory mode: RAM corestore').hide(),
13827
- flag('--dht-bootstrap <nodes>').hide(),
13828
- flag('--start-id <id>').hide()
13816
+ flag('--dht-bootstrap <nodes>').hide()
13829
13817
  ]
13830
13818
  'use strict'
13831
13819
  const { flag, arg, rest } = require('paparam')
@@ -13850,7 +13838,6 @@ module.exports = [
13850
13838
  flag('--no-ask', 'Suppress permissions dialog'),
13851
13839
  flag('--follow-symlinks|-f', 'Follow in-project symlinks'),
13852
13840
  flag('--rti <info>').hide(),
13853
- flag('--start-id <id>').hide(),
13854
13841
  flag('--dht-bootstrap <nodes>').hide(),
13855
13842
  flag('--encryption-key <name>').hide(),
13856
13843
  flag('--trusted').hide(),
@@ -13883,7 +13870,7 @@ const IPC_ID = 'pear'
13883
13870
  const PLATFORM_URL = LOCALDEV ? new URL('pear/', swapURL) : new URL('../../../', swapURL)
13884
13871
 
13885
13872
  const PLATFORM_DIR = toPath(PLATFORM_URL)
13886
- const PLATFORM_LOCK = toPath(new URL('corestores/platform/primary-key', PLATFORM_URL))
13873
+ const PLATFORM_LOCK = toPath(new URL('corestores/platform/db/LOCK', PLATFORM_URL))
13887
13874
 
13888
13875
  const RUNTIME_EXEC = isWindows
13889
13876
  ? 'pear-runtime.exe'
@@ -14593,11 +14580,14 @@ module.exports = class SignalError extends Error {
14593
14580
  }
14594
14581
  {
14595
14582
  "name": "pear-api",
14596
- "version": "1.6.16",
14583
+ "version": "1.6.20",
14597
14584
  "description": "Pear API Base & Integration Module",
14598
14585
  "main": "index.js",
14599
14586
  "scripts": {
14600
- "test": "echo \"Error: no test specified\" && exit 1"
14587
+ "lint": "standard",
14588
+ "lint:fix": "standard --fix",
14589
+ "test:gen": "brittle -r test/all.mjs test/*.test.js",
14590
+ "test": "bare test/all.mjs"
14601
14591
  },
14602
14592
  "files": [
14603
14593
  "cmd/",
@@ -14627,6 +14617,12 @@ module.exports = class SignalError extends Error {
14627
14617
  ],
14628
14618
  "author": "Holepunch",
14629
14619
  "license": "Apache-2.0",
14620
+ "standard": {
14621
+ "globals": [
14622
+ "Pear",
14623
+ "Bare"
14624
+ ]
14625
+ },
14630
14626
  "dependencies": {
14631
14627
  "b4a": "^1.6.7",
14632
14628
  "bare-hrtime": "^2.0.10",
@@ -14650,6 +14646,18 @@ module.exports = class SignalError extends Error {
14650
14646
  "url-file-url": "^1.0.4",
14651
14647
  "which-runtime": "^1.2.1",
14652
14648
  "z32": "^1.1.0"
14649
+ },
14650
+ "peerDependencies": {
14651
+ "hypercore-crypto": "^3.5.0",
14652
+ "script-linker": "^2.5.4"
14653
+ },
14654
+ "devDependencies": {
14655
+ "brittle": "^3.10.0",
14656
+ "hypercore-crypto": "^3.5.0",
14657
+ "iambus": "^1.0.3",
14658
+ "pear-ipc": "^3.3.0",
14659
+ "script-linker": "^2.5.4",
14660
+ "standard": "^17.1.2"
14653
14661
  }
14654
14662
  }
14655
14663
  'use strict'
@@ -14666,9 +14674,8 @@ const path = isBare ? require('bare-path') : require('path')
14666
14674
  const { pathToFileURL } = require('url-file-url')
14667
14675
  const hypercoreid = require('hypercore-id-encoding')
14668
14676
  const pearLink = require('pear-link')
14669
- const z32 = require('z32')
14670
14677
  const crypto = require('hypercore-crypto')
14671
- const { PLATFORM_DIR, SWAP, RUNTIME } = require('pear-api/constants')
14678
+ const { PLATFORM_DIR, SWAP, RUNTIME } = require('./constants')
14672
14679
  const CWD = isBare ? os.cwd() : process.cwd()
14673
14680
  const ENV = isBare ? require('bare-env') : process.env
14674
14681
  const parseLink = require('./parse-link')
@@ -14693,11 +14700,11 @@ module.exports = class State {
14693
14700
  entrypoints = null
14694
14701
  applink = null
14695
14702
  dht = null
14696
- ui = null
14697
14703
  route = null
14698
14704
  routes = null
14699
14705
  unrouted = null
14700
14706
  entrypoint = null
14707
+
14701
14708
  static injestPackage (state, pkg, overrides = {}) {
14702
14709
  state.manifest = pkg
14703
14710
  state.main = pkg?.main || 'index.html'
@@ -14728,7 +14735,6 @@ module.exports = class State {
14728
14735
  unrouted.add('/node_modules/.bin/')
14729
14736
  state.unrouted = Array.from(unrouted)
14730
14737
  let entrypoint = this.route(state.route, state.routes, state.unrouted)
14731
- if (this.isEntrypoint(entrypoint) === false) return
14732
14738
  if (entrypoint.startsWith('/') === false) entrypoint = '/' + entrypoint
14733
14739
  else if (entrypoint.startsWith('./')) entrypoint = entrypoint.slice(1)
14734
14740
  state.entrypoint = entrypoint
@@ -14757,40 +14763,25 @@ module.exports = class State {
14757
14763
  return { id, startId, key, links, alias, env, gui, options, checkpoint, checkout, flags, dev, tier, stage, storage, name, main, dependencies, args, channel, release, applink, fragment, link, linkData, entrypoint, route, routes, dir, dht, pearDir, swapDir }
14758
14764
  }
14759
14765
 
14760
- static isKeetInvite (segment) {
14761
- if (!segment || segment.length < 100) return false
14762
- try { z32.decode(segment) } catch { return false }
14763
- return true
14764
- }
14765
-
14766
- static isEntrypoint (pathname) {
14767
- if (pathname === null || pathname === '/') return false
14768
- // NOTE: return true once keet invite code detection is no longer needed, assess for removal October 2024
14769
- const segment = pathname = pathname?.startsWith('/') ? pathname.slice(1) : pathname
14770
- return this.isKeetInvite(segment) === false
14771
- }
14772
-
14773
14766
  update (state) {
14774
14767
  Object.assign(this, state)
14775
14768
  this.#onupdate()
14776
14769
  }
14777
14770
 
14778
14771
  constructor (params = {}) {
14779
- const { dht, link, id = null, args = null, env = ENV, cwd = CWD, dir = cwd, cmdArgs, onupdate = () => {}, flags, run, storage = null } = params
14772
+ const { dht, link, startId = null, id = null, args = null, env = ENV, cwd = CWD, dir = cwd, cmdArgs, onupdate = () => {}, flags, run, storage = null } = params
14780
14773
  const {
14781
- startId, appling, channel, devtools, checkout, links,
14774
+ appling, channel, devtools, checkout, links,
14782
14775
  dev = false, stage, updates, updatesDiff, followSymlinks,
14783
14776
  unsafeClearAppStorage, chromeWebrtcInternals
14784
14777
  } = flags
14785
14778
  const { drive: { alias = null, key = null }, pathname: route, protocol, hash } = link ? parseLink(link) : { drive: {} }
14786
14779
  const pathname = protocol === 'file:' ? (isWindows ? route.slice(1).slice(dir.length) : route.slice(dir.length)) : route
14787
- const segment = pathname?.startsWith('/') ? pathname.slice(1) : pathname
14788
- const fragment = hash ? hash.slice(1) : (this.constructor.isKeetInvite(segment) ? segment : null)
14789
14780
  const pkgPath = path.join(dir, 'package.json')
14790
14781
  const pkg = key === null ? readPkg(pkgPath) : null
14791
14782
  const store = flags.tmpStore ? path.join(os.tmpdir(), crypto.randomBytes(16).toString('hex')) : flags.store
14792
14783
  this.#onupdate = onupdate
14793
- this.startId = startId || null
14784
+ this.startId = startId
14794
14785
  this.dht = dht
14795
14786
  this.store = store
14796
14787
  this.args = args
@@ -14807,8 +14798,8 @@ module.exports = class State {
14807
14798
  this.updatesDiff = this.dev || updatesDiff
14808
14799
  this.updates = updates
14809
14800
  this.stage = stage
14810
- this.fragment = fragment
14811
- this.linkData = segment
14801
+ this.fragment = hash ? hash.slice(1) : null
14802
+ this.linkData = pathname?.startsWith('/') ? pathname.slice(1) : pathname
14812
14803
  this.link = link ? (link.startsWith(protocol) ? link : pearLink.normalize(pathToFileURL(link).toString())) : null
14813
14804
  this.key = key
14814
14805
  this.applink = key ? this.link.slice(0, -(~~(pathname?.length) + ~~(hash?.length))) : null
@@ -14826,8 +14817,8 @@ module.exports = class State {
14826
14817
  this.env.NODE_ENV = this.env.NODE_ENV || 'production'
14827
14818
  }
14828
14819
  this.constructor.injestPackage(this, pkg, { links })
14829
- const invalidStorage = this.key === null && this.storage !== null
14830
- && this.storage.startsWith(this.dir) && this.storage.includes(path.sep + 'pear' + path.sep + 'pear' + path.sep) === false
14820
+ const invalidStorage = this.key === null && this.storage !== null &&
14821
+ this.storage.startsWith(this.dir) && this.storage.includes(path.sep + 'pear' + path.sep + 'pear' + path.sep) === false
14831
14822
  if (invalidStorage) throw ERR_INVALID_APP_STORAGE('Application Storage may not be inside the project directory. --store "' + this.storage + '" is invalid')
14832
14823
  const invalidName = /^[@/a-z0-9-_]+$/.test(this.name) === false
14833
14824
  if (invalidName) throw ERR_INVALID_APP_NAME('The package.json name / pear.name field must be lowercase and one word, and may contain letters, numbers, hyphens (-), underscores (_), forward slashes (/) and asperands (@).')
@@ -14966,6 +14957,7 @@ class Worker {
14966
14957
  #ref = null
14967
14958
  #unref = null
14968
14959
  static RUNTIME = RUNTIME
14960
+ static RUNTIME_ARGV = []
14969
14961
  constructor ({ ref = noop, unref = noop } = {}) {
14970
14962
  this.#ref = ref
14971
14963
  this.#unref = unref
@@ -14989,7 +14981,7 @@ class Worker {
14989
14981
  }
14990
14982
 
14991
14983
  run (link, args = []) {
14992
- args = [...this.#args(link), ...args]
14984
+ args = [...this.constructor.RUNTIME_ARGV, ...this.#args(link), ...args]
14993
14985
  const sp = spawn(this.constructor.RUNTIME, args, {
14994
14986
  stdio: ['inherit', 'inherit', 'inherit', 'overlapped'],
14995
14987
  windowsHide: true
@@ -17216,6 +17208,62 @@ async function close (self) {
17216
17208
  "bare-events": "^2.2.0"
17217
17209
  }
17218
17210
  }
17211
+ module.exports = class RefCounter {
17212
+ constructor() {
17213
+ this.count = 0
17214
+
17215
+ this._onidle = null
17216
+ this._idle = null
17217
+ }
17218
+
17219
+ isIdle() {
17220
+ return this.count === 0
17221
+ }
17222
+
17223
+ idle() {
17224
+ if (this.count === 0) return Promise.resolve()
17225
+ if (this._idle !== null) return this._idle
17226
+
17227
+ this._idle = new Promise((resolve) => {
17228
+ this._onidle = resolve
17229
+ })
17230
+
17231
+ return this._idle
17232
+ }
17233
+
17234
+ inc() {
17235
+ this.count++
17236
+ }
17237
+
17238
+ dec() {
17239
+ if (--this.count > 0) return
17240
+
17241
+ if (this._onidle !== null) {
17242
+ const resolve = this._onidle
17243
+ this._idle = null
17244
+ this._onidle = null
17245
+ resolve()
17246
+ }
17247
+ }
17248
+ }
17249
+ {
17250
+ "name": "refcounter",
17251
+ "version": "1.0.0",
17252
+ "description": "Simple refcounter",
17253
+ "main": "index.js",
17254
+ "dependencies": {},
17255
+ "devDependencies": {},
17256
+ "repository": {
17257
+ "type": "git",
17258
+ "url": "https://github.com/holepunchto/refcounter.git"
17259
+ },
17260
+ "author": "Holepunch Inc",
17261
+ "license": "Apache-2.0",
17262
+ "bugs": {
17263
+ "url": "https://github.com/holepunchto/refcounter/issues"
17264
+ },
17265
+ "homepage": "https://github.com/holepunchto/refcounter"
17266
+ }
17219
17267
  const runtime = require('./lib/runtime')
17220
17268
 
17221
17269
  if (runtime === 'bare') {
@@ -17342,6 +17390,1375 @@ if (typeof require.addon === 'function') {
17342
17390
  "prettier-config-standard": "^7.0.0"
17343
17391
  }
17344
17392
  }
17393
+ let tmpResolve = null
17394
+ let tmpReject = null
17395
+
17396
+ if (Promise.withResolvers) {
17397
+ module.exports = Promise.withResolvers.bind(Promise)
17398
+ } else {
17399
+ module.exports = function resolveRejectPromise () {
17400
+ const promise = new Promise(setTmp)
17401
+ const result = { promise, resolve: tmpResolve, reject: tmpReject }
17402
+ tmpResolve = tmpReject = null
17403
+ return result
17404
+ }
17405
+ }
17406
+
17407
+ function setTmp (resolve, reject) {
17408
+ tmpResolve = resolve
17409
+ tmpReject = reject
17410
+ }
17411
+ {
17412
+ "name": "resolve-reject-promise",
17413
+ "version": "1.1.0",
17414
+ "description": "Create an inverted promise with no function allocs",
17415
+ "main": "index.js",
17416
+ "scripts": {
17417
+ "test": "standard"
17418
+ },
17419
+ "devDependencies": {
17420
+ "standard": "^17.1.2"
17421
+ },
17422
+ "repository": {
17423
+ "type": "git",
17424
+ "url": "https://github.com/mafintosh/resolve-reject-promise.git"
17425
+ },
17426
+ "author": "Mathias Buus (@mafintosh)",
17427
+ "license": "MIT",
17428
+ "bugs": {
17429
+ "url": "https://github.com/mafintosh/resolve-reject-promise/issues"
17430
+ },
17431
+ "homepage": "https://github.com/mafintosh/resolve-reject-promise"
17432
+ }
17433
+ require.addon = require('require-addon')
17434
+
17435
+ module.exports = require.addon('.', __filename)
17436
+ const ColumnFamily = require('./lib/column-family')
17437
+ const Iterator = require('./lib/iterator')
17438
+ const Snapshot = require('./lib/snapshot')
17439
+ const State = require('./lib/state')
17440
+ const { BloomFilterPolicy, RibbonFilterPolicy } = require('./lib/filter-policy')
17441
+
17442
+ class RocksDB {
17443
+ constructor(path, opts = {}) {
17444
+ const {
17445
+ columnFamily,
17446
+ state = new State(this, path, opts),
17447
+ snapshot = null,
17448
+ keyEncoding = null,
17449
+ valueEncoding = null
17450
+ } = opts
17451
+
17452
+ this._state = state
17453
+ this._snapshot = snapshot
17454
+ this._columnFamily = state.getColumnFamily(columnFamily)
17455
+ this._keyEncoding = keyEncoding
17456
+ this._valueEncoding = valueEncoding
17457
+ this._index = -1
17458
+
17459
+ this._state.addSession(this)
17460
+ }
17461
+
17462
+ get opened() {
17463
+ return this._state.opened
17464
+ }
17465
+
17466
+ get closed() {
17467
+ return this.isRoot() ? this._state.closed : this._index === -1
17468
+ }
17469
+
17470
+ get path() {
17471
+ return this._state.path
17472
+ }
17473
+
17474
+ get snapshotted() {
17475
+ return this._snapshot !== null
17476
+ }
17477
+
17478
+ get defaultColumnFamily() {
17479
+ return this._columnFamily
17480
+ }
17481
+
17482
+ session({
17483
+ columnFamily = this._columnFamily,
17484
+ snapshot = this._snapshot !== null,
17485
+ keyEncoding = this._keyEncoding,
17486
+ valueEncoding = this._valueEncoding
17487
+ } = {}) {
17488
+ maybeClosed(this)
17489
+
17490
+ return new RocksDB(null, {
17491
+ state: this._state,
17492
+ columnFamily,
17493
+ snapshot: snapshot ? this._snapshot || new Snapshot(this._state) : null,
17494
+ keyEncoding,
17495
+ valueEncoding
17496
+ })
17497
+ }
17498
+
17499
+ columnFamily(name, opts) {
17500
+ return this.session({ ...opts, columnFamily: name })
17501
+ }
17502
+
17503
+ snapshot() {
17504
+ return this.session({ snapshot: true })
17505
+ }
17506
+
17507
+ isRoot() {
17508
+ return this === this._state.db
17509
+ }
17510
+
17511
+ ready() {
17512
+ return this._state.ready()
17513
+ }
17514
+
17515
+ async close({ force } = {}) {
17516
+ if (this._index !== -1) this._state.removeSession(this)
17517
+
17518
+ if (force) {
17519
+ while (this._state.sessions.length > 0) {
17520
+ await this._state.sessions[this._state.sessions.length - 1].close()
17521
+ }
17522
+ }
17523
+
17524
+ return this.isRoot() ? this._state.close() : Promise.resolve()
17525
+ }
17526
+
17527
+ suspend() {
17528
+ maybeClosed(this)
17529
+
17530
+ return this._state.suspend()
17531
+ }
17532
+
17533
+ resume() {
17534
+ maybeClosed(this)
17535
+
17536
+ return this._state.resume()
17537
+ }
17538
+
17539
+ isIdle() {
17540
+ return this._state.handles.isIdle()
17541
+ }
17542
+
17543
+ idle() {
17544
+ return this._state.handles.idle()
17545
+ }
17546
+
17547
+ iterator(range, opts) {
17548
+ maybeClosed(this)
17549
+
17550
+ return new Iterator(this, { ...range, ...opts })
17551
+ }
17552
+
17553
+ async peek(range, opts) {
17554
+ for await (const value of this.iterator({ ...range, ...opts, limit: 1 })) {
17555
+ return value
17556
+ }
17557
+
17558
+ return null
17559
+ }
17560
+
17561
+ read(opts) {
17562
+ maybeClosed(this)
17563
+
17564
+ return this._state.createReadBatch(this, opts)
17565
+ }
17566
+
17567
+ write(opts) {
17568
+ maybeClosed(this)
17569
+
17570
+ return this._state.createWriteBatch(this, opts)
17571
+ }
17572
+
17573
+ flush(opts) {
17574
+ maybeClosed(this)
17575
+
17576
+ return this._state.flush(this, opts)
17577
+ }
17578
+
17579
+ async get(key, opts) {
17580
+ const batch = this.read({ ...opts, capacity: 1, autoDestroy: true })
17581
+ const value = batch.get(key)
17582
+ batch.tryFlush()
17583
+ return value
17584
+ }
17585
+
17586
+ async put(key, value, opts) {
17587
+ const batch = this.write({ ...opts, capacity: 1, autoDestroy: true })
17588
+ batch.tryPut(key, value)
17589
+ await batch.flush()
17590
+ }
17591
+
17592
+ async delete(key, opts) {
17593
+ const batch = this.write({ ...opts, capacity: 1, autoDestroy: true })
17594
+ batch.tryDelete(key)
17595
+ await batch.flush()
17596
+ }
17597
+
17598
+ async deleteRange(start, end, opts) {
17599
+ const batch = this.write({ ...opts, capacity: 1, autoDestroy: true })
17600
+ batch.tryDeleteRange(start, end)
17601
+ await batch.flush()
17602
+ }
17603
+
17604
+ _ref() {
17605
+ if (this._snapshot) this._snapshot.ref()
17606
+ this._state.handles.inc()
17607
+ }
17608
+
17609
+ _unref() {
17610
+ if (this._snapshot) this._snapshot.unref()
17611
+ this._state.handles.dec()
17612
+ }
17613
+ }
17614
+
17615
+ module.exports = exports = RocksDB
17616
+
17617
+ exports.ColumnFamily = ColumnFamily
17618
+ exports.BloomFilterPolicy = BloomFilterPolicy
17619
+ exports.RibbonFilterPolicy = RibbonFilterPolicy
17620
+
17621
+ function maybeClosed(db) {
17622
+ if (db._state.closing || db._index === -1)
17623
+ throw new Error('RocksDB session is closed')
17624
+ }
17625
+ const c = require('compact-encoding')
17626
+ const binding = require('../binding')
17627
+
17628
+ const empty = Buffer.alloc(0)
17629
+ const resolved = Promise.resolve()
17630
+
17631
+ class RocksDBBatch {
17632
+ constructor(db, opts = {}) {
17633
+ const { capacity = 8, autoDestroy = false } = opts
17634
+
17635
+ db._ref()
17636
+
17637
+ this._db = db
17638
+ this._destroyed = false
17639
+ this._capacity = capacity
17640
+ this._operations = []
17641
+ this._promises = []
17642
+
17643
+ this._enqueuePromise = this._enqueuePromise.bind(this)
17644
+
17645
+ this._request = null
17646
+ this._resolve = null
17647
+ this._reject = null
17648
+
17649
+ this._handle = null
17650
+ this._buffer = null
17651
+ this._autoDestroy = autoDestroy
17652
+
17653
+ if (db._state.opened === true) this.ready()
17654
+ }
17655
+
17656
+ _reuse(db, opts = {}) {
17657
+ const { autoDestroy = false } = opts
17658
+
17659
+ db._ref()
17660
+
17661
+ this._db = db
17662
+ this._destroyed = false
17663
+ this._autoDestroy = autoDestroy
17664
+ }
17665
+
17666
+ _onfinished(err) {
17667
+ const resolve = this._resolve
17668
+ const reject = this._reject
17669
+
17670
+ this._operations = []
17671
+ this._promises = []
17672
+ this._request = null
17673
+ this._resolve = null
17674
+ this._reject = null
17675
+ this._db._state.io.dec()
17676
+
17677
+ if (this._autoDestroy === true) this.destroy()
17678
+
17679
+ if (reject !== null && err) reject(err)
17680
+ else if (resolve !== null) resolve()
17681
+ }
17682
+
17683
+ _resize() {
17684
+ if (this._operations.length <= this._capacity) return false
17685
+
17686
+ while (this._operations.length > this._capacity) {
17687
+ this._capacity *= 2
17688
+ }
17689
+
17690
+ return true
17691
+ }
17692
+
17693
+ async ready() {
17694
+ if (this._handle !== null) return
17695
+
17696
+ if (this._db._state.opened === false) await this._db._state.ready()
17697
+
17698
+ this._init()
17699
+ }
17700
+
17701
+ destroy() {
17702
+ if (this._request) throw new Error('Request in progress')
17703
+ if (this._destroyed) return
17704
+
17705
+ this._destroyed = true
17706
+
17707
+ if (this._promises.length) this._abort()
17708
+
17709
+ this._db._unref()
17710
+ this._onfree()
17711
+ }
17712
+
17713
+ _onfree() {
17714
+ this._db._state.freeBatch(this, false)
17715
+ this._db = null
17716
+ }
17717
+
17718
+ _abort() {
17719
+ for (let i = 0; i < this._promises.length; i++) {
17720
+ const promise = this._promises[i]
17721
+ if (promise !== null) promise.reject(new Error('Batch is destroyed'))
17722
+ }
17723
+
17724
+ this._onfinished(new Error('Batch is destroyed'))
17725
+ }
17726
+
17727
+ async flush() {
17728
+ if (this._request) throw new Error('Request in progress')
17729
+ if (this._destroyed) throw new Error('Batch is destroyed')
17730
+
17731
+ this._request = new Promise((resolve, reject) => {
17732
+ this._resolve = resolve
17733
+ this._reject = reject
17734
+ })
17735
+
17736
+ this._flush()
17737
+
17738
+ return this._request
17739
+ }
17740
+
17741
+ tryFlush() {
17742
+ if (this._request) throw new Error('Request in progress')
17743
+ if (this._destroyed) throw new Error('Batch is destroyed')
17744
+
17745
+ this._request = resolved
17746
+
17747
+ this._flush()
17748
+ }
17749
+
17750
+ async _flush() {
17751
+ if (this._handle === null) await this.ready()
17752
+
17753
+ this._db._state.io.inc()
17754
+
17755
+ if (this._db._state.resumed !== null) {
17756
+ const resumed = await this._db._state.resumed.promise
17757
+
17758
+ if (!resumed) {
17759
+ if (this._destroyed) {
17760
+ this._db._state.io.dec()
17761
+ } else {
17762
+ this._destroyed = true
17763
+ this._abort()
17764
+ this._db._unref()
17765
+ }
17766
+ }
17767
+ }
17768
+ }
17769
+
17770
+ _enqueuePromise(resolve, reject) {
17771
+ this._promises.push({ resolve, reject })
17772
+ }
17773
+
17774
+ _encodeKey(k) {
17775
+ if (this._db._keyEncoding) return c.encode(this._db._keyEncoding, k)
17776
+ if (typeof k === 'string') return Buffer.from(k)
17777
+ return k
17778
+ }
17779
+
17780
+ _encodeValue(v) {
17781
+ if (this._db._valueEncoding) return c.encode(this._db._valueEncoding, v)
17782
+ if (v === null) return empty
17783
+ if (typeof v === 'string') return Buffer.from(v)
17784
+ return v
17785
+ }
17786
+
17787
+ _decodeValue(b) {
17788
+ if (this._db._valueEncoding) return c.decode(this._db._valueEncoding, b)
17789
+ return b
17790
+ }
17791
+ }
17792
+
17793
+ exports.ReadBatch = class RocksDBReadBatch extends RocksDBBatch {
17794
+ _init() {
17795
+ this._handle = binding.readInit()
17796
+ this._buffer = binding.readBuffer(this._handle, this._capacity)
17797
+ }
17798
+
17799
+ _resize() {
17800
+ if (super._resize() && this._handle !== null) {
17801
+ this._buffer = binding.readBuffer(this._handle, this._capacity)
17802
+ }
17803
+ }
17804
+
17805
+ async _flush() {
17806
+ await super._flush()
17807
+
17808
+ if (this._destroyed) return
17809
+
17810
+ try {
17811
+ binding.read(
17812
+ this._db._state._handle,
17813
+ this._handle,
17814
+ this._operations,
17815
+ this._db._snapshot ? this._db._snapshot._handle : null,
17816
+ this,
17817
+ this._onread
17818
+ )
17819
+ } catch (err) {
17820
+ this._db._state.io.dec()
17821
+ throw err
17822
+ }
17823
+ }
17824
+
17825
+ _onread(errs, values) {
17826
+ let applied = true
17827
+
17828
+ for (let i = 0, n = this._promises.length; i < n; i++) {
17829
+ const promise = this._promises[i]
17830
+ if (promise === null) continue
17831
+
17832
+ const err = errs[i]
17833
+
17834
+ if (err) {
17835
+ applied = false
17836
+
17837
+ promise.reject(new Error(err))
17838
+ } else {
17839
+ promise.resolve(
17840
+ values[i] ? this._decodeValue(Buffer.from(values[i])) : null
17841
+ )
17842
+ }
17843
+ }
17844
+
17845
+ this._onfinished(applied ? null : new Error('Batch was not applied'))
17846
+ }
17847
+
17848
+ get(key) {
17849
+ if (this._request) throw new Error('Request already in progress')
17850
+
17851
+ const promise = new Promise(this._enqueuePromise)
17852
+
17853
+ this._operations.push(
17854
+ new RocksDBGet(this._encodeKey(key), this._db._columnFamily)
17855
+ )
17856
+
17857
+ this._resize()
17858
+
17859
+ return promise
17860
+ }
17861
+ }
17862
+
17863
+ exports.WriteBatch = class RocksDBWriteBatch extends RocksDBBatch {
17864
+ _init() {
17865
+ this._handle = binding.writeInit()
17866
+ this._buffer = binding.writeBuffer(this._handle, this._capacity)
17867
+ }
17868
+
17869
+ _resize() {
17870
+ if (super._resize() && this._handle !== null) {
17871
+ this._buffer = binding.writeBuffer(this._handle, this._capacity)
17872
+ }
17873
+ }
17874
+
17875
+ _onfree() {
17876
+ this._db._state.freeBatch(this, true)
17877
+ }
17878
+
17879
+ async _flush() {
17880
+ await super._flush()
17881
+
17882
+ if (this._destroyed) return
17883
+
17884
+ try {
17885
+ binding.write(
17886
+ this._db._state._handle,
17887
+ this._handle,
17888
+ this._operations,
17889
+ this,
17890
+ this._onwrite
17891
+ )
17892
+ } catch (err) {
17893
+ this._db._state.io.dec()
17894
+ throw err
17895
+ }
17896
+ }
17897
+
17898
+ _onwrite(err) {
17899
+ let applied = true
17900
+
17901
+ for (let i = 0, n = this._promises.length; i < n; i++) {
17902
+ const promise = this._promises[i]
17903
+ if (promise === null) continue
17904
+
17905
+ if (err) {
17906
+ applied = false
17907
+
17908
+ promise.reject(new Error(err))
17909
+ } else {
17910
+ promise.resolve()
17911
+ }
17912
+ }
17913
+
17914
+ this._onfinished(applied ? null : new Error('Batch was not applied'))
17915
+ }
17916
+
17917
+ put(key, value) {
17918
+ if (this._request) throw new Error('Request already in progress')
17919
+
17920
+ const promise = new Promise(this._enqueuePromise)
17921
+
17922
+ this._operations.push(
17923
+ new RocksDBPut(
17924
+ this._encodeKey(key),
17925
+ this._encodeValue(value),
17926
+ this._db._columnFamily
17927
+ )
17928
+ )
17929
+
17930
+ this._resize()
17931
+
17932
+ return promise
17933
+ }
17934
+
17935
+ tryPut(key, value) {
17936
+ if (this._request) throw new Error('Request already in progress')
17937
+
17938
+ this._operations.push(
17939
+ new RocksDBPut(
17940
+ this._encodeKey(key),
17941
+ this._encodeValue(value),
17942
+ this._db._columnFamily
17943
+ )
17944
+ )
17945
+
17946
+ this._promises.push(null)
17947
+
17948
+ this._resize()
17949
+ }
17950
+
17951
+ delete(key) {
17952
+ if (this._request) throw new Error('Request already in progress')
17953
+
17954
+ const promise = new Promise(this._enqueuePromise)
17955
+
17956
+ this._operations.push(
17957
+ new RocksDBDelete(this._encodeKey(key), this._db._columnFamily)
17958
+ )
17959
+
17960
+ this._resize()
17961
+
17962
+ return promise
17963
+ }
17964
+
17965
+ tryDelete(key) {
17966
+ if (this._request) throw new Error('Request already in progress')
17967
+
17968
+ this._operations.push(
17969
+ new RocksDBDelete(this._encodeKey(key), this._db._columnFamily)
17970
+ )
17971
+
17972
+ this._promises.push(null)
17973
+
17974
+ this._resize()
17975
+ }
17976
+
17977
+ deleteRange(start, end) {
17978
+ if (this._request) throw new Error('Request already in progress')
17979
+
17980
+ const promise = new Promise(this._enqueuePromise)
17981
+
17982
+ this._operations.push(
17983
+ new RocksDBDeleteRange(
17984
+ this._encodeKey(start),
17985
+ this._encodeKey(end),
17986
+ this._db._columnFamily
17987
+ )
17988
+ )
17989
+
17990
+ this._resize()
17991
+
17992
+ return promise
17993
+ }
17994
+
17995
+ tryDeleteRange(start, end) {
17996
+ if (this._request) throw new Error('Request already in progress')
17997
+
17998
+ this._operations.push(
17999
+ new RocksDBDeleteRange(
18000
+ this._encodeKey(start),
18001
+ this._encodeKey(end),
18002
+ this._db._columnFamily
18003
+ )
18004
+ )
18005
+
18006
+ this._promises.push(null)
18007
+
18008
+ this._resize()
18009
+ }
18010
+ }
18011
+
18012
+ class RocksDBGet {
18013
+ constructor(key, columnFamily) {
18014
+ this.key = key
18015
+ this.columnFamily = columnFamily._handle
18016
+ }
18017
+
18018
+ get type() {
18019
+ return binding.GET
18020
+ }
18021
+ }
18022
+
18023
+ class RocksDBPut {
18024
+ constructor(key, value, columnFamily) {
18025
+ this.key = key
18026
+ this.value = value
18027
+ this.columnFamily = columnFamily._handle
18028
+ }
18029
+
18030
+ get type() {
18031
+ return binding.PUT
18032
+ }
18033
+ }
18034
+
18035
+ class RocksDBDelete {
18036
+ constructor(key, columnFamily) {
18037
+ this.key = key
18038
+ this.columnFamily = columnFamily._handle
18039
+ }
18040
+
18041
+ get type() {
18042
+ return binding.DELETE
18043
+ }
18044
+ }
18045
+
18046
+ class RocksDBDeleteRange {
18047
+ constructor(start, end, columnFamily) {
18048
+ this.start = start
18049
+ this.end = end
18050
+ this.columnFamily = columnFamily._handle
18051
+ }
18052
+
18053
+ get type() {
18054
+ return binding.DELETE_RANGE
18055
+ }
18056
+ }
18057
+ const binding = require('../binding')
18058
+ const { BloomFilterPolicy } = require('./filter-policy')
18059
+
18060
+ class RocksDBColumnFamily {
18061
+ constructor(name, opts = {}) {
18062
+ const {
18063
+ // Blob options
18064
+ enableBlobFiles = false,
18065
+ minBlobSize = 0,
18066
+ blobFileSize = 0,
18067
+ enableBlobGarbageCollection = true,
18068
+ // Block table options
18069
+ tableBlockSize = 8192,
18070
+ tableCacheIndexAndFilterBlocks = true,
18071
+ tableFormatVersion = 6,
18072
+ optimizeFiltersForMemory = false,
18073
+ blockCache = true,
18074
+ filterPolicy = new BloomFilterPolicy(10)
18075
+ } = opts
18076
+
18077
+ this._name = name
18078
+ this._flushing = null
18079
+ this._options = {
18080
+ enableBlobFiles,
18081
+ minBlobSize,
18082
+ blobFileSize,
18083
+ enableBlobGarbageCollection,
18084
+ tableBlockSize,
18085
+ tableCacheIndexAndFilterBlocks,
18086
+ tableFormatVersion,
18087
+ optimizeFiltersForMemory,
18088
+ blockCache,
18089
+ filterPolicy
18090
+ }
18091
+
18092
+ const filterPolicyArguments = []
18093
+
18094
+ if (filterPolicy === null) filterPolicyArguments.push(0)
18095
+ else {
18096
+ filterPolicyArguments.push(filterPolicy.type)
18097
+
18098
+ switch (filterPolicy.type) {
18099
+ case 1: // Bloom filter policy
18100
+ filterPolicyArguments.push(filterPolicy.bitsPerKey)
18101
+ break
18102
+ case 2: // Ribbon filter policy
18103
+ filterPolicyArguments.push(
18104
+ filterPolicy.bloomEquivalentBitsPerKey,
18105
+ filterPolicy.bloomBeforeLevel
18106
+ )
18107
+ break
18108
+ }
18109
+ }
18110
+
18111
+ this._handle = binding.columnFamilyInit(
18112
+ name,
18113
+ enableBlobFiles,
18114
+ minBlobSize,
18115
+ blobFileSize,
18116
+ enableBlobGarbageCollection,
18117
+ tableBlockSize,
18118
+ tableCacheIndexAndFilterBlocks,
18119
+ tableFormatVersion,
18120
+ optimizeFiltersForMemory,
18121
+ blockCache === false,
18122
+ ...filterPolicyArguments
18123
+ )
18124
+ }
18125
+
18126
+ cloneSettings(name) {
18127
+ return new RocksDBColumnFamily(name, this._options)
18128
+ }
18129
+
18130
+ get name() {
18131
+ return this._name
18132
+ }
18133
+
18134
+ destroy() {
18135
+ if (this._handle === null) return
18136
+
18137
+ binding.columnFamilyDestroy(this._handle)
18138
+
18139
+ this._handle = null
18140
+ }
18141
+ }
18142
+
18143
+ module.exports = RocksDBColumnFamily
18144
+ exports.BloomFilterPolicy = class RocksDBBloomFilterPolicy {
18145
+ get type() {
18146
+ return 1
18147
+ }
18148
+
18149
+ constructor(bitsPerKey) {
18150
+ this.bitsPerKey = bitsPerKey
18151
+ }
18152
+ }
18153
+
18154
+ exports.RibbonFilterPolicy = class RocksDBRibbonFilterPolicy {
18155
+ get type() {
18156
+ return 2
18157
+ }
18158
+
18159
+ constructor(bloomEquivalentBitsPerKey, bloomBeforeLevel = 0) {
18160
+ this.bloomEquivalentBitsPerKey = bloomEquivalentBitsPerKey
18161
+ this.bloomBeforeLevel = bloomBeforeLevel
18162
+ }
18163
+ }
18164
+ const { Readable } = require('streamx')
18165
+ const c = require('compact-encoding')
18166
+ const binding = require('../binding')
18167
+
18168
+ const empty = Buffer.alloc(0)
18169
+
18170
+ module.exports = class RocksDBIterator extends Readable {
18171
+ constructor(db, opts = {}) {
18172
+ const {
18173
+ gt = null,
18174
+ gte = null,
18175
+ lt = null,
18176
+ lte = null,
18177
+ reverse = false,
18178
+ limit = Infinity,
18179
+ capacity = 8
18180
+ } = opts
18181
+
18182
+ super()
18183
+
18184
+ db._ref()
18185
+
18186
+ this._db = db
18187
+
18188
+ this._gt = gt ? this._encodeKey(gt) : empty
18189
+ this._gte = gte ? this._encodeKey(gte) : empty
18190
+ this._lt = lt ? this._encodeKey(lt) : empty
18191
+ this._lte = lte ? this._encodeKey(lte) : empty
18192
+
18193
+ this._reverse = reverse
18194
+ this._limit = limit < 0 ? Infinity : limit
18195
+ this._capacity = capacity
18196
+ this._opened = false
18197
+
18198
+ this._pendingOpen = null
18199
+ this._pendingRead = null
18200
+ this._pendingDestroy = null
18201
+
18202
+ this._buffer = null
18203
+ this._handle = null
18204
+
18205
+ if (this._db._state.opened === true) this.ready()
18206
+ }
18207
+
18208
+ _onopen(err) {
18209
+ const cb = this._pendingOpen
18210
+ this._pendingOpen = null
18211
+ this._opened = true
18212
+ this._db._state.io.dec()
18213
+ cb(err)
18214
+ }
18215
+
18216
+ _onread(err, keys, values) {
18217
+ const cb = this._pendingRead
18218
+ this._pendingRead = null
18219
+ this._db._state.io.dec()
18220
+ if (err) return cb(err)
18221
+
18222
+ const n = keys.length
18223
+
18224
+ this._limit -= n
18225
+
18226
+ for (let i = 0; i < n; i++) {
18227
+ this.push({
18228
+ key: this._decodeKey(Buffer.from(keys[i])),
18229
+ value: this._decodeValue(Buffer.from(values[i]))
18230
+ })
18231
+ }
18232
+
18233
+ if (n < this._capacity) this.push(null)
18234
+
18235
+ cb(null)
18236
+ }
18237
+
18238
+ _onclose(err) {
18239
+ const cb = this._pendingDestroy
18240
+ this._pendingDestroy = null
18241
+ this._db._state.io.dec()
18242
+ this._db._unref()
18243
+ cb(err)
18244
+ }
18245
+
18246
+ _resize() {
18247
+ if (this._handle !== null) {
18248
+ this._buffer = binding.iteratorBuffer(this._handle, this._capacity)
18249
+ }
18250
+ }
18251
+
18252
+ async ready() {
18253
+ if (this._handle !== null) return
18254
+
18255
+ if (this._db._state.opened === false) await this._db._state.ready()
18256
+
18257
+ this._init()
18258
+ }
18259
+
18260
+ _init() {
18261
+ this._handle = binding.iteratorInit()
18262
+ this._buffer = binding.iteratorBuffer(this._handle, this._capacity)
18263
+ }
18264
+
18265
+ async _open(cb) {
18266
+ await this.ready()
18267
+
18268
+ this._db._state.io.inc()
18269
+
18270
+ if (this._db._state.resumed !== null) {
18271
+ const resumed = await this._db._state.resumed.promise
18272
+
18273
+ if (!resumed) {
18274
+ this._db._state.io.dec()
18275
+
18276
+ return cb(new Error('RocksDB session is closed'))
18277
+ }
18278
+ }
18279
+
18280
+ this._pendingOpen = cb
18281
+
18282
+ try {
18283
+ binding.iteratorOpen(
18284
+ this._db._state._handle,
18285
+ this._handle,
18286
+ this._db._columnFamily._handle,
18287
+ this._gt,
18288
+ this._gte,
18289
+ this._lt,
18290
+ this._lte,
18291
+ this._reverse,
18292
+ this._db._snapshot ? this._db._snapshot._handle : null,
18293
+ this,
18294
+ this._onopen,
18295
+ this._onclose,
18296
+ this._onread
18297
+ )
18298
+ } catch (err) {
18299
+ this._db._state.io.dec()
18300
+ throw err
18301
+ }
18302
+ }
18303
+
18304
+ async _read(cb) {
18305
+ this._db._state.io.inc()
18306
+
18307
+ if (this._db._state.resumed !== null) {
18308
+ const resumed = await this._db._state.resumed.promise
18309
+
18310
+ if (!resumed) {
18311
+ this._db._state.io.dec()
18312
+
18313
+ return cb(new Error('RocksDB session is closed'))
18314
+ }
18315
+ }
18316
+
18317
+ this._pendingRead = cb
18318
+
18319
+ try {
18320
+ binding.iteratorRead(this._handle, Math.min(this._capacity, this._limit))
18321
+ } catch (err) {
18322
+ this._db._state.io.dec()
18323
+ throw err
18324
+ }
18325
+ }
18326
+
18327
+ async _destroy(cb) {
18328
+ await this.ready()
18329
+
18330
+ this._db._state.io.inc()
18331
+
18332
+ this._pendingDestroy = cb
18333
+
18334
+ if (this._opened === false) {
18335
+ this._db._state.io.dec()
18336
+
18337
+ return this._onclose(null)
18338
+ }
18339
+
18340
+ try {
18341
+ binding.iteratorClose(this._handle)
18342
+ } catch (err) {
18343
+ this._db._state.io.dec()
18344
+ throw err
18345
+ }
18346
+ }
18347
+
18348
+ _encodeKey(k) {
18349
+ if (this._db._keyEncoding !== null)
18350
+ return c.encode(this._db._keyEncoding, k)
18351
+ if (typeof k === 'string') return Buffer.from(k)
18352
+ return k
18353
+ }
18354
+
18355
+ _decodeKey(b) {
18356
+ if (this._db._keyEncoding !== null)
18357
+ return c.decode(this._db._keyEncoding, b)
18358
+ return b
18359
+ }
18360
+
18361
+ _decodeValue(b) {
18362
+ if (this._db._valueEncoding !== null)
18363
+ return c.decode(this._db._valueEncoding, b)
18364
+ return b
18365
+ }
18366
+ }
18367
+ const binding = require('../binding')
18368
+
18369
+ module.exports = class RocksDBSnapshot {
18370
+ constructor(state) {
18371
+ this._state = state
18372
+
18373
+ this._handle = null
18374
+ this._refs = 0
18375
+
18376
+ if (state.deferSnapshotInit === false) this._init()
18377
+ }
18378
+
18379
+ _init() {
18380
+ this._handle = binding.snapshotCreate(this._state._handle)
18381
+ }
18382
+
18383
+ ref() {
18384
+ this._refs++
18385
+ }
18386
+
18387
+ unref() {
18388
+ if (--this._refs > 0) return
18389
+
18390
+ if (this._handle === null) return
18391
+
18392
+ binding.snapshotDestroy(this._handle)
18393
+
18394
+ this._handle = null
18395
+ }
18396
+ }
18397
+ const ReadyResource = require('ready-resource')
18398
+ const RefCounter = require('refcounter')
18399
+ const rrp = require('resolve-reject-promise')
18400
+ const { ReadBatch, WriteBatch } = require('./batch')
18401
+ const ColumnFamily = require('./column-family')
18402
+ const binding = require('../binding')
18403
+
18404
+ const MAX_BATCH_REUSE = 64
18405
+
18406
+ module.exports = class RocksDBState extends ReadyResource {
18407
+ constructor(db, path, opts) {
18408
+ super()
18409
+
18410
+ const {
18411
+ columnFamily = new ColumnFamily('default', opts),
18412
+ columnFamilies = [],
18413
+ readOnly = false,
18414
+ createIfMissing = true,
18415
+ createMissingColumnFamilies = true,
18416
+ maxBackgroundJobs = 6,
18417
+ bytesPerSync = 1048576,
18418
+ maxOpenFiles = -1,
18419
+ useDirectReads = false
18420
+ } = opts
18421
+
18422
+ this.path = path
18423
+ this.db = db
18424
+ this.handles = new RefCounter()
18425
+ this.io = new RefCounter()
18426
+ this.sessions = []
18427
+ this.columnFamilies = [columnFamily]
18428
+ this.deferSnapshotInit = true
18429
+ this.resumed = null
18430
+
18431
+ this._suspended = false
18432
+ this._suspending = null
18433
+ this._resuming = null
18434
+ this._columnsFlushed = false
18435
+ this._readBatches = []
18436
+ this._writeBatches = []
18437
+
18438
+ for (const columnFamily of columnFamilies) {
18439
+ this.columnFamilies.push(
18440
+ typeof columnFamily === 'string'
18441
+ ? new ColumnFamily(columnFamily, opts)
18442
+ : columnFamily
18443
+ )
18444
+ }
18445
+
18446
+ this._handle = binding.init(
18447
+ readOnly,
18448
+ createIfMissing,
18449
+ createMissingColumnFamilies,
18450
+ maxBackgroundJobs,
18451
+ bytesPerSync,
18452
+ maxOpenFiles,
18453
+ useDirectReads
18454
+ )
18455
+ }
18456
+
18457
+ createReadBatch(db, opts) {
18458
+ if (this._readBatches.length === 0) return new ReadBatch(db, opts)
18459
+ const batch = this._readBatches.pop()
18460
+ batch._reuse(db, opts)
18461
+ return batch
18462
+ }
18463
+
18464
+ createWriteBatch(db, opts) {
18465
+ if (this._writeBatches.length === 0) return new WriteBatch(db, opts)
18466
+ const batch = this._writeBatches.pop()
18467
+ batch._reuse(db, opts)
18468
+ return batch
18469
+ }
18470
+
18471
+ freeBatch(batch, writable) {
18472
+ const queue = writable ? this._writeBatches : this._readBatches
18473
+ if (queue.length >= MAX_BATCH_REUSE) return
18474
+ queue.push(batch)
18475
+ }
18476
+
18477
+ addSession(db) {
18478
+ db._index = this.sessions.push(db) - 1
18479
+ if (db._snapshot) db._snapshot.ref()
18480
+ }
18481
+
18482
+ removeSession(db) {
18483
+ const head = this.sessions.pop()
18484
+ if (head !== db) this.sessions[(head._index = db._index)] = head
18485
+ db._index = -1
18486
+ if (db._snapshot) db._snapshot.unref()
18487
+ }
18488
+
18489
+ upsertColumnFamily(c) {
18490
+ if (typeof c === 'string') {
18491
+ let col = this.getColumnFamilyByName(c)
18492
+ if (col) return col
18493
+ col = this.columnFamilies[0].cloneSettings(c)
18494
+ this.columnFamilies.push(col)
18495
+ return col
18496
+ }
18497
+
18498
+ if (this.columnFamilies.includes(c)) return c
18499
+ this.columnFamilies.push(c)
18500
+ return c
18501
+ }
18502
+
18503
+ getColumnFamily(c) {
18504
+ if (!c) return this.columnFamilies[0]
18505
+ if (!this._columnsFlushed) return this.upsertColumnFamily(c)
18506
+
18507
+ if (typeof c !== 'string') return c
18508
+
18509
+ const col = this.getColumnFamilyByName(c)
18510
+ if (col === null) throw new Error('Unknown column family')
18511
+ return col
18512
+ }
18513
+
18514
+ getColumnFamilyByName(name) {
18515
+ for (const col of this.columnFamilies) {
18516
+ if (col.name === name) return col
18517
+ }
18518
+ return null
18519
+ }
18520
+
18521
+ async _open() {
18522
+ await Promise.resolve() // allow column families to populate if ondemand
18523
+
18524
+ const req = { resolve: null, reject: null, handle: null }
18525
+
18526
+ const promise = new Promise((resolve, reject) => {
18527
+ req.resolve = resolve
18528
+ req.reject = reject
18529
+ })
18530
+
18531
+ this._columnsFlushed = true
18532
+
18533
+ req.handle = binding.open(
18534
+ this._handle,
18535
+ this,
18536
+ this.path,
18537
+ this.columnFamilies.map((c) => c._handle),
18538
+ req,
18539
+ onopen
18540
+ )
18541
+
18542
+ await promise
18543
+
18544
+ this.deferSnapshotInit = false
18545
+
18546
+ for (const session of this.sessions) {
18547
+ if (session._snapshot) session._snapshot._init()
18548
+ }
18549
+
18550
+ function onopen(err) {
18551
+ if (err) req.reject(new Error(err))
18552
+ else req.resolve()
18553
+ }
18554
+ }
18555
+
18556
+ async _close() {
18557
+ if (this.resumed) this.resumed.resolve(false)
18558
+
18559
+ while (!this.io.isIdle()) await this.io.idle()
18560
+ while (!this.handles.isIdle()) await this.handles.idle()
18561
+
18562
+ while (this.sessions.length > 0) {
18563
+ await this.sessions[this.sessions.length - 1].close()
18564
+ }
18565
+
18566
+ for (const columnFamily of this.columnFamilies) columnFamily.destroy()
18567
+
18568
+ const req = { resolve: null, reject: null, handle: null }
18569
+
18570
+ const promise = new Promise((resolve, reject) => {
18571
+ req.resolve = resolve
18572
+ req.reject = reject
18573
+ })
18574
+
18575
+ req.handle = binding.close(this._handle, req, onclose)
18576
+
18577
+ await promise
18578
+
18579
+ function onclose(err) {
18580
+ if (err) req.reject(new Error(err))
18581
+ else req.resolve()
18582
+ }
18583
+ }
18584
+
18585
+ async flush(db, opts) {
18586
+ if (this.opened === false) await this.ready()
18587
+
18588
+ this.io.inc()
18589
+
18590
+ if (this.resumed !== null) {
18591
+ const resumed = await this.resumed.promise
18592
+
18593
+ if (!resumed) {
18594
+ this.io.dec()
18595
+
18596
+ throw new Error('RocksDB session is closed')
18597
+ }
18598
+ }
18599
+
18600
+ const req = { resolve: null, reject: null, handle: null }
18601
+
18602
+ const promise = new Promise((resolve, reject) => {
18603
+ req.resolve = resolve
18604
+ req.reject = reject
18605
+ })
18606
+
18607
+ try {
18608
+ req.handle = binding.flush(
18609
+ this._handle,
18610
+ db._columnFamily._handle,
18611
+ req,
18612
+ onflush
18613
+ )
18614
+
18615
+ await promise
18616
+ } finally {
18617
+ this.io.dec()
18618
+ }
18619
+
18620
+ function onflush(err) {
18621
+ if (err) req.reject(new Error(err))
18622
+ else req.resolve()
18623
+ }
18624
+ }
18625
+
18626
+ async suspend() {
18627
+ if (this._suspending === null) this._suspending = this._suspend()
18628
+ return this._suspending
18629
+ }
18630
+
18631
+ async _suspend() {
18632
+ if (this.opened === false) await this.ready()
18633
+ if (this._resuming !== null) await this._resuming
18634
+ if (this._suspended === true) return
18635
+
18636
+ while (!this.io.isIdle()) await this.io.idle()
18637
+
18638
+ this.io.inc()
18639
+ this.resumed = rrp()
18640
+
18641
+ const req = { resolve: null, reject: null, handle: null }
18642
+
18643
+ const promise = new Promise((resolve, reject) => {
18644
+ req.resolve = resolve
18645
+ req.reject = reject
18646
+ })
18647
+
18648
+ try {
18649
+ req.handle = binding.suspend(this._handle, req, onsuspend)
18650
+
18651
+ await promise
18652
+
18653
+ this._suspended = true
18654
+ } finally {
18655
+ this.io.dec()
18656
+
18657
+ this._suspending = null
18658
+ }
18659
+
18660
+ function onsuspend(err) {
18661
+ if (err) req.reject(new Error(err))
18662
+ else req.resolve()
18663
+ }
18664
+ }
18665
+
18666
+ resume() {
18667
+ if (this._resuming === null) this._resuming = this._resume()
18668
+ return this._resuming
18669
+ }
18670
+
18671
+ async _resume() {
18672
+ if (this.opened === false) await this.ready()
18673
+ if (this._suspending !== null) await this._suspending
18674
+ if (this._suspended === false) return
18675
+
18676
+ this.io.inc()
18677
+
18678
+ const req = { resolve: null, reject: null, handle: null }
18679
+
18680
+ const promise = new Promise((resolve, reject) => {
18681
+ req.resolve = resolve
18682
+ req.reject = reject
18683
+ })
18684
+
18685
+ try {
18686
+ req.handle = binding.resume(this._handle, req, onresume)
18687
+
18688
+ await promise
18689
+
18690
+ this._suspended = false
18691
+ } finally {
18692
+ this.io.dec()
18693
+
18694
+ this._resuming = null
18695
+ }
18696
+
18697
+ const resumed = this.resumed
18698
+ this.resumed = null
18699
+ resumed.resolve(true)
18700
+
18701
+ function onresume(err) {
18702
+ if (err) req.reject(new Error(err))
18703
+ else req.resolve()
18704
+ }
18705
+ }
18706
+ }
18707
+ {
18708
+ "name": "rocksdb-native",
18709
+ "version": "3.5.5",
18710
+ "description": "librocksdb bindings for JavaScript",
18711
+ "exports": {
18712
+ ".": "./index.js",
18713
+ "./package": "./package.json"
18714
+ },
18715
+ "files": [
18716
+ "index.js",
18717
+ "binding.c",
18718
+ "binding.js",
18719
+ "CMakeLists.txt",
18720
+ "lib",
18721
+ "prebuilds",
18722
+ "!prebuilds/android-*/**/*.node"
18723
+ ],
18724
+ "addon": true,
18725
+ "scripts": {
18726
+ "test": "npm run lint && npm run test:bare && npm run test:node",
18727
+ "test:bare": "bare test.js",
18728
+ "test:node": "node test.js",
18729
+ "lint": "prettier . --check"
18730
+ },
18731
+ "repository": {
18732
+ "type": "git",
18733
+ "url": "git+https://github.com/holepunchto/rocksdb-native.git"
18734
+ },
18735
+ "author": "Holepunch Inc",
18736
+ "license": "Apache-2.0",
18737
+ "bugs": {
18738
+ "url": "https://github.com/holepunchto/rocksdb-native/issues"
18739
+ },
18740
+ "homepage": "https://github.com/holepunchto/rocksdb-native",
18741
+ "engines": {
18742
+ "bare": ">=1.16.0"
18743
+ },
18744
+ "dependencies": {
18745
+ "compact-encoding": "^2.15.0",
18746
+ "ready-resource": "^1.0.0",
18747
+ "refcounter": "^1.0.0",
18748
+ "require-addon": "^1.0.2",
18749
+ "resolve-reject-promise": "^1.1.0",
18750
+ "streamx": "^2.16.1"
18751
+ },
18752
+ "devDependencies": {
18753
+ "bare-compat-napi": "^1.3.0",
18754
+ "brittle": "^3.5.0",
18755
+ "cmake-bare": "^1.1.14",
18756
+ "cmake-fetch": "^1.0.1",
18757
+ "cmake-napi": "^1.0.6",
18758
+ "prettier": "^3.4.1",
18759
+ "prettier-config-standard": "^7.0.0"
18760
+ }
18761
+ }
17345
18762
  module.exports = safetyCatch
17346
18763
 
17347
18764
  function isActuallyUncaught (err) {
@@ -21929,7 +23346,7 @@ function quintet (s, i) {
21929
23346
  }
21930
23347
  {
21931
23348
  "name": "pear-electron",
21932
- "version": "1.1.8",
23349
+ "version": "1.1.10",
21933
23350
  "description": "Pear User-Interface Library for Electron",
21934
23351
  "main": "index.js",
21935
23352
  "bin": "bin.js",
@@ -21948,9 +23365,9 @@ function quintet (s, i) {
21948
23365
  "runtime.js"
21949
23366
  ],
21950
23367
  "pear": {
21951
- "runtimes": "pear://0.874.ckt1njenyargh9ngxbnyi4hq41wwjauubqku6none6cpt7wdzego",
23368
+ "runtimes": "pear://0.880.ckt1njenyargh9ngxbnyi4hq41wwjauubqku6none6cpt7wdzego",
21952
23369
  "name": "pear-electron",
21953
- "presets": {
23370
+ "pattern": {
21954
23371
  "stage": {
21955
23372
  "ignore": [
21956
23373
  "/node_modules/**/prebuilds"
@@ -21993,7 +23410,7 @@ function quintet (s, i) {
21993
23410
  "localdrive": "^1.12.1",
21994
23411
  "node-bare-bundle": "^1.4.2",
21995
23412
  "paparam": "^1.6.1",
21996
- "pear-api": "^1.6.16",
23413
+ "pear-api": "^1.6.20",
21997
23414
  "pear-interface": "^1.0.3",
21998
23415
  "pear-ipc": "^3.2.0",
21999
23416
  "pear-link": "^2.0.6",
@@ -22010,7 +23427,8 @@ function quintet (s, i) {
22010
23427
  "bare-module": "^4.8.0",
22011
23428
  "graceful-goodbye": "^1.3.2",
22012
23429
  "pear-pack": "^1.0.1",
22013
- "redhat-overpass-font": "^1.0.0"
23430
+ "redhat-overpass-font": "^1.0.0",
23431
+ "rocksdb-native": "^3.5.5"
22014
23432
  }
22015
23433
  }
22016
23434
  'use strict'