@atproto/common-web 0.2.4-next.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -2
- package/dist/did-doc.d.ts +5 -1
- package/dist/did-doc.d.ts.map +1 -1
- package/dist/did-doc.js +8 -4
- package/dist/did-doc.js.map +1 -1
- package/package.json +1 -1
- package/src/did-doc.ts +11 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
# @atproto/common-web
|
|
2
2
|
|
|
3
|
-
## 0.
|
|
3
|
+
## 0.3.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#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.
|
|
8
|
+
|
|
9
|
+
## 0.2.4
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
|
6
12
|
|
|
7
|
-
-
|
|
13
|
+
- [#2302](https://github.com/bluesky-social/atproto/pull/2302) [`4eaadc0ac`](https://github.com/bluesky-social/atproto/commit/4eaadc0acb6b73b9745dd7a2b929d02e58083ab0) Thanks [@dholms](https://github.com/dholms)! - Added methods for parsing labeler verification methods and services in DID Documents
|
|
8
14
|
|
|
9
15
|
## 0.2.3
|
|
10
16
|
|
package/dist/did-doc.d.ts
CHANGED
|
@@ -20,13 +20,17 @@ export declare const getSigningKey: (doc: DidDocument) => {
|
|
|
20
20
|
type: string;
|
|
21
21
|
publicKeyMultibase: string;
|
|
22
22
|
} | undefined;
|
|
23
|
+
export declare const getVerificationMaterial: (doc: DidDocument, keyId: string) => {
|
|
24
|
+
type: string;
|
|
25
|
+
publicKeyMultibase: string;
|
|
26
|
+
} | undefined;
|
|
23
27
|
export declare const getSigningDidKey: (doc: DidDocument) => string | undefined;
|
|
24
28
|
export declare const getPdsEndpoint: (doc: DidDocument) => string | undefined;
|
|
25
29
|
export declare const getFeedGenEndpoint: (doc: DidDocument) => string | undefined;
|
|
26
30
|
export declare const getNotifEndpoint: (doc: DidDocument) => string | undefined;
|
|
27
31
|
export declare const getServiceEndpoint: (doc: DidDocument, opts: {
|
|
28
32
|
id: string;
|
|
29
|
-
type
|
|
33
|
+
type?: string;
|
|
30
34
|
}) => string | undefined;
|
|
31
35
|
export declare const didDocument: z.ZodObject<{
|
|
32
36
|
id: z.ZodString;
|
package/dist/did-doc.d.ts.map
CHANGED
|
@@ -1 +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,SAOrD,CAAA;AAGD,eAAO,MAAM,aAAa,QACnB,WAAW,KACf;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,GAAG,SAgBjD,CAAA;
|
|
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,SAOrD,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,uBAoBpC,CAAA;AAmCD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKtB,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA"}
|
package/dist/did-doc.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.didDocument = exports.getServiceEndpoint = exports.getNotifEndpoint = exports.getFeedGenEndpoint = exports.getPdsEndpoint = exports.getSigningDidKey = exports.getSigningKey = exports.getHandle = exports.getDid = exports.isValidDidDoc = void 0;
|
|
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
4
|
const zod_1 = require("zod");
|
|
5
5
|
// Parsing atproto data
|
|
6
6
|
// --------
|
|
@@ -29,6 +29,10 @@ const getHandle = (doc) => {
|
|
|
29
29
|
exports.getHandle = getHandle;
|
|
30
30
|
// @NOTE we parse to type/publicKeyMultibase to avoid the dependency on @atproto/crypto
|
|
31
31
|
const getSigningKey = (doc) => {
|
|
32
|
+
return (0, exports.getVerificationMaterial)(doc, 'atproto');
|
|
33
|
+
};
|
|
34
|
+
exports.getSigningKey = getSigningKey;
|
|
35
|
+
const getVerificationMaterial = (doc, keyId) => {
|
|
32
36
|
const did = (0, exports.getDid)(doc);
|
|
33
37
|
let keys = doc.verificationMethod;
|
|
34
38
|
if (!keys)
|
|
@@ -38,7 +42,7 @@ const getSigningKey = (doc) => {
|
|
|
38
42
|
if (!Array.isArray(keys)) {
|
|
39
43
|
keys = [keys];
|
|
40
44
|
}
|
|
41
|
-
const found = keys.find((key) => key.id ===
|
|
45
|
+
const found = keys.find((key) => key.id === `#${keyId}` || key.id === `${did}#${keyId}`);
|
|
42
46
|
if (!found?.publicKeyMultibase)
|
|
43
47
|
return undefined;
|
|
44
48
|
return {
|
|
@@ -46,7 +50,7 @@ const getSigningKey = (doc) => {
|
|
|
46
50
|
publicKeyMultibase: found.publicKeyMultibase,
|
|
47
51
|
};
|
|
48
52
|
};
|
|
49
|
-
exports.
|
|
53
|
+
exports.getVerificationMaterial = getVerificationMaterial;
|
|
50
54
|
const getSigningDidKey = (doc) => {
|
|
51
55
|
const parsed = (0, exports.getSigningKey)(doc);
|
|
52
56
|
if (!parsed)
|
|
@@ -88,7 +92,7 @@ const getServiceEndpoint = (doc, opts) => {
|
|
|
88
92
|
const found = services.find((service) => service.id === opts.id || service.id === `${did}${opts.id}`);
|
|
89
93
|
if (!found)
|
|
90
94
|
return undefined;
|
|
91
|
-
if (found.type !== opts.type) {
|
|
95
|
+
if (opts.type && found.type !== opts.type) {
|
|
92
96
|
return undefined;
|
|
93
97
|
}
|
|
94
98
|
if (typeof found.serviceEndpoint !== 'string') {
|
package/dist/did-doc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"did-doc.js","sourceRoot":"","sources":["../src/did-doc.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEvB,uBAAuB;AACvB,WAAW;AAEJ,MAAM,aAAa,GAAG,CAAC,GAAY,EAAsB,EAAE;IAChE,OAAO,mBAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAA;AAC3C,CAAC,CAAA;AAFY,QAAA,aAAa,iBAEzB;AAEM,MAAM,MAAM,GAAG,CAAC,GAAgB,EAAU,EAAE;IACjD,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAA;IACjB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACxC,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AANY,QAAA,MAAM,UAMlB;AAEM,MAAM,SAAS,GAAG,CAAC,GAAgB,EAAsB,EAAE;IAChE,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,CAAA;IAC3B,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAA;IAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;IAC1D,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,yBAAyB;IACzB,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACvB,CAAC,CAAA;AAPY,QAAA,SAAS,aAOrB;AAED,uFAAuF;AAChF,MAAM,aAAa,GAAG,CAC3B,GAAgB,EAC0C,EAAE;IAC5D,MAAM,GAAG,GAAG,IAAA,cAAM,EAAC,GAAG,CAAC,CAAA;IACvB,IAAI,IAAI,GAAG,GAAG,CAAC,kBAAkB,CAAA;IACjC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAA;IAC3B,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;IACf,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CACrB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"did-doc.js","sourceRoot":"","sources":["../src/did-doc.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/did-doc.ts
CHANGED
|
@@ -27,6 +27,13 @@ export const getHandle = (doc: DidDocument): string | undefined => {
|
|
|
27
27
|
// @NOTE we parse to type/publicKeyMultibase to avoid the dependency on @atproto/crypto
|
|
28
28
|
export const getSigningKey = (
|
|
29
29
|
doc: DidDocument,
|
|
30
|
+
): { type: string; publicKeyMultibase: string } | undefined => {
|
|
31
|
+
return getVerificationMaterial(doc, 'atproto')
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export const getVerificationMaterial = (
|
|
35
|
+
doc: DidDocument,
|
|
36
|
+
keyId: string,
|
|
30
37
|
): { type: string; publicKeyMultibase: string } | undefined => {
|
|
31
38
|
const did = getDid(doc)
|
|
32
39
|
let keys = doc.verificationMethod
|
|
@@ -36,7 +43,7 @@ export const getSigningKey = (
|
|
|
36
43
|
keys = [keys]
|
|
37
44
|
}
|
|
38
45
|
const found = keys.find(
|
|
39
|
-
(key) => key.id ===
|
|
46
|
+
(key) => key.id === `#${keyId}` || key.id === `${did}#${keyId}`,
|
|
40
47
|
)
|
|
41
48
|
if (!found?.publicKeyMultibase) return undefined
|
|
42
49
|
return {
|
|
@@ -44,6 +51,7 @@ export const getSigningKey = (
|
|
|
44
51
|
publicKeyMultibase: found.publicKeyMultibase,
|
|
45
52
|
}
|
|
46
53
|
}
|
|
54
|
+
|
|
47
55
|
export const getSigningDidKey = (doc: DidDocument): string | undefined => {
|
|
48
56
|
const parsed = getSigningKey(doc)
|
|
49
57
|
if (!parsed) return
|
|
@@ -73,7 +81,7 @@ export const getNotifEndpoint = (doc: DidDocument): string | undefined => {
|
|
|
73
81
|
|
|
74
82
|
export const getServiceEndpoint = (
|
|
75
83
|
doc: DidDocument,
|
|
76
|
-
opts: { id: string; type
|
|
84
|
+
opts: { id: string; type?: string },
|
|
77
85
|
) => {
|
|
78
86
|
const did = getDid(doc)
|
|
79
87
|
let services = doc.service
|
|
@@ -86,7 +94,7 @@ export const getServiceEndpoint = (
|
|
|
86
94
|
(service) => service.id === opts.id || service.id === `${did}${opts.id}`,
|
|
87
95
|
)
|
|
88
96
|
if (!found) return undefined
|
|
89
|
-
if (found.type !== opts.type) {
|
|
97
|
+
if (opts.type && found.type !== opts.type) {
|
|
90
98
|
return undefined
|
|
91
99
|
}
|
|
92
100
|
if (typeof found.serviceEndpoint !== 'string') {
|