@comapeo/core 2.0.1 → 2.1.0
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/dist/blob-store/index.d.ts +5 -8
- package/dist/blob-store/index.d.ts.map +1 -1
- package/dist/constants.d.ts +2 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/core-manager/index.d.ts +10 -0
- package/dist/core-manager/index.d.ts.map +1 -1
- package/dist/datastore/index.d.ts +5 -4
- package/dist/datastore/index.d.ts.map +1 -1
- package/dist/generated/extensions.d.ts +31 -0
- package/dist/generated/extensions.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/drizzle-helpers.d.ts +6 -0
- package/dist/lib/drizzle-helpers.d.ts.map +1 -0
- package/dist/lib/error.d.ts +37 -0
- package/dist/lib/error.d.ts.map +1 -0
- package/dist/lib/get-own.d.ts +9 -0
- package/dist/lib/get-own.d.ts.map +1 -0
- package/dist/lib/is-hostname-ip-address.d.ts +17 -0
- package/dist/lib/is-hostname-ip-address.d.ts.map +1 -0
- package/dist/lib/ws-core-replicator.d.ts +11 -0
- package/dist/lib/ws-core-replicator.d.ts.map +1 -0
- package/dist/mapeo-manager.d.ts +18 -22
- package/dist/mapeo-manager.d.ts.map +1 -1
- package/dist/mapeo-project.d.ts +448 -15
- package/dist/mapeo-project.d.ts.map +1 -1
- package/dist/member-api.d.ts +40 -1
- package/dist/member-api.d.ts.map +1 -1
- package/dist/schema/client.d.ts +17 -5
- package/dist/schema/client.d.ts.map +1 -1
- package/dist/schema/project.d.ts +210 -0
- package/dist/schema/project.d.ts.map +1 -1
- package/dist/sync/peer-sync-controller.d.ts.map +1 -1
- package/dist/sync/sync-api.d.ts +28 -2
- package/dist/sync/sync-api.d.ts.map +1 -1
- package/dist/types.d.ts +3 -2
- package/dist/types.d.ts.map +1 -1
- package/drizzle/client/0001_chubby_cargill.sql +12 -0
- package/drizzle/client/meta/0001_snapshot.json +208 -0
- package/drizzle/client/meta/_journal.json +7 -0
- package/drizzle/project/0001_medical_wendell_rand.sql +22 -0
- package/drizzle/project/meta/0001_snapshot.json +1267 -0
- package/drizzle/project/meta/_journal.json +7 -0
- package/package.json +9 -5
- package/src/blob-store/index.js +3 -2
- package/src/constants.js +4 -1
- package/src/core-manager/index.js +58 -2
- package/src/datastore/README.md +1 -2
- package/src/datastore/index.js +4 -5
- package/src/fastify-plugins/blobs.js +1 -0
- package/src/generated/extensions.d.ts +31 -0
- package/src/generated/extensions.js +150 -0
- package/src/generated/extensions.ts +181 -0
- package/src/index.js +10 -0
- package/src/invite-api.js +1 -1
- package/src/lib/drizzle-helpers.js +79 -0
- package/src/lib/error.js +47 -0
- package/src/lib/get-own.js +10 -0
- package/src/lib/is-hostname-ip-address.js +26 -0
- package/src/lib/ws-core-replicator.js +47 -0
- package/src/mapeo-manager.js +71 -43
- package/src/mapeo-project.js +153 -43
- package/src/member-api.js +253 -2
- package/src/schema/client.js +4 -3
- package/src/schema/project.js +7 -0
- package/src/sync/peer-sync-controller.js +1 -0
- package/src/sync/sync-api.js +171 -3
- package/src/types.ts +4 -3
- package/dist/lib/timing-safe-equal.d.ts +0 -15
- package/dist/lib/timing-safe-equal.d.ts.map +0 -1
- package/src/lib/timing-safe-equal.js +0 -34
|
@@ -75,24 +75,20 @@ export class BlobStore {
|
|
|
75
75
|
* @param {Omit<BlobId, 'driveId'>} blobId
|
|
76
76
|
* @param {Buffer} blob
|
|
77
77
|
* @param {object} [options]
|
|
78
|
-
* @param {
|
|
78
|
+
* @param {JsonObject} [options.metadata] Metadata to store with the blob
|
|
79
79
|
* @returns {Promise<string>} discovery key as hex string of hyperdrive where blob is stored
|
|
80
80
|
*/
|
|
81
81
|
put({ type, variant, name }: Omit<BlobId, "driveId">, blob: Buffer, options?: {
|
|
82
|
-
metadata?:
|
|
83
|
-
mimeType: string;
|
|
84
|
-
} | undefined;
|
|
82
|
+
metadata?: JsonObject | undefined;
|
|
85
83
|
} | undefined): Promise<string>;
|
|
86
84
|
/**
|
|
87
85
|
* @param {Omit<BlobId, 'driveId'>} blobId
|
|
88
86
|
* @param {object} [options]
|
|
89
|
-
* @param {
|
|
87
|
+
* @param {JsonObject} [options.metadata] Metadata to store with the blob
|
|
90
88
|
* @returns {Writable & { driveId: string }}
|
|
91
89
|
*/
|
|
92
90
|
createWriteStream({ type, variant, name }: Omit<BlobId, "driveId">, options?: {
|
|
93
|
-
metadata?:
|
|
94
|
-
mimeType: string;
|
|
95
|
-
} | undefined;
|
|
91
|
+
metadata?: JsonObject | undefined;
|
|
96
92
|
} | undefined): Writable & {
|
|
97
93
|
driveId: string;
|
|
98
94
|
};
|
|
@@ -134,6 +130,7 @@ export namespace SUPPORTED_BLOB_VARIANTS {
|
|
|
134
130
|
import type { BlobId } from '../types.js';
|
|
135
131
|
import { TypedEmitter } from 'tiny-typed-emitter';
|
|
136
132
|
import type { BlobDownloadEvents } from './live-download.js';
|
|
133
|
+
import type { JsonObject } from 'type-fest';
|
|
137
134
|
import type { Writable } from 'streamx';
|
|
138
135
|
import type { Readable as NodeReadable } from 'node:stream';
|
|
139
136
|
import type { Readable as StreamxReadable } from 'streamx';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/blob-store/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/blob-store/index.js"],"names":[],"mappings":"AAuCA;IAUE;;;OAGG;IACH,6BAFG;QAAgE,WAAW,EAAnE,OAAO,0BAA0B,EAAE,WAAW;KACxD,EA+BA;IAED;;OAEG;IACH,4BAEC;IAYD;;;;;;OAMG;IACH,sCANW,MAAM,sBAEd;QAAqB,IAAI;QACJ,OAAO;KAC5B,GAAU,OAAO,CAAC,UAAU,CAAC,CAQ/B;IAED;;;;;;;;;;;;OAYG;IACH,6EAHG;QAA8B,MAAM;KACpC,GAAU,YAAY,CAAC,kBAAkB,CAAC,CAO5C;IAED;;;;;;OAMG;IACH,mDANW,MAAM;;;oBAIJ,QAAQ,CAYpB;IAED;;;;;;;;OAQG;IACH,+BANW,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;;CACF;uBAnPY,YAAY,GAAG,eAAe;mCAG7B,YAAY,CAAC;IAAE,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,YAAY,CAAC,KAAK,IAAI,CAAA;CAAE,CAAC;;;;;;4BARtD,aAAa;6BALZ,oBAAoB;wCAMT,oBAAoB;gCAJ5B,WAAW;8BAEgB,SAAS;8CADtB,aAAa;iDACA,SAAS"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -5,10 +5,11 @@ export const PRESYNC_NAMESPACES: ReadonlyArray<Namespace>;
|
|
|
5
5
|
/** @type {ReadonlyArray<Namespace>} */
|
|
6
6
|
export const DATA_NAMESPACES: ReadonlyArray<Namespace>;
|
|
7
7
|
export namespace NAMESPACE_SCHEMAS {
|
|
8
|
-
let data: readonly ["observation", "track"];
|
|
8
|
+
let data: readonly ["observation", "track", "remoteDetectionAlert"];
|
|
9
9
|
let config: readonly ["translation", "preset", "field", "projectSettings", "deviceInfo", "icon"];
|
|
10
10
|
let auth: readonly ["coreOwnership", "role"];
|
|
11
11
|
}
|
|
12
12
|
export const SUPPORTED_CONFIG_VERSION: 1;
|
|
13
|
+
export const DRIZZLE_MIGRATIONS_TABLE: "__drizzle_migrations";
|
|
13
14
|
import type { Namespace } from './types.js';
|
|
14
15
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.js"],"names":[],"mappings":"AAAA,8CAA8C;AAI9C,kFAME;AAEF,uCAAuC;AACvC,iCADW,aAAa,CAAC,SAAS,CAAC,CAC8B;AAEjE,uCAAuC;AACvC,8BADW,aAAa,CAAC,SAAS,CAAC,CAGlC;;;;;;AAeD,yCAAyC;+
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.js"],"names":[],"mappings":"AAAA,8CAA8C;AAI9C,kFAME;AAEF,uCAAuC;AACvC,iCADW,aAAa,CAAC,SAAS,CAAC,CAC8B;AAEjE,uCAAuC;AACvC,8BADW,aAAa,CAAC,SAAS,CAAC,CAGlC;;;;;;AAeD,yCAAyC;AAGzC,8DAA8D;+BApC/B,YAAY"}
|
|
@@ -5,6 +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
9
|
*/
|
|
9
10
|
/**
|
|
10
11
|
* @extends {TypedEmitter<Events>}
|
|
@@ -80,6 +81,11 @@ export class CoreManager extends TypedEmitter<Events> {
|
|
|
80
81
|
* @returns {CoreRecord}
|
|
81
82
|
*/
|
|
82
83
|
addCore(key: Buffer, namespace: Namespace): CoreRecord;
|
|
84
|
+
/**
|
|
85
|
+
* @param {BlobFilter} blobFilter
|
|
86
|
+
* @param {HypercorePeer} peer
|
|
87
|
+
*/
|
|
88
|
+
sendDownloadIntents(blobFilter: BlobFilter, peer: HypercorePeer): void;
|
|
83
89
|
/**
|
|
84
90
|
* @param {Exclude<Namespace, 'auth'>} namespace
|
|
85
91
|
* @returns {Promise<void>}
|
|
@@ -111,6 +117,7 @@ export type Events = {
|
|
|
111
117
|
start: number;
|
|
112
118
|
bitfield: Uint32Array;
|
|
113
119
|
}) => void;
|
|
120
|
+
"peer-download-intent": (blobFilter: GenericBlobFilter, peerId: string) => void;
|
|
114
121
|
};
|
|
115
122
|
export type HaveMsg = {
|
|
116
123
|
discoveryKey: Buffer;
|
|
@@ -120,7 +127,10 @@ export type HaveMsg = {
|
|
|
120
127
|
};
|
|
121
128
|
import { TypedEmitter } from 'tiny-typed-emitter';
|
|
122
129
|
import type { Namespace } from '../types.js';
|
|
130
|
+
import type { BlobFilter } from '../types.js';
|
|
131
|
+
import type { HypercorePeer } from '../types.js';
|
|
123
132
|
import Corestore from 'corestore';
|
|
124
133
|
import { Logger } from '../logger.js';
|
|
125
134
|
import type Hypercore from 'hypercore';
|
|
135
|
+
import type { GenericBlobFilter } from '../types.js';
|
|
126
136
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core-manager/index.js"],"names":[],"mappings":"
|
|
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;IAgJD;;;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;mBAtda,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;;;kBAodvD,MAAM;WACN,MAAM;cACN,WAAW;eACX,SAAS;;6BAvfM,oBAAoB;+BAoB4B,aAAa;gCAAb,aAAa;mCAAb,aAAa;sBAnBpE,WAAW;uBAUV,cAAc;2BAQV,WAAW;uCACuC,aAAa"}
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* @extends {TypedEmitter<DataStoreEvents<TSchemaName>>}
|
|
24
24
|
*/
|
|
25
25
|
export class DataStore<TNamespace extends keyof NamespaceSchemas = "auth" | "config" | "data", TSchemaName extends NamespaceSchemas[TNamespace][number] = {
|
|
26
|
-
readonly data: readonly ["observation", "track"];
|
|
26
|
+
readonly data: readonly ["observation", "track", "remoteDetectionAlert"];
|
|
27
27
|
readonly config: readonly ["translation", "preset", "field", "projectSettings", "deviceInfo", "icon"];
|
|
28
28
|
readonly auth: readonly ["coreOwnership", "role"];
|
|
29
29
|
}[TNamespace][number]> extends TypedEmitter<DataStoreEvents<TSchemaName>> {
|
|
@@ -33,18 +33,19 @@ export class DataStore<TNamespace extends keyof NamespaceSchemas = "auth" | "con
|
|
|
33
33
|
* @param {TNamespace} opts.namespace
|
|
34
34
|
* @param {(entries: MultiCoreIndexer.Entry<'binary'>[]) => Promise<import('../index-writer/index.js').IndexedDocIds>} opts.batch
|
|
35
35
|
* @param {MultiCoreIndexer.StorageParam} opts.storage
|
|
36
|
+
* @param {boolean} opts.reindex
|
|
36
37
|
*/
|
|
37
|
-
constructor({ coreManager, namespace, batch, storage }: {
|
|
38
|
+
constructor({ coreManager, namespace, batch, storage, reindex }: {
|
|
38
39
|
coreManager: import("../core-manager/index.js").CoreManager;
|
|
39
40
|
namespace: TNamespace;
|
|
40
41
|
batch: (entries: MultiCoreIndexer.Entry<"binary">[]) => Promise<import("../index-writer/index.js").IndexedDocIds>;
|
|
41
42
|
storage: MultiCoreIndexer.StorageParam;
|
|
43
|
+
reindex: boolean;
|
|
42
44
|
});
|
|
43
45
|
get indexer(): MultiCoreIndexer<"binary">;
|
|
44
46
|
get namespace(): TNamespace;
|
|
45
|
-
get schemas(): ("observation" | "track")[] | ("translation" | "preset" | "field" | "projectSettings" | "deviceInfo" | "icon")[] | ("coreOwnership" | "role")[];
|
|
47
|
+
get schemas(): ("observation" | "track" | "remoteDetectionAlert")[] | ("translation" | "preset" | "field" | "projectSettings" | "deviceInfo" | "icon")[] | ("coreOwnership" | "role")[];
|
|
46
48
|
get writerCore(): import("../core-manager/index.js").Core;
|
|
47
|
-
getIndexState(): import("multi-core-indexer/types/lib/types.js").IndexState;
|
|
48
49
|
/**
|
|
49
50
|
* UNSAFE: Does not check links: [] refer to a valid doc - should only be used
|
|
50
51
|
* internally.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/datastore/index.js"],"names":[],"mappings":"AAOA,kDAAkD;AAElD;;;;;;;;;GASG;AACH;;;;GAIG;AAEH;;GAEG;AAEH;;;;GAIG;AACH,uBAJuC,UAAU,SAApC,MAAO,gBAAiB,+BACgB,WAAW,SAAlD,gBAAgB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAE;;;;;IAgBjD
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/datastore/index.js"],"names":[],"mappings":"AAOA,kDAAkD;AAElD;;;;;;;;;GASG;AACH;;;;GAIG;AAEH;;GAEG;AAEH;;;;GAIG;AACH,uBAJuC,UAAU,SAApC,MAAO,gBAAiB,+BACgB,WAAW,SAAlD,gBAAgB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAE;;;;;IAgBjD;;;;;;;OAOG;IACH,iEANG;QAA6D,WAAW,EAAhE,OAAO,0BAA0B,EAAE,WAAW;QAC7B,SAAS,EAA1B,UAAU;QACuG,KAAK,EAAtH,CAAC,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,0BAA0B,EAAE,aAAa,CAAC;QACtE,OAAO,EAA3C,gBAAgB,CAAC,YAAY;QACf,OAAO,EAArB,OAAO;KACjB,EAsBA;IAED,0CAEC;IAED,4BAEC;IAED,wLAGC;IAED,0DAEC;IAkCD;;;;;;;;;OASG;IACH,MAJ2E,IAAI,SAAjE,OAAO,CAAC,UAAU,eAAQ,CAAC,CAAC,CAAC,EAAE;QAAE,UAAU,EAAE,WAAW,CAAA;KAAE,CAAE,OAC/D,IAAI,GACF,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAqC5C;IAED;;;;OAIG;IACH,gBAHW,MAAM,GACJ,OAAO,CAAC,QAAQ,CAAC,CAS7B;IAED,0BAA0B;IAC1B,cADY,MAAM,mBAUjB;IAED,gCAAgC;IAChC,mBADY,MAAM,mBAQjB;IAED,uBAEC;IAED;;OAEG;IACH,wBAEC;;CAaF;;;;;;4BA1NqC,WAAW,SAAnC,QAAQ,CAAC,YAAY,CAAE,IACxB,GACP,CAA4C,IAAvC,OAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,GAC9E;sBAGS,CAAC,EACW,CAAC,SAAb,MAAO,GAAI,IACX,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK;+BAIlC,OAAO,iBAAiB;6BA1BR,oBAAoB;6BAEpB,oBAAoB;uBADY,iBAAiB;8BAMhD,iBAAiB;kCAFb,iBAAiB"}
|
|
@@ -19,6 +19,19 @@ export declare const HaveExtension_Namespace: {
|
|
|
19
19
|
export type HaveExtension_Namespace = typeof HaveExtension_Namespace[keyof typeof HaveExtension_Namespace];
|
|
20
20
|
export declare function haveExtension_NamespaceFromJSON(object: any): HaveExtension_Namespace;
|
|
21
21
|
export declare function haveExtension_NamespaceToNumber(object: HaveExtension_Namespace): number;
|
|
22
|
+
/** A map of blob types and variants that a peer intends to download */
|
|
23
|
+
export interface DownloadIntentExtension {
|
|
24
|
+
downloadIntents: {
|
|
25
|
+
[key: string]: DownloadIntentExtension_DownloadIntent;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export interface DownloadIntentExtension_DownloadIntent {
|
|
29
|
+
variants: string[];
|
|
30
|
+
}
|
|
31
|
+
export interface DownloadIntentExtension_DownloadIntentsEntry {
|
|
32
|
+
key: string;
|
|
33
|
+
value: DownloadIntentExtension_DownloadIntent | undefined;
|
|
34
|
+
}
|
|
22
35
|
export declare const ProjectExtension: {
|
|
23
36
|
encode(message: ProjectExtension, writer?: _m0.Writer): _m0.Writer;
|
|
24
37
|
decode(input: _m0.Reader | Uint8Array, length?: number): ProjectExtension;
|
|
@@ -31,6 +44,24 @@ export declare const HaveExtension: {
|
|
|
31
44
|
create<I extends Exact<DeepPartial<HaveExtension>, I>>(base?: I): HaveExtension;
|
|
32
45
|
fromPartial<I extends Exact<DeepPartial<HaveExtension>, I>>(object: I): HaveExtension;
|
|
33
46
|
};
|
|
47
|
+
export declare const DownloadIntentExtension: {
|
|
48
|
+
encode(message: DownloadIntentExtension, writer?: _m0.Writer): _m0.Writer;
|
|
49
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): DownloadIntentExtension;
|
|
50
|
+
create<I extends Exact<DeepPartial<DownloadIntentExtension>, I>>(base?: I): DownloadIntentExtension;
|
|
51
|
+
fromPartial<I extends Exact<DeepPartial<DownloadIntentExtension>, I>>(object: I): DownloadIntentExtension;
|
|
52
|
+
};
|
|
53
|
+
export declare const DownloadIntentExtension_DownloadIntent: {
|
|
54
|
+
encode(message: DownloadIntentExtension_DownloadIntent, writer?: _m0.Writer): _m0.Writer;
|
|
55
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): DownloadIntentExtension_DownloadIntent;
|
|
56
|
+
create<I extends Exact<DeepPartial<DownloadIntentExtension_DownloadIntent>, I>>(base?: I): DownloadIntentExtension_DownloadIntent;
|
|
57
|
+
fromPartial<I extends Exact<DeepPartial<DownloadIntentExtension_DownloadIntent>, I>>(object: I): DownloadIntentExtension_DownloadIntent;
|
|
58
|
+
};
|
|
59
|
+
export declare const DownloadIntentExtension_DownloadIntentsEntry: {
|
|
60
|
+
encode(message: DownloadIntentExtension_DownloadIntentsEntry, writer?: _m0.Writer): _m0.Writer;
|
|
61
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): DownloadIntentExtension_DownloadIntentsEntry;
|
|
62
|
+
create<I extends Exact<DeepPartial<DownloadIntentExtension_DownloadIntentsEntry>, I>>(base?: I): DownloadIntentExtension_DownloadIntentsEntry;
|
|
63
|
+
fromPartial<I extends Exact<DeepPartial<DownloadIntentExtension_DownloadIntentsEntry>, I>>(object: I): DownloadIntentExtension_DownloadIntentsEntry;
|
|
64
|
+
};
|
|
34
65
|
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|
|
35
66
|
type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
|
|
36
67
|
[K in keyof T]?: DeepPartial<T[K]>;
|
|
@@ -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;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;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,11 +1,13 @@
|
|
|
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
5
|
export namespace roles {
|
|
5
6
|
export { CREATOR_ROLE_ID };
|
|
6
7
|
export { COORDINATOR_ROLE_ID };
|
|
7
8
|
export { MEMBER_ROLE_ID };
|
|
8
9
|
}
|
|
10
|
+
import type { MapeoProject } from './mapeo-project.js';
|
|
9
11
|
import { CREATOR_ROLE_ID } from './roles.js';
|
|
10
12
|
import { COORDINATOR_ROLE_ID } from './roles.js';
|
|
11
13
|
import { MEMBER_ROLE_ID } from './roles.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";;;AAgBO,0CAJI,YAAY,gKAEV,UAAU,yCAU24jB,QAAQ,kBAAyB,SAAS,qDAV14jB,CAG7B;;;;;;kCARH,oBAAoB;gCAL/C,YAAY;oCAAZ,YAAY;+BAAZ,YAAY"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export function migrate(db: BetterSQLite3Database, { migrationsFolder }: {
|
|
2
|
+
migrationsFolder: string;
|
|
3
|
+
}): MigrationResult;
|
|
4
|
+
export type MigrationResult = "initialized database" | "migrated" | "no migration";
|
|
5
|
+
import type { BetterSQLite3Database } from 'drizzle-orm/better-sqlite3';
|
|
6
|
+
//# sourceMappingURL=drizzle-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drizzle-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/drizzle-helpers.js"],"names":[],"mappings":"AAiEO,4BALI,qBAAqB,wBAE7B;IAAwB,gBAAgB,EAAhC,MAAM;CACd,GAAU,eAAe,CAe3B;8BAzBY,sBAAsB,GAAG,UAAU,GAAG,cAAc;2CAjDtB,4BAA4B"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get the error message from an object if possible.
|
|
3
|
+
* Otherwise, stringify the argument.
|
|
4
|
+
*
|
|
5
|
+
* @param {unknown} maybeError
|
|
6
|
+
* @returns {string}
|
|
7
|
+
* @example
|
|
8
|
+
* try {
|
|
9
|
+
* // do something
|
|
10
|
+
* } catch (err) {
|
|
11
|
+
* console.error(getErrorMessage(err))
|
|
12
|
+
* }
|
|
13
|
+
*/
|
|
14
|
+
export function getErrorMessage(maybeError: unknown): string;
|
|
15
|
+
/**
|
|
16
|
+
* Create an `Error` with a `code` property.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* const err = new ErrorWithCode('INVALID_DATA', 'data was invalid')
|
|
20
|
+
* err.message
|
|
21
|
+
* // => 'data was invalid'
|
|
22
|
+
* err.code
|
|
23
|
+
* // => 'INVALID_DATA'
|
|
24
|
+
*/
|
|
25
|
+
export class ErrorWithCode extends Error {
|
|
26
|
+
/**
|
|
27
|
+
* @param {string} code
|
|
28
|
+
* @param {string} message
|
|
29
|
+
* @param {object} [options]
|
|
30
|
+
* @param {unknown} [options.cause]
|
|
31
|
+
*/
|
|
32
|
+
constructor(code: string, message: string, options?: {
|
|
33
|
+
cause?: unknown;
|
|
34
|
+
} | undefined);
|
|
35
|
+
/** @readonly */ readonly code: string;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/lib/error.js"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;GAYG;AACH,4CATW,OAAO,GACL,MAAM,CAkBlB;AA9CD;;;;;;;;;GASG;AACH;IACE;;;;;OAKG;IACH,kBALW,MAAM,WACN,MAAM;gBAEN,OAAO;mBAKjB;IADC,gBAAgB,CAAC,sBAAgB;CAEpC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @template {object} T
|
|
3
|
+
* @template {keyof T} K
|
|
4
|
+
* @param {T} obj
|
|
5
|
+
* @param {K} key
|
|
6
|
+
* @returns {undefined | T[K]}
|
|
7
|
+
*/
|
|
8
|
+
export function getOwn<T extends object, K extends keyof T>(obj: T, key: K): undefined | T[K];
|
|
9
|
+
//# sourceMappingURL=get-own.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-own.d.ts","sourceRoot":"","sources":["../../src/lib/get-own.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,uBANsB,CAAC,SAAV,MAAQ,EACE,CAAC,SAAX,MAAO,CAAE,OACX,CAAC,OACD,CAAC,GACC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAI5B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Is this hostname an IP address?
|
|
3
|
+
*
|
|
4
|
+
* @param {string} hostname
|
|
5
|
+
* @returns {boolean}
|
|
6
|
+
* @example
|
|
7
|
+
* isHostnameIpAddress('100.64.0.42')
|
|
8
|
+
* // => false
|
|
9
|
+
*
|
|
10
|
+
* isHostnameIpAddress('[2001:0db8:85a3:0000:0000:8a2e:0370:7334]')
|
|
11
|
+
* // => true
|
|
12
|
+
*
|
|
13
|
+
* isHostnameIpAddress('example.com')
|
|
14
|
+
* // => false
|
|
15
|
+
*/
|
|
16
|
+
export function isHostnameIpAddress(hostname: string): boolean;
|
|
17
|
+
//# sourceMappingURL=is-hostname-ip-address.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-hostname-ip-address.d.ts","sourceRoot":"","sources":["../../src/lib/is-hostname-ip-address.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,8CAZW,MAAM,GACJ,OAAO,CAmBnB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** @import { WebSocket } from 'ws' */
|
|
2
|
+
/** @import { ReplicationStream } from '../types.js' */
|
|
3
|
+
/**
|
|
4
|
+
* @param {WebSocket} ws
|
|
5
|
+
* @param {ReplicationStream} replicationStream
|
|
6
|
+
* @returns {Promise<void>}
|
|
7
|
+
*/
|
|
8
|
+
export function wsCoreReplicator(ws: WebSocket, replicationStream: ReplicationStream): Promise<void>;
|
|
9
|
+
import type { WebSocket } from 'ws';
|
|
10
|
+
import type { ReplicationStream } from '../types.js';
|
|
11
|
+
//# sourceMappingURL=ws-core-replicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ws-core-replicator.d.ts","sourceRoot":"","sources":["../../src/lib/ws-core-replicator.js"],"names":[],"mappings":"AAGA,sCAAsC;AACtC,uDAAuD;AAEvD;;;;GAIG;AACH,qCAJW,SAAS,qBACT,iBAAiB,GACf,OAAO,CAAC,IAAI,CAAC,CAmBzB;+BAzB8B,IAAI;uCACI,aAAa"}
|
package/dist/mapeo-manager.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
export const DEFAULT_FALLBACK_MAP_FILE_PATH: string;
|
|
2
2
|
export const DEFAULT_ONLINE_STYLE_URL: "https://demotiles.maplibre.org/style.json";
|
|
3
|
-
export const kRPC: unique symbol;
|
|
4
|
-
export const kManagerReplicate: unique symbol;
|
|
5
3
|
/**
|
|
6
4
|
* @typedef {Omit<import('./local-peers.js').PeerInfo, 'protomux'>} PublicPeerInfo
|
|
7
5
|
*/
|
|
@@ -72,7 +70,7 @@ export class MapeoManager extends TypedEmitter<MapeoManagerEvents> {
|
|
|
72
70
|
* downloaded their proof of project membership and the project config.
|
|
73
71
|
*
|
|
74
72
|
* @param {Pick<import('./generated/rpc.js').ProjectJoinDetails, 'projectKey' | 'encryptionKeys'> & { projectName: string }} projectJoinDetails
|
|
75
|
-
* @param {{ waitForSync?: boolean }} [opts]
|
|
73
|
+
* @param {{ waitForSync?: boolean }} [opts] Set opts.waitForSync = false to not wait for sync during addProject()
|
|
76
74
|
* @returns {Promise<string>}
|
|
77
75
|
*/
|
|
78
76
|
addProject: ({ projectKey, encryptionKeys, projectName }: Pick<import("./generated/rpc.js").ProjectJoinDetails, "projectKey" | "encryptionKeys"> & {
|
|
@@ -81,9 +79,7 @@ export class MapeoManager extends TypedEmitter<MapeoManagerEvents> {
|
|
|
81
79
|
waitForSync?: boolean;
|
|
82
80
|
} | undefined) => Promise<string>;
|
|
83
81
|
/**
|
|
84
|
-
* @typedef {
|
|
85
|
-
* import('./schema/client.js').DeviceInfoParam['deviceType'],
|
|
86
|
-
* 'selfHostedServer'>} RPCDeviceType
|
|
82
|
+
* @typedef {import('./schema/client.js').DeviceInfoParam['deviceType']} RPCDeviceType
|
|
87
83
|
*/
|
|
88
84
|
/**
|
|
89
85
|
* @template {import('type-fest').Exact<
|
|
@@ -91,7 +87,7 @@ export class MapeoManager extends TypedEmitter<MapeoManagerEvents> {
|
|
|
91
87
|
* @param {T} deviceInfo
|
|
92
88
|
*/
|
|
93
89
|
setDeviceInfo<T extends import("type-fest").Exact<import("./schema/client.js").DeviceInfoParam & {
|
|
94
|
-
deviceType?: "UNRECOGNIZED" | "device_type_unspecified" | "mobile" | "tablet" | "desktop";
|
|
90
|
+
deviceType?: "UNRECOGNIZED" | "device_type_unspecified" | "mobile" | "tablet" | "desktop" | "selfHostedServer";
|
|
95
91
|
}, T>>(deviceInfo: T): Promise<void>;
|
|
96
92
|
/**
|
|
97
93
|
* @returns {(
|
|
@@ -105,6 +101,21 @@ export class MapeoManager extends TypedEmitter<MapeoManagerEvents> {
|
|
|
105
101
|
deviceId: string;
|
|
106
102
|
deviceType: DeviceInfoParam["deviceType"];
|
|
107
103
|
} & Partial<DeviceInfoParam>);
|
|
104
|
+
/**
|
|
105
|
+
* Set whether this device is an archive device. Archive devices will download
|
|
106
|
+
* all media during sync, where-as non-archive devices will not download media
|
|
107
|
+
* original variants, and only download preview and thumbnail variants.
|
|
108
|
+
* @param {boolean} isArchiveDevice
|
|
109
|
+
* @returns {void}
|
|
110
|
+
*/
|
|
111
|
+
setIsArchiveDevice(isArchiveDevice: boolean): void;
|
|
112
|
+
/**
|
|
113
|
+
* Get whether this device is an archive device. Archive devices will download
|
|
114
|
+
* all media during sync, where-as non-archive devices will not download media
|
|
115
|
+
* original variants, and only download preview and thumbnail variants.
|
|
116
|
+
* @returns {boolean} isArchiveDevice
|
|
117
|
+
*/
|
|
118
|
+
getIsArchiveDevice(): boolean;
|
|
108
119
|
/**
|
|
109
120
|
* @returns {InviteApi}
|
|
110
121
|
*/
|
|
@@ -150,20 +161,6 @@ export class MapeoManager extends TypedEmitter<MapeoManagerEvents> {
|
|
|
150
161
|
*/
|
|
151
162
|
leaveProject(projectPublicId: string): Promise<void>;
|
|
152
163
|
getMapStyleJsonUrl(): Promise<string>;
|
|
153
|
-
/**
|
|
154
|
-
* MapeoRPC instance, used for tests
|
|
155
|
-
*/
|
|
156
|
-
get [kRPC](): LocalPeers;
|
|
157
|
-
/**
|
|
158
|
-
* Create a Mapeo replication stream. This replication connects the Mapeo RPC
|
|
159
|
-
* channel and allows invites. All active projects will sync automatically to
|
|
160
|
-
* this replication stream. Only use for local (trusted) connections, because
|
|
161
|
-
* the RPC channel key is public. To sync a specific project without
|
|
162
|
-
* connecting RPC, use project[kProjectReplication].
|
|
163
|
-
*
|
|
164
|
-
* @param {boolean} isInitiator
|
|
165
|
-
*/
|
|
166
|
-
[kManagerReplicate](isInitiator: boolean): import("./types.js").ReplicationStream;
|
|
167
164
|
#private;
|
|
168
165
|
}
|
|
169
166
|
export type ValidatedProjectKeys = SetNonNullable<ProjectKeys, "encryptionKeys">;
|
|
@@ -179,7 +176,6 @@ import { MapeoProject } from './mapeo-project.js';
|
|
|
179
176
|
import type { ProjectSettingsValue as ProjectValue } from '@comapeo/schema';
|
|
180
177
|
import type { DeviceInfoParam } from './schema/client.js';
|
|
181
178
|
import { InviteApi } from './invite-api.js';
|
|
182
|
-
import { LocalPeers } from './local-peers.js';
|
|
183
179
|
import type { CoreStorage } from './types.js';
|
|
184
180
|
import { ProjectKeys } from './generated/keys.js';
|
|
185
181
|
import type { SetNonNullable } from 'type-fest';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapeo-manager.d.ts","sourceRoot":"","sources":["../src/mapeo-manager.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mapeo-manager.d.ts","sourceRoot":"","sources":["../src/mapeo-manager.js"],"names":[],"mappings":"AA2EA,oDAEC;AAED,mFAC6C;AAE7C;;GAEG;AAEH;;;GAGG;AAEH;;GAEG;AACH;IAqBE;;;;;;;;;;;;OAYG;IACH,qLAXG;QAAqB,OAAO,EAApB,MAAM;QACO,QAAQ,EAArB,MAAM;QACO,uBAAuB,EAApC,MAAM;QACO,sBAAsB,EAAnC,MAAM;QACqB,WAAW,EAAtC,MAAM,GAAG,WAAW;QACoB,OAAO,EAA/C,OAAO,SAAS,EAAE,eAAe;QACnB,iBAAiB;QACjB,aAAa;QACb,eAAe;QACf,qBAAqB;KAC7C,EA4FA;IAED,uBAEC;IAiID;;;;;;;;;OASG;IACH;;qBALsB,MAAM;oBAGf,OAAO,CAAC,MAAM,CAAC,CA2E3B;IAED;;;OAGG;IACH,4BAHW,MAAM,GACJ,OAAO,CAAC,YAAY,CAAC,CAuCjC;IAuBD;;OAEG;IACH,gBAFa,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC,CAgDrH;IAED;;;;;;;;OAQG;IACH,0DAJW,IAAI,CAAC,OAAO,oBAAoB,EAAE,kBAAkB,EAAE,YAAY,GAAG,gBAAgB,CAAC,GAAG;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE;sBAChG,OAAO;sBACrB,OAAO,CAAC,MAAM,CAAC,CAgF3B;IAwED;;OAEG;IAEH;;;;OAIG;IACH,cAHoF,CAAC,SADxE,OAAQ,WAAW,EAAE,KAAK,CACtC,OAAS,oBAAoB,EAAE,eAAe,GAAG;QAAC,UAAU,CAAC,oGAAe;KAAC,EAAE,CAAC,CAAE,cACxE,CAAC,iBAuCX;IAED;;;;;;;OAOG;IACH,iBAPa,CACZ;QACM,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,CAAA;KAC1C,GAAG,OAAO,CAAC,eAAe,CAAC,CAC7B,CAaH;IAED;;;;;;OAMG;IACH,oCAHW,OAAO,GACL,IAAI,CAkBhB;IAED;;;;;OAKG;IACH,sBAFa,OAAO,CAanB;IAED;;OAEG;IACH,wBAEC;IAED,yDAAyD;IACzD,iCADc,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAGpD;;;;;;;;;;IAYD;;OAEG;IACH,kBAFa,OAAO,CAAC,cAAc,EAAE,CAAC,CAIrC;IAED;;;;;;;OAOG;IACH,kBAFa,IAAI,CAKhB;IAED;;;;;;;OAOG;IACH,kBAFa,IAAI,CAKhB;IAED;;OAEG;IACH,8BAFW,MAAM,iBAgDhB;IAED,sCAGC;;CACF;mCA32Ba,eAAe,WAAW,EAAE,gBAAgB,CAAC;6BAwB9C,IAAI,CAAC,OAAO,kBAAkB,EAAE,QAAQ,EAAE,UAAU,CAAC;;;;;mBAKpD,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,IAAI;;6BAhFlB,oBAAoB;6BAY1C,oBAAoB;0DAiC+B,iBAAiB;qCAItC,oBAAoB;0BAb/B,iBAAiB;iCAYC,YAAY;4BA9B5B,qBAAqB;oCA6Bb,WAAW"}
|