@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 +3 -3
- package/s/browser/example.ts +2 -2
- package/s/core/manifest/fns/commit.ts +7 -7
- package/s/core/manifest/fns/move-write-to-trash.ts +3 -3
- package/s/core/manifest/fns/schedule-deletion.ts +4 -4
- package/s/core/utils/cleanup.ts +1 -1
- package/x/browser/example.js +2 -2
- package/x/browser/example.js.map +1 -1
- package/x/core/mammoth.d.ts +2 -2
- package/x/core/manifest/fns/commit.js +7 -7
- package/x/core/manifest/fns/commit.js.map +1 -1
- package/x/core/manifest/fns/move-write-to-trash.js +3 -3
- package/x/core/manifest/fns/move-write-to-trash.js.map +1 -1
- package/x/core/manifest/fns/schedule-deletion.js +4 -4
- package/x/core/manifest/fns/schedule-deletion.js.map +1 -1
- package/x/core/utils/cleanup.js +1 -1
- package/x/core/utils/cleanup.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@e280/mammoth",
|
|
3
|
-
"version": "0.1.0-
|
|
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
|
|
26
|
+
"@e280/kv": "^0.2.0-1"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@awasm/noble": "^0.1.4",
|
|
30
|
-
"@e280/stz": "^0.3.
|
|
30
|
+
"@e280/stz": "^0.3.6"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@e280/octo": "^0.1.3",
|
package/s/browser/example.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
|
|
2
|
-
import {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
|
|
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.
|
|
15
|
-
writes.
|
|
16
|
-
catalog.
|
|
17
|
-
stats.
|
|
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.
|
|
22
|
-
writes.
|
|
23
|
-
trash.
|
|
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.
|
|
7
|
-
writes.
|
|
8
|
-
trash.
|
|
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.
|
|
14
|
-
catalog.
|
|
15
|
-
trash.
|
|
16
|
-
stats.
|
|
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
|
|
package/s/core/utils/cleanup.ts
CHANGED
package/x/browser/example.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { 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
|
|
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();
|
package/x/browser/example.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example.js","sourceRoot":"","sources":["../../s/browser/example.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,EAAE,EAAE,
|
|
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"}
|
package/x/core/mammoth.d.ts
CHANGED
|
@@ -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<
|
|
7
|
-
entries(): AsyncGenerator<
|
|
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.
|
|
10
|
-
writes.
|
|
11
|
-
catalog.
|
|
12
|
-
stats.
|
|
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.
|
|
17
|
-
writes.
|
|
18
|
-
trash.
|
|
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,
|
|
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.
|
|
3
|
-
writes.
|
|
4
|
-
trash.
|
|
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,
|
|
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.
|
|
8
|
-
catalog.
|
|
9
|
-
trash.
|
|
10
|
-
stats.
|
|
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,
|
|
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"}
|
package/x/core/utils/cleanup.js
CHANGED
|
@@ -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.
|
|
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,
|
|
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"}
|