@atcute/car 3.1.2 → 5.0.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.
Files changed (95) hide show
  1. package/README.md +16 -48
  2. package/dist/index.d.ts +5 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +5 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/{v4/car-reader/sync-car-reader.d.ts → reader.d.ts} +3 -3
  7. package/dist/reader.d.ts.map +1 -0
  8. package/dist/{v4/car-reader/sync-car-reader.js → reader.js} +1 -1
  9. package/dist/reader.js.map +1 -0
  10. package/dist/{v4/car-reader/stream-car-reader.d.ts → streamed-reader.d.ts} +3 -3
  11. package/dist/streamed-reader.d.ts.map +1 -0
  12. package/dist/{v4/car-reader/stream-car-reader.js → streamed-reader.js} +1 -1
  13. package/dist/streamed-reader.js.map +1 -0
  14. package/dist/{v4/car-reader/types.d.ts → types.d.ts} +12 -3
  15. package/dist/types.d.ts.map +1 -0
  16. package/dist/{v4/car-reader/types.js → types.js} +2 -3
  17. package/dist/types.js.map +1 -0
  18. package/dist/utils.d.ts.map +1 -0
  19. package/dist/utils.js.map +1 -0
  20. package/dist/writer.d.ts +26 -0
  21. package/dist/writer.d.ts.map +1 -0
  22. package/dist/writer.js +77 -0
  23. package/dist/writer.js.map +1 -0
  24. package/lib/index.ts +6 -0
  25. package/lib/{v4/car-reader/sync-car-reader.ts → reader.ts} +2 -1
  26. package/lib/{v4/car-reader/stream-car-reader.ts → streamed-reader.ts} +5 -4
  27. package/lib/{v4/car-reader/types.ts → types.ts} +14 -5
  28. package/lib/writer.ts +92 -0
  29. package/package.json +8 -11
  30. package/dist/v3/atproto-repo.d.ts +0 -2
  31. package/dist/v3/atproto-repo.d.ts.map +0 -1
  32. package/dist/v3/atproto-repo.js +0 -2
  33. package/dist/v3/atproto-repo.js.map +0 -1
  34. package/dist/v3/index.d.ts +0 -3
  35. package/dist/v3/index.d.ts.map +0 -1
  36. package/dist/v3/index.js +0 -3
  37. package/dist/v3/index.js.map +0 -1
  38. package/dist/v3/reader.d.ts +0 -2
  39. package/dist/v3/reader.d.ts.map +0 -1
  40. package/dist/v3/reader.js +0 -2
  41. package/dist/v3/reader.js.map +0 -1
  42. package/dist/v4/car-reader/index.d.ts +0 -4
  43. package/dist/v4/car-reader/index.d.ts.map +0 -1
  44. package/dist/v4/car-reader/index.js +0 -4
  45. package/dist/v4/car-reader/index.js.map +0 -1
  46. package/dist/v4/car-reader/stream-car-reader.d.ts.map +0 -1
  47. package/dist/v4/car-reader/stream-car-reader.js.map +0 -1
  48. package/dist/v4/car-reader/sync-car-reader.d.ts.map +0 -1
  49. package/dist/v4/car-reader/sync-car-reader.js.map +0 -1
  50. package/dist/v4/car-reader/types.d.ts.map +0 -1
  51. package/dist/v4/car-reader/types.js.map +0 -1
  52. package/dist/v4/index.d.ts +0 -3
  53. package/dist/v4/index.d.ts.map +0 -1
  54. package/dist/v4/index.js +0 -3
  55. package/dist/v4/index.js.map +0 -1
  56. package/dist/v4/repo-reader/index.d.ts +0 -6
  57. package/dist/v4/repo-reader/index.d.ts.map +0 -1
  58. package/dist/v4/repo-reader/index.js +0 -6
  59. package/dist/v4/repo-reader/index.js.map +0 -1
  60. package/dist/v4/repo-reader/mst.d.ts +0 -48
  61. package/dist/v4/repo-reader/mst.d.ts.map +0 -1
  62. package/dist/v4/repo-reader/mst.js +0 -62
  63. package/dist/v4/repo-reader/mst.js.map +0 -1
  64. package/dist/v4/repo-reader/stream-repo-reader.d.ts +0 -25
  65. package/dist/v4/repo-reader/stream-repo-reader.d.ts.map +0 -1
  66. package/dist/v4/repo-reader/stream-repo-reader.js +0 -143
  67. package/dist/v4/repo-reader/stream-repo-reader.js.map +0 -1
  68. package/dist/v4/repo-reader/sync-blockmap.d.ts +0 -30
  69. package/dist/v4/repo-reader/sync-blockmap.d.ts.map +0 -1
  70. package/dist/v4/repo-reader/sync-blockmap.js +0 -58
  71. package/dist/v4/repo-reader/sync-blockmap.js.map +0 -1
  72. package/dist/v4/repo-reader/sync-repo-reader.d.ts +0 -3
  73. package/dist/v4/repo-reader/sync-repo-reader.d.ts.map +0 -1
  74. package/dist/v4/repo-reader/sync-repo-reader.js +0 -20
  75. package/dist/v4/repo-reader/sync-repo-reader.js.map +0 -1
  76. package/dist/v4/repo-reader/types.d.ts +0 -21
  77. package/dist/v4/repo-reader/types.d.ts.map +0 -1
  78. package/dist/v4/repo-reader/types.js +0 -37
  79. package/dist/v4/repo-reader/types.js.map +0 -1
  80. package/dist/v4/utils.d.ts.map +0 -1
  81. package/dist/v4/utils.js.map +0 -1
  82. package/lib/v3/atproto-repo.ts +0 -15
  83. package/lib/v3/index.ts +0 -2
  84. package/lib/v3/reader.ts +0 -9
  85. package/lib/v4/car-reader/index.ts +0 -4
  86. package/lib/v4/index.ts +0 -2
  87. package/lib/v4/repo-reader/index.ts +0 -6
  88. package/lib/v4/repo-reader/mst.ts +0 -110
  89. package/lib/v4/repo-reader/stream-repo-reader.ts +0 -209
  90. package/lib/v4/repo-reader/sync-blockmap.ts +0 -85
  91. package/lib/v4/repo-reader/sync-repo-reader.ts +0 -27
  92. package/lib/v4/repo-reader/types.ts +0 -32
  93. /package/dist/{v4/utils.d.ts → utils.d.ts} +0 -0
  94. /package/dist/{v4/utils.js → utils.js} +0 -0
  95. /package/lib/{v4/utils.ts → utils.ts} +0 -0
