@atcute/identity-resolver 0.1.0 → 0.1.2

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.
@@ -10,6 +10,10 @@ export class PlcDidDocumentResolver {
10
10
  this.#fetch = fetchThis;
11
11
  }
12
12
  async resolve(did, options) {
13
+ // quick sanity check
14
+ if (!did.startsWith('did:plc:')) {
15
+ throw new err.UnsupportedDidMethodError(did);
16
+ }
13
17
  let json;
14
18
  try {
15
19
  const url = new URL(`/${encodeURIComponent(did)}`, this.apiUrl);
@@ -1 +1 @@
1
- {"version":3,"file":"plc.js","sourceRoot":"","sources":["../../../lib/did/methods/plc.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAO9C,MAAM,OAAO,sBAAsB;IACzB,MAAM,CAAS;IACxB,MAAM,CAAe;IAErB,YAAY,EACX,MAAM,GAAG,uBAAuB,EAChC,KAAK,EAAE,SAAS,GAAG,KAAK,MACU,EAAE;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAe,EAAE,OAAmC;QACjE,IAAI,IAAiB,CAAC;QAEtB,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAEhE,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE;gBAC5C,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBAChD,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,EAAE,MAAM,EAAE,0CAA0C,EAAE;aAC/D,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;YAEhD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,mBAAmB,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAClE,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,6BAA6B,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;CACD"}
1
+ {"version":3,"file":"plc.js","sourceRoot":"","sources":["../../../lib/did/methods/plc.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAO9C,MAAM,OAAO,sBAAsB;IACzB,MAAM,CAAS;IACxB,MAAM,CAAe;IAErB,YAAY,EACX,MAAM,GAAG,uBAAuB,EAChC,KAAK,EAAE,SAAS,GAAG,KAAK,MACU,EAAE;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAe,EAAE,OAAmC;QACjE,qBAAqB;QACrB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,IAAiB,CAAC;QAEtB,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAEhE,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE;gBAC5C,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBAChD,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,EAAE,MAAM,EAAE,0CAA0C,EAAE;aAC/D,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;YAEhD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,mBAAmB,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAClE,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,6BAA6B,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;CACD"}
@@ -8,6 +8,10 @@ export class WebDidDocumentResolver {
8
8
  this.#fetch = fetchThis;
9
9
  }
10
10
  async resolve(did, options) {
11
+ // quick sanity check
12
+ if (!did.startsWith('did:web:')) {
13
+ throw new err.UnsupportedDidMethodError(did);
14
+ }
11
15
  let json;
12
16
  try {
13
17
  const url = webDidToDocumentUrl(did);
@@ -35,6 +39,10 @@ export class AtprotoWebDidDocumentResolver {
35
39
  this.#fetch = fetchThis;
36
40
  }
37
41
  async resolve(did, options) {
42
+ // quick sanity check
43
+ if (!did.startsWith('did:web:')) {
44
+ throw new err.UnsupportedDidMethodError(did);
45
+ }
38
46
  const [host, ...paths] = did.slice(8).split(':').map(decodeURIComponent);
39
47
  const url = new URL(`https://${host}/.well-known/did.json`);
40
48
  if (paths.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../../lib/did/methods/web.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../../lib/did/methods/web.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export class XrpcHandleResolver {
18
18
  try {
19
19
  const url = new URL(`/xrpc/com.atproto.identity.resolveHandle`, this.serviceUrl);
20
20
  url.searchParams.set('handle', handle);
21
- const response = await this.#fetch(url, {
21
+ const response = await (0, this.#fetch)(url, {
22
22
  signal: options?.signal,
23
23
  cache: options?.noCache ? 'no-cache' : 'default',
24
24
  headers: { accept: 'application/json' },
@@ -1 +1 @@
1
- {"version":3,"file":"xrpc.js","sourceRoot":"","sources":["../../../lib/handle/methods/xrpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAgC,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EACN,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,IAAI,EACJ,gBAAgB,GAChB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAGvC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;CACtD,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,IAAI,CAC5B,YAAY,EACZ,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,GAAG,IAAI,CAAC,EACpD,gBAAgB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CACnD,CAAC;AAOF,MAAM,OAAO,kBAAkB;IACrB,UAAU,CAAS;IAC5B,MAAM,CAAe;IAErB,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,GAAG,KAAK,EAA6B;QAC9E,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,OAA8B;QAC3D,IAAI,IAA8B,CAAC;QAEnC,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,0CAA0C,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACjF,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAEvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;gBACvC,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBAChD,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;aACvC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAEjD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,mBAAmB,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAClE,MAAM,IAAI,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACxC,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,2BAA2B,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC;IACjB,CAAC;CACD"}
1
+ {"version":3,"file":"xrpc.js","sourceRoot":"","sources":["../../../lib/handle/methods/xrpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAgC,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EACN,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,IAAI,EACJ,gBAAgB,GAChB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAGvC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;CACtD,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,IAAI,CAC5B,YAAY,EACZ,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,GAAG,IAAI,CAAC,EACpD,gBAAgB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CACnD,CAAC;AAOF,MAAM,OAAO,kBAAkB;IACrB,UAAU,CAAS;IAC5B,MAAM,CAAe;IAErB,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,GAAG,KAAK,EAA6B;QAC9E,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,OAA8B;QAC3D,IAAI,IAA8B,CAAC;QAEnC,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,0CAA0C,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACjF,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAEvC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE;gBAC5C,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBAChD,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;aACvC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAEjD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,mBAAmB,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAClE,MAAM,IAAI,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACxC,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,2BAA2B,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC;IACjB,CAAC;CACD"}
@@ -23,6 +23,11 @@ export class PlcDidDocumentResolver implements DidDocumentResolver<'plc'> {
23
23
  }
24
24
 
25
25
  async resolve(did: Did<'plc'>, options?: ResolveDidDocumentOptions): Promise<DidDocument> {
26
+ // quick sanity check
27
+ if (!did.startsWith('did:plc:')) {
28
+ throw new err.UnsupportedDidMethodError(did);
29
+ }
30
+
26
31
  let json: DidDocument;
27
32
 
28
33
  try {
@@ -17,6 +17,11 @@ export class WebDidDocumentResolver implements DidDocumentResolver<'web'> {
17
17
  }
18
18
 
19
19
  async resolve(did: Did<'web'>, options?: ResolveDidDocumentOptions): Promise<DidDocument> {
20
+ // quick sanity check
21
+ if (!did.startsWith('did:web:')) {
22
+ throw new err.UnsupportedDidMethodError(did);
23
+ }
24
+
20
25
  let json: DidDocument;
21
26
 
22
27
  try {
@@ -52,6 +57,11 @@ export class AtprotoWebDidDocumentResolver implements DidDocumentResolver<'web'>
52
57
  }
53
58
 
54
59
  async resolve(did: Did<'web'>, options?: ResolveDidDocumentOptions): Promise<DidDocument> {
60
+ // quick sanity check
61
+ if (!did.startsWith('did:web:')) {
62
+ throw new err.UnsupportedDidMethodError(did);
63
+ }
64
+
55
65
  const [host, ...paths] = did.slice(8).split(':').map(decodeURIComponent);
56
66
  const url = new URL(`https://${host}/.well-known/did.json`);
57
67
 
@@ -43,7 +43,7 @@ export class XrpcHandleResolver implements HandleResolver {
43
43
  const url = new URL(`/xrpc/com.atproto.identity.resolveHandle`, this.serviceUrl);
44
44
  url.searchParams.set('handle', handle);
45
45
 
46
- const response = await this.#fetch(url, {
46
+ const response = await (0, this.#fetch)(url, {
47
47
  signal: options?.signal,
48
48
  cache: options?.noCache ? 'no-cache' : 'default',
49
49
  headers: { accept: 'application/json' },
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@atcute/identity-resolver",
4
- "version": "0.1.0",
4
+ "version": "0.1.2",
5
5
  "description": "atproto handle and DID document resolution",
6
6
  "keywords": [
7
7
  "atproto",
@@ -31,7 +31,7 @@
31
31
  },
32
32
  "devDependencies": {
33
33
  "@types/bun": "^1.2.1",
34
- "@atcute/identity": "^0.1.0"
34
+ "@atcute/identity": "^0.1.1"
35
35
  },
36
36
  "scripts": {
37
37
  "build": "tsc --project tsconfig.build.json",