@peerbit/please-lib 0.0.8 → 0.0.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.
@@ -1,7 +1,8 @@
1
1
  import { Program } from "@peerbit/program";
2
- import { Documents, RoleOptions } from "@peerbit/document";
2
+ import { Documents } from "@peerbit/document";
3
3
  import { PublicSignKey } from "@peerbit/crypto";
4
4
  import { TrustedNetwork } from "@peerbit/trusted-network";
5
+ import { ReplicationOptions } from "@peerbit/shared-log";
5
6
  export declare abstract class AbstractFile {
6
7
  abstract id: string;
7
8
  abstract name: string;
@@ -14,6 +15,13 @@ export declare abstract class AbstractFile {
14
15
  }): Promise<Output>;
15
16
  abstract delete(files: Files): Promise<void>;
16
17
  }
18
+ declare class IndexableFile {
19
+ id: string;
20
+ name: string;
21
+ size: number;
22
+ parentId?: string;
23
+ constructor(file: AbstractFile);
24
+ }
17
25
  export declare class TinyFile extends AbstractFile {
18
26
  id: string;
19
27
  name: string;
@@ -54,13 +62,13 @@ export declare class LargeFile extends AbstractFile {
54
62
  }): Promise<Output>;
55
63
  }
56
64
  type Args = {
57
- role: RoleOptions;
65
+ replicate: ReplicationOptions;
58
66
  };
59
67
  export declare class Files extends Program<Args> {
60
68
  id: Uint8Array;
61
69
  name: string;
62
70
  trustGraph?: TrustedNetwork;
63
- files: Documents<AbstractFile>;
71
+ files: Documents<AbstractFile, IndexableFile>;
64
72
  constructor(properties?: {
65
73
  id?: Uint8Array;
66
74
  name?: string;
package/lib/esm/index.js CHANGED
@@ -10,7 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  var LargeFile_1;
11
11
  import { field, variant, vec, option } from "@dao-xyz/borsh";
12
12
  import { Program } from "@peerbit/program";
13
- import { Documents, SearchRequest, StringMatch, StringMatchMethod, Or, MissingField, } from "@peerbit/document";
13
+ import { Documents, SearchRequest, StringMatch, StringMatchMethod, Or, IsNull, } from "@peerbit/document";
14
14
  import { sha256Base64Sync, randomBytes } from "@peerbit/crypto";
15
15
  import { concat } from "uint8arrays";
16
16
  import { sha256Sync } from "@peerbit/crypto";
@@ -18,6 +18,34 @@ import { TrustedNetwork } from "@peerbit/trusted-network";
18
18
  import PQueue from "p-queue";
19
19
  export class AbstractFile {
20
20
  }
21
+ class IndexableFile {
22
+ id;
23
+ name;
24
+ size;
25
+ parentId;
26
+ constructor(file) {
27
+ this.id = file.id;
28
+ this.name = file.name;
29
+ this.size = file.size;
30
+ this.parentId = file.parentId;
31
+ }
32
+ }
33
+ __decorate([
34
+ field({ type: "string" }),
35
+ __metadata("design:type", String)
36
+ ], IndexableFile.prototype, "id", void 0);
37
+ __decorate([
38
+ field({ type: "string" }),
39
+ __metadata("design:type", String)
40
+ ], IndexableFile.prototype, "name", void 0);
41
+ __decorate([
42
+ field({ type: "u32" }),
43
+ __metadata("design:type", Number)
44
+ ], IndexableFile.prototype, "size", void 0);
45
+ __decorate([
46
+ field({ type: option("string") }),
47
+ __metadata("design:type", String)
48
+ ], IndexableFile.prototype, "parentId", void 0);
21
49
  const TINY_FILE_SIZE_LIMIT = 5 * 1e6; // 6mb
22
50
  let TinyFile = class TinyFile extends AbstractFile {
23
51
  id;
@@ -103,6 +131,7 @@ let LargeFile = LargeFile_1 = class LargeFile extends AbstractFile {
103
131
  query: [
104
132
  new Or([...expectedIds].map((x) => new StringMatch({ key: "id", value: x }))),
105
133
  ],
134
+ fetch: 0xffffffff,
106
135
  }));
107
136
  return allFiles;
108
137
  }
@@ -251,6 +280,7 @@ let Files = class Files extends Program {
251
280
  caseInsensitive: false,
252
281
  method: StringMatchMethod.exact,
253
282
  }),
