@comapeo/core 2.3.0 → 2.3.2

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 (47) hide show
  1. package/dist/blob-store/entries-stream.d.ts.map +1 -1
  2. package/dist/blob-store/index.d.ts +27 -15
  3. package/dist/blob-store/index.d.ts.map +1 -1
  4. package/dist/core-manager/index.d.ts +4 -4
  5. package/dist/core-manager/index.d.ts.map +1 -1
  6. package/dist/datastore/index.d.ts +1 -1
  7. package/dist/datatype/index.d.ts +141 -111
  8. package/dist/datatype/index.d.ts.map +1 -0
  9. package/dist/fastify-plugins/utils.d.ts +0 -9
  10. package/dist/fastify-plugins/utils.d.ts.map +1 -1
  11. package/dist/generated/extensions.d.ts +7 -0
  12. package/dist/generated/extensions.d.ts.map +1 -1
  13. package/dist/index.d.ts +1 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/mapeo-project.d.ts +17 -17
  16. package/dist/mapeo-project.d.ts.map +1 -1
  17. package/dist/schema/project.d.ts +1 -1
  18. package/dist/sync/core-sync-state.d.ts +14 -6
  19. package/dist/sync/core-sync-state.d.ts.map +1 -1
  20. package/dist/sync/namespace-sync-state.d.ts +3 -13
  21. package/dist/sync/namespace-sync-state.d.ts.map +1 -1
  22. package/dist/sync/sync-api.d.ts +17 -25
  23. package/dist/sync/sync-api.d.ts.map +1 -1
  24. package/dist/sync/sync-state.d.ts +3 -13
  25. package/dist/sync/sync-state.d.ts.map +1 -1
  26. package/dist/translation-api.d.ts +2 -2
  27. package/dist/translation-api.d.ts.map +1 -1
  28. package/dist/types.d.ts +1 -0
  29. package/dist/types.d.ts.map +1 -1
  30. package/package.json +7 -5
  31. package/src/blob-store/entries-stream.js +43 -18
  32. package/src/blob-store/index.js +161 -19
  33. package/src/core-manager/index.js +14 -9
  34. package/src/datatype/index.js +57 -19
  35. package/src/fastify-plugins/maps.js +1 -0
  36. package/src/fastify-plugins/utils.js +0 -13
  37. package/src/generated/extensions.d.ts +7 -0
  38. package/src/generated/extensions.js +12 -2
  39. package/src/generated/extensions.ts +19 -1
  40. package/src/mapeo-project.js +7 -76
  41. package/src/sync/core-sync-state.js +41 -14
  42. package/src/sync/namespace-sync-state.js +25 -22
  43. package/src/sync/sync-api.js +12 -43
  44. package/src/sync/sync-state.js +9 -19
  45. package/src/translation-api.js +2 -1
  46. package/src/types.ts +1 -1
  47. package/src/datatype/index.d.ts +0 -112
