@atproto-labs/identity-resolver 0.0.1 → 0.1.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.
package/CHANGELOG.md CHANGED
@@ -1,12 +1,23 @@
1
1
  # @atproto-labs/identity-resolver
2
2
 
3
- ## 0.0.1
3
+ ## 0.1.1
4
4
 
5
5
  ### Patch Changes
6
6
 
7
- - [`e134c79a0`](https://github.com/bluesky-social/atproto/commit/e134c79a0ffb000b2cb36437815673fa6bda664b) Thanks [@devinivy](https://github.com/devinivy)! - Initial publish of experimental oauth packages to @atproto-labs
7
+ - [#2633](https://github.com/bluesky-social/atproto/pull/2633) [`acc9093d2`](https://github.com/bluesky-social/atproto/commit/acc9093d2845eba02b68fb2f9db33e4f1b59bb10) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Use distinct type names to prevent conflicts
8
8
 
9
- - Updated dependencies [[`e134c79a0`](https://github.com/bluesky-social/atproto/commit/e134c79a0ffb000b2cb36437815673fa6bda664b)]:
10
- - @atproto-labs/handle-resolver@0.0.1
11
- - @atproto-labs/fetch@0.0.1
12
- - @atproto-labs/did@0.0.1
9
+ - Updated dependencies [[`acc9093d2`](https://github.com/bluesky-social/atproto/commit/acc9093d2845eba02b68fb2f9db33e4f1b59bb10)]:
10
+ - @atproto-labs/handle-resolver@0.1.1
11
+ - @atproto-labs/did-resolver@0.1.1
12
+
13
+ ## 0.1.0
14
+
15
+ ### Minor Changes
16
+
17
+ - [#2482](https://github.com/bluesky-social/atproto/pull/2482) [`a8d6c1123`](https://github.com/bluesky-social/atproto/commit/a8d6c112359f5c4c0cfbe2df63443ed275f2a646) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Add OAuth provider capability & support for DPoP signed tokens
18
+
19
+ ### Patch Changes
20
+
21
+ - Updated dependencies [[`a8d6c1123`](https://github.com/bluesky-social/atproto/commit/a8d6c112359f5c4c0cfbe2df63443ed275f2a646)]:
22
+ - @atproto-labs/handle-resolver@0.1.0
23
+ - @atproto-labs/did-resolver@0.1.0
@@ -1,13 +1,14 @@
1
- import { DidResolver } from '@atproto-labs/did';
2
- import { HandleResolver, ResolvedHandle } from '@atproto-labs/handle-resolver';
1
+ import { ResolveDidOptions, DidResolver } from '@atproto-labs/did-resolver';
2
+ import { ResolveHandleOptions, HandleResolver, ResolvedHandle } from '@atproto-labs/handle-resolver';
3
3
  export type ResolvedIdentity = {
4
4
  did: NonNullable<ResolvedHandle>;
5
- url: URL;
5
+ pds: URL;
6
6
  };
7
+ export type ResolveIdentityOptions = ResolveDidOptions & ResolveHandleOptions;
7
8
  export declare class IdentityResolver {
8
- readonly handleResolver: HandleResolver;
9
9
  readonly didResolver: DidResolver<'plc' | 'web'>;
10
- constructor(handleResolver: HandleResolver, didResolver: DidResolver<'plc' | 'web'>);
11
- resolve(input: string, serviceType?: string): Promise<ResolvedIdentity>;
10
+ readonly handleResolver: HandleResolver;
11
+ constructor(didResolver: DidResolver<'plc' | 'web'>, handleResolver: HandleResolver);
12
+ resolve(input: string, options?: ResolveIdentityOptions): Promise<ResolvedIdentity>;
12
13
  }
13
14
  //# sourceMappingURL=identity-resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity-resolver.d.ts","sourceRoot":"","sources":["../src/identity-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EACL,cAAc,EACd,cAAc,EAEf,MAAM,+BAA+B,CAAA;AAGtC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,WAAW,CAAC,cAAc,CAAC,CAAA;IAChC,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAED,qBAAa,gBAAgB;IAEzB,QAAQ,CAAC,cAAc,EAAE,cAAc;IACvC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;gBADvC,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;IAGrC,OAAO,CAClB,KAAK,EAAE,MAAM,EACb,WAAW,SAA8B,GACxC,OAAO,CAAC,gBAAgB,CAAC;CAY7B"}
1
+ {"version":3,"file":"identity-resolver.d.ts","sourceRoot":"","sources":["../src/identity-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,iBAAiB,EACjB,WAAW,EAEZ,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,cAAc,EAEf,MAAM,+BAA+B,CAAA;AAGtC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,WAAW,CAAC,cAAc,CAAC,CAAA;IAChC,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,GAAG,oBAAoB,CAAA;AAE7E,qBAAa,gBAAgB;IAEzB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;IAChD,QAAQ,CAAC,cAAc,EAAE,cAAc;gBAD9B,WAAW,EAAE,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC,EACvC,cAAc,EAAE,cAAc;IAG5B,OAAO,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,gBAAgB,CAAC;CA+B7B"}
@@ -4,31 +4,41 @@ exports.IdentityResolver = void 0;
4
4
  const handle_resolver_1 = require("@atproto-labs/handle-resolver");
5
5
  const syntax_1 = require("@atproto/syntax");
6
6
  class IdentityResolver {
7
- constructor(handleResolver, didResolver) {
8
- Object.defineProperty(this, "handleResolver", {
7
+ constructor(didResolver, handleResolver) {
8
+ Object.defineProperty(this, "didResolver", {
9
9
  enumerable: true,
10
10
  configurable: true,
11
11
  writable: true,
12
- value: handleResolver
12
+ value: didResolver
13
13
  });
14
- Object.defineProperty(this, "didResolver", {
14
+ Object.defineProperty(this, "handleResolver", {
15
15
  enumerable: true,
16
16
  configurable: true,
17
17
  writable: true,
18
- value: didResolver
18
+ value: handleResolver
19
19
  });
20
20
  }
21
- async resolve(input, serviceType = 'AtprotoPersonalDataServer') {
21
+ async resolve(input, options) {
22
22
  const did = (0, handle_resolver_1.isResolvedHandle)(input)
23
23
  ? input // Already a did
24
- : await this.handleResolver.resolve((0, syntax_1.normalizeAndEnsureValidHandle)(input));
25
- if (!did)
26
- throw new Error(`Handle ${input} does not resolve to a DID`);
27
- const url = await this.didResolver.resolveServiceEndpoint(did, {
28
- type: serviceType,
29
- });
30
- return { did, url };
24
+ : await this.handleResolver.resolve((0, syntax_1.normalizeAndEnsureValidHandle)(input), options);
25
+ options?.signal?.throwIfAborted();
26
+ if (!did) {
27
+ throw new TypeError(`Handle "${input}" does not resolve to a DID`);
28
+ }
29
+ const document = await this.didResolver.resolve(did, options);
30
+ const service = document.service?.find((isAtprotoPersonalDataServerService), document);
31
+ if (!service) {
32
+ throw new TypeError(`No valid "AtprotoPersonalDataServer" service found in "${did}" DID document`);
33
+ }
34
+ const pds = new URL(service.serviceEndpoint);
35
+ return { did, pds };
31
36
  }
32
37
  }
33
38
  exports.IdentityResolver = IdentityResolver;
39
+ function isAtprotoPersonalDataServerService(s) {
40
+ return (typeof s.serviceEndpoint === 'string' &&
41
+ s.type === 'AtprotoPersonalDataServer' &&
42
+ (s.id === '#atproto_pds' || s.id === `${this.id}#atproto_pds`));
43
+ }
34
44
  //# sourceMappingURL=identity-resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity-resolver.js","sourceRoot":"","sources":["../src/identity-resolver.ts"],"names":[],"mappings":";;;AACA,mEAIsC;AACtC,4CAA+D;AAO/D,MAAa,gBAAgB;IAC3B,YACW,cAA8B,EAC9B,WAAuC;QADhD;;;;mBAAS,cAAc;WAAgB;QACvC;;;;mBAAS,WAAW;WAA4B;IAC/C,CAAC;IAEG,KAAK,CAAC,OAAO,CAClB,KAAa,EACb,WAAW,GAAG,2BAA2B;QAEzC,MAAM,GAAG,GAAG,IAAA,kCAAgB,EAAC,KAAK,CAAC;YACjC,CAAC,CAAC,KAAK,CAAC,gBAAgB;YACxB,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAA,sCAA6B,EAAC,KAAK,CAAC,CAAC,CAAA;QAC3E,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,4BAA4B,CAAC,CAAA;QAEtE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,GAAG,EAAE;YAC7D,IAAI,EAAE,WAAW;SAClB,CAAC,CAAA;QAEF,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;IACrB,CAAC;CACF;AArBD,4CAqBC"}
1
+ {"version":3,"file":"identity-resolver.js","sourceRoot":"","sources":["../src/identity-resolver.ts"],"names":[],"mappings":";;;AAOA,mEAKsC;AACtC,4CAA+D;AAS/D,MAAa,gBAAgB;IAC3B,YACW,WAAuC,EACvC,cAA8B;QADvC;;;;mBAAS,WAAW;WAA4B;QAChD;;;;mBAAS,cAAc;WAAgB;IACtC,CAAC;IAEG,KAAK,CAAC,OAAO,CAClB,KAAa,EACb,OAAgC;QAEhC,MAAM,GAAG,GAAG,IAAA,kCAAgB,EAAC,KAAK,CAAC;YACjC,CAAC,CAAC,KAAK,CAAC,gBAAgB;YACxB,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC/B,IAAA,sCAA6B,EAAC,KAAK,CAAC,EACpC,OAAO,CACR,CAAA;QAEL,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;QAEjC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,SAAS,CAAC,WAAW,KAAK,6BAA6B,CAAC,CAAA;QACpE,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAE7D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CACpC,CAAA,kCAAiD,CAAA,EACjD,QAAQ,CACT,CAAA;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,SAAS,CACjB,0DAA0D,GAAG,gBAAgB,CAC9E,CAAA;QACH,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QAE5C,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;IACrB,CAAC;CACF;AAxCD,4CAwCC;AAED,SAAS,kCAAkC,CAEzC,CAAa;IAMb,OAAO,CACL,OAAO,CAAC,CAAC,eAAe,KAAK,QAAQ;QACrC,CAAC,CAAC,IAAI,KAAK,2BAA2B;QACtC,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,EAAE,cAAc,CAAC,CAC/D,CAAA;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,2 @@
1
1
  export * from './identity-resolver.js';
2
- export * from './universal-identity-resolver.js';
3
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,kCAAkC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA"}
package/dist/index.js CHANGED
@@ -15,5 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./identity-resolver.js"), exports);
18
- __exportStar(require("./universal-identity-resolver.js"), exports);
19
18
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,mEAAgD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto-labs/identity-resolver",
3
- "version": "0.0.1",
3
+ "version": "0.1.1",
4
4
  "license": "MIT",
5
5
  "description": "A library resolving ATPROTO identities",
6
6
  "keywords": [
@@ -13,7 +13,7 @@
13
13
  "repository": {
14
14
  "type": "git",
15
15
  "url": "https://github.com/bluesky-social/atproto",
16
- "directory": "packages/identity-resolver"
16
+ "directory": "packages/internal/identity-resolver"
17
17
  },
18
18
  "type": "commonjs",
19
19
  "main": "dist/index.js",
@@ -25,9 +25,8 @@
25
25
  }
26
26
  },
27
27
  "dependencies": {
28
- "@atproto-labs/did": "0.0.1",
29
- "@atproto-labs/fetch": "0.0.1",
30
- "@atproto-labs/handle-resolver": "0.0.1",
28
+ "@atproto-labs/did-resolver": "0.1.1",
29
+ "@atproto-labs/handle-resolver": "0.1.1",
31
30
  "@atproto/syntax": "0.3.0"
32
31
  },
33
32
  "devDependencies": {
@@ -1,5 +1,12 @@
1
- import { DidResolver } from '@atproto-labs/did'
2
1
  import {
2
+ Did,
3
+ DidDocument,
4
+ ResolveDidOptions,
5
+ DidResolver,
6
+ DidService,
7
+ } from '@atproto-labs/did-resolver'
8
+ import {
9
+ ResolveHandleOptions,
3
10
  HandleResolver,
4
11
  ResolvedHandle,
5
12
  isResolvedHandle,
@@ -8,28 +15,64 @@ import { normalizeAndEnsureValidHandle } from '@atproto/syntax'
8
15
 
9
16
  export type ResolvedIdentity = {
10
17
  did: NonNullable<ResolvedHandle>
11
- url: URL
18
+ pds: URL
12
19
  }
13
20
 
21
+ export type ResolveIdentityOptions = ResolveDidOptions & ResolveHandleOptions
22
+
14
23
  export class IdentityResolver {
15
24
  constructor(
16
- readonly handleResolver: HandleResolver,
17
25
  readonly didResolver: DidResolver<'plc' | 'web'>,
26
+ readonly handleResolver: HandleResolver,
18
27
  ) {}
19
28
 
20
29
  public async resolve(
21
30
  input: string,
22
- serviceType = 'AtprotoPersonalDataServer',
31
+ options?: ResolveIdentityOptions,
23
32
  ): Promise<ResolvedIdentity> {
24
33
  const did = isResolvedHandle(input)
25
34
  ? input // Already a did
26
- : await this.handleResolver.resolve(normalizeAndEnsureValidHandle(input))
27
- if (!did) throw new Error(`Handle ${input} does not resolve to a DID`)
35
+ : await this.handleResolver.resolve(
36
+ normalizeAndEnsureValidHandle(input),
37
+ options,
38
+ )
39
+
40
+ options?.signal?.throwIfAborted()
41
+
42
+ if (!did) {
43
+ throw new TypeError(`Handle "${input}" does not resolve to a DID`)
44
+ }
28
45
 
29
- const url = await this.didResolver.resolveServiceEndpoint(did, {
30
- type: serviceType,
31
- })
46
+ const document = await this.didResolver.resolve(did, options)
32
47
 
33
- return { did, url }
48
+ const service = document.service?.find(
49
+ isAtprotoPersonalDataServerService<'plc' | 'web'>,
50
+ document,
51
+ )
52
+
53
+ if (!service) {
54
+ throw new TypeError(
55
+ `No valid "AtprotoPersonalDataServer" service found in "${did}" DID document`,
56
+ )
57
+ }
58
+
59
+ const pds = new URL(service.serviceEndpoint)
60
+
61
+ return { did, pds }
34
62
  }
35
63
  }
64
+
65
+ function isAtprotoPersonalDataServerService<M extends string>(
66
+ this: DidDocument<M>,
67
+ s: DidService,
68
+ ): s is {
69
+ id: '#atproto_pds' | `${Did<M>}#atproto_pds`
70
+ type: 'AtprotoPersonalDataServer'
71
+ serviceEndpoint: string
72
+ } {
73
+ return (
74
+ typeof s.serviceEndpoint === 'string' &&
75
+ s.type === 'AtprotoPersonalDataServer' &&
76
+ (s.id === '#atproto_pds' || s.id === `${this.id}#atproto_pds`)
77
+ )
78
+ }
package/src/index.ts CHANGED
@@ -1,2 +1 @@
1
1
  export * from './identity-resolver.js'
2
- export * from './universal-identity-resolver.js'
@@ -0,0 +1,8 @@
1
+ {
2
+ "extends": ["../../../tsconfig/isomorphic.json"],
3
+ "compilerOptions": {
4
+ "outDir": "dist",
5
+ "rootDir": "src"
6
+ },
7
+ "include": ["src"]
8
+ }
package/tsconfig.json CHANGED
@@ -1,8 +1,4 @@
1
1
  {
2
- "extends": "../../tsconfig/isomorphic.json",
3
- "compilerOptions": {
4
- "outDir": "dist",
5
- "rootDir": "src"
6
- },
7
- "include": ["src"]
2
+ "include": [],
3
+ "references": [{ "path": "./tsconfig.build.json" }]
8
4
  }
@@ -1,23 +0,0 @@
1
- import { DidCache, IsomorphicDidResolverOptions } from '@atproto-labs/did';
2
- import { Fetch } from '@atproto-labs/fetch';
3
- import { HandleResolverCache, UniversalHandleResolverOptions } from '@atproto-labs/handle-resolver';
4
- import { IdentityResolver } from './identity-resolver.js';
5
- export type { DidCache, DidDocument } from '@atproto-labs/did';
6
- export type { HandleResolverCache, ResolvedHandle, } from '@atproto-labs/handle-resolver';
7
- export type UniversalIdentityResolverOptions = {
8
- fetch?: Fetch;
9
- didCache?: DidCache;
10
- handleCache?: HandleResolverCache;
11
- /**
12
- * @see {@link IsomorphicDidResolverOptions.plcDirectoryUrl}
13
- */
14
- plcDirectoryUrl?: IsomorphicDidResolverOptions['plcDirectoryUrl'];
15
- /**
16
- * @see {@link UniversalHandleResolverOptions.atprotoLexiconUrl}
17
- */
18
- atprotoLexiconUrl?: UniversalHandleResolverOptions['atprotoLexiconUrl'];
19
- };
20
- export declare class UniversalIdentityResolver extends IdentityResolver {
21
- static from({ fetch, didCache, handleCache, plcDirectoryUrl, atprotoLexiconUrl, }: UniversalIdentityResolverOptions): UniversalIdentityResolver;
22
- }
23
- //# sourceMappingURL=universal-identity-resolver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"universal-identity-resolver.d.ts","sourceRoot":"","sources":["../src/universal-identity-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAER,4BAA4B,EAC7B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAgC,EAC9B,mBAAmB,EACnB,8BAA8B,EAC/B,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC9D,YAAY,EACV,mBAAmB,EACnB,cAAc,GACf,MAAM,+BAA+B,CAAA;AAEtC,MAAM,MAAM,gCAAgC,GAAG;IAC7C,KAAK,CAAC,EAAE,KAAK,CAAA;IAEb,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,WAAW,CAAC,EAAE,mBAAmB,CAAA;IAEjC;;OAEG;IACH,eAAe,CAAC,EAAE,4BAA4B,CAAC,iBAAiB,CAAC,CAAA;IAEjE;;OAEG;IACH,iBAAiB,CAAC,EAAE,8BAA8B,CAAC,mBAAmB,CAAC,CAAA;CACxE,CAAA;AAED,qBAAa,yBAA0B,SAAQ,gBAAgB;IAC7D,MAAM,CAAC,IAAI,CAAC,EACV,KAAwB,EACxB,QAAQ,EACR,WAAW,EACX,eAAe,EACf,iBAAiB,GAClB,EAAE,gCAAgC;CAcpC"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.UniversalIdentityResolver = void 0;
7
- const did_1 = require("@atproto-labs/did");
8
- const handle_resolver_1 = __importDefault(require("@atproto-labs/handle-resolver"));
9
- const identity_resolver_js_1 = require("./identity-resolver.js");
10
- class UniversalIdentityResolver extends identity_resolver_js_1.IdentityResolver {
11
- static from({ fetch = globalThis.fetch, didCache, handleCache, plcDirectoryUrl, atprotoLexiconUrl, }) {
12
- return new this(new handle_resolver_1.default({
13
- fetch,
14
- cache: handleCache,
15
- atprotoLexiconUrl,
16
- }), new did_1.IsomorphicDidResolver({
17
- fetch, //
18
- cache: didCache,
19
- plcDirectoryUrl,
20
- }));
21
- }
22
- }
23
- exports.UniversalIdentityResolver = UniversalIdentityResolver;
24
- //# sourceMappingURL=universal-identity-resolver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"universal-identity-resolver.js","sourceRoot":"","sources":["../src/universal-identity-resolver.ts"],"names":[],"mappings":";;;;;;AAAA,2CAI0B;AAE1B,oFAGsC;AACtC,iEAAyD;AAyBzD,MAAa,yBAA0B,SAAQ,uCAAgB;IAC7D,MAAM,CAAC,IAAI,CAAC,EACV,KAAK,GAAG,UAAU,CAAC,KAAK,EACxB,QAAQ,EACR,WAAW,EACX,eAAe,EACf,iBAAiB,GACgB;QACjC,OAAO,IAAI,IAAI,CACb,IAAI,yBAAuB,CAAC;YAC1B,KAAK;YACL,KAAK,EAAE,WAAW;YAClB,iBAAiB;SAClB,CAAC,EACF,IAAI,2BAAqB,CAAC;YACxB,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,QAAQ;YACf,eAAe;SAChB,CAAC,CACH,CAAA;IACH,CAAC;CACF;AArBD,8DAqBC"}
@@ -1,57 +0,0 @@
1
- import {
2
- DidCache,
3
- IsomorphicDidResolver,
4
- IsomorphicDidResolverOptions,
5
- } from '@atproto-labs/did'
6
- import { Fetch } from '@atproto-labs/fetch'
7
- import UniversalHandleResolver, {
8
- HandleResolverCache,
9
- UniversalHandleResolverOptions,
10
- } from '@atproto-labs/handle-resolver'
11
- import { IdentityResolver } from './identity-resolver.js'
12
-
13
- export type { DidCache, DidDocument } from '@atproto-labs/did'
14
- export type {
15
- HandleResolverCache,
16
- ResolvedHandle,
17
- } from '@atproto-labs/handle-resolver'
18
-
19
- export type UniversalIdentityResolverOptions = {
20
- fetch?: Fetch
21
-
22
- didCache?: DidCache
23
- handleCache?: HandleResolverCache
24
-
25
- /**
26
- * @see {@link IsomorphicDidResolverOptions.plcDirectoryUrl}
27
- */
28
- plcDirectoryUrl?: IsomorphicDidResolverOptions['plcDirectoryUrl']
29
-
30
- /**
31
- * @see {@link UniversalHandleResolverOptions.atprotoLexiconUrl}
32
- */
33
- atprotoLexiconUrl?: UniversalHandleResolverOptions['atprotoLexiconUrl']
34
- }
35
-
36
- export class UniversalIdentityResolver extends IdentityResolver {
37
- static from({
38
- fetch = globalThis.fetch,
39
- didCache,
40
- handleCache,
41
- plcDirectoryUrl,
42
- atprotoLexiconUrl,
43
- }: UniversalIdentityResolverOptions) {
44
- return new this(
45
- new UniversalHandleResolver({
46
- fetch,
47
- cache: handleCache,
48
- atprotoLexiconUrl,
49
- }),
50
- new IsomorphicDidResolver({
51
- fetch, //
52
- cache: didCache,
53
- plcDirectoryUrl,
54
- }),
55
- )
56
- }
57
- }