@did-btcr2/common 1.1.0 → 2.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/dist/cjs/constants.js +4 -4
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/errors.js +50 -50
- package/dist/cjs/errors.js.map +1 -1
- package/dist/cjs/logger.js +0 -18
- package/dist/cjs/logger.js.map +1 -1
- package/dist/cjs/patch.js +3 -3
- package/dist/cjs/patch.js.map +1 -1
- package/dist/cjs/types.js +10 -10
- package/dist/cjs/types.js.map +1 -1
- package/dist/esm/constants.js +4 -4
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/errors.js +50 -50
- package/dist/esm/errors.js.map +1 -1
- package/dist/esm/logger.js +0 -18
- package/dist/esm/logger.js.map +1 -1
- package/dist/esm/patch.js +3 -3
- package/dist/esm/patch.js.map +1 -1
- package/dist/esm/types.js +10 -10
- package/dist/esm/types.js.map +1 -1
- package/dist/types/constants.d.ts +4 -4
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/errors.d.ts +17 -17
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/interfaces.d.ts +6 -6
- package/dist/types/interfaces.d.ts.map +1 -1
- package/dist/types/logger.d.ts +0 -4
- package/dist/types/logger.d.ts.map +1 -1
- package/dist/types/types.d.ts +10 -10
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/constants.ts +4 -4
- package/src/errors.ts +23 -23
- package/src/interfaces.ts +6 -6
- package/src/logger.ts +0 -21
- package/src/patch.ts +3 -3
- package/src/types.ts +10 -10
- package/dist/cjs/logger.browser.js +0 -77
- package/dist/cjs/logger.browser.js.map +0 -1
- package/dist/esm/logger.browser.js +0 -77
- package/dist/esm/logger.browser.js.map +0 -1
- package/dist/types/logger.browser.d.ts +0 -28
- package/dist/types/logger.browser.d.ts.map +0 -1
- package/src/logger.browser.ts +0 -92
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAGrC,MAAM,MAAM,GAAG,GAAG,UAAU,GAAG,MAAM,CAAC;AACtC,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC;AAC/B,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC;AAE1B,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC;AAC/B,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC;AAClC,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC;AACnC,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC;AAC/B,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC;AAC9B,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC;AACjC,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAErC,MAAM,MAAM,6BAA6B,GAAG,IAAI,GAAG,IAAI,CAAC;AACxD,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AACpC,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC;AAElC,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC;AAC7B,MAAM,MAAM,KAAK,GAAG;IAClB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAA;AACD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,EAAE,eAAe,CAAC;CAC5B,CAAC;AACF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,GAAG,CAAC;CACX,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,QAAQ,CAAC;IACpB,SAAS,EAAE,QAAQ,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,eAAe,CAAC;IAC3B,SAAS,EAAE,eAAe,CAAC;CAC5B,CAAC;AACF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC;IACd,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAA;CACf,CAAC;AAGF,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC;AACxB,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAChC,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AACtC,MAAM,MAAM,+BAA+B,GAAG,GAAG,GAAG,IAAI,UAAU,IAAI,gBAAgB,EAAE,CAAC;AACzF,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAC7C,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED
|
@@ -64,7 +64,7 @@ export const W3C_DID_V1_1 = 'https://www.w3.org/TR/did-1.1';
|
|
|
64
64
|
export const W3C_DATA_INTEGRITY_V1 = 'https://w3id.org/security/data-integrity/v1';
|
|
65
65
|
export const W3C_DATA_INTEGRITY_V2 = 'https://w3id.org/security/data-integrity/v2';
|
|
66
66
|
export const W3C_SECURITY_V2 = 'https://w3id.org/security/v2';
|
|
67
|
-
export const
|
|
67
|
+
export const BTCR2_METHOD_CONTEXT = 'https://btcr2.dev/context/v1';
|
|
68
68
|
export const W3C_ZCAP_V1 = 'https://w3id.org/zcap/v1';
|
|
69
69
|
export const W3C_JSONLD_PATCH_V1 = 'https://w3id.org/json-ld-patch/v1';
|
|
70
70
|
export const W3C_MULTIKEY_V1 = 'https://w3id.org/security/multikey/v1';
|
|
@@ -106,17 +106,17 @@ export const CONTEXT_URL_MAP = {
|
|
|
106
106
|
|
|
107
107
|
};
|
|
108
108
|
|
|
109
|
-
export const
|
|
109
|
+
export const BTCR2_DID_DOCUMENT_CONTEXT = [
|
|
110
110
|
CONTEXT_URL_MAP.w3c.did.v1_1,
|
|
111
111
|
CONTEXT_URL_MAP.btcr2.method.v1,
|
|
112
112
|
];
|
|
113
113
|
|
|
114
|
-
export const
|
|
114
|
+
export const BTCR2_MULTIKEY_CONTEXT = [
|
|
115
115
|
CONTEXT_URL_MAP.w3c.did.v1,
|
|
116
116
|
CONTEXT_URL_MAP.w3c.multikey.v1
|
|
117
117
|
];
|
|
118
118
|
|
|
119
|
-
export const
|
|
119
|
+
export const BTCR2_DID_UPDATE_PAYLOAD_CONTEXT = [
|
|
120
120
|
CONTEXT_URL_MAP.w3c.security.v2,
|
|
121
121
|
CONTEXT_URL_MAP.w3c.zcap.v1,
|
|
122
122
|
CONTEXT_URL_MAP.w3c.jsonldpatch.v1,
|
package/src/errors.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* An enumeration of possible DID error codes.
|
|
3
3
|
*/
|
|
4
|
-
export enum
|
|
4
|
+
export enum Btcr2ErrorCode {
|
|
5
5
|
/** The DID supplied does not conform to valid syntax. */
|
|
6
6
|
INVALID_DID = 'INVALID_DID',
|
|
7
7
|
|
|
@@ -108,7 +108,7 @@ export const {
|
|
|
108
108
|
INVALID_SIDECAR_DATA,
|
|
109
109
|
INVALID_CHALLENGE_ERROR,
|
|
110
110
|
INVALID_DOMAIN_ERROR
|
|
111
|
-
} =
|
|
111
|
+
} = Btcr2ErrorCode;
|
|
112
112
|
|
|
113
113
|
export type ErrorOptions = {
|
|
114
114
|
type?: string;
|
|
@@ -116,9 +116,9 @@ export type ErrorOptions = {
|
|
|
116
116
|
data?: any;
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
export class
|
|
120
|
-
name: string = '
|
|
121
|
-
type: string = '
|
|
119
|
+
export class DidBtcr2Error extends Error {
|
|
120
|
+
name: string = 'DidBtcr2Error';
|
|
121
|
+
type: string = 'DidBtcr2Error';
|
|
122
122
|
data?: Record<string, any>;
|
|
123
123
|
|
|
124
124
|
constructor(message: string, options: ErrorOptions = {}) {
|
|
@@ -134,90 +134,90 @@ export class DidBtc1Error extends Error {
|
|
|
134
134
|
// Captures the stack trace in V8 engines (like Chrome, Edge, and Node.js).
|
|
135
135
|
// In non-V8 environments, the stack trace will still be captured.
|
|
136
136
|
if (Error.captureStackTrace) {
|
|
137
|
-
Error.captureStackTrace(this,
|
|
137
|
+
Error.captureStackTrace(this, DidBtcr2Error);
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
export class
|
|
142
|
+
export class Btcr2Error extends DidBtcr2Error {
|
|
143
143
|
constructor(message: string, type: string, data?: Record<string, any>) {
|
|
144
144
|
super(message, { type, name: type, data });
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
export class
|
|
149
|
-
constructor(message: string, type: string = '
|
|
150
|
-
super(message, { type, name: '
|
|
148
|
+
export class Btcr2ReadError extends DidBtcr2Error {
|
|
149
|
+
constructor(message: string, type: string = 'Btcr2ReadError', data?: Record<string, any>) {
|
|
150
|
+
super(message, { type, name: 'Btcr2ReadError', data });
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
-
export class
|
|
155
|
-
constructor(message: string, type: string = '
|
|
154
|
+
export class Btcr2KeyManagerError extends DidBtcr2Error {
|
|
155
|
+
constructor(message: string, type: string = 'Btcr2KeyManagerError', data?: Record<string, any>) {
|
|
156
156
|
super(message, { type, name: type, data });
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
|
|
160
|
-
export class DidDocumentError extends
|
|
160
|
+
export class DidDocumentError extends DidBtcr2Error {
|
|
161
161
|
constructor(message: string, type: string = 'DidDocumentError', data?: Record<string, any>) {
|
|
162
162
|
super(message, { type, name: type, data });
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
|
|
166
|
-
export class CryptosuiteError extends
|
|
166
|
+
export class CryptosuiteError extends DidBtcr2Error {
|
|
167
167
|
constructor(message: string, type: string = 'CryptosuiteError', data?: Record<string, any>) {
|
|
168
168
|
super(message, { type, name: type, data });
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
|
|
172
|
-
export class KeyPairError extends
|
|
172
|
+
export class KeyPairError extends DidBtcr2Error {
|
|
173
173
|
constructor(message: string, type: string = 'KeyPairError', data?: Record<string, any>) {
|
|
174
174
|
super(message, { type, name: type, data });
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
177
|
|
|
178
|
-
export class SecretKeyError extends
|
|
178
|
+
export class SecretKeyError extends DidBtcr2Error {
|
|
179
179
|
constructor(message: string, type: string = 'SecretKeyError', data?: Record<string, any>) {
|
|
180
180
|
super(message, { type, name: type, data });
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
183
|
|
|
184
|
-
export class PublicKeyError extends
|
|
184
|
+
export class PublicKeyError extends DidBtcr2Error {
|
|
185
185
|
constructor(message: string, type: string = 'PublicKeyError', data?: Record<string, any>) {
|
|
186
186
|
super(message, { type, name: type, data });
|
|
187
187
|
}
|
|
188
188
|
}
|
|
189
189
|
|
|
190
|
-
export class MultikeyError extends
|
|
190
|
+
export class MultikeyError extends DidBtcr2Error {
|
|
191
191
|
constructor(message: string, type: string = 'MultikeyError', data?: Record<string, any>) {
|
|
192
192
|
super(message, { type, name: type, data });
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
195
|
|
|
196
|
-
export class ProofError extends
|
|
196
|
+
export class ProofError extends DidBtcr2Error {
|
|
197
197
|
constructor(message: string, type: string = 'ProofError', data?: Record<string, any>) {
|
|
198
198
|
super(message, { type, name: type, data });
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
201
|
|
|
202
|
-
export class SingletonBeaconError extends
|
|
202
|
+
export class SingletonBeaconError extends DidBtcr2Error {
|
|
203
203
|
constructor(message: string, type: string = 'SingletonBeaconError', data?: Record<string, any>) {
|
|
204
204
|
super(message, { type, name: type, data });
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
207
|
|
|
208
|
-
export class CIDAggregateBeaconError extends
|
|
208
|
+
export class CIDAggregateBeaconError extends DidBtcr2Error {
|
|
209
209
|
constructor(message: string, type: string = 'CIDAggregateBeaconError', data?: Record<string, any>) {
|
|
210
210
|
super(message, { type, name: type, data });
|
|
211
211
|
}
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
-
export class SMTAggregateBeaconError extends
|
|
214
|
+
export class SMTAggregateBeaconError extends DidBtcr2Error {
|
|
215
215
|
constructor(message: string, type: string = 'SMTAggregateBeaconError', data?: Record<string, any>) {
|
|
216
216
|
super(message, { type, name: type, data });
|
|
217
217
|
}
|
|
218
218
|
}
|
|
219
219
|
|
|
220
|
-
export class CanonicalizationError extends
|
|
220
|
+
export class CanonicalizationError extends DidBtcr2Error {
|
|
221
221
|
constructor(message: string, type: string = 'CanonicalizationError', data?: Record<string, any>) {
|
|
222
222
|
super(message, { type, name: type, data });
|
|
223
223
|
}
|
package/src/interfaces.ts
CHANGED
|
@@ -43,7 +43,7 @@ export interface PatchOperation {
|
|
|
43
43
|
* "cryptosuite": "schnorr-secp256k1-jcs-2025,
|
|
44
44
|
* "verificationMethod": "did:btcr2:k1qqpuwwde82nennsavvf0lqfnlvx7frrgzs57lchr02q8mz49qzaaxmqphnvcx#initialKey,
|
|
45
45
|
* "invocationTarget": "did:btcr2:k1qqpuwwde82nennsavvf0lqfnlvx7frrgzs57lchr02q8mz49qzaaxmqphnvcx,
|
|
46
|
-
* "capability": "urn:zcap:root:did%
|
|
46
|
+
* "capability": "urn:zcap:root:did%3Abtcr2%3Ak1qqpuwwde82nennsavvf0lqfnlvx7frrgzs57lchr02q8mz49qzaaxmqphnvcx,
|
|
47
47
|
* "capabilityAction": "Write,
|
|
48
48
|
* "proofPurpose": "assertionMethod,
|
|
49
49
|
* "proofValue": "z381yXYmxU8NudZ4HXY56DfMN6zfD8syvWcRXzT9xD9uYoQToo8QsXD7ahM3gXTzuay5WJbqTswt2BKaGWYn2hHhVFKJLXaD
|
|
@@ -102,7 +102,7 @@ export interface DidUpdatePayload {
|
|
|
102
102
|
* DID BTCR2
|
|
103
103
|
* {@link https://dcdpr.github.io/did-btcr2/#invoke-did-update-payload | 4.3.2 Invoke DID Update Payload}
|
|
104
104
|
* and
|
|
105
|
-
* {@link https://dcdpr.github.io/did-btcr2/#root-
|
|
105
|
+
* {@link https://dcdpr.github.io/did-btcr2/#root-didbtcr2-update-capabilities | 9.4 Root did:btcr2 Update Capabilities}.
|
|
106
106
|
*/
|
|
107
107
|
export interface DidUpdateInvocation extends DidUpdatePayload {
|
|
108
108
|
proof: Proof;
|
|
@@ -193,7 +193,7 @@ export interface DidUpdateBundle {
|
|
|
193
193
|
* The keys are did:btcr2 identifiers as strings. The values are
|
|
194
194
|
* IPFS CIDs (or other CAS IDs) referencing the actual DID Update Payload.
|
|
195
195
|
*/
|
|
196
|
-
[
|
|
196
|
+
[didbtcr2Identifier: string]: string;
|
|
197
197
|
}
|
|
198
198
|
|
|
199
199
|
/**
|
|
@@ -291,19 +291,19 @@ export interface BeaconSignal {
|
|
|
291
291
|
* A ZCAP-LD root capability object that authorizes updates for a particular did:btcr2.
|
|
292
292
|
*
|
|
293
293
|
* DID BTCR2
|
|
294
|
-
* {@link https://dcdpr.github.io/did-btcr2/#derive-root-capability-from-
|
|
294
|
+
* {@link https://dcdpr.github.io/did-btcr2/#derive-root-capability-from-didbtcr2-identifier | 9.4.1 Derive Root Capability from did:btcr2 Identifier}.
|
|
295
295
|
*
|
|
296
296
|
* @example Found in DID BTCR2 Specification Section 9.4.1
|
|
297
297
|
* ```
|
|
298
298
|
* {
|
|
299
299
|
* "@context": "https://w3id.org/zcap/v1",
|
|
300
|
-
* "id": "urn:zcap:root:did%
|
|
300
|
+
* "id": "urn:zcap:root:did%3Abtcr2%3Ak1qq...",
|
|
301
301
|
* "controller": "did:btcr2:k1qq...",
|
|
302
302
|
* "invocationTarget": "did:btcr2:k1qq..."
|
|
303
303
|
* }
|
|
304
304
|
* ```
|
|
305
305
|
*/
|
|
306
|
-
export interface
|
|
306
|
+
export interface DidBtcr2RootCapability {
|
|
307
307
|
'@context': string | string[]; // e.g. "https://w3id.org/zcap/v1"
|
|
308
308
|
id: string; // e.g. "urn:zcap:root:<urlencoded-did>"
|
|
309
309
|
controller: string; // the DID
|
package/src/logger.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import chalk, { ChalkInstance } from 'chalk';
|
|
2
|
-
import path from 'path';
|
|
3
2
|
|
|
4
3
|
export enum Env {
|
|
5
4
|
Development = 'development',
|
|
@@ -139,24 +138,4 @@ export class Logger {
|
|
|
139
138
|
public static newline() {
|
|
140
139
|
new Logger().newline();
|
|
141
140
|
}
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* Returns the caller's file and line number.
|
|
145
|
-
*/
|
|
146
|
-
private static getCallerLocation(): string {
|
|
147
|
-
const stack = new Error().stack?.split('\n');
|
|
148
|
-
if (!stack) return '';
|
|
149
|
-
|
|
150
|
-
// The first lines are irrelevant, we want the caller of the logger
|
|
151
|
-
const callerLine = stack[3] || stack[2] || '';
|
|
152
|
-
|
|
153
|
-
// Extract file path and line number
|
|
154
|
-
const match = callerLine.match(/\((.*):(\d+):(\d+)\)/);
|
|
155
|
-
if (!match) return '';
|
|
156
|
-
|
|
157
|
-
const filePath = match[1];
|
|
158
|
-
const lineNumber = match[2];
|
|
159
|
-
|
|
160
|
-
return `${path.basename(filePath)}:${lineNumber}`;
|
|
161
|
-
}
|
|
162
141
|
}
|
package/src/patch.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PatchOperation } from './interfaces.js';
|
|
2
2
|
import { JSONObject } from './types.js';
|
|
3
|
-
import {
|
|
3
|
+
import { Btcr2Error } from './errors.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Implementation of {@link https://datatracker.ietf.org/doc/html/rfc6902 | IETF RFC 6902 JSON Patch}.
|
|
@@ -59,12 +59,12 @@ export class Patch {
|
|
|
59
59
|
case 'test':{
|
|
60
60
|
const existingValue = this.getValue(patchedDocument, segments);
|
|
61
61
|
if (JSON.stringify(existingValue) !== JSON.stringify(value)) {
|
|
62
|
-
throw new
|
|
62
|
+
throw new Btcr2Error(`Test operation failed at path`, 'JSON_PATCH_APPLY_ERROR', { path });
|
|
63
63
|
}
|
|
64
64
|
break;
|
|
65
65
|
}
|
|
66
66
|
default:
|
|
67
|
-
throw new
|
|
67
|
+
throw new Btcr2Error(`Unsupported JSON Patch operation`, 'JSON_PATCH_APPLY_ERROR', { op });
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
|
package/src/types.ts
CHANGED
|
@@ -57,22 +57,22 @@ export type MethodName = string;
|
|
|
57
57
|
export type MethodSpecificId = string;
|
|
58
58
|
export type DecentralizedIdentifierExplicit = `${DID}:${MethodName}:${MethodSpecificId}`;
|
|
59
59
|
export type DecentralizedIdentifier = string;
|
|
60
|
-
export type
|
|
61
|
-
export type
|
|
62
|
-
export type
|
|
63
|
-
export type
|
|
60
|
+
export type Btcr2MethodName = 'btcr2';
|
|
61
|
+
export type Btcr2DeterministicPrefix = 'k';
|
|
62
|
+
export type Btcr2ExternalPrefix = 'x';
|
|
63
|
+
export type Btcr2Prefix = `${Btcr2DeterministicPrefix | Btcr2ExternalPrefix}1`;
|
|
64
64
|
export type Bech32Id = string;
|
|
65
|
-
export type
|
|
66
|
-
export type
|
|
67
|
-
export type
|
|
68
|
-
export type Controller =
|
|
65
|
+
export type Btcr2Id = `${Btcr2Prefix}${Bech32Id}`
|
|
66
|
+
export type Btcr2IdentifierExplicit = `${DID}:${Btcr2MethodName}:${Btcr2Id}`;
|
|
67
|
+
export type Btcr2Identifier = string;
|
|
68
|
+
export type Controller = Btcr2Identifier;
|
|
69
69
|
export type Id = 'initialKey';
|
|
70
70
|
export type FullId = `${Controller}#${Id}`;
|
|
71
|
-
export enum
|
|
71
|
+
export enum Btcr2IdentifierTypes {
|
|
72
72
|
KEY = 'KEY',
|
|
73
73
|
EXTERNAL = 'EXTERNAL'
|
|
74
74
|
}
|
|
75
|
-
export enum
|
|
75
|
+
export enum Btcr2IdentifierHrp {
|
|
76
76
|
k = 'k',
|
|
77
77
|
x = 'x'
|
|
78
78
|
}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
export var Env;
|
|
2
|
-
(function (Env) {
|
|
3
|
-
Env["Development"] = "development";
|
|
4
|
-
Env["Production"] = "production";
|
|
5
|
-
Env["Test"] = "test";
|
|
6
|
-
})(Env || (Env = {}));
|
|
7
|
-
export const NODE_ENV = (typeof process !== 'undefined' && process.env?.NODE_ENV) ||
|
|
8
|
-
Env.Development;
|
|
9
|
-
// Browser-friendly level "styles" using CSS in console
|
|
10
|
-
const LEVEL_CSS = {
|
|
11
|
-
debug: 'color: #16a34a; font-weight: 600;',
|
|
12
|
-
error: 'color: #ef4444; font-weight: 600;',
|
|
13
|
-
info: 'color: #3b82f6; font-weight: 600;',
|
|
14
|
-
log: 'color: #6b7280;',
|
|
15
|
-
warn: 'color: #eab308; font-weight: 600;',
|
|
16
|
-
security: 'color: #a855f7; font-weight: 700;',
|
|
17
|
-
};
|
|
18
|
-
const LOG_LEVELS = {
|
|
19
|
-
development: ['debug', 'info', 'log', 'warn', 'security'],
|
|
20
|
-
test: ['log', 'info', 'error'],
|
|
21
|
-
production: ['error'],
|
|
22
|
-
};
|
|
23
|
-
// eslint-disable-next-line no-undef
|
|
24
|
-
const LEVEL_METHODS = {
|
|
25
|
-
debug: 'debug',
|
|
26
|
-
error: 'error',
|
|
27
|
-
info: 'info',
|
|
28
|
-
log: 'log',
|
|
29
|
-
warn: 'warn',
|
|
30
|
-
security: 'warn',
|
|
31
|
-
};
|
|
32
|
-
export class Logger {
|
|
33
|
-
levels;
|
|
34
|
-
namespace;
|
|
35
|
-
constructor(namespace) {
|
|
36
|
-
this.levels = LOG_LEVELS[NODE_ENV] || [];
|
|
37
|
-
this.namespace = namespace ?? 'did-btcr2-js';
|
|
38
|
-
}
|
|
39
|
-
_log(level, message, ...args) {
|
|
40
|
-
if (!this.levels.includes(level))
|
|
41
|
-
return;
|
|
42
|
-
const ts = new Date().toISOString();
|
|
43
|
-
const ns = this.namespace ? `[${this.namespace}]` : '';
|
|
44
|
-
const method = LEVEL_METHODS[level];
|
|
45
|
-
// %c applies CSS to the next string token
|
|
46
|
-
console[method]('%c' + ts + '%c ' + ns + ' ' + level + ':%c ' + String(message ?? ''), 'color:#9ca3af;', // timestamp (gray)
|
|
47
|
-
'color:#9ca3af;', // namespace (same gray)
|
|
48
|
-
LEVEL_CSS[level], ...args);
|
|
49
|
-
}
|
|
50
|
-
debug(m, ...a) { this._log('debug', m, ...a); return this; }
|
|
51
|
-
error(m, ...a) { this._log('error', m, ...a); return this; }
|
|
52
|
-
info(m, ...a) { this._log('info', m, ...a); return this; }
|
|
53
|
-
warn(m, ...a) { this._log('warn', m, ...a); return this; }
|
|
54
|
-
security(m, ...a) { this._log('security', m, ...a); return this; }
|
|
55
|
-
log(m, ...a) { this._log('log', m, ...a); return this; }
|
|
56
|
-
newline() { console.log(); return this; }
|
|
57
|
-
// Static convenience API
|
|
58
|
-
static debug(m, ...a) { new Logger().debug(m, ...a); }
|
|
59
|
-
static error(m, ...a) { new Logger().error(m, ...a); }
|
|
60
|
-
static info(m, ...a) { new Logger().info(m, ...a); }
|
|
61
|
-
static warn(m, ...a) { new Logger().warn(m, ...a); }
|
|
62
|
-
static security(m, ...a) { new Logger().security(m, ...a); }
|
|
63
|
-
static log(m, ...a) { new Logger().log(m, ...a); }
|
|
64
|
-
static newline() { new Logger().newline(); }
|
|
65
|
-
// Keep signature but avoid Node 'path' – do a lightweight parse
|
|
66
|
-
// (unused by default; safe if you later enable it)
|
|
67
|
-
static getCallerLocation() {
|
|
68
|
-
const stack = new Error().stack?.split('\n');
|
|
69
|
-
const line = stack?.[3] || stack?.[2] || '';
|
|
70
|
-
const match = line.match(/\((.*):(\d+):(\d+)\)/) || line.match(/at (.*):(\d+):(\d+)/);
|
|
71
|
-
if (!match)
|
|
72
|
-
return '';
|
|
73
|
-
const file = (match[1] || '').split(/[\\/]/).pop() || '';
|
|
74
|
-
return `${file}:${match[2]}`;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
//# sourceMappingURL=logger.browser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.browser.js","sourceRoot":"","sources":["../../src/logger.browser.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,GAIX;AAJD,WAAY,GAAG;IACX,kCAA2B,CAAA;IAC3B,gCAAyB,CAAA;IACzB,oBAAa,CAAA;AACjB,CAAC,EAJW,GAAG,KAAH,GAAG,QAId;AAID,MAAM,CAAC,MAAM,QAAQ,GACjB,CAAC,OAAO,OAAO,KAAK,WAAW,IAAK,OAAO,CAAC,GAAG,EAAE,QAAgB,CAAC;IAClE,GAAG,CAAC,WAAW,CAAC;AAEpB,uDAAuD;AACvD,MAAM,SAAS,GAA0B;IACvC,KAAK,EAAM,mCAAmC;IAC9C,KAAK,EAAM,mCAAmC;IAC9C,IAAI,EAAO,mCAAmC;IAC9C,GAAG,EAAQ,iBAAiB;IAC5B,IAAI,EAAO,mCAAmC;IAC9C,QAAQ,EAAG,mCAAmC;CAC/C,CAAC;AAEF,MAAM,UAAU,GAAyB;IACvC,WAAW,EAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC;IAC1D,IAAI,EAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;IACtC,UAAU,EAAI,CAAC,OAAO,CAAC;CACxB,CAAC;AAEF,oCAAoC;AACpC,MAAM,aAAa,GAAiC;IAClD,KAAK,EAAM,OAAO;IAClB,KAAK,EAAM,OAAO;IAClB,IAAI,EAAO,MAAM;IACjB,GAAG,EAAQ,KAAK;IAChB,IAAI,EAAO,MAAM;IACjB,QAAQ,EAAG,MAAM;CAClB,CAAC;AAEF,MAAM,OAAO,MAAM;IACT,MAAM,CAAU;IAChB,SAAS,CAAU;IAE3B,YAAY,SAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,cAAc,CAAC;IAC/C,CAAC;IAEO,IAAI,CAAC,KAAY,EAAE,OAAiB,EAAE,GAAG,IAAe;QAC9D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO;QAEzC,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAEpC,0CAA0C;QACzC,OAAO,CAAC,MAAM,CAA2B,CACxC,IAAI,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,EACrE,gBAAgB,EAAY,mBAAmB;QAC/C,gBAAgB,EAAY,wBAAwB;QACpD,SAAS,CAAC,KAAK,CAAC,EAChB,GAAG,IAAI,CACR,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,CAAW,EAAE,GAAG,CAAY,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACjF,KAAK,CAAC,CAAW,EAAE,GAAG,CAAY,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACjF,IAAI,CAAC,CAAW,EAAE,GAAG,CAAY,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAC/E,IAAI,CAAC,CAAW,EAAE,GAAG,CAAY,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAC/E,QAAQ,CAAC,CAAW,EAAE,GAAG,CAAY,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACvF,GAAG,CAAC,CAAW,EAAE,GAAG,CAAY,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAC7E,OAAO,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAEhD,yBAAyB;IAClB,MAAM,CAAC,KAAK,CAAC,CAAW,EAAE,GAAG,CAAY,IAAI,IAAI,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,CAAC,KAAK,CAAC,CAAW,EAAE,GAAG,CAAY,IAAI,IAAI,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,CAAC,IAAI,CAAC,CAAW,EAAE,GAAG,CAAY,IAAI,IAAI,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,CAAC,IAAI,CAAC,CAAW,EAAE,GAAG,CAAY,IAAI,IAAI,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,CAAC,QAAQ,CAAC,CAAW,EAAE,GAAG,CAAY,IAAI,IAAI,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,CAAC,GAAG,CAAC,CAAW,EAAE,GAAG,CAAY,IAAI,IAAI,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,CAAC,OAAO,KAAK,IAAI,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAEnD,gEAAgE;IAChE,mDAAmD;IAC3C,MAAM,CAAC,iBAAiB;QAC9B,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACtF,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QACzD,OAAO,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,CAAC;CACF"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
export var Env;
|
|
2
|
-
(function (Env) {
|
|
3
|
-
Env["Development"] = "development";
|
|
4
|
-
Env["Production"] = "production";
|
|
5
|
-
Env["Test"] = "test";
|
|
6
|
-
})(Env || (Env = {}));
|
|
7
|
-
export const NODE_ENV = (typeof process !== 'undefined' && process.env?.NODE_ENV) ||
|
|
8
|
-
Env.Development;
|
|
9
|
-
// Browser-friendly level "styles" using CSS in console
|
|
10
|
-
const LEVEL_CSS = {
|
|
11
|
-
debug: 'color: #16a34a; font-weight: 600;',
|
|
12
|
-
error: 'color: #ef4444; font-weight: 600;',
|
|
13
|
-
info: 'color: #3b82f6; font-weight: 600;',
|
|
14
|
-
log: 'color: #6b7280;',
|
|
15
|
-
warn: 'color: #eab308; font-weight: 600;',
|
|
16
|
-
security: 'color: #a855f7; font-weight: 700;',
|
|
17
|
-
};
|
|
18
|
-
const LOG_LEVELS = {
|
|
19
|
-
development: ['debug', 'info', 'log', 'warn', 'security'],
|
|
20
|
-
test: ['log', 'info', 'error'],
|
|
21
|
-
production: ['error'],
|
|
22
|
-
};
|
|
23
|
-
// eslint-disable-next-line no-undef
|
|
24
|
-
const LEVEL_METHODS = {
|
|
25
|
-
debug: 'debug',
|
|
26
|
-
error: 'error',
|
|
27
|
-
info: 'info',
|
|
28
|
-
log: 'log',
|
|
29
|
-
warn: 'warn',
|
|
30
|
-
security: 'warn',
|
|
31
|
-
};
|
|
32
|
-
export class Logger {
|
|
33
|
-
levels;
|
|
34
|
-
namespace;
|
|
35
|
-
constructor(namespace) {
|
|
36
|
-
this.levels = LOG_LEVELS[NODE_ENV] || [];
|
|
37
|
-
this.namespace = namespace ?? 'did-btcr2-js';
|
|
38
|
-
}
|
|
39
|
-
_log(level, message, ...args) {
|
|
40
|
-
if (!this.levels.includes(level))
|
|
41
|
-
return;
|
|
42
|
-
const ts = new Date().toISOString();
|
|
43
|
-
const ns = this.namespace ? `[${this.namespace}]` : '';
|
|
44
|
-
const method = LEVEL_METHODS[level];
|
|
45
|
-
// %c applies CSS to the next string token
|
|
46
|
-
console[method]('%c' + ts + '%c ' + ns + ' ' + level + ':%c ' + String(message ?? ''), 'color:#9ca3af;', // timestamp (gray)
|
|
47
|
-
'color:#9ca3af;', // namespace (same gray)
|
|
48
|
-
LEVEL_CSS[level], ...args);
|
|
49
|
-
}
|
|
50
|
-
debug(m, ...a) { this._log('debug', m, ...a); return this; }
|
|
51
|
-
error(m, ...a) { this._log('error', m, ...a); return this; }
|
|
52
|
-
info(m, ...a) { this._log('info', m, ...a); return this; }
|
|
53
|
-
warn(m, ...a) { this._log('warn', m, ...a); return this; }
|
|
54
|
-
security(m, ...a) { this._log('security', m, ...a); return this; }
|
|
55
|
-
log(m, ...a) { this._log('log', m, ...a); return this; }
|
|
56
|
-
newline() { console.log(); return this; }
|
|
57
|
-
// Static convenience API
|
|
58
|
-
static debug(m, ...a) { new Logger().debug(m, ...a); }
|
|
59
|
-
static error(m, ...a) { new Logger().error(m, ...a); }
|
|
60
|
-
static info(m, ...a) { new Logger().info(m, ...a); }
|
|
61
|
-
static warn(m, ...a) { new Logger().warn(m, ...a); }
|
|
62
|
-
static security(m, ...a) { new Logger().security(m, ...a); }
|
|
63
|
-
static log(m, ...a) { new Logger().log(m, ...a); }
|
|
64
|
-
static newline() { new Logger().newline(); }
|
|
65
|
-
// Keep signature but avoid Node 'path' – do a lightweight parse
|
|
66
|
-
// (unused by default; safe if you later enable it)
|
|
67
|
-
static getCallerLocation() {
|
|
68
|
-
const stack = new Error().stack?.split('\n');
|
|
69
|
-
const line = stack?.[3] || stack?.[2] || '';
|
|
70
|
-
const match = line.match(/\((.*):(\d+):(\d+)\)/) || line.match(/at (.*):(\d+):(\d+)/);
|
|
71
|
-
if (!match)
|
|
72
|
-
return '';
|
|
73
|
-
const file = (match[1] || '').split(/[\\/]/).pop() || '';
|
|
74
|
-
return `${file}:${match[2]}`;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
//# sourceMappingURL=logger.browser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.browser.js","sourceRoot":"","sources":["../../src/logger.browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export declare enum Env {
|
|
2
|
-
Development = "development",
|
|
3
|
-
Production = "production",
|
|
4
|
-
Test = "test"
|
|
5
|
-
}
|
|
6
|
-
export type Level = 'debug' | 'error' | 'info' | 'log' | 'warn' | 'security';
|
|
7
|
-
export declare const NODE_ENV: Env;
|
|
8
|
-
export declare class Logger {
|
|
9
|
-
private levels;
|
|
10
|
-
private namespace?;
|
|
11
|
-
constructor(namespace?: string);
|
|
12
|
-
private _log;
|
|
13
|
-
debug(m?: unknown, ...a: unknown[]): this;
|
|
14
|
-
error(m?: unknown, ...a: unknown[]): this;
|
|
15
|
-
info(m?: unknown, ...a: unknown[]): this;
|
|
16
|
-
warn(m?: unknown, ...a: unknown[]): this;
|
|
17
|
-
security(m?: unknown, ...a: unknown[]): this;
|
|
18
|
-
log(m?: unknown, ...a: unknown[]): this;
|
|
19
|
-
newline(): this;
|
|
20
|
-
static debug(m?: unknown, ...a: unknown[]): void;
|
|
21
|
-
static error(m?: unknown, ...a: unknown[]): void;
|
|
22
|
-
static info(m?: unknown, ...a: unknown[]): void;
|
|
23
|
-
static warn(m?: unknown, ...a: unknown[]): void;
|
|
24
|
-
static security(m?: unknown, ...a: unknown[]): void;
|
|
25
|
-
static log(m?: unknown, ...a: unknown[]): void;
|
|
26
|
-
static newline(): void;
|
|
27
|
-
private static getCallerLocation;
|
|
28
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.browser.d.ts","sourceRoot":"","sources":["../../src/logger.browser.ts"],"names":[],"mappings":"AAAA,oBAAY,GAAG;IACX,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,IAAI,SAAS;CAChB;AAED,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;AAE7E,eAAO,MAAM,QAAQ,EAAE,GAEJ,CAAC;AA4BpB,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,SAAS,CAAC,CAAS;gBAEf,SAAS,CAAC,EAAE,MAAM;IAK9B,OAAO,CAAC,IAAI;IAiBL,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE;IAClC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE;IAClC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE;IACjC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE;IACjC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE;IACrC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE;IAChC,OAAO;WAGA,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE;WAClC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE;WAClC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE;WACjC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE;WACjC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE;WACrC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE;WAChC,OAAO;IAIrB,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAQjC"}
|
package/src/logger.browser.ts
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
export enum Env {
|
|
2
|
-
Development = 'development',
|
|
3
|
-
Production = 'production',
|
|
4
|
-
Test = 'test',
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
export type Level = 'debug' | 'error' | 'info' | 'log' | 'warn' | 'security';
|
|
8
|
-
|
|
9
|
-
export const NODE_ENV: Env =
|
|
10
|
-
(typeof process !== 'undefined' && (process.env?.NODE_ENV as Env)) ||
|
|
11
|
-
Env.Development;
|
|
12
|
-
|
|
13
|
-
// Browser-friendly level "styles" using CSS in console
|
|
14
|
-
const LEVEL_CSS: Record<Level, string> = {
|
|
15
|
-
debug : 'color: #16a34a; font-weight: 600;',
|
|
16
|
-
error : 'color: #ef4444; font-weight: 600;',
|
|
17
|
-
info : 'color: #3b82f6; font-weight: 600;',
|
|
18
|
-
log : 'color: #6b7280;',
|
|
19
|
-
warn : 'color: #eab308; font-weight: 600;',
|
|
20
|
-
security : 'color: #a855f7; font-weight: 700;',
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
const LOG_LEVELS: Record<Env, Level[]> = {
|
|
24
|
-
development : ['debug', 'info', 'log', 'warn', 'security'],
|
|
25
|
-
test : ['log', 'info', 'error'],
|
|
26
|
-
production : ['error'],
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
// eslint-disable-next-line no-undef
|
|
30
|
-
const LEVEL_METHODS: Record<Level, keyof Console> = {
|
|
31
|
-
debug : 'debug',
|
|
32
|
-
error : 'error',
|
|
33
|
-
info : 'info',
|
|
34
|
-
log : 'log',
|
|
35
|
-
warn : 'warn',
|
|
36
|
-
security : 'warn',
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
export class Logger {
|
|
40
|
-
private levels: Level[];
|
|
41
|
-
private namespace?: string;
|
|
42
|
-
|
|
43
|
-
constructor(namespace?: string) {
|
|
44
|
-
this.levels = LOG_LEVELS[NODE_ENV] || [];
|
|
45
|
-
this.namespace = namespace ?? 'did-btcr2-js';
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
private _log(level: Level, message?: unknown, ...args: unknown[]) {
|
|
49
|
-
if (!this.levels.includes(level)) return;
|
|
50
|
-
|
|
51
|
-
const ts = new Date().toISOString();
|
|
52
|
-
const ns = this.namespace ? `[${this.namespace}]` : '';
|
|
53
|
-
const method = LEVEL_METHODS[level];
|
|
54
|
-
|
|
55
|
-
// %c applies CSS to the next string token
|
|
56
|
-
(console[method] as (...a: any[]) => void)(
|
|
57
|
-
'%c' + ts + '%c ' + ns + ' ' + level + ':%c ' + String(message ?? ''),
|
|
58
|
-
'color:#9ca3af;', // timestamp (gray)
|
|
59
|
-
'color:#9ca3af;', // namespace (same gray)
|
|
60
|
-
LEVEL_CSS[level],
|
|
61
|
-
...args,
|
|
62
|
-
);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
public debug(m?: unknown, ...a: unknown[]) { this._log('debug', m, ...a); return this; }
|
|
66
|
-
public error(m?: unknown, ...a: unknown[]) { this._log('error', m, ...a); return this; }
|
|
67
|
-
public info(m?: unknown, ...a: unknown[]) { this._log('info', m, ...a); return this; }
|
|
68
|
-
public warn(m?: unknown, ...a: unknown[]) { this._log('warn', m, ...a); return this; }
|
|
69
|
-
public security(m?: unknown, ...a: unknown[]) { this._log('security', m, ...a); return this; }
|
|
70
|
-
public log(m?: unknown, ...a: unknown[]) { this._log('log', m, ...a); return this; }
|
|
71
|
-
public newline() { console.log(); return this; }
|
|
72
|
-
|
|
73
|
-
// Static convenience API
|
|
74
|
-
public static debug(m?: unknown, ...a: unknown[]) { new Logger().debug(m, ...a); }
|
|
75
|
-
public static error(m?: unknown, ...a: unknown[]) { new Logger().error(m, ...a); }
|
|
76
|
-
public static info(m?: unknown, ...a: unknown[]) { new Logger().info(m, ...a); }
|
|
77
|
-
public static warn(m?: unknown, ...a: unknown[]) { new Logger().warn(m, ...a); }
|
|
78
|
-
public static security(m?: unknown, ...a: unknown[]) { new Logger().security(m, ...a); }
|
|
79
|
-
public static log(m?: unknown, ...a: unknown[]) { new Logger().log(m, ...a); }
|
|
80
|
-
public static newline() { new Logger().newline(); }
|
|
81
|
-
|
|
82
|
-
// Keep signature but avoid Node 'path' – do a lightweight parse
|
|
83
|
-
// (unused by default; safe if you later enable it)
|
|
84
|
-
private static getCallerLocation(): string {
|
|
85
|
-
const stack = new Error().stack?.split('\n');
|
|
86
|
-
const line = stack?.[3] || stack?.[2] || '';
|
|
87
|
-
const match = line.match(/\((.*):(\d+):(\d+)\)/) || line.match(/at (.*):(\d+):(\d+)/);
|
|
88
|
-
if (!match) return '';
|
|
89
|
-
const file = (match[1] || '').split(/[\\/]/).pop() || '';
|
|
90
|
-
return `${file}:${match[2]}`;
|
|
91
|
-
}
|
|
92
|
-
}
|