package/dist/v3/index.js DELETED
@@ -1,3 +0,0 @@
1
- export * from './atproto-repo.js';
2
- export * from './reader.js';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/v3/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC"}
@@ -1,2 +0,0 @@
1
- export { isCarV1Header, fromUint8Array as readCar, type CarEntry, type CarHeader, type CarV1Header, type StreamedCarReader, type SyncCarReader, } from '../v4/car-reader/index.js';
2
- //# sourceMappingURL=reader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../lib/v3/reader.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,cAAc,IAAI,OAAO,EACzB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,aAAa,GAClB,MAAM,2BAA2B,CAAC"}
package/dist/v3/reader.js DELETED
@@ -1,2 +0,0 @@
1
- export { isCarV1Header, fromUint8Array as readCar, } from '../v4/car-reader/index.js';
2
- //# sourceMappingURL=reader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../lib/v3/reader.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,cAAc,IAAI,OAAO,GAMzB,MAAM,2BAA2B,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from './types.js';
2
- export * from './stream-car-reader.js';
3
- export * from './sync-car-reader.js';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/v4/car-reader/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAE3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from './types.js';
2
- export * from './stream-car-reader.js';
3
- export * from './sync-car-reader.js';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/v4/car-reader/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAE3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream-car-reader.d.ts","sourceRoot":"","sources":["../../../lib/v4/car-reader/stream-car-reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AAIrC,OAAO,EAAiB,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE1E,MAAM,WAAW,iBAAiB;IACjC,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAEjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;CAClD;AAED,eAAO,MAAM,iBAAiB,QAAO,oBAAoB,CAAC,QAAQ,EAAE,UAAU,CA6B7E,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,QAAQ,cAAc,CAAC,UAAU,CAAC,KAAG,iBAgM/D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream-car-reader.js","sourceRoot":"","sources":["../../../lib/v4/car-reader/stream-car-reader.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-car-reader.d.ts","sourceRoot":"","sources":["../../../lib/v4/car-reader/sync-car-reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AAIrC,OAAO,EAAiB,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAS1E,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAE/B,oDAAoD;IACpD,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,cAAc,GAAI,QAAQ,UAAU,KAAG,aA0CnD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-car-reader.js","sourceRoot":"","sources":["../../../lib/v4/car-reader/sync-car-reader.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/v4/car-reader/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAEnC,MAAM,WAAW,WAAW;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;CACrB;AAED,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAOvD,CAAC;AAEF,MAAM,WAAW,SAAS;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAElB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IAEjB,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IAEf,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CACjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/v4/car-reader/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAOnC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAc,EAAwB,EAAE;IACrE,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAoB,CAAC;IAChD,OAAO,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,IAAI,CAAC,cAAc,CAAC,CAAC;AAC5G,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- export * as CarReader from './car-reader/index.js';
2
- export * as RepoReader from './repo-reader/index.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/v4/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC"}
package/dist/v4/index.js DELETED
@@ -1,3 +0,0 @@
1
- export * as CarReader from './car-reader/index.js';
2
- export * as RepoReader from './repo-reader/index.js';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/v4/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC"}
@@ -1,6 +0,0 @@
1
- export * from './types.js';
2
- export * from './mst.js';
3
- export * from './stream-repo-reader.js';
4
- export * from './sync-blockmap.js';
5
- export * from './sync-repo-reader.js';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/v4/repo-reader/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAE3B,cAAc,UAAU,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
@@ -1,6 +0,0 @@
1
- export * from './types.js';
2
- export * from './mst.js';
3
- export * from './stream-repo-reader.js';
4
- export * from './sync-blockmap.js';
5
- export * from './sync-repo-reader.js';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/v4/repo-reader/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAE3B,cAAc,UAAU,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
@@ -1,48 +0,0 @@
1
- import * as CBOR from '@atcute/cbor';
2
- import * as CID from '@atcute/cid';
3
- /** commit object */
4
- export interface Commit {
5
- version: 3;
6
- did: string;
7
- data: CID.CidLink;
8
- rev: string;
9
- prev: CID.CidLink | null;
10
- sig: CBOR.Bytes;
11
- }
12
- /**
13
- * checks if a value is a valid commit object
14
- * @param value the value to check
15
- * @returns true if the value is a valid commit object, false otherwise
16
- */
17
- export declare const isCommit: (value: unknown) => value is Commit;
18
- /** mst tree entry object */
19
- export interface TreeEntry {
20
- /** count of bytes shared with previous TreeEntry in this Node (if any) */
21
- p: number;
22
- /** remainder of key for this TreeEntry, after "prefixlen" have been removed */
23
- k: CBOR.Bytes;
24
- /** link to a sub-tree Node at a lower level which has keys sorting after this TreeEntry's key (to the "right"), but before the next TreeEntry's key in this Node (if any) */
25
- v: CID.CidLink;
26
- /** next subtree (to the right of leaf) */
27
- t: CID.CidLink | null;
28
- }
29
- /**
30
- * checks if a value is a valid mst tree entry object
31
- * @param value the value to check
32
- * @returns true if the value is a valid mst tree entry object, false otherwise
33
- */
34
- export declare const isTreeEntry: (value: unknown) => value is TreeEntry;
35
- /** mst node object */
36
- export interface MstNode {
37
- /** link to sub-tree Node on a lower level and with all keys sorting before keys at this node */
38
- l: CID.CidLink | null;
39
- /** ordered list of TreeEntry objects */
40
- e: TreeEntry[];
41
- }
42
- /**
43
- * checks if a value is a valid mst node object
44
- * @param value the value to check
45
- * @returns true if the value is a valid mst node object, false otherwise
46
- */
47
- export declare const isMstNode: (value: unknown) => value is MstNode;
48
- //# sourceMappingURL=mst.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mst.d.ts","sourceRoot":"","sources":["../../../lib/v4/repo-reader/mst.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AA0BnC,oBAAoB;AACpB,MAAM,WAAW,MAAM;IACtB,OAAO,EAAE,CAAC,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;IACzB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;CAChB;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAelD,CAAC;AAEF,4BAA4B;AAC5B,MAAM,WAAW,SAAS;IACzB,0EAA0E;IAC1E,CAAC,EAAE,MAAM,CAAC;IACV,+EAA+E;IAC/E,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;IACd,6KAA6K;IAC7K,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACf,0CAA0C;IAC1C,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,SAUrD,CAAC;AAEF,sBAAsB;AACtB,MAAM,WAAW,OAAO;IACvB,gGAAgG;IAChG,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,wCAAwC;IACxC,CAAC,EAAE,SAAS,EAAE,CAAC;CACf;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,OAQnD,CAAC"}
@@ -1,62 +0,0 @@
1
- import * as CBOR from '@atcute/cbor';
2
- import * as CID from '@atcute/cid';
3
- const isCidLink = (value) => {
4
- if (value instanceof CID.CidLinkWrapper) {
5
- return true;
6
- }
7
- if (value === null || typeof value !== 'object') {
8
- return false;
9
- }
10
- return '$link' in value && typeof value.$link === 'string';
11
- };
12
- const isBytes = (value) => {
13
- if (value instanceof CBOR.BytesWrapper) {
14
- return true;
15
- }
16
- if (value === null || typeof value !== 'object') {
17
- return false;
18
- }
19
- return '$bytes' in value && typeof value.$bytes === 'string';
20
- };
21
- /**
22
- * checks if a value is a valid commit object
23
- * @param value the value to check
24
- * @returns true if the value is a valid commit object, false otherwise
25
- */
26
- export const isCommit = (value) => {
27
- if (value === null || typeof value !== 'object') {
28
- return false;
29
- }
30
- const obj = value;
31
- return (obj.version === 3 &&
32
- typeof obj.did === 'string' &&
33
- isCidLink(obj.data) &&
34
- typeof obj.rev === 'string' &&
35
- (obj.prev === null || isCidLink(obj.prev)) &&
36
- isBytes(obj.sig));
37
- };
38
- /**
39
- * checks if a value is a valid mst tree entry object
40
- * @param value the value to check
41
- * @returns true if the value is a valid mst tree entry object, false otherwise
42
- */
43
- export const isTreeEntry = (value) => {
44
- if (value === null || typeof value !== 'object') {
45
- return false;
46
- }
47
- const obj = value;
48
- return (typeof obj.p === 'number' && isBytes(obj.k) && isCidLink(obj.v) && (obj.t === null || isCidLink(obj.t)));
49
- };
50
- /**
51
- * checks if a value is a valid mst node object
52
- * @param value the value to check
53
- * @returns true if the value is a valid mst node object, false otherwise
54
- */
55
- export const isMstNode = (value) => {
56
- if (value === null || typeof value !== 'object') {
57
- return false;
58
- }
59
- const obj = value;
60
- return (obj.l === null || isCidLink(obj.l)) && Array.isArray(obj.e) && obj.e.every(isTreeEntry);
61
- };
62
- //# sourceMappingURL=mst.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mst.js","sourceRoot":"","sources":["../../../lib/v4/repo-reader/mst.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAEnC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAwB,EAAE;IAC1D,IAAI,KAAK,YAAY,GAAG,CAAC,cAAc,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,OAAO,OAAO,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,KAAc,EAAuB,EAAE;IACvD,IAAI,KAAK,YAAY,IAAI,CAAC,YAAY,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,OAAO,QAAQ,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;AAC9D,CAAC,CAAC;AAYF;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAmB,EAAE;IAC3D,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAC;IAE7C,OAAO,CACN,GAAG,CAAC,OAAO,KAAK,CAAC;QACjB,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ;QAC3B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;QACnB,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ;QAC3B,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAChB,CAAC;AACH,CAAC,CAAC;AAcF;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAsB,EAAE;IACjE,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAC;IAE7C,OAAO,CACN,OAAO,GAAG,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACvG,CAAC;AACH,CAAC,CAAC;AAUF;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAoB,EAAE;IAC7D,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAC;IAE7C,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACjG,CAAC,CAAC"}
@@ -1,25 +0,0 @@
1
- import { RepoEntry } from './types.js';
2
- export type MissingBlockEntry = {
3
- cid: string;
4
- type: 'record';
5
- key: string;
6
- } | {
7
- cid: string;
8
- type: 'mst-node';
9
- } | {
10
- cid: string;
11
- type: 'commit';
12
- };
13
- export interface StreamedRepoReader {
14
- /**
15
- * list of blocks that were referenced but not found in the repository.
16
- * blocks may be reported as missing if multiple records share the same CID.
17
- */
18
- readonly missingBlocks: readonly MissingBlockEntry[];
19
- dispose(): Promise<void>;
20
- [Symbol.asyncDispose](): Promise<void>;
21
- [Symbol.asyncIterator](): AsyncIterator<RepoEntry>;
22
- }
23
- export declare const repoEntryTransform: () => ReadableWritablePair<RepoEntry, Uint8Array>;
24
- export declare const fromStream: (stream: ReadableStream<Uint8Array>) => StreamedRepoReader;
25
- //# sourceMappingURL=stream-repo-reader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream-repo-reader.d.ts","sourceRoot":"","sources":["../../../lib/v4/repo-reader/stream-repo-reader.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAUvC,MAAM,MAAM,iBAAiB,GAC1B;IACA,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACX,GACD;IACA,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;CAChB,GACD;IACA,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,QAAQ,CAAC;CACd,CAAC;AAEL,MAAM,WAAW,kBAAkB;IAClC;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAErD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;CACnD;AAED,eAAO,MAAM,kBAAkB,QAAO,oBAAoB,CAAC,SAAS,EAAE,UAAU,CA6B/E,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,QAAQ,cAAc,CAAC,UAAU,CAAC,KAAG,kBAiI/D,CAAC"}
@@ -1,143 +0,0 @@
1
- import Queue from 'yocto-queue';
2
- import * as CBOR from '@atcute/cbor';
3
- import * as CID from '@atcute/cid';
4
- import { decodeUtf8From } from '@atcute/uint8array';
5
- import * as CarReader from '../car-reader/index.js';
6
- import { assert } from '../utils.js';
7
- import { isCommit, isMstNode } from './mst.js';
8
- import { RepoEntry } from './types.js';
9
- export const repoEntryTransform = () => {
10
- const transform = new TransformStream();
11
- let repo;
12
- return {
13
- readable: new ReadableStream({
14
- async start(controller) {
15
- repo = fromStream(transform.readable);
16
- try {
17
- for await (const entry of repo) {
18
- controller.enqueue(entry);
19
- }
20
- await repo.dispose();
21
- controller.close();
22
- }
23
- catch (err) {
24
- controller.error(err);
25
- }
26
- },
27
- async cancel() {
28
- if (repo !== undefined) {
29
- await repo.dispose();
30
- }
31
- },
32
- }),
33
- writable: transform.writable,
34
- };
35
- };
36
- export const fromStream = (stream) => {
37
- let missingBlocks = [];
38
- return {
39
- get missingBlocks() {
40
- return missingBlocks;
41
- },
42
- async dispose() {
43
- // does nothing for now
44
- },
45
- [Symbol.asyncDispose]() {
46
- return this.dispose();
47
- },
48
- async *[Symbol.asyncIterator]() {
49
- // await using car = CarReader.fromStream(stream);
50
- const car = CarReader.fromStream(stream);
51
- try {
52
- const pending = new Map();
53
- const strays = new Map();
54
- const queue = new Queue();
55
- const request = (cid, meta) => {
56
- const entry = strays.get(cid);
57
- if (entry !== undefined) {
58
- strays.delete(cid);
59
- queue.enqueue({ c: cid, e: entry, m: meta });
60
- }
61
- else {
62
- pending.set(cid, meta);
63
- }
64
- };
65
- {
66
- const roots = await car.roots();
67
- assert(roots.length === 1, `expected only 1 root in the car archive; got=${roots.length}`);
68
- const rootCid = roots[0].$link;
69
- request(rootCid, { t: 0 });
70
- }
71
- for await (const entry of car) {
72
- const cid = CID.toString(entry.cid);
73
- {
74
- const meta = pending.get(cid);
75
- if (meta !== undefined) {
76
- pending.delete(cid);
77
- queue.enqueue({ c: cid, e: entry, m: meta });
78
- }
79
- else {
80
- strays.set(cid, entry);
81
- }
82
- }
83
- let task;
84
- while ((task = queue.dequeue())) {
85
- const { c: cid, e: entry, m: meta } = task;
86
- switch (meta.t) {
87
- case 0: {
88
- const commit = CBOR.decode(entry.bytes);
89
- assert(isCommit(commit), `expected commit block; cid=${cid}`);
90
- request(commit.data.$link, { t: 1 });
91
- break;
92
- }
93
- case 1: {
94
- const node = CBOR.decode(entry.bytes);
95
- assert(isMstNode(node), `expected mst node block; cid=${cid}`);
96
- const entries = node.e;
97
- const left = node.l;
98
- let lastKey = '';
99
- if (left !== null) {
100
- request(left.$link, meta);
101
- }
102
- for (let i = 0, il = entries.length; i < il; i++) {
103
- const entry = entries[i];
104
- const next = entry.t;
105
- const key_str = decodeUtf8From(CBOR.fromBytes(entry.k));
106
- const key = lastKey.slice(0, entry.p) + key_str;
107
- lastKey = key;
108
- request(entry.v.$link, { t: 2, k: key });
109
- if (next !== null) {
110
- request(next.$link, { t: 1 });
111
- }
112
- }
113
- break;
114
- }
115
- case 2: {
116
- const [collection, rkey] = meta.k.split('/');
117
- yield new RepoEntry(collection, rkey, CID.toCidLink(entry.cid), entry);
118
- break;
119
- }
120
- }
121
- }
122
- }
123
- missingBlocks = Array.from(pending, ([cid, meta]) => {
124
- switch (meta.t) {
125
- case 0: {
126
- return { cid, type: 'commit' };
127
- }
128
- case 1: {
129
- return { cid, type: 'mst-node' };
130
- }
131
- case 2: {
132
- return { cid, type: 'record', key: meta.k };
133
- }
134
- }
135
- });
136
- }
137
- finally {
138
- await car.dispose();
139
- }
140
- },
141
- };
142
- };
143
- //# sourceMappingURL=stream-repo-reader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream-repo-reader.js","sourceRoot":"","sources":["../../../lib/v4/repo-reader/stream-repo-reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,aAAa,CAAC;AAEhC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAsCvC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAgD,EAAE;IACnF,MAAM,SAAS,GAAG,IAAI,eAAe,EAA0B,CAAC;IAChE,IAAI,IAAoC,CAAC;IAEzC,OAAO;QACN,QAAQ,EAAE,IAAI,cAAc,CAAC;YAC5B,KAAK,CAAC,KAAK,CAAC,UAAU;gBACrB,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAEtC,IAAI,CAAC;oBACJ,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;wBAChC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC3B,CAAC;oBAED,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;oBAErB,UAAU,CAAC,KAAK,EAAE,CAAC;gBACpB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;YACF,CAAC;YACD,KAAK,CAAC,MAAM;gBACX,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACxB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBACtB,CAAC;YACF,CAAC;SACD,CAAC;QACF,QAAQ,EAAE,SAAS,CAAC,QAAQ;KAC5B,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAkC,EAAsB,EAAE;IACpF,IAAI,aAAa,GAAwB,EAAE,CAAC;IAE5C,OAAO;QACN,IAAI,aAAa;YAChB,OAAO,aAAa,CAAC;QACtB,CAAC;QAED,KAAK,CAAC,OAAO;YACZ,uBAAuB;QACxB,CAAC;QAED,CAAC,MAAM,CAAC,YAAY,CAAC;YACpB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;YAC5B,kDAAkD;YAClD,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAEzC,IAAI,CAAC;gBACJ,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;gBAC7C,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8B,CAAC;gBAErD,MAAM,KAAK,GAAG,IAAI,KAAK,EAAQ,CAAC;gBAEhC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,IAAe,EAAQ,EAAE;oBACtD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAE9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACzB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACnB,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC9C,CAAC;yBAAM,CAAC;wBACP,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBACxB,CAAC;gBACF,CAAC,CAAC;gBAEF,CAAC;oBACA,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;oBAChC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,gDAAgD,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE3F,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC/B,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC5B,CAAC;gBAED,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;oBAC/B,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAEpC,CAAC;wBACA,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAE9B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;4BACxB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;4BACpB,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC9C,CAAC;6BAAM,CAAC;4BACP,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBACxB,CAAC;oBACF,CAAC;oBAED,IAAI,IAAsB,CAAC;oBAC3B,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;wBACjC,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;wBAE3C,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC;4BAChB,KAAK,CAAC,CAAC,CAAC,CAAC;gCACR,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gCACxC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,8BAA8B,GAAG,EAAE,CAAC,CAAC;gCAE9D,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gCACrC,MAAM;4BACP,CAAC;4BACD,KAAK,CAAC,CAAC,CAAC,CAAC;gCACR,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gCACtC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,gCAAgC,GAAG,EAAE,CAAC,CAAC;gCAE/D,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;gCACvB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;gCAEpB,IAAI,OAAO,GAAG,EAAE,CAAC;gCAEjB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oCACnB,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gCAC3B,CAAC;gCAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;oCAClD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oCACzB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;oCAErB,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oCACxD,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;oCAEhD,OAAO,GAAG,GAAG,CAAC;oCAEd,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;oCAEzC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;wCACnB,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oCAC/B,CAAC;gCACF,CAAC;gCAED,MAAM;4BACP,CAAC;4BACD,KAAK,CAAC,CAAC,CAAC,CAAC;gCACR,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAE7C,MAAM,IAAI,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;gCACvE,MAAM;4BACP,CAAC;wBACF,CAAC;oBACF,CAAC;gBACF,CAAC;gBAED,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAqB,EAAE;oBACtE,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC;wBAChB,KAAK,CAAC,CAAC,CAAC,CAAC;4BACR,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;wBAChC,CAAC;wBACD,KAAK,CAAC,CAAC,CAAC,CAAC;4BACR,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;wBAClC,CAAC;wBACD,KAAK,CAAC,CAAC,CAAC,CAAC;4BACR,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;wBAC7C,CAAC;oBACF,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACV,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;YACrB,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC,CAAC"}
@@ -1,30 +0,0 @@
1
- import * as CID from '@atcute/cid';
2
- import * as CarReader from '../car-reader/index.js';
3
- export type BlockMap = Map<string, CarReader.CarEntry>;
4
- /**
5
- * collects entries from a CAR archive into a mapping of CID string -> actual bytes
6
- * @param iterator a generator that yields objects with a `cid` and `bytes` property
7
- * @returns a mapping of CID string -> actual bytes
8
- */
9
- export declare const collectBlock: (iterator: Iterable<CarReader.CarEntry>) => BlockMap;
10
- /**
11
- * reads a block from the blockmap and validates it against the provided validation function
12
- * @param map a mapping of CID string -> actual bytes
13
- * @param link a CID link to read
14
- * @param validate a validation function to validate the decoded data
15
- * @returns the decoded and validated data
16
- */
17
- export declare const readBlock: <T>(map: BlockMap, link: CID.CidLink, validate: (value: unknown) => value is T) => T;
18
- /** node entry object */
19
- export interface NodeEntry {
20
- key: string;
21
- cid: CID.CidLink;
22
- }
23
- /**
24
- * walks the entries of a Merkle Sorted Tree (MST) in a depth-first manner
25
- * @param map a mapping of CID string -> actual bytes
26
- * @param pointer a CID link to the root of the MST
27
- * @returns a generator that yields the entries of the MST
28
- */
29
- export declare function walkMstEntries(map: BlockMap, pointer: CID.CidLink): Generator<NodeEntry>;
30
- //# sourceMappingURL=sync-blockmap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-blockmap.d.ts","sourceRoot":"","sources":["../../../lib/v4/repo-reader/sync-blockmap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAGnC,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAKpD,MAAM,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,UAAU,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAG,QAOrE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EAC1B,KAAK,QAAQ,EACb,MAAM,GAAG,CAAC,OAAO,EACjB,UAAU,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,KACtC,CAUF,CAAC;AAEF,wBAAwB;AACxB,MAAM,WAAW,SAAS;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAiB,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,CAwBzF"}
@@ -1,58 +0,0 @@
1
- import * as CBOR from '@atcute/cbor';
2
- import * as CID from '@atcute/cid';
3
- import { decodeUtf8From } from '@atcute/uint8array';
4
- import * as CarReader from '../car-reader/index.js';
5
- import { assert } from '../utils.js';
6
- import { isMstNode } from './mst.js';
7
- /**
8
- * collects entries from a CAR archive into a mapping of CID string -> actual bytes
9
- * @param iterator a generator that yields objects with a `cid` and `bytes` property
10
- * @returns a mapping of CID string -> actual bytes
11
- */
12
- export const collectBlock = (iterator) => {
13
- const blockmap = new Map();
14
- for (const entry of iterator) {
15
- blockmap.set(CID.toString(entry.cid), entry);
16
- }
17
- return blockmap;
18
- };
19
- /**
20
- * reads a block from the blockmap and validates it against the provided validation function
21
- * @param map a mapping of CID string -> actual bytes
22
- * @param link a CID link to read
23
- * @param validate a validation function to validate the decoded data
24
- * @returns the decoded and validated data
25
- */
26
- export const readBlock = (map, link, validate) => {
27
- const cid = link.$link;
28
- const entry = map.get(cid);
29
- assert(entry != null, `cid not found in blockmap; cid=${cid}`);
30
- const data = CBOR.decode(entry.bytes);
31
- assert(validate(data), `validation failed for cid=${cid}`);
32
- return data;
33
- };
34
- /**
35
- * walks the entries of a Merkle Sorted Tree (MST) in a depth-first manner
36
- * @param map a mapping of CID string -> actual bytes
37
- * @param pointer a CID link to the root of the MST
38
- * @returns a generator that yields the entries of the MST
39
- */
40
- export function* walkMstEntries(map, pointer) {
41
- const data = readBlock(map, pointer, isMstNode);
42
- const entries = data.e;
43
- let lastKey = '';
44
- if (data.l !== null) {
45
- yield* walkMstEntries(map, data.l);
46
- }
47
- for (let i = 0, il = entries.length; i < il; i++) {
48
- const entry = entries[i];
49
- const key_str = decodeUtf8From(CBOR.fromBytes(entry.k));
50
- const key = lastKey.slice(0, entry.p) + key_str;
51
- lastKey = key;
52
- yield { key: key, cid: entry.v };
53
- if (entry.t !== null) {
54
- yield* walkMstEntries(map, entry.t);
55
- }
56
- }
57
- }
58
- //# sourceMappingURL=sync-blockmap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-blockmap.js","sourceRoot":"","sources":["../../../lib/v4/repo-reader/sync-blockmap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAIrC;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAsC,EAAY,EAAE;IAChF,MAAM,QAAQ,GAAa,IAAI,GAAG,EAAE,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC9B,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACxB,GAAa,EACb,IAAiB,EACjB,QAAwC,EACpC,EAAE;IACN,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;IAEvB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,kCAAkC,GAAG,EAAE,CAAC,CAAC;IAE/D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,6BAA6B,GAAG,EAAE,CAAC,CAAC;IAE3D,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAQF;;;;;GAKG;AACH,MAAM,SAAS,CAAC,CAAC,cAAc,CAAC,GAAa,EAAE,OAAoB;IAClE,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IAEvB,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACrB,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAEzB,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QAEhD,OAAO,GAAG,GAAG,CAAC;QAEd,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QAEjC,IAAI,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACtB,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;IACF,CAAC;AACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import { RepoEntry } from './types.js';
2
- export declare function fromUint8Array(buf: Uint8Array): Generator<RepoEntry>;
3
- //# sourceMappingURL=sync-repo-reader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-repo-reader.d.ts","sourceRoot":"","sources":["../../../lib/v4/repo-reader/sync-repo-reader.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,wBAAiB,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,CAmBrE"}
@@ -1,20 +0,0 @@
1
- import * as CarReader from '../car-reader/index.js';
2
- import { assert } from '../utils.js';
3
- import { isCommit } from './mst.js';
4
- import { collectBlock, readBlock, walkMstEntries } from './sync-blockmap.js';
5
- import { RepoEntry } from './types.js';
6
- export function* fromUint8Array(buf) {
7
- const car = CarReader.fromUint8Array(buf);
8
- const roots = car.roots;
9
- assert(roots.length === 1, `expected only 1 root in the car archive; got=${roots.length}`);
10
- const blockmap = collectBlock(car);
11
- assert(blockmap.size > 0, `expected at least 1 block in the archive; got=${blockmap.size}`);
12
- const commit = readBlock(blockmap, roots[0], isCommit);
13
- for (const { key, cid } of walkMstEntries(blockmap, commit.data)) {
14
- const [collection, rkey] = key.split('/');
15
- const carEntry = blockmap.get(cid.$link);
16
- assert(carEntry != null, `cid not found in blockmap; cid=${cid}`);
17
- yield new RepoEntry(collection, rkey, cid, carEntry);
18
- }
19
- }
20
- //# sourceMappingURL=sync-repo-reader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-repo-reader.js","sourceRoot":"","sources":["../../../lib/v4/repo-reader/sync-repo-reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,SAAS,CAAC,CAAC,cAAc,CAAC,GAAe;IAC9C,MAAM,GAAG,GAAG,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IAExB,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,gDAAgD,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAE3F,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,iDAAiD,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAE5F,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEvD,KAAK,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAClE,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,kCAAkC,GAAG,EAAE,CAAC,CAAC;QAElE,MAAM,IAAI,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;AACF,CAAC"}
@@ -1,21 +0,0 @@
1
- import * as CID from '@atcute/cid';
2
- import { type CarEntry } from '../car-reader/index.js';
3
- export declare class RepoEntry {
4
- /** the collection this record belongs to */
5
- readonly collection: string;
6
- /** record key */
7
- readonly rkey: string;
8
- /** CID of this record */
9
- readonly cid: CID.CidLink;
10
- /** the associated CarEntry for this record */
11
- readonly carEntry: CarEntry;
12
- /**
13
- * raw contents of this record
14
- */
15
- get bytes(): Uint8Array;
16
- /**
17
- * decoded contents of this record
18
- */
19
- get record(): unknown;
20
- }
21
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/v4/repo-reader/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,qBAAa,SAAS;IAGpB,4CAA4C;aAC5B,UAAU,EAAE,MAAM;IAClC,iBAAiB;aACD,IAAI,EAAE,MAAM;IAC5B,yBAAyB;aACT,GAAG,EAAE,GAAG,CAAC,OAAO;IAChC,8CAA8C;aAC9B,QAAQ,EAAE,QAAQ;IAGnC;;OAEG;IACH,IAAI,KAAK,IAAI,UAAU,CAEtB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;CACD"}