@comapeo/core 5.3.0 → 5.4.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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/mapeo-manager.d.ts +11 -0
- package/dist/mapeo-manager.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.js +1 -0
- package/src/mapeo-manager.js +32 -8
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export namespace roles {
|
|
|
7
7
|
export { COORDINATOR_ROLE_ID };
|
|
8
8
|
export { MEMBER_ROLE_ID };
|
|
9
9
|
}
|
|
10
|
+
export type MapShare = import("./mapeo-project.js").MapShare;
|
|
10
11
|
export type MapeoProject = import("./mapeo-project.js").MapeoProject;
|
|
11
12
|
export type EditableProjectSettings = import("./mapeo-project.js").EditableProjectSettings;
|
|
12
13
|
export namespace IconApi {
|
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":";;;AAiDO,0CARI,YAAY,uBACZ,CACV,OAAW,GACX,OAAW,QAAQ,EAAE,MAAM,GAC3B,OAAW,SAAS,EAAE,MAAM,CACzB,GACS,OAAO,YAAY,EAAE,iBAAiB,CAGF;;;;;;uBAvCnC,OAAO,oBAAoB,EAAE,QAAQ;2BACrC,OAAO,oBAAoB,EAAE,YAAY;sCACzC,OAAO,oBAAoB,EAAE,uBAAuB;;sBAGrD,OAAO,eAAe,EAAE,UAAU;mBAClC,OAAO,eAAe,EAAE,OAAO;;;kBAI/B,OAAO,YAAY,EAAE,MAAM;oBAC3B,OAAO,eAAe,EAAE,QAAQ;qBAIA,SAAS,SAAzC,OAAQ,YAAY,EAAE,QAAS,IAC/B,OAAO,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC;;;kBAI3C,OAAO,wBAAwB,EAAE,MAAM;;;sBAIvC,OAAO,iBAAiB,EAAE,UAAU;kBACpC,OAAO,YAAY,EAAE,MAAM;8BAC3B,OAAO,YAAY,EAAE,kBAAkB;oCACvC,OAAO,YAAY,EAAE,wBAAwB;;gCAlCnD,YAAY;oCAAZ,YAAY;+BAAZ,YAAY"}
|
package/dist/mapeo-manager.d.ts
CHANGED
|
@@ -7,6 +7,8 @@ export const DEFAULT_IS_ARCHIVE_DEVICE: true;
|
|
|
7
7
|
/**
|
|
8
8
|
* @typedef {object} MapeoManagerEvents
|
|
9
9
|
* @property {(peers: PublicPeerInfo[]) => void} local-peers Emitted when the list of connected peers changes (new ones added, or connection status changes)
|
|
10
|
+
* @property {(mapShare: import('./mapeo-project.js').MapShare) => void} map-share Emitted when a project has recieved a map share request
|
|
11
|
+
* @property {(e: Error, mapShare: MapShareExtension) => void} map-share-error - Emitted when an incoming map share fails to be recieved due to formatting issues
|
|
10
12
|
*/
|
|
11
13
|
/**
|
|
12
14
|
* @extends {TypedEmitter<MapeoManagerEvents>}
|
|
@@ -189,6 +191,14 @@ export type MapeoManagerEvents = {
|
|
|
189
191
|
* Emitted when the list of connected peers changes (new ones added, or connection status changes)
|
|
190
192
|
*/
|
|
191
193
|
"local-peers": (peers: PublicPeerInfo[]) => void;
|
|
194
|
+
/**
|
|
195
|
+
* Emitted when a project has recieved a map share request
|
|
196
|
+
*/
|
|
197
|
+
"map-share": (mapShare: import("./mapeo-project.js").MapShare) => void;
|
|
198
|
+
/**
|
|
199
|
+
* - Emitted when an incoming map share fails to be recieved due to formatting issues
|
|
200
|
+
*/
|
|
201
|
+
"map-share-error": (e: Error, mapShare: MapShareExtension) => void;
|
|
192
202
|
};
|
|
193
203
|
import { TypedEmitter } from 'tiny-typed-emitter';
|
|
194
204
|
import { MapeoProject } from './mapeo-project.js';
|
|
@@ -201,4 +211,5 @@ import type { SetNonNullable } from 'type-fest';
|
|
|
201
211
|
import type { ProjectJoinDetails } from './generated/rpc.js';
|
|
202
212
|
import type { ProjectSettings } from '@comapeo/schema';
|
|
203
213
|
import type { ProjectInfo } from './schema/client.js';
|
|
214
|
+
import type { MapShareExtension } from './generated/extensions.js';
|
|
204
215
|
//# sourceMappingURL=mapeo-manager.d.ts.map
|
|
@@ -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":"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"}
|
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -9,6 +9,7 @@ export { FastifyController } from './fastify-controller.js'
|
|
|
9
9
|
export { MapeoManager } from './mapeo-manager.js'
|
|
10
10
|
|
|
11
11
|
// Type exports
|
|
12
|
+
/** @typedef {import('./mapeo-project.js').MapShare} MapShare */
|
|
12
13
|
/** @typedef {import('./mapeo-project.js').MapeoProject} MapeoProject */
|
|
13
14
|
/** @typedef {import('./mapeo-project.js').EditableProjectSettings} EditableProjectSettings */
|
|
14
15
|
/**
|
package/src/mapeo-manager.js
CHANGED
|
@@ -54,6 +54,7 @@ import { WebSocket } from 'ws'
|
|
|
54
54
|
import { excludeKeys } from 'filter-obj'
|
|
55
55
|
import { migrate } from './lib/drizzle-helpers.js'
|
|
56
56
|
|
|
57
|
+
/** @import { MapShareExtension } from './generated/extensions.js' */
|
|
57
58
|
/** @import NoiseSecretStream from '@hyperswarm/secret-stream' */
|
|
58
59
|
/** @import { SetNonNullable } from 'type-fest' */
|
|
59
60
|
/** @import { ProjectJoinDetails, } from './generated/rpc.js' */
|
|
@@ -99,6 +100,8 @@ export const DEFAULT_IS_ARCHIVE_DEVICE = true
|
|
|
99
100
|
/**
|
|
100
101
|
* @typedef {object} MapeoManagerEvents
|
|
101
102
|
* @property {(peers: PublicPeerInfo[]) => void} local-peers Emitted when the list of connected peers changes (new ones added, or connection status changes)
|
|
103
|
+
* @property {(mapShare: import('./mapeo-project.js').MapShare) => void} map-share Emitted when a project has recieved a map share request
|
|
104
|
+
* @property {(e: Error, mapShare: MapShareExtension) => void} map-share-error - Emitted when an incoming map share fails to be recieved due to formatting issues
|
|
102
105
|
*/
|
|
103
106
|
|
|
104
107
|
/**
|
|
@@ -465,10 +468,6 @@ export class MapeoManager extends TypedEmitter {
|
|
|
465
468
|
projectSecretKey: projectKeypair.secretKey,
|
|
466
469
|
})
|
|
467
470
|
|
|
468
|
-
project.once('close', () => {
|
|
469
|
-
this.#activeProjects.delete(projectPublicId)
|
|
470
|
-
})
|
|
471
|
-
|
|
472
471
|
// 5. Write project settings to project instance
|
|
473
472
|
await project.$setProjectSettings({
|
|
474
473
|
name,
|
|
@@ -545,10 +544,6 @@ export class MapeoManager extends TypedEmitter {
|
|
|
545
544
|
await project[kClearData]()
|
|
546
545
|
}
|
|
547
546
|
|
|
548
|
-
project.once('close', () => {
|
|
549
|
-
this.#activeProjects.delete(projectPublicId)
|
|
550
|
-
})
|
|
551
|
-
|
|
552
547
|
// 3. Keep track of project instance as we know it's a properly existing project
|
|
553
548
|
this.#activeProjects.set(projectPublicId, project)
|
|
554
549
|
|
|
@@ -580,6 +575,35 @@ export class MapeoManager extends TypedEmitter {
|
|
|
580
575
|
.get()?.projectInfo
|
|
581
576
|
},
|
|
582
577
|
})
|
|
578
|
+
|
|
579
|
+
const projectPublicId = projectKeyToPublicId(projectKeys.projectKey)
|
|
580
|
+
|
|
581
|
+
/**
|
|
582
|
+
* @param {import('./mapeo-project.js').MapShare} mapShare
|
|
583
|
+
*/
|
|
584
|
+
const onMapShare = (mapShare) => {
|
|
585
|
+
this.emit('map-share', mapShare)
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
/**
|
|
589
|
+
*
|
|
590
|
+
* @param {Error} err
|
|
591
|
+
* @param {MapShareExtension} mapShareExtension
|
|
592
|
+
*/
|
|
593
|
+
const onMapShareError = (err, mapShareExtension) => {
|
|
594
|
+
this.emit('map-share-error', err, mapShareExtension)
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
project.once('close', () => {
|
|
598
|
+
this.#activeProjects.delete(projectPublicId)
|
|
599
|
+
project.removeListener('map-share', onMapShare)
|
|
600
|
+
project.removeListener('map-share-error', onMapShareError)
|
|
601
|
+
})
|
|
602
|
+
|
|
603
|
+
project.on('map-share', onMapShare)
|
|
604
|
+
|
|
605
|
+
project.on('map-share-error', onMapShareError)
|
|
606
|
+
|
|
583
607
|
return project
|
|
584
608
|
}
|
|
585
609
|
|