@croct/sdk 0.11.1 → 0.11.3

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/base64Url.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare function base64UrlEncode(value: string): string;
2
- export declare function base64UrlDecode(value: string): string;
1
+ export declare function base64UrlEncode(value: string, utf8?: boolean): string;
2
+ export declare function base64UrlDecode(value: string, utf8?: boolean): string;
package/base64Url.js CHANGED
@@ -10,13 +10,19 @@ function base64Escape(value) {
10
10
  .replace(/\//g, '_')
11
11
  .replace(/=/g, '');
12
12
  }
13
- function base64UrlEncode(value) {
14
- return base64Escape(window.btoa(window.encodeURIComponent(value)
15
- .replace(/%([0-9A-F]{2})/g, (_, p1) => String.fromCharCode(Number.parseInt(p1, 16)))));
13
+ function base64UrlEncode(value, utf8 = false) {
14
+ if (utf8) {
15
+ return base64Escape(window.btoa(window.encodeURIComponent(value)
16
+ .replace(/%([0-9A-F]{2})/g, (_, p1) => String.fromCharCode(Number.parseInt(p1, 16)))));
17
+ }
18
+ return base64Escape(window.btoa(value));
16
19
  }
17
20
  exports.base64UrlEncode = base64UrlEncode;
18
- function base64UrlDecode(value) {
19
- return window.decodeURIComponent(Array.prototype.map.call(window.atob(base64Unescape(value)), (char) => `%${(`00${char.charCodeAt(0).toString(16)}`).slice(-2)}`).join(''));
21
+ function base64UrlDecode(value, utf8 = false) {
22
+ if (utf8) {
23
+ return window.decodeURIComponent(Array.prototype.map.call(window.atob(base64Unescape(value)), (char) => `%${(`00${char.charCodeAt(0).toString(16)}`).slice(-2)}`).join(''));
24
+ }
25
+ return window.atob(base64Unescape(value));
20
26
  }
21
27
  exports.base64UrlDecode = base64UrlDecode;
22
28
  //# sourceMappingURL=base64Url.js.map
package/base64Url.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"base64Url.js","sourceRoot":"","sources":["src/base64Url.ts"],"names":[],"mappings":";;;AAAA,SAAS,cAAc,CAAC,KAAa;IACjC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IAC/B,OAAO,KAAK;SACP,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,eAAe,CAAC,KAAa;IACzC,OAAO,YAAY,CACf,MAAM,CAAC,IAAI,CACP,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC;SAC3B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAC3F,CACJ,CAAC;AACN,CAAC;AAPD,0CAOC;AAED,SAAgB,eAAe,CAAC,KAAa;IACzC,OAAO,MAAM,CAAC,kBAAkB,CAC5B,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CACpB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAClC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAC7E,CAAC,IAAI,CAAC,EAAE,CAAC,CACb,CAAC;AACN,CAAC;AAPD,0CAOC"}
1
+ {"version":3,"file":"base64Url.js","sourceRoot":"","sources":["src/base64Url.ts"],"names":[],"mappings":";;;AAAA,SAAS,cAAc,CAAC,KAAa;IACjC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IAC/B,OAAO,KAAK;SACP,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,eAAe,CAAC,KAAa,EAAE,IAAI,GAAG,KAAK;IACvD,IAAI,IAAI,EAAE;QACN,OAAO,YAAY,CACf,MAAM,CAAC,IAAI,CACP,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC;aAC3B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAC3F,CACJ,CAAC;KACL;IAED,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5C,CAAC;AAXD,0CAWC;AAED,SAAgB,eAAe,CAAC,KAAa,EAAE,IAAI,GAAG,KAAK;IACvD,IAAI,IAAI,EAAE;QACN,OAAO,MAAM,CAAC,kBAAkB,CAC5B,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CACpB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAClC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAC7E,CAAC,IAAI,CAAC,EAAE,CAAC,CACb,CAAC;KACL;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9C,CAAC;AAXD,0CAWC"}
package/constants.d.ts CHANGED
@@ -3,5 +3,5 @@ export declare const TRACKER_ENDPOINT_URL = "wss://api.croct.io/client/web/conne
3
3
  export declare const EVALUATION_ENDPOINT_URL = "https://api.croct.io";
4
4
  export declare const CONTENT_ENDPOINT_URL = "https://api.croct.io";
5
5
  export declare const MAX_QUERY_LENGTH: number;
6
- export declare const VERSION = "0.11.1";
6
+ export declare const VERSION = "0.11.3";
7
7
  export declare const CLIENT_LIBRARY: string;
package/constants.js CHANGED
@@ -6,6 +6,6 @@ exports.TRACKER_ENDPOINT_URL = 'wss://api.croct.io/client/web/connect';
6
6
  exports.EVALUATION_ENDPOINT_URL = 'https://api.croct.io';
7
7
  exports.CONTENT_ENDPOINT_URL = 'https://api.croct.io';
8
8
  exports.MAX_QUERY_LENGTH = 500;
9
- exports.VERSION = '0.11.1';
9
+ exports.VERSION = '0.11.3';
10
10
  exports.CLIENT_LIBRARY = `Croct SDK JS v${exports.VERSION}`;
11
11
  //# sourceMappingURL=constants.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@croct/sdk",
3
- "version": "0.11.1",
3
+ "version": "0.11.3",
4
4
  "description": "Croct SDK for JavaScript.",
5
5
  "license": "MIT",
6
6
  "author": {
package/src/base64Url.ts CHANGED
@@ -9,20 +9,28 @@ function base64Escape(value: string): string {
9
9
  .replace(/=/g, '');
10
10
  }
11
11
 
12
- export function base64UrlEncode(value: string): string {
13
- return base64Escape(
14
- window.btoa(
15
- window.encodeURIComponent(value)
16
- .replace(/%([0-9A-F]{2})/g, (_, p1) => String.fromCharCode(Number.parseInt(p1, 16))),
17
- ),
18
- );
12
+ export function base64UrlEncode(value: string, utf8 = false): string {
13
+ if (utf8) {
14
+ return base64Escape(
15
+ window.btoa(
16
+ window.encodeURIComponent(value)
17
+ .replace(/%([0-9A-F]{2})/g, (_, p1) => String.fromCharCode(Number.parseInt(p1, 16))),
18
+ ),
19
+ );
20
+ }
21
+
22
+ return base64Escape(window.btoa(value));
19
23
  }
20
24
 
21
- export function base64UrlDecode(value: string): string {
22
- return window.decodeURIComponent(
23
- Array.prototype.map.call(
24
- window.atob(base64Unescape(value)),
25
- (char: string) => `%${(`00${char.charCodeAt(0).toString(16)}`).slice(-2)}`,
26
- ).join(''),
27
- );
25
+ export function base64UrlDecode(value: string, utf8 = false): string {
26
+ if (utf8) {
27
+ return window.decodeURIComponent(
28
+ Array.prototype.map.call(
29
+ window.atob(base64Unescape(value)),
30
+ (char: string) => `%${(`00${char.charCodeAt(0).toString(16)}`).slice(-2)}`,
31
+ ).join(''),
32
+ );
33
+ }
34
+
35
+ return window.atob(base64Unescape(value));
28
36
  }
@@ -79,11 +79,11 @@ export class Token {
79
79
  let signature;
80
80
 
81
81
  try {
82
- headers = JSON.parse(base64UrlDecode(parts[0]));
83
- payload = JSON.parse(base64UrlDecode(parts[1]));
82
+ headers = JSON.parse(base64UrlDecode(parts[0], true));
83
+ payload = JSON.parse(base64UrlDecode(parts[1], true));
84
84
 
85
85
  if (parts.length === 3) {
86
- signature = base64UrlDecode(parts[2]);
86
+ signature = base64UrlDecode(parts[2], false);
87
87
  }
88
88
  } catch {
89
89
  throw new Error('The token is corrupted.');
@@ -135,9 +135,9 @@ export class Token {
135
135
  }
136
136
 
137
137
  public toString(): string {
138
- const headers = base64UrlEncode(JSON.stringify(this.headers));
139
- const payload = base64UrlEncode(JSON.stringify(this.payload));
140
- const signature = base64UrlEncode(this.signature);
138
+ const headers = base64UrlEncode(JSON.stringify(this.headers), true);
139
+ const payload = base64UrlEncode(JSON.stringify(this.payload), true);
140
+ const signature = base64UrlEncode(this.signature, false);
141
141
 
142
142
  return `${headers}.${payload}.${signature}`;
143
143
  }
package/token/token.js CHANGED
@@ -41,10 +41,10 @@ class Token {
41
41
  let payload;
42
42
  let signature;
43
43
  try {
44
- headers = JSON.parse((0, base64Url_1.base64UrlDecode)(parts[0]));
45
- payload = JSON.parse((0, base64Url_1.base64UrlDecode)(parts[1]));
44
+ headers = JSON.parse((0, base64Url_1.base64UrlDecode)(parts[0], true));
45
+ payload = JSON.parse((0, base64Url_1.base64UrlDecode)(parts[1], true));
46
46
  if (parts.length === 3) {
47
- signature = (0, base64Url_1.base64UrlDecode)(parts[2]);
47
+ signature = (0, base64Url_1.base64UrlDecode)(parts[2], false);
48
48
  }
49
49
  }
50
50
  catch {
@@ -87,9 +87,9 @@ class Token {
87
87
  return this.toString();
88
88
  }
89
89
  toString() {
90
- const headers = (0, base64Url_1.base64UrlEncode)(JSON.stringify(this.headers));
91
- const payload = (0, base64Url_1.base64UrlEncode)(JSON.stringify(this.payload));
92
- const signature = (0, base64Url_1.base64UrlEncode)(this.signature);
90
+ const headers = (0, base64Url_1.base64UrlEncode)(JSON.stringify(this.headers), true);
91
+ const payload = (0, base64Url_1.base64UrlEncode)(JSON.stringify(this.payload), true);
92
+ const signature = (0, base64Url_1.base64UrlEncode)(this.signature, false);
93
93
  return `${headers}.${payload}.${signature}`;
94
94
  }
95
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token/token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token/token.ts"],"names":[],"mappings":"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"}