@did-btcr2/common 1.1.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/LICENSE +373 -0
- package/README.md +3 -0
- package/dist/cjs/canonicalization.js +163 -0
- package/dist/cjs/canonicalization.js.map +1 -0
- package/dist/cjs/constants.js +116 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/errors.js +151 -0
- package/dist/cjs/errors.js.map +1 -0
- package/dist/cjs/exts.js +182 -0
- package/dist/cjs/exts.js.map +1 -0
- package/dist/cjs/index.js +10 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/interfaces.js +2 -0
- package/dist/cjs/interfaces.js.map +1 -0
- package/dist/cjs/logger.browser.js +77 -0
- package/dist/cjs/logger.browser.js.map +1 -0
- package/dist/cjs/logger.js +139 -0
- package/dist/cjs/logger.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/patch.js +163 -0
- package/dist/cjs/patch.js.map +1 -0
- package/dist/cjs/types.js +20 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/esm/canonicalization.js +163 -0
- package/dist/esm/canonicalization.js.map +1 -0
- package/dist/esm/constants.js +116 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/errors.js +151 -0
- package/dist/esm/errors.js.map +1 -0
- package/dist/esm/exts.js +182 -0
- package/dist/esm/exts.js.map +1 -0
- package/dist/esm/index.js +10 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/interfaces.js +2 -0
- package/dist/esm/interfaces.js.map +1 -0
- package/dist/esm/logger.browser.js +77 -0
- package/dist/esm/logger.browser.js.map +1 -0
- package/dist/esm/logger.js +139 -0
- package/dist/esm/logger.js.map +1 -0
- package/dist/esm/patch.js +163 -0
- package/dist/esm/patch.js.map +1 -0
- package/dist/esm/types.js +20 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/types/canonicalization.d.ts +106 -0
- package/dist/types/canonicalization.d.ts.map +1 -0
- package/dist/types/constants.d.ts +103 -0
- package/dist/types/constants.d.ts.map +1 -0
- package/dist/types/errors.d.ts +113 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/exts.d.ts +82 -0
- package/dist/types/exts.d.ts.map +1 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/interfaces.d.ts +282 -0
- package/dist/types/interfaces.d.ts.map +1 -0
- package/dist/types/logger.browser.d.ts +28 -0
- package/dist/types/logger.browser.d.ts.map +1 -0
- package/dist/types/logger.d.ts +45 -0
- package/dist/types/logger.d.ts.map +1 -0
- package/dist/types/patch.d.ts +63 -0
- package/dist/types/patch.d.ts.map +1 -0
- package/dist/types/types.d.ts +104 -0
- package/dist/types/types.d.ts.map +1 -0
- package/package.json +109 -0
- package/src/canonicalization.ts +180 -0
- package/src/constants.ts +123 -0
- package/src/errors.ts +224 -0
- package/src/exts.ts +293 -0
- package/src/index.ts +11 -0
- package/src/interfaces.ts +311 -0
- package/src/logger.browser.ts +92 -0
- package/src/logger.ts +162 -0
- package/src/patch.ts +181 -0
- package/src/rdf-canonize.d.ts +6 -0
- package/src/types.ts +113 -0
package/dist/esm/exts.js
ADDED
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { Canonicalization } from './canonicalization.js';
|
|
2
|
+
import { Patch } from './patch.js';
|
|
3
|
+
/** Array Interface Extensions */
|
|
4
|
+
Array.prototype.last = function () {
|
|
5
|
+
return this[this.length - 1] ?? undefined;
|
|
6
|
+
};
|
|
7
|
+
Array.prototype[-1] = function () {
|
|
8
|
+
return this.last();
|
|
9
|
+
};
|
|
10
|
+
Array.prototype.toUint8Array = function () {
|
|
11
|
+
return new Uint8Array(this);
|
|
12
|
+
};
|
|
13
|
+
/** BufferConstructor/Buffer Interface Extensions */
|
|
14
|
+
Buffer.fromHex = function (hex) {
|
|
15
|
+
return Buffer.from(hex, 'hex');
|
|
16
|
+
};
|
|
17
|
+
Buffer.toHex = function (ui8) {
|
|
18
|
+
return Buffer.from(ui8).toString('hex');
|
|
19
|
+
};
|
|
20
|
+
Buffer.toUint8Array = function (buf) {
|
|
21
|
+
return new Uint8Array(buf);
|
|
22
|
+
};
|
|
23
|
+
/** Date Interface Extensions */
|
|
24
|
+
Date.prototype.getUTCDateTime = function () {
|
|
25
|
+
return `${this.toISOString().slice(0, -5)}Z`;
|
|
26
|
+
};
|
|
27
|
+
Date.prototype.toUnix = function () {
|
|
28
|
+
const time = this.getTime();
|
|
29
|
+
if (isNaN(time)) {
|
|
30
|
+
throw new Error(`Invalid date string: "${this}"`);
|
|
31
|
+
}
|
|
32
|
+
return time;
|
|
33
|
+
};
|
|
34
|
+
/** JSON Interface Extensions */
|
|
35
|
+
JSON.is = function (unknown) {
|
|
36
|
+
if (unknown === null || typeof unknown !== 'object')
|
|
37
|
+
return false;
|
|
38
|
+
if (Array.isArray(unknown))
|
|
39
|
+
return unknown.every(item => Object.getPrototypeOf(item) !== null);
|
|
40
|
+
else
|
|
41
|
+
return Object.getPrototypeOf(unknown) === null;
|
|
42
|
+
};
|
|
43
|
+
JSON.parsable = function (unknown) {
|
|
44
|
+
try {
|
|
45
|
+
JSON.parse(unknown);
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
JSON.stringifiable = function (unknown) {
|
|
53
|
+
try {
|
|
54
|
+
JSON.stringify(unknown);
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
JSON.unprototyped = function (unknown) {
|
|
62
|
+
if (Array.isArray(unknown)) {
|
|
63
|
+
return unknown.every(item => Object.getPrototypeOf(item) === null);
|
|
64
|
+
}
|
|
65
|
+
return Object.getPrototypeOf(unknown) === null;
|
|
66
|
+
};
|
|
67
|
+
JSON.normalize = function (unknown) {
|
|
68
|
+
try {
|
|
69
|
+
return JSON.parse(JSON.stringify(unknown));
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
throw new Error('The object is not unprotocyped');
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
JSON.copy = function (o) {
|
|
76
|
+
return Object.assign({}, o);
|
|
77
|
+
};
|
|
78
|
+
JSON.clone = function (o) {
|
|
79
|
+
return JSON.parse(JSON.stringify(o));
|
|
80
|
+
};
|
|
81
|
+
JSON.cloneReplace = function (o, e, r) {
|
|
82
|
+
return JSON.parse(JSON.stringify(o).replaceAll(e, r));
|
|
83
|
+
};
|
|
84
|
+
JSON.equal = function (a, b) {
|
|
85
|
+
return a === b;
|
|
86
|
+
};
|
|
87
|
+
JSON.deepEqual = function (a, b) {
|
|
88
|
+
if (JSON.equal(a, b))
|
|
89
|
+
return true;
|
|
90
|
+
if (a === null || b === null || typeof a !== typeof b)
|
|
91
|
+
return false;
|
|
92
|
+
if (typeof a === 'object') {
|
|
93
|
+
const isArrayA = Array.isArray(a);
|
|
94
|
+
const isArrayB = Array.isArray(b);
|
|
95
|
+
if (isArrayA !== isArrayB)
|
|
96
|
+
return false;
|
|
97
|
+
if (isArrayA && isArrayB) {
|
|
98
|
+
if (a.length !== b.length)
|
|
99
|
+
return false;
|
|
100
|
+
for (let i = 0; i < a.length; i++) {
|
|
101
|
+
if (!this.deepEqual(a[i], b[i]))
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
const keysA = Object.keys(a);
|
|
108
|
+
const keysB = Object.keys(b);
|
|
109
|
+
if (keysA.length !== keysB.length)
|
|
110
|
+
return false;
|
|
111
|
+
for (const key of keysA) {
|
|
112
|
+
if (!Object.prototype.hasOwnProperty.call(b, key)) {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
if (!this.deepEqual(a[key], b[key])) {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return false;
|
|
123
|
+
};
|
|
124
|
+
JSON.delete = function (o, keys) {
|
|
125
|
+
if (!JSON.is(o))
|
|
126
|
+
return o;
|
|
127
|
+
for (const key of keys) {
|
|
128
|
+
if (Object.prototype.hasOwnProperty.call(o, key)) {
|
|
129
|
+
delete o[key];
|
|
130
|
+
}
|
|
131
|
+
for (const key in o) {
|
|
132
|
+
if (typeof o[key] === 'object') {
|
|
133
|
+
o[key] = this.delete(o[key], [key]);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return o;
|
|
138
|
+
};
|
|
139
|
+
JSON.sanitize = function (o) {
|
|
140
|
+
for (const key of Object.keys(o)) {
|
|
141
|
+
if (o[key] === undefined) {
|
|
142
|
+
delete o[key];
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return o;
|
|
146
|
+
};
|
|
147
|
+
JSON.canonicalization = new Canonicalization();
|
|
148
|
+
JSON.patch = new Patch();
|
|
149
|
+
/** Set Interface Extensions */
|
|
150
|
+
Set.prototype.difference = function (other) {
|
|
151
|
+
const result = new Set(this);
|
|
152
|
+
for (const item of other) {
|
|
153
|
+
if (result.has(item)) {
|
|
154
|
+
result.delete(item);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return result;
|
|
158
|
+
};
|
|
159
|
+
/** String Interface Extensions */
|
|
160
|
+
String.prototype.toSnake = function () {
|
|
161
|
+
return this
|
|
162
|
+
.replace(/([a-z])([A-Z])/g, '$1_$2')
|
|
163
|
+
.toLowerCase();
|
|
164
|
+
};
|
|
165
|
+
String.prototype.toSnakeScream = function () {
|
|
166
|
+
return this.toSnake().toUpperCase();
|
|
167
|
+
};
|
|
168
|
+
String.prototype.chop = function () {
|
|
169
|
+
return this.length > 0 ? this.slice(0, -1) : '';
|
|
170
|
+
};
|
|
171
|
+
String.prototype.replaceEnd = function (e, r) {
|
|
172
|
+
const pattern = e instanceof RegExp
|
|
173
|
+
? new RegExp(e.source.endsWith('$') ? e.source : `${e.source}$`, e.flags.replace('g', ''))
|
|
174
|
+
: new RegExp(`${e.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&')}$`);
|
|
175
|
+
return this.replace(pattern, r ?? '');
|
|
176
|
+
};
|
|
177
|
+
/** Uint8Array Interface Extensions */
|
|
178
|
+
Uint8Array.prototype.toArray = function () {
|
|
179
|
+
return Array.from(this);
|
|
180
|
+
};
|
|
181
|
+
export default global;
|
|
182
|
+
//# sourceMappingURL=exts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exts.js","sourceRoot":"","sources":["../../src/exts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import './exts.js';
|
|
2
|
+
export * from './canonicalization.js';
|
|
3
|
+
export * from './constants.js';
|
|
4
|
+
export * from './errors.js';
|
|
5
|
+
export * from './interfaces.js';
|
|
6
|
+
export * from './logger.js';
|
|
7
|
+
export * from './patch.js';
|
|
8
|
+
export * from './types.js';
|
|
9
|
+
export * from './exts.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,CAAC;AAEnB,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAE3B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,77 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
export var Env;
|
|
4
|
+
(function (Env) {
|
|
5
|
+
Env["Development"] = "development";
|
|
6
|
+
Env["Production"] = "production";
|
|
7
|
+
Env["Test"] = "test";
|
|
8
|
+
})(Env || (Env = {}));
|
|
9
|
+
export const NODE_ENV = process.env.NODE_ENV || Env.Development;
|
|
10
|
+
/**
|
|
11
|
+
* Mapping of log levels to colors for cleaner, more flexible logging.
|
|
12
|
+
*/
|
|
13
|
+
const LOG_LEVELS = {
|
|
14
|
+
development: ['debug', 'info', 'log', 'warn', 'security'],
|
|
15
|
+
test: ['log', 'info', 'error'],
|
|
16
|
+
production: ['error'],
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Colors associated with each log level.
|
|
20
|
+
*/
|
|
21
|
+
const LEVEL_STYLES = {
|
|
22
|
+
debug: chalk.green,
|
|
23
|
+
error: chalk.red,
|
|
24
|
+
info: chalk.blue,
|
|
25
|
+
log: chalk.gray,
|
|
26
|
+
warn: chalk.yellow,
|
|
27
|
+
security: chalk.magenta,
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Defines the method mapping for console methods.
|
|
31
|
+
*/
|
|
32
|
+
// eslint-disable-next-line no-undef
|
|
33
|
+
const LEVEL_METHODS = {
|
|
34
|
+
debug: 'debug',
|
|
35
|
+
error: 'error',
|
|
36
|
+
info: 'info',
|
|
37
|
+
log: 'log',
|
|
38
|
+
warn: 'warn',
|
|
39
|
+
security: 'warn',
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* A flexible, feature-rich logger with:
|
|
43
|
+
* - Environment-based filtering
|
|
44
|
+
* - Namespacing
|
|
45
|
+
* - File/line tracing
|
|
46
|
+
* - Timestamps
|
|
47
|
+
* - Colorized output
|
|
48
|
+
*/
|
|
49
|
+
export class Logger {
|
|
50
|
+
levels;
|
|
51
|
+
namespace;
|
|
52
|
+
constructor(namespace) {
|
|
53
|
+
this.levels = LOG_LEVELS[NODE_ENV] || [];
|
|
54
|
+
this.namespace = namespace ?? 'did-btcr2-js';
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Logs a message with the specified level.
|
|
58
|
+
*/
|
|
59
|
+
_log(level, message, ...args) {
|
|
60
|
+
if (!this.levels.includes(level))
|
|
61
|
+
return;
|
|
62
|
+
const color = LEVEL_STYLES[level];
|
|
63
|
+
const method = LEVEL_METHODS[level];
|
|
64
|
+
const timestamp = new Date().toISOString();
|
|
65
|
+
const namespace = this.namespace ? `[${this.namespace}]` : '';
|
|
66
|
+
console[method](`${chalk.gray(timestamp)} ${namespace} ${color(level)}: ${chalk.white(message)}`, ...args);
|
|
67
|
+
}
|
|
68
|
+
// 🔹 Instance-based logging methods
|
|
69
|
+
debug(message, ...args) {
|
|
70
|
+
this._log('debug', message, ...args);
|
|
71
|
+
return this;
|
|
72
|
+
}
|
|
73
|
+
error(message, ...args) {
|
|
74
|
+
this._log('error', message, ...args);
|
|
75
|
+
return this;
|
|
76
|
+
}
|
|
77
|
+
info(message, ...args) {
|
|
78
|
+
this._log('info', message, ...args);
|
|
79
|
+
return this;
|
|
80
|
+
}
|
|
81
|
+
warn(message, ...args) {
|
|
82
|
+
this._log('warn', message, ...args);
|
|
83
|
+
return this;
|
|
84
|
+
}
|
|
85
|
+
security(message, ...args) {
|
|
86
|
+
this._log('security', message, ...args);
|
|
87
|
+
return this;
|
|
88
|
+
}
|
|
89
|
+
log(message, ...args) {
|
|
90
|
+
this._log('log', message, ...args);
|
|
91
|
+
return this;
|
|
92
|
+
}
|
|
93
|
+
newline() {
|
|
94
|
+
console.log();
|
|
95
|
+
return this;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Static methods for convenience (auto-instantiate).
|
|
99
|
+
*/
|
|
100
|
+
static debug(message, ...args) {
|
|
101
|
+
new Logger().debug(message, ...args);
|
|
102
|
+
}
|
|
103
|
+
static error(message, ...args) {
|
|
104
|
+
new Logger().error(message, ...args);
|
|
105
|
+
}
|
|
106
|
+
static info(message, ...args) {
|
|
107
|
+
new Logger().info(message, ...args);
|
|
108
|
+
}
|
|
109
|
+
static warn(message, ...args) {
|
|
110
|
+
new Logger().warn(message, ...args);
|
|
111
|
+
}
|
|
112
|
+
static security(message, ...args) {
|
|
113
|
+
new Logger().security(message, ...args);
|
|
114
|
+
}
|
|
115
|
+
static log(message, ...args) {
|
|
116
|
+
new Logger().log(message, ...args);
|
|
117
|
+
}
|
|
118
|
+
static newline() {
|
|
119
|
+
new Logger().newline();
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Returns the caller's file and line number.
|
|
123
|
+
*/
|
|
124
|
+
static getCallerLocation() {
|
|
125
|
+
const stack = new Error().stack?.split('\n');
|
|
126
|
+
if (!stack)
|
|
127
|
+
return '';
|
|
128
|
+
// The first lines are irrelevant, we want the caller of the logger
|
|
129
|
+
const callerLine = stack[3] || stack[2] || '';
|
|
130
|
+
// Extract file path and line number
|
|
131
|
+
const match = callerLine.match(/\((.*):(\d+):(\d+)\)/);
|
|
132
|
+
if (!match)
|
|
133
|
+
return '';
|
|
134
|
+
const filePath = match[1];
|
|
135
|
+
const lineNumber = match[2];
|
|
136
|
+
return `${path.basename(filePath)}:${lineNumber}`;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { Btc1Error } from './errors.js';
|
|
2
|
+
/**
|
|
3
|
+
* Implementation of {@link https://datatracker.ietf.org/doc/html/rfc6902 | IETF RFC 6902 JSON Patch}.
|
|
4
|
+
*
|
|
5
|
+
* JavaScript Object Notation (JSON) Patch defines a JSON document structure for expressing a sequence of operations to
|
|
6
|
+
* apply to a JavaScript Object Notation (JSON) document; it is suitable for use with the HTTP PATCH method. The
|
|
7
|
+
* "application/json-patch+json" media type is used to identify such patch documents.
|
|
8
|
+
*
|
|
9
|
+
* @class Patch
|
|
10
|
+
* @type {Patch}
|
|
11
|
+
*/
|
|
12
|
+
export class Patch {
|
|
13
|
+
/**
|
|
14
|
+
* Applies a JSON Patch to a source document and returns the patched document.
|
|
15
|
+
* @param {JSONObject} sourceDocument The source document to patch.
|
|
16
|
+
* @param {PatchOperation[]} operations The JSON Patch operations to apply.
|
|
17
|
+
* @returns {JSONObject} The patched document.
|
|
18
|
+
* @throws {Error} If an unsupported operation is provided.
|
|
19
|
+
*/
|
|
20
|
+
apply(sourceDocument, operations) {
|
|
21
|
+
const patchedDocument = JSON.normalize(sourceDocument);
|
|
22
|
+
for (const operation of operations) {
|
|
23
|
+
const { op, path, value, from } = operation;
|
|
24
|
+
const segments = path.split('/').slice(1);
|
|
25
|
+
switch (op) {
|
|
26
|
+
case 'add':
|
|
27
|
+
this.setValue(patchedDocument, segments, value);
|
|
28
|
+
break;
|
|
29
|
+
case 'remove':
|
|
30
|
+
this.removeValue(patchedDocument, segments);
|
|
31
|
+
break;
|
|
32
|
+
case 'replace':
|
|
33
|
+
this.setValue(patchedDocument, segments, value);
|
|
34
|
+
break;
|
|
35
|
+
case 'move': {
|
|
36
|
+
if (!from)
|
|
37
|
+
throw new Error('Missing \'from\' in move operation');
|
|
38
|
+
const fromSegments = from.split('/').slice(1);
|
|
39
|
+
const movedValue = this.getValue(patchedDocument, fromSegments);
|
|
40
|
+
this.removeValue(patchedDocument, fromSegments);
|
|
41
|
+
this.setValue(patchedDocument, segments, movedValue);
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
case 'copy': {
|
|
45
|
+
if (!from)
|
|
46
|
+
throw new Error('Missing \'from\' in copy operation');
|
|
47
|
+
const copiedValue = this.getValue(patchedDocument, from.split('/').slice(1));
|
|
48
|
+
this.setValue(patchedDocument, segments, copiedValue);
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
case 'test': {
|
|
52
|
+
const existingValue = this.getValue(patchedDocument, segments);
|
|
53
|
+
if (JSON.stringify(existingValue) !== JSON.stringify(value)) {
|
|
54
|
+
throw new Btc1Error(`Test operation failed at path`, 'JSON_PATCH_APPLY_ERROR', { path });
|
|
55
|
+
}
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
default:
|
|
59
|
+
throw new Btc1Error(`Unsupported JSON Patch operation`, 'JSON_PATCH_APPLY_ERROR', { op });
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return patchedDocument;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Constructs a JSON Patch with a single operation (e.g. add service).
|
|
66
|
+
* @param {PatchOperation} patches - The patch operation to create.
|
|
67
|
+
* @param {string} patch.op - The patch operation type (e.g. 'add').
|
|
68
|
+
* @param {string} patch.path - The JSON Pointer path to apply the operation.
|
|
69
|
+
* @param {*} patch.value - The value to apply (if applicable).
|
|
70
|
+
* @returns {PatchOperation[]} A single-entry JSON Patch array.
|
|
71
|
+
*/
|
|
72
|
+
create(patches) {
|
|
73
|
+
return patches.map(({ op, path, value, from }) => {
|
|
74
|
+
const operation = { op, path };
|
|
75
|
+
if (value !== undefined) {
|
|
76
|
+
operation.value = value;
|
|
77
|
+
}
|
|
78
|
+
if (from !== undefined) {
|
|
79
|
+
operation.from = from;
|
|
80
|
+
}
|
|
81
|
+
return operation;
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Find the diff between a source and target document constructing the patch operations from source => target.
|
|
86
|
+
* @param {JSONObject} sourceDocument The original JSON object.
|
|
87
|
+
* @param {JSONObject} targetDocument The target JSON object to transform into.
|
|
88
|
+
* @returns {PatchOperation[]} An array of JSON Patch operations.
|
|
89
|
+
*/
|
|
90
|
+
diff(sourceDocument, targetDocument, path) {
|
|
91
|
+
const operations = [];
|
|
92
|
+
const sourceKeys = new Set(Object.keys(sourceDocument || {}));
|
|
93
|
+
const targetKeys = new Set(Object.keys(targetDocument || {}));
|
|
94
|
+
// Handle removed keys
|
|
95
|
+
for (const key of sourceKeys) {
|
|
96
|
+
if (!targetKeys.has(key)) {
|
|
97
|
+
operations.push({ op: 'remove', path: `${path}/${key}` });
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
// Handle added or updated keys
|
|
101
|
+
for (const key of targetKeys) {
|
|
102
|
+
const sourceVal = sourceDocument?.[key];
|
|
103
|
+
const targetVal = targetDocument?.[key];
|
|
104
|
+
const currentPath = `${path}/${key}`;
|
|
105
|
+
if (!(key in (sourceDocument || {}))) {
|
|
106
|
+
operations.push({ op: 'add', path: currentPath, value: targetVal });
|
|
107
|
+
}
|
|
108
|
+
else if (typeof sourceVal === 'object' && sourceVal !== null && typeof targetVal === 'object' && targetVal !== null) {
|
|
109
|
+
operations.push(...this.diff(sourceVal, targetVal, currentPath));
|
|
110
|
+
}
|
|
111
|
+
else if (JSON.stringify(sourceVal) !== JSON.stringify(targetVal)) {
|
|
112
|
+
operations.push({ op: 'replace', path: currentPath, value: targetVal });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return operations;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Gets the value at a given path in an object.
|
|
119
|
+
* @private
|
|
120
|
+
* @param {*} obj The object to get the value from.
|
|
121
|
+
* @param {string[]} path The path to the value.
|
|
122
|
+
* @returns {*} The value at the given path.
|
|
123
|
+
*/
|
|
124
|
+
getValue(obj, path) {
|
|
125
|
+
return path.reduce((acc, key) => (acc && acc[key] !== undefined ? acc[key] : undefined), obj);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Sets the value at a given path in an object.
|
|
129
|
+
* @private
|
|
130
|
+
* @param {*} obj The object to set the value in.
|
|
131
|
+
* @param {string[]} path The path to the value.
|
|
132
|
+
* @param {*} value The value to set.
|
|
133
|
+
* @returns {*} The object with the value set.
|
|
134
|
+
*/
|
|
135
|
+
setValue(obj, path, value) {
|
|
136
|
+
let current = obj;
|
|
137
|
+
for (let i = 0; i < path.length - 1; i++) {
|
|
138
|
+
const key = path[i];
|
|
139
|
+
if (!(key in current))
|
|
140
|
+
current[key] = {};
|
|
141
|
+
current = current[key];
|
|
142
|
+
}
|
|
143
|
+
current[path[path.length - 1]] = value;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Removes the value at a given path in an object.
|
|
147
|
+
* @private
|
|
148
|
+
* @param {*} obj The object to remove the value from.
|
|
149
|
+
* @param {string[]} path The path to the value.
|
|
150
|
+
* @returns {*} The object with the value removed.
|
|
151
|
+
*/
|
|
152
|
+
removeValue(obj, path) {
|
|
153
|
+
let current = obj;
|
|
154
|
+
for (let i = 0; i < path.length - 1; i++) {
|
|
155
|
+
const key = path[i];
|
|
156
|
+
if (!(key in current))
|
|
157
|
+
return;
|
|
158
|
+
current = current[key];
|
|
159
|
+
}
|
|
160
|
+
delete current[path[path.length - 1]];
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=patch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patch.js","sourceRoot":"","sources":["../../src/patch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export var Btc1IdentifierTypes;
|
|
2
|
+
(function (Btc1IdentifierTypes) {
|
|
3
|
+
Btc1IdentifierTypes["KEY"] = "KEY";
|
|
4
|
+
Btc1IdentifierTypes["EXTERNAL"] = "EXTERNAL";
|
|
5
|
+
})(Btc1IdentifierTypes || (Btc1IdentifierTypes = {}));
|
|
6
|
+
export var Btc1IdentifierHrp;
|
|
7
|
+
(function (Btc1IdentifierHrp) {
|
|
8
|
+
Btc1IdentifierHrp["k"] = "k";
|
|
9
|
+
Btc1IdentifierHrp["x"] = "x";
|
|
10
|
+
})(Btc1IdentifierHrp || (Btc1IdentifierHrp = {}));
|
|
11
|
+
export var BitcoinNetworkNames;
|
|
12
|
+
(function (BitcoinNetworkNames) {
|
|
13
|
+
BitcoinNetworkNames[BitcoinNetworkNames["bitcoin"] = 0] = "bitcoin";
|
|
14
|
+
BitcoinNetworkNames[BitcoinNetworkNames["signet"] = 1] = "signet";
|
|
15
|
+
BitcoinNetworkNames[BitcoinNetworkNames["regtest"] = 2] = "regtest";
|
|
16
|
+
BitcoinNetworkNames[BitcoinNetworkNames["testnet3"] = 3] = "testnet3";
|
|
17
|
+
BitcoinNetworkNames[BitcoinNetworkNames["testnet4"] = 4] = "testnet4";
|
|
18
|
+
BitcoinNetworkNames[BitcoinNetworkNames["mutinynet"] = 5] = "mutinynet";
|
|
19
|
+
})(BitcoinNetworkNames || (BitcoinNetworkNames = {}));
|
|
20
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAsEA,MAAM,CAAN,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC3B,kCAAW,CAAA;IACX,4CAAqB,CAAA;AACzB,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,QAG9B;AACD,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IACzB,4BAAO,CAAA;IACP,4BAAO,CAAA;AACX,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B;AACD,MAAM,CAAN,IAAY,mBAOX;AAPD,WAAY,mBAAmB;IAC3B,mEAAW,CAAA;IACX,iEAAU,CAAA;IACV,mEAAW,CAAA;IACX,qEAAY,CAAA;IACZ,qEAAY,CAAA;IACZ,uEAAa,CAAA;AACjB,CAAC,EAPW,mBAAmB,KAAnB,mBAAmB,QAO9B"}
|