@alterior/common 3.1.0 → 3.1.15

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.
@@ -1 +1 @@
1
- {"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../src/base64.ts"],"names":[],"mappings":"AAEA,qBAAa,MAAM;IACf,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIlC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM;IA4B7C,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIlC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;CAqB9C"}
1
+ {"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../src/base64.ts"],"names":[],"mappings":"AAEA,qBAAa,MAAM;IACf,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIlC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM;IA6B7C,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIlC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;CAqB9C"}
package/dist/base64.js CHANGED
@@ -8,7 +8,7 @@ class Base64 {
8
8
  }
9
9
  static encodeBytes(bytes) {
10
10
  let output = '';
11
- let inputPad = 3 - bytes.length % 3;
11
+ let inputPad = bytes.length % 3 === 0 ? 0 : 3 - bytes.length % 3;
12
12
  let buffer = new Uint8Array(bytes.length + inputPad);
13
13
  buffer.set(bytes, 0);
14
14
  for (let i = 0, max = buffer.length; i < max; i += 3) {
@@ -25,7 +25,8 @@ class Base64 {
25
25
  output += BASE64_KEY[char4];
26
26
  }
27
27
  let outputPad = Math.floor(inputPad * 8 / 6);
28
- output = output.slice(0, -outputPad) + Array(outputPad + 1).join('=');
28
+ if (outputPad !== 0)
29
+ output = output.slice(0, -outputPad) + Array(outputPad + 1).join('=');
29
30
  return output;
30
31
  }
31
32
  static decode(str) {
@@ -33,7 +34,7 @@ class Base64 {
33
34
  }
34
35
  static decodeBytes(str) {
35
36
  str = str.replace(/=+$/g, '');
36
- let paddingRequired = 4 - str.length % 4;
37
+ let paddingRequired = str.length % 4 === 0 ? 0 : 4 - str.length % 4;
37
38
  str += Array(paddingRequired + 1).join('=');
38
39
  let decoded = new Uint8Array(str.length * 6 / 8);
39
40
  for (let i = 0, max = str.length; i < max; i += 4) {
@@ -1 +1 @@
1
- {"version":3,"file":"base64.js","sourceRoot":"","sources":["../src/base64.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base64.js","sourceRoot":"","sources":["../src/base64.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"base64.test.js","sourceRoot":"","sources":["../src/base64.test.ts"],"names":[],"mappings":";;AAAA,qCAAkC;AAClC,+BAA8B;AAC9B,mCAAkC;AAElC,IAAA,iBAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE;IACpB,IAAA,iBAAQ,EAAC,WAAW,EAAE,EAAE,CAAC,EAAE;QACvB,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,IAAA,aAAM,EAAC,eAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAA,aAAM,EAAC,eAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClE,IAAA,aAAM,EAAC,eAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,IAAA,aAAM,EAAC,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IACF,IAAA,iBAAQ,EAAC,WAAW,EAAE,EAAE,CAAC,EAAE;QACvB,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,IAAA,aAAM,EAAC,eAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAClE,IAAA,aAAM,EAAC,eAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACjE,IAAA,aAAM,EAAC,eAAM,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACtF,IAAA,aAAM,EAAC,eAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,IAAA,aAAM,EAAC,eAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjD,IAAA,aAAM,EAAC,eAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"base64.test.js","sourceRoot":"","sources":["../src/base64.test.ts"],"names":[],"mappings":";;AAAA,qCAAkC;AAClC,+BAA8B;AAC9B,mCAAkC;AAElC,IAAA,iBAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE;IACpB,IAAA,iBAAQ,EAAC,WAAW,EAAE,EAAE,CAAC,EAAE;QACvB,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,IAAA,aAAM,EAAC,eAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAA,aAAM,EAAC,eAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClE,IAAA,aAAM,EAAC,eAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACnE,IAAA,aAAM,EAAC,eAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,IAAA,aAAM,EAAC,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IACF,IAAA,iBAAQ,EAAC,WAAW,EAAE,EAAE,CAAC,EAAE;QACvB,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,IAAA,aAAM,EAAC,eAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAClE,IAAA,aAAM,EAAC,eAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACjE,IAAA,aAAM,EAAC,eAAM,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACtF,IAAA,aAAM,EAAC,eAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,IAAA,aAAM,EAAC,eAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjD,IAAA,aAAM,EAAC,eAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../src/clone.ts"],"names":[],"mappings":"AACA;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAG,MAAM,OAOxC;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAG,CAAC,GAAG,CAAC,CAEzC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,KAAA,OAE1B;AAuBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,KAAA,OAEvC"}
1
+ {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../src/clone.ts"],"names":[],"mappings":"AACA;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAG,MAAM,OAOxC;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAG,CAAC,GAAG,CAAC,CAEzC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,KAAA,OAE1B;AAuBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,KAAA,OAKvC"}
package/dist/clone.js CHANGED
@@ -53,6 +53,8 @@ function deepCloneWithMemoization(o, memo) {
53
53
  * @param obj
54
54
  */
55
55
  function cloneBySerialization(obj) {
56
+ if (obj === undefined || obj === null || typeof obj !== 'object')
57
+ return obj;
56
58
  return JSON.parse(JSON.stringify(obj));
57
59
  }
58
60
  exports.cloneBySerialization = cloneBySerialization;
package/dist/clone.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"clone.js","sourceRoot":"","sources":["../src/clone.ts"],"names":[],"mappings":";;;AACA;;;;GAIG;AACH,SAAgB,YAAY,CAAC,GAAY;IACxC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAC1B,OAAO,GAAG,CAAC;IAEZ,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,KAAK,CAAC;AACd,CAAC;AAPD,oCAOC;AAED;;;GAGG;AACH,SAAgB,KAAK,CAAU,GAAO;IACrC,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC;AAFD,sBAEC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,CAAC;IAC1B,OAAO,wBAAwB,CAAC,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;AACnD,CAAC;AAFD,8BAEC;AAED,SAAS,wBAAwB,CAAC,CAAC,EAAE,IAAwB;IAC5D,IAAI,CAAC,KAAK,IAAI;QACb,OAAO,IAAI,CAAC;IACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAC7C,OAAO,CAAC,CAAC;IAEV,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEpB,IAAI,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC;IACnB,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAEpB,KAAK,GAAG,IAAI,CAAC,EAAE;QACd,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9E;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AACD;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,GAAG;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACxC,CAAC;AAFD,oDAEC"}
1
+ {"version":3,"file":"clone.js","sourceRoot":"","sources":["../src/clone.ts"],"names":[],"mappings":";;;AACA;;;;GAIG;AACH,SAAgB,YAAY,CAAC,GAAY;IACxC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAC1B,OAAO,GAAG,CAAC;IAEZ,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,KAAK,CAAC;AACd,CAAC;AAPD,oCAOC;AAED;;;GAGG;AACH,SAAgB,KAAK,CAAU,GAAO;IACrC,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC;AAFD,sBAEC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,CAAC;IAC1B,OAAO,wBAAwB,CAAC,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;AACnD,CAAC;AAFD,8BAEC;AAED,SAAS,wBAAwB,CAAC,CAAC,EAAE,IAAwB;IAC5D,IAAI,CAAC,KAAK,IAAI;QACb,OAAO,IAAI,CAAC;IACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAC7C,OAAO,CAAC,CAAC;IAEV,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEpB,IAAI,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC;IACnB,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAEpB,KAAK,GAAG,IAAI,CAAC,EAAE;QACd,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9E;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AACD;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,GAAG;IACvC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;QAC/D,OAAO,GAAG,CAAC;IAEZ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACxC,CAAC;AALD,oDAKC"}
@@ -1 +1 @@
1
- {"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../src/base64.ts"],"names":[],"mappings":"AAEA,qBAAa,MAAM;IACf,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIlC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM;IA4B7C,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIlC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;CAqB9C"}
1
+ {"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../src/base64.ts"],"names":[],"mappings":"AAEA,qBAAa,MAAM;IACf,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIlC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM;IA6B7C,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIlC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;CAqB9C"}
@@ -5,7 +5,7 @@ export class Base64 {
5
5
  }
6
6
  static encodeBytes(bytes) {
7
7
  let output = '';
8
- let inputPad = 3 - bytes.length % 3;
8
+ let inputPad = bytes.length % 3 === 0 ? 0 : 3 - bytes.length % 3;
9
9
  let buffer = new Uint8Array(bytes.length + inputPad);
10
10
  buffer.set(bytes, 0);
11
11
  for (let i = 0, max = buffer.length; i < max; i += 3) {
@@ -22,7 +22,8 @@ export class Base64 {
22
22
  output += BASE64_KEY[char4];
23
23
  }
24
24
  let outputPad = Math.floor(inputPad * 8 / 6);
25
- output = output.slice(0, -outputPad) + Array(outputPad + 1).join('=');
25
+ if (outputPad !== 0)
26
+ output = output.slice(0, -outputPad) + Array(outputPad + 1).join('=');
26
27
  return output;
27
28
  }
28
29
  static decode(str) {
@@ -30,7 +31,7 @@ export class Base64 {
30
31
  }
31
32
  static decodeBytes(str) {
32
33
  str = str.replace(/=+$/g, '');
33
- let paddingRequired = 4 - str.length % 4;
34
+ let paddingRequired = str.length % 4 === 0 ? 0 : 4 - str.length % 4;
34
35
  str += Array(paddingRequired + 1).join('=');
35
36
  let decoded = new Uint8Array(str.length * 6 / 8);
36
37
  for (let i = 0, max = str.length; i < max; i += 4) {
@@ -1 +1 @@
1
- {"version":3,"file":"base64.js","sourceRoot":"","sources":["../src/base64.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base64.js","sourceRoot":"","sources":["../src/base64.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"base64.test.js","sourceRoot":"","sources":["../src/base64.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACpB,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE;QACvB,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IACF,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE;QACvB,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACtF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"base64.test.js","sourceRoot":"","sources":["../src/base64.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACpB,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE;QACvB,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACnE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IACF,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE;QACvB,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACtF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../src/clone.ts"],"names":[],"mappings":"AACA;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAG,MAAM,OAOxC;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAG,CAAC,GAAG,CAAC,CAEzC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,KAAA,OAE1B;AAuBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,KAAA,OAEvC"}
1
+ {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../src/clone.ts"],"names":[],"mappings":"AACA;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAG,MAAM,OAOxC;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAG,CAAC,GAAG,CAAC,CAEzC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,KAAA,OAE1B;AAuBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,KAAA,OAKvC"}
package/dist.esm/clone.js CHANGED
@@ -47,6 +47,8 @@ function deepCloneWithMemoization(o, memo) {
47
47
  * @param obj
48
48
  */
49
49
  export function cloneBySerialization(obj) {
50
+ if (obj === undefined || obj === null || typeof obj !== 'object')
51
+ return obj;
50
52
  return JSON.parse(JSON.stringify(obj));
51
53
  }
52
54
  //# sourceMappingURL=clone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clone.js","sourceRoot":"","sources":["../src/clone.ts"],"names":[],"mappings":"AACA;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY;IACxC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAC1B,OAAO,GAAG,CAAC;IAEZ,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAU,GAAO;IACrC,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,CAAC;IAC1B,OAAO,wBAAwB,CAAC,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,wBAAwB,CAAC,CAAC,EAAE,IAAwB;IAC5D,IAAI,CAAC,KAAK,IAAI;QACb,OAAO,IAAI,CAAC;IACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAC7C,OAAO,CAAC,CAAC;IAEV,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEpB,IAAI,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC;IACnB,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAEpB,KAAK,GAAG,IAAI,CAAC,EAAE;QACd,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9E;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AACD;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAG;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"clone.js","sourceRoot":"","sources":["../src/clone.ts"],"names":[],"mappings":"AACA;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY;IACxC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAC1B,OAAO,GAAG,CAAC;IAEZ,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAU,GAAO;IACrC,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,CAAC;IAC1B,OAAO,wBAAwB,CAAC,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,wBAAwB,CAAC,CAAC,EAAE,IAAwB;IAC5D,IAAI,CAAC,KAAK,IAAI;QACb,OAAO,IAAI,CAAC;IACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAC7C,OAAO,CAAC,CAAC;IAEV,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEpB,IAAI,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC;IACnB,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAEpB,KAAK,GAAG,IAAI,CAAC,EAAE;QACd,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9E;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AACD;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAG;IACvC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;QAC/D,OAAO,GAAG,CAAC;IAEZ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACxC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alterior/common",
3
- "version": "3.1.0",
3
+ "version": "3.1.15",
4
4
  "description": "Useful utilities for Typescript apps",
5
5
  "author": "The Alterior Project (https://github.com/alterior-mvc)",
6
6
  "license": "MIT",
@@ -43,5 +43,5 @@
43
43
  "peerDependencies": {
44
44
  "reflect-metadata": "^0.1.13"
45
45
  },
46
- "gitHead": "064a94208398f28767f0f80d5486e405f02d9a7b"
46
+ "gitHead": "3790e34c8998c7350bfa074b70e9738ac9dab628"
47
47
  }
@@ -7,6 +7,7 @@ describe('Base64', () => {
7
7
  it('encodes ASCII as expected', () => {
8
8
  expect(Base64.encode('A')).to.equal('QQ==');
9
9
  expect(Base64.encode('hello world')).to.equal('aGVsbG8gd29ybGQ=');
10
+ expect(Base64.encode('hello world!')).to.equal('aGVsbG8gd29ybGQh');
10
11
  expect(Base64.encode('hello 123 $ _ / @ -')).to.equal('aGVsbG8gMTIzICQgXyAvIEAgLQ==');
11
12
  });
12
13
  it('encodes UTF-8 as expected', () => {
package/src/base64.ts CHANGED
@@ -7,7 +7,7 @@ export class Base64 {
7
7
 
8
8
  static encodeBytes(bytes: Uint8Array): string {
9
9
  let output = '';
10
- let inputPad = 3 - bytes.length % 3;
10
+ let inputPad = bytes.length % 3 === 0 ? 0 : 3 - bytes.length % 3;
11
11
  let buffer = new Uint8Array(bytes.length + inputPad);
12
12
  buffer.set(bytes, 0);
13
13
 
@@ -29,7 +29,8 @@ export class Base64 {
29
29
  }
30
30
 
31
31
  let outputPad = Math.floor(inputPad * 8 / 6);
32
- output = output.slice(0, -outputPad) + Array(outputPad + 1).join('=');
32
+ if (outputPad !== 0)
33
+ output = output.slice(0, -outputPad) + Array(outputPad + 1).join('=');
33
34
  return output;
34
35
  }
35
36
 
@@ -39,7 +40,7 @@ export class Base64 {
39
40
 
40
41
  static decodeBytes(str: string): Uint8Array {
41
42
  str = str.replace(/=+$/g, '');
42
- let paddingRequired = 4 - str.length % 4;
43
+ let paddingRequired = str.length % 4 === 0 ? 0 : 4 - str.length % 4;
43
44
  str += Array(paddingRequired + 1).join('=');
44
45
 
45
46
  let decoded = new Uint8Array(str.length * 6 / 8);
package/src/clone.ts CHANGED
@@ -57,5 +57,8 @@ function deepCloneWithMemoization(o, memo : WeakMap<any, any>) {
57
57
  * @param obj
58
58
  */
59
59
  export function cloneBySerialization(obj) {
60
+ if (obj === undefined || obj === null || typeof obj !== 'object')
61
+ return obj;
62
+
60
63
  return JSON.parse(JSON.stringify(obj));
61
64
  }