@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
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import * as crypto from 'node:crypto'
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @param {string | NodeJS.ArrayBufferView} value
|
|
5
|
-
* @returns {NodeJS.ArrayBufferView}
|
|
6
|
-
*/
|
|
7
|
-
const bufferify = (value) =>
|
|
8
|
-
// We use UTF-16 because it's the only supported encoding that doesn't
|
|
9
|
-
// touch surrogate pairs. See [this post][0] for more details.
|
|
10
|
-
//
|
|
11
|
-
// [0]: https://evanhahn.com/crypto-timingsafeequal-with-strings/
|
|
12
|
-
typeof value === 'string' ? Buffer.from(value, 'utf16le') : value
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Compare two values in constant time.
|
|
16
|
-
*
|
|
17
|
-
* Useful when you want to avoid leaking data.
|
|
18
|
-
*
|
|
19
|
-
* Like `crypto.timingSafeEqual`, but works with strings and doesn't throw if
|
|
20
|
-
* lengths differ.
|
|
21
|
-
*
|
|
22
|
-
* @template {string | NodeJS.ArrayBufferView} T
|
|
23
|
-
* @param {T} a
|
|
24
|
-
* @param {T} b
|
|
25
|
-
* @returns {boolean}
|
|
26
|
-
*/
|
|
27
|
-
export default function timingSafeEqual(a, b) {
|
|
28
|
-
const bufferA = bufferify(a)
|
|
29
|
-
const bufferB = bufferify(b)
|
|
30
|
-
return (
|
|
31
|
-
bufferA.byteLength === bufferB.byteLength &&
|
|
32
|
-
crypto.timingSafeEqual(bufferA, bufferB)
|
|
33
|
-
)
|
|
34
|
-
}
|