@atproto/did 0.1.0 → 0.1.1-rc.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/dist/atproto.d.ts +11 -0
- package/dist/atproto.d.ts.map +1 -0
- package/dist/atproto.js +63 -0
- package/dist/atproto.js.map +1 -0
- package/dist/did.d.ts +1 -0
- package/dist/did.d.ts.map +1 -1
- package/dist/did.js +7 -1
- package/dist/did.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/methods/plc.d.ts +2 -1
- package/dist/methods/plc.d.ts.map +1 -1
- package/dist/methods/plc.js +10 -1
- package/dist/methods/plc.js.map +1 -1
- package/dist/methods/web.d.ts +2 -7
- package/dist/methods/web.d.ts.map +1 -1
- package/dist/methods/web.js +11 -24
- package/dist/methods/web.js.map +1 -1
- package/package.json +1 -1
- package/src/atproto.ts +75 -0
- package/src/did.ts +7 -0
- package/src/index.ts +1 -0
- package/src/methods/plc.ts +12 -1
- package/src/methods/web.ts +12 -28
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Did } from './did.js';
|
|
2
|
+
export type AtprotoIdentityDidMethods = 'plc' | 'web';
|
|
3
|
+
export type AtprotoDid = Did<AtprotoIdentityDidMethods>;
|
|
4
|
+
export declare function isAtprotoDid(input: unknown): input is AtprotoDid;
|
|
5
|
+
export declare function asAtprotoDid(input: unknown): AtprotoDid;
|
|
6
|
+
export declare function checkAtprotoDid(input: unknown): asserts input is AtprotoDid;
|
|
7
|
+
/**
|
|
8
|
+
* @see {@link https://atproto.com/specs/did#blessed-did-methods}
|
|
9
|
+
*/
|
|
10
|
+
export declare function isAtprotoDidWeb(input: unknown): input is Did<'web'>;
|
|
11
|
+
//# sourceMappingURL=atproto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atproto.d.ts","sourceRoot":"","sources":["../src/atproto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAY9B,MAAM,MAAM,yBAAyB,GAAG,KAAK,GAAG,KAAK,CAAA;AACrD,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,yBAAyB,CAAC,CAAA;AAEvD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAahE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAGvD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAa3E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,CAoBnE"}
|
package/dist/atproto.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isAtprotoDidWeb = exports.checkAtprotoDid = exports.asAtprotoDid = exports.isAtprotoDid = void 0;
|
|
4
|
+
const did_error_js_1 = require("./did-error.js");
|
|
5
|
+
const methods_js_1 = require("./methods.js");
|
|
6
|
+
function isAtprotoDid(input) {
|
|
7
|
+
// Optimized equivalent of:
|
|
8
|
+
// return isDidPlc(input) || isAtprotoDidWeb(input)
|
|
9
|
+
if (typeof input !== 'string') {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
else if (input.startsWith(methods_js_1.DID_PLC_PREFIX)) {
|
|
13
|
+
return (0, methods_js_1.isDidPlc)(input);
|
|
14
|
+
}
|
|
15
|
+
else if (input.startsWith(methods_js_1.DID_WEB_PREFIX)) {
|
|
16
|
+
return isAtprotoDidWeb(input);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.isAtprotoDid = isAtprotoDid;
|
|
23
|
+
function asAtprotoDid(input) {
|
|
24
|
+
checkAtprotoDid(input);
|
|
25
|
+
return input;
|
|
26
|
+
}
|
|
27
|
+
exports.asAtprotoDid = asAtprotoDid;
|
|
28
|
+
function checkAtprotoDid(input) {
|
|
29
|
+
if (typeof input !== 'string') {
|
|
30
|
+
throw new did_error_js_1.InvalidDidError(typeof input, `DID must be a string`);
|
|
31
|
+
}
|
|
32
|
+
else if (input.startsWith(methods_js_1.DID_PLC_PREFIX)) {
|
|
33
|
+
(0, methods_js_1.checkDidPlc)(input);
|
|
34
|
+
}
|
|
35
|
+
else if (input.startsWith(methods_js_1.DID_WEB_PREFIX)) {
|
|
36
|
+
(0, methods_js_1.checkDidWeb)(input);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
throw new did_error_js_1.InvalidDidError(input, `Atproto only allows "plc" and "web" DID methods`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.checkAtprotoDid = checkAtprotoDid;
|
|
43
|
+
/**
|
|
44
|
+
* @see {@link https://atproto.com/specs/did#blessed-did-methods}
|
|
45
|
+
*/
|
|
46
|
+
function isAtprotoDidWeb(input) {
|
|
47
|
+
// Optimization: make cheap checks first
|
|
48
|
+
if (typeof input !== 'string') {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
// Path are not allowed
|
|
52
|
+
if (input.includes(':', methods_js_1.DID_WEB_PREFIX.length)) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
// Port numbers are not allowed, except for localhost
|
|
56
|
+
if (input.includes('%3A', methods_js_1.DID_WEB_PREFIX.length) &&
|
|
57
|
+
!input.startsWith('did:web:localhost%3A')) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
return (0, methods_js_1.isDidWeb)(input);
|
|
61
|
+
}
|
|
62
|
+
exports.isAtprotoDidWeb = isAtprotoDidWeb;
|
|
63
|
+
//# sourceMappingURL=atproto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atproto.js","sourceRoot":"","sources":["../src/atproto.ts"],"names":[],"mappings":";;;AAAA,iDAAgD;AAEhD,6CAOqB;AAOrB,SAAgB,YAAY,CAAC,KAAc;IACzC,2BAA2B;IAC3B,mDAAmD;IAEnD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAA;IACd,CAAC;SAAM,IAAI,KAAK,CAAC,UAAU,CAAC,2BAAc,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAA,qBAAQ,EAAC,KAAK,CAAC,CAAA;IACxB,CAAC;SAAM,IAAI,KAAK,CAAC,UAAU,CAAC,2BAAc,CAAC,EAAE,CAAC;QAC5C,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAbD,oCAaC;AAED,SAAgB,YAAY,CAAC,KAAc;IACzC,eAAe,CAAC,KAAK,CAAC,CAAA;IACtB,OAAO,KAAK,CAAA;AACd,CAAC;AAHD,oCAGC;AAED,SAAgB,eAAe,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,8BAAe,CAAC,OAAO,KAAK,EAAE,sBAAsB,CAAC,CAAA;IACjE,CAAC;SAAM,IAAI,KAAK,CAAC,UAAU,CAAC,2BAAc,CAAC,EAAE,CAAC;QAC5C,IAAA,wBAAW,EAAC,KAAK,CAAC,CAAA;IACpB,CAAC;SAAM,IAAI,KAAK,CAAC,UAAU,CAAC,2BAAc,CAAC,EAAE,CAAC;QAC5C,IAAA,wBAAW,EAAC,KAAK,CAAC,CAAA;IACpB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,8BAAe,CACvB,KAAK,EACL,iDAAiD,CAClD,CAAA;IACH,CAAC;AACH,CAAC;AAbD,0CAaC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,KAAc;IAC5C,wCAAwC;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,uBAAuB;IACvB,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,2BAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAA;IACd,CAAC;IAED,qDAAqD;IACrD,IACE,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,2BAAc,CAAC,MAAM,CAAC;QAC5C,CAAC,KAAK,CAAC,UAAU,CAAC,sBAAsB,CAAC,EACzC,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,IAAA,qBAAQ,EAAC,KAAK,CAAC,CAAA;AACxB,CAAC;AApBD,0CAoBC"}
|
package/dist/did.d.ts
CHANGED
|
@@ -52,5 +52,6 @@ export declare function extractDidMethod<D extends Did>(did: D): D extends `did:
|
|
|
52
52
|
export declare function checkDidMsid(input: string, start?: number, end?: number): void;
|
|
53
53
|
export declare function checkDid(input: unknown): asserts input is Did;
|
|
54
54
|
export declare function isDid(input: unknown): input is Did;
|
|
55
|
+
export declare function asDid(input: unknown): Did;
|
|
55
56
|
export declare const didSchema: z.ZodEffects<z.ZodString, `did:${string}:${string}`, string>;
|
|
56
57
|
//# sourceMappingURL=did.d.ts.map
|
package/dist/did.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"did.d.ts","sourceRoot":"","sources":["../src/did.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,QAAA,MAAM,UAAU,SAAS,CAAA;AAEzB,OAAO,EAAE,UAAU,EAAE,CAAA;AAErB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAA;AAE9E;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,MAAM,SAAS,CAAC,GACzC,MAAM,GACN,mBAAmB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAE9B,KAAK,gBAAgB,GAAG,SAAS,GAAG,cAAc,CAAA;AAClD,KAAK,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAC1E,KAAK,cAAc,GACf,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,CAAA;AAEP,KAAK,mBAAmB,CACtB,CAAC,EACD,GAAG,SAAS,MAAM,IAChB,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,GAChC,CAAC,SAAS,gBAAgB,GACxB,mBAAmB,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,GACpC,KAAK,GACP,GAAG,SAAS,EAAE,GACZ,KAAK,GACL,GAAG,CAAA;AAET;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,KAAK,SAAI,EACT,GAAG,SAAe,GACjB,IAAI,CA0BN;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC,iFAIrD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,KAAK,SAAI,EACT,GAAG,SAAe,GACjB,IAAI,CAuEN;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAqB7D;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"did.d.ts","sourceRoot":"","sources":["../src/did.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,QAAA,MAAM,UAAU,SAAS,CAAA;AAEzB,OAAO,EAAE,UAAU,EAAE,CAAA;AAErB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAA;AAE9E;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,MAAM,SAAS,CAAC,GACzC,MAAM,GACN,mBAAmB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAE9B,KAAK,gBAAgB,GAAG,SAAS,GAAG,cAAc,CAAA;AAClD,KAAK,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAC1E,KAAK,cAAc,GACf,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,CAAA;AAEP,KAAK,mBAAmB,CACtB,CAAC,EACD,GAAG,SAAS,MAAM,IAChB,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,GAChC,CAAC,SAAS,gBAAgB,GACxB,mBAAmB,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,GACpC,KAAK,GACP,GAAG,SAAS,EAAE,GACZ,KAAK,GACL,GAAG,CAAA;AAET;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,KAAK,SAAI,EACT,GAAG,SAAe,GACjB,IAAI,CA0BN;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC,iFAIrD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,KAAK,SAAI,EACT,GAAG,SAAe,GACjB,IAAI,CAuEN;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAqB7D;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,CAYlD;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAGzC;AAED,eAAO,MAAM,SAAS,8DAalB,CAAA"}
|
package/dist/did.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.didSchema = exports.isDid = exports.checkDid = exports.checkDidMsid = exports.extractDidMethod = exports.checkDidMethod = exports.DID_PREFIX = void 0;
|
|
3
|
+
exports.didSchema = exports.asDid = exports.isDid = exports.checkDid = exports.checkDidMsid = exports.extractDidMethod = exports.checkDidMethod = exports.DID_PREFIX = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const did_error_js_1 = require("./did-error.js");
|
|
6
6
|
const DID_PREFIX = 'did:';
|
|
@@ -126,10 +126,16 @@ function isDid(input) {
|
|
|
126
126
|
if (err instanceof did_error_js_1.DidError) {
|
|
127
127
|
return false;
|
|
128
128
|
}
|
|
129
|
+
// Unexpected TypeError (should never happen)
|
|
129
130
|
throw err;
|
|
130
131
|
}
|
|
131
132
|
}
|
|
132
133
|
exports.isDid = isDid;
|
|
134
|
+
function asDid(input) {
|
|
135
|
+
checkDid(input);
|
|
136
|
+
return input;
|
|
137
|
+
}
|
|
138
|
+
exports.asDid = asDid;
|
|
133
139
|
exports.didSchema = zod_1.z
|
|
134
140
|
.string()
|
|
135
141
|
.superRefine((value, ctx) => {
|
package/dist/did.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"did.js","sourceRoot":"","sources":["../src/did.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"did.js","sourceRoot":"","sources":["../src/did.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./atproto.js"), exports);
|
|
17
18
|
__exportStar(require("./did-document.js"), exports);
|
|
18
19
|
__exportStar(require("./did-error.js"), exports);
|
|
19
20
|
__exportStar(require("./did.js"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAiC;AACjC,iDAA8B;AAC9B,2CAAwB;AACxB,+CAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,oDAAiC;AACjC,iDAA8B;AAC9B,2CAAwB;AACxB,+CAA4B"}
|
package/dist/methods/plc.d.ts
CHANGED
|
@@ -2,5 +2,6 @@ import { Did } from '../did.js';
|
|
|
2
2
|
declare const DID_PLC_PREFIX = "did:plc:";
|
|
3
3
|
export { DID_PLC_PREFIX };
|
|
4
4
|
export declare function isDidPlc(input: unknown): input is Did<'plc'>;
|
|
5
|
-
export declare function
|
|
5
|
+
export declare function asDidPlc(input: unknown): Did<'plc'>;
|
|
6
|
+
export declare function checkDidPlc(input: unknown): asserts input is Did<'plc'>;
|
|
6
7
|
//# sourceMappingURL=plc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plc.d.ts","sourceRoot":"","sources":["../../src/methods/plc.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAE/B,QAAA,MAAM,cAAc,aAAa,CAAA;AAIjC,OAAO,EAAE,cAAc,EAAE,CAAA;AAEzB,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"plc.d.ts","sourceRoot":"","sources":["../../src/methods/plc.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAE/B,QAAA,MAAM,cAAc,aAAa,CAAA;AAIjC,OAAO,EAAE,cAAc,EAAE,CAAA;AAEzB,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,CAU5D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAGnD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,CAwBvE"}
|
package/dist/methods/plc.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.checkDidPlc = exports.isDidPlc = exports.DID_PLC_PREFIX = void 0;
|
|
3
|
+
exports.checkDidPlc = exports.asDidPlc = exports.isDidPlc = exports.DID_PLC_PREFIX = void 0;
|
|
4
4
|
const did_error_js_1 = require("../did-error.js");
|
|
5
5
|
const DID_PLC_PREFIX = `did:plc:`;
|
|
6
6
|
exports.DID_PLC_PREFIX = DID_PLC_PREFIX;
|
|
7
7
|
const DID_PLC_PREFIX_LENGTH = DID_PLC_PREFIX.length;
|
|
8
8
|
const DID_PLC_LENGTH = 32;
|
|
9
9
|
function isDidPlc(input) {
|
|
10
|
+
// Optimization: make cheap checks first
|
|
10
11
|
if (typeof input !== 'string')
|
|
11
12
|
return false;
|
|
12
13
|
try {
|
|
@@ -18,7 +19,15 @@ function isDidPlc(input) {
|
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
21
|
exports.isDidPlc = isDidPlc;
|
|
22
|
+
function asDidPlc(input) {
|
|
23
|
+
checkDidPlc(input);
|
|
24
|
+
return input;
|
|
25
|
+
}
|
|
26
|
+
exports.asDidPlc = asDidPlc;
|
|
21
27
|
function checkDidPlc(input) {
|
|
28
|
+
if (typeof input !== 'string') {
|
|
29
|
+
throw new did_error_js_1.InvalidDidError(typeof input, `DID must be a string`);
|
|
30
|
+
}
|
|
22
31
|
if (input.length !== DID_PLC_LENGTH) {
|
|
23
32
|
throw new did_error_js_1.InvalidDidError(input, `did:plc must be ${DID_PLC_LENGTH} characters long`);
|
|
24
33
|
}
|
package/dist/methods/plc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plc.js","sourceRoot":"","sources":["../../src/methods/plc.ts"],"names":[],"mappings":";;;AAAA,kDAAiD;AAGjD,MAAM,cAAc,GAAG,UAAU,CAAA;AAIxB,wCAAc;AAHvB,MAAM,qBAAqB,GAAG,cAAc,CAAC,MAAM,CAAA;AACnD,MAAM,cAAc,GAAG,EAAE,CAAA;AAIzB,SAAgB,QAAQ,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"plc.js","sourceRoot":"","sources":["../../src/methods/plc.ts"],"names":[],"mappings":";;;AAAA,kDAAiD;AAGjD,MAAM,cAAc,GAAG,UAAU,CAAA;AAIxB,wCAAc;AAHvB,MAAM,qBAAqB,GAAG,cAAc,CAAC,MAAM,CAAA;AACnD,MAAM,cAAc,GAAG,EAAE,CAAA;AAIzB,SAAgB,QAAQ,CAAC,KAAc;IACrC,wCAAwC;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE3C,IAAI,CAAC;QACH,WAAW,CAAC,KAAK,CAAC,CAAA;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAVD,4BAUC;AAED,SAAgB,QAAQ,CAAC,KAAc;IACrC,WAAW,CAAC,KAAK,CAAC,CAAA;IAClB,OAAO,KAAK,CAAA;AACd,CAAC;AAHD,4BAGC;AAED,SAAgB,WAAW,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,8BAAe,CAAC,OAAO,KAAK,EAAE,sBAAsB,CAAC,CAAA;IACjE,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;QACpC,MAAM,IAAI,8BAAe,CACvB,KAAK,EACL,mBAAmB,cAAc,kBAAkB,CACpD,CAAA;IACH,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,8BAAe,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,CAAS,CAAA;IACb,KAAK,IAAI,CAAC,GAAG,qBAAqB,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5D,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QACvB,6BAA6B;QAC7B,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,8BAAe,CAAC,KAAK,EAAE,iCAAiC,CAAC,EAAE,CAAC,CAAA;QACxE,CAAC;IACH,CAAC;AACH,CAAC;AAxBD,kCAwBC"}
|
package/dist/methods/web.d.ts
CHANGED
|
@@ -2,15 +2,10 @@ import { Did } from '../did.js';
|
|
|
2
2
|
export declare const DID_WEB_PREFIX = "did:web:";
|
|
3
3
|
/**
|
|
4
4
|
* This function checks if the input is a valid Web DID, as per DID spec.
|
|
5
|
-
* ATPROTO adds additional constraints to allowed DID values for the `did:web`
|
|
6
|
-
* method. Use {@link isAtprotoDidWeb} if that's what you need.
|
|
7
5
|
*/
|
|
8
6
|
export declare function isDidWeb(input: unknown): input is Did<'web'>;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
*/
|
|
12
|
-
export declare function isAtprotoDidWeb(input: unknown): input is Did<'web'>;
|
|
13
|
-
export declare function checkDidWeb(input: string): asserts input is Did<'web'>;
|
|
7
|
+
export declare function asDidWeb(input: unknown): Did<'web'>;
|
|
8
|
+
export declare function checkDidWeb(input: unknown): asserts input is Did<'web'>;
|
|
14
9
|
export declare function didWebToUrl(did: string): URL;
|
|
15
10
|
export declare function urlToDidWeb(url: URL): Did<'web'>;
|
|
16
11
|
//# sourceMappingURL=web.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/methods/web.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAgB,MAAM,WAAW,CAAA;AAE7C,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/methods/web.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAgB,MAAM,WAAW,CAAA;AAE7C,eAAO,MAAM,cAAc,aAAkC,CAAA;AAE7D;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,CAU5D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAGnD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,CAMvE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAmB5C;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAOhD"}
|
package/dist/methods/web.js
CHANGED
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.urlToDidWeb = exports.didWebToUrl = exports.checkDidWeb = exports.
|
|
3
|
+
exports.urlToDidWeb = exports.didWebToUrl = exports.checkDidWeb = exports.asDidWeb = exports.isDidWeb = exports.DID_WEB_PREFIX = void 0;
|
|
4
4
|
const did_error_js_1 = require("../did-error.js");
|
|
5
5
|
const did_js_1 = require("../did.js");
|
|
6
6
|
exports.DID_WEB_PREFIX = `did:web:`;
|
|
7
7
|
/**
|
|
8
8
|
* This function checks if the input is a valid Web DID, as per DID spec.
|
|
9
|
-
* ATPROTO adds additional constraints to allowed DID values for the `did:web`
|
|
10
|
-
* method. Use {@link isAtprotoDidWeb} if that's what you need.
|
|
11
9
|
*/
|
|
12
10
|
function isDidWeb(input) {
|
|
11
|
+
// Optimization: make cheap checks first
|
|
13
12
|
if (typeof input !== 'string')
|
|
14
13
|
return false;
|
|
15
14
|
try {
|
|
16
|
-
|
|
15
|
+
checkDidWeb(input);
|
|
17
16
|
return true;
|
|
18
17
|
}
|
|
19
18
|
catch {
|
|
@@ -21,28 +20,16 @@ function isDidWeb(input) {
|
|
|
21
20
|
}
|
|
22
21
|
}
|
|
23
22
|
exports.isDidWeb = isDidWeb;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
function isAtprotoDidWeb(input) {
|
|
28
|
-
// Optimization: make cheap checks first
|
|
29
|
-
if (typeof input !== 'string') {
|
|
30
|
-
return false;
|
|
31
|
-
}
|
|
32
|
-
// Path are not allowed
|
|
33
|
-
if (input.includes(':', exports.DID_WEB_PREFIX.length)) {
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
// Port numbers are not allowed, except for localhost
|
|
37
|
-
if (input.includes('%3A', exports.DID_WEB_PREFIX.length) &&
|
|
38
|
-
!input.startsWith('did:web:localhost%3A')) {
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
return isDidWeb(input);
|
|
23
|
+
function asDidWeb(input) {
|
|
24
|
+
checkDidWeb(input);
|
|
25
|
+
return input;
|
|
42
26
|
}
|
|
43
|
-
exports.
|
|
27
|
+
exports.asDidWeb = asDidWeb;
|
|
44
28
|
function checkDidWeb(input) {
|
|
45
|
-
|
|
29
|
+
if (typeof input !== 'string') {
|
|
30
|
+
throw new did_error_js_1.InvalidDidError(typeof input, `DID must be a string`);
|
|
31
|
+
}
|
|
32
|
+
void didWebToUrl(input);
|
|
46
33
|
}
|
|
47
34
|
exports.checkDidWeb = checkDidWeb;
|
|
48
35
|
function didWebToUrl(did) {
|
package/dist/methods/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/methods/web.ts"],"names":[],"mappings":";;;AAAA,kDAAiD;AACjD,sCAA6C;AAEhC,QAAA,cAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/methods/web.ts"],"names":[],"mappings":";;;AAAA,kDAAiD;AACjD,sCAA6C;AAEhC,QAAA,cAAc,GAAG,UAA+B,CAAA;AAE7D;;GAEG;AACH,SAAgB,QAAQ,CAAC,KAAc;IACrC,wCAAwC;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE3C,IAAI,CAAC;QACH,WAAW,CAAC,KAAK,CAAC,CAAA;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAVD,4BAUC;AAED,SAAgB,QAAQ,CAAC,KAAc;IACrC,WAAW,CAAC,KAAK,CAAC,CAAA;IAClB,OAAO,KAAK,CAAA;AACd,CAAC;AAHD,4BAGC;AAED,SAAgB,WAAW,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,8BAAe,CAAC,OAAO,KAAK,EAAE,sBAAsB,CAAC,CAAA;IACjE,CAAC;IAED,KAAK,WAAW,CAAC,KAAK,CAAC,CAAA;AACzB,CAAC;AAND,kCAMC;AAED,SAAgB,WAAW,CAAC,GAAW;IACrC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,sBAAc,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,8BAAe,CAAC,GAAG,EAAE,2BAA2B,sBAAc,EAAE,CAAC,CAAA;IAC7E,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,CAAC,sBAAc,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;QAC9C,MAAM,IAAI,8BAAe,CAAC,GAAG,EAAE,0CAA0C,CAAC,CAAA;IAC5E,CAAC;IAED,+CAA+C;IAC/C,IAAA,qBAAY,EAAC,GAAG,EAAE,sBAAc,CAAC,MAAM,CAAC,CAAA;IAExC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,sBAAc,CAAC,MAAM,CAAC,CAAA;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QACrD,OAAO,IAAI,GAAG,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,8BAAe,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAA;IAC1D,CAAC;AACH,CAAC;AAnBD,kCAmBC;AAED,SAAgB,WAAW,CAAC,GAAQ;IAClC,MAAM,IAAI,GACR,GAAG,CAAC,QAAQ,KAAK,GAAG;QAClB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAExE,OAAO,WAAW,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;AAC3E,CAAC;AAPD,kCAOC"}
|
package/package.json
CHANGED
package/src/atproto.ts
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { InvalidDidError } from './did-error.js'
|
|
2
|
+
import { Did } from './did.js'
|
|
3
|
+
import {
|
|
4
|
+
checkDidPlc,
|
|
5
|
+
checkDidWeb,
|
|
6
|
+
DID_PLC_PREFIX,
|
|
7
|
+
DID_WEB_PREFIX,
|
|
8
|
+
isDidPlc,
|
|
9
|
+
isDidWeb,
|
|
10
|
+
} from './methods.js'
|
|
11
|
+
|
|
12
|
+
// This file contains atproto-specific DID validation utilities.
|
|
13
|
+
|
|
14
|
+
export type AtprotoIdentityDidMethods = 'plc' | 'web'
|
|
15
|
+
export type AtprotoDid = Did<AtprotoIdentityDidMethods>
|
|
16
|
+
|
|
17
|
+
export function isAtprotoDid(input: unknown): input is AtprotoDid {
|
|
18
|
+
// Optimized equivalent of:
|
|
19
|
+
// return isDidPlc(input) || isAtprotoDidWeb(input)
|
|
20
|
+
|
|
21
|
+
if (typeof input !== 'string') {
|
|
22
|
+
return false
|
|
23
|
+
} else if (input.startsWith(DID_PLC_PREFIX)) {
|
|
24
|
+
return isDidPlc(input)
|
|
25
|
+
} else if (input.startsWith(DID_WEB_PREFIX)) {
|
|
26
|
+
return isAtprotoDidWeb(input)
|
|
27
|
+
} else {
|
|
28
|
+
return false
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function asAtprotoDid(input: unknown): AtprotoDid {
|
|
33
|
+
checkAtprotoDid(input)
|
|
34
|
+
return input
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export function checkAtprotoDid(input: unknown): asserts input is AtprotoDid {
|
|
38
|
+
if (typeof input !== 'string') {
|
|
39
|
+
throw new InvalidDidError(typeof input, `DID must be a string`)
|
|
40
|
+
} else if (input.startsWith(DID_PLC_PREFIX)) {
|
|
41
|
+
checkDidPlc(input)
|
|
42
|
+
} else if (input.startsWith(DID_WEB_PREFIX)) {
|
|
43
|
+
checkDidWeb(input)
|
|
44
|
+
} else {
|
|
45
|
+
throw new InvalidDidError(
|
|
46
|
+
input,
|
|
47
|
+
`Atproto only allows "plc" and "web" DID methods`,
|
|
48
|
+
)
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* @see {@link https://atproto.com/specs/did#blessed-did-methods}
|
|
54
|
+
*/
|
|
55
|
+
export function isAtprotoDidWeb(input: unknown): input is Did<'web'> {
|
|
56
|
+
// Optimization: make cheap checks first
|
|
57
|
+
if (typeof input !== 'string') {
|
|
58
|
+
return false
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// Path are not allowed
|
|
62
|
+
if (input.includes(':', DID_WEB_PREFIX.length)) {
|
|
63
|
+
return false
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// Port numbers are not allowed, except for localhost
|
|
67
|
+
if (
|
|
68
|
+
input.includes('%3A', DID_WEB_PREFIX.length) &&
|
|
69
|
+
!input.startsWith('did:web:localhost%3A')
|
|
70
|
+
) {
|
|
71
|
+
return false
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return isDidWeb(input)
|
|
75
|
+
}
|
package/src/did.ts
CHANGED
|
@@ -238,10 +238,17 @@ export function isDid(input: unknown): input is Did {
|
|
|
238
238
|
if (err instanceof DidError) {
|
|
239
239
|
return false
|
|
240
240
|
}
|
|
241
|
+
|
|
242
|
+
// Unexpected TypeError (should never happen)
|
|
241
243
|
throw err
|
|
242
244
|
}
|
|
243
245
|
}
|
|
244
246
|
|
|
247
|
+
export function asDid(input: unknown): Did {
|
|
248
|
+
checkDid(input)
|
|
249
|
+
return input
|
|
250
|
+
}
|
|
251
|
+
|
|
245
252
|
export const didSchema = z
|
|
246
253
|
.string()
|
|
247
254
|
.superRefine((value: string, ctx: z.RefinementCtx): value is Did => {
|
package/src/index.ts
CHANGED
package/src/methods/plc.ts
CHANGED
|
@@ -8,7 +8,9 @@ const DID_PLC_LENGTH = 32
|
|
|
8
8
|
export { DID_PLC_PREFIX }
|
|
9
9
|
|
|
10
10
|
export function isDidPlc(input: unknown): input is Did<'plc'> {
|
|
11
|
+
// Optimization: make cheap checks first
|
|
11
12
|
if (typeof input !== 'string') return false
|
|
13
|
+
|
|
12
14
|
try {
|
|
13
15
|
checkDidPlc(input)
|
|
14
16
|
return true
|
|
@@ -17,7 +19,16 @@ export function isDidPlc(input: unknown): input is Did<'plc'> {
|
|
|
17
19
|
}
|
|
18
20
|
}
|
|
19
21
|
|
|
20
|
-
export function
|
|
22
|
+
export function asDidPlc(input: unknown): Did<'plc'> {
|
|
23
|
+
checkDidPlc(input)
|
|
24
|
+
return input
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function checkDidPlc(input: unknown): asserts input is Did<'plc'> {
|
|
28
|
+
if (typeof input !== 'string') {
|
|
29
|
+
throw new InvalidDidError(typeof input, `DID must be a string`)
|
|
30
|
+
}
|
|
31
|
+
|
|
21
32
|
if (input.length !== DID_PLC_LENGTH) {
|
|
22
33
|
throw new InvalidDidError(
|
|
23
34
|
input,
|
package/src/methods/web.ts
CHANGED
|
@@ -1,50 +1,34 @@
|
|
|
1
1
|
import { InvalidDidError } from '../did-error.js'
|
|
2
2
|
import { Did, checkDidMsid } from '../did.js'
|
|
3
3
|
|
|
4
|
-
export const DID_WEB_PREFIX = `did:web:`
|
|
4
|
+
export const DID_WEB_PREFIX = `did:web:` satisfies Did<'web'>
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* This function checks if the input is a valid Web DID, as per DID spec.
|
|
8
|
-
* ATPROTO adds additional constraints to allowed DID values for the `did:web`
|
|
9
|
-
* method. Use {@link isAtprotoDidWeb} if that's what you need.
|
|
10
8
|
*/
|
|
11
9
|
export function isDidWeb(input: unknown): input is Did<'web'> {
|
|
10
|
+
// Optimization: make cheap checks first
|
|
12
11
|
if (typeof input !== 'string') return false
|
|
12
|
+
|
|
13
13
|
try {
|
|
14
|
-
|
|
14
|
+
checkDidWeb(input)
|
|
15
15
|
return true
|
|
16
16
|
} catch {
|
|
17
17
|
return false
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
// Optimization: make cheap checks first
|
|
26
|
-
if (typeof input !== 'string') {
|
|
27
|
-
return false
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// Path are not allowed
|
|
31
|
-
if (input.includes(':', DID_WEB_PREFIX.length)) {
|
|
32
|
-
return false
|
|
33
|
-
}
|
|
21
|
+
export function asDidWeb(input: unknown): Did<'web'> {
|
|
22
|
+
checkDidWeb(input)
|
|
23
|
+
return input
|
|
24
|
+
}
|
|
34
25
|
|
|
35
|
-
|
|
36
|
-
if (
|
|
37
|
-
input
|
|
38
|
-
!input.startsWith('did:web:localhost%3A')
|
|
39
|
-
) {
|
|
40
|
-
return false
|
|
26
|
+
export function checkDidWeb(input: unknown): asserts input is Did<'web'> {
|
|
27
|
+
if (typeof input !== 'string') {
|
|
28
|
+
throw new InvalidDidError(typeof input, `DID must be a string`)
|
|
41
29
|
}
|
|
42
30
|
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export function checkDidWeb(input: string): asserts input is Did<'web'> {
|
|
47
|
-
didWebToUrl(input)
|
|
31
|
+
void didWebToUrl(input)
|
|
48
32
|
}
|
|
49
33
|
|
|
50
34
|
export function didWebToUrl(did: string): URL {
|