@e280/mammoth 0.1.0-14 → 0.1.0-16

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 (82) hide show
  1. package/README.md +10 -12
  2. package/package.json +3 -4
  3. package/s/core/{memory-bucket.ts → buckets/memory-bucket.ts} +2 -2
  4. package/s/{browser → core/buckets}/opfs-bucket.ts +4 -4
  5. package/s/core/index.ts +6 -3
  6. package/s/core/mammoth.ts +1 -1
  7. package/s/core/manifest/fns/commit.ts +7 -7
  8. package/s/core/manifest/fns/get-expired-writes.ts +1 -1
  9. package/s/core/manifest/fns/move-write-to-trash.ts +3 -3
  10. package/s/core/manifest/fns/need-info.ts +2 -2
  11. package/s/core/manifest/fns/schedule-deletion.ts +4 -4
  12. package/s/core/manifest/manifest.ts +3 -2
  13. package/s/core/manifest/types.ts +5 -0
  14. package/s/core/{analyze.ts → parts/analyze.ts} +6 -3
  15. package/s/core/types.ts +0 -4
  16. package/s/core/utils/cleanup.ts +1 -1
  17. package/s/core/utils/is-expired.ts +1 -2
  18. package/s/{browser → core}/utils/is-not-found.ts +1 -1
  19. package/s/core/utils/not-found.ts +1 -1
  20. package/s/test.ts +1 -1
  21. package/x/core/{memory-bucket.d.ts → buckets/memory-bucket.d.ts} +1 -1
  22. package/x/core/{memory-bucket.js → buckets/memory-bucket.js} +1 -1
  23. package/x/core/buckets/memory-bucket.js.map +1 -0
  24. package/x/{browser → core/buckets}/opfs-bucket.d.ts +1 -1
  25. package/x/{browser → core/buckets}/opfs-bucket.js +3 -3
  26. package/x/core/buckets/opfs-bucket.js.map +1 -0
  27. package/x/core/index.d.ts +4 -3
  28. package/x/core/index.js +4 -3
  29. package/x/core/index.js.map +1 -1
  30. package/x/core/mammoth.d.ts +2 -2
  31. package/x/core/mammoth.js +1 -1
  32. package/x/core/mammoth.js.map +1 -1
  33. package/x/core/manifest/fns/commit.js +7 -7
  34. package/x/core/manifest/fns/commit.js.map +1 -1
  35. package/x/core/manifest/fns/get-expired-writes.js +1 -1
  36. package/x/core/manifest/fns/get-expired-writes.js.map +1 -1
  37. package/x/core/manifest/fns/move-write-to-trash.js +3 -3
  38. package/x/core/manifest/fns/move-write-to-trash.js.map +1 -1
  39. package/x/core/manifest/fns/need-info.js +2 -2
  40. package/x/core/manifest/fns/need-info.js.map +1 -1
  41. package/x/core/manifest/fns/schedule-deletion.js +4 -4
  42. package/x/core/manifest/fns/schedule-deletion.js.map +1 -1
  43. package/x/core/manifest/manifest.d.ts +3 -2
  44. package/x/core/manifest/manifest.js.map +1 -1
  45. package/x/core/manifest/types.d.ts +3 -0
  46. package/x/core/manifest/types.js +2 -0
  47. package/x/core/manifest/types.js.map +1 -0
  48. package/x/core/{analyze.d.ts → parts/analyze.d.ts} +1 -1
  49. package/x/core/{analyze.js → parts/analyze.js} +1 -1
  50. package/x/core/parts/analyze.js.map +1 -0
  51. package/x/core/parts/streamify.js.map +1 -0
  52. package/x/core/types.d.ts +0 -3
  53. package/x/core/utils/cleanup.js +1 -1
  54. package/x/core/utils/cleanup.js.map +1 -1
  55. package/x/core/utils/is-expired.d.ts +1 -2
  56. package/x/core/utils/is-expired.js +1 -1
  57. package/x/core/utils/is-expired.js.map +1 -1
  58. package/x/core/utils/is-not-found.d.ts +1 -0
  59. package/x/{browser → core}/utils/is-not-found.js +1 -1
  60. package/x/core/utils/is-not-found.js.map +1 -0
  61. package/x/core/utils/not-found.d.ts +1 -1
  62. package/x/core/utils/not-found.js +1 -1
  63. package/x/core/utils/not-found.js.map +1 -1
  64. package/x/test.js +1 -1
  65. package/x/test.js.map +1 -1
  66. package/s/browser/example.ts +0 -25
  67. package/s/browser/index.ts +0 -4
  68. package/x/browser/example.d.ts +0 -1
  69. package/x/browser/example.js +0 -19
  70. package/x/browser/example.js.map +0 -1
  71. package/x/browser/index.d.ts +0 -2
  72. package/x/browser/index.js +0 -3
  73. package/x/browser/index.js.map +0 -1
  74. package/x/browser/opfs-bucket.js.map +0 -1
  75. package/x/browser/utils/is-not-found.d.ts +0 -1
  76. package/x/browser/utils/is-not-found.js.map +0 -1
  77. package/x/core/analyze.js.map +0 -1
  78. package/x/core/memory-bucket.js.map +0 -1
  79. package/x/core/streamify.js.map +0 -1
  80. /package/s/core/{streamify.ts → parts/streamify.ts} +0 -0
  81. /package/x/core/{streamify.d.ts → parts/streamify.d.ts} +0 -0
  82. /package/x/core/{streamify.js → parts/streamify.js} +0 -0