283
+ fetch: 0xffffffff,
254
284
  }));
255
285
  for (const file of files) {
256
286
  await file.delete(this);
@@ -259,11 +289,14 @@ let Files = class Files extends Program {
259
289
  }
260
290
  async list() {
261
291
  // only root files (don't fetch fetch chunks here)
262
- const files = await this.files.index.search(new SearchRequest({ query: new MissingField({ key: "parentId" }) }), {
292
+ const files = await this.files.index.search(new SearchRequest({
293
+ query: new IsNull({ key: "parentId" }),
294
+ fetch: 0xffffffff,
295
+ }), {
263
296
  local: true,
264
297
  remote: {
265
298
  throwOnMissing: true,
266
- sync: true, // sync here because this, because we might want to access it offline, even though we are not replicators
299
+ replicate: true, // sync here because this, because we might want to access it offline, even though we are not replicators
267
300
  },
268
301
  });
269
302
  return files;
@@ -271,6 +304,7 @@ let Files = class Files extends Program {
271
304
  async listLocalChunks(parent) {
272
305
  const files = await this.files.index.search(new SearchRequest({
273
306
  query: new StringMatch({ key: "parentId", value: parent.id }),
307
+ fetch: 0xffffffff,
274
308
  }), {
275
309
  local: true,
276
310
  remote: false,
@@ -285,6 +319,7 @@ let Files = class Files extends Program {
285
319
  async getById(id, properties) {
286
320
  const results = await this.files.index.search(new SearchRequest({
287
321
  query: [new StringMatch({ key: "id", value: id })],
322
+ fetch: 0xffffffff,
288
323
  }), {
289
324
  local: true,
290
325
  remote: {
@@ -310,6 +345,7 @@ let Files = class Files extends Program {
310
345
  async getByName(name, properties) {
311
346
  const results = await this.files.index.search(new SearchRequest({
312
347
  query: [new StringMatch({ key: "name", value: name })],
348
+ fetch: 0xffffffff,
313
349
  }), {
314
350
  local: true,
315
351
  remote: {
@@ -330,18 +366,18 @@ let Files = class Files extends Program {
330
366
  // Setup lifecycle, will be invoked on 'open'
331
367
  async open(args) {
332
368
  await this.trustGraph?.open({
333
- role: args?.role,
369
+ replicate: args?.replicate,
334
370
  });
335
371
  await this.files.open({
336
372
  type: AbstractFile,
337
373
  // TODO add ACL
338
- role: args?.role,
374
+ replicate: args?.replicate,
339
375
  replicas: { min: 3 },
340
- canPerform: async (operation, context) => {
376
+ canPerform: async (operation) => {
341
377
  if (!this.trustGraph) {
342
378
  return true;
343
379
  }
344
- for (const key of await context.entry.getPublicKeys()) {
380
+ for (const key of await operation.entry.getPublicKeys()) {
345
381
  if (await this.trustGraph.isTrusted(key)) {
346
382
  return true;
347
383
  }
@@ -349,14 +385,7 @@ let Files = class Files extends Program {
349
385
  return false;
350
386
  },
351
387
  index: {
352
- fields: (doc) => {
353
- return {
354
- id: doc.id,
355
- name: doc.name,
356
- size: doc.size,
357
- parentId: doc.parentId,
358
- };
359
- },
388
+ type: IndexableFile,
360
389
  },
361
390
  });
362
391
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EACH,SAAS,EACT,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,EAAE,EACF,MAAM,GACT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAiB,gBAAgB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE/E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,MAAM,MAAM,SAAS,CAAC;AAG7B,MAAM,OAAgB,YAAY;CAiBjC;AAED,MAAM,aAAa;IAEf,EAAE,CAAS;IAGX,IAAI,CAAS;IAGb,IAAI,CAAS;IAGb,QAAQ,CAAU;IAElB,YAAY,IAAkB;QAC1B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAClC,CAAC;CACJ;AAjBG;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;yCACf;AAGX;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;2CACb;AAGb;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;2CACV;AAGb;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;;+CAChB;AAUtB,MAAM,oBAAoB,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM;AAGrC,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,YAAY;IAEtC,EAAE,CAAS;IAGX,IAAI,CAAS;IAGb,IAAI,CAAa,CAAC,aAAa;IAG/B,QAAQ,CAAU;IAElB,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IAChC,CAAC;IAED,YAAY,UAKX;QACG,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,OAAO,CAIT,MAAa,EACb,UAAqE;QAErE,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QACD,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO,OAAO,CAAC,OAAO,CAClB,UAAU,EAAE,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAC7C,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM;QACR,oDAAoD;IACxD,CAAC;CACJ,CAAA;AA/CG;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;oCACf;AAGX;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;sCACb;AAGb;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;8BACtB,UAAU;sCAAC;AAGjB;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;;0CAChB;AAXT,QAAQ;IADpB,OAAO,CAAC,CAAC,CAAC,CAAC,0BAA0B;;;GACzB,QAAQ,CAiDpB;;AAGM,IAAM,SAAS,iBAAf,MAAM,SAAU,SAAQ,YAAY;IAEvC,EAAE,CAAS,CAAC,OAAO;IAGnB,IAAI,CAAS;IAGb,OAAO,CAAW;IAGlB,IAAI,CAAS;IAEb,YAAY,UAKX;QACG,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACf,IAAY,EACZ,IAAgB,EAChB,KAAY,EACZ,QAAqC;QAErC,MAAM,UAAU,GAAG,oBAAoB,GAAG,EAAE,CAAC,CAAC,8BAA8B;QAC5E,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC1B,OAAO,CAAC,IAAI,CACR,MAAM,KAAK,CAAC,GAAG,CACX,IAAI,GAAG,GAAG,GAAG,CAAC,EACd,IAAI,CAAC,QAAQ,CACT,CAAC,GAAG,UAAU,EACd,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAClD,EACD,EAAE,CACL,CACJ,CAAC;QACN,CAAC;QACD,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACd,OAAO,IAAI,WAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,QAAQ;QACR,qCAAqC;QACrC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAY;QAC1B,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAC3C,IAAI,aAAa,CAAC;YACd,KAAK,EAAE;gBACH,IAAI,EAAE,CACF,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,CAChB,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAClD,CACJ;aACJ;YACD,KAAK,EAAE,UAAU;SACpB,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,KAAY;QACrB,MAAM,OAAO,CAAC,GAAG,CACb,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC9D,CAAC;IACN,CAAC;IAED,KAAK,CAAC,OAAO,CAIT,KAAY,EACZ,UAIC;QAED,qGAAqG;QAErG,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QAE1B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAE5B,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,UAAU,GAAsB,SAAS,CAAC;QAC9C,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC3B,UAAU,GAAG,GAAG,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAwC,IAAI,GAAG,EAAE,CAAC;QAC9D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBACxB,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;oBACnB,uBAAuB;gBAC3B,CAAC;gBACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;oBACzB,iCAAiC;gBACrC,CAAC;gBACD,UAAU;qBACL,GAAG,CAAC,KAAK,IAAI,EAAE;oBACZ,IAAI,SAAS,GAAsB,SAAS,CAAC;oBAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;wBACzB,IAAI,CAAC;4BACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE;gCACjC,EAAE,EAAE,QAAQ;gCACZ,OAAO,EAAE,UAAU,EAAE,OAAO;6BAC/B,CAAC,CAAC;4BACH,IAAI,CAAC,KAAK,EAAE,CAAC;gCACT,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;4BAC7C,CAAC;4BACD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;4BACxB,CAAC,EAAE,CAAC;4BACJ,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;4BAC7C,OAAO;wBACX,CAAC;wBAAC,OAAO,KAAU,EAAE,CAAC;4BAClB,cAAc;4BAEd,SAAS,GAAG,KAAK,CAAC;wBACtB,CAAC;oBACL,CAAC;oBACD,MAAM,SAAS,CAAC;gBACpB,CAAC,CAAC;qBACD,KAAK,CAAC,GAAG,EAAE;oBACR,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,2DAA2D;gBACnF,CAAC,CAAC,CAAC;YACX,CAAC;QACL,CAAC;QACD,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;QAE1B,IAAI,UAAU,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CACX,oCAAoC,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,SAAS,CAC/E,CAAC;QACN,CAAC;QAED,MAAM,oBAAoB,GAAiB,MAAM,OAAO,CAAC,GAAG,CACxD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACzB,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,CAAC,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,UAAU,CAAC;QACtB,CAAC,CAAC,CACL,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO,CACH,UAAU,EAAE,EAAE,IAAI,QAAQ;YACtB,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAC3B,CAAC;IAChB,CAAC;CACJ,CAAA;AA1KG;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;qCACf;AAGX;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;uCACb;AAGb;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;;0CACb;AAGlB;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;uCACV;AAXJ,SAAS;IADrB,OAAO,CAAC,CAAC,CAAC,CAAC,0BAA0B;;;GACzB,SAAS,CA4KrB;;AAKM,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,OAAa;IAEpC,EAAE,CAAa;IAGf,IAAI,CAAS;IAGb,UAAU,CAAkB;IAG5B,KAAK,CAAyC;IAE9C,YACI,aAII,EAAE;QAEN,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,OAAO;YAChC,CAAC,CAAC,IAAI,cAAc,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC;YACpE,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC;YACvB,EAAE,EAAE,UAAU,CACV,MAAM,CAAC;gBACH,IAAI,CAAC,EAAE;gBACP,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnC,UAAU,CAAC,OAAO,EAAE,KAAK,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC;aACjD,CAAC,CACL;SACJ,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,GAAG,CACL,IAAY,EACZ,IAAgB,EAChB,QAAiB,EACjB,QAAqC;QAErC,IAAI,KAAmB,CAAC;QACxB,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACd,IAAI,IAAI,CAAC,UAAU,IAAI,oBAAoB,EAAE,CAAC;YAC1C,KAAK,GAAG,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACJ,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACpE,CAAC;YACD,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5B,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACd,OAAO,KAAK,CAAC,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,IAAI,EAAE,CAAC;YACP,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY;QAC3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CACvC,IAAI,aAAa,CAAC;YACd,KAAK,EAAE,IAAI,WAAW,CAAC;gBACnB,GAAG,EAAE,CAAC,MAAM,CAAC;gBACb,KAAK,EAAE,IAAI;gBACX,eAAe,EAAE,KAAK;gBACtB,MAAM,EAAE,iBAAiB,CAAC,KAAK;aAClC,CAAC;YACF,KAAK,EAAE,UAAU;SACpB,CAAC,CACL,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACN,kDAAkD;QAClD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CACvC,IAAI,aAAa,CAAC;YACd,KAAK,EAAE,IAAI,MAAM,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;YACtC,KAAK,EAAE,UAAU;SACpB,CAAC,EACF;YACI,KAAK,EAAE,IAAI;YACX,MAAM,EAAE;gBACJ,cAAc,EAAE,IAAI;gBACpB,SAAS,EAAE,IAAI,EAAE,yGAAyG;aAC7H;SACJ,CACJ,CAAC;QACF,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAiB;QACnC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CACvC,IAAI,aAAa,CAAC;YACd,KAAK,EAAE,IAAI,WAAW,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;YAC7D,KAAK,EAAE,UAAU;SACpB,CAAC,EACF;YACI,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,KAAK;SAChB,CACJ,CAAC;QACF,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAIT,EAAU,EACV,UAA+B;QAE/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CACzC,IAAI,aAAa,CAAC;YACd,KAAK,EAAE,CAAC,IAAI,WAAW,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YAClD,KAAK,EAAE,UAAU;SACpB,CAAC,EACF;YACI,KAAK,EAAE,IAAI;YACX,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,GAAG,IAAI;aACrB;SACJ,CACJ,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACpD,IAAI,IAAI,EAAE,CAAC;gBACP,OAAO;oBACH,EAAE,EAAE,MAAM,CAAC,EAAE;oBACb,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,IAAc;iBACxB,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAIX,IAAY,EACZ,UAA+B;QAE/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CACzC,IAAI,aAAa,CAAC;YACd,KAAK,EAAE,CAAC,IAAI,WAAW,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACtD,KAAK,EAAE,UAAU;SACpB,CAAC,EACF;YACI,KAAK,EAAE,IAAI;YACX,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,GAAG,IAAI;aACrB;SACJ,CACJ,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACpD,IAAI,IAAI,EAAE,CAAC;gBACP,OAAO;oBACH,EAAE,EAAE,MAAM,CAAC,EAAE;oBACb,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,IAAc;iBACxB,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED,6CAA6C;IAC7C,KAAK,CAAC,IAAI,CAAC,IAAW;QAClB,MAAM,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;YACxB,SAAS,EAAE,IAAI,EAAE,SAAS;SAC7B,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,YAAY;YAClB,eAAe;YACf,SAAS,EAAE,IAAI,EAAE,SAAS;YAC1B,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;YACpB,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBACnB,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,KAAK,MAAM,GAAG,IAAI,MAAM,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;oBACtD,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;wBACvC,OAAO,IAAI,CAAC;oBAChB,CAAC;gBACL,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,KAAK,EAAE;gBACH,IAAI,EAAE,aAAa;aACtB;SACJ,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AAvNG;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;8BACxB,UAAU;iCAAC;AAGf;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;mCACb;AAGb;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;8BAC3B,cAAc;yCAAC;AAG5B;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;8BACpB,SAAS;oCAA8B;AAXrC,KAAK;IADjB,OAAO,CAAC,OAAO,CAAC;;GACJ,KAAK,CAyNjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peerbit/please-lib",
3
- "version": "0.0.8",
3
+ "version": "0.0.10",
4
4
  "author": "dao.xyz",
5
5
  "repository": "https://github.com/@dao-xyz/peerbit-examples",
6
6
  "license": "Apache-2.0",
@@ -28,20 +28,17 @@
28
28
  "scripts": {
29
29
  "clean": "shx rm -rf lib/*",
30
30
  "build": "yarn clean && tsc -p tsconfig.json",
31
- "postbuild": "echo '{\"type\":\"module\"} ' | node ../../../node_modules/.bin/json > lib/esm/package.json",
32
- "test": "node ../../../node_modules/.bin/jest test -c ../../../jest.config.ts --runInBand --forceExit",
33
- "test:unit": "node ../../../node_modules/.bin/jest test -c ../../../jest.config.unit.ts --runInBand --forceExit",
34
- "test:integration": "node ../../../node_modules/.bin/jest test -c ../../../jest.config.integration.ts --runInBand --forceExit"
31
+ "test": "mocha"
35
32
  },
36
33
  "devDependencies": {
37
34
  "@peerbit/test-utils": "^2",
38
- "typescript": "^5.3.3"
35
+ "typescript": "^5.6.3"
39
36
  },
40
37
  "dependencies": {
41
- "@peerbit/document": "^6",
42
- "@peerbit/trusted-network": "^3",
38
+ "@peerbit/document": "^7",
39
+ "@peerbit/trusted-network": "^4",
43
40
  "peerbit": "^4",
44
- "uuid": "^9.0.0"
41
+ "uuid": "^10.0.0"
45
42
  },
46
- "gitHead": "158537c6f6818e35e766329a6b4a5ccf7ae57ea0"
43
+ "gitHead": "737695f1fa51c866c38841e152a9a0faff3c22f4"
47
44
  }
package/src/index.ts CHANGED
@@ -6,8 +6,7 @@ import {
6
6
  StringMatch,
7
7
  StringMatchMethod,
8
8
  Or,
9
- RoleOptions,
10
- MissingField,
9
+ IsNull,
11
10
  } from "@peerbit/document";
12
11
  import { PublicSignKey, sha256Base64Sync, randomBytes } from "@peerbit/crypto";
13
12
  import { ProgramClient } from "@peerbit/program";
@@ -15,6 +14,7 @@ import { concat } from "uint8arrays";
15
14
  import { sha256Sync } from "@peerbit/crypto";
16
15
  import { TrustedNetwork } from "@peerbit/trusted-network";
17
16
  import PQueue from "p-queue";
17
+ import { ReplicationOptions } from "@peerbit/shared-log";
18
18
 
19
19
  export abstract class AbstractFile {
20
20
  abstract id: string;
@@ -35,6 +35,27 @@ export abstract class AbstractFile {
35
35
  abstract delete(files: Files): Promise<void>;
36
36
  }
37
37
 
38
+ class IndexableFile {
39
+ @field({ type: "string" })
40
+ id: string;
41
+
42
+ @field({ type: "string" })
43
+ name: string;
44
+
45
+ @field({ type: "u32" })
46
+ size: number;
47
+
48
+ @field({ type: option("string") })
49
+ parentId?: string;
50
+
51
+ constructor(file: AbstractFile) {
52
+ this.id = file.id;
53
+ this.name = file.name;
54
+ this.size = file.size;
55
+ this.parentId = file.parentId;
56
+ }
57
+ }
58
+
38
59
  const TINY_FILE_SIZE_LIMIT = 5 * 1e6; // 6mb
39
60
 
40
61
  @variant(0) // for versioning purposes
@@ -161,6 +182,7 @@ export class LargeFile extends AbstractFile {
161
182
  )
162
183
  ),
163
184
  ],
185
+ fetch: 0xffffffff,
164
186
  })
165
187
  );
166
188
  return allFiles;
@@ -263,7 +285,7 @@ export class LargeFile extends AbstractFile {
263
285
  }
264
286
  }
265
287
 
266
- type Args = { role: RoleOptions };
288
+ type Args = { replicate: ReplicationOptions };
267
289
 
268
290
  @variant("files")
269
291
  export class Files extends Program<Args> {
@@ -277,7 +299,7 @@ export class Files extends Program<Args> {
277
299
  trustGraph?: TrustedNetwork;
278
300
 
279
301
  @field({ type: Documents })
280
- files: Documents<AbstractFile>;
302
+ files: Documents<AbstractFile, IndexableFile>;
281
303
 
282
304
  constructor(
283
305
  properties: {
@@ -341,6 +363,7 @@ export class Files extends Program<Args> {
341
363
  caseInsensitive: false,
342
364
  method: StringMatchMethod.exact,
343
365
  }),
366
+ fetch: 0xffffffff,
344
367
  })
345
368
  );
346
369
  for (const file of files) {
@@ -352,12 +375,15 @@ export class Files extends Program<Args> {
352
375
  async list() {
353
376
  // only root files (don't fetch fetch chunks here)
354
377
  const files = await this.files.index.search(
355
- new SearchRequest({ query: new MissingField({ key: "parentId" }) }),
378
+ new SearchRequest({
379
+ query: new IsNull({ key: "parentId" }),
380
+ fetch: 0xffffffff,
381
+ }),
356
382
  {
357
383
  local: true,
358
384
  remote: {
359
385
  throwOnMissing: true,
360
- sync: true, // sync here because this, because we might want to access it offline, even though we are not replicators
386
+ replicate: true, // sync here because this, because we might want to access it offline, even though we are not replicators
361
387
  },
362
388
  }
363
389
  );
@@ -368,6 +394,7 @@ export class Files extends Program<Args> {
368
394
  const files = await this.files.index.search(
369
395
  new SearchRequest({
370
396
  query: new StringMatch({ key: "parentId", value: parent.id }),
397
+ fetch: 0xffffffff,
371
398
  }),
372
399
  {
373
400
  local: true,
@@ -392,6 +419,7 @@ export class Files extends Program<Args> {
392
419
  const results = await this.files.index.search(
393
420
  new SearchRequest({
394
421
  query: [new StringMatch({ key: "id", value: id })],
422
+ fetch: 0xffffffff,
395
423
  }),
396
424
  {
397
425
  local: true,
@@ -428,6 +456,7 @@ export class Files extends Program<Args> {
428
456
  const results = await this.files.index.search(
429
457
  new SearchRequest({
430
458
  query: [new StringMatch({ key: "name", value: name })],
459
+ fetch: 0xffffffff,
431
460
  }),
432
461
  {
433
462
  local: true,
@@ -452,19 +481,19 @@ export class Files extends Program<Args> {
452
481
  // Setup lifecycle, will be invoked on 'open'
453
482
  async open(args?: Args): Promise<void> {
454
483
  await this.trustGraph?.open({
455
- role: args?.role,
484
+ replicate: args?.replicate,
456
485
  });
457
486
 
458
487
  await this.files.open({
459
488
  type: AbstractFile,
460
489
  // TODO add ACL
461
- role: args?.role,
490
+ replicate: args?.replicate,
462
491
  replicas: { min: 3 },
463
- canPerform: async (operation, context) => {
492
+ canPerform: async (operation) => {
464
493
  if (!this.trustGraph) {
465
494
  return true;
466
495
  }
467
- for (const key of await context.entry.getPublicKeys()) {
496
+ for (const key of await operation.entry.getPublicKeys()) {
468
497
  if (await this.trustGraph.isTrusted(key)) {
469
498
  return true;
470
499
  }
@@ -472,14 +501,7 @@ export class Files extends Program<Args> {
472
501
  return false;
473
502
  },
474
503
  index: {
475
- fields: (doc) => {
476
- return {
477
- id: doc.id,
478
- name: doc.name,
479
- size: doc.size,
480
- parentId: doc.parentId,
481
- };
482
- },
504
+ type: IndexableFile,
483
505
  },
484
506
  });
485
507
  }
@@ -1,3 +0,0 @@
1
- {
2
- "type": "module"
3
- }