@casual-simulation/aux-common 3.0.6 → 3.0.9

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@casual-simulation/aux-common",
3
- "version": "3.0.6",
3
+ "version": "3.0.9",
4
4
  "description": "Common library for AUX projects",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -73,5 +73,5 @@
73
73
  "**/*.d.ts",
74
74
  "**/*.def"
75
75
  ],
76
- "gitHead": "e0e23dfa3f585631cdb9027d910ec9ca9a88077d"
76
+ "gitHead": "c91b84a963540b078272722528fe0671087a1dfd"
77
77
  }
@@ -880,9 +880,23 @@ export declare function createDefaultLibrary(context: AuxGlobalContext): {
880
880
  z?: number;
881
881
  }) => any;
882
882
  };
883
+ bytes: {
884
+ toBase64String: (bytes: Uint8Array) => string;
885
+ fromBase64String: (base64: string) => Uint8Array;
886
+ toHexString: (bytes: Uint8Array) => string;
887
+ fromHexString: (hex: string) => Uint8Array;
888
+ };
883
889
  crypto: {
890
+ hash: {
891
+ (algorithm: 'sha256' | 'sha512' | 'sha1', format: 'hex' | 'base64', ...data: unknown[]): string;
892
+ (algorithm: 'sha256' | 'sha512' | 'sha1', format: 'raw', ...data: unknown[]): Uint8Array;
893
+ };
884
894
  sha256: (...data: unknown[]) => string;
885
895
  sha512: (...data: unknown[]) => string;
896
+ hmac: {
897
+ (algorithm: 'hmac-sha256' | 'hmac-sha512' | 'hmac-sha1', format: 'hex' | 'base64', key: string, ...data: unknown[]): string;
898
+ (algorithm: 'hmac-sha256' | 'hmac-sha512' | 'hmac-sha1', format: 'raw', key: string, ...data: unknown[]): Uint8Array;
899
+ };
886
900
  hmacSha256: (key: string, ...data: unknown[]) => string;
887
901
  hmacSha512: (key: string, ...data: unknown[]) => string;
888
902
  encrypt: (secret: string, data: string) => string;
@@ -17,8 +17,8 @@ import { remote as calcRemote, } from '@casual-simulation/causal-trees';
17
17
  import { RanOutOfEnergyError } from './AuxResults';
18
18
  import '../polyfill/Array.first.polyfill';
19
19
  import '../polyfill/Array.last.polyfill';
20
- import { convertToCopiableValue, embedBase64InPdf, getEasing, getEmbeddedBase64FromPdf, } from './Utils';
21
- import { sha256 as hashSha256, sha512 as hashSha512, hmac } from 'hash.js';
20
+ import { convertToCopiableValue, embedBase64InPdf, getEasing, getEmbeddedBase64FromPdf, toHexString as utilToHexString, fromHexString as utilFromHexString, } from './Utils';
21
+ import { sha256 as hashSha256, sha512 as hashSha512, hmac as calcHmac, sha1 as hashSha1 } from 'hash.js';
22
22
  import stableStringify from '@casual-simulation/fast-json-stable-stringify';
23
23
  import { encrypt as realEncrypt, decrypt as realDecrypt, keypair as realKeypair, sign as realSign, verify as realVerify, asymmetricKeypair as realAsymmetricKeypair, asymmetricEncrypt as realAsymmetricEncrypt, asymmetricDecrypt as realAsymmetricDecrypt, isAsymmetricKeypair, isAsymmetricEncrypted, isEncrypted, } from '@casual-simulation/crypto';
24
24
  import { tagValueHash } from '../aux-format-2/AuxOpTypes';
@@ -487,9 +487,17 @@ export function createDefaultLibrary(context) {
487
487
  cameraPositionOffset,
488
488
  cameraRotationOffset,
489
489
  },
490
+ bytes: {
491
+ toBase64String,
492
+ fromBase64String,
493
+ toHexString,
494
+ fromHexString,
495
+ },
490
496
  crypto: {
497
+ hash,
491
498
  sha256,
492
499
  sha512,
500
+ hmac,
493
501
  hmacSha256,
494
502
  hmacSha512,
495
503
  encrypt,
@@ -1188,6 +1196,34 @@ export function createDefaultLibrary(context) {
1188
1196
  function applyDiffToSnapshot(snapshot, diff) {
1189
1197
  return apply(snapshot, diff);
1190
1198
  }
1199
+ /**
1200
+ * Converts the given array of bytes into a base64 string.
1201
+ * @param bytes The bytes that should be converted into base64.
1202
+ */
1203
+ function toBase64String(bytes) {
1204
+ return fromByteArray(bytes);
1205
+ }
1206
+ /**
1207
+ * Converts the given base64 formatted string into an array of bytes.
1208
+ * @param base64 The base64 that should be converted to bytes.
1209
+ */
1210
+ function fromBase64String(base64) {
1211
+ return toByteArray(base64);
1212
+ }
1213
+ /**
1214
+ * Converts the given array of bytes into a hexadecimal string.
1215
+ * @param bytes The bytes that should be converted into hex.
1216
+ */
1217
+ function toHexString(bytes) {
1218
+ return utilToHexString(bytes);
1219
+ }
1220
+ /**
1221
+ * Converts the given hexadecimal string into an array of bytes.
1222
+ * @param hex The hexadecimal string.
1223
+ */
1224
+ function fromHexString(hex) {
1225
+ return utilFromHexString(hex);
1226
+ }
1191
1227
  // Actions
1192
1228
  /**
1193
1229
  * Shows a toast message to the user.
@@ -3929,13 +3965,60 @@ export function createDefaultLibrary(context) {
3929
3965
  }
3930
3966
  return result;
3931
3967
  }
3968
+ /**
3969
+ * Calculates the cryptographic hash for the given data and returns the result in the specified format.
3970
+ * @param algorithm The algorithm that should be used to hash the data.
3971
+ * @param format The format that the hash should be returned in.
3972
+ * - "hex" indicates that a hexadecimal string should be returned.
3973
+ * - "base64" indicates that a base64 formatted string should be returned.
3974
+ * - "raw" indicates that an array of bytes should be returned.
3975
+ * @param data The data that should be hashed.
3976
+ */
3977
+ function hash(algorithm, format, ...data) {
3978
+ let h = algorithm === 'sha256' ? hashSha256()
3979
+ : algorithm === 'sha512' ? hashSha512()
3980
+ : algorithm === 'sha1' ? hashSha1()
3981
+ : null;
3982
+ if (!h) {
3983
+ throw new Error('Not supported algorithm: ' + algorithm);
3984
+ }
3985
+ return _hash(h, data, format);
3986
+ }
3987
+ /**
3988
+ * Calculates the HMAC of the given data and returns the result in the specified format.
3989
+ * HMAC is commonly used to verify that a message was created with a specific key.
3990
+ * @param algorithm The algorithm that should be used to hash the data.
3991
+ * @param format The format that the hash should be returned in.
3992
+ * - "hex" indicates that a hexadecimal string should be returned.
3993
+ * - "base64" indicates that a base64 formatted string should be returned.
3994
+ * - "raw" indicates that an array of bytes should be returned.
3995
+ * @param key The key that should be used to sign the message.
3996
+ * @param data The data that should be hashed.
3997
+ */
3998
+ function hmac(algorithm, format, key, ...data) {
3999
+ let h = algorithm === 'hmac-sha256' ? hashSha256
4000
+ : algorithm === 'hmac-sha512' ? hashSha512
4001
+ : algorithm === 'hmac-sha1' ? hashSha1
4002
+ : null;
4003
+ if (!h) {
4004
+ throw new Error('Not supported algorithm: ' + algorithm);
4005
+ }
4006
+ if (!hasValue(key)) {
4007
+ throw new Error('The key must not be empty, null, or undefined');
4008
+ }
4009
+ if (typeof key !== 'string') {
4010
+ throw new Error('The key must be a string');
4011
+ }
4012
+ let hmac = calcHmac(h, key);
4013
+ return _hash(hmac, data, format);
4014
+ }
3932
4015
  /**
3933
4016
  * Calculates the SHA-256 hash of the given data.
3934
4017
  * @param data The data that should be hashed.
3935
4018
  */
3936
4019
  function sha256(...data) {
3937
4020
  let sha = hashSha256();
3938
- return _hash(sha, data);
4021
+ return _hash(sha, data, 'hex');
3939
4022
  }
3940
4023
  /**
3941
4024
  * Calculates the SHA-512 hash of the given data.
@@ -3943,7 +4026,7 @@ export function createDefaultLibrary(context) {
3943
4026
  */
3944
4027
  function sha512(...data) {
3945
4028
  let sha = hashSha512();
3946
- return _hash(sha, data);
4029
+ return _hash(sha, data, 'hex');
3947
4030
  }
3948
4031
  /**
3949
4032
  * Calculates the HMAC SHA-256 hash of the given data.
@@ -3958,8 +4041,8 @@ export function createDefaultLibrary(context) {
3958
4041
  if (typeof key !== 'string') {
3959
4042
  throw new Error('The key must be a string');
3960
4043
  }
3961
- let sha = hmac(hashSha256, key);
3962
- return _hash(sha, data);
4044
+ let sha = calcHmac(hashSha256, key);
4045
+ return _hash(sha, data, 'hex');
3963
4046
  }
3964
4047
  /**
3965
4048
  * Calculates the HMAC SHA-512 hash of the given data.
@@ -3974,8 +4057,8 @@ export function createDefaultLibrary(context) {
3974
4057
  if (typeof key !== 'string') {
3975
4058
  throw new Error('The key must be a string');
3976
4059
  }
3977
- let sha = hmac(hashSha512, key);
3978
- return _hash(sha, data);
4060
+ let sha = calcHmac(hashSha512, key);
4061
+ return _hash(sha, data, 'hex');
3979
4062
  }
3980
4063
  /**
3981
4064
  * Encrypts the given data with the given secret and returns the result.
@@ -4246,7 +4329,7 @@ export function createDefaultLibrary(context) {
4246
4329
  numberOfActiveTimers: context.getNumberOfActiveTimers(),
4247
4330
  };
4248
4331
  }
4249
- function _hash(hash, data) {
4332
+ function _hash(hash, data, format) {
4250
4333
  for (let d of data) {
4251
4334
  if (!hasValue(d)) {
4252
4335
  d = '';
@@ -4259,6 +4342,16 @@ export function createDefaultLibrary(context) {
4259
4342
  }
4260
4343
  hash.update(d);
4261
4344
  }
4345
+ if (!!format && format !== 'hex') {
4346
+ const result = hash.digest();
4347
+ const array = new Uint8Array(result);
4348
+ if (format === 'base64') {
4349
+ return fromByteArray(array);
4350
+ }
4351
+ else {
4352
+ return array;
4353
+ }
4354
+ }
4262
4355
  return hash.digest('hex');
4263
4356
  }
4264
4357
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AuxLibrary.js","sourceRoot":"","sources":["AuxLibrary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuxLibrary.js","sourceRoot":"","sources":["AuxLibrary.ts"],"names":[],"mappings":"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"}
@@ -7028,6 +7028,11 @@ declare global {
7028
7028
  */
7029
7029
  const mod: ModFuncs;
7030
7030
 
7031
+ /**
7032
+ * Defines a set of functions that are used to transform byte arrays.
7033
+ */
7034
+ const bytes: Bytes;
7035
+
7031
7036
  // @ts-ignore: Ignore redeclaration
7032
7037
  const crypto: Crypto;
7033
7038
 
@@ -7160,6 +7165,18 @@ interface Debugger {
7160
7165
  */
7161
7166
  applyDiffToSnapshot(snapshot: BotsState, diff: PartialBotsState): BotsState;
7162
7167
 
7168
+ /**
7169
+ * Converts the given array of bytes into a base64 string.
7170
+ * @param bytes The bytes that should be converted into base64.
7171
+ */
7172
+ toBase64String(bytes: Uint8Array): string;
7173
+
7174
+ /**
7175
+ * Converts the given base64 formatted string into an array of bytes.
7176
+ * @param base64 The base64 that should be converted to bytes.
7177
+ */
7178
+ fromBase64String(base64: string): Uint8Array;
7179
+
7163
7180
  /**
7164
7181
  * Creates a tag value that can be used to link to the given bots.
7165
7182
  * @param bots The bots that the link should point to.
@@ -7776,6 +7793,11 @@ interface Debugger {
7776
7793
  * Defines a set of functions that are used to create and transform mods.
7777
7794
  */
7778
7795
  mod: ModFuncs;
7796
+
7797
+ /**
7798
+ * Defines a set of functions that are used to transform byte arrays.
7799
+ */
7800
+ bytes: Bytes;
7779
7801
 
7780
7802
  // @ts-ignore: Ignore redeclaration
7781
7803
  crypto: Crypto;
@@ -9470,7 +9492,106 @@ interface ModFuncs {
9470
9492
  };
9471
9493
  };
9472
9494
 
9495
+ interface Bytes {
9496
+ /**
9497
+ * Converts the given array of bytes into a base64 string.
9498
+ * @param bytes The bytes that should be converted into base64.
9499
+ */
9500
+ toBase64String(bytes: Uint8Array): string;
9501
+
9502
+ /**
9503
+ * Converts the given base64 formatted string into an array of bytes.
9504
+ * @param base64 The base64 that should be converted to bytes.
9505
+ */
9506
+ fromBase64String(base64: string): Uint8Array;
9507
+
9508
+ /**
9509
+ * Converts the given array of bytes into a hexadecimal string.
9510
+ * @param bytes The bytes that should be converted into hex.
9511
+ */
9512
+ toHexString(bytes: Uint8Array): string;
9513
+
9514
+ /**
9515
+ * Converts the given hexadecimal string into an array of bytes.
9516
+ * @param hex The hexadecimal string.
9517
+ */
9518
+ fromHexString(hex: string): Uint8Array;
9519
+ }
9520
+
9473
9521
  interface Crypto {
9522
+
9523
+ /**
9524
+ * Calculates the cryptographic hash for the given data and returns the result in the specified format.
9525
+ * @param algorithm The algorithm that should be used to hash the data.
9526
+ * @param format The format that the hash should be returned in.
9527
+ * - "hex" indicates that a hexadecimal string should be returned.
9528
+ * - "base64" indicates that a base64 formatted string should be returned.
9529
+ * - "raw" indicates that an array of bytes should be returned.
9530
+ * @param data The data that should be hashed.
9531
+ */
9532
+ hash(algorithm: 'sha256' | 'sha512' | 'sha1', format: 'hex' | 'base64', ...data: unknown[]): string;
9533
+
9534
+ /**
9535
+ * Calculates the cryptographic hash for the given data and returns the result in the specified format.
9536
+ * @param algorithm The algorithm that should be used to hash the data.
9537
+ * @param format The format that the hash should be returned in.
9538
+ * - "hex" indicates that a hexadecimal string should be returned.
9539
+ * - "base64" indicates that a base64 formatted string should be returned.
9540
+ * - "raw" indicates that an array of bytes should be returned.
9541
+ * @param data The data that should be hashed.
9542
+ */
9543
+ hash(algorithm: 'sha256' | 'sha512' | 'sha1', format: 'raw', ...data: unknown[]): Uint8Array;
9544
+
9545
+ /**
9546
+ * Calculates the cryptographic hash for the given data and returns the result in the specified format.
9547
+ * @param algorithm The algorithm that should be used to hash the data.
9548
+ * @param format The format that the hash should be returned in.
9549
+ * - "hex" indicates that a hexadecimal string should be returned.
9550
+ * - "base64" indicates that a base64 formatted string should be returned.
9551
+ * - "raw" indicates that an array of bytes should be returned.
9552
+ * @param data The data that should be hashed.
9553
+ */
9554
+ hash(algorithm: 'sha256' | 'sha512' | 'sha1', format: 'hex' | 'base64' | 'raw', ...data: unknown[]): string | Uint8Array;
9555
+
9556
+ /**
9557
+ * Calculates the HMAC of the given data and returns the result in the specified format.
9558
+ * HMAC is commonly used to verify that a message was created with a specific key.
9559
+ * @param algorithm The algorithm that should be used to hash the data.
9560
+ * @param format The format that the hash should be returned in.
9561
+ * - "hex" indicates that a hexadecimal string should be returned.
9562
+ * - "base64" indicates that a base64 formatted string should be returned.
9563
+ * - "raw" indicates that an array of bytes should be returned.
9564
+ * @param key The key that should be used to sign the message.
9565
+ * @param data The data that should be hashed.
9566
+ */
9567
+ hmac(algorithm: 'hmac-sha256' | 'hmac-sha512' | 'hmac-sha1', format: 'hex' | 'base64', key: string, ...data: unknown[]): string;
9568
+
9569
+ /**
9570
+ * Calculates the HMAC of the given data and returns the result in the specified format.
9571
+ * HMAC is commonly used to verify that a message was created with a specific key.
9572
+ * @param algorithm The algorithm that should be used to hash the data.
9573
+ * @param format The format that the hash should be returned in.
9574
+ * - "hex" indicates that a hexadecimal string should be returned.
9575
+ * - "base64" indicates that a base64 formatted string should be returned.
9576
+ * - "raw" indicates that an array of bytes should be returned.
9577
+ * @param key The key that should be used to sign the message.
9578
+ * @param data The data that should be hashed.
9579
+ */
9580
+ hmac(algorithm: 'hmac-sha256' | 'hmac-sha512' | 'hmac-sha1', format: 'raw', key: string, ...data: unknown[]): Uint8Array;
9581
+
9582
+ /**
9583
+ * Calculates the HMAC of the given data and returns the result in the specified format.
9584
+ * HMAC is commonly used to verify that a message was created with a specific key.
9585
+ * @param algorithm The algorithm that should be used to hash the data.
9586
+ * @param format The format that the hash should be returned in.
9587
+ * - "hex" indicates that a hexadecimal string should be returned.
9588
+ * - "base64" indicates that a base64 formatted string should be returned.
9589
+ * - "raw" indicates that an array of bytes should be returned.
9590
+ * @param key The key that should be used to sign the message.
9591
+ * @param data The data that should be hashed.
9592
+ */
9593
+ hmac(algorithm: 'hmac-sha256' | 'hmac-sha512' | 'hmac-sha1', format: 'hex' | 'base64' | 'raw', key: string, ...data: unknown[]): string | Uint8Array
9594
+
9474
9595
  /**
9475
9596
  * Calculates the SHA-256 hash of the given data.
9476
9597
  * Returns the hexadecimal string of the hash.
@@ -40,4 +40,14 @@ export declare function formatAuthToken(token: string, service: string): string;
40
40
  * The returned token is the token that was returned from the auth API and the service is the bundle ID of the app that requested it.
41
41
  */
42
42
  export declare function parseAuthToken(token: string): [string, string];
43
+ /**
44
+ * Constructs a Uint8Array from the given hexadecimal formatted string.
45
+ * @param hex The hexadecimal string.
46
+ */
47
+ export declare function fromHexString(hex: string): Uint8Array;
48
+ /**
49
+ * Constructs a hexidecimal formatted string from the given array of bytes.
50
+ * @param bytes The bytes that should be hex formatted.
51
+ */
52
+ export declare function toHexString(bytes: Uint8Array): string;
43
53
  //# sourceMappingURL=Utils.d.ts.map
package/runtime/Utils.js CHANGED
@@ -359,4 +359,52 @@ export function parseAuthToken(token) {
359
359
  const service = token.slice(dotIndex + 1);
360
360
  return [tokenWithoutService, service];
361
361
  }
362
+ /**
363
+ * Constructs a Uint8Array from the given hexadecimal formatted string.
364
+ * @param hex The hexadecimal string.
365
+ */
366
+ export function fromHexString(hex) {
367
+ const numBytes = hex.length / 2;
368
+ const a = new Uint8Array(numBytes);
369
+ hex = hex.toLowerCase();
370
+ for (let i = 0; i < a.length; i++) {
371
+ let char = i * 2;
372
+ let char1 = hex.charCodeAt(char);
373
+ let char2 = hex.charCodeAt(char + 1);
374
+ let val = (fromHexCode(char1) * 16) + fromHexCode(char2);
375
+ a[i] = val;
376
+ }
377
+ return a;
378
+ }
379
+ /**
380
+ * Constructs a hexidecimal formatted string from the given array of bytes.
381
+ * @param bytes The bytes that should be hex formatted.
382
+ */
383
+ export function toHexString(bytes) {
384
+ let str = '';
385
+ for (let i = 0; i < bytes.length; i++) {
386
+ let byte = bytes[i];
387
+ let temp = byte.toString(16);
388
+ if (temp.length < 2) {
389
+ str += '0' + temp;
390
+ }
391
+ else {
392
+ str += temp;
393
+ }
394
+ }
395
+ return str;
396
+ }
397
+ const _0CharCode = '0'.charCodeAt(0);
398
+ const _9CharCode = '9'.charCodeAt(0);
399
+ const aCharCode = 'a'.charCodeAt(0);
400
+ const fCharCode = 'f'.charCodeAt(0);
401
+ function fromHexCode(code) {
402
+ if (code >= _0CharCode && code <= _9CharCode) {
403
+ return code - _0CharCode;
404
+ }
405
+ else if (code >= aCharCode && code <= fCharCode) {
406
+ return (code - aCharCode) + 10;
407
+ }
408
+ throw new Error('Invalid hex code: ' + code);
409
+ }
362
410
  //# sourceMappingURL=Utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["Utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["Utils.ts"],"names":[],"mappings":"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"}