@atproto/common 0.4.4 → 0.4.5
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/CHANGELOG.md +6 -0
- package/dist/buffers.d.ts +0 -1
- package/dist/buffers.d.ts.map +1 -1
- package/dist/buffers.js +2 -3
- package/dist/buffers.js.map +1 -1
- package/dist/dates.js +1 -2
- package/dist/dates.js.map +1 -1
- package/dist/fs.d.ts.map +1 -1
- package/dist/ipld.d.ts +1 -8
- package/dist/ipld.d.ts.map +1 -1
- package/dist/ipld.js +25 -34
- package/dist/ipld.js.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/obfuscate.js +8 -9
- package/dist/obfuscate.js.map +1 -1
- package/dist/streams.d.ts +0 -2
- package/dist/streams.d.ts.map +1 -1
- package/dist/streams.js +3 -3
- package/dist/streams.js.map +1 -1
- package/package.json +2 -2
- package/src/ipld.ts +24 -26
- package/tsconfig.build.tsbuildinfo +1 -0
- package/tsconfig.tests.tsbuildinfo +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @atproto/common
|
|
2
2
|
|
|
3
|
+
## 0.4.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#3178](https://github.com/bluesky-social/atproto/pull/3178) [`588baae12`](https://github.com/bluesky-social/atproto/commit/588baae1212a3cba3bf0d95d2f268e80513fd9c4) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Minor adaptation of VerifyCidTransform
|
|
8
|
+
|
|
3
9
|
## 0.4.4
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
package/dist/buffers.d.ts
CHANGED
package/dist/buffers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffers.d.ts","sourceRoot":"","sources":["../src/buffers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"buffers.d.ts","sourceRoot":"","sources":["../src/buffers.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAErD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CAK/D"}
|
package/dist/buffers.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ui8ToBuffer = ui8ToBuffer;
|
|
4
|
+
exports.ui8ToArrayBuffer = ui8ToArrayBuffer;
|
|
4
5
|
function ui8ToBuffer(bytes) {
|
|
5
6
|
return Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
6
7
|
}
|
|
7
|
-
exports.ui8ToBuffer = ui8ToBuffer;
|
|
8
8
|
function ui8ToArrayBuffer(bytes) {
|
|
9
9
|
return bytes.buffer.slice(bytes.byteOffset, bytes.byteLength + bytes.byteOffset);
|
|
10
10
|
}
|
|
11
|
-
exports.ui8ToArrayBuffer = ui8ToArrayBuffer;
|
|
12
11
|
//# sourceMappingURL=buffers.js.map
|
package/dist/buffers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffers.js","sourceRoot":"","sources":["../src/buffers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"buffers.js","sourceRoot":"","sources":["../src/buffers.ts"],"names":[],"mappings":";;AAAA,kCAEC;AAED,4CAKC;AATD,SAAgB,WAAW,CAAC,KAAiB;IAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;AACtE,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAiB;IAChD,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CACvB,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CACpC,CAAA;AACH,CAAC"}
|
package/dist/dates.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toSimplifiedISOSafe =
|
|
3
|
+
exports.toSimplifiedISOSafe = toSimplifiedISOSafe;
|
|
4
4
|
const iso_datestring_validator_1 = require("iso-datestring-validator");
|
|
5
5
|
// Normalize date strings to simplified ISO so that the lexical sort preserves temporal sort.
|
|
6
6
|
// Rather than failing on an invalid date format, returns valid unix epoch.
|
|
@@ -16,5 +16,4 @@ function toSimplifiedISOSafe(dateStr) {
|
|
|
16
16
|
}
|
|
17
17
|
return iso; // YYYY-MM-DDTHH:mm:ss.sssZ
|
|
18
18
|
}
|
|
19
|
-
exports.toSimplifiedISOSafe = toSimplifiedISOSafe;
|
|
20
19
|
//# sourceMappingURL=dates.js.map
|
package/dist/dates.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dates.js","sourceRoot":"","sources":["../src/dates.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dates.js","sourceRoot":"","sources":["../src/dates.ts"],"names":[],"mappings":";;AAIA,kDAWC;AAfD,uEAA+D;AAE/D,6FAA6F;AAC7F,2EAA2E;AAC3E,SAAgB,mBAAmB,CAAC,OAAe;IACjD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9B,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IAClC,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAC9B,IAAI,CAAC,IAAA,+CAAoB,EAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,2GAA2G;QAC3G,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IAClC,CAAC;IACD,OAAO,GAAG,CAAA,CAAC,2BAA2B;AACxC,CAAC"}
|
package/dist/fs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,aAAoB,MAAM,KAAG,
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,aAAoB,MAAM,KAAG,OAAO,CAAC,OAAO,CAUlE,CAAA;AAED,eAAO,MAAM,YAAY,aACb,MAAM,KACf,OAAO,CAAC,UAAU,GAAG,SAAS,CAShC,CAAA;AAED,eAAO,MAAM,UAAU,aACX,MAAM,0BAEf,OAAO,CAAC,IAAI,CASd,CAAA"}
|
package/dist/ipld.d.ts
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
/// <reference types="node" />
|
|
4
|
-
import crypto from 'crypto';
|
|
5
|
-
import { Transform, TransformCallback } from 'stream';
|
|
1
|
+
import { Transform } from 'node:stream';
|
|
6
2
|
import { CID } from 'multiformats/cid';
|
|
7
3
|
import * as Block from 'multiformats/block';
|
|
8
4
|
import * as cborCodec from '@ipld/dag-cbor';
|
|
@@ -17,10 +13,7 @@ export declare const sha256ToCid: (hash: Uint8Array, codec: number) => CID;
|
|
|
17
13
|
export declare const sha256RawToCid: (hash: Uint8Array) => CID;
|
|
18
14
|
export declare class VerifyCidTransform extends Transform {
|
|
19
15
|
cid: CID;
|
|
20
|
-
hasher: crypto.Hash;
|
|
21
16
|
constructor(cid: CID);
|
|
22
|
-
_transform(chunk: Uint8Array, _enc: BufferEncoding, cb: TransformCallback): void;
|
|
23
|
-
_flush(cb: TransformCallback): void;
|
|
24
17
|
}
|
|
25
18
|
export declare class VerifyCidError extends Error {
|
|
26
19
|
expected: CID;
|
package/dist/ipld.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipld.d.ts","sourceRoot":"","sources":["../src/ipld.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ipld.d.ts","sourceRoot":"","sources":["../src/ipld.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAI3C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,eAAO,MAAM,UAAU,yBAAmB,CAAA;AAC1C,eAAO,MAAM,UAAU,yBAAmB,CAAA;AAE1C,eAAO,MAAM,eAAe,SAAgB,OAAO,kCAMlD,CAAA;AAED,eAAO,MAAM,UAAU,SAAgB,OAAO,KAAG,OAAO,CAAC,GAAG,CAG3D,CAAA;AAED,eAAO,MAAM,UAAU,WAAkB,MAAM,KAAG,OAAO,CAAC,OAAO,CAOhE,CAAA;AAED,eAAO,MAAM,iBAAiB,UACrB,UAAU,KAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAMxB,CAAA;AAED,eAAO,MAAM,iBAAiB,QAAe,GAAG,SAAS,UAAU,kBAQlE,CAAA;AAED,eAAO,MAAM,WAAW,SAAU,UAAU,SAAS,MAAM,KAAG,GAG7D,CAAA;AAED,eAAO,MAAM,cAAc,SAAU,UAAU,KAAG,GAEjD,CAAA;AAED,qBAAa,kBAAmB,SAAQ,SAAS;IAC5B,GAAG,EAAE,GAAG;gBAAR,GAAG,EAAE,GAAG;CAqB5B;AAKD,qBAAa,cAAe,SAAQ,KAAK;IAE9B,QAAQ,EAAE,GAAG;IACb,MAAM,EAAE,GAAG;gBADX,QAAQ,EAAE,GAAG,EACb,MAAM,EAAE,GAAG;CAIrB"}
|
package/dist/ipld.js
CHANGED
|
@@ -22,13 +22,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
26
|
exports.VerifyCidError = exports.VerifyCidTransform = exports.sha256RawToCid = exports.sha256ToCid = exports.verifyCidForBytes = exports.cborBytesToRecord = exports.isValidCid = exports.cidForCbor = exports.dataToCborBlock = exports.cborDecode = exports.cborEncode = void 0;
|
|
30
|
-
const
|
|
31
|
-
const
|
|
27
|
+
const node_crypto_1 = require("node:crypto");
|
|
28
|
+
const node_stream_1 = require("node:stream");
|
|
32
29
|
const common_web_1 = require("@atproto/common-web");
|
|
33
30
|
const cid_1 = require("multiformats/cid");
|
|
34
31
|
const Block = __importStar(require("multiformats/block"));
|
|
@@ -86,45 +83,39 @@ const sha256RawToCid = (hash) => {
|
|
|
86
83
|
return (0, exports.sha256ToCid)(hash, rawCodec.code);
|
|
87
84
|
};
|
|
88
85
|
exports.sha256RawToCid = sha256RawToCid;
|
|
89
|
-
class VerifyCidTransform extends
|
|
86
|
+
class VerifyCidTransform extends node_stream_1.Transform {
|
|
90
87
|
constructor(cid) {
|
|
91
|
-
|
|
88
|
+
const hasher = (0, node_crypto_1.createHash)('sha256');
|
|
89
|
+
super({
|
|
90
|
+
transform(chunk, encoding, callback) {
|
|
91
|
+
hasher.update(chunk);
|
|
92
|
+
callback(null, chunk);
|
|
93
|
+
},
|
|
94
|
+
flush(callback) {
|
|
95
|
+
try {
|
|
96
|
+
const actual = (0, exports.sha256RawToCid)(hasher.digest());
|
|
97
|
+
if (actual.equals(cid)) {
|
|
98
|
+
return callback();
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
return callback(new VerifyCidError(cid, actual));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
return callback(asError(err));
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
});
|
|
92
109
|
Object.defineProperty(this, "cid", {
|
|
93
110
|
enumerable: true,
|
|
94
111
|
configurable: true,
|
|
95
112
|
writable: true,
|
|
96
113
|
value: cid
|
|
97
114
|
});
|
|
98
|
-
Object.defineProperty(this, "hasher", {
|
|
99
|
-
enumerable: true,
|
|
100
|
-
configurable: true,
|
|
101
|
-
writable: true,
|
|
102
|
-
value: crypto_1.default.createHash('sha256')
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
_transform(chunk, _enc, cb) {
|
|
106
|
-
this.hasher.update(chunk);
|
|
107
|
-
cb(null, chunk);
|
|
108
|
-
}
|
|
109
|
-
_flush(cb) {
|
|
110
|
-
try {
|
|
111
|
-
const cid = (0, exports.sha256RawToCid)(this.hasher.digest());
|
|
112
|
-
if (this.cid.equals(cid)) {
|
|
113
|
-
return cb();
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
return cb(new VerifyCidError(this.cid, cid));
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
catch (_err) {
|
|
120
|
-
const err = _err instanceof Error
|
|
121
|
-
? _err
|
|
122
|
-
: new Error('Unexpected error', { cause: _err });
|
|
123
|
-
return cb(err);
|
|
124
|
-
}
|
|
125
115
|
}
|
|
126
116
|
}
|
|
127
117
|
exports.VerifyCidTransform = VerifyCidTransform;
|
|
118
|
+
const asError = (err) => err instanceof Error ? err : new Error('Unexpected error', { cause: err });
|
|
128
119
|
class VerifyCidError extends Error {
|
|
129
120
|
constructor(expected, actual) {
|
|
130
121
|
super('Bad cid check');
|
package/dist/ipld.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipld.js","sourceRoot":"","sources":["../src/ipld.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ipld.js","sourceRoot":"","sources":["../src/ipld.ts"],"names":[],"mappings":"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"}
|
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAwBvB,eAAO,MAAM,eAAe,SAAU,MAAM,KAAG,
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAwBvB,eAAO,MAAM,eAAe,SAAU,MAAM,KAAG,IAAI,CAAC,MAWnD,CAAA"}
|
package/dist/obfuscate.js
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.obfuscateEmail = obfuscateEmail;
|
|
4
|
+
exports.obfuscateWord = obfuscateWord;
|
|
5
|
+
exports.obfuscateHeaders = obfuscateHeaders;
|
|
6
|
+
exports.obfuscateAuthHeader = obfuscateAuthHeader;
|
|
7
|
+
exports.obfuscateBasic = obfuscateBasic;
|
|
8
|
+
exports.obfuscateBearer = obfuscateBearer;
|
|
9
|
+
exports.obfuscateToken = obfuscateToken;
|
|
10
|
+
exports.obfuscateJwt = obfuscateJwt;
|
|
4
11
|
function obfuscateEmail(email) {
|
|
5
12
|
const [local, domain] = email.split('@');
|
|
6
13
|
return `${obfuscateWord(local)}@${obfuscateWord(domain)}`;
|
|
7
14
|
}
|
|
8
|
-
exports.obfuscateEmail = obfuscateEmail;
|
|
9
15
|
function obfuscateWord(word) {
|
|
10
16
|
return `${word.charAt(0)}***${word.charAt(word.length - 1)}`;
|
|
11
17
|
}
|
|
12
|
-
exports.obfuscateWord = obfuscateWord;
|
|
13
18
|
function obfuscateHeaders(headers) {
|
|
14
19
|
const obfuscatedHeaders = {};
|
|
15
20
|
for (const key in headers) {
|
|
@@ -25,7 +30,6 @@ function obfuscateHeaders(headers) {
|
|
|
25
30
|
}
|
|
26
31
|
return obfuscatedHeaders;
|
|
27
32
|
}
|
|
28
|
-
exports.obfuscateHeaders = obfuscateHeaders;
|
|
29
33
|
function obfuscateAuthHeader(authHeader) {
|
|
30
34
|
// This is a hot path (runs on every request). Avoid using split() or regex.
|
|
31
35
|
const spaceIdx = authHeader.indexOf(' ');
|
|
@@ -42,7 +46,6 @@ function obfuscateAuthHeader(authHeader) {
|
|
|
42
46
|
return `Invalid`;
|
|
43
47
|
}
|
|
44
48
|
}
|
|
45
|
-
exports.obfuscateAuthHeader = obfuscateAuthHeader;
|
|
46
49
|
function obfuscateBasic(token) {
|
|
47
50
|
if (!token)
|
|
48
51
|
return null;
|
|
@@ -56,17 +59,14 @@ function obfuscateBasic(token) {
|
|
|
56
59
|
const username = authHeader.slice(0, colIdx);
|
|
57
60
|
return `${username}:***`;
|
|
58
61
|
}
|
|
59
|
-
exports.obfuscateBasic = obfuscateBasic;
|
|
60
62
|
function obfuscateBearer(token) {
|
|
61
63
|
return obfuscateJwt(token) || obfuscateToken(token);
|
|
62
64
|
}
|
|
63
|
-
exports.obfuscateBearer = obfuscateBearer;
|
|
64
65
|
function obfuscateToken(token) {
|
|
65
66
|
if (token.length >= 12)
|
|
66
67
|
return obfuscateWord(token);
|
|
67
68
|
return token ? '***' : '';
|
|
68
69
|
}
|
|
69
|
-
exports.obfuscateToken = obfuscateToken;
|
|
70
70
|
function obfuscateJwt(token) {
|
|
71
71
|
const firstDot = token.indexOf('.');
|
|
72
72
|
if (firstDot === -1)
|
|
@@ -92,5 +92,4 @@ function obfuscateJwt(token) {
|
|
|
92
92
|
// Strip the signature
|
|
93
93
|
return token.slice(0, secondDot) + '.obfuscated';
|
|
94
94
|
}
|
|
95
|
-
exports.obfuscateJwt = obfuscateJwt;
|
|
96
95
|
//# sourceMappingURL=obfuscate.js.map
|
package/dist/obfuscate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"obfuscate.js","sourceRoot":"","sources":["../src/obfuscate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"obfuscate.js","sourceRoot":"","sources":["../src/obfuscate.ts"],"names":[],"mappings":"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"}
|
package/dist/streams.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
1
|
import { Duplex, Readable, Stream, Transform, TransformCallback } from 'node:stream';
|
|
4
2
|
export declare const forwardStreamErrors: (...streams: Stream[]) => void;
|
|
5
3
|
export declare const cloneStream: (stream: Readable) => Readable;
|
package/dist/streams.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streams.d.ts","sourceRoot":"","sources":["../src/streams.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"streams.d.ts","sourceRoot":"","sources":["../src/streams.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAGN,QAAQ,EACR,MAAM,EACN,SAAS,EACT,iBAAiB,EAClB,MAAM,aAAa,CAAA;AAGpB,eAAO,MAAM,mBAAmB,eAAgB,MAAM,EAAE,SAOvD,CAAA;AAED,eAAO,MAAM,WAAW,WAAY,QAAQ,KAAG,QAI9C,CAAA;AAED,eAAO,MAAM,UAAU,WAAkB,QAAQ,KAAG,OAAO,CAAC,MAAM,CAMjE,CAAA;AAED,eAAO,MAAM,aAAa,WAAkB,aAAa,CAAC,UAAU,CAAC,wBAInB,CAAA;AAGlD,eAAO,MAAM,kBAAkB,WACrB,QAAQ,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,KACvD,OAAO,CAAC,MAAM,CAYhB,CAAA;AAED,eAAO,MAAM,oBAAoB,SACzB,aAAa,CAAC,UAAU,CAAC,KAC9B,QAEF,CAAA;AAED,eAAO,MAAM,aAAa,UAAW,UAAU,KAAG,QAKjD,CAAA;AAED,qBAAa,cAAe,SAAQ,SAAS;IAGlC,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,MAAM,KAAK;IAHjC,SAAS,SAAI;gBAEJ,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,KAAK;IAIjC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,iBAAiB;CAQ1E;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,QAAQ,EAChB,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAClC,QAAQ,CAAA;AACX,wBAAgB,YAAY,CAC1B,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,EACjC,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAClC,aAAa,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAA;AAUvC;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAqB5E"}
|
package/dist/streams.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.MaxSizeChecker = exports.bytesToStream = exports.byteIterableToStream = exports.streamToNodeBuffer = exports.streamToBytes = exports.streamSize = exports.cloneStream = exports.forwardStreamErrors = void 0;
|
|
4
|
+
exports.decodeStream = decodeStream;
|
|
5
|
+
exports.createDecoders = createDecoders;
|
|
4
6
|
const node_stream_1 = require("node:stream");
|
|
5
7
|
const node_zlib_1 = require("node:zlib");
|
|
6
8
|
const forwardStreamErrors = (...streams) => {
|
|
@@ -97,7 +99,6 @@ function decodeStream(stream, contentEncoding) {
|
|
|
97
99
|
return stream;
|
|
98
100
|
return (0, node_stream_1.pipeline)([stream, ...decoders], () => { });
|
|
99
101
|
}
|
|
100
|
-
exports.decodeStream = decodeStream;
|
|
101
102
|
/**
|
|
102
103
|
* Create a series of decoding streams based on the content-encoding header. The
|
|
103
104
|
* resulting streams should be piped together to decode the content.
|
|
@@ -123,7 +124,6 @@ function createDecoders(contentEncoding) {
|
|
|
123
124
|
}
|
|
124
125
|
return decoders.reverse();
|
|
125
126
|
}
|
|
126
|
-
exports.createDecoders = createDecoders;
|
|
127
127
|
function commaSplit(header) {
|
|
128
128
|
return header.split(',');
|
|
129
129
|
}
|
package/dist/streams.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streams.js","sourceRoot":"","sources":["../src/streams.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"streams.js","sourceRoot":"","sources":["../src/streams.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atproto/common",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Shared web-platform-friendly code for atproto libraries",
|
|
6
6
|
"keywords": [
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"jest": "^28.1.2",
|
|
27
|
-
"typescript": "^5.
|
|
27
|
+
"typescript": "^5.6.3",
|
|
28
28
|
"uint8arrays": "3.0.0"
|
|
29
29
|
},
|
|
30
30
|
"scripts": {
|
package/src/ipld.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { Transform
|
|
1
|
+
import { createHash } from 'node:crypto'
|
|
2
|
+
import { Transform } from 'node:stream'
|
|
3
3
|
import { check, schema } from '@atproto/common-web'
|
|
4
4
|
import { CID } from 'multiformats/cid'
|
|
5
5
|
import * as Block from 'multiformats/block'
|
|
@@ -63,34 +63,32 @@ export const sha256RawToCid = (hash: Uint8Array): CID => {
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
export class VerifyCidTransform extends Transform {
|
|
66
|
-
hasher = crypto.createHash('sha256')
|
|
67
66
|
constructor(public cid: CID) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
? _err
|
|
88
|
-
: new Error('Unexpected error', { cause: _err })
|
|
89
|
-
return cb(err)
|
|
90
|
-
}
|
|
67
|
+
const hasher = createHash('sha256')
|
|
68
|
+
super({
|
|
69
|
+
transform(chunk, encoding, callback) {
|
|
70
|
+
hasher.update(chunk)
|
|
71
|
+
callback(null, chunk)
|
|
72
|
+
},
|
|
73
|
+
flush(callback) {
|
|
74
|
+
try {
|
|
75
|
+
const actual = sha256RawToCid(hasher.digest())
|
|
76
|
+
if (actual.equals(cid)) {
|
|
77
|
+
return callback()
|
|
78
|
+
} else {
|
|
79
|
+
return callback(new VerifyCidError(cid, actual))
|
|
80
|
+
}
|
|
81
|
+
} catch (err) {
|
|
82
|
+
return callback(asError(err))
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
})
|
|
91
86
|
}
|
|
92
87
|
}
|
|
93
88
|
|
|
89
|
+
const asError = (err: unknown): Error =>
|
|
90
|
+
err instanceof Error ? err : new Error('Unexpected error', { cause: err })
|
|
91
|
+
|
|
94
92
|
export class VerifyCidError extends Error {
|
|
95
93
|
constructor(
|
|
96
94
|
public expected: CID,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"root":["./src/buffers.ts","./src/dates.ts","./src/env.ts","./src/fs.ts","./src/index.ts","./src/ipld-multi.ts","./src/ipld.ts","./src/logger.ts","./src/obfuscate.ts","./src/streams.ts"],"version":"5.6.3"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"root":["./tests/ipld-multi.test.ts","./tests/ipld-vectors.ts","./tests/ipld.test.ts","./tests/streams.test.ts"],"version":"5.6.3"}
|