@enbox/dids 0.0.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/LICENSE +201 -0
- package/README.md +1 -0
- package/dist/browser.js +77 -0
- package/dist/browser.js.map +7 -0
- package/dist/browser.mjs +77 -0
- package/dist/browser.mjs.map +7 -0
- package/dist/cjs/index.js +6303 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/utils.js +245 -0
- package/dist/cjs/utils.js.map +7 -0
- package/dist/esm/bearer-did.js +201 -0
- package/dist/esm/bearer-did.js.map +1 -0
- package/dist/esm/did-error.js +62 -0
- package/dist/esm/did-error.js.map +1 -0
- package/dist/esm/did.js +114 -0
- package/dist/esm/did.js.map +1 -0
- package/dist/esm/index.js +16 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/methods/did-dht.js +1241 -0
- package/dist/esm/methods/did-dht.js.map +1 -0
- package/dist/esm/methods/did-ion.js +570 -0
- package/dist/esm/methods/did-ion.js.map +1 -0
- package/dist/esm/methods/did-jwk.js +298 -0
- package/dist/esm/methods/did-jwk.js.map +1 -0
- package/dist/esm/methods/did-key.js +983 -0
- package/dist/esm/methods/did-key.js.map +1 -0
- package/dist/esm/methods/did-method.js +53 -0
- package/dist/esm/methods/did-method.js.map +1 -0
- package/dist/esm/methods/did-web.js +83 -0
- package/dist/esm/methods/did-web.js.map +1 -0
- package/dist/esm/resolver/resolver-cache-level.js +101 -0
- package/dist/esm/resolver/resolver-cache-level.js.map +1 -0
- package/dist/esm/resolver/resolver-cache-noop.js +24 -0
- package/dist/esm/resolver/resolver-cache-noop.js.map +1 -0
- package/dist/esm/resolver/universal-resolver.js +187 -0
- package/dist/esm/resolver/universal-resolver.js.map +1 -0
- package/dist/esm/types/did-core.js +51 -0
- package/dist/esm/types/did-core.js.map +1 -0
- package/dist/esm/types/did-resolution.js +12 -0
- package/dist/esm/types/did-resolution.js.map +1 -0
- package/dist/esm/types/multibase.js +2 -0
- package/dist/esm/types/multibase.js.map +1 -0
- package/dist/esm/types/portable-did.js +2 -0
- package/dist/esm/types/portable-did.js.map +1 -0
- package/dist/esm/utils.js +458 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/types/bearer-did.d.ts +143 -0
- package/dist/types/bearer-did.d.ts.map +1 -0
- package/dist/types/did-error.d.ts +50 -0
- package/dist/types/did-error.d.ts.map +1 -0
- package/dist/types/did.d.ts +125 -0
- package/dist/types/did.d.ts.map +1 -0
- package/dist/types/index.d.ts +18 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/methods/did-dht.d.ts +682 -0
- package/dist/types/methods/did-dht.d.ts.map +1 -0
- package/dist/types/methods/did-ion.d.ts +492 -0
- package/dist/types/methods/did-ion.d.ts.map +1 -0
- package/dist/types/methods/did-jwk.d.ts +236 -0
- package/dist/types/methods/did-jwk.d.ts.map +1 -0
- package/dist/types/methods/did-key.d.ts +499 -0
- package/dist/types/methods/did-key.d.ts.map +1 -0
- package/dist/types/methods/did-method.d.ts +238 -0
- package/dist/types/methods/did-method.d.ts.map +1 -0
- package/dist/types/methods/did-web.d.ts +37 -0
- package/dist/types/methods/did-web.d.ts.map +1 -0
- package/dist/types/resolver/resolver-cache-level.d.ts +86 -0
- package/dist/types/resolver/resolver-cache-level.d.ts.map +1 -0
- package/dist/types/resolver/resolver-cache-noop.d.ts +9 -0
- package/dist/types/resolver/resolver-cache-noop.d.ts.map +1 -0
- package/dist/types/resolver/universal-resolver.d.ts +109 -0
- package/dist/types/resolver/universal-resolver.d.ts.map +1 -0
- package/dist/types/types/did-core.d.ts +523 -0
- package/dist/types/types/did-core.d.ts.map +1 -0
- package/dist/types/types/did-resolution.d.ts +85 -0
- package/dist/types/types/did-resolution.d.ts.map +1 -0
- package/dist/types/types/multibase.d.ts +28 -0
- package/dist/types/types/multibase.d.ts.map +1 -0
- package/dist/types/types/portable-did.d.ts +59 -0
- package/dist/types/types/portable-did.d.ts.map +1 -0
- package/dist/types/utils.d.ts +378 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/dist/utils.js +28 -0
- package/dist/utils.js.map +7 -0
- package/package.json +116 -0
- package/src/bearer-did.ts +287 -0
- package/src/did-error.ts +75 -0
- package/src/did.ts +186 -0
- package/src/index.ts +21 -0
- package/src/methods/did-dht.ts +1637 -0
- package/src/methods/did-ion.ts +887 -0
- package/src/methods/did-jwk.ts +410 -0
- package/src/methods/did-key.ts +1248 -0
- package/src/methods/did-method.ts +276 -0
- package/src/methods/did-web.ts +96 -0
- package/src/resolver/resolver-cache-level.ts +163 -0
- package/src/resolver/resolver-cache-noop.ts +26 -0
- package/src/resolver/universal-resolver.ts +238 -0
- package/src/types/did-core.ts +580 -0
- package/src/types/did-resolution.ts +93 -0
- package/src/types/multibase.ts +29 -0
- package/src/types/portable-did.ts +64 -0
- package/src/utils.ts +532 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `Did` class represents a Decentralized Identifier (DID) Uniform Resource Identifier (URI).
|
|
3
|
+
*
|
|
4
|
+
* This class provides a method for parsing a DID URI string into its component parts, as well as a
|
|
5
|
+
* method for serializing a DID URI object into a string.
|
|
6
|
+
*
|
|
7
|
+
* A DID URI is composed of the following components:
|
|
8
|
+
* - scheme
|
|
9
|
+
* - method
|
|
10
|
+
* - id
|
|
11
|
+
* - path
|
|
12
|
+
* - query
|
|
13
|
+
* - fragment
|
|
14
|
+
* - params
|
|
15
|
+
*
|
|
16
|
+
* @see {@link https://www.w3.org/TR/did-core/#did-syntax | DID Core Specification, § DID Syntax}
|
|
17
|
+
*/
|
|
18
|
+
export declare class Did {
|
|
19
|
+
/** Regular expression pattern for matching the method component of a DID URI. */
|
|
20
|
+
static readonly METHOD_PATTERN = "([a-z0-9]+)";
|
|
21
|
+
/** Regular expression pattern for matching percent-encoded characters in a method identifier. */
|
|
22
|
+
static readonly PCT_ENCODED_PATTERN = "(?:%[0-9a-fA-F]{2})";
|
|
23
|
+
/** Regular expression pattern for matching the characters allowed in a method identifier. */
|
|
24
|
+
static readonly ID_CHAR_PATTERN: string;
|
|
25
|
+
/** Regular expression pattern for matching the method identifier component of a DID URI. */
|
|
26
|
+
static readonly METHOD_ID_PATTERN: string;
|
|
27
|
+
/** Regular expression pattern for matching the path component of a DID URI. */
|
|
28
|
+
static readonly PATH_PATTERN = "(/[^#?]*)?";
|
|
29
|
+
/** Regular expression pattern for matching the query component of a DID URI. */
|
|
30
|
+
static readonly QUERY_PATTERN = "([?][^#]*)?";
|
|
31
|
+
/** Regular expression pattern for matching the fragment component of a DID URI. */
|
|
32
|
+
static readonly FRAGMENT_PATTERN = "(#.*)?";
|
|
33
|
+
/** Regular expression pattern for matching all of the components of a DID URI. */
|
|
34
|
+
static readonly DID_URI_PATTERN: RegExp;
|
|
35
|
+
/**
|
|
36
|
+
* A string representation of the DID.
|
|
37
|
+
*
|
|
38
|
+
* A DID is a URI composed of three parts: the scheme `did:`, a method identifier, and a unique,
|
|
39
|
+
* method-specific identifier specified by the DID method.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* did:dht:h4d3ixkwt6q5a455tucw7j14jmqyghdtbr6cpiz6on5oxj5bpr3o
|
|
43
|
+
*/
|
|
44
|
+
uri: string;
|
|
45
|
+
/**
|
|
46
|
+
* The name of the DID method.
|
|
47
|
+
*
|
|
48
|
+
* Examples of DID method names are `dht`, `jwk`, and `web`, among others.
|
|
49
|
+
*/
|
|
50
|
+
method: string;
|
|
51
|
+
/**
|
|
52
|
+
* The DID method identifier.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* h4d3ixkwt6q5a455tucw7j14jmqyghdtbr6cpiz6on5oxj5bpr3o
|
|
56
|
+
*/
|
|
57
|
+
id: string;
|
|
58
|
+
/**
|
|
59
|
+
* Optional path component of the DID URI.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* did:web:tbd.website/path
|
|
63
|
+
*/
|
|
64
|
+
path?: string;
|
|
65
|
+
/**
|
|
66
|
+
* Optional query component of the DID URI.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* did:web:tbd.website?versionId=1
|
|
70
|
+
*/
|
|
71
|
+
query?: string;
|
|
72
|
+
/**
|
|
73
|
+
* Optional fragment component of the DID URI.
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* did:web:tbd.website#key-1
|
|
77
|
+
*/
|
|
78
|
+
fragment?: string;
|
|
79
|
+
/**
|
|
80
|
+
* Optional query parameters in the DID URI.
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* did:web:tbd.website?service=files&relativeRef=/whitepaper.pdf
|
|
84
|
+
*/
|
|
85
|
+
params?: Record<string, string>;
|
|
86
|
+
/**
|
|
87
|
+
* Constructs a new `Did` instance from individual components.
|
|
88
|
+
*
|
|
89
|
+
* @param params - An object containing the parameters to be included in the DID URI.
|
|
90
|
+
* @param params.method - The name of the DID method.
|
|
91
|
+
* @param params.id - The DID method identifier.
|
|
92
|
+
* @param params.path - Optional. The path component of the DID URI.
|
|
93
|
+
* @param params.query - Optional. The query component of the DID URI.
|
|
94
|
+
* @param params.fragment - Optional. The fragment component of the DID URI.
|
|
95
|
+
* @param params.params - Optional. The query parameters in the DID URI.
|
|
96
|
+
*/
|
|
97
|
+
constructor({ method, id, path, query, fragment, params }: {
|
|
98
|
+
method: string;
|
|
99
|
+
id: string;
|
|
100
|
+
path?: string;
|
|
101
|
+
query?: string;
|
|
102
|
+
fragment?: string;
|
|
103
|
+
params?: Record<string, string>;
|
|
104
|
+
});
|
|
105
|
+
/**
|
|
106
|
+
* Parses a DID URI string into its individual components.
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```ts
|
|
110
|
+
* const did = Did.parse('did:example:123?service=agent&relativeRef=/credentials#degree');
|
|
111
|
+
*
|
|
112
|
+
* console.log(did.uri) // Output: 'did:example:123'
|
|
113
|
+
* console.log(did.method) // Output: 'example'
|
|
114
|
+
* console.log(did.id) // Output: '123'
|
|
115
|
+
* console.log(did.query) // Output: 'service=agent&relativeRef=/credentials'
|
|
116
|
+
* console.log(did.fragment) // Output: 'degree'
|
|
117
|
+
* console.log(did.params) // Output: { service: 'agent', relativeRef: '/credentials' }
|
|
118
|
+
* ```
|
|
119
|
+
*
|
|
120
|
+
* @params didUri - The DID URI string to be parsed.
|
|
121
|
+
* @returns A `Did` object representing the parsed DID URI, or `null` if the input string is not a valid DID URI.
|
|
122
|
+
*/
|
|
123
|
+
static parse(didUri: string): Did | null;
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=did.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"did.d.ts","sourceRoot":"","sources":["../../src/did.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,GAAG;IACd,iFAAiF;IACjF,MAAM,CAAC,QAAQ,CAAC,cAAc,iBAAiB;IAC/C,iGAAiG;IACjG,MAAM,CAAC,QAAQ,CAAC,mBAAmB,yBAAyB;IAC5D,6FAA6F;IAC7F,MAAM,CAAC,QAAQ,CAAC,eAAe,SAAmD;IAClF,4FAA4F;IAC5F,MAAM,CAAC,QAAQ,CAAC,iBAAiB,SAA8D;IAC/F,+EAA+E;IAC/E,MAAM,CAAC,QAAQ,CAAC,YAAY,gBAAgB;IAC5C,gFAAgF;IAChF,MAAM,CAAC,QAAQ,CAAC,aAAa,iBAAiB;IAC9C,mFAAmF;IACnF,MAAM,CAAC,QAAQ,CAAC,gBAAgB,YAAY;IAC5C,kFAAkF;IAClF,MAAM,CAAC,QAAQ,CAAC,eAAe,SAE7B;IAEF;;;;;;;;OAQG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;;;UAKM;IACN,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;UAKM;IACN,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;QAKI;IACJ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC;;;;;;;;;;OAUG;gBACS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;QACzD,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAChC;IAUD;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI;CA4CzC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export * from './types/did-core.js';
|
|
2
|
+
export * from './types/did-resolution.js';
|
|
3
|
+
export type * from './types/multibase.js';
|
|
4
|
+
export type * from './types/portable-did.js';
|
|
5
|
+
export * from './did.js';
|
|
6
|
+
export * from './did-error.js';
|
|
7
|
+
export * from './bearer-did.js';
|
|
8
|
+
export * from './methods/did-dht.js';
|
|
9
|
+
export * from './methods/did-ion.js';
|
|
10
|
+
export * from './methods/did-jwk.js';
|
|
11
|
+
export * from './methods/did-key.js';
|
|
12
|
+
export * from './methods/did-method.js';
|
|
13
|
+
export * from './methods/did-web.js';
|
|
14
|
+
export * from './resolver/resolver-cache-level.js';
|
|
15
|
+
export * from './resolver/resolver-cache-noop.js';
|
|
16
|
+
export * from './resolver/universal-resolver.js';
|
|
17
|
+
export * as utils from './utils.js';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,mBAAmB,sBAAsB,CAAC;AAC1C,mBAAmB,yBAAyB,CAAC;AAE7C,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AAErC,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AAEjD,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC"}
|