@@ -1 +1 @@
1
- {"version":3,"file":"entries-stream.d.ts","sourceRoot":"","sources":["../../src/blob-store/entries-stream.js"],"names":[],"mappings":"AAWA;;;;;;GAMG;AACH,gDALW,gBAAgB,aAExB;IAAuB,IAAI;CAC3B,GAAU,sBAAsB,CAiBlC;sCA1BqC,uBAAuB;4CADjB,aAAa"}
1
+ {"version":3,"file":"entries-stream.d.ts","sourceRoot":"","sources":["../../src/blob-store/entries-stream.js"],"names":[],"mappings":"AAYA;;;;;;GAMG;AACH,gDALW,gBAAgB,aAExB;IAAuB,IAAI;CAC3B,GAAU,sBAAsB,CAiBlC;sCA1BqC,uBAAuB;4CADjB,aAAa"}
@@ -1,20 +1,28 @@
1
- /** @extends {TypedEmitter<{ error: (error: Error) => void }>} */
2
- export class BlobStore extends TypedEmitter<{
3
- error: (error: Error) => void;
4
- }> {
1
+ /** @extends {TypedEmitter<BlobStoreEvents>} */
2
+ export class BlobStore extends TypedEmitter<BlobStoreEvents> {
5
3
  /**
6
4
  * @param {object} options
7
5
  * @param {import('../core-manager/index.js').CoreManager} options.coreManager
8
- * @param {BlobFilter | null} options.downloadFilter - Filter blob types and/or variants to download. Set to `null` to download all blobs.
6
+ * @param {boolean} [options.isArchiveDevice] Set to `true` if this is an archive device which should download all blobs, or just a selection of blobs
7
+ * @param {import('../logger.js').Logger} [options.logger]
9
8
  */
10
- constructor({ coreManager, downloadFilter }: {
9
+ constructor({ coreManager, isArchiveDevice, logger }: {
11
10
  coreManager: import("../core-manager/index.js").CoreManager;
12
- downloadFilter: BlobFilter | null;
11
+ isArchiveDevice?: boolean | undefined;
12
+ logger?: Logger | undefined;
13
13
  });
14
14
  /**
15
15
  * @returns {string}
16
16
  */
17
17
  get writerDriveId(): string;
18
+ get isArchiveDevice(): boolean;
19
+ /**
20
+ * @param {string} peerId
21
+ * @returns {GenericBlobFilter | null}
22
+ */
23
+ getBlobFilter(peerId: string): GenericBlobFilter | null;
24
+ /** @param {boolean} isArchiveDevice */
25
+ setIsArchiveDevice(isArchiveDevice: boolean): Promise<void>;
18
26
  /**
19
27
  * @param {BlobId} blobId
20
28
  * @param {object} opts
@@ -26,13 +34,6 @@ export class BlobStore extends TypedEmitter<{
26
34
  wait?: false | undefined;
27
35
  timeout?: undefined;
28
36
  }): Promise<Uint8Array>;
29
- /**
30
- * Set the filter for downloading blobs.
31
- *
32
- * @param {import('../types.js').BlobFilter | null} filter Filter blob types and/or variants to download. Filter is { [BlobType]: BlobVariants[] }. At least one blob variant must be specified for each blob type.
33
- * @returns {void}
34
- */
35
- setDownloadFilter(filter: import("../types.js").BlobFilter | null): void;
36
37
  /**
37
38
  * @param {BlobId} blobId
38
39
  * @param {object} [options]
@@ -128,6 +129,16 @@ export class BlobStore extends TypedEmitter<{
128
129
  close(): void;
129
130
  #private;
130
131
  }
132
+ export type BlobStoreEvents = {
133
+ "blob-filter": (peerId: string, blobFilter: GenericBlobFilter | null) => void;
134
+ "want-blob-range": (opts: {
135
+ peerId: string;
136
+ start: number;
137
+ length: number;
138
+ blobCoreId: string;
139
+ }) => void;
140
+ error: (error: Error) => void;
141
+ };
131
142
  export type Readable = NodeReadable | StreamxReadable;
132
143
  export namespace SUPPORTED_BLOB_VARIANTS {
133
144
  let photo: readonly ["original", "preview", "thumbnail"];
@@ -135,11 +146,12 @@ export namespace SUPPORTED_BLOB_VARIANTS {
135
146
  let video: readonly ["original"];
136
147
  }
137
148
  import { TypedEmitter } from 'tiny-typed-emitter';
149
+ import type { GenericBlobFilter } from '../types.js';
138
150
  import type { BlobId } from '../types.js';
139
151
  import type { BlobStoreEntriesStream } from '../types.js';
140
152
  import type { JsonObject } from 'type-fest';
141
153
  import type { Writable } from 'streamx';
142
- import type { BlobFilter } from '../types.js';
154
+ import { Logger } from '../logger.js';
143
155
  import type { Readable as NodeReadable } from 'node:stream';
144
156
  import type { Readable as StreamxReadable } from 'streamx';
145
157
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/blob-store/index.js"],"names":[],"mappings":"AAwCA,iEAAiE;AACjE;WADoC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;;IAMxD;;;;OAIG;IACH,6CAHG;QAAgE,WAAW,EAAnE,OAAO,0BAA0B,EAAE,WAAW;QACnB,cAAc,EAAzC,UAAU,GAAG,IAAI;KAC3B,EAQA;IAED;;OAEG;IACH,4BAEC;IAYD;;;;;;OAMG;IACH,sCANW,MAAM,sBAEd;QAAqB,IAAI;QACJ,OAAO;KAC5B,GAAU,OAAO,CAAC,UAAU,CAAC,CAQ/B;IAED;;;;;OAKG;IACH,0BAHW,OAAO,aAAa,EAAE,UAAU,GAAG,IAAI,GACrC,IAAI,CAShB;IAED;;;;;;OAMG;IACH,mDANW,MAAM;;;oBAIJ,QAAQ,CAYpB;IAED;;;;;;;;OAQG;IACH,2CAJG;QAAuB,IAAI;QACkC,MAAM;KACnE,GAAU,sBAAsB,CAOlC;IAED;;;;;;;;OAQG;IACH,mCANW,MAAM,CAAC,SAAS,CAAC,SACjB,OAAO,YAAY,EAAE,eAAe;;oBAGlC,OAAO,CAAC,QAAQ,CAAC,CAa7B;IAED;;;;;;OAMG;IACH,sBANW,MAAM,CAAC,SAAS,CAAC,SACjB,OAAO,YAAY,EAAE,eAAe;;oBAGlC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAalC;IAED;;;;;;;OAOG;IACH,6BANW,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,QACvB,MAAM;;oBAGJ,OAAO,CAAC,MAAM,CAAC,CAM3B;IAED;;;;;OAKG;IACH,2CALW,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;;oBAGrB,QAAQ,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAQ1C;IAED;;;;;;;OAOG;IACH,wCAPW,MAAM;;;;oBAKJ,OAAO,CAAC,OAAO,YAAY,EAAE,eAAe,GAAG,IAAI,CAAC,CAWhE;IAED;;;;;OAKG;IACH,wCALW,MAAM;;oBAGL,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAO7C;IAED,cAGC;;CACF;uBAvOY,YAAY,GAAG,eAAe;;;;;;6BAXd,oBAAoB;4BAOe,aAAa;4CAAb,aAAa;gCAH7C,WAAW;8BAEgB,SAAS;gCACJ,aAAa;8CAF/B,aAAa;iDACA,SAAS"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/blob-store/index.js"],"names":[],"mappings":"AA6DA,+CAA+C;AAC/C;IAoFE;;;;;OAKG;IACH,sDAJG;QAAgE,WAAW,EAAnE,OAAO,0BAA0B,EAAE,WAAW;QAC5B,eAAe;QACO,MAAM;KAAC,EAsBzD;IAED;;OAEG;IACH,4BAEC;IAED,+BAEC;IAED;;;OAGG;IACH,sBAHW,MAAM,GACJ,iBAAiB,GAAG,IAAI,CAIpC;IAED,uCAAuC;IACvC,oCADY,OAAO,iBAkBlB;IAYD;;;;;;OAMG;IACH,sCANW,MAAM,sBAEd;QAAqB,IAAI;QACJ,OAAO;KAC5B,GAAU,OAAO,CAAC,UAAU,CAAC,CAQ/B;IAED;;;;;;OAMG;IACH,mDANW,MAAM;;;oBAIJ,QAAQ,CAYpB;IAED;;;;;;;;OAQG;IACH,2CAJG;QAAuB,IAAI;QACkC,MAAM;KACnE,GAAU,sBAAsB,CAOlC;IAED;;;;;;;;OAQG;IACH,mCANW,MAAM,CAAC,SAAS,CAAC,SACjB,OAAO,YAAY,EAAE,eAAe;;oBAGlC,OAAO,CAAC,QAAQ,CAAC,CAa7B;IAED;;;;;;OAMG;IACH,sBANW,MAAM,CAAC,SAAS,CAAC,SACjB,OAAO,YAAY,EAAE,eAAe;;oBAGlC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAalC;IAED;;;;;;;OAOG;IACH,6BANW,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,QACvB,MAAM;;oBAGJ,OAAO,CAAC,MAAM,CAAC,CAM3B;IAED;;;;;OAKG;IACH,2CALW,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;;oBAGrB,QAAQ,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAQ1C;IAED;;;;;;;OAOG;IACH,wCAPW,MAAM;;;;oBAKJ,OAAO,CAAC,OAAO,YAAY,EAAE,eAAe,GAAG,IAAI,CAAC,CAWhE;IAED;;;;;OAKG;IACH,wCALW,MAAM;;oBAGL,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAO7C;IAED,cAMC;;CACF;;mBA3WS,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI;uBAC9D,CAAC,IAAI,EAAE;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,UAAU,EAAE,MAAM,CAAA;KACnB,KAAK,IAAI;WACH,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;;uBAKnB,YAAY,GAAG,eAAe;;;;;;6BAzBd,oBAAoB;uCASkC,aAAa;4BAAb,aAAa;4CAAb,aAAa;gCAHhE,WAAW;8BAEgB,SAAS;uBAN7C,cAAc;8CAKS,aAAa;iDACA,SAAS"}
@@ -5,7 +5,7 @@ export const kCoreManagerReplicate: unique symbol;
5
5
  * @typedef {Object} Events
6
6
  * @property {(coreRecord: CoreRecord) => void} add-core
7
7
  * @property {(namespace: Namespace, msg: { coreDiscoveryId: string, peerId: string, start: number, bitfield: Uint32Array }) => void} peer-have
8
- * @property {(blobFilter: GenericBlobFilter, peerId: string) => void} peer-download-intent
8
+ * @property {(blobFilter: GenericBlobFilter | null, peerId: string) => void} peer-download-intent
9
9
  */
10
10
  /**
11
11
  * @extends {TypedEmitter<Events>}
@@ -82,10 +82,10 @@ export class CoreManager extends TypedEmitter<Events> {
82
82
  */
83
83
  addCore(key: Buffer, namespace: Namespace): CoreRecord;
84
84
  /**
85
- * @param {BlobFilter} blobFilter
85
+ * @param {BlobFilter | null} blobFilter
86
86
  * @param {HypercorePeer} peer
87
87
  */
88
- sendDownloadIntents(blobFilter: BlobFilter, peer: HypercorePeer): void;
88
+ sendDownloadIntents(blobFilter: BlobFilter | null, peer: HypercorePeer): void;
89
89
  /**
90
90
  * @param {Exclude<Namespace, 'auth'>} namespace
91
91
  * @returns {Promise<void>}
@@ -117,7 +117,7 @@ export type Events = {
117
117
  start: number;
118
118
  bitfield: Uint32Array;
119
119
  }) => void;
120
- "peer-download-intent": (blobFilter: GenericBlobFilter, peerId: string) => void;
120
+ "peer-download-intent": (blobFilter: GenericBlobFilter | null, peerId: string) => void;
121
121
  };
122
122
  export type HaveMsg = {
123
123
  discoveryKey: Buffer;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core-manager/index.js"],"names":[],"mappings":"AAwBA,kDAAqE;AAErE,kDAAkD;AAClD,8EAA8E;AAC9E;;;;;GAKG;AAEH;;GAEG;AACH;IAkBE,kFAEC;IAED;;;;;;;;;;OAUG;IACH,8GATG;QAA4E,EAAE,EAAtE,OAAO,4BAA4B,EAAE,qBAAqB;QACd,UAAU,EAAtD,2CAAkC;QAClB,UAAU,EAA1B,MAAM;QACW,gBAAgB;QACY,cAAc;QACb,OAAO,EAArD,OAAO,WAAW,EAAE,gBAAgB;QAClB,YAAY;QACb,MAAM;KAAC,EA0HlC;IAED,uBAEC;IAED,wBAEC;IAED,oCAEC;IAED;;;;OAIG;IACH,SAFa,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;;;OAIG;IACH,yBAFW,SAAS,cAInB;IAED;;;;OAIG;IACH,oBAFW,SAAS,gBAInB;IAED;;;;;OAKG;IACH,kBAHW,MAAM,GACJ,IAAI,GAAG,SAAS,CAK5B;IAED;;;;;OAKG;IACH,oCAHW,MAAM,GACJ,UAAU,GAAG,SAAS,CAOlC;IAED;;;OAGG;IACH,uBAQC;IAED;;;;;;OAMG;IACH,aAJW,MAAM,aACN,SAAS,GACP,UAAU,CAItB;IAiJD;;;OAGG;IACH,gCAHW,UAAU,QACV,aAAa,QAIvB;IAgDD;;;OAGG;IACH,4BAHW,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,GACxB,OAAO,CAAC,IAAI,CAAC,CAgBzB;IAhCD;;;;;;;;OAQG;IACH,gCAFW,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,qBAK/C;;CAqBF;mBAvda,UAAU,QAAQ,EAAE,MAAM,CAAC;yBAC3B;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE;;gBAGjD,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI;iBAChC,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI;4BACtH,CAAC,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI;;;kBAqdvD,MAAM;WACN,MAAM;cACN,WAAW;eACX,SAAS;;6BAxfM,oBAAoB;+BAoB4B,aAAa;gCAAb,aAAa;mCAAb,aAAa;sBAnBpE,WAAW;uBAUV,cAAc;2BAQV,WAAW;uCACuC,aAAa"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core-manager/index.js"],"names":[],"mappings":"AAwBA,kDAAqE;AAErE,kDAAkD;AAClD,8EAA8E;AAC9E;;;;;GAKG;AAEH;;GAEG;AACH;IAiBE,kFAEC;IAED;;;;;;;;;;OAUG;IACH,8GATG;QAA4E,EAAE,EAAtE,OAAO,4BAA4B,EAAE,qBAAqB;QACd,UAAU,EAAtD,2CAAkC;QAClB,UAAU,EAA1B,MAAM;QACW,gBAAgB;QACY,cAAc;QACb,OAAO,EAArD,OAAO,WAAW,EAAE,gBAAgB;QAClB,YAAY;QACb,MAAM;KAAC,EAyHlC;IAED,uBAEC;IAED,wBAEC;IAED,oCAEC;IAED;;;;OAIG;IACH,SAFa,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;;;OAIG;IACH,yBAFW,SAAS,cAInB;IAED;;;;OAIG;IACH,oBAFW,SAAS,gBAInB;IAED;;;;;OAKG;IACH,kBAHW,MAAM,GACJ,IAAI,GAAG,SAAS,CAK5B;IAED;;;;;OAKG;IACH,oCAHW,MAAM,GACJ,UAAU,GAAG,SAAS,CAOlC;IAED;;;OAGG;IACH,uBAQC;IAED;;;;;;OAMG;IACH,aAJW,MAAM,aACN,SAAS,GACP,UAAU,CAItB;IAiJD;;;OAGG;IACH,gCAHW,UAAU,GAAG,IAAI,QACjB,aAAa,QAIvB;IAgDD;;;OAGG;IACH,4BAHW,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,GACxB,OAAO,CAAC,IAAI,CAAC,CAgBzB;IAhCD;;;;;;;;OAQG;IACH,gCAFW,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,qBAK/C;;CAqBF;mBArda,UAAU,QAAQ,EAAE,MAAM,CAAC;yBAC3B;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE;;gBAGjD,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI;iBAChC,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI;4BACtH,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI;;;kBAmd9D,MAAM;WACN,MAAM;cACN,WAAW;eACX,SAAS;;6BAtfM,oBAAoB;+BAoB4B,aAAa;gCAAb,aAAa;mCAAb,aAAa;sBAnBpE,WAAW;uBAUV,cAAc;2BAQV,WAAW;uCACuC,aAAa"}
@@ -44,7 +44,7 @@ export class DataStore<TNamespace extends keyof NamespaceSchemas = "auth" | "con
44
44
  });
45
45
  get indexer(): MultiCoreIndexer<"binary">;
46
46
  get namespace(): TNamespace;
47
- get schemas(): ("track" | "remoteDetectionAlert" | "observation")[] | ("translation" | "projectSettings" | "preset" | "icon" | "field" | "deviceInfo")[] | ("role" | "coreOwnership")[];
47
+ get schemas(): ("observation" | "track" | "remoteDetectionAlert")[] | ("translation" | "preset" | "field" | "projectSettings" | "deviceInfo" | "icon")[] | ("coreOwnership" | "role")[];
48
48
  get writerCore(): import("../core-manager/index.js").Core;
49
49
  /**
50
50
  * UNSAFE: Does not check links: [] refer to a valid doc - should only be used
@@ -1,112 +1,142 @@
1
- // Typescript was incorrectly compiling declaration files for this, so the
2
- // declaration for DataType is written manually below, and copied into the
3
- // `dist` folder at build-time. The types are checked in `test-types/data-types.ts`
4
-
5
- import { type MapeoDoc, type MapeoValue } from '@comapeo/schema'
6
- import {
7
- type MapeoDocMap,
8
- type MapeoValueMap,
9
- type CoreOwnershipWithSignaturesValue,
10
- } from '../types.js'
11
- import { type BetterSQLite3Database } from 'drizzle-orm/better-sqlite3'
12
- import { SQLiteSelectBase } from 'drizzle-orm/sqlite-core'
13
- import { RunResult } from 'better-sqlite3'
14
- import type Hypercore from 'hypercore'
15
- import { TypedEmitter } from 'tiny-typed-emitter'
16
- import TranslationApi from '../translation-api.js'
17
-
18
- type MapeoDocTableName = `${MapeoDoc['schemaName']}Table`
19
- type GetMapeoDocTables<T> = T[keyof T & MapeoDocTableName]
20
- /** Union of Drizzle schema tables that correspond to MapeoDoc types (e.g. excluding backlink tables and other utility tables) */
21
- type MapeoDocTables =
22
- | GetMapeoDocTables<typeof import('../schema/project.js')>
23
- | GetMapeoDocTables<typeof import('../schema/client.js')>
24
- type MapeoDocTablesMap = {
25
- [K in MapeoDocTables['_']['name']]: Extract<
26
- MapeoDocTables,
27
- { _: { name: K } }
28
- >
29
- }
30
- export interface DataTypeEvents<TDoc extends MapeoDoc> {
31
- 'updated-docs': (docs: TDoc[]) => void
32
- }
33
-
34
- export const kCreateWithDocId: unique symbol
35
- export const kSelect: unique symbol
36
- export const kTable: unique symbol
37
- export const kDataStore: unique symbol
38
-
39
- type OmitUnion<T, K extends keyof any> = T extends any ? Omit<T, K> : never
40
- type ExcludeSchema<
41
- T extends MapeoValue,
42
- S extends MapeoValue['schemaName']
43
- > = Exclude<T, { schemaName: S }>
44
-
45
- export class DataType<
46
- TDataStore extends import('../datastore/index.js').DataStore,
47
- TTable extends MapeoDocTables,
48
- TSchemaName extends TTable['_']['name'],
49
- TDoc extends MapeoDocMap[TSchemaName],
50
- TValue extends MapeoValueMap[TSchemaName]
51
- > extends TypedEmitter<DataTypeEvents<TDoc>> {
52
- constructor({
53
- dataStore,
54
- table,
55
- db,
56
- getTranslations,
57
- }: {
58
- table: TTable
59
- dataStore: TDataStore
60
- db: import('drizzle-orm/better-sqlite3').BetterSQLite3Database
61
- getTranslations: TranslationApi['get']
62
- })
63
-
64
- get [kTable](): TTable
65
-
66
- get [kDataStore](): TDataStore
67
-
68
- get schemaName(): TSchemaName
69
-
70
- get namespace(): TDataStore.namespace
71
-
72
- [kCreateWithDocId](
73
- docId: string,
74
- value:
75
- | ExcludeSchema<TValue, 'coreOwnership'>
76
- | CoreOwnershipWithSignaturesValue
77
- ): Promise<TDoc & { forks: string[] }>
78
-
79
- [kSelect](): Promise<SQLiteSelectBase<TTable, 'sync', RunResult>>
80
-
81
- create<
82
- T extends import('type-fest').Exact<
83
- ExcludeSchema<TValue, 'coreOwnership'>,
84
- T
85
- >
86
- >(value: T): Promise<TDoc & { forks: string[] }>
87
-
88
- getByDocId(
89
- docId: string,
90
- opts?: { mustBeFound?: true; lang?: string }
91
- ): Promise<TDoc & { forks: string[] }>
92
- getByDocId(
93
- docId: string,
94
- opts?: { mustBeFound?: boolean; lang?: string }
95
- ): Promise<null | (TDoc & { forks: string[] })>
96
-
97
- getByVersionId(versionId: string, opts?: { lang?: string }): Promise<TDoc>
98
-
99
- getMany(opts?: {
100
- includeDeleted?: boolean
101
- lang?: string
102
- }): Promise<Array<TDoc & { forks: string[] }>>
103
-
104
- update<
105
- T extends import('type-fest').Exact<
106
- ExcludeSchema<TValue, 'coreOwnership'>,
107
- T
108
- >
109
- >(versionId: string | string[], value: T): Promise<TDoc & { forks: string[] }>
110
-
111
- delete(docId: string): Promise<TDoc & { forks: string[] }>
1
+ export const kCreateWithDocId: unique symbol;
2
+ export const kSelect: unique symbol;
3
+ export const kTable: unique symbol;
4
+ export const kDataStore: unique symbol;
5
+ /**
6
+ * @template {DataStore} TDataStore
7
+ * @template {MapeoDocTables} TTable
8
+ * @template {TTable['_']['name']} TSchemaName
9
+ * @template {MapeoDocMap[TSchemaName]} TDoc
10
+ * @template {MapeoValueMap[TSchemaName]} TValue
11
+ * @extends {TypedEmitter<DataTypeEvents<TDoc> & DefaultEmitterEvents<DataTypeEvents<TDoc>>>}
12
+ */
13
+ export class DataType<TDataStore extends DataStore, TTable extends MapeoDocTables, TSchemaName extends TTable["_"]["name"], TDoc extends MapeoDocMap[TSchemaName], TValue extends MapeoValueMap[TSchemaName]> extends TypedEmitter<DataTypeEvents<TDoc> & DefaultEmitterEvents<DataTypeEvents<TDoc>>> {
14
+ /**
15
+ *
16
+ * @param {object} opts
17
+ * @param {TTable} opts.table
18
+ * @param {TDataStore} opts.dataStore
19
+ * @param {import('drizzle-orm/better-sqlite3').BetterSQLite3Database} opts.db
20
+ * @param {import('../translation-api.js').default['get']} opts.getTranslations
21
+ */
22
+ constructor({ dataStore, table, db, getTranslations }: {
23
+ table: TTable;
24
+ dataStore: TDataStore;
25
+ db: import("drizzle-orm/better-sqlite3").BetterSQLite3Database;
26
+ getTranslations: import("../translation-api.js").default["get"];
27
+ });
28
+ /** @returns {TSchemaName} */
29
+ get schemaName(): TSchemaName;
30
+ /** @returns {TDataStore['namespace']} */
31
+ get namespace(): TDataStore["namespace"];
32
+ /**
33
+ * @template {Exact<ExcludeSchema<TValue, 'coreOwnership'>, T>} T
34
+ * @param {T} value
35
+ * @returns {Promise<TDoc & { forks: string[] }>}
36
+ */
37
+ create<T extends Exact<ExcludeSchema<TValue, "coreOwnership">, T>>(value: T): Promise<TDoc & {
38
+ forks: string[];
39
+ }>;
40
+ /**
41
+ * @overload
42
+ * @param {string} docId
43
+ * @param {object} [options]
44
+ * @param {true} [options.mustBeFound]
45
+ * @param {string} [options.lang]
46
+ * @returns {Promise<TDoc & { forks: string[] }>}
47
+ */
48
+ getByDocId(docId: string, options?: {
49
+ mustBeFound?: true | undefined;
50
+ lang?: string | undefined;
51
+ } | undefined): Promise<TDoc & {
52
+ forks: string[];
53
+ }>;
54
+ /**
55
+ * @param {string} versionId
56
+ * @param {{ lang?: string }} [opts]
57
+ * @returns {Promise<TDoc>}
58
+ */
59
+ getByVersionId(versionId: string, { lang }?: {
60
+ lang?: string;
61
+ } | undefined): Promise<TDoc>;
62
+ /**
63
+ * @param {object} opts
64
+ * @param {boolean} [opts.includeDeleted]
65
+ * @param {string} [opts.lang]
66
+ * @returns {Promise<Array<TDoc & { forks: string[] }>>}
67
+ */
68
+ getMany({ includeDeleted, lang }?: {
69
+ includeDeleted?: boolean | undefined;
70
+ lang?: string | undefined;
71
+ }): Promise<Array<TDoc & {
72
+ forks: string[];
73
+ }>>;
74
+ /**
75
+ * @template {Exact<ExcludeSchema<TValue, 'coreOwnership'>, T>} T
76
+ * @param {string | string[]} versionId
77
+ * @param {T} value
78
+ * @returns {Promise<TDoc & { forks: string[] }>}
79
+ */
80
+ update<T extends Exact<ExcludeSchema<TValue, "coreOwnership">, T>>(versionId: string | string[], value: T): Promise<TDoc & {
81
+ forks: string[];
82
+ }>;
83
+ /**
84
+ * @param {string} docId
85
+ * @returns {Promise<TDoc & { forks: string[] }>}
86
+ */
87
+ delete(docId: string): Promise<TDoc & {
88
+ forks: string[];
89
+ }>;
90
+ /** @returns {TTable} */
91
+ get [kTable](): TTable;
92
+ /** @returns {TDataStore} */
93
+ get [kDataStore](): TDataStore;
94
+ /**
95
+ * @param {string} docId
96
+ * @param {ExcludeSchema<TValue, 'coreOwnership'> | CoreOwnershipWithSignaturesValue} value
97
+ * @param {{ checkExisting?: boolean }} [opts] - only used internally to skip the checkExisting check when creating a document with a random ID (collisions should be too small probability to be worth checking for)
98
+ * @returns {Promise<TDoc & { forks: string[] }>}
99
+ */
100
+ [kCreateWithDocId](docId: string, value: ExcludeSchema<TValue, "coreOwnership"> | CoreOwnershipWithSignaturesValue, { checkExisting }?: {
101
+ checkExisting?: boolean;
102
+ } | undefined): Promise<TDoc & {
103
+ forks: string[];
104
+ }>;
105
+ [kSelect](): Promise<Omit<SQLiteSelectBase<import("drizzle-orm/query-builders/select.types").GetSelectTableName<TTable>, "sync", RunResult, import("drizzle-orm/query-builders/select.types").GetSelectTableSelection<TTable>, "single", import("drizzle-orm/query-builders/select.types").GetSelectTableName<TTable> extends infer T ? T extends import("drizzle-orm/query-builders/select.types").GetSelectTableName<TTable> ? T extends string ? Record<T, "not-null"> : {} : never : never, false, never, ({ [Key in keyof import("drizzle-orm/query-builders/select.types").GetSelectTableSelection<TTable> & string]: import("drizzle-orm/query-builders/select.types").SelectResultField<import("drizzle-orm/query-builders/select.types").GetSelectTableSelection<TTable>[Key], true>; } extends infer T_1 ? { [K in keyof T_1]: { [Key in keyof import("drizzle-orm/query-builders/select.types").GetSelectTableSelection<TTable> & string]: import("drizzle-orm/query-builders/select.types").SelectResultField<import("drizzle-orm/query-builders/select.types").GetSelectTableSelection<TTable>[Key], true>; }[K]; } : never)[], import("drizzle-orm/query-builders/select.types").BuildSubquerySelection<import("drizzle-orm/query-builders/select.types").GetSelectTableSelection<TTable>, import("drizzle-orm/query-builders/select.types").GetSelectTableName<TTable> extends infer T ? T extends import("drizzle-orm/query-builders/select.types").GetSelectTableName<TTable> ? T extends string ? Record<T, "not-null"> : {} : never : never>>, "then" | "catch" | "finally"> & {
106
+ then?: undefined;
107
+ catch?: undefined;
108
+ finally?: undefined;
109
+ }>;
110
+ #private;
112
111
  }
112
+ export type MapeoDocTableName = `${MapeoDoc["schemaName"]}Table`;
113
+ export type GetMapeoDocTables<T> = T[(keyof T) & MapeoDocTableName];
114
+ /**
115
+ * Union of Drizzle schema tables that correspond to MapeoDoc types (e.g. excluding backlink tables and other utility tables)
116
+ */
117
+ export type MapeoDocTables = GetMapeoDocTables<typeof import("../schema/project.js")> | GetMapeoDocTables<typeof import("../schema/client.js")>;
118
+ export type MapeoDocTablesMap = { [K in MapeoDocTables["_"]["name"]]: Extract<MapeoDocTables, {
119
+ _: {
120
+ name: K;
121
+ };
122
+ }>; };
123
+ export type OmitUnion<T, K extends keyof any> = T extends any ? Omit<T, K> : never;
124
+ export type ExcludeSchema<T extends MapeoValue, S extends MapeoValue["schemaName"]> = Exclude<T, {
125
+ schemaName: S;
126
+ }>;
127
+ export type DataTypeEvents<TDoc extends MapeoDoc> = {
128
+ "updated-docs": (docs: TDoc[]) => void;
129
+ };
130
+ import type { DataStore } from '../datastore/index.js';
131
+ import type { MapeoDocMap } from '../types.js';
132
+ import type { MapeoValueMap } from '../types.js';
133
+ import type { DefaultEmitterEvents } from '../types.js';
134
+ import { TypedEmitter } from 'tiny-typed-emitter';
135
+ import type { Exact } from 'type-fest';
136
+ import type { CoreOwnershipWithSignaturesValue } from '../types.js';
137
+ import type { RunResult } from 'better-sqlite3';
138
+ import type { SQLiteSelectBase } from 'drizzle-orm/sqlite-core';
139
+ import type { MapeoDoc } from '@comapeo/schema';
140
+ import type { MapeoValue } from '@comapeo/schema';
141
+ import type { MapeoDoc as MapeoDoc_1 } from '@comapeo/schema';
142
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/datatype/index.js"],"names":[],"mappings":"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"}
@@ -6,15 +6,6 @@
6
6
  export function getFastifyServerAddress(server: import("node:http").Server, { timeout }?: {
7
7
  timeout?: number;
8
8
  } | undefined): Promise<string>;
9
- /**
10
- * @param {Readonly<Date>} lastModified
11
- */
12
- export function createStyleJsonResponseHeaders(lastModified: Readonly<Date>): {
13
- 'Cache-Control': string;
14
- 'Access-Control-Allow-Headers': string;
15
- 'Access-Control-Allow-Origin': string;
16
- 'Last-Modified': string;
17
- };
18
9
  export const NotFoundError: createError.FastifyErrorConstructor<{
19
10
  code: "FST_RESOURCE_NOT_FOUND";
20
11
  statusCode: 404;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/fastify-plugins/utils.js"],"names":[],"mappings":"AAeA;;;;GAIG;AACH,gDAJW,OAAO,WAAW,EAAE,MAAM;cACd,MAAM;gBAChB,OAAO,CAAC,MAAM,CAAC,CA0B3B;AAED;;GAEG;AACH,6DAFW,QAAQ,CAAC,IAAI,CAAC;;;;;EAUxB;AAtDD;;;uBAIC;AAED;;;uBAIC;wBAZuB,gBAAgB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/fastify-plugins/utils.js"],"names":[],"mappings":"AAeA;;;;GAIG;AACH,gDAJW,OAAO,WAAW,EAAE,MAAM;cACd,MAAM;gBAChB,OAAO,CAAC,MAAM,CAAC,CA0B3B;AAzCD;;;uBAIC;AAED;;;uBAIC;wBAZuB,gBAAgB"}
@@ -24,6 +24,13 @@ export interface DownloadIntentExtension {
24
24
  downloadIntents: {
25
25
  [key: string]: DownloadIntentExtension_DownloadIntent;
26
26
  };
27
+ /**
28
+ * If true, the peer intends to download all blobs - this is the default
29
+ * assumption when a peer has not sent a download intent, but if a peer
30
+ * changes their intent while connected, we need to send the new intent to
31
+ * download everything.
32
+ */
33
+ everything: boolean;
27
34
  }
28
35
  export interface DownloadIntentExtension_DownloadIntent {
29
36
  variants: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/generated/extensions.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,uBAAuB,CAAC;AAExC,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,uBAAuB,CAAC;CACpC;AAED,eAAO,MAAM,uBAAuB;;;;;;;CAO1B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC;AAE3G,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,GAAG,GAAG,uBAAuB,CAsBpF;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAgBvF;AAED,uEAAuE;AACvE,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,sCAAsC,CAAA;KAAE,CAAC;CAC5E;AAED,MAAM,WAAW,sCAAsC;IACrD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,4CAA4C;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,sCAAsC,GAAG,SAAS,CAAC;CAC3D;AAMD,eAAO,MAAM,gBAAgB;oBACX,gBAAgB,WAAU,GAAG,CAAC,MAAM,GAAyB,GAAG,CAAC,MAAM;kBAOzE,GAAG,CAAC,MAAM,GAAG,UAAU,WAAW,MAAM,GAAG,gBAAgB;WAuBlE,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,gBAAgB;gBAGzE,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,gBAAgB;CAK5F,CAAC;AAWF,eAAO,MAAM,aAAa;oBACR,aAAa,WAAU,GAAG,CAAC,MAAM,GAAyB,GAAG,CAAC,MAAM;kBAgBtE,GAAG,CAAC,MAAM,GAAG,UAAU,WAAW,MAAM,GAAG,aAAa;WA4C/D,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,aAAa;gBAGnE,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,aAAa;CAQtF,CAAC;AAMF,eAAO,MAAM,uBAAuB;oBAClB,uBAAuB,WAAU,GAAG,CAAC,MAAM,GAAyB,GAAG,CAAC,MAAM;kBAQhF,GAAG,CAAC,MAAM,GAAG,UAAU,WAAW,MAAM,GAAG,uBAAuB;WA0BzE,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,uBAAuB;gBAGvF,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,uBAAuB;CAY1G,CAAC;AAMF,eAAO,MAAM,sCAAsC;oBACjC,sCAAsC,WAAU,GAAG,CAAC,MAAM,GAAyB,GAAG,CAAC,MAAM;kBAO/F,GAAG,CAAC,MAAM,GAAG,UAAU,WAAW,MAAM,GAAG,sCAAsC;WAuBxF,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,sCAAsC,CAAC,EAAE,CAAC,CAAC,SACrE,CAAC,GACP,sCAAsC;gBAG7B,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,sCAAsC,CAAC,EAAE,CAAC,CAAC,UACzE,CAAC,GACR,sCAAsC;CAK1C,CAAC;AAMF,eAAO,MAAM,4CAA4C;oBACvC,4CAA4C,WAAU,GAAG,CAAC,MAAM,GAAyB,GAAG,CAAC,MAAM;kBAUrG,GAAG,CAAC,MAAM,GAAG,UAAU,WAAW,MAAM,GAAG,4CAA4C;WA8B9F,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,4CAA4C,CAAC,EAAE,CAAC,CAAC,SAC3E,CAAC,GACP,4CAA4C;gBAGnC,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,4CAA4C,CAAC,EAAE,CAAC,CAAC,UAC/E,CAAC,GACR,4CAA4C;CAQhD,CAAC;AAqBF,KAAK,OAAO,GAAG,IAAI,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAEpF,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,CAAC,GACvC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GACnH,CAAC,SAAS,EAAE,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACrD,OAAO,CAAC,CAAC,CAAC,CAAC;AAEf,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC;AACpD,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,CAAC,GAC9C,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG;KAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CAAE,CAAC"}
1
+ {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/generated/extensions.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { plugin as CoMapeoMapsFastifyPlugin } from "./fastify-plugins/maps.js";
2
2
  export { FastifyController } from "./fastify-controller.js";
3
3
  export { MapeoManager } from "./mapeo-manager.js";
4
- export function replicateProject(project: MapeoProject, isInitiatorOrStream: boolean | import("stream").Duplex | import("streamx").Duplex<any, any, any, any, true, true, import("streamx").DuplexEvents<any, any>>): ReturnType<(isInitiatorOrStream: (boolean | import("stream").Duplex | import("streamx").Duplex)) => import("./types.js").ReplicationStream>;
4
+ export function replicateProject(project: MapeoProject, isInitiatorOrStream: boolean | import("streamx").Duplex<any, any, any, any, true, true, import("streamx").DuplexEvents<any, any>> | import("stream").Duplex): ReturnType<(isInitiatorOrStream: (boolean | import("stream").Duplex | import("streamx").Duplex)) => import("./types.js").ReplicationStream>;
5
5
  export namespace roles {
6
6
  export { CREATOR_ROLE_ID };
7
7
  export { COORDINATOR_ROLE_ID };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";;;AAgBO,0CAJI,YAAY,gKAEV,UAAU,yCAUk0nB,QAAQ,kBAAyB,SAAS,qDAVj0nB,CAG7B;;;;;;kCARH,oBAAoB;gCAL/C,YAAY;oCAAZ,YAAY;+BAAZ,YAAY"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";;;AAgBO,0CAJI,YAAY,gKAEV,UAAU,yCAUgkkB,QAAQ,kBAAyB,SAAS,qDAV/jkB,CAG7B;;;;;;kCARH,oBAAoB;gCAL/C,YAAY;oCAAZ,YAAY;+BAAZ,YAAY"}