@nextera.one/tps-standard 0.5.34 → 0.6.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.
Files changed (60) hide show
  1. package/CHANGELOG.md +88 -0
  2. package/README.md +133 -56
  3. package/dist/driver-manager.d.ts +34 -0
  4. package/dist/driver-manager.js +53 -0
  5. package/dist/driver-manager.js.map +1 -0
  6. package/dist/drivers/chinese.d.ts +25 -0
  7. package/dist/drivers/chinese.js +485 -0
  8. package/dist/drivers/chinese.js.map +1 -0
  9. package/dist/esm/date.js +170 -0
  10. package/dist/esm/date.js.map +1 -0
  11. package/dist/esm/driver-manager.js +49 -0
  12. package/dist/esm/driver-manager.js.map +1 -0
  13. package/dist/esm/drivers/chinese.js +481 -0
  14. package/dist/esm/drivers/chinese.js.map +1 -0
  15. package/dist/esm/drivers/gregorian.js +160 -0
  16. package/dist/esm/drivers/gregorian.js.map +1 -0
  17. package/dist/esm/drivers/hijri.js +184 -0
  18. package/dist/esm/drivers/hijri.js.map +1 -0
  19. package/dist/esm/drivers/holocene.js +115 -0
  20. package/dist/esm/drivers/holocene.js.map +1 -0
  21. package/dist/esm/drivers/julian.js +161 -0
  22. package/dist/esm/drivers/julian.js.map +1 -0
  23. package/dist/esm/drivers/persian.js +190 -0
  24. package/dist/esm/drivers/persian.js.map +1 -0
  25. package/dist/esm/drivers/tps.js +181 -0
  26. package/dist/esm/drivers/tps.js.map +1 -0
  27. package/dist/esm/drivers/unix.js +50 -0
  28. package/dist/esm/drivers/unix.js.map +1 -0
  29. package/dist/esm/index.js +873 -0
  30. package/dist/esm/index.js.map +1 -0
  31. package/dist/esm/types.js +28 -0
  32. package/dist/esm/types.js.map +1 -0
  33. package/dist/esm/uid.js +221 -0
  34. package/dist/esm/uid.js.map +1 -0
  35. package/dist/esm/utils/calendar.js +126 -0
  36. package/dist/esm/utils/calendar.js.map +1 -0
  37. package/dist/esm/utils/env.js +76 -0
  38. package/dist/esm/utils/env.js.map +1 -0
  39. package/dist/esm/utils/timezone.js +168 -0
  40. package/dist/esm/utils/timezone.js.map +1 -0
  41. package/dist/esm/utils/tps-string.js +160 -0
  42. package/dist/esm/utils/tps-string.js.map +1 -0
  43. package/dist/index.d.ts +91 -2
  44. package/dist/index.js +412 -132
  45. package/dist/index.js.map +1 -1
  46. package/dist/types.d.ts +19 -1
  47. package/dist/types.js +1 -0
  48. package/dist/types.js.map +1 -1
  49. package/dist/uid.js +1 -1
  50. package/dist/uid.js.map +1 -1
  51. package/dist/utils/timezone.d.ts +32 -0
  52. package/dist/utils/timezone.js +173 -0
  53. package/dist/utils/timezone.js.map +1 -0
  54. package/package.json +20 -5
  55. package/src/driver-manager.ts +54 -0
  56. package/src/drivers/chinese.ts +542 -0
  57. package/src/index.ts +379 -123
  58. package/src/types.ts +26 -2
  59. package/src/uid.ts +2 -2
  60. package/src/utils/timezone.ts +182 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * TPS: Temporal Positioning System
3
+ * Shared types and interfaces.
4
+ */
5
+ /**
6
+ * Calendar codes are plain strings to allow arbitrary user-defined
7
+ * calendars. The library still exports constants for the built-in values.
8
+ */
9
+ export const DefaultCalendars = {
10
+ TPS: "tps",
11
+ GREG: "greg",
12
+ HIJ: "hij",
13
+ PER: "per",
14
+ JUL: "jul",
15
+ HOLO: "holo",
16
+ UNIX: "unix",
17
+ CHIN: "chin",
18
+ };
19
+ /**
20
+ * Specifies the direction of the time-component hierarchy when serializing or
21
+ * deserializing a TPS string. The default is 'descending'.
22
+ */
23
+ export var TimeOrder;
24
+ (function (TimeOrder) {
25
+ TimeOrder["DESC"] = "desc";
26
+ TimeOrder["ASC"] = "asc";
27
+ })(TimeOrder || (TimeOrder = {}));
28
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;CACJ,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,wBAAW,CAAA;AACb,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB"}
@@ -0,0 +1,221 @@
1
+ /**
2
+ * TPS-UID v1 — Temporal Positioning System Identifier (Binary Reversible)
3
+ */
4
+ import { TPS } from "./index";
5
+ import { DefaultCalendars } from "./types";
6
+ import { Env } from "./utils/env";
7
+ export class TPSUID7RB {
8
+ static encodeBinary(tps, opts = {}) {
9
+ const compress = opts.compress ?? false;
10
+ const epochMs = opts.epochMs ?? this.epochMsFromTPSString(tps);
11
+ if (!Number.isInteger(epochMs) || epochMs < 0 || epochMs > 0xffffffffffff) {
12
+ throw new Error("TPSUID7RB: Invalid epochMs (must be 48-bit non-negative integer)");
13
+ }
14
+ const flags = compress ? 0x01 : 0x00;
15
+ const nonceBuf = Env.randomBytes(4);
16
+ const tpsUtf8 = new TextEncoder().encode(tps);
17
+ const payload = compress ? Env.deflate(tpsUtf8) : tpsUtf8;
18
+ const lenVar = this.uvarintEncode(payload.length);
19
+ const out = new Uint8Array(4 + 1 + 1 + 6 + 4 + lenVar.length + payload.length);
20
+ let offset = 0;
21
+ out.set(this.MAGIC, offset);
22
+ offset += 4;
23
+ out[offset++] = this.VER;
24
+ out[offset++] = flags;
25
+ out.set(this.writeU48(epochMs), offset);
26
+ offset += 6;
27
+ out.set(nonceBuf, offset);
28
+ offset += 4;
29
+ out.set(lenVar, offset);
30
+ offset += lenVar.length;
31
+ out.set(payload, offset);
32
+ return out;
33
+ }
34
+ static decodeBinary(bytes) {
35
+ if (bytes.length < 17)
36
+ throw new Error("TPSUID7RB: too short");
37
+ if (bytes[0] !== 0x54 ||
38
+ bytes[1] !== 0x50 ||
39
+ bytes[2] !== 0x55 ||
40
+ bytes[3] !== 0x37) {
41
+ throw new Error("TPSUID7RB: bad magic");
42
+ }
43
+ const ver = bytes[4];
44
+ if (ver !== this.VER)
45
+ throw new Error(`TPSUID7RB: unsupported version ${ver}`);
46
+ const flags = bytes[5];
47
+ const compressed = (flags & 0x01) === 0x01;
48
+ const epochMs = this.readU48(bytes, 6);
49
+ const nonce = ((bytes[12] << 24) >>> 0) +
50
+ ((bytes[13] << 16) >>> 0) +
51
+ ((bytes[14] << 8) >>> 0) +
52
+ bytes[15];
53
+ let offset = 16;
54
+ const { value: tpsLen, bytesRead } = this.uvarintDecode(bytes, offset);
55
+ offset += bytesRead;
56
+ if (offset + tpsLen > bytes.length)
57
+ throw new Error("TPSUID7RB: length overflow");
58
+ const payload = bytes.slice(offset, offset + tpsLen);
59
+ const tpsUtf8 = compressed ? Env.inflate(payload) : payload;
60
+ const tps = new TextDecoder().decode(tpsUtf8);
61
+ return { version: "tpsuid7rb", epochMs, compressed, nonce, tps };
62
+ }
63
+ static encodeBinaryB64(tps, opts) {
64
+ const bytes = this.encodeBinary(tps, opts ?? {});
65
+ return `${this.PREFIX}${this.base64UrlEncode(bytes)}`;
66
+ }
67
+ static decodeBinaryB64(id) {
68
+ const s = id.trim();
69
+ if (!s.startsWith(this.PREFIX))
70
+ throw new Error("TPSUID7RB: missing prefix");
71
+ return this.decodeBinary(this.base64UrlDecode(s.slice(this.PREFIX.length)));
72
+ }
73
+ static validateBinaryB64(id) {
74
+ return this.REGEX.test(id.trim());
75
+ }
76
+ static generate(opts) {
77
+ const now = new Date();
78
+ const time = TPS.fromDate(now, DefaultCalendars.TPS, {
79
+ order: opts?.order,
80
+ });
81
+ let space = "unknown";
82
+ if (opts?.latitude !== undefined && opts?.longitude !== undefined) {
83
+ space = `${opts.latitude},${opts.longitude}`;
84
+ if (opts.altitude !== undefined)
85
+ space += `,${opts.altitude}m`;
86
+ }
87
+ const tps = `tps://${space}@${time}`;
88
+ return this.encodeBinaryB64(tps, {
89
+ compress: opts?.compress,
90
+ epochMs: now.getTime(),
91
+ });
92
+ }
93
+ static seal(tps, privateKey, opts) {
94
+ const compress = opts?.compress ?? false;
95
+ const epochMs = opts?.epochMs ?? this.epochMsFromTPSString(tps);
96
+ if (!Number.isInteger(epochMs) || epochMs < 0 || epochMs > 0xffffffffffff) {
97
+ throw new Error("TPSUID7RB: Invalid epochMs");
98
+ }
99
+ const flags = (compress ? 0x01 : 0x00) | 0x02; // Set SEAL bit
100
+ const nonceBuf = Env.randomBytes(4);
101
+ const tpsUtf8 = new TextEncoder().encode(tps);
102
+ const payload = compress ? Env.deflate(tpsUtf8) : tpsUtf8;
103
+ const lenVar = this.uvarintEncode(payload.length);
104
+ const contentLen = 4 + 1 + 1 + 6 + 4 + lenVar.length + payload.length;
105
+ const content = new Uint8Array(contentLen);
106
+ let offset = 0;
107
+ content.set(this.MAGIC, offset);
108
+ offset += 4;
109
+ content[offset++] = this.VER;
110
+ content[offset++] = flags;
111
+ content.set(this.writeU48(epochMs), offset);
112
+ offset += 6;
113
+ content.set(nonceBuf, offset);
114
+ offset += 4;
115
+ content.set(lenVar, offset);
116
+ offset += lenVar.length;
117
+ content.set(payload, offset);
118
+ const signature = Env.signEd25519(content, privateKey);
119
+ const final = new Uint8Array(contentLen + 1 + signature.length);
120
+ final.set(content, 0);
121
+ final.set([0x01], contentLen); // Ed25519 type
122
+ final.set(signature, contentLen + 1);
123
+ return final;
124
+ }
125
+ static verifyAndDecode(sealedBytes, publicKey) {
126
+ if (sealedBytes.length < 18)
127
+ throw new Error("TPSUID7RB: too short");
128
+ if (sealedBytes[5] & 0x02 ? false : true)
129
+ throw new Error("TPSUID7RB: not sealed");
130
+ let offset = 16;
131
+ const { value: tpsLen, bytesRead } = this.uvarintDecode(sealedBytes, offset);
132
+ const payloadEnd = offset + bytesRead + tpsLen;
133
+ const content = sealedBytes.slice(0, payloadEnd);
134
+ const signature = sealedBytes.slice(payloadEnd + 1);
135
+ if (!Env.verifyEd25519(content, signature, publicKey)) {
136
+ throw new Error("TPSUID7RB: verification failed");
137
+ }
138
+ return this.decodeBinary(content);
139
+ }
140
+ static epochMsFromTPSString(tps) {
141
+ const date = TPS.toDate(tps);
142
+ if (date)
143
+ return date.getTime();
144
+ const stripped = tps.replace(/;[^?#]*/, "").replace(/[?#].*$/, "");
145
+ const retryDate = TPS.toDate(stripped);
146
+ if (!retryDate)
147
+ throw new Error("TPS: unable to parse date for epoch");
148
+ return retryDate.getTime();
149
+ }
150
+ static writeU48(epochMs) {
151
+ const b = new Uint8Array(6);
152
+ const v = BigInt(epochMs);
153
+ b[0] = Number((v >> 40n) & 0xffn);
154
+ b[1] = Number((v >> 32n) & 0xffn);
155
+ b[2] = Number((v >> 24n) & 0xffn);
156
+ b[3] = Number((v >> 16n) & 0xffn);
157
+ b[4] = Number((v >> 8n) & 0xffn);
158
+ b[5] = Number(v & 0xffn);
159
+ return b;
160
+ }
161
+ static readU48(bytes, offset) {
162
+ const v = (BigInt(bytes[offset]) << 40n) +
163
+ (BigInt(bytes[offset + 1]) << 32n) +
164
+ (BigInt(bytes[offset + 2]) << 24n) +
165
+ (BigInt(bytes[offset + 3]) << 16n) +
166
+ (BigInt(bytes[offset + 4]) << 8n) +
167
+ BigInt(bytes[offset + 5]);
168
+ return Number(v);
169
+ }
170
+ static uvarintEncode(n) {
171
+ const out = [];
172
+ let x = n >>> 0;
173
+ while (x >= 0x80) {
174
+ out.push((x & 0x7f) | 0x80);
175
+ x >>>= 7;
176
+ }
177
+ out.push(x);
178
+ return new Uint8Array(out);
179
+ }
180
+ static uvarintDecode(bytes, offset) {
181
+ let x = 0, s = 0, i = 0;
182
+ while (true) {
183
+ const b = bytes[offset + i];
184
+ if (b < 0x80) {
185
+ x |= b << s;
186
+ return { value: x >>> 0, bytesRead: i + 1 };
187
+ }
188
+ x |= (b & 0x7f) << s;
189
+ s += 7;
190
+ i++;
191
+ }
192
+ }
193
+ static base64UrlEncode(bytes) {
194
+ if (typeof Buffer !== "undefined") {
195
+ return Buffer.from(bytes)
196
+ .toString("base64")
197
+ .replace(/\+/g, "-")
198
+ .replace(/\//g, "_")
199
+ .replace(/=+$/g, "");
200
+ }
201
+ return btoa(String.fromCharCode(...bytes))
202
+ .replace(/\+/g, "-")
203
+ .replace(/\//g, "_")
204
+ .replace(/=+$/g, "");
205
+ }
206
+ static base64UrlDecode(b64url) {
207
+ const padLen = (4 - (b64url.length % 4)) % 4;
208
+ const b64 = (b64url + "=".repeat(padLen))
209
+ .replace(/-/g, "+")
210
+ .replace(/_/g, "/");
211
+ if (typeof Buffer !== "undefined")
212
+ return new Uint8Array(Buffer.from(b64, "base64"));
213
+ const binary = atob(b64);
214
+ return new Uint8Array(Array.from(binary).map((c) => c.charCodeAt(0)));
215
+ }
216
+ }
217
+ TPSUID7RB.MAGIC = new Uint8Array([0x54, 0x50, 0x55, 0x37]);
218
+ TPSUID7RB.VER = 0x01;
219
+ TPSUID7RB.PREFIX = "tpsuid7rb_";
220
+ TPSUID7RB.REGEX = /^tpsuid7rb_[A-Za-z0-9_-]+$/;
221
+ //# sourceMappingURL=uid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uid.js","sourceRoot":"","sources":["../../src/uid.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Shared Calendar Math Utilities
3
+ */
4
+ /**
5
+ * Gregorian -> Julian Day Number
6
+ */
7
+ export function gregorianToJdn(gy, gm, gd) {
8
+ const a = Math.floor((14 - gm) / 12);
9
+ const y = gy + 4800 - a;
10
+ const m = gm + 12 * a - 3;
11
+ return (gd +
12
+ Math.floor((153 * m + 2) / 5) +
13
+ 365 * y +
14
+ Math.floor(y / 4) -
15
+ Math.floor(y / 100) +
16
+ Math.floor(y / 400) -
17
+ 32045);
18
+ }
19
+ /**
20
+ * Julian Day Number -> Gregorian
21
+ */
22
+ export function jdnToGregorian(jdn) {
23
+ const a = jdn + 32044;
24
+ const b = Math.floor((4 * a + 3) / 146097);
25
+ const c = a - Math.floor((146097 * b) / 4);
26
+ const d = Math.floor((4 * c + 3) / 1461);
27
+ const e = c - Math.floor((1461 * d) / 4);
28
+ const m = Math.floor((5 * e + 2) / 153);
29
+ const gd = e - Math.floor((153 * m + 2) / 5) + 1;
30
+ const gm = m + 3 - 12 * Math.floor(m / 10);
31
+ const gy = 100 * b + d - 4800 + Math.floor(m / 10);
32
+ return { gy, gm, gd };
33
+ }
34
+ /**
35
+ * Julian -> Julian Day Number
36
+ */
37
+ export function julianToJdn(jy, jm, jd) {
38
+ const a = Math.floor((14 - jm) / 12);
39
+ const y = jy + 4800 - a;
40
+ const m = jm + 12 * a - 3;
41
+ return (jd + Math.floor((153 * m + 2) / 5) + 365 * y + Math.floor(y / 4) - 32083);
42
+ }
43
+ /**
44
+ * Julian Day Number -> Julian
45
+ */
46
+ export function jdnToJulian(jdn) {
47
+ const c = jdn + 32082;
48
+ const d = Math.floor((4 * c + 3) / 1461);
49
+ const e = c - Math.floor((1461 * d) / 4);
50
+ const m = Math.floor((5 * e + 2) / 153);
51
+ const jd = e - Math.floor((153 * m + 2) / 5) + 1;
52
+ const jm = m + 3 - 12 * Math.floor(m / 10);
53
+ const jy = d - 4800 + Math.floor(m / 10);
54
+ return { jy, jm, jd };
55
+ }
56
+ /**
57
+ * Persian -> Julian Day Number
58
+ */
59
+ export function persianToJdn(jy, jm, jd) {
60
+ const EPOCH = 1948320;
61
+ const epbase = jy - (jy >= 0 ? 474 : 473);
62
+ const epyear = 474 + (epbase % 2820);
63
+ return (jd +
64
+ (jm <= 7 ? (jm - 1) * 31 : (jm - 1) * 30 + 6) +
65
+ Math.floor((epyear * 682 - 110) / 2816) +
66
+ (epyear - 1) * 365 +
67
+ Math.floor(epbase / 2820) * 1029983 +
68
+ EPOCH -
69
+ 1);
70
+ }
71
+ /**
72
+ * Julian Day Number -> Persian
73
+ */
74
+ export function jdnToPersian(jdn) {
75
+ const depoch = jdn - persianToJdn(475, 1, 1);
76
+ const cycle = Math.floor(depoch / 1029983);
77
+ const cyear = depoch % 1029983;
78
+ let ycycle;
79
+ if (cyear === 1029982) {
80
+ ycycle = 2820;
81
+ }
82
+ else {
83
+ const aux1 = Math.floor(cyear / 366);
84
+ const aux2 = cyear % 366;
85
+ ycycle =
86
+ Math.floor((2134 * aux1 + 2816 * aux2 + 2815) / 1028522) + aux1 + 1;
87
+ }
88
+ const jy = ycycle + 2820 * cycle + 474;
89
+ const yday = jdn - persianToJdn(jy, 1, 1) + 1;
90
+ const jm = yday <= 186 ? Math.ceil(yday / 31) : Math.ceil((yday - 6) / 30);
91
+ const jd = jdn - persianToJdn(jy, jm, 1) + 1;
92
+ return { jy: jy <= 0 ? jy - 1 : jy, jm, jd };
93
+ }
94
+ /**
95
+ * Convert Gregorian to Hijri (Tabular Islamic Calendar).
96
+ */
97
+ export function gregorianToHijri(gy, gm, gd) {
98
+ const jdn = gregorianToJdn(gy, gm, gd);
99
+ const L = jdn - 1948440 + 10632;
100
+ const N = Math.floor((L - 1) / 10631);
101
+ const L2 = L - 10631 * N + 354;
102
+ const J = Math.floor((10985 - L2) / 5316) * Math.floor((50 * L2) / 17719) +
103
+ Math.floor(L2 / 5670) * Math.floor((43 * L2) / 15238);
104
+ const L3 = L2 -
105
+ Math.floor((30 - J) / 15) * Math.floor((17719 * J) / 50) -
106
+ Math.floor(J / 16) * Math.floor((15238 * J) / 43) +
107
+ 29;
108
+ const hm = Math.floor((24 * L3) / 709);
109
+ const hd = L3 - Math.floor((709 * hm) / 24);
110
+ const hy = 30 * N + J - 30;
111
+ return { hy, hm, hd };
112
+ }
113
+ /**
114
+ * Convert Hijri to Gregorian.
115
+ */
116
+ export function hijriToGregorian(hy, hm, hd) {
117
+ const jdn = Math.floor((11 * hy + 3) / 30) +
118
+ 354 * hy +
119
+ 30 * hm -
120
+ Math.floor((hm - 1) / 2) +
121
+ hd +
122
+ 1948440 -
123
+ 385;
124
+ return jdnToGregorian(jdn);
125
+ }
126
+ //# sourceMappingURL=calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../../src/utils/calendar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Environment & Compatibility Layer
3
+ * Abstracts Node.js vs Browser differences.
4
+ */
5
+ /* eslint-disable @typescript-eslint/no-require-imports */
6
+ const isNode = typeof require !== "undefined";
7
+ /**
8
+ * Node.js crypto module (conditional)
9
+ */
10
+ const crypto = isNode ? require("crypto") : null;
11
+ /**
12
+ * Node.js zlib module (conditional)
13
+ */
14
+ const zlib = isNode ? require("zlib") : null;
15
+ export const Env = {
16
+ isNode,
17
+ randomBytes(length) {
18
+ if (isNode && crypto) {
19
+ return new Uint8Array(crypto.randomBytes(length));
20
+ }
21
+ if (typeof window !== "undefined" && window.crypto) {
22
+ return window.crypto.getRandomValues(new Uint8Array(length));
23
+ }
24
+ throw new Error("TPS: randomBytes not available in this environment");
25
+ },
26
+ deflate(data) {
27
+ if (isNode && zlib) {
28
+ return new Uint8Array(zlib.deflateRawSync(data));
29
+ }
30
+ throw new Error("TPS: deflate not available in this environment");
31
+ },
32
+ inflate(data) {
33
+ if (isNode && zlib) {
34
+ return new Uint8Array(zlib.inflateRawSync(data));
35
+ }
36
+ throw new Error("TPS: inflate not available in this environment");
37
+ },
38
+ signEd25519(data, privateKey) {
39
+ if (isNode && crypto) {
40
+ let key;
41
+ if (typeof privateKey === "string") {
42
+ if (privateKey.includes("PRIVATE KEY")) {
43
+ key = privateKey;
44
+ }
45
+ else {
46
+ key = crypto.createPrivateKey({
47
+ key: Buffer.from(privateKey, "hex"),
48
+ format: "der",
49
+ type: "pkcs8",
50
+ });
51
+ }
52
+ }
53
+ else if (typeof privateKey === "object" &&
54
+ privateKey !== null &&
55
+ "asymmetricKeyType" in privateKey) {
56
+ key = privateKey;
57
+ }
58
+ else {
59
+ key = crypto.createPrivateKey({
60
+ key: Buffer.from(privateKey),
61
+ format: "der",
62
+ type: "pkcs8",
63
+ });
64
+ }
65
+ return new Uint8Array(crypto.sign(null, data, key));
66
+ }
67
+ throw new Error("TPS: signEd25519 not available in this environment");
68
+ },
69
+ verifyEd25519(data, signature, publicKey) {
70
+ if (isNode && crypto) {
71
+ return crypto.verify(null, data, publicKey, signature);
72
+ }
73
+ throw new Error("TPS: verifyEd25519 not available in this environment");
74
+ },
75
+ };
76
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/utils/env.ts"],"names":[],"mappings":"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"}