@moyodb/sdk 0.0.0-alpha.1
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.
- package/README.md +51 -0
- package/dist/assets/worker-CaOzbBz1.js +2351 -0
- package/dist/assets/worker-CaOzbBz1.js.map +1 -0
- package/dist/change-events.d.ts +29 -0
- package/dist/change-events.d.ts.map +1 -0
- package/dist/codec.d.ts +17 -0
- package/dist/codec.d.ts.map +1 -0
- package/dist/compression.d.ts +11 -0
- package/dist/compression.d.ts.map +1 -0
- package/dist/demo.d.ts +21 -0
- package/dist/demo.d.ts.map +1 -0
- package/dist/engine/README.md +56 -0
- package/dist/engine/moyodb_engine.d.ts +127 -0
- package/dist/engine/moyodb_engine.js +1193 -0
- package/dist/engine/moyodb_engine_bg.wasm +0 -0
- package/dist/engine/moyodb_engine_bg.wasm.d.ts +52 -0
- package/dist/engine/package.json +21 -0
- package/dist/engine/snippets/moyodb-engine-cff0a0e2441a7a8f/js/opfs_shim.js +402 -0
- package/dist/errors.d.ts +77 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/indexing.d.ts +33 -0
- package/dist/indexing.d.ts.map +1 -0
- package/dist/internal.d.ts +4 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/moyodb-sdk.js +1988 -0
- package/dist/moyodb-sdk.js.map +1 -0
- package/dist/moyodb-sdk.umd.cjs +2 -0
- package/dist/moyodb-sdk.umd.cjs.map +1 -0
- package/dist/registry.d.ts +33 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/subscriptions.d.ts +10 -0
- package/dist/subscriptions.d.ts.map +1 -0
- package/dist/types.d.ts +158 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/worker-api.d.ts +51 -0
- package/dist/worker-api.d.ts.map +1 -0
- package/dist/worker-client.d.ts +67 -0
- package/dist/worker-client.d.ts.map +1 -0
- package/dist/worker-protocol.d.ts +86 -0
- package/dist/worker-protocol.d.ts.map +1 -0
- package/dist/worker-server.d.ts +6 -0
- package/dist/worker-server.d.ts.map +1 -0
- package/dist/worker.d.ts +2 -0
- package/dist/worker.d.ts.map +1 -0
- package/package.json +71 -0
package/README.md
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# @moyodb/sdk
|
|
2
|
+
|
|
3
|
+
TypeScript SDK for **MoyoDB**, an experimental Rust/WASM transactional key-value storage engine for browser apps.
|
|
4
|
+
|
|
5
|
+
The package name is lowercase/scoped for npm compatibility. The public brand is **MoyoDB**.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @moyodb/sdk
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
This repository snapshot is prepared for `v0.0.0-alpha.1` package-readiness checks; publishing is not performed automatically.
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
import { openDB, utf8Encode, utf8Decode } from '@moyodb/sdk';
|
|
19
|
+
|
|
20
|
+
const db = await openDB('app', { requestPersistence: false });
|
|
21
|
+
await db.createStore('kv');
|
|
22
|
+
await db.put('kv', utf8Encode('hello'), utf8Encode('world'));
|
|
23
|
+
|
|
24
|
+
const value = await db.get('kv', utf8Encode('hello'));
|
|
25
|
+
console.log(value ? utf8Decode(value) : null);
|
|
26
|
+
await db.close();
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Runtime requirements
|
|
30
|
+
|
|
31
|
+
The SDK expects a secure browser context with OPFS, Web Workers, BroadcastChannel, Web Locks, and Worker-side `FileSystemSyncAccessHandle` support. Unsupported browsers should receive a clear `UnsupportedPlatformError`.
|
|
32
|
+
|
|
33
|
+
## Local build
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npm ci
|
|
37
|
+
npm run build:wasm
|
|
38
|
+
npm run typecheck
|
|
39
|
+
npm run build
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Benchmarks
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
npm run bench:browser
|
|
46
|
+
npm run bench:indexeddb
|
|
47
|
+
npm run bench:opfs
|
|
48
|
+
npm run bench:report
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Native Rust microbenchmarks measure the engine core only. Browser benchmarks measure the SDK/WASM/Worker/OPFS path. IndexedDB comparison rows depend on browser, device, batch size, transaction boundaries, and workload.
|