@atproto/common-web 0.2.4 → 0.3.1

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 (60) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/arrays.d.ts +1 -0
  3. package/dist/arrays.d.ts.map +1 -0
  4. package/dist/arrays.js +22 -0
  5. package/dist/arrays.js.map +1 -0
  6. package/dist/async.d.ts +2 -1
  7. package/dist/async.d.ts.map +1 -0
  8. package/dist/async.js +187 -0
  9. package/dist/async.js.map +1 -0
  10. package/dist/check.d.ts +3 -2
  11. package/dist/check.d.ts.map +1 -0
  12. package/dist/check.js +20 -0
  13. package/dist/check.js.map +1 -0
  14. package/dist/did-doc.d.ts +6 -5
  15. package/dist/did-doc.d.ts.map +1 -0
  16. package/dist/did-doc.js +157 -0
  17. package/dist/did-doc.js.map +1 -0
  18. package/dist/index.d.ts +1 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +39 -14274
  21. package/dist/index.js.map +1 -7
  22. package/dist/ipld.d.ts +1 -0
  23. package/dist/ipld.d.ts.map +1 -0
  24. package/dist/ipld.js +119 -0
  25. package/dist/ipld.js.map +1 -0
  26. package/dist/retry.d.ts +1 -0
  27. package/dist/retry.d.ts.map +1 -0
  28. package/dist/retry.js +46 -0
  29. package/dist/retry.js.map +1 -0
  30. package/dist/strings.d.ts +1 -0
  31. package/dist/strings.d.ts.map +1 -0
  32. package/dist/strings.js +74 -0
  33. package/dist/strings.js.map +1 -0
  34. package/dist/tid.d.ts +1 -0
  35. package/dist/tid.d.ts.map +1 -0
  36. package/dist/tid.js +100 -0
  37. package/dist/tid.js.map +1 -0
  38. package/dist/times.d.ts +1 -0
  39. package/dist/times.d.ts.map +1 -0
  40. package/dist/times.js +19 -0
  41. package/dist/times.js.map +1 -0
  42. package/dist/types.d.ts +1 -0
  43. package/dist/types.d.ts.map +1 -0
  44. package/dist/types.js +42 -0
  45. package/dist/types.js.map +1 -0
  46. package/dist/util.d.ts +2 -0
  47. package/dist/util.d.ts.map +1 -0
  48. package/dist/util.js +120 -0
  49. package/dist/util.js.map +1 -0
  50. package/jest.config.js +3 -3
  51. package/package.json +8 -7
  52. package/src/arrays.ts +7 -4
  53. package/src/check.ts +8 -2
  54. package/src/did-doc.ts +83 -39
  55. package/src/util.ts +15 -0
  56. package/tsconfig.build.json +6 -2
  57. package/tsconfig.json +5 -7
  58. package/tsconfig.tests.json +7 -0
  59. package/babel.config.js +0 -1
  60. package/build.js +0 -15
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @atproto/common-web
2
2
 
3
+ ## 0.3.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2770](https://github.com/bluesky-social/atproto/pull/2770) [`a07b21151`](https://github.com/bluesky-social/atproto/commit/a07b21151f1850340c4b7797ebb11521b1a6cdf3) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Add omit() utility
8
+
9
+ - [#2770](https://github.com/bluesky-social/atproto/pull/2770) [`a07b21151`](https://github.com/bluesky-social/atproto/commit/a07b21151f1850340c4b7797ebb11521b1a6cdf3) Thanks [@matthieusieben](https://github.com/matthieusieben)! - DID document parsing optimization
10
+
11
+ - [#2835](https://github.com/bluesky-social/atproto/pull/2835) [`eb20ff64a`](https://github.com/bluesky-social/atproto/commit/eb20ff64a2d8e3061c652e1e247bf9b0fe3c41a6) Thanks [@matthieusieben](https://github.com/matthieusieben)! - ponyfill URL.canParse
12
+
13
+ ## 0.3.0
14
+
15
+ ### Minor Changes
16
+
17
+ - [#2169](https://github.com/bluesky-social/atproto/pull/2169) [`f689bd51a`](https://github.com/bluesky-social/atproto/commit/f689bd51a2f4e02d4eca40eb2568a1fcb95494e9) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Build system rework, stop bundling dependencies.
18
+
3
19
  ## 0.2.4
4
20
 
5
21
  ### Patch Changes
package/dist/arrays.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export declare const keyBy: <T>(arr: T[], key: string) => Record<string, T>;
2
2
  export declare const mapDefined: <T, S>(arr: T[], fn: (obj: T) => S | undefined) => S[];
3
+ //# sourceMappingURL=arrays.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrays.d.ts","sourceRoot":"","sources":["../src/arrays.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,WAAY,CAAC,EAAE,OAAO,MAAM,KAAG,OAAO,MAAM,EAAE,CAAC,CAQhE,CAAA;AAED,eAAO,MAAM,UAAU,cAChB,CAAC,EAAE,MACJ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,KAC5B,CAAC,EASH,CAAA"}
package/dist/arrays.js ADDED
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapDefined = exports.keyBy = void 0;
4
+ const keyBy = (arr, key) => {
5
+ return arr.reduce((acc, cur) => {
6
+ acc[cur[key]] = cur;
7
+ return acc;
8
+ }, {});
9
+ };
10
+ exports.keyBy = keyBy;
11
+ const mapDefined = (arr, fn) => {
12
+ const output = [];
13
+ for (const item of arr) {
14
+ const val = fn(item);
15
+ if (val !== undefined) {
16
+ output.push(val);
17
+ }
18
+ }
19
+ return output;
20
+ };
21
+ exports.mapDefined = mapDefined;
22
+ //# sourceMappingURL=arrays.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrays.js","sourceRoot":"","sources":["../src/arrays.ts"],"names":[],"mappings":";;;AAAO,MAAM,KAAK,GAAG,CAAI,GAAQ,EAAE,GAAW,EAAqB,EAAE;IACnE,OAAO,GAAG,CAAC,MAAM,CACf,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACX,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;QACnB,OAAO,GAAG,CAAA;IACZ,CAAC,EACD,EAAuB,CACxB,CAAA;AACH,CAAC,CAAA;AARY,QAAA,KAAK,SAQjB;AAEM,MAAM,UAAU,GAAG,CACxB,GAAQ,EACR,EAA6B,EACxB,EAAE;IACP,MAAM,MAAM,GAAQ,EAAE,CAAA;IACtB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;QACpB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAZY,QAAA,UAAU,cAYtB"}
package/dist/async.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const readFromGenerator: <T>(gen: AsyncGenerator<T, any, unknown>, isDone: (last?: T | undefined) => Promise<boolean> | boolean, waitFor?: Promise<unknown>, maxLength?: number) => Promise<T[]>;
1
+ export declare const readFromGenerator: <T>(gen: AsyncGenerator<T>, isDone: (last?: T) => Promise<boolean> | boolean, waitFor?: Promise<unknown>, maxLength?: number) => Promise<T[]>;
2
2
  export type Deferrable = {
3
3
  resolve: () => void;
4
4
  complete: Promise<void>;
@@ -28,3 +28,4 @@ export declare class AsyncBufferFullError extends Error {
28
28
  constructor(maxSize: number);
29
29
  }
30
30
  export declare const handleAllSettledErrors: (results: PromiseSettledResult<unknown>[]) => void;
31
+ //# sourceMappingURL=async.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../src/async.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,iBAAiB,WACvB,eAAe,CAAC,CAAC,UACd,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,QAAQ,OAAO,CAAC,GAAG,OAAO,YACvC,QAAQ,OAAO,CAAC,yBAExB,QAAQ,CAAC,EAAE,CAiCb,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAO,UAMnC,CAAA;AAED,eAAO,MAAM,iBAAiB,UAAW,MAAM,KAAG,UAAU,EAM3D,CAAA;AAED,eAAO,MAAM,WAAW,gBAAuB,UAAU,EAAE,KAAG,QAAQ,IAAI,CAEzE,CAAA;AAED,qBAAa,WAAW,CAAC,CAAC;IAOL,OAAO,CAAC;IAN3B,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,OAAO,CAAqB;gBAEjB,OAAO,CAAC,oBAAQ;IAOnC,IAAI,IAAI,IAAI,CAAC,EAAE,CAEd;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,YAAY;IAIZ,IAAI,CAAC,IAAI,EAAE,CAAC;IAKZ,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE;IAKZ,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;IA0BlC,KAAK,CAAC,GAAG,EAAE,OAAO;IAMlB,KAAK;CAIN;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAG5B;AAED,eAAO,MAAM,sBAAsB,YACxB,qBAAqB,OAAO,CAAC,EAAE,SAazC,CAAA"}
package/dist/async.js ADDED
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleAllSettledErrors = exports.AsyncBufferFullError = exports.AsyncBuffer = exports.allComplete = exports.createDeferrables = exports.createDeferrable = exports.readFromGenerator = void 0;
4
+ const util_1 = require("./util");
5
+ // reads values from a generator into a list
6
+ // breaks when isDone signals `true` AND `waitFor` completes OR when a max length is reached
7
+ // NOTE: does not signal generator to close. it *will* continue to produce values
8
+ const readFromGenerator = async (gen, isDone, waitFor = Promise.resolve(), maxLength = Number.MAX_SAFE_INTEGER) => {
9
+ const evts = [];
10
+ let bail;
11
+ let hasBroke = false;
12
+ const awaitDone = async () => {
13
+ if (await isDone(evts.at(-1))) {
14
+ return true;
15
+ }
16
+ const bailable = (0, util_1.bailableWait)(20);
17
+ await bailable.wait();
18
+ bail = bailable.bail;
19
+ if (hasBroke)
20
+ return false;
21
+ return await awaitDone();
22
+ };
23
+ const breakOn = new Promise((resolve) => {
24
+ waitFor.then(() => {
25
+ awaitDone().then(() => resolve());
26
+ });
27
+ });
28
+ try {
29
+ while (evts.length < maxLength) {
30
+ const maybeEvt = await Promise.race([gen.next(), breakOn]);
31
+ if (!maybeEvt)
32
+ break;
33
+ const evt = maybeEvt;
34
+ if (evt.done)
35
+ break;
36
+ evts.push(evt.value);
37
+ }
38
+ }
39
+ finally {
40
+ hasBroke = true;
41
+ bail && bail();
42
+ }
43
+ return evts;
44
+ };
45
+ exports.readFromGenerator = readFromGenerator;
46
+ const createDeferrable = () => {
47
+ let resolve;
48
+ const promise = new Promise((res) => {
49
+ resolve = () => res();
50
+ });
51
+ return { resolve, complete: promise };
52
+ };
53
+ exports.createDeferrable = createDeferrable;
54
+ const createDeferrables = (count) => {
55
+ const list = [];
56
+ for (let i = 0; i < count; i++) {
57
+ list.push((0, exports.createDeferrable)());
58
+ }
59
+ return list;
60
+ };
61
+ exports.createDeferrables = createDeferrables;
62
+ const allComplete = async (deferrables) => {
63
+ await Promise.all(deferrables.map((d) => d.complete));
64
+ };
65
+ exports.allComplete = allComplete;
66
+ class AsyncBuffer {
67
+ constructor(maxSize) {
68
+ Object.defineProperty(this, "maxSize", {
69
+ enumerable: true,
70
+ configurable: true,
71
+ writable: true,
72
+ value: maxSize
73
+ });
74
+ Object.defineProperty(this, "buffer", {
75
+ enumerable: true,
76
+ configurable: true,
77
+ writable: true,
78
+ value: []
79
+ });
80
+ Object.defineProperty(this, "promise", {
81
+ enumerable: true,
82
+ configurable: true,
83
+ writable: true,
84
+ value: void 0
85
+ });
86
+ Object.defineProperty(this, "resolve", {
87
+ enumerable: true,
88
+ configurable: true,
89
+ writable: true,
90
+ value: void 0
91
+ });
92
+ Object.defineProperty(this, "closed", {
93
+ enumerable: true,
94
+ configurable: true,
95
+ writable: true,
96
+ value: false
97
+ });
98
+ Object.defineProperty(this, "toThrow", {
99
+ enumerable: true,
100
+ configurable: true,
101
+ writable: true,
102
+ value: void 0
103
+ });
104
+ // Initializing to satisfy types/build, immediately reset by resetPromise()
105
+ this.promise = Promise.resolve();
106
+ this.resolve = () => null;
107
+ this.resetPromise();
108
+ }
109
+ get curr() {
110
+ return this.buffer;
111
+ }
112
+ get size() {
113
+ return this.buffer.length;
114
+ }
115
+ get isClosed() {
116
+ return this.closed;
117
+ }
118
+ resetPromise() {
119
+ this.promise = new Promise((r) => (this.resolve = r));
120
+ }
121
+ push(item) {
122
+ this.buffer.push(item);
123
+ this.resolve();
124
+ }
125
+ pushMany(items) {
126
+ items.forEach((i) => this.buffer.push(i));
127
+ this.resolve();
128
+ }
129
+ async *events() {
130
+ while (true) {
131
+ if (this.closed && this.buffer.length === 0) {
132
+ if (this.toThrow) {
133
+ throw this.toThrow;
134
+ }
135
+ else {
136
+ return;
137
+ }
138
+ }
139
+ await this.promise;
140
+ if (this.toThrow) {
141
+ throw this.toThrow;
142
+ }
143
+ if (this.maxSize && this.size > this.maxSize) {
144
+ throw new AsyncBufferFullError(this.maxSize);
145
+ }
146
+ const [first, ...rest] = this.buffer;
147
+ if (first) {
148
+ this.buffer = rest;
149
+ yield first;
150
+ }
151
+ else {
152
+ this.resetPromise();
153
+ }
154
+ }
155
+ }
156
+ throw(err) {
157
+ this.toThrow = err;
158
+ this.closed = true;
159
+ this.resolve();
160
+ }
161
+ close() {
162
+ this.closed = true;
163
+ this.resolve();
164
+ }
165
+ }
166
+ exports.AsyncBuffer = AsyncBuffer;
167
+ class AsyncBufferFullError extends Error {
168
+ constructor(maxSize) {
169
+ super(`ReachedMaxBufferSize: ${maxSize}`);
170
+ }
171
+ }
172
+ exports.AsyncBufferFullError = AsyncBufferFullError;
173
+ const handleAllSettledErrors = (results) => {
174
+ const errors = results.filter(isRejected).map((res) => res.reason);
175
+ if (errors.length === 0) {
176
+ return;
177
+ }
178
+ if (errors.length === 1) {
179
+ throw errors[0];
180
+ }
181
+ throw new AggregateError(errors, 'Multiple errors: ' + errors.map((err) => err?.message).join('\n'));
182
+ };
183
+ exports.handleAllSettledErrors = handleAllSettledErrors;
184
+ const isRejected = (result) => {
185
+ return result.status === 'rejected';
186
+ };
187
+ //# sourceMappingURL=async.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async.js","sourceRoot":"","sources":["../src/async.ts"],"names":[],"mappings":"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"}
package/dist/check.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import { ZodError } from 'zod';
2
1
  export interface Checkable<T> {
3
2
  parse: (obj: unknown) => T;
4
3
  safeParse: (obj: unknown) => {
@@ -6,7 +5,7 @@ export interface Checkable<T> {
6
5
  data: T;
7
6
  } | {
8
7
  success: false;
9
- error: ZodError;
8
+ error: Error;
10
9
  };
11
10
  }
12
11
  export interface Def<T> {
@@ -14,5 +13,7 @@ export interface Def<T> {
14
13
  schema: Checkable<T>;
15
14
  }
16
15
  export declare const is: <T>(obj: unknown, def: Checkable<T>) => obj is T;
16
+ export declare const create: <T>(def: Checkable<T>) => (v: unknown) => v is T;
17
17
  export declare const assure: <T>(def: Checkable<T>, obj: unknown) => T;
18
18
  export declare const isObject: (obj: unknown) => obj is Record<string, unknown>;
19
+ //# sourceMappingURL=check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,KAAK,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,CAAC,CAAA;IAC1B,SAAS,EAAE,CACT,GAAG,EAAE,OAAO,KACT;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,CAAC,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAA;CACnE;AAED,MAAM,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;CACrB;AAED,eAAO,MAAM,EAAE,WAAY,OAAO,OAAO,UAAU,CAAC,CAAC,aAEpD,CAAA;AAED,eAAO,MAAM,MAAM,WACR,UAAU,CAAC,CAAC,SACjB,OAAO,WACe,CAAA;AAE5B,eAAO,MAAM,MAAM,WAAY,UAAU,CAAC,CAAC,OAAO,OAAO,KAAG,CAE3D,CAAA;AAED,eAAO,MAAM,QAAQ,QAAS,OAAO,mCAEpC,CAAA"}
package/dist/check.js ADDED
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ // Explicitly not using "zod" types here to avoid mismatching types due to
3
+ // version differences.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.isObject = exports.assure = exports.create = exports.is = void 0;
6
+ const is = (obj, def) => {
7
+ return def.safeParse(obj).success;
8
+ };
9
+ exports.is = is;
10
+ const create = (def) => (v) => def.safeParse(v).success;
11
+ exports.create = create;
12
+ const assure = (def, obj) => {
13
+ return def.parse(obj);
14
+ };
15
+ exports.assure = assure;
16
+ const isObject = (obj) => {
17
+ return typeof obj === 'object' && obj !== null;
18
+ };
19
+ exports.isObject = isObject;
20
+ //# sourceMappingURL=check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,uBAAuB;;;AAchB,MAAM,EAAE,GAAG,CAAI,GAAY,EAAE,GAAiB,EAAY,EAAE;IACjE,OAAO,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAA;AACnC,CAAC,CAAA;AAFY,QAAA,EAAE,MAEd;AAEM,MAAM,MAAM,GACjB,CAAI,GAAiB,EAAE,EAAE,CACzB,CAAC,CAAU,EAAU,EAAE,CACrB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;AAHf,QAAA,MAAM,UAGS;AAErB,MAAM,MAAM,GAAG,CAAI,GAAiB,EAAE,GAAY,EAAK,EAAE;IAC9D,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AACvB,CAAC,CAAA;AAFY,QAAA,MAAM,UAElB;AAEM,MAAM,QAAQ,GAAG,CAAC,GAAY,EAAkC,EAAE;IACvE,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAA;AAChD,CAAC,CAAA;AAFY,QAAA,QAAQ,YAEpB"}
package/dist/did-doc.d.ts CHANGED
@@ -11,7 +11,7 @@ export declare const isValidDidDoc: (doc: unknown) => doc is {
11
11
  service?: {
12
12
  id: string;
13
13
  type: string;
14
- serviceEndpoint: (string | Record<string, unknown>) & (string | Record<string, unknown> | undefined);
14
+ serviceEndpoint: string | Record<string, unknown>;
15
15
  }[] | undefined;
16
16
  };
17
17
  export declare const getDid: (doc: DidDocument) => string;
@@ -58,11 +58,11 @@ export declare const didDocument: z.ZodObject<{
58
58
  }, "strip", z.ZodTypeAny, {
59
59
  id: string;
60
60
  type: string;
61
- serviceEndpoint: (string | Record<string, unknown>) & (string | Record<string, unknown> | undefined);
61
+ serviceEndpoint: string | Record<string, unknown>;
62
62
  }, {
63
63
  id: string;
64
64
  type: string;
65
- serviceEndpoint: (string | Record<string, unknown>) & (string | Record<string, unknown> | undefined);
65
+ serviceEndpoint: string | Record<string, unknown>;
66
66
  }>, "many">>;
67
67
  }, "strip", z.ZodTypeAny, {
68
68
  id: string;
@@ -76,7 +76,7 @@ export declare const didDocument: z.ZodObject<{
76
76
  service?: {
77
77
  id: string;
78
78
  type: string;
79
- serviceEndpoint: (string | Record<string, unknown>) & (string | Record<string, unknown> | undefined);
79
+ serviceEndpoint: string | Record<string, unknown>;
80
80
  }[] | undefined;
81
81
  }, {
82
82
  id: string;
@@ -90,7 +90,8 @@ export declare const didDocument: z.ZodObject<{
90
90
  service?: {
91
91
  id: string;
92
92
  type: string;
93
- serviceEndpoint: (string | Record<string, unknown>) & (string | Record<string, unknown> | undefined);
93
+ serviceEndpoint: string | Record<string, unknown>;
94
94
  }[] | undefined;
95
95
  }>;
96
96
  export type DidDocument = z.infer<typeof didDocument>;
97
+ //# sourceMappingURL=did-doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"did-doc.d.ts","sourceRoot":"","sources":["../src/did-doc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,eAAO,MAAM,aAAa,QAAS,OAAO;;;;;;;;;;;;;;CAEzC,CAAA;AAED,eAAO,MAAM,MAAM,QAAS,WAAW,KAAG,MAMzC,CAAA;AAED,eAAO,MAAM,SAAS,QAAS,WAAW,KAAG,MAAM,GAAG,SAYrD,CAAA;AAGD,eAAO,MAAM,aAAa,QACnB,WAAW,KACf;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,GAAG,SAEjD,CAAA;AAED,eAAO,MAAM,uBAAuB,QAC7B,WAAW,SACT,MAAM,KACZ;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,GAAG,SAgBjD,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAS,WAAW,KAAG,MAAM,GAAG,SAI5D,CAAA;AAED,eAAO,MAAM,cAAc,QAAS,WAAW,KAAG,MAAM,GAAG,SAK1D,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAS,WAAW,KAAG,MAAM,GAAG,SAK9D,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAS,WAAW,KAAG,MAAM,GAAG,SAK5D,CAAA;AAED,eAAO,MAAM,kBAAkB,QACxB,WAAW,QACV;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,uBAkBpC,CAAA;AA4ED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKtB,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA"}
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.didDocument = exports.getServiceEndpoint = exports.getNotifEndpoint = exports.getFeedGenEndpoint = exports.getPdsEndpoint = exports.getSigningDidKey = exports.getVerificationMaterial = exports.getSigningKey = exports.getHandle = exports.getDid = exports.isValidDidDoc = void 0;
4
+ const zod_1 = require("zod");
5
+ // Parsing atproto data
6
+ // --------
7
+ const isValidDidDoc = (doc) => {
8
+ return exports.didDocument.safeParse(doc).success;
9
+ };
10
+ exports.isValidDidDoc = isValidDidDoc;
11
+ const getDid = (doc) => {
12
+ const id = doc.id;
13
+ if (typeof id !== 'string') {
14
+ throw new Error('No `id` on document');
15
+ }
16
+ return id;
17
+ };
18
+ exports.getDid = getDid;
19
+ const getHandle = (doc) => {
20
+ const aka = doc.alsoKnownAs;
21
+ if (aka) {
22
+ for (let i = 0; i < aka.length; i++) {
23
+ const alias = aka[i];
24
+ if (alias.startsWith('at://')) {
25
+ // strip off "at://" prefix
26
+ return alias.slice(5);
27
+ }
28
+ }
29
+ }
30
+ return undefined;
31
+ };
32
+ exports.getHandle = getHandle;
33
+ // @NOTE we parse to type/publicKeyMultibase to avoid the dependency on @atproto/crypto
34
+ const getSigningKey = (doc) => {
35
+ return (0, exports.getVerificationMaterial)(doc, 'atproto');
36
+ };
37
+ exports.getSigningKey = getSigningKey;
38
+ const getVerificationMaterial = (doc, keyId) => {
39
+ // /!\ Hot path
40
+ const key = findItemById(doc, 'verificationMethod', `#${keyId}`);
41
+ if (!key) {
42
+ return undefined;
43
+ }
44
+ if (!key.publicKeyMultibase) {
45
+ return undefined;
46
+ }
47
+ return {
48
+ type: key.type,
49
+ publicKeyMultibase: key.publicKeyMultibase,
50
+ };
51
+ };
52
+ exports.getVerificationMaterial = getVerificationMaterial;
53
+ const getSigningDidKey = (doc) => {
54
+ const parsed = (0, exports.getSigningKey)(doc);
55
+ if (!parsed)
56
+ return;
57
+ return `did:key:${parsed.publicKeyMultibase}`;
58
+ };
59
+ exports.getSigningDidKey = getSigningDidKey;
60
+ const getPdsEndpoint = (doc) => {
61
+ return (0, exports.getServiceEndpoint)(doc, {
62
+ id: '#atproto_pds',
63
+ type: 'AtprotoPersonalDataServer',
64
+ });
65
+ };
66
+ exports.getPdsEndpoint = getPdsEndpoint;
67
+ const getFeedGenEndpoint = (doc) => {
68
+ return (0, exports.getServiceEndpoint)(doc, {
69
+ id: '#bsky_fg',
70
+ type: 'BskyFeedGenerator',
71
+ });
72
+ };
73
+ exports.getFeedGenEndpoint = getFeedGenEndpoint;
74
+ const getNotifEndpoint = (doc) => {
75
+ return (0, exports.getServiceEndpoint)(doc, {
76
+ id: '#bsky_notif',
77
+ type: 'BskyNotificationService',
78
+ });
79
+ };
80
+ exports.getNotifEndpoint = getNotifEndpoint;
81
+ const getServiceEndpoint = (doc, opts) => {
82
+ // /!\ Hot path
83
+ const service = findItemById(doc, 'service', opts.id);
84
+ if (!service) {
85
+ return undefined;
86
+ }
87
+ if (opts.type && service.type !== opts.type) {
88
+ return undefined;
89
+ }
90
+ if (typeof service.serviceEndpoint !== 'string') {
91
+ return undefined;
92
+ }
93
+ return validateUrl(service.serviceEndpoint);
94
+ };
95
+ exports.getServiceEndpoint = getServiceEndpoint;
96
+ function findItemById(doc, type, id) {
97
+ // /!\ Hot path
98
+ const items = doc[type];
99
+ if (items) {
100
+ for (let i = 0; i < items.length; i++) {
101
+ const item = items[i];
102
+ const itemId = item.id;
103
+ if (itemId[0] === '#'
104
+ ? itemId === id
105
+ : // Optimized version of: itemId === `${doc.id}${id}`
106
+ itemId.length === doc.id.length + id.length &&
107
+ itemId[doc.id.length] === '#' &&
108
+ itemId.endsWith(id) &&
109
+ itemId.startsWith(doc.id) // <== We could probably skip this check
110
+ ) {
111
+ return item;
112
+ }
113
+ }
114
+ }
115
+ return undefined;
116
+ }
117
+ // Check protocol and hostname to prevent potential SSRF
118
+ const validateUrl = (urlStr) => {
119
+ if (!urlStr.startsWith('http://') && !urlStr.startsWith('https://')) {
120
+ return undefined;
121
+ }
122
+ if (!canParseUrl(urlStr)) {
123
+ return undefined;
124
+ }
125
+ return urlStr;
126
+ };
127
+ const canParseUrl = URL.canParse ??
128
+ // URL.canParse is not available in Node.js < 18.17.0
129
+ ((urlStr) => {
130
+ try {
131
+ new URL(urlStr);
132
+ return true;
133
+ }
134
+ catch {
135
+ return false;
136
+ }
137
+ });
138
+ // Types
139
+ // --------
140
+ const verificationMethod = zod_1.z.object({
141
+ id: zod_1.z.string(),
142
+ type: zod_1.z.string(),
143
+ controller: zod_1.z.string(),
144
+ publicKeyMultibase: zod_1.z.string().optional(),
145
+ });
146
+ const service = zod_1.z.object({
147
+ id: zod_1.z.string(),
148
+ type: zod_1.z.string(),
149
+ serviceEndpoint: zod_1.z.union([zod_1.z.string(), zod_1.z.record(zod_1.z.unknown())]),
150
+ });
151
+ exports.didDocument = zod_1.z.object({
152
+ id: zod_1.z.string(),
153
+ alsoKnownAs: zod_1.z.array(zod_1.z.string()).optional(),
154
+ verificationMethod: zod_1.z.array(verificationMethod).optional(),
155
+ service: zod_1.z.array(service).optional(),
156
+ });
157
+ //# sourceMappingURL=did-doc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"did-doc.js","sourceRoot":"","sources":["../src/did-doc.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -10,3 +10,4 @@ export * from './types';
10
10
  export * from './times';
11
11
  export * from './strings';
12
12
  export * from './did-doc';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAE9B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,OAAO,CAAA;AACrB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA"}