@croct/sdk 0.11.1 → 0.11.2

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.2";
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.2';
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.2",
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.');
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 {
@@ -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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"}