@e280/mammoth 0.1.0-14 → 0.1.0-15

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@e280/mammoth",
3
- "version": "0.1.0-14",
3
+ "version": "0.1.0-15",
4
4
  "description": "big file storage",
5
5
  "license": "MIT",
6
6
  "author": "Chase Moskal <chasemoskal@gmail.com>",
@@ -23,11 +23,11 @@
23
23
  "count": "find s -path '*/_archive' -prune -o -name '*.ts' -exec wc -l {} +"
24
24
  },
25
25
  "peerDependencies": {
26
- "@e280/kv": "^0.1.5"
26
+ "@e280/kv": "^0.2.0-1"
27
27
  },
28
28
  "dependencies": {
29
29
  "@awasm/noble": "^0.1.4",
30
- "@e280/stz": "^0.3.5"
30
+ "@e280/stz": "^0.3.6"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@e280/octo": "^0.1.3",
@@ -1,12 +1,12 @@
1
1
 
2
- import {Kv, StorageDriver} from "@e280/kv"
2
+ import {Kv, StorageMagazine} from "@e280/kv"
3
3
  import {Mammoth} from "../core/mammoth.js"
4
4
  import {OpfsBucket} from "./opfs-bucket.js"
5
5
 
6
6
  export async function example() {
7
7
 
8
8
  // setup the localstorage kv
9
- const driver = new StorageDriver(window.localStorage)
9
+ const driver = new StorageMagazine()
10
10
  const kv = new Kv(driver).scope("mammoth")
11
11
 
12
12
  // setup the opfs file bucket
@@ -11,16 +11,16 @@ export async function commit(manifest: Manifest, hash: Hash, info: Info) {
11
11
  const s = await getStats(manifest)
12
12
  s.count += 1
13
13
  s.size += info.size
14
- await kv.transaction(() => [
15
- writes.write.del(info.id),
16
- catalog.write.set(hash, info),
17
- stats.write.set(s)
14
+ await kv.commit([
15
+ writes.op.delete(info.id),
16
+ catalog.op.set(hash, info),
17
+ stats.op.set(s),
18
18
  ])
19
19
  }
20
20
  else {
21
- await kv.transaction(() => [
22
- writes.write.del(info.id),
23
- trash.write.set(info.id, true),
21
+ await kv.commit([
22
+ writes.op.delete(info.id),
23
+ trash.op.set(info.id, true),
24
24
  ])
25
25
  }
26
26
  }
@@ -3,9 +3,9 @@ import {Id} from "../../types.js"
3
3
  import {Manifest} from "../manifest.js"
4
4
 
5
5
  export async function moveWriteToTrash({kv, writes, trash}: Manifest, id: Id) {
6
- await kv.transaction(() => [
7
- writes.write.del(id),
8
- trash.write.set(id, true),
6
+ await kv.commit([
7
+ writes.op.delete(id),
8
+ trash.op.set(id, true),
9
9
  ])
10
10
  }
11
11
 
@@ -10,10 +10,10 @@ export async function scheduleDeletion(manifest: Manifest, hash: Hash, info: Inf
10
10
  s.count -= 1
11
11
  s.size -= info.size
12
12
 
13
- await kv.transaction(() => [
14
- catalog.write.del(hash),
15
- trash.write.set(info.id, true),
16
- stats.write.set(s),
13
+ await kv.commit([
14
+ catalog.op.delete(hash),
15
+ trash.op.set(info.id, true),
16
+ stats.op.set(s),
17
17
  ])
18
18
  }
19
19
 
@@ -10,7 +10,7 @@ export async function cleanup(bucket: Bucket, manifest: Manifest) {
10
10
 
11
11
  for await (const id of manifest.trash.keys()) {
12
12
  await bucket.delete(id)
13
- await manifest.trash.del(id)
13
+ await manifest.trash.delete(id)
14
14
  }
15
15
  }
16
16
 
@@ -1,9 +1,9 @@
1
- import { Kv, StorageDriver } from "@e280/kv";
1
+ import { Kv, StorageMagazine } from "@e280/kv";
2
2
  import { Mammoth } from "../core/mammoth.js";
3
3
  import { OpfsBucket } from "./opfs-bucket.js";
4
4
  export async function example() {
5
5
  // setup the localstorage kv
6
- const driver = new StorageDriver(window.localStorage);
6
+ const driver = new StorageMagazine();
7
7
  const kv = new Kv(driver).scope("mammoth");
8
8
  // setup the opfs file bucket
9
9
  const root = await navigator.storage.getDirectory();
@@ -1 +1 @@
1
- {"version":3,"file":"example.js","sourceRoot":"","sources":["../../s/browser/example.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,EAAE,EAAE,aAAa,EAAC,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAE3C,MAAM,CAAC,KAAK,UAAU,OAAO;IAE5B,4BAA4B;IAC5B,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IACrD,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAE1C,6BAA6B;IAC7B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,CAAA;IACnD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC,CAAA;IAC1E,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAA;IAExC,oBAAoB;IACpB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAEnE,6BAA6B;IAC7B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IACjD,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,GAAG,CAAC,CAAA;AAC7C,CAAC"}
1
+ {"version":3,"file":"example.js","sourceRoot":"","sources":["../../s/browser/example.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,EAAE,EAAE,eAAe,EAAC,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAE3C,MAAM,CAAC,KAAK,UAAU,OAAO;IAE5B,4BAA4B;IAC5B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;IACpC,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAE1C,6BAA6B;IAC7B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,CAAA;IACnD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC,CAAA;IAC1E,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAA;IAExC,oBAAoB;IACpB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAEnE,6BAA6B;IAC7B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IACjD,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,GAAG,CAAC,CAAA;AAC7C,CAAC"}
@@ -3,8 +3,8 @@ import { Hash, Bucket } from "./types.js";
3
3
  /** file storage datalake, content-addressed with blake3 hashes. */
4
4
  export declare class Mammoth {
5
5
  #private;
6
- constructor(bucket?: Bucket, kv?: Kv<any>);
7
- entries(): AsyncGenerator<[string, import("./types.js").Info], void, unknown>;
6
+ constructor(bucket?: Bucket, kv?: Kv<unknown>);
7
+ entries(): AsyncGenerator<import("@e280/kv").Pair<import("./types.js").Info>, void, unknown>;
8
8
  has(hash: Hash): Promise<boolean>;
9
9
  info(hash: Hash): Promise<import("./types.js").Info>;
10
10
  stats(): Promise<import("./types.js").Stats>;
@@ -6,16 +6,16 @@ export async function commit(manifest, hash, info) {
6
6
  const s = await getStats(manifest);
7
7
  s.count += 1;
8
8
  s.size += info.size;
9
- await kv.transaction(() => [
10
- writes.write.del(info.id),
11
- catalog.write.set(hash, info),
12
- stats.write.set(s)
9
+ await kv.commit([
10
+ writes.op.delete(info.id),
11
+ catalog.op.set(hash, info),
12
+ stats.op.set(s),
13
13
  ]);
14
14
  }
15
15
  else {
16
- await kv.transaction(() => [
17
- writes.write.del(info.id),
18
- trash.write.set(info.id, true),
16
+ await kv.commit([
17
+ writes.op.delete(info.id),
18
+ trash.op.set(info.id, true),
19
19
  ]);
20
20
  }
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"commit.js","sourceRoot":"","sources":["../../../../s/core/manifest/fns/commit.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAIvC,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,QAAkB,EAAE,IAAU,EAAE,IAAU;IACtE,MAAM,EAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAC,GAAG,QAAQ,CAAA;IACpD,MAAM,SAAS,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAE1C,IAAI,SAAS,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAClC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;QACZ,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAA;QACnB,MAAM,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;YAC7B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;SAClB,CAAC,CAAA;IACH,CAAC;SACI,CAAC;QACL,MAAM,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;SAC9B,CAAC,CAAA;IACH,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"commit.js","sourceRoot":"","sources":["../../../../s/core/manifest/fns/commit.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAIvC,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,QAAkB,EAAE,IAAU,EAAE,IAAU;IACtE,MAAM,EAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAC,GAAG,QAAQ,CAAA;IACpD,MAAM,SAAS,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAE1C,IAAI,SAAS,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAClC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;QACZ,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAA;QACnB,MAAM,EAAE,CAAC,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;YAC1B,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACf,CAAC,CAAA;IACH,CAAC;SACI,CAAC;QACL,MAAM,EAAE,CAAC,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;SAC3B,CAAC,CAAA;IACH,CAAC;AACF,CAAC"}
@@ -1,7 +1,7 @@
1
1
  export async function moveWriteToTrash({ kv, writes, trash }, id) {
2
- await kv.transaction(() => [
3
- writes.write.del(id),
4
- trash.write.set(id, true),
2
+ await kv.commit([
3
+ writes.op.delete(id),
4
+ trash.op.set(id, true),
5
5
  ]);
6
6
  }
7
7
  //# sourceMappingURL=move-write-to-trash.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"move-write-to-trash.js","sourceRoot":"","sources":["../../../../s/core/manifest/fns/move-write-to-trash.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAW,EAAE,EAAM;IAC3E,MAAM,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC;KACzB,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"move-write-to-trash.js","sourceRoot":"","sources":["../../../../s/core/manifest/fns/move-write-to-trash.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAW,EAAE,EAAM;IAC3E,MAAM,EAAE,CAAC,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC;KACtB,CAAC,CAAA;AACH,CAAC"}
@@ -4,10 +4,10 @@ export async function scheduleDeletion(manifest, hash, info) {
4
4
  const s = await getStats(manifest);
5
5
  s.count -= 1;
6
6
  s.size -= info.size;
7
- await kv.transaction(() => [
8
- catalog.write.del(hash),
9
- trash.write.set(info.id, true),
10
- stats.write.set(s),
7
+ await kv.commit([
8
+ catalog.op.delete(hash),
9
+ trash.op.set(info.id, true),
10
+ stats.op.set(s),
11
11
  ]);
12
12
  }
13
13
  //# sourceMappingURL=schedule-deletion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-deletion.js","sourceRoot":"","sources":["../../../../s/core/manifest/fns/schedule-deletion.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAIvC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAkB,EAAE,IAAU,EAAE,IAAU;IAChF,MAAM,EAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAC,GAAG,QAAQ,CAAA;IAE5C,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAClC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;IACZ,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAA;IAEnB,MAAM,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QACvB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;QAC9B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;KAClB,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"schedule-deletion.js","sourceRoot":"","sources":["../../../../s/core/manifest/fns/schedule-deletion.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAIvC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAkB,EAAE,IAAU,EAAE,IAAU;IAChF,MAAM,EAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAC,GAAG,QAAQ,CAAA;IAE5C,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAClC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;IACZ,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAA;IAEnB,MAAM,EAAE,CAAC,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;QACvB,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;QAC3B,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KACf,CAAC,CAAA;AACH,CAAC"}
@@ -5,7 +5,7 @@ export async function cleanup(bucket, manifest) {
5
5
  await moveWriteToTrash(manifest, id);
6
6
  for await (const id of manifest.trash.keys()) {
7
7
  await bucket.delete(id);
8
- await manifest.trash.del(id);
8
+ await manifest.trash.delete(id);
9
9
  }
10
10
  }
11
11
  //# sourceMappingURL=cleanup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../../s/core/utils/cleanup.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,gBAAgB,EAAC,MAAM,uCAAuC,CAAA;AACtE,OAAO,EAAC,gBAAgB,EAAC,MAAM,wCAAwC,CAAA;AAEvE,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAc,EAAE,QAAkB;IAC/D,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,gBAAgB,CAAC,QAAQ,CAAC;QAChD,MAAM,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAErC,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9C,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACvB,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC7B,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../../s/core/utils/cleanup.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,gBAAgB,EAAC,MAAM,uCAAuC,CAAA;AACtE,OAAO,EAAC,gBAAgB,EAAC,MAAM,wCAAwC,CAAA;AAEvE,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAc,EAAE,QAAkB;IAC/D,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,gBAAgB,CAAC,QAAQ,CAAC;QAChD,MAAM,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAErC,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9C,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACvB,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAChC,CAAC;AACF,CAAC"}