saro-dat 3.2.0 → 3.3.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/README.md CHANGED
@@ -27,34 +27,34 @@
27
27
  - mac mini m4 2024 basic (10 core)
28
28
  - [bench.test.ts](src/bench.test.ts)
29
29
  ```
30
- plain: 0xpDkaXYGe3Rgc5BZIkM4eCmbHsVsm0LAlPg2UYKLK00Wcrr1C4idbYpx411JtrhFs3ids9kZLbgUmJuymuLqByDHi1JzlhNqzLx
31
- secure: QGRaPDfdl0Ysp8WV9jat27M2AieTREzr1K8YNhmxIzGmmOdUUeAn4O4mdsYwk8oykf3NDV3mf2Fgc2xzXSpBMu8wQJG5FsfSC3js
30
+ plain: q4ik3eJpdYtp9uuOUCMzUMluZQD2XKPpywZPsYOgRcGtqW4IbLoFPZbPrWd3t783NAuEHKoB4KiyaZXalHW5RbT2Z8Z1uWLIBEfw
31
+ secure: 8UKf9bdUkC9ns1WG7tYxv9t65XnhiLBJ9OyPFV2VkyiVa2gRC79OXoKQWbURMoxVNStnxbxkHYvzSZjjKc041UbaifBh2KoDyOWY
32
32
 
33
33
  Multi-Thread
34
- P256 AES128GCMN Issue * 10000 : 208ms
35
- P256 AES128GCMN Parse * 10000 : 198ms
36
- P256 AES256GCMN Issue * 10000 : 182ms
37
- P256 AES256GCMN Parse * 10000 : 176ms
38
- P384 AES128GCMN Issue * 10000 : 1035ms
39
- P384 AES128GCMN Parse * 10000 : 852ms
40
- P384 AES256GCMN Issue * 10000 : 1025ms
41
- P384 AES256GCMN Parse * 10000 : 856ms
34
+ P256 AES128GCMN Issue * 10000 : 206ms
35
+ P256 AES128GCMN Parse * 10000 : 195ms
36
+ P256 AES256GCMN Issue * 10000 : 187ms
37
+ P256 AES256GCMN Parse * 10000 : 178ms
38
+ P384 AES128GCMN Issue * 10000 : 1005ms
39
+ P384 AES128GCMN Parse * 10000 : 857ms
40
+ P384 AES256GCMN Issue * 10000 : 1044ms
41
+ P384 AES256GCMN Parse * 10000 : 839ms
42
42
  P521 AES128GCMN Issue * 10000 : 2512ms
43
- P521 AES128GCMN Parse * 10000 : 1979ms
44
- P521 AES256GCMN Issue * 10000 : 2516ms
45
- P521 AES256GCMN Parse * 10000 : 1946ms
43
+ P521 AES128GCMN Parse * 10000 : 1876ms
44
+ P521 AES256GCMN Issue * 10000 : 2462ms
45
+ P521 AES256GCMN Parse * 10000 : 1972ms
46
46
 
47
47
  Single-Thread
48
- P256 AES128GCMN Issue * 10000 : 457ms
49
- P256 AES128GCMN Parse * 10000 : 704ms
50
- P256 AES256GCMN Issue * 10000 : 446ms
51
- P256 AES256GCMN Parse * 10000 : 702ms
52
- P384 AES128GCMN Issue * 10000 : 4184ms
53
- P384 AES128GCMN Parse * 10000 : 3523ms
54
- P384 AES256GCMN Issue * 10000 : 4121ms
55
- P384 AES256GCMN Parse * 10000 : 3581ms
56
- P521 AES128GCMN Issue * 10000 : 9952ms
57
- P521 AES128GCMN Parse * 10000 : 7690ms
58
- P521 AES256GCMN Issue * 10000 : 9942ms
59
- P521 AES256GCMN Parse * 10000 : 7944ms
48
+ P256 AES128GCMN Issue * 10000 : 466ms
49
+ P256 AES128GCMN Parse * 10000 : 701ms
50
+ P256 AES256GCMN Issue * 10000 : 444ms
51
+ P256 AES256GCMN Parse * 10000 : 701ms
52
+ P384 AES128GCMN Issue * 10000 : 4088ms
53
+ P384 AES128GCMN Parse * 10000 : 3514ms
54
+ P384 AES256GCMN Issue * 10000 : 4097ms
55
+ P384 AES256GCMN Parse * 10000 : 3531ms
56
+ P521 AES128GCMN Issue * 10000 : 9563ms
57
+ P521 AES128GCMN Parse * 10000 : 7554ms
58
+ P521 AES256GCMN Issue * 10000 : 9623ms
59
+ P521 AES256GCMN Parse * 10000 : 7490ms
60
60
  ```
@@ -3,10 +3,10 @@ export declare class DatCertificate {
3
3
  readonly cid: bigint;
4
4
  readonly _signatureKey: DatSignatureKey;
5
5
  readonly _cryptoKey: DatCryptoKey;
6
- readonly _datIssueBegin: number;
7
- readonly _datIssueEnd: number;
8
- readonly _datTtl: number;
9
- constructor(cid: bigint | number, signatureKey: DatSignatureKey, cryptoKey: DatCryptoKey, datIssueBegin: number, datIssueEnd: number, datTtl: number);
6
+ readonly _datIssueBegin: bigint;
7
+ readonly _datIssueEnd: bigint;
8
+ readonly _datTtl: bigint;
9
+ constructor(cid: bigint | number, signatureKey: DatSignatureKey, cryptoKey: DatCryptoKey, datIssueBegin: number | bigint | string, datIssueEnd: number | bigint | string, datTtl: number | bigint | string);
10
10
  exports(datSignatureKeyOutOption: DatSignatureKeyOutOption): Promise<string>;
11
11
  static imports(format: string): Promise<DatCertificate>;
12
12
  issuable(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"dat.certificate.d.ts","sourceRoot":"","sources":["../src/dat.certificate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAc,eAAe,EAAE,wBAAwB,EAAe,MAAM,YAAY,CAAC;AAE7G,qBAAa,cAAc;IACvB,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,aAAa,EAAE,eAAe,CAAC;IAC/C,SAAgB,UAAU,EAAE,YAAY,CAAC;IACzC,SAAgB,cAAc,EAAE,MAAM,CAAC;IACvC,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,OAAO,EAAE,MAAM,CAAC;gBAG5B,GAAG,EAAE,MAAM,GAAC,MAAM,EAClB,YAAY,EAAE,eAAe,EAC7B,SAAS,EAAE,YAAY,EACvB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM;IAoBZ,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC;WAYrE,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAc7D,QAAQ,IAAI,OAAO;IAKnB,OAAO,IAAI,OAAO;IAIlB,aAAa,IAAI,OAAO;CAG3B"}
1
+ {"version":3,"file":"dat.certificate.d.ts","sourceRoot":"","sources":["../src/dat.certificate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAc,eAAe,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAGhG,qBAAa,cAAc;IACvB,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,aAAa,EAAE,eAAe,CAAC;IAC/C,SAAgB,UAAU,EAAE,YAAY,CAAC;IACzC,SAAgB,cAAc,EAAE,MAAM,CAAC;IACvC,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,OAAO,EAAE,MAAM,CAAC;gBAG5B,GAAG,EAAE,MAAM,GAAC,MAAM,EAClB,YAAY,EAAE,eAAe,EAC7B,SAAS,EAAE,YAAY,EACvB,aAAa,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM,EACnC,WAAW,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM,EACjC,MAAM,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM;IAY1B,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC;WAYrE,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAc7D,QAAQ,IAAI,OAAO;IAInB,OAAO,IAAI,OAAO;IAIlB,aAAa,IAAI,OAAO;CAG3B"}
@@ -1,4 +1,5 @@
1
- import { DatCryptoKey, DatInteger, DatSignatureKey, DatUnixtime, } from "./index.js";
1
+ import { DatCryptoKey, DatInteger, DatSignatureKey, } from "./index.js";
2
+ import { Unixtime } from "infinite-unixtime";
2
3
  export class DatCertificate {
3
4
  cid;
4
5
  _signatureKey;
@@ -8,21 +9,12 @@ export class DatCertificate {
8
9
  _datTtl;
9
10
  constructor(cid, signatureKey, cryptoKey, datIssueBegin, datIssueEnd, datTtl) {
10
11
  cid = DatInteger.toCid(cid, `Invalid cid(Certificate ID) is HEX ${cid}`);
11
- if (!DatInteger.isBetween(datIssueBegin, 0)) {
12
- throw new Error(`Invalid issueBegin: issueBegin is positive int or 0 ${datIssueBegin}`);
13
- }
14
- if (!DatInteger.isBetween(datIssueEnd, 0)) {
15
- throw new Error(`Invalid issueEnd: issueEnd is positive int or 0 ${datIssueEnd}`);
16
- }
17
- if (!DatInteger.isBetween(datTtl, 1)) {
18
- throw new Error(`Invalid datTtl: datTtl is positive int ${datTtl}`);
19
- }
20
12
  this.cid = cid;
21
13
  this._signatureKey = signatureKey;
22
14
  this._cryptoKey = cryptoKey;
23
- this._datIssueBegin = Math.floor(datIssueBegin);
24
- this._datIssueEnd = Math.floor(datIssueEnd);
25
- this._datTtl = Math.floor(datTtl);
15
+ this._datIssueBegin = DatInteger.toBigInt(datIssueBegin, `Invalid: datIssueBegin is positive int or 0 ${datIssueBegin}`, 0n);
16
+ this._datIssueEnd = DatInteger.toBigInt(datIssueEnd, `Invalid: datIssueEnd is positive int or 0 ${datIssueEnd}`, 0n);
17
+ this._datTtl = DatInteger.toBigInt(datTtl, `Invalid: datTtl is positive int or 0 ${datTtl}`, 0n);
26
18
  }
27
19
  async exports(datSignatureKeyOutOption) {
28
20
  const cid = this.cid.toString(16);
@@ -49,11 +41,10 @@ export class DatCertificate {
49
41
  throw new Error("Invalid Certificate format");
50
42
  }
51
43
  issuable() {
52
- const now = DatUnixtime.now();
53
- return this.hasSigningKey() && now >= this._datIssueBegin && now <= this._datIssueEnd;
44
+ return this.hasSigningKey() && Unixtime.now().between(this._datIssueBegin, this._datIssueEnd, true);
54
45
  }
55
46
  expired() {
56
- return DatUnixtime.isPast(this._datIssueEnd + this._datTtl);
47
+ return Unixtime.now().after(this._datIssueEnd + this._datTtl, true);
57
48
  }
58
49
  hasSigningKey() {
59
50
  return this._signatureKey.hasSigningKey();
@@ -1 +1 @@
1
- {"version":3,"file":"dat.certificate.js","sourceRoot":"","sources":["../src/dat.certificate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dat.certificate.js","sourceRoot":"","sources":["../src/dat.certificate.ts"],"names":[],"mappings":"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"}
package/dist/dat.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dat.d.ts","sourceRoot":"","sources":["../src/dat.ts"],"names":[],"mappings":"AAEA,qBAAa,GAAG;IACZ,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAM;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAS;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAK;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAM;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAsB;IAClD,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAsB;IACnD,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAsB;gBAE1C,GAAG,EAAE,MAAM,GAAC,SAAS,GAAC,IAAI;IAgBtC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAC,MAAM,GAAC,SAAS,GAAC,IAAI,GAAG,GAAG;IAOhD,OAAO,IAAI,OAAO;IAIlB,KAAK,IAAI,MAAM;CAGlB;AAED,qBAAa,UAAU;IACnB,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;gBAEtB,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW;IAKnD,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,QAAQ,IAAI,MAAM;IAIlB,cAAc,IAAI,MAAM;CAG3B"}
1
+ {"version":3,"file":"dat.d.ts","sourceRoot":"","sources":["../src/dat.ts"],"names":[],"mappings":"AAGA,qBAAa,GAAG;IACZ,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAM;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAS;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAK;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAM;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAsB;IAClD,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAsB;IACnD,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAsB;gBAE1C,GAAG,EAAE,MAAM,GAAC,SAAS,GAAC,IAAI;IAgBtC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAC,MAAM,GAAC,SAAS,GAAC,IAAI,GAAG,GAAG;IAOhD,OAAO,IAAI,OAAO;IAIlB,KAAK,IAAI,MAAM;CAGlB;AAED,qBAAa,UAAU;IACnB,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;gBAEtB,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW;IAKnD,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,QAAQ,IAAI,MAAM;IAIlB,cAAc,IAAI,MAAM;CAG3B"}
package/dist/dat.js CHANGED
@@ -1,4 +1,5 @@
1
- import { DatArrayBuffer, DatBytes, DatInteger, DatUnixtime, } from "./index.js";
1
+ import { DatArrayBuffer, DatBytes, DatInteger, } from "./index.js";
2
+ import { Unixtime } from "infinite-unixtime";
2
3
  export class Dat {
3
4
  dat = '';
4
5
  _format = false;
@@ -30,7 +31,7 @@ export class Dat {
30
31
  return new Dat(dat);
31
32
  }
32
33
  expired() {
33
- return !this._format || DatUnixtime.isPast(this._expire);
34
+ return !this._format || Unixtime.now().after(this._expire, true);
34
35
  }
35
36
  _body() {
36
37
  return this.dat.substring(0, this.dat.lastIndexOf('.'));
package/dist/dat.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dat.js","sourceRoot":"","sources":["../src/dat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dat.js","sourceRoot":"","sources":["../src/dat.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dat.manager.d.ts","sourceRoot":"","sources":["../src/dat.manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,EAGH,cAAc,EACd,UAAU,EACV,wBAAwB,EAE3B,MAAM,YAAY,CAAC;AAEpB,qBAAa,UAAU;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;gBAEpC,MAAM,GAAE,cAAc,GAAG,IAAW,EAAE,YAAY,GAAE,cAAc,EAAO;IAKrF,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,EAAE,GAAG,UAAU;WAoB/C,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IASnD,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlF,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAIlC,KAAK,CAAC,KAAK,EAAE,eAAe,GAAC,UAAU,GAAC,MAAM,GAAC,IAAI,GAAC,SAAS,EAAE,MAAM,EAAE,eAAe,GAAC,UAAU,GAAC,MAAM,GAAC,IAAI,GAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAOzI,KAAK,CAAC,GAAG,EAAE,GAAG,GAAC,MAAM,GAAC,SAAS,GAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;WAWnD,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,GAAC,UAAU,GAAC,MAAM,GAAC,IAAI,GAAC,SAAS,EAAE,MAAM,EAAE,eAAe,GAAC,UAAU,GAAC,MAAM,GAAC,IAAI,GAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;WAWtK,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,GAAC,MAAM,GAAC,SAAS,GAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;CAavG"}
1
+ {"version":3,"file":"dat.manager.d.ts","sourceRoot":"","sources":["../src/dat.manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,EAGH,cAAc,EACd,UAAU,EACV,wBAAwB,EAC3B,MAAM,YAAY,CAAC;AAGpB,qBAAa,UAAU;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;gBAEpC,MAAM,GAAE,cAAc,GAAG,IAAW,EAAE,YAAY,GAAE,cAAc,EAAO;IAKrF,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,EAAE,GAAG,UAAU;WA0B/C,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IASnD,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlF,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAIlC,KAAK,CAAC,KAAK,EAAE,eAAe,GAAC,UAAU,GAAC,MAAM,GAAC,IAAI,GAAC,SAAS,EAAE,MAAM,EAAE,eAAe,GAAC,UAAU,GAAC,MAAM,GAAC,IAAI,GAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAOzI,KAAK,CAAC,GAAG,EAAE,GAAG,GAAC,MAAM,GAAC,SAAS,GAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;WAWnD,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,GAAC,UAAU,GAAC,MAAM,GAAC,IAAI,GAAC,SAAS,EAAE,MAAM,EAAE,eAAe,GAAC,UAAU,GAAC,MAAM,GAAC,IAAI,GAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;WAWtK,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,GAAC,MAAM,GAAC,SAAS,GAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;CAavG"}
@@ -1,4 +1,5 @@
1
- import { Dat, DatArrayBuffer, DatBytes, DatCertificate, DatPayload, DatUnixtime, } from "./index.js";
1
+ import { Dat, DatArrayBuffer, DatBytes, DatCertificate, DatPayload, } from "./index.js";
2
+ import { Unixtime } from "infinite-unixtime";
2
3
  export class DatManager {
3
4
  issuer;
4
5
  certificates;
@@ -17,7 +18,14 @@ export class DatManager {
17
18
  }
18
19
  certificates.push(certificate);
19
20
  }
20
- certificates.sort((a, b) => a._datIssueEnd - b._datIssueEnd);
21
+ certificates.sort((a, b) => {
22
+ if (a._datIssueEnd == b._datIssueEnd) {
23
+ return 0;
24
+ }
25
+ else {
26
+ return a._datIssueEnd < b._datIssueEnd ? -1 : 1;
27
+ }
28
+ });
21
29
  const issuer = certificates.findLast(e => e.issuable()) || null;
22
30
  return new DatManager(issuer, certificates);
23
31
  }
@@ -50,7 +58,7 @@ export class DatManager {
50
58
  throw new Error("Invalid DAT: CID(Certificate ID) Not Found");
51
59
  }
52
60
  static async issue(certificate, plain, secure) {
53
- const now = DatUnixtime.now();
61
+ const now = Unixtime.now().time;
54
62
  const expire = now + certificate._datTtl;
55
63
  const cid = certificate.cid.toString(16);
56
64
  const plainBase64 = DatBytes.toBase64Url(plain);
@@ -1 +1 @@
1
- {"version":3,"file":"dat.manager.js","sourceRoot":"","sources":["../src/dat.manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,EACH,cAAc,EACd,QAAQ,EACR,cAAc,EACd,UAAU,EAEV,WAAW,GACd,MAAM,YAAY,CAAC;AAEpB,MAAM,OAAO,UAAU;IACF,MAAM,CAAwB;IAC9B,YAAY,CAAmB;IAEhD,YAAY,SAAgC,IAAI,EAAE,eAAiC,EAAE;QACjF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,iBAAmC;QAC3C,IAAI,YAAY,GAAqB,EAAE,CAAC;QAExC,KAAK,MAAM,WAAW,IAAI,iBAAiB,EAAE,CAAC;YAC1C,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,KAAK,CAAC,4DAA4D,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;YACnG,CAAC;YACD,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;gBACxB,SAAS;YACb,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC;QAEhE,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAc;QAC/B,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;aACb,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;aACxD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACxB,CAAC;QACF,OAAO,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,wBAAkD;QAC5D,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1G,CAAC;IAED,IAAI,CAAC,GAAW;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAuD,EAAE,MAAwD;QACzH,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO,MAAM,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAA8B;QACtC,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YACtB,OAAO,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,WAA2B,EAAE,KAAuD,EAAE,MAAwD;QAC7J,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC;QACzC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpH,MAAM,IAAI,GAAG,GAAG,MAAM,IAAI,GAAG,IAAI,WAAW,IAAI,aAAa,EAAE,CAAC;QAChE,MAAM,SAAS,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,OAAO,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,WAA2B,EAAE,GAA8B;QAC1E,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,MAAM,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;IACxF,CAAC;CACJ"}
1
+ {"version":3,"file":"dat.manager.js","sourceRoot":"","sources":["../src/dat.manager.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export * as DatInteger from "./util/DatInteger.js";
2
- export * as DatUnixtime from "./util/DatUnixtime.js";
3
2
  export * as DatBytes from "./util/DatBytes.js";
4
3
  export * as DatArrayBufferLike from "./util/DatArrayBufferLike.js";
5
4
  export * as DatArrayBuffer from "./util/DatArrayBuffer.js";
@@ -7,6 +6,6 @@ export * as DatUint8Array from "./util/DatUint8Array.js";
7
6
  export * from "./crypto.js";
8
7
  export * from "./signature.js";
9
8
  export * from "./dat.js";
10
- export * from "./dat.certificate";
11
- export * from "./dat.manager";
9
+ export * from "./dat.certificate.js";
10
+ export * from "./dat.manager.js";
12
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,kBAAkB,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAC;AACzD,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,kBAAkB,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAC;AACzD,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,4 @@
1
1
  export * as DatInteger from "./util/DatInteger.js";
2
- export * as DatUnixtime from "./util/DatUnixtime.js";
3
2
  export * as DatBytes from "./util/DatBytes.js";
4
3
  export * as DatArrayBufferLike from "./util/DatArrayBufferLike.js";
5
4
  export * as DatArrayBuffer from "./util/DatArrayBuffer.js";
@@ -7,6 +6,6 @@ export * as DatUint8Array from "./util/DatUint8Array.js";
7
6
  export * from "./crypto.js";
8
7
  export * from "./signature.js";
9
8
  export * from "./dat.js";
10
- export * from "./dat.certificate";
11
- export * from "./dat.manager";
9
+ export * from "./dat.certificate.js";
10
+ export * from "./dat.manager.js";
12
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,kBAAkB,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAC;AACzD,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,kBAAkB,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAC;AACzD,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export declare function parse(no: number | string): number;
2
2
  export declare function toCid(cid: number | string | bigint, error?: string): bigint;
3
- export declare function isBetween(no: number, min?: number | undefined, max?: number | undefined): boolean;
3
+ export declare function toBigInt(no: bigint | number | string, errorMessage?: string, min?: bigint | undefined, max?: bigint | undefined): bigint;
4
4
  //# sourceMappingURL=DatInteger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatInteger.d.ts","sourceRoot":"","sources":["../../src/util/DatInteger.ts"],"names":[],"mappings":"AACA,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAC,MAAM,GAAG,MAAM,CAK/C;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM,EAAE,KAAK,GAAE,MAAsB,GAAG,MAAM,CAatF;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,GAAC,SAAqB,EAAE,GAAG,GAAE,MAAM,GAAC,SAAqB,GAAG,OAAO,CAWnH"}
1
+ {"version":3,"file":"DatInteger.d.ts","sourceRoot":"","sources":["../../src/util/DatInteger.ts"],"names":[],"mappings":"AACA,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAC,MAAM,GAAG,MAAM,CAK/C;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM,EAAE,KAAK,GAAE,MAAsB,GAAG,MAAM,CAatF;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM,EAAE,YAAY,GAAE,MAAyB,EAAE,GAAG,GAAE,MAAM,GAAC,SAAqB,EAAE,GAAG,GAAE,MAAM,GAAC,SAAqB,GAAG,MAAM,CAYxK"}
@@ -25,16 +25,18 @@ export function toCid(cid, error = 'Invalid CID') {
25
25
  catch (e) { }
26
26
  throw new Error(error);
27
27
  }
28
- export function isBetween(no, min = undefined, max = undefined) {
29
- if (!Number.isSafeInteger(no)) {
30
- return false;
31
- }
32
- if (typeof min == 'number' && !(no >= min)) {
33
- return false;
34
- }
35
- if (typeof max == 'number' && !(no <= max)) {
36
- return false;
28
+ export function toBigInt(no, errorMessage = 'is not integer', min = undefined, max = undefined) {
29
+ try {
30
+ let n = BigInt(no);
31
+ if (typeof min !== 'undefined' && !(n >= min)) {
32
+ throw new Error();
33
+ }
34
+ if (typeof max !== 'undefined' && !(n <= max)) {
35
+ throw new Error();
36
+ }
37
+ return n;
37
38
  }
38
- return true;
39
+ catch (e) { }
40
+ throw new Error(errorMessage);
39
41
  }
40
42
  //# sourceMappingURL=DatInteger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatInteger.js","sourceRoot":"","sources":["../../src/util/DatInteger.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,KAAK,CAAC,EAAiB;IACnC,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QACzB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAyB,EAAE,QAAgB,aAAa;IAC1E,IAAI,CAAC;QACD,IAAI,CAAC,GAAgB,IAAI,CAAC;QAC1B,QAAQ,OAAO,GAAG,EAAE,CAAC;YACjB,KAAK,QAAQ;gBAAE,CAAC,GAAG,GAAG,CAAC;gBAAC,MAAM;YAC9B,KAAK,QAAQ;gBAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAAC,MAAM;YACtC,KAAK,QAAQ;gBAAE,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;gBAAC,MAAM;QACjD,CAAC;QACD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,mBAAmB,EAAE,CAAC;YACnD,OAAO,CAAC,CAAC;QACb,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IACd,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAU,EAAE,MAAwB,SAAS,EAAE,MAAwB,SAAS;IACtG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,OAAO,GAAG,IAAI,QAAQ,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,OAAO,GAAG,IAAI,QAAQ,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"DatInteger.js","sourceRoot":"","sources":["../../src/util/DatInteger.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,KAAK,CAAC,EAAiB;IACnC,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QACzB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAyB,EAAE,QAAgB,aAAa;IAC1E,IAAI,CAAC;QACD,IAAI,CAAC,GAAgB,IAAI,CAAC;QAC1B,QAAQ,OAAO,GAAG,EAAE,CAAC;YACjB,KAAK,QAAQ;gBAAE,CAAC,GAAG,GAAG,CAAC;gBAAC,MAAM;YAC9B,KAAK,QAAQ;gBAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAAC,MAAM;YACtC,KAAK,QAAQ;gBAAE,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;gBAAC,MAAM;QACjD,CAAC;QACD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,mBAAmB,EAAE,CAAC;YACnD,OAAO,CAAC,CAAC;QACb,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IACd,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EAAwB,EAAE,eAAuB,gBAAgB,EAAE,MAAwB,SAAS,EAAE,MAAwB,SAAS;IAC5J,IAAI,CAAC;QACD,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QACnB,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,EAAE,CAAC;QACtB,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IACd,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC"}
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "saro-dat",
3
- "version": "3.2.0",
3
+ "version": "3.3.0",
4
4
  "description": "Distributed Access Token",
5
5
  "keywords": [
6
6
  "dat",
7
7
  "distributed",
8
8
  "access",
9
9
  "token",
10
- "jwt"
10
+ "web",
11
+ "session"
11
12
  ],
12
13
  "author": "marker",
13
14
  "license": "MIT",
@@ -40,7 +41,8 @@
40
41
  "prepublishOnly": "npm run build"
41
42
  },
42
43
  "dependencies": {
43
- "@noble/curves": "^2.2.0"
44
+ "@noble/curves": "^2.2.0",
45
+ "infinite-unixtime": "^1.1.3"
44
46
  },
45
47
  "devDependencies": {
46
48
  "@types/node": "^25.7.0",
@@ -1,12 +0,0 @@
1
- import { Dat, DatKey, DatPayload, DatSignatureKeyOutOption } from "./index.js";
2
- export declare class DatBank {
3
- private readonly issueKey;
4
- private readonly verifyKeys;
5
- constructor(issueKey?: DatKey | null, verifyKeys?: DatKey[]);
6
- static imports(format: string): Promise<DatBank>;
7
- exports(datSignatureKeyOutOption: DatSignatureKeyOutOption): Promise<string>;
8
- find(kid: string): DatKey | null;
9
- toDat(plain: ArrayBufferLike | Uint8Array | string | null | undefined, secure: ArrayBufferLike | Uint8Array | string | null | undefined): Promise<string>;
10
- toPayload(dat: Dat | string | undefined | null): Promise<DatPayload>;
11
- }
12
- //# sourceMappingURL=dat.bank.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dat.bank.d.ts","sourceRoot":"","sources":["../src/dat.bank.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,wBAAwB,EAAG,MAAM,YAAY,CAAC;AAE/E,qBAAa,OAAO;IAChB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAW;gBAE1B,QAAQ,GAAE,MAAM,GAAG,IAAW,EAAE,UAAU,GAAE,MAAM,EAAO;WAKxD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BhD,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlF,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI1B,KAAK,CAAC,KAAK,EAAE,eAAe,GAAC,UAAU,GAAC,MAAM,GAAC,IAAI,GAAC,SAAS,EAAE,MAAM,EAAE,eAAe,GAAC,UAAU,GAAC,MAAM,GAAC,IAAI,GAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAOzI,SAAS,CAAC,GAAG,EAAE,GAAG,GAAC,MAAM,GAAC,SAAS,GAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;CAUvE"}
package/dist/dat.bank.js DELETED
@@ -1,68 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { Dat, DatKey, } from "./index.js";
11
- export class DatBank {
12
- constructor(issueKey = null, verifyKeys = []) {
13
- this.issueKey = issueKey;
14
- this.verifyKeys = verifyKeys;
15
- }
16
- static imports(format) {
17
- return __awaiter(this, void 0, void 0, function* () {
18
- const lines = format.split('\n').map(e => e.trim()).filter(e => !!e);
19
- let keys = [];
20
- for (const line of lines) {
21
- const key = yield DatKey.imports(line);
22
- if (keys.find(e => e.kid === key.kid)) {
23
- throw new Error(`Invalid DAT KEYS - Duplicate KID ${key.kid}`);
24
- }
25
- keys.push(key);
26
- }
27
- keys.sort((a, b) => a.issueBegin - b.issueBegin);
28
- let issueKey = null;
29
- for (let i = keys.length - 1; i >= 0; i--) {
30
- const key = keys[i];
31
- if (key.isIssuable()) {
32
- issueKey = key;
33
- break;
34
- }
35
- }
36
- return new DatBank(issueKey, keys);
37
- });
38
- }
39
- exports(datSignatureKeyOutOption) {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- return (yield Promise.all(this.verifyKeys.map(e => e.exports(datSignatureKeyOutOption)))).join('\n');
42
- });
43
- }
44
- find(kid) {
45
- return this.verifyKeys.find(e => e.kid === kid) || null;
46
- }
47
- toDat(plain, secure) {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- if (this.issueKey) {
50
- return yield this.issueKey.toDat(plain, secure);
51
- }
52
- throw new Error("Invalid DAT: Signing Key Does Not Exist");
53
- });
54
- }
55
- toPayload(dat) {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- if (!(dat = Dat.from(dat)).format) {
58
- throw new Error("Invalid DAT: Format");
59
- }
60
- const key = this.find(dat.kid);
61
- if (key != null) {
62
- return key.toPayload(dat);
63
- }
64
- throw new Error("Invalid DAT: KID Not Found");
65
- });
66
- }
67
- }
68
- //# sourceMappingURL=dat.bank.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dat.bank.js","sourceRoot":"","sources":["../src/dat.bank.ts"],"names":[],"mappings":"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"}
package/dist/dat.key.d.ts DELETED
@@ -1,20 +0,0 @@
1
- import { Dat, DatCryptoKey, DatPayload, DatSignatureKey, DatSignatureKeyOutOption } from "./index.js";
2
- export declare class DatKey {
3
- readonly kid: string;
4
- readonly signatureKey: DatSignatureKey;
5
- readonly cryptoKey: DatCryptoKey;
6
- readonly issueBegin: number;
7
- readonly issueEnd: number;
8
- readonly tokenTtl: number;
9
- constructor(kid: string, signatureKey: DatSignatureKey, cryptoKey: DatCryptoKey, issueBegin: number, issueEnd: number, tokenTtl: number);
10
- exports(datSignatureKeyOutOption: DatSignatureKeyOutOption): Promise<string>;
11
- static imports(format: string): Promise<DatKey>;
12
- private static _import_ver_2;
13
- toDat(plain: ArrayBufferLike | Uint8Array | string | null | undefined, secure: ArrayBufferLike | Uint8Array | string | null | undefined): Promise<string>;
14
- toPayload(dat: Dat | string | undefined | null): Promise<DatPayload>;
15
- isPreIssuance(): boolean;
16
- isIssuable(): boolean;
17
- expiredVerifying(): boolean;
18
- hasSigningKey(): boolean;
19
- }
20
- //# sourceMappingURL=dat.key.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dat.key.d.ts","sourceRoot":"","sources":["../src/dat.key.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,EAIH,YAAY,EAEZ,UAAU,EACV,eAAe,EACf,wBAAwB,EAE3B,MAAM,YAAY,CAAC;AAEpB,qBAAa,MAAM;IACf,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,YAAY,EAAE,eAAe,CAAC;IAC9C,SAAgB,SAAS,EAAE,YAAY,CAAC;IACxC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBAG7B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,eAAe,EAC7B,SAAS,EAAE,YAAY,EACvB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM;IAsBd,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC;WAYrE,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;mBAWhC,aAAa;IAU5B,KAAK,CAAC,KAAK,EAAE,eAAe,GAAC,UAAU,GAAC,MAAM,GAAC,IAAI,GAAC,SAAS,EAAE,MAAM,EAAE,eAAe,GAAC,UAAU,GAAC,MAAM,GAAC,IAAI,GAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAWzI,SAAS,CAAC,GAAG,EAAE,GAAG,GAAC,MAAM,GAAC,SAAS,GAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAcpE,aAAa,IAAI,OAAO;IAIxB,UAAU,IAAI,OAAO;IAKrB,gBAAgB,IAAI,OAAO;IAI3B,aAAa,IAAI,OAAO;CAG3B"}
package/dist/dat.key.js DELETED
@@ -1,110 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { Dat, DAT_VERSION, DatArrayBuffer, DatBytes, DatCryptoKey, DatInteger, DatPayload, DatSignatureKey, DatUnixtime, } from "./index.js";
11
- export class DatKey {
12
- constructor(kid, signatureKey, cryptoKey, issueBegin, issueEnd, tokenTtl) {
13
- if (kid.match(/[.\r\n]/) != null) {
14
- throw new Error(`Invalid Kid: kid is not allowed ".", "\\r", "\\n"" ${kid}`);
15
- }
16
- if (!DatInteger.isBetween(issueBegin, 0)) {
17
- throw new Error(`Invalid issueBegin: issueBegin is positive int or 0 ${issueBegin}`);
18
- }
19
- if (!DatInteger.isBetween(issueEnd, 0)) {
20
- throw new Error(`Invalid issueEnd: issueEnd is positive int or 0 ${issueEnd}`);
21
- }
22
- if (!DatInteger.isBetween(tokenTtl, 1)) {
23
- throw new Error(`Invalid tokenTtl: tokenTtl is positive int ${tokenTtl}`);
24
- }
25
- this.kid = kid;
26
- this.signatureKey = signatureKey;
27
- this.cryptoKey = cryptoKey;
28
- this.issueBegin = Math.floor(issueBegin);
29
- this.issueEnd = Math.floor(issueEnd);
30
- this.tokenTtl = Math.floor(tokenTtl);
31
- }
32
- exports(datSignatureKeyOutOption) {
33
- return __awaiter(this, void 0, void 0, function* () {
34
- const kid = this.kid;
35
- const signAlg = this.signatureKey.algorithm;
36
- const signKey = yield this.signatureKey.exports(datSignatureKeyOutOption);
37
- const cryptoAlg = this.cryptoKey.algorithm;
38
- const cryptoKey = yield this.cryptoKey.exports();
39
- const issueBegin = this.issueBegin;
40
- const issueEnd = this.issueEnd;
41
- const tokenTtl = this.tokenTtl;
42
- return `${DAT_VERSION}.${kid}.${signAlg}.${signKey}.${cryptoAlg}.${cryptoKey}.${issueBegin}.${issueEnd}.${tokenTtl}`;
43
- });
44
- }
45
- static imports(format) {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- const split = format.split(".");
48
- switch (split[0] || '0') {
49
- case '2':
50
- case '1':
51
- if (split.length == 9) {
52
- return yield DatKey._import_ver_2(split);
53
- }
54
- }
55
- throw new Error("Invalid format");
56
- });
57
- }
58
- static _import_ver_2(split) {
59
- return __awaiter(this, void 0, void 0, function* () {
60
- const kid = split[1];
61
- const signKey = yield DatSignatureKey.imports(split[2], split[3]);
62
- const cryptoKey = yield DatCryptoKey.imports(split[4], split[5]);
63
- const issueBegin = Number(split[6]);
64
- const issueEnd = Number(split[7]);
65
- const tokenTtl = Number(split[8]);
66
- return new DatKey(kid, signKey, cryptoKey, issueBegin, issueEnd, tokenTtl);
67
- });
68
- }
69
- toDat(plain, secure) {
70
- return __awaiter(this, void 0, void 0, function* () {
71
- const now = DatUnixtime.now();
72
- const exp = now + this.tokenTtl;
73
- const kid = this.kid;
74
- const plainBase64 = DatBytes.toBase64Url(plain);
75
- const securedBase64 = DatArrayBuffer.toBase64Url(yield this.cryptoKey.encrypt(DatArrayBuffer.from(secure)));
76
- const body = `${exp}.${kid}.${plainBase64}.${securedBase64}`;
77
- const sign = DatArrayBuffer.toBase64Url(yield this.signatureKey.sign(body));
78
- return `${body}.${sign}`;
79
- });
80
- }
81
- toPayload(dat) {
82
- return __awaiter(this, void 0, void 0, function* () {
83
- dat = Dat.from(dat);
84
- if (!dat.format) {
85
- throw new Error("Invalid DAT: Format");
86
- }
87
- if (dat.expired()) {
88
- throw new Error("Invalid DAT: Expired");
89
- }
90
- if (!(yield this.signatureKey.verify(dat.body(), dat.signature))) {
91
- throw new Error('Invalid DAT: Signature');
92
- }
93
- return new DatPayload(dat.expire, dat.plain, yield this.cryptoKey.decrypt(dat.secure));
94
- });
95
- }
96
- isPreIssuance() {
97
- return DatUnixtime.now() <= this.issueBegin;
98
- }
99
- isIssuable() {
100
- const now = DatUnixtime.now();
101
- return this.hasSigningKey() && now > this.issueBegin && now <= this.issueEnd;
102
- }
103
- expiredVerifying() {
104
- return DatUnixtime.isPast(this.issueEnd + this.tokenTtl);
105
- }
106
- hasSigningKey() {
107
- return this.signatureKey.hasSigningKey();
108
- }
109
- }
110
- //# sourceMappingURL=dat.key.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dat.key.js","sourceRoot":"","sources":["../src/dat.key.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export declare function now(): number;
2
- export declare function from(date: Date): number;
3
- export declare function isPast(unixtime: number): boolean;
4
- export declare function isNotPast(unixtime: number): boolean;
5
- export declare function isFuture(unixtime: number): boolean;
6
- //# sourceMappingURL=DatUnixtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DatUnixtime.d.ts","sourceRoot":"","sources":["../../src/util/DatUnixtime.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEvC;AAED,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAElD"}
@@ -1,16 +0,0 @@
1
- export function now() {
2
- return from(new Date());
3
- }
4
- export function from(date) {
5
- return Math.floor(date.getTime() / 1000);
6
- }
7
- export function isPast(unixtime) {
8
- return unixtime < now();
9
- }
10
- export function isNotPast(unixtime) {
11
- return unixtime >= now();
12
- }
13
- export function isFuture(unixtime) {
14
- return unixtime > now();
15
- }
16
- //# sourceMappingURL=DatUnixtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DatUnixtime.js","sourceRoot":"","sources":["../../src/util/DatUnixtime.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG;IACf,OAAO,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,IAAU;IAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,QAAgB;IACnC,OAAO,QAAQ,GAAG,GAAG,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAAgB;IACtC,OAAO,QAAQ,IAAI,GAAG,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,QAAgB;IACrC,OAAO,QAAQ,GAAG,GAAG,EAAE,CAAC;AAC5B,CAAC"}