@atproto/common 0.1.1 → 0.3.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/README.md +1 -1
- package/dist/blob-refs.d.ts +37 -0
- package/dist/fs.d.ts +1 -0
- package/dist/index.d.ts +3 -7
- package/dist/index.js +16960 -4484
- package/dist/index.js.map +4 -4
- package/dist/ipld-multi.d.ts +1 -0
- package/dist/ipld.d.ts +22 -4
- package/dist/streams.d.ts +2 -0
- package/dist/strings.d.ts +2 -0
- package/package.json +11 -5
- package/src/fs.ts +14 -0
- package/src/index.ts +3 -8
- package/src/ipld-multi.ts +27 -0
- package/src/ipld.ts +56 -15
- package/src/streams.ts +14 -0
- package/tests/ipld-multi.test.ts +25 -0
- package/tests/ipld-vectors.ts +279 -0
- package/tests/ipld.test.ts +29 -0
- package/tests/streams.test.ts +136 -0
- package/tsconfig.build.tsbuildinfo +1 -1
- package/tsconfig.json +3 -0
- package/src/async.ts +0 -100
- package/src/check.ts +0 -25
- package/src/tid.ts +0 -108
- package/src/times.ts +0 -4
- package/src/types.ts +0 -43
- package/src/util.ts +0 -108
- package/tests/async.test.ts +0 -22
- package/tests/tid.test.ts +0 -18
package/src/util.ts
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
export const noUndefinedVals = <T>(
|
|
2
|
-
obj: Record<string, T>,
|
|
3
|
-
): Record<string, T> => {
|
|
4
|
-
Object.keys(obj).forEach((k) => {
|
|
5
|
-
if (obj[k] === undefined) {
|
|
6
|
-
delete obj[k]
|
|
7
|
-
}
|
|
8
|
-
})
|
|
9
|
-
return obj
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export const wait = (ms: number) => {
|
|
13
|
-
return new Promise((res) => setTimeout(res, ms))
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export const bailableWait = (
|
|
17
|
-
ms: number,
|
|
18
|
-
): { bail: () => void; wait: () => Promise<void> } => {
|
|
19
|
-
let bail
|
|
20
|
-
const waitPromise = new Promise<void>((res) => {
|
|
21
|
-
const timeout = setTimeout(res, ms)
|
|
22
|
-
bail = () => {
|
|
23
|
-
clearTimeout(timeout)
|
|
24
|
-
res()
|
|
25
|
-
}
|
|
26
|
-
})
|
|
27
|
-
return { bail, wait: () => waitPromise }
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export const flattenUint8Arrays = (arrs: Uint8Array[]): Uint8Array => {
|
|
31
|
-
const length = arrs.reduce((acc, cur) => {
|
|
32
|
-
return acc + cur.length
|
|
33
|
-
}, 0)
|
|
34
|
-
const flattened = new Uint8Array(length)
|
|
35
|
-
let offset = 0
|
|
36
|
-
arrs.forEach((arr) => {
|
|
37
|
-
flattened.set(arr, offset)
|
|
38
|
-
offset += arr.length
|
|
39
|
-
})
|
|
40
|
-
return flattened
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export const streamToArray = async (
|
|
44
|
-
stream: AsyncIterable<Uint8Array>,
|
|
45
|
-
): Promise<Uint8Array> => {
|
|
46
|
-
const arrays: Uint8Array[] = []
|
|
47
|
-
for await (const chunk of stream) {
|
|
48
|
-
arrays.push(chunk)
|
|
49
|
-
}
|
|
50
|
-
return flattenUint8Arrays(arrays)
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
const S32_CHAR = '234567abcdefghijklmnopqrstuvwxyz'
|
|
54
|
-
|
|
55
|
-
export const s32encode = (i: number): string => {
|
|
56
|
-
let s = ''
|
|
57
|
-
while (i) {
|
|
58
|
-
const c = i % 32
|
|
59
|
-
i = Math.floor(i / 32)
|
|
60
|
-
s = S32_CHAR.charAt(c) + s
|
|
61
|
-
}
|
|
62
|
-
return s
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
export const s32decode = (s: string): number => {
|
|
66
|
-
let i = 0
|
|
67
|
-
for (const c of s) {
|
|
68
|
-
i = i * 32 + S32_CHAR.indexOf(c)
|
|
69
|
-
}
|
|
70
|
-
return i
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export const asyncFilter = async <T>(
|
|
74
|
-
arr: T[],
|
|
75
|
-
fn: (t: T) => Promise<boolean>,
|
|
76
|
-
) => {
|
|
77
|
-
const results = await Promise.all(arr.map((t) => fn(t)))
|
|
78
|
-
return arr.filter((_, i) => results[i])
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
export const isErrnoException = (
|
|
82
|
-
err: unknown,
|
|
83
|
-
): err is NodeJS.ErrnoException => {
|
|
84
|
-
return !!err && err['code']
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
export const errHasMsg = (err: unknown, msg: string): boolean => {
|
|
88
|
-
return !!err && typeof err === 'object' && err['message'] === msg
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
export const chunkArray = <T>(arr: T[], chunkSize: number): T[][] => {
|
|
92
|
-
return arr.reduce((acc, cur, i) => {
|
|
93
|
-
const chunkI = Math.floor(i / chunkSize)
|
|
94
|
-
if (!acc[chunkI]) {
|
|
95
|
-
acc[chunkI] = []
|
|
96
|
-
}
|
|
97
|
-
acc[chunkI].push(cur)
|
|
98
|
-
return acc
|
|
99
|
-
}, [] as T[][])
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
export const range = (num: number): number[] => {
|
|
103
|
-
const nums: number[] = []
|
|
104
|
-
for (let i = 0; i < num; i++) {
|
|
105
|
-
nums.push(i)
|
|
106
|
-
}
|
|
107
|
-
return nums
|
|
108
|
-
}
|
package/tests/async.test.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { readFromGenerator, wait } from '../src'
|
|
2
|
-
|
|
3
|
-
describe('async', () => {
|
|
4
|
-
describe('readFromGenerator', () => {
|
|
5
|
-
async function* waitToYield(time: number) {
|
|
6
|
-
for (let i = 0; i < 5; i++) {
|
|
7
|
-
await wait(time)
|
|
8
|
-
yield true
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
it('reads from generator with timeout', async () => {
|
|
13
|
-
const read = await readFromGenerator(waitToYield(100), undefined, 105)
|
|
14
|
-
expect(read).toEqual([true, true, true, true, true])
|
|
15
|
-
})
|
|
16
|
-
|
|
17
|
-
it('stops reading at timeout', async () => {
|
|
18
|
-
const read = await readFromGenerator(waitToYield(100), undefined, 95)
|
|
19
|
-
expect(read).toEqual([])
|
|
20
|
-
})
|
|
21
|
-
})
|
|
22
|
-
})
|
package/tests/tid.test.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import TID from '../src/tid'
|
|
2
|
-
|
|
3
|
-
describe('TIDs', () => {
|
|
4
|
-
it('creates a new TID', () => {
|
|
5
|
-
const tid = TID.next()
|
|
6
|
-
const str = tid.toString()
|
|
7
|
-
expect(typeof str).toEqual('string')
|
|
8
|
-
expect(str.length).toEqual(13)
|
|
9
|
-
})
|
|
10
|
-
|
|
11
|
-
it('parses a TID', () => {
|
|
12
|
-
const tid = TID.next()
|
|
13
|
-
const str = tid.toString()
|
|
14
|
-
const parsed = TID.fromStr(str)
|
|
15
|
-
expect(parsed.timestamp()).toEqual(tid.timestamp())
|
|
16
|
-
expect(parsed.clockid()).toEqual(tid.clockid())
|
|
17
|
-
})
|
|
18
|
-
})
|