package/README.md CHANGED
@@ -49,27 +49,25 @@ const mammoth = new Mammoth()
49
49
  ```ts
50
50
  const mammoth = new Mammoth()
51
51
  ```
52
- - **disk bucket,** for nodejs servers. *(note the import paths)*
52
+ - **disk bucket,** for nodejs servers, example using [leveldb](https://github.com/google/leveldb). *(note the import paths)*
53
53
  ```ts
54
- import {Mammoth} from "@e280/mammoth"
55
- import {DiskBucket} from "@e280/mammoth/node"
56
- import {Kv} from "@e280/kv"
57
- import {LevelDriver} from "@e280/kv/level"
54
+ import {Mammoth, DiskBucket} from "@e280/mammoth/node"
55
+ import {Kv, LevelMagazine} from "@e280/kv"
56
+ import {Level} from "level"
58
57
 
59
58
  const mammoth = new Mammoth(
60
- new DiskBucket("./data/bucket"),
61
- new Kv(new LevelDriver("./data/kv")),
59
+ new DiskBucket("./data/mammoth/bucket"),
60
+ new Kv(new LevelMagazine(new Level("./data/mammoth/kv"))),
62
61
  )
63
62
  ```
64
- - **opfs bucket,** for local storage in the browser. *(note the import paths)*
63
+ - **[opfs](https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system) bucket and [indexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API) kv,** for clientside in-browser storage.
65
64
  ```ts
66
- import {Mammoth} from "@e280/mammoth"
67
- import {OpfsBucket} from "@e280/mammoth/browser"
68
- import {Kv, StorageDriver} from "@e280/kv"
65
+ import {Mammoth, OpfsBucket} from "@e280/mammoth"
66
+ import {Kv, idbOpen, IdbMagazine} from "@e280/kv"
69
67
 
70
68
  const mammoth = new Mammoth(
71
69
  new OpfsBucket(await navigator.storage.getDirectory()),
72
- new Kv(new StorageDriver(localStorage)),
70
+ new Kv(new IdbMagazine(await idpOpen("mammoth"))),
73
71
  )
74
72
  ```
75
73
 
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-16",
4
4
  "description": "big file storage",
5
5
  "license": "MIT",
6
6
  "author": "Chase Moskal <chasemoskal@gmail.com>",
@@ -9,7 +9,6 @@
9
9
  "sideEffects": false,
10
10
  "exports": {
11
11
  ".": "./x/core/index.js",
12
- "./browser": "./x/browser/index.js",
13
12
  "./node": "./x/node/index.js"
14
13
  },
15
14
  "files": [
@@ -23,11 +22,11 @@
23
22
  "count": "find s -path '*/_archive' -prune -o -name '*.ts' -exec wc -l {} +"
24
23
  },
25
24
  "peerDependencies": {
26
- "@e280/kv": "^0.1.5"
25
+ "@e280/kv": "^0.2.0-1"
27
26
  },
28
27
  "dependencies": {
29
28
  "@awasm/noble": "^0.1.4",
30
- "@e280/stz": "^0.3.5"
29
+ "@e280/stz": "^0.3.6"
31
30
  },
32
31
  "devDependencies": {
33
32
  "@e280/octo": "^0.1.3",
@@ -1,7 +1,7 @@
1
1
 
2
2
  import {bytes, got, nap} from "@e280/stz"
3
- import {Bucket, Id} from "./types.js"
4
- import {relaxer} from "./utils/relaxer.js"
3
+ import {Bucket, Id} from "../types.js"
4
+ import {relaxer} from "../utils/relaxer.js"
5
5
 
6
6
  export class MemoryBucket implements Bucket {
7
7
  #map = new Map<string, Uint8Array>()
@@ -1,6 +1,6 @@
1
1
 
2
- import {Bucket, Id} from "../core/types.js"
3
- import {isNotFound} from "./utils/is-not-found.js"
2
+ import {Bucket, Id} from "../types.js"
3
+ import {isNotFoundErr} from "../utils/is-not-found.js"
4
4
 
5
5
  export class OpfsBucket implements Bucket {
6
6
  #directory
@@ -15,7 +15,7 @@ export class OpfsBucket implements Bucket {
15
15
  return true
16
16
  }
17
17
  catch (error) {
18
- if (isNotFound(error)) return false
18
+ if (isNotFoundErr(error)) return false
19
19
  throw error
20
20
  }
21
21
  }
@@ -25,7 +25,7 @@ export class OpfsBucket implements Bucket {
25
25
  await this.#directory.removeEntry(id)
26
26
  }
27
27
  catch (error) {
28
- if (!isNotFound(error))
28
+ if (!isNotFoundErr(error))
29
29
  throw error
30
30
  }
31
31
  }
package/s/core/index.ts CHANGED
@@ -1,7 +1,10 @@
1
1
 
2
- export * from "./analyze.js"
2
+ export * from "./buckets/memory-bucket.js"
3
+ export * from "./buckets/opfs-bucket.js"
4
+
5
+ export * from "./parts/analyze.js"
6
+ export * from "./parts/streamify.js"
7
+
3
8
  export * from "./mammoth.js"
4
- export * from "./memory-bucket.js"
5
- export * from "./streamify.js"
6
9
  export * from "./types.js"
7
10
 
package/s/core/mammoth.ts CHANGED
@@ -7,11 +7,11 @@ import {save} from "./utils/save.js"
7
7
  import {Hash, Bucket} from "./types.js"
8
8
  import {cleanup} from "./utils/cleanup.js"
9
9
  import {randomId} from "./utils/random-id.js"
10
- import {MemoryBucket} from "./memory-bucket.js"
11
10
  import {Manifest} from "./manifest/manifest.js"
12
11
  import {commit} from "./manifest/fns/commit.js"
13
12
  import {needInfo} from "./manifest/fns/need-info.js"
14
13
  import {getStats} from "./manifest/fns/get-stats.js"
14
+ import {MemoryBucket} from "./buckets/memory-bucket.js"
15
15
  import {scheduleDeletion} from "./manifest/fns/schedule-deletion.js"
16
16
  import {moveWriteToTrash} from "./manifest/fns/move-write-to-trash.js"
17
17
 
@@ -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
  }
@@ -4,7 +4,7 @@ import {isExpired} from "../../utils/is-expired.js"
4
4
 
5
5
  export async function* getExpiredWrites({writes}: Manifest) {
6
6
  for await (const [id, w] of writes.entries()) {
7
- if (isExpired(w))
7
+ if (isExpired(w.created))
8
8
  yield id
9
9
  }
10
10
  }
@@ -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
 
@@ -2,9 +2,9 @@
2
2
  import {got} from "@e280/stz"
3
3
  import {Hash} from "../../types.js"
4
4
  import {Manifest} from "../manifest.js"
5
- import {notFound} from "../../utils/not-found.js"
5
+ import {notFoundMessage} from "../../utils/not-found.js"
6
6
 
7
7
  export async function needInfo({catalog}: Manifest, hash: Hash) {
8
- return got(await catalog.get(hash), notFound(hash))
8
+ return got(await catalog.get(hash), notFoundMessage(hash))
9
9
  }
10
10
 
@@ -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
 
@@ -1,6 +1,7 @@
1
1
 
2
2
  import {Kv} from "@e280/kv"
3
- import {Info, Stats, WriteRecord} from "../types.js"
3
+ import {Write} from "./types.js"
4
+ import {Info, Stats} from "../types.js"
4
5
 
5
6
  export class Manifest {
6
7
 
@@ -19,7 +20,7 @@ export class Manifest {
19
20
  constructor(public kv: Kv) {
20
21
  this.stats = kv.store<Stats>("stats")
21
22
  this.catalog = kv.scope<Info>("catalog")
22
- this.writes = kv.scope<WriteRecord>("writes")
23
+ this.writes = kv.scope<Write>("writes")
23
24
  this.trash = kv.scope<true>("trash")
24
25
  }
25
26
  }
@@ -0,0 +1,5 @@
1
+
2
+ export type Write = {
3
+ created: number
4
+ }
5
+
@@ -1,10 +1,13 @@
1
1
 
2
2
  import {hex, nap} from "@e280/stz"
3
3
  import {blake3} from "@awasm/noble"
4
- import {Analysis} from "./types.js"
5
- import {relaxer} from "./utils/relaxer.js"
4
+ import {Analysis} from "../types.js"
5
+ import {relaxer} from "../utils/relaxer.js"
6
+
7
+ export async function analyze(
8
+ readable: ReadableStream<Uint8Array>
9
+ ): Promise<Analysis> {
6
10
 
7
- export async function analyze(readable: ReadableStream<Uint8Array>): Promise<Analysis> {
8
11
  let size = 0
9
12
  const hasher = blake3.create()
10
13
  const relax = relaxer()
package/s/core/types.ts CHANGED
@@ -43,7 +43,3 @@ export type Stats = {
43
43
  count: number
44
44
  }
45
45
 
46
- export type WriteRecord = {
47
- created: number
48
- }
49
-
@@ -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,8 @@
1
1
 
2
2
  import {time} from "@e280/stz"
3
3
  import {consts} from "../consts.js"
4
- import {WriteRecord} from "../types.js"
5
4
 
6
- export function isExpired({created}: WriteRecord) {
5
+ export function isExpired(created: number) {
7
6
  const since = Date.now() - created
8
7
  return since > time.days(consts.expiry_time)
9
8
  }
@@ -1,5 +1,5 @@
1
1
 
2
- export function isNotFound(error: unknown) {
2
+ export function isNotFoundErr(error: unknown) {
3
3
  return error instanceof DOMException
4
4
  && error.name === "NotFoundError"
5
5
  }
@@ -1,7 +1,7 @@
1
1
 
2
2
  import {Hash} from "../types.js"
3
3
 
4
- export function notFound(hash: Hash) {
4
+ export function notFoundMessage(hash: Hash) {
5
5
  return `file not found by hash "${hash}"`
6
6
  }
7
7
 
package/s/test.ts CHANGED
@@ -7,7 +7,7 @@ import {science, test, expect} from "@e280/science"
7
7
  import {Mammoth} from "./core/mammoth.js"
8
8
  import {DiskBucket} from "./node/disk-bucket.js"
9
9
  import {randomId} from "./core/utils/random-id.js"
10
- import {MemoryBucket} from "./core/memory-bucket.js"
10
+ import {MemoryBucket} from "./core/buckets/memory-bucket.js"
11
11
 
12
12
  const blob = () => new Blob([new Uint8Array([0xDE, 0xAD, 0xBE, 0xEF])])
13
13
  const quickstream = (b: number[]) => new Blob([new Uint8Array(b)]).stream()
@@ -1,4 +1,4 @@
1
- import { Bucket, Id } from "./types.js";
1
+ import { Bucket, Id } from "../types.js";
2
2
  export declare class MemoryBucket implements Bucket {
3
3
  #private;
4
4
  has(id: Id): Promise<boolean>;
@@ -1,5 +1,5 @@
1
1
  import { bytes, got, nap } from "@e280/stz";
2
- import { relaxer } from "./utils/relaxer.js";
2
+ import { relaxer } from "../utils/relaxer.js";
3
3
  export class MemoryBucket {
4
4
  #map = new Map();
5
5
  async has(id) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-bucket.js","sourceRoot":"","sources":["../../../s/core/buckets/memory-bucket.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAC,MAAM,WAAW,CAAA;AAEzC,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAA;AAE3C,MAAM,OAAO,YAAY;IACxB,IAAI,GAAG,IAAI,GAAG,EAAsB,CAAA;IAEpC,KAAK,CAAC,GAAG,CAAC,EAAM;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAM;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAM;QAChB,OAAO,IAAI,IAAI,CACd,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAA4B,CAAC,EACnD,EAAC,IAAI,EAAE,0BAA0B,EAAC,CAClC,CAAA;IACF,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAM,EAAE,QAAoC;QACvD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAA;QACvB,MAAM,KAAK,GAAiB,EAAE,CAAA;QAE9B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACjB,IAAI,KAAK,EAAE;gBAAE,MAAM,GAAG,EAAE,CAAA;QACzB,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAC3B,CAAC;CACD"}
@@ -1,4 +1,4 @@
1
- import { Bucket, Id } from "../core/types.js";
1
+ import { Bucket, Id } from "../types.js";
2
2
  export declare class OpfsBucket implements Bucket {
3
3
  #private;
4
4
  constructor(directory: FileSystemDirectoryHandle);
@@ -1,4 +1,4 @@
1
- import { isNotFound } from "./utils/is-not-found.js";
1
+ import { isNotFoundErr } from "../utils/is-not-found.js";
2
2
  export class OpfsBucket {
3
3
  #directory;
4
4
  constructor(directory) {
@@ -10,7 +10,7 @@ export class OpfsBucket {
10
10
  return true;
11
11
  }
12
12
  catch (error) {
13
- if (isNotFound(error))
13
+ if (isNotFoundErr(error))
14
14
  return false;
15
15
  throw error;
16
16
  }
@@ -20,7 +20,7 @@ export class OpfsBucket {
20
20
  await this.#directory.removeEntry(id);
21
21
  }
22
22
  catch (error) {
23
- if (!isNotFound(error))
23
+ if (!isNotFoundErr(error))
24
24
  throw error;
25
25
  }
26
26
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opfs-bucket.js","sourceRoot":"","sources":["../../../s/core/buckets/opfs-bucket.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAA;AAEtD,MAAM,OAAO,UAAU;IACtB,UAAU,CAAA;IAEV,YAAY,SAAoC;QAC/C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAM;QACf,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;YACvC,OAAO,IAAI,CAAA;QACZ,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACd,IAAI,aAAa,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA;YACtC,MAAM,KAAK,CAAA;QACZ,CAAC;IACF,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAM;QAClB,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACtC,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;gBACxB,MAAM,KAAK,CAAA;QACb,CAAC;IACF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAM;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;QACtD,OAAO,MAAM,CAAC,OAAO,EAAE,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAM,EAAE,QAAoC;QACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC,CAAA;QACtE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAA;QAC9C,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;CACD"}
package/x/core/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- export * from "./analyze.js";
1
+ export * from "./buckets/memory-bucket.js";
2
+ export * from "./buckets/opfs-bucket.js";
3
+ export * from "./parts/analyze.js";
4
+ export * from "./parts/streamify.js";
2
5
  export * from "./mammoth.js";
3
- export * from "./memory-bucket.js";
4
- export * from "./streamify.js";
5
6
  export * from "./types.js";
package/x/core/index.js CHANGED
@@ -1,6 +1,7 @@
1
- export * from "./analyze.js";
1
+ export * from "./buckets/memory-bucket.js";
2
+ export * from "./buckets/opfs-bucket.js";
3
+ export * from "./parts/analyze.js";
4
+ export * from "./parts/streamify.js";
2
5
  export * from "./mammoth.js";
3
- export * from "./memory-bucket.js";
4
- export * from "./streamify.js";
5
6
  export * from "./types.js";
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../s/core/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../s/core/index.ts"],"names":[],"mappings":"AACA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AAExC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AAEpC,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
@@ -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>;
package/x/core/mammoth.js CHANGED
@@ -4,11 +4,11 @@ import { consts } from "./consts.js";
4
4
  import { save } from "./utils/save.js";
5
5
  import { cleanup } from "./utils/cleanup.js";
6
6
  import { randomId } from "./utils/random-id.js";
7
- import { MemoryBucket } from "./memory-bucket.js";
8
7
  import { Manifest } from "./manifest/manifest.js";
9
8
  import { commit } from "./manifest/fns/commit.js";
10
9
  import { needInfo } from "./manifest/fns/need-info.js";
11
10
  import { getStats } from "./manifest/fns/get-stats.js";
11
+ import { MemoryBucket } from "./buckets/memory-bucket.js";
12
12
  import { scheduleDeletion } from "./manifest/fns/schedule-deletion.js";
13
13
  import { moveWriteToTrash } from "./manifest/fns/move-write-to-trash.js";
14
14
  /** file storage datalake, content-addressed with blake3 hashes. */
@@ -1 +1 @@
1
- {"version":3,"file":"mammoth.js","sourceRoot":"","sources":["../../s/core/mammoth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mammoth.js","sourceRoot":"","sources":["../../s/core/mammoth.ts"],"names":[],"mappings":"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"}
@@ -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
  import { isExpired } from "../../utils/is-expired.js";
2
2
  export async function* getExpiredWrites({ writes }) {
3
3
  for await (const [id, w] of writes.entries()) {
4
- if (isExpired(w))
4
+ if (isExpired(w.created))
5
5
  yield id;
6
6
  }
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-expired-writes.js","sourceRoot":"","sources":["../../../../s/core/manifest/fns/get-expired-writes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAA;AAEnD,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,gBAAgB,CAAC,EAAC,MAAM,EAAW;IACzD,IAAI,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,IAAI,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,CAAA;IACV,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"get-expired-writes.js","sourceRoot":"","sources":["../../../../s/core/manifest/fns/get-expired-writes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAA;AAEnD,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,gBAAgB,CAAC,EAAC,MAAM,EAAW;IACzD,IAAI,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,IAAI,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;YACvB,MAAM,EAAE,CAAA;IACV,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"}
@@ -1,6 +1,6 @@
1
1
  import { got } from "@e280/stz";
2
- import { notFound } from "../../utils/not-found.js";
2
+ import { notFoundMessage } from "../../utils/not-found.js";
3
3
  export async function needInfo({ catalog }, hash) {
4
- return got(await catalog.get(hash), notFound(hash));
4
+ return got(await catalog.get(hash), notFoundMessage(hash));
5
5
  }
6
6
  //# sourceMappingURL=need-info.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"need-info.js","sourceRoot":"","sources":["../../../../s/core/manifest/fns/need-info.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,WAAW,CAAA;AAG7B,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAA;AAEjD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,EAAC,OAAO,EAAW,EAAE,IAAU;IAC7D,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;AACpD,CAAC"}
1
+ {"version":3,"file":"need-info.js","sourceRoot":"","sources":["../../../../s/core/manifest/fns/need-info.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,WAAW,CAAA;AAG7B,OAAO,EAAC,eAAe,EAAC,MAAM,0BAA0B,CAAA;AAExD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,EAAC,OAAO,EAAW,EAAE,IAAU;IAC7D,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAA;AAC3D,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"}
@@ -1,5 +1,6 @@
1
1
  import { Kv } from "@e280/kv";
2
- import { Info, Stats, WriteRecord } from "../types.js";
2
+ import { Write } from "./types.js";
3
+ import { Info, Stats } from "../types.js";
3
4
  export declare class Manifest {
4
5
  kv: Kv;
5
6
  /** statistics about the whole datalake */
@@ -7,7 +8,7 @@ export declare class Manifest {
7
8
  /** associates file hashes with bucket ids */
8
9
  catalog: Kv<Info>;
9
10
  /** temporary record of writes in-progress */
10
- writes: Kv<WriteRecord>;
11
+ writes: Kv<Write>;
11
12
  /** bucket ids that are pending deletion */
12
13
  trash: Kv<true>;
13
14
  constructor(kv: Kv);
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../s/core/manifest/manifest.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,QAAQ;IAcD,EAAE;IAZrB,0CAA0C;IAC1C,KAAK,CAAA;IAEL,6CAA6C;IAC7C,OAAO,CAAA;IAEP,6CAA6C;IAC7C,MAAM,CAAA;IAEN,2CAA2C;IAC3C,KAAK,CAAA;IAEL,YAAmB,EAAM;kBAAN,EAAE;QACpB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAQ,OAAO,CAAC,CAAA;QACrC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAO,SAAS,CAAC,CAAA;QACxC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,KAAK,CAAc,QAAQ,CAAC,CAAA;QAC7C,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAO,OAAO,CAAC,CAAA;IACrC,CAAC;CACD"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../s/core/manifest/manifest.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,QAAQ;IAcD,EAAE;IAZrB,0CAA0C;IAC1C,KAAK,CAAA;IAEL,6CAA6C;IAC7C,OAAO,CAAA;IAEP,6CAA6C;IAC7C,MAAM,CAAA;IAEN,2CAA2C;IAC3C,KAAK,CAAA;IAEL,YAAmB,EAAM;kBAAN,EAAE;QACpB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAQ,OAAO,CAAC,CAAA;QACrC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAO,SAAS,CAAC,CAAA;QACxC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,KAAK,CAAQ,QAAQ,CAAC,CAAA;QACvC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAO,OAAO,CAAC,CAAA;IACrC,CAAC;CACD"}
@@ -0,0 +1,3 @@
1
+ export type Write = {
2
+ created: number;
3
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../s/core/manifest/types.ts"],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import { Analysis } from "./types.js";
1
+ import { Analysis } from "../types.js";
2
2
  export declare function analyze(readable: ReadableStream<Uint8Array>): Promise<Analysis>;
@@ -1,6 +1,6 @@
1
1
  import { hex, nap } from "@e280/stz";
2
2
  import { blake3 } from "@awasm/noble";
3
- import { relaxer } from "./utils/relaxer.js";
3
+ import { relaxer } from "../utils/relaxer.js";
4
4
  export async function analyze(readable) {
5
5
  let size = 0;
6
6
  const hasher = blake3.create();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../s/core/parts/analyze.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAE,GAAG,EAAC,MAAM,WAAW,CAAA;AAClC,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AAEnC,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAA;AAE3C,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,QAAoC;IAGrC,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;IAC9B,MAAM,KAAK,GAAG,OAAO,EAAE,CAAA;IAEvB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACpB,IAAI,IAAI,KAAK,CAAC,UAAU,CAAA;QAExB,IAAI,KAAK,EAAE;YACV,MAAM,GAAG,EAAE,CAAA;IACb,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAC3C,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,CAAA;AACpB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamify.js","sourceRoot":"","sources":["../../../s/core/parts/streamify.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,SAAS,CAAC,KAAiB,EAAE,SAAS,GAAG,EAAE,GAAG,IAAI;IACjE,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,OAAO,IAAI,cAAc,CAAa;QACrC,IAAI,CAAC,UAAU;YACd,IAAI,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC5B,UAAU,CAAC,KAAK,EAAE,CAAA;gBAClB,OAAM;YACP,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;YACtD,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;YAC/C,MAAM,GAAG,GAAG,CAAA;QACb,CAAC;KACD,CAAC,CAAA;AACH,CAAC"}
package/x/core/types.d.ts CHANGED
@@ -30,6 +30,3 @@ export type Stats = {
30
30
  /** total number of files in the datalake. */
31
31
  count: number;
32
32
  };
33
- export type WriteRecord = {
34
- created: number;
35
- };
@@ -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"}
@@ -1,2 +1 @@
1
- import { WriteRecord } from "../types.js";
2
- export declare function isExpired({ created }: WriteRecord): boolean;
1
+ export declare function isExpired(created: number): boolean;
@@ -1,6 +1,6 @@
1
1
  import { time } from "@e280/stz";
2
2
  import { consts } from "../consts.js";
3
- export function isExpired({ created }) {
3
+ export function isExpired(created) {
4
4
  const since = Date.now() - created;
5
5
  return since > time.days(consts.expiry_time);
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"is-expired.js","sourceRoot":"","sources":["../../../s/core/utils/is-expired.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAC9B,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AAGnC,MAAM,UAAU,SAAS,CAAC,EAAC,OAAO,EAAc;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAA;IAClC,OAAO,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;AAC7C,CAAC"}
1
+ {"version":3,"file":"is-expired.js","sourceRoot":"","sources":["../../../s/core/utils/is-expired.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAC9B,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AAEnC,MAAM,UAAU,SAAS,CAAC,OAAe;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAA;IAClC,OAAO,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;AAC7C,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function isNotFoundErr(error: unknown): boolean;
@@ -1,4 +1,4 @@
1
- export function isNotFound(error) {
1
+ export function isNotFoundErr(error) {
2
2
  return error instanceof DOMException
3
3
  && error.name === "NotFoundError";
4
4
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-not-found.js","sourceRoot":"","sources":["../../../s/core/utils/is-not-found.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,aAAa,CAAC,KAAc;IAC3C,OAAO,KAAK,YAAY,YAAY;WAChC,KAAK,CAAC,IAAI,KAAK,eAAe,CAAA;AACnC,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import { Hash } from "../types.js";
2
- export declare function notFound(hash: Hash): string;
2
+ export declare function notFoundMessage(hash: Hash): string;
@@ -1,4 +1,4 @@
1
- export function notFound(hash) {
1
+ export function notFoundMessage(hash) {
2
2
  return `file not found by hash "${hash}"`;
3
3
  }
4
4
  //# sourceMappingURL=not-found.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"not-found.js","sourceRoot":"","sources":["../../../s/core/utils/not-found.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,QAAQ,CAAC,IAAU;IAClC,OAAO,2BAA2B,IAAI,GAAG,CAAA;AAC1C,CAAC"}
1
+ {"version":3,"file":"not-found.js","sourceRoot":"","sources":["../../../s/core/utils/not-found.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,eAAe,CAAC,IAAU;IACzC,OAAO,2BAA2B,IAAI,GAAG,CAAA;AAC1C,CAAC"}
package/x/test.js CHANGED
@@ -5,7 +5,7 @@ import { science, test, expect } from "@e280/science";
5
5
  import { Mammoth } from "./core/mammoth.js";
6
6
  import { DiskBucket } from "./node/disk-bucket.js";
7
7
  import { randomId } from "./core/utils/random-id.js";
8
- import { MemoryBucket } from "./core/memory-bucket.js";
8
+ import { MemoryBucket } from "./core/buckets/memory-bucket.js";
9
9
  const blob = () => new Blob([new Uint8Array([0xDE, 0xAD, 0xBE, 0xEF])]);
10
10
  const quickstream = (b) => new Blob([new Uint8Array(b)]).stream();
11
11
  function setup() {
package/x/test.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../s/test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../s/test.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
-
2
- import {Kv, StorageDriver} from "@e280/kv"
3
- import {Mammoth} from "../core/mammoth.js"
4
- import {OpfsBucket} from "./opfs-bucket.js"
5
-
6
- export async function example() {
7
-
8
- // setup the localstorage kv
9
- const driver = new StorageDriver(window.localStorage)
10
- const kv = new Kv(driver).scope("mammoth")
11
-
12
- // setup the opfs file bucket
13
- const root = await navigator.storage.getDirectory()
14
- const directory = await root.getDirectoryHandle("mammoth", {create: true})
15
- const bucket = new OpfsBucket(directory)
16
-
17
- // setup the mammoth
18
- const mammoth = new Mammoth(bucket, kv)
19
- const myFile = new Blob([new Uint8Array([0xDE, 0xAD, 0xBE, 0xEF])])
20
-
21
- // write a file as an example
22
- const hash = await mammoth.write(myFile.stream())
23
- console.log(`mammoth stored file "${hash}"`)
24
- }
25
-
@@ -1,4 +0,0 @@
1
-
2
- export * from "../core/index.js"
3
- export * from "./opfs-bucket.js"
4
-
@@ -1 +0,0 @@
1
- export declare function example(): Promise<void>;
@@ -1,19 +0,0 @@
1
- import { Kv, StorageDriver } from "@e280/kv";
2
- import { Mammoth } from "../core/mammoth.js";
3
- import { OpfsBucket } from "./opfs-bucket.js";
4
- export async function example() {
5
- // setup the localstorage kv
6
- const driver = new StorageDriver(window.localStorage);
7
- const kv = new Kv(driver).scope("mammoth");
8
- // setup the opfs file bucket
9
- const root = await navigator.storage.getDirectory();
10
- const directory = await root.getDirectoryHandle("mammoth", { create: true });
11
- const bucket = new OpfsBucket(directory);
12
- // setup the mammoth
13
- const mammoth = new Mammoth(bucket, kv);
14
- const myFile = new Blob([new Uint8Array([0xDE, 0xAD, 0xBE, 0xEF])]);
15
- // write a file as an example
16
- const hash = await mammoth.write(myFile.stream());
17
- console.log(`mammoth stored file "${hash}"`);
18
- }
19
- //# sourceMappingURL=example.js.map
@@ -1 +0,0 @@
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,2 +0,0 @@
1
- export * from "../core/index.js";
2
- export * from "./opfs-bucket.js";
@@ -1,3 +0,0 @@
1
- export * from "../core/index.js";
2
- export * from "./opfs-bucket.js";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../s/browser/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"opfs-bucket.js","sourceRoot":"","sources":["../../s/browser/opfs-bucket.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAA;AAElD,MAAM,OAAO,UAAU;IACtB,UAAU,CAAA;IAEV,YAAY,SAAoC;QAC/C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAM;QACf,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;YACvC,OAAO,IAAI,CAAA;QACZ,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACd,IAAI,UAAU,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA;YACnC,MAAM,KAAK,CAAA;QACZ,CAAC;IACF,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAM;QAClB,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACtC,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBACrB,MAAM,KAAK,CAAA;QACb,CAAC;IACF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAM;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;QACtD,OAAO,MAAM,CAAC,OAAO,EAAE,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAM,EAAE,QAAoC;QACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC,CAAA;QACtE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAA;QAC9C,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;CACD"}
@@ -1 +0,0 @@
1
- export declare function isNotFound(error: unknown): boolean;
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-not-found.js","sourceRoot":"","sources":["../../../s/browser/utils/is-not-found.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,UAAU,CAAC,KAAc;IACxC,OAAO,KAAK,YAAY,YAAY;WAChC,KAAK,CAAC,IAAI,KAAK,eAAe,CAAA;AACnC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../s/core/analyze.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAE,GAAG,EAAC,MAAM,WAAW,CAAA;AAClC,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AAEnC,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAA;AAE1C,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,QAAoC;IACjE,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;IAC9B,MAAM,KAAK,GAAG,OAAO,EAAE,CAAA;IAEvB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACpB,IAAI,IAAI,KAAK,CAAC,UAAU,CAAA;QAExB,IAAI,KAAK,EAAE;YACV,MAAM,GAAG,EAAE,CAAA;IACb,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAC3C,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,CAAA;AACpB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-bucket.js","sourceRoot":"","sources":["../../s/core/memory-bucket.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAC,MAAM,WAAW,CAAA;AAEzC,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAA;AAE1C,MAAM,OAAO,YAAY;IACxB,IAAI,GAAG,IAAI,GAAG,EAAsB,CAAA;IAEpC,KAAK,CAAC,GAAG,CAAC,EAAM;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAM;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAM;QAChB,OAAO,IAAI,IAAI,CACd,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAA4B,CAAC,EACnD,EAAC,IAAI,EAAE,0BAA0B,EAAC,CAClC,CAAA;IACF,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAM,EAAE,QAAoC;QACvD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAA;QACvB,MAAM,KAAK,GAAiB,EAAE,CAAA;QAE9B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACjB,IAAI,KAAK,EAAE;gBAAE,MAAM,GAAG,EAAE,CAAA;QACzB,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAC3B,CAAC;CACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"streamify.js","sourceRoot":"","sources":["../../s/core/streamify.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,SAAS,CAAC,KAAiB,EAAE,SAAS,GAAG,EAAE,GAAG,IAAI;IACjE,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,OAAO,IAAI,cAAc,CAAa;QACrC,IAAI,CAAC,UAAU;YACd,IAAI,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC5B,UAAU,CAAC,KAAK,EAAE,CAAA;gBAClB,OAAM;YACP,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;YACtD,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;YAC/C,MAAM,GAAG,GAAG,CAAA;QACb,CAAC;KACD,CAAC,CAAA;AACH,CAAC"}
File without changes
File without changes
File without changes