@nextera.one/tps-standard 0.5.33 → 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 (105) hide show
  1. package/CHANGELOG.md +88 -0
  2. package/README.md +133 -56
  3. package/dist/date.d.ts +54 -0
  4. package/dist/date.js +174 -0
  5. package/dist/date.js.map +1 -0
  6. package/dist/driver-manager.d.ts +34 -0
  7. package/dist/driver-manager.js +53 -0
  8. package/dist/driver-manager.js.map +1 -0
  9. package/dist/drivers/chinese.d.ts +25 -0
  10. package/dist/drivers/chinese.js +485 -0
  11. package/dist/drivers/chinese.js.map +1 -0
  12. package/dist/drivers/gregorian.d.ts +3 -5
  13. package/dist/drivers/gregorian.js +26 -19
  14. package/dist/drivers/gregorian.js.map +1 -1
  15. package/dist/drivers/hijri.d.ts +1 -16
  16. package/dist/drivers/hijri.js +9 -102
  17. package/dist/drivers/hijri.js.map +1 -1
  18. package/dist/drivers/holocene.d.ts +6 -3
  19. package/dist/drivers/holocene.js +7 -20
  20. package/dist/drivers/holocene.js.map +1 -1
  21. package/dist/drivers/julian.d.ts +3 -10
  22. package/dist/drivers/julian.js +11 -71
  23. package/dist/drivers/julian.js.map +1 -1
  24. package/dist/drivers/persian.d.ts +1 -6
  25. package/dist/drivers/persian.js +17 -92
  26. package/dist/drivers/persian.js.map +1 -1
  27. package/dist/drivers/tps.d.ts +11 -28
  28. package/dist/drivers/tps.js +8 -58
  29. package/dist/drivers/tps.js.map +1 -1
  30. package/dist/drivers/unix.d.ts +5 -6
  31. package/dist/drivers/unix.js +10 -32
  32. package/dist/drivers/unix.js.map +1 -1
  33. package/dist/esm/date.js +170 -0
  34. package/dist/esm/date.js.map +1 -0
  35. package/dist/esm/driver-manager.js +49 -0
  36. package/dist/esm/driver-manager.js.map +1 -0
  37. package/dist/esm/drivers/chinese.js +481 -0
  38. package/dist/esm/drivers/chinese.js.map +1 -0
  39. package/dist/esm/drivers/gregorian.js +160 -0
  40. package/dist/esm/drivers/gregorian.js.map +1 -0
  41. package/dist/esm/drivers/hijri.js +184 -0
  42. package/dist/esm/drivers/hijri.js.map +1 -0
  43. package/dist/esm/drivers/holocene.js +115 -0
  44. package/dist/esm/drivers/holocene.js.map +1 -0
  45. package/dist/esm/drivers/julian.js +161 -0
  46. package/dist/esm/drivers/julian.js.map +1 -0
  47. package/dist/esm/drivers/persian.js +190 -0
  48. package/dist/esm/drivers/persian.js.map +1 -0
  49. package/dist/esm/drivers/tps.js +181 -0
  50. package/dist/esm/drivers/tps.js.map +1 -0
  51. package/dist/esm/drivers/unix.js +50 -0
  52. package/dist/esm/drivers/unix.js.map +1 -0
  53. package/dist/esm/index.js +873 -0
  54. package/dist/esm/index.js.map +1 -0
  55. package/dist/esm/types.js +28 -0
  56. package/dist/esm/types.js.map +1 -0
  57. package/dist/esm/uid.js +221 -0
  58. package/dist/esm/uid.js.map +1 -0
  59. package/dist/esm/utils/calendar.js +126 -0
  60. package/dist/esm/utils/calendar.js.map +1 -0
  61. package/dist/esm/utils/env.js +76 -0
  62. package/dist/esm/utils/env.js.map +1 -0
  63. package/dist/esm/utils/timezone.js +168 -0
  64. package/dist/esm/utils/timezone.js.map +1 -0
  65. package/dist/esm/utils/tps-string.js +160 -0
  66. package/dist/esm/utils/tps-string.js.map +1 -0
  67. package/dist/index.d.ts +84 -466
  68. package/dist/index.js +430 -1095
  69. package/dist/index.js.map +1 -1
  70. package/dist/types.d.ts +103 -0
  71. package/dist/types.js +31 -0
  72. package/dist/types.js.map +1 -0
  73. package/dist/uid.d.ts +48 -0
  74. package/dist/uid.js +225 -0
  75. package/dist/uid.js.map +1 -0
  76. package/dist/utils/calendar.d.ts +55 -0
  77. package/dist/utils/calendar.js +136 -0
  78. package/dist/utils/calendar.js.map +1 -0
  79. package/dist/utils/env.d.ts +12 -0
  80. package/dist/utils/env.js +79 -0
  81. package/dist/utils/env.js.map +1 -0
  82. package/dist/utils/timezone.d.ts +32 -0
  83. package/dist/utils/timezone.js +173 -0
  84. package/dist/utils/timezone.js.map +1 -0
  85. package/dist/utils/tps-string.d.ts +12 -0
  86. package/dist/utils/tps-string.js +164 -0
  87. package/dist/utils/tps-string.js.map +1 -0
  88. package/package.json +20 -5
  89. package/src/date.ts +243 -0
  90. package/src/driver-manager.ts +54 -0
  91. package/src/drivers/chinese.ts +542 -0
  92. package/src/drivers/gregorian.ts +29 -27
  93. package/src/drivers/hijri.ts +13 -113
  94. package/src/drivers/holocene.ts +11 -12
  95. package/src/drivers/julian.ts +18 -72
  96. package/src/drivers/persian.ts +25 -92
  97. package/src/drivers/tps.ts +16 -55
  98. package/src/drivers/unix.ts +12 -33
  99. package/src/index.ts +384 -1556
  100. package/src/types.ts +131 -0
  101. package/src/uid.ts +308 -0
  102. package/src/utils/calendar.ts +161 -0
  103. package/src/utils/env.ts +88 -0
  104. package/src/utils/timezone.ts +182 -0
  105. package/src/utils/tps-string.ts +166 -0
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
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 declare const DefaultCalendars: {
10
+ readonly TPS: "tps";
11
+ readonly GREG: "greg";
12
+ readonly HIJ: "hij";
13
+ readonly PER: "per";
14
+ readonly JUL: "jul";
15
+ readonly HOLO: "holo";
16
+ readonly UNIX: "unix";
17
+ readonly 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 declare enum TimeOrder {
24
+ DESC = "desc",
25
+ ASC = "asc"
26
+ }
27
+ export interface TPSComponents {
28
+ calendar: string;
29
+ millennium: number;
30
+ century: number;
31
+ year: number;
32
+ month: number;
33
+ day: number;
34
+ hour: number;
35
+ minute: number;
36
+ second: number;
37
+ millisecond: number;
38
+ unixSeconds?: number;
39
+ latitude?: number;
40
+ longitude?: number;
41
+ altitude?: number;
42
+ s2Cell?: string;
43
+ h3Cell?: string;
44
+ plusCode?: string;
45
+ what3words?: string;
46
+ /** ISO 3166-1 alpha-2 country code, e.g. "JO" → P:cc=JO */
47
+ placeCountryCode?: string;
48
+ /** Full country name, e.g. "Jordan" → P:cn=Jordan */
49
+ placeCountryName?: string;
50
+ /** City IATA/ISO code, e.g. "AMM" → P:ci=AMM */
51
+ placeCityCode?: string;
52
+ /** Full city name, e.g. "Amman" → P:ct=Amman */
53
+ placeCityName?: string;
54
+ /** IPv4 address (net:ip4:x or NIP4:x) */
55
+ ipv4?: string;
56
+ /** IPv6 address (net:ip6:x or NIP6:x) */
57
+ ipv6?: string;
58
+ /** Logical node / host name (node:api-1 or NODE:api-1) */
59
+ nodeName?: string;
60
+ building?: string;
61
+ floor?: string;
62
+ room?: string;
63
+ door?: string;
64
+ zone?: string;
65
+ /** Raw pre-@ space anchor (generic/legacy/planet/adm) */
66
+ spaceAnchor?: string;
67
+ isUnknownLocation?: boolean;
68
+ isRedactedLocation?: boolean;
69
+ isHiddenLocation?: boolean;
70
+ actor?: string;
71
+ signature?: string;
72
+ extensions?: Record<string, string>;
73
+ /** Structured context key-value pairs from the #C: fragment block */
74
+ context?: Record<string, string>;
75
+ order?: TimeOrder;
76
+ }
77
+ /**
78
+ * Interface for Calendar Driver plugins.
79
+ */
80
+ export interface CalendarDriver {
81
+ readonly code: string;
82
+ readonly name?: string;
83
+ getComponentsFromDate(date: Date): Partial<TPSComponents>;
84
+ getDateFromComponents(components: Partial<TPSComponents>): Date;
85
+ getFromDate(date: Date): string;
86
+ parseDate(input: string, format?: string): Partial<TPSComponents>;
87
+ format(components: Partial<TPSComponents>, format?: string): string;
88
+ validate(input: string | Partial<TPSComponents>): boolean;
89
+ getMetadata(): CalendarMetadata;
90
+ }
91
+ /**
92
+ * Metadata about a calendar system.
93
+ */
94
+ export interface CalendarMetadata {
95
+ name: string;
96
+ monthNames?: string[];
97
+ monthNamesShort?: string[];
98
+ dayNames?: string[];
99
+ dayNamesShort?: string[];
100
+ isLunar?: boolean;
101
+ monthsPerYear?: number;
102
+ epochYear?: number;
103
+ }
package/dist/types.js ADDED
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /**
3
+ * TPS: Temporal Positioning System
4
+ * Shared types and interfaces.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.TimeOrder = exports.DefaultCalendars = void 0;
8
+ /**
9
+ * Calendar codes are plain strings to allow arbitrary user-defined
10
+ * calendars. The library still exports constants for the built-in values.
11
+ */
12
+ exports.DefaultCalendars = {
13
+ TPS: "tps",
14
+ GREG: "greg",
15
+ HIJ: "hij",
16
+ PER: "per",
17
+ JUL: "jul",
18
+ HOLO: "holo",
19
+ UNIX: "unix",
20
+ CHIN: "chin",
21
+ };
22
+ /**
23
+ * Specifies the direction of the time-component hierarchy when serializing or
24
+ * deserializing a TPS string. The default is 'descending'.
25
+ */
26
+ var TimeOrder;
27
+ (function (TimeOrder) {
28
+ TimeOrder["DESC"] = "desc";
29
+ TimeOrder["ASC"] = "asc";
30
+ })(TimeOrder || (exports.TimeOrder = TimeOrder = {}));
31
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;;GAGG;AACU,QAAA,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,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,wBAAW,CAAA;AACb,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB"}
package/dist/uid.d.ts ADDED
@@ -0,0 +1,48 @@
1
+ /**
2
+ * TPS-UID v1 — Temporal Positioning System Identifier (Binary Reversible)
3
+ */
4
+ import { TimeOrder } from "./types";
5
+ /**
6
+ * Decoded result from TPSUID7RB binary format.
7
+ */
8
+ export type TPSUID7RBDecodeResult = {
9
+ version: "tpsuid7rb";
10
+ epochMs: number;
11
+ compressed: boolean;
12
+ nonce: number;
13
+ tps: string;
14
+ };
15
+ /**
16
+ * Encoding options for TPSUID7RB.
17
+ */
18
+ export type TPSUID7RBEncodeOptions = {
19
+ compress?: boolean;
20
+ epochMs?: number;
21
+ };
22
+ export declare class TPSUID7RB {
23
+ private static readonly MAGIC;
24
+ private static readonly VER;
25
+ private static readonly PREFIX;
26
+ static readonly REGEX: RegExp;
27
+ static encodeBinary(tps: string, opts?: TPSUID7RBEncodeOptions): Uint8Array;
28
+ static decodeBinary(bytes: Uint8Array): TPSUID7RBDecodeResult;
29
+ static encodeBinaryB64(tps: string, opts?: TPSUID7RBEncodeOptions): string;
30
+ static decodeBinaryB64(id: string): TPSUID7RBDecodeResult;
31
+ static validateBinaryB64(id: string): boolean;
32
+ static generate(opts?: {
33
+ latitude?: number;
34
+ longitude?: number;
35
+ altitude?: number;
36
+ compress?: boolean;
37
+ order?: TimeOrder;
38
+ }): string;
39
+ static seal(tps: string, privateKey: any, opts?: TPSUID7RBEncodeOptions): Uint8Array;
40
+ static verifyAndDecode(sealedBytes: Uint8Array, publicKey: any): TPSUID7RBDecodeResult;
41
+ static epochMsFromTPSString(tps: string): number;
42
+ private static writeU48;
43
+ private static readU48;
44
+ private static uvarintEncode;
45
+ private static uvarintDecode;
46
+ private static base64UrlEncode;
47
+ private static base64UrlDecode;
48
+ }
package/dist/uid.js ADDED
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+ /**
3
+ * TPS-UID v1 — Temporal Positioning System Identifier (Binary Reversible)
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TPSUID7RB = void 0;
7
+ const index_1 = require("./index");
8
+ const types_1 = require("./types");
9
+ const env_1 = require("./utils/env");
10
+ class TPSUID7RB {
11
+ static encodeBinary(tps, opts = {}) {
12
+ const compress = opts.compress ?? false;
13
+ const epochMs = opts.epochMs ?? this.epochMsFromTPSString(tps);
14
+ if (!Number.isInteger(epochMs) || epochMs < 0 || epochMs > 0xffffffffffff) {
15
+ throw new Error("TPSUID7RB: Invalid epochMs (must be 48-bit non-negative integer)");
16
+ }
17
+ const flags = compress ? 0x01 : 0x00;
18
+ const nonceBuf = env_1.Env.randomBytes(4);
19
+ const tpsUtf8 = new TextEncoder().encode(tps);
20
+ const payload = compress ? env_1.Env.deflate(tpsUtf8) : tpsUtf8;
21
+ const lenVar = this.uvarintEncode(payload.length);
22
+ const out = new Uint8Array(4 + 1 + 1 + 6 + 4 + lenVar.length + payload.length);
23
+ let offset = 0;
24
+ out.set(this.MAGIC, offset);
25
+ offset += 4;
26
+ out[offset++] = this.VER;
27
+ out[offset++] = flags;
28
+ out.set(this.writeU48(epochMs), offset);
29
+ offset += 6;
30
+ out.set(nonceBuf, offset);
31
+ offset += 4;
32
+ out.set(lenVar, offset);
33
+ offset += lenVar.length;
34
+ out.set(payload, offset);
35
+ return out;
36
+ }
37
+ static decodeBinary(bytes) {
38
+ if (bytes.length < 17)
39
+ throw new Error("TPSUID7RB: too short");
40
+ if (bytes[0] !== 0x54 ||
41
+ bytes[1] !== 0x50 ||
42
+ bytes[2] !== 0x55 ||
43
+ bytes[3] !== 0x37) {
44
+ throw new Error("TPSUID7RB: bad magic");
45
+ }
46
+ const ver = bytes[4];
47
+ if (ver !== this.VER)
48
+ throw new Error(`TPSUID7RB: unsupported version ${ver}`);
49
+ const flags = bytes[5];
50
+ const compressed = (flags & 0x01) === 0x01;
51
+ const epochMs = this.readU48(bytes, 6);
52
+ const nonce = ((bytes[12] << 24) >>> 0) +
53
+ ((bytes[13] << 16) >>> 0) +
54
+ ((bytes[14] << 8) >>> 0) +
55
+ bytes[15];
56
+ let offset = 16;
57
+ const { value: tpsLen, bytesRead } = this.uvarintDecode(bytes, offset);
58
+ offset += bytesRead;
59
+ if (offset + tpsLen > bytes.length)
60
+ throw new Error("TPSUID7RB: length overflow");
61
+ const payload = bytes.slice(offset, offset + tpsLen);
62
+ const tpsUtf8 = compressed ? env_1.Env.inflate(payload) : payload;
63
+ const tps = new TextDecoder().decode(tpsUtf8);
64
+ return { version: "tpsuid7rb", epochMs, compressed, nonce, tps };
65
+ }
66
+ static encodeBinaryB64(tps, opts) {
67
+ const bytes = this.encodeBinary(tps, opts ?? {});
68
+ return `${this.PREFIX}${this.base64UrlEncode(bytes)}`;
69
+ }
70
+ static decodeBinaryB64(id) {
71
+ const s = id.trim();
72
+ if (!s.startsWith(this.PREFIX))
73
+ throw new Error("TPSUID7RB: missing prefix");
74
+ return this.decodeBinary(this.base64UrlDecode(s.slice(this.PREFIX.length)));
75
+ }
76
+ static validateBinaryB64(id) {
77
+ return this.REGEX.test(id.trim());
78
+ }
79
+ static generate(opts) {
80
+ const now = new Date();
81
+ const time = index_1.TPS.fromDate(now, types_1.DefaultCalendars.TPS, {
82
+ order: opts?.order,
83
+ });
84
+ let space = "unknown";
85
+ if (opts?.latitude !== undefined && opts?.longitude !== undefined) {
86
+ space = `${opts.latitude},${opts.longitude}`;
87
+ if (opts.altitude !== undefined)
88
+ space += `,${opts.altitude}m`;
89
+ }
90
+ const tps = `tps://${space}@${time}`;
91
+ return this.encodeBinaryB64(tps, {
92
+ compress: opts?.compress,
93
+ epochMs: now.getTime(),
94
+ });
95
+ }
96
+ static seal(tps, privateKey, opts) {
97
+ const compress = opts?.compress ?? false;
98
+ const epochMs = opts?.epochMs ?? this.epochMsFromTPSString(tps);
99
+ if (!Number.isInteger(epochMs) || epochMs < 0 || epochMs > 0xffffffffffff) {
100
+ throw new Error("TPSUID7RB: Invalid epochMs");
101
+ }
102
+ const flags = (compress ? 0x01 : 0x00) | 0x02; // Set SEAL bit
103
+ const nonceBuf = env_1.Env.randomBytes(4);
104
+ const tpsUtf8 = new TextEncoder().encode(tps);
105
+ const payload = compress ? env_1.Env.deflate(tpsUtf8) : tpsUtf8;
106
+ const lenVar = this.uvarintEncode(payload.length);
107
+ const contentLen = 4 + 1 + 1 + 6 + 4 + lenVar.length + payload.length;
108
+ const content = new Uint8Array(contentLen);
109
+ let offset = 0;
110
+ content.set(this.MAGIC, offset);
111
+ offset += 4;
112
+ content[offset++] = this.VER;
113
+ content[offset++] = flags;
114
+ content.set(this.writeU48(epochMs), offset);
115
+ offset += 6;
116
+ content.set(nonceBuf, offset);
117
+ offset += 4;
118
+ content.set(lenVar, offset);
119
+ offset += lenVar.length;
120
+ content.set(payload, offset);
121
+ const signature = env_1.Env.signEd25519(content, privateKey);
122
+ const final = new Uint8Array(contentLen + 1 + signature.length);
123
+ final.set(content, 0);
124
+ final.set([0x01], contentLen); // Ed25519 type
125
+ final.set(signature, contentLen + 1);
126
+ return final;
127
+ }
128
+ static verifyAndDecode(sealedBytes, publicKey) {
129
+ if (sealedBytes.length < 18)
130
+ throw new Error("TPSUID7RB: too short");
131
+ if (sealedBytes[5] & 0x02 ? false : true)
132
+ throw new Error("TPSUID7RB: not sealed");
133
+ let offset = 16;
134
+ const { value: tpsLen, bytesRead } = this.uvarintDecode(sealedBytes, offset);
135
+ const payloadEnd = offset + bytesRead + tpsLen;
136
+ const content = sealedBytes.slice(0, payloadEnd);
137
+ const signature = sealedBytes.slice(payloadEnd + 1);
138
+ if (!env_1.Env.verifyEd25519(content, signature, publicKey)) {
139
+ throw new Error("TPSUID7RB: verification failed");
140
+ }
141
+ return this.decodeBinary(content);
142
+ }
143
+ static epochMsFromTPSString(tps) {
144
+ const date = index_1.TPS.toDate(tps);
145
+ if (date)
146
+ return date.getTime();
147
+ const stripped = tps.replace(/;[^?#]*/, "").replace(/[?#].*$/, "");
148
+ const retryDate = index_1.TPS.toDate(stripped);
149
+ if (!retryDate)
150
+ throw new Error("TPS: unable to parse date for epoch");
151
+ return retryDate.getTime();
152
+ }
153
+ static writeU48(epochMs) {
154
+ const b = new Uint8Array(6);
155
+ const v = BigInt(epochMs);
156
+ b[0] = Number((v >> 40n) & 0xffn);
157
+ b[1] = Number((v >> 32n) & 0xffn);
158
+ b[2] = Number((v >> 24n) & 0xffn);
159
+ b[3] = Number((v >> 16n) & 0xffn);
160
+ b[4] = Number((v >> 8n) & 0xffn);
161
+ b[5] = Number(v & 0xffn);
162
+ return b;
163
+ }
164
+ static readU48(bytes, offset) {
165
+ const v = (BigInt(bytes[offset]) << 40n) +
166
+ (BigInt(bytes[offset + 1]) << 32n) +
167
+ (BigInt(bytes[offset + 2]) << 24n) +
168
+ (BigInt(bytes[offset + 3]) << 16n) +
169
+ (BigInt(bytes[offset + 4]) << 8n) +
170
+ BigInt(bytes[offset + 5]);
171
+ return Number(v);
172
+ }
173
+ static uvarintEncode(n) {
174
+ const out = [];
175
+ let x = n >>> 0;
176
+ while (x >= 0x80) {
177
+ out.push((x & 0x7f) | 0x80);
178
+ x >>>= 7;
179
+ }
180
+ out.push(x);
181
+ return new Uint8Array(out);
182
+ }
183
+ static uvarintDecode(bytes, offset) {
184
+ let x = 0, s = 0, i = 0;
185
+ while (true) {
186
+ const b = bytes[offset + i];
187
+ if (b < 0x80) {
188
+ x |= b << s;
189
+ return { value: x >>> 0, bytesRead: i + 1 };
190
+ }
191
+ x |= (b & 0x7f) << s;
192
+ s += 7;
193
+ i++;
194
+ }
195
+ }
196
+ static base64UrlEncode(bytes) {
197
+ if (typeof Buffer !== "undefined") {
198
+ return Buffer.from(bytes)
199
+ .toString("base64")
200
+ .replace(/\+/g, "-")
201
+ .replace(/\//g, "_")
202
+ .replace(/=+$/g, "");
203
+ }
204
+ return btoa(String.fromCharCode(...bytes))
205
+ .replace(/\+/g, "-")
206
+ .replace(/\//g, "_")
207
+ .replace(/=+$/g, "");
208
+ }
209
+ static base64UrlDecode(b64url) {
210
+ const padLen = (4 - (b64url.length % 4)) % 4;
211
+ const b64 = (b64url + "=".repeat(padLen))
212
+ .replace(/-/g, "+")
213
+ .replace(/_/g, "/");
214
+ if (typeof Buffer !== "undefined")
215
+ return new Uint8Array(Buffer.from(b64, "base64"));
216
+ const binary = atob(b64);
217
+ return new Uint8Array(Array.from(binary).map((c) => c.charCodeAt(0)));
218
+ }
219
+ }
220
+ exports.TPSUID7RB = TPSUID7RB;
221
+ TPSUID7RB.MAGIC = new Uint8Array([0x54, 0x50, 0x55, 0x37]);
222
+ TPSUID7RB.VER = 0x01;
223
+ TPSUID7RB.PREFIX = "tpsuid7rb_";
224
+ TPSUID7RB.REGEX = /^tpsuid7rb_[A-Za-z0-9_-]+$/;
225
+ //# 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,55 @@
1
+ /**
2
+ * Shared Calendar Math Utilities
3
+ */
4
+ /**
5
+ * Gregorian -> Julian Day Number
6
+ */
7
+ export declare function gregorianToJdn(gy: number, gm: number, gd: number): number;
8
+ /**
9
+ * Julian Day Number -> Gregorian
10
+ */
11
+ export declare function jdnToGregorian(jdn: number): {
12
+ gy: number;
13
+ gm: number;
14
+ gd: number;
15
+ };
16
+ /**
17
+ * Julian -> Julian Day Number
18
+ */
19
+ export declare function julianToJdn(jy: number, jm: number, jd: number): number;
20
+ /**
21
+ * Julian Day Number -> Julian
22
+ */
23
+ export declare function jdnToJulian(jdn: number): {
24
+ jy: number;
25
+ jm: number;
26
+ jd: number;
27
+ };
28
+ /**
29
+ * Persian -> Julian Day Number
30
+ */
31
+ export declare function persianToJdn(jy: number, jm: number, jd: number): number;
32
+ /**
33
+ * Julian Day Number -> Persian
34
+ */
35
+ export declare function jdnToPersian(jdn: number): {
36
+ jy: number;
37
+ jm: number;
38
+ jd: number;
39
+ };
40
+ /**
41
+ * Convert Gregorian to Hijri (Tabular Islamic Calendar).
42
+ */
43
+ export declare function gregorianToHijri(gy: number, gm: number, gd: number): {
44
+ hy: number;
45
+ hm: number;
46
+ hd: number;
47
+ };
48
+ /**
49
+ * Convert Hijri to Gregorian.
50
+ */
51
+ export declare function hijriToGregorian(hy: number, hm: number, hd: number): {
52
+ gy: number;
53
+ gm: number;
54
+ gd: number;
55
+ };