react-native-quick-crypto 1.0.0-beta.4 → 1.0.0-beta.6

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.
Files changed (106) hide show
  1. package/android/CMakeLists.txt +2 -4
  2. package/android/build.gradle +33 -4
  3. package/cpp/ed25519/HybridEdKeyPair.cpp +233 -0
  4. package/cpp/ed25519/HybridEdKeyPair.hpp +72 -0
  5. package/cpp/pbkdf2/HybridPbkdf2.cpp +6 -5
  6. package/cpp/pbkdf2/HybridPbkdf2.hpp +4 -4
  7. package/cpp/random/HybridRandom.cpp +6 -5
  8. package/cpp/random/HybridRandom.hpp +8 -4
  9. package/lib/commonjs/ed.js +38 -0
  10. package/lib/commonjs/ed.js.map +1 -0
  11. package/lib/commonjs/index.js +15 -5
  12. package/lib/commonjs/index.js.map +1 -1
  13. package/lib/commonjs/keys/classes.js +191 -0
  14. package/lib/commonjs/keys/classes.js.map +1 -0
  15. package/lib/commonjs/keys/generateKeyPair.js +148 -0
  16. package/lib/commonjs/keys/generateKeyPair.js.map +1 -0
  17. package/lib/commonjs/keys/index.js +48 -72
  18. package/lib/commonjs/keys/index.js.map +1 -1
  19. package/lib/commonjs/keys/signVerify.js +41 -0
  20. package/lib/commonjs/keys/signVerify.js.map +1 -0
  21. package/lib/commonjs/keys/utils.js +118 -0
  22. package/lib/commonjs/keys/utils.js.map +1 -0
  23. package/lib/commonjs/specs/edKeyPair.nitro.js +6 -0
  24. package/lib/commonjs/specs/edKeyPair.nitro.js.map +1 -0
  25. package/lib/commonjs/utils/conversion.js +2 -0
  26. package/lib/commonjs/utils/conversion.js.map +1 -1
  27. package/lib/commonjs/utils/index.js +11 -0
  28. package/lib/commonjs/utils/index.js.map +1 -1
  29. package/lib/commonjs/utils/types.js +12 -1
  30. package/lib/commonjs/utils/types.js.map +1 -1
  31. package/lib/commonjs/utils/validation.js +25 -0
  32. package/lib/commonjs/utils/validation.js.map +1 -0
  33. package/lib/module/ed.js +33 -0
  34. package/lib/module/ed.js.map +1 -0
  35. package/lib/module/index.js +5 -5
  36. package/lib/module/index.js.map +1 -1
  37. package/lib/module/keys/classes.js +182 -0
  38. package/lib/module/keys/classes.js.map +1 -0
  39. package/lib/module/keys/generateKeyPair.js +148 -0
  40. package/lib/module/keys/generateKeyPair.js.map +1 -0
  41. package/lib/module/keys/index.js +25 -77
  42. package/lib/module/keys/index.js.map +1 -1
  43. package/lib/module/keys/signVerify.js +41 -0
  44. package/lib/module/keys/signVerify.js.map +1 -0
  45. package/lib/module/keys/utils.js +110 -0
  46. package/lib/module/keys/utils.js.map +1 -0
  47. package/lib/module/specs/edKeyPair.nitro.js +4 -0
  48. package/lib/module/specs/edKeyPair.nitro.js.map +1 -0
  49. package/lib/module/utils/conversion.js +1 -0
  50. package/lib/module/utils/conversion.js.map +1 -1
  51. package/lib/module/utils/index.js +1 -0
  52. package/lib/module/utils/index.js.map +1 -1
  53. package/lib/module/utils/types.js +14 -0
  54. package/lib/module/utils/types.js.map +1 -1
  55. package/lib/module/utils/validation.js +19 -0
  56. package/lib/module/utils/validation.js.map +1 -0
  57. package/lib/tsconfig.tsbuildinfo +1 -1
  58. package/lib/typescript/ed.d.ts +16 -0
  59. package/lib/typescript/ed.d.ts.map +1 -0
  60. package/lib/typescript/index.d.ts +27 -5
  61. package/lib/typescript/index.d.ts.map +1 -1
  62. package/lib/typescript/keys/classes.d.ts +38 -0
  63. package/lib/typescript/keys/classes.d.ts.map +1 -0
  64. package/lib/typescript/keys/generateKeyPair.d.ts +1 -0
  65. package/lib/typescript/keys/generateKeyPair.d.ts.map +1 -0
  66. package/lib/typescript/keys/index.d.ts +3 -21
  67. package/lib/typescript/keys/index.d.ts.map +1 -1
  68. package/lib/typescript/keys/signVerify.d.ts +1 -0
  69. package/lib/typescript/keys/signVerify.d.ts.map +1 -0
  70. package/lib/typescript/keys/utils.d.ts +32 -0
  71. package/lib/typescript/keys/utils.d.ts.map +1 -0
  72. package/lib/typescript/specs/edKeyPair.nitro.d.ts +15 -0
  73. package/lib/typescript/specs/edKeyPair.nitro.d.ts.map +1 -0
  74. package/lib/typescript/utils/conversion.d.ts +1 -0
  75. package/lib/typescript/utils/conversion.d.ts.map +1 -1
  76. package/lib/typescript/utils/index.d.ts +1 -0
  77. package/lib/typescript/utils/index.d.ts.map +1 -1
  78. package/lib/typescript/utils/types.d.ts +60 -4
  79. package/lib/typescript/utils/types.d.ts.map +1 -1
  80. package/lib/typescript/utils/validation.d.ts +8 -0
  81. package/lib/typescript/utils/validation.d.ts.map +1 -0
  82. package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +1 -0
  83. package/nitrogen/generated/android/QuickCrypto+autolinking.gradle +2 -0
  84. package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +10 -0
  85. package/nitrogen/generated/ios/QuickCrypto+autolinking.rb +1 -1
  86. package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Umbrella.hpp +4 -1
  87. package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +10 -0
  88. package/nitrogen/generated/shared/c++/{AsymmetricKeyType.hpp → CFRGKeyPairType.hpp} +25 -25
  89. package/nitrogen/generated/shared/c++/HybridEdKeyPairSpec.cpp +28 -0
  90. package/nitrogen/generated/shared/c++/HybridEdKeyPairSpec.hpp +73 -0
  91. package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.hpp +4 -4
  92. package/nitrogen/generated/shared/c++/HybridPbkdf2Spec.hpp +2 -2
  93. package/nitrogen/generated/shared/c++/HybridRandomSpec.hpp +2 -2
  94. package/package.json +25 -21
  95. package/src/ed.ts +58 -0
  96. package/src/index.ts +5 -5
  97. package/src/keys/classes.ts +211 -0
  98. package/src/keys/generateKeyPair.ts +146 -0
  99. package/src/keys/index.ts +42 -99
  100. package/src/keys/signVerify.ts +39 -0
  101. package/src/keys/utils.ts +184 -0
  102. package/src/specs/edKeyPair.nitro.ts +32 -0
  103. package/src/utils/conversion.ts +2 -0
  104. package/src/utils/index.ts +1 -0
  105. package/src/utils/types.ts +84 -4
  106. package/src/utils/validation.ts +35 -0
@@ -1,81 +1,29 @@
1
1
  "use strict";
2
2
 
3
- export class CryptoKey {
4
- constructor(keyObject, keyAlgorithm, keyUsages, keyExtractable) {
5
- this.keyObject = keyObject;
6
- this.keyAlgorithm = keyAlgorithm;
7
- this.keyUsages = keyUsages;
8
- this.keyExtractable = keyExtractable;
9
- }
10
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
- inspect(_depth, _options) {
12
- throw new Error('CryptoKey.inspect is not implemented');
13
- // if (depth < 0) return this;
3
+ import { CryptoKey, KeyObject, SecretKeyObject, PublicKeyObject, PrivateKeyObject } from './classes';
4
+ // import { generateKeyPair } from './generateKeyPair';
5
+ // import { sign, verify } from './signVerify';
6
+ import { isCryptoKey, parseKeyEncoding, parsePrivateKeyEncoding, parsePublicKeyEncoding } from './utils';
7
+ export {
8
+ // Node Public API
9
+ // createSecretKey,
10
+ // createPublicKey,
11
+ // createPrivateKey,
12
+ CryptoKey,
13
+ // generateKeyPair,
14
+ KeyObject,
15
+ // InternalCryptoKey,
16
+ // sign,
17
+ // verify,
14
18
 
15
- // const opts = {
16
- // ...options,
17
- // depth: options.depth == null ? null : options.depth - 1,
18
- // };
19
-
20
- // return `CryptoKey ${inspect(
21
- // {
22
- // type: this.type,
23
- // extractable: this.extractable,
24
- // algorithm: this.algorithm,
25
- // usages: this.usages,
26
- // },
27
- // opts
28
- // )}`;
29
- }
30
- get type() {
31
- // if (!(this instanceof CryptoKey)) throw new Error('Invalid CryptoKey');
32
- return this.keyObject.type;
33
- }
34
- get extractable() {
35
- return this.keyExtractable;
36
- }
37
- get algorithm() {
38
- return this.keyAlgorithm;
39
- }
40
- get usages() {
41
- return this.keyUsages;
42
- }
43
- }
44
- class KeyObject {
45
- type = 'unknown';
46
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
47
- export(_options) {
48
- return new ArrayBuffer(0);
49
- }
50
- constructor(type, handle) {
51
- if (type !== 'secret' && type !== 'public' && type !== 'private') throw new Error(`invalid KeyObject type: ${type}`);
52
- this.handle = handle;
53
- this.type = type;
54
- }
55
-
56
- // get type(): string {
57
- // return this.type;
58
- // }
59
-
60
- // static from(key) {
61
- // if (!isCryptoKey(key))
62
- // throw new ERR_INVALID_ARG_TYPE('key', 'CryptoKey', key);
63
- // return key[kKeyObject];
64
- // }
65
-
66
- // equals(otherKeyObject) {
67
- // if (!isKeyObject(otherKeyObject)) {
68
- // throw new ERR_INVALID_ARG_TYPE(
69
- // 'otherKeyObject',
70
- // 'KeyObject',
71
- // otherKeyObject
72
- // );
73
- // }
74
-
75
- // return (
76
- // otherKeyObject.type === this.type &&
77
- // this[kHandle].equals(otherKeyObject[kHandle])
78
- // );
79
- // }
80
- }
19
+ // Node Internal API
20
+ parsePublicKeyEncoding, parsePrivateKeyEncoding, parseKeyEncoding,
21
+ // preparePrivateKey,
22
+ // preparePublicOrPrivateKey,
23
+ // prepareSecretKey,
24
+ SecretKeyObject, PublicKeyObject, PrivateKeyObject,
25
+ // isKeyObject,
26
+ isCryptoKey
27
+ // importGenericSecretKey,
28
+ };
81
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CryptoKey","constructor","keyObject","keyAlgorithm","keyUsages","keyExtractable","inspect","_depth","_options","Error","type","extractable","algorithm","usages","KeyObject","export","ArrayBuffer","handle"],"sourceRoot":"../../../src","sources":["keys/index.ts"],"mappings":";;AAGA,OAAO,MAAMA,SAAS,CAAC;EAMrBC,WAAWA,CACTC,SAAoB,EACpBC,YAA6B,EAC7BC,SAAqB,EACrBC,cAAuB,EACvB;IACA,IAAI,CAACH,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,cAAc,GAAGA,cAAc;EACtC;EACA;EACAC,OAAOA,CAACC,MAAc,EAAEC,QAAiB,EAAW;IAClD,MAAM,IAAIC,KAAK,CAAC,sCAAsC,CAAC;IACvD;;IAEA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EACF;EAEA,IAAIC,IAAIA,CAAA,EAAG;IACT;IACA,OAAO,IAAI,CAACR,SAAS,CAACQ,IAAI;EAC5B;EAEA,IAAIC,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACN,cAAc;EAC5B;EAEA,IAAIO,SAASA,CAAA,EAAG;IACd,OAAO,IAAI,CAACT,YAAY;EAC1B;EAEA,IAAIU,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAACT,SAAS;EACvB;AACF;AAEA,MAAMU,SAAS,CAAC;EAEdJ,IAAI,GAAgD,SAAS;EAC7D;EACAK,MAAMA,CAACP,QAA0B,EAAe;IAC9C,OAAO,IAAIQ,WAAW,CAAC,CAAC,CAAC;EAC3B;EAEAf,WAAWA,CAACS,IAAY,EAAEO,MAAuB,EAAE;IACjD,IAAIP,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,SAAS,EAC9D,MAAM,IAAID,KAAK,CAAC,2BAA2BC,IAAI,EAAE,CAAC;IACpD,IAAI,CAACO,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACP,IAAI,GAAGA,IAAI;EAClB;;EAEA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;AACF","ignoreList":[]}
1
+ {"version":3,"names":["CryptoKey","KeyObject","SecretKeyObject","PublicKeyObject","PrivateKeyObject","isCryptoKey","parseKeyEncoding","parsePrivateKeyEncoding","parsePublicKeyEncoding"],"sourceRoot":"../../../src","sources":["keys/index.ts"],"mappings":";;AAAA,SACEA,SAAS,EACTC,SAAS,EACTC,eAAe,EACfC,eAAe,EACfC,gBAAgB,QACX,WAAW;AAClB;AACA;AACA,SACEC,WAAW,EACXC,gBAAgB,EAChBC,uBAAuB,EACvBC,sBAAsB,QACjB,SAAS;AAEhB;AACE;AACA;AACA;AACA;AACAR,SAAS;AACT;AACAC,SAAS;AACT;AACA;AACA;;AAEA;AACAO,sBAAsB,EACtBD,uBAAuB,EACvBD,gBAAgB;AAChB;AACA;AACA;AACAJ,eAAe,EACfC,eAAe,EACfC,gBAAgB;AAChB;AACAC;AACA;AAAA","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ // import { KeyObject, PublicKeyObject, PrivateKeyObject } from '.';
2
+ // import { ed25519 } from '../ed25519';
3
+ // import type {
4
+ // BinaryLike,
5
+ // BinaryLikeNode,
6
+ // SignCallback,
7
+ // VerifyCallback,
8
+ // } from '../utils';
9
+
10
+ // export function sign(
11
+ // algorithm: string | null | undefined,
12
+ // data: BinaryLike,
13
+ // key: BinaryLikeNode | KeyObject,
14
+ // callback: SignCallback,
15
+ // ): ArrayBuffer {
16
+ // console.log('sign ', algorithm, data, key, callback);
17
+ // return new ArrayBuffer(32);
18
+ // }
19
+
20
+ // export function verify(
21
+ // algorithm: string | null | undefined,
22
+ // data: BinaryLike,
23
+ // key: BinaryLikeNode | KeyObject,
24
+ // signature: ArrayBuffer,
25
+ // callback: VerifyCallback,
26
+ // ): boolean {
27
+ // if (!algorithm) {
28
+ // if (key instanceof PublicKeyObject) {
29
+ // switch (key.asymmetricKeyType) {
30
+ // case 'ed25519':
31
+ // case 'ed448':
32
+ // case 'x25519':
33
+ // case 'x448': {
34
+ // return ed25519.verify(signature, data, key);
35
+ // }
36
+ // }
37
+ // }
38
+ // throw new Error('Verify not implemented', algorithm, data, key, signature, callback);
39
+ // }
40
+ "use strict";
41
+ //# sourceMappingURL=signVerify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["keys/signVerify.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA","ignoreList":[]}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+
3
+ import { binaryLikeToArrayBuffer, isStringOrBuffer, KeyEncoding, KFormatType } from '../utils';
4
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
5
+ export const isCryptoKey = obj => {
6
+ return obj !== null && obj?.keyObject !== undefined;
7
+ };
8
+
9
+ /**
10
+ * Parses the public key encoding based on an object. keyType must be undefined
11
+ * when this is used to parse an input encoding and must be a valid key type if
12
+ * used to parse an output encoding.
13
+ */
14
+ export function parsePublicKeyEncoding(enc, keyType, objName) {
15
+ return parseKeyEncoding(enc, keyType, keyType ? true : undefined, objName);
16
+ }
17
+
18
+ /**
19
+ * Parses the private key encoding based on an object. keyType must be undefined
20
+ * when this is used to parse an input encoding and must be a valid key type if
21
+ * used to parse an output encoding.
22
+ */
23
+ export function parsePrivateKeyEncoding(enc, keyType, objName) {
24
+ return parseKeyEncoding(enc, keyType, false, objName);
25
+ }
26
+ export function parseKeyEncoding(enc, keyType, isPublic, objName) {
27
+ // validateObject(enc, 'options');
28
+
29
+ const isInput = keyType === undefined;
30
+ const {
31
+ format,
32
+ type
33
+ } = parseKeyFormatAndType(enc, keyType, isPublic, objName);
34
+ let cipher, passphrase, encoding;
35
+ if (isPublic !== true) {
36
+ ({
37
+ cipher,
38
+ passphrase,
39
+ encoding
40
+ } = enc);
41
+ if (!isInput) {
42
+ if (cipher != null) {
43
+ if (typeof cipher !== 'string') throw new Error(`Invalid argument ${option('cipher', objName)}: ${cipher}`);
44
+ if (format === KFormatType.kKeyFormatDER && (type === KeyEncoding.kKeyEncodingPKCS1 || type === KeyEncoding.kKeyEncodingSEC1)) {
45
+ throw new Error(`Incompatible key options ${encodingNames[type]} does not support encryption`);
46
+ }
47
+ } else if (passphrase !== undefined) {
48
+ throw new Error(`invalid argument ${option('cipher', objName)}: ${cipher}`);
49
+ }
50
+ }
51
+ if (isInput && passphrase !== undefined && !isStringOrBuffer(passphrase) || !isInput && cipher != null && !isStringOrBuffer(passphrase)) {
52
+ throw new Error(`Invalid argument value ${option('passphrase', objName)}: ${passphrase}`);
53
+ }
54
+ }
55
+ if (passphrase !== undefined) passphrase = binaryLikeToArrayBuffer(passphrase, encoding);
56
+ return {
57
+ format,
58
+ type,
59
+ cipher,
60
+ passphrase
61
+ };
62
+ }
63
+ const encodingNames = {
64
+ [KeyEncoding.kKeyEncodingPKCS1]: 'pkcs1',
65
+ [KeyEncoding.kKeyEncodingPKCS8]: 'pkcs8',
66
+ [KeyEncoding.kKeyEncodingSPKI]: 'spki',
67
+ [KeyEncoding.kKeyEncodingSEC1]: 'sec1'
68
+ };
69
+ function option(name, objName) {
70
+ return objName === undefined ? `options.${name}` : `options.${objName}.${name}`;
71
+ }
72
+ function parseKeyFormat(formatStr, defaultFormat, optionName) {
73
+ if (formatStr === undefined && defaultFormat !== undefined) return defaultFormat;else if (formatStr === 'pem') return KFormatType.kKeyFormatPEM;else if (formatStr === 'der') return KFormatType.kKeyFormatDER;else if (formatStr === 'jwk') return KFormatType.kKeyFormatJWK;
74
+ throw new Error(`Invalid key format str: ${optionName}`);
75
+ }
76
+ function parseKeyType(typeStr, required, keyType, isPublic, optionName) {
77
+ if (typeStr === undefined && !required) {
78
+ return undefined;
79
+ } else if (typeStr === 'pkcs1') {
80
+ if (keyType !== undefined && keyType !== 'rsa') {
81
+ throw new Error(`Crypto incompatible key options: ${typeStr} can only be used for RSA keys`);
82
+ }
83
+ return KeyEncoding.kKeyEncodingPKCS1;
84
+ } else if (typeStr === 'spki' && isPublic !== false) {
85
+ return KeyEncoding.kKeyEncodingSPKI;
86
+ } else if (typeStr === 'pkcs8' && isPublic !== true) {
87
+ return KeyEncoding.kKeyEncodingPKCS8;
88
+ } else if (typeStr === 'sec1' && isPublic !== true) {
89
+ if (keyType !== undefined && keyType !== 'ec') {
90
+ throw new Error(`Incompatible key options ${typeStr} can only be used for EC keys`);
91
+ }
92
+ return KeyEncoding.kKeyEncodingSEC1;
93
+ }
94
+ throw new Error(`Invalid option ${optionName} - ${typeStr}`);
95
+ }
96
+ function parseKeyFormatAndType(enc, keyType, isPublic, objName) {
97
+ const {
98
+ format: formatStr,
99
+ type: typeStr
100
+ } = enc;
101
+ const isInput = keyType === undefined;
102
+ const format = parseKeyFormat(formatStr, isInput ? KFormatType.kKeyFormatPEM : undefined, option('format', objName));
103
+ const isRequired = (!isInput || format === KFormatType.kKeyFormatDER) && format !== KFormatType.kKeyFormatJWK;
104
+ const type = parseKeyType(typeStr, isRequired, keyType, isPublic, option('type', objName));
105
+ return {
106
+ format,
107
+ type
108
+ };
109
+ }
110
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["binaryLikeToArrayBuffer","isStringOrBuffer","KeyEncoding","KFormatType","isCryptoKey","obj","keyObject","undefined","parsePublicKeyEncoding","enc","keyType","objName","parseKeyEncoding","parsePrivateKeyEncoding","isPublic","isInput","format","type","parseKeyFormatAndType","cipher","passphrase","encoding","Error","option","kKeyFormatDER","kKeyEncodingPKCS1","kKeyEncodingSEC1","encodingNames","kKeyEncodingPKCS8","kKeyEncodingSPKI","name","parseKeyFormat","formatStr","defaultFormat","optionName","kKeyFormatPEM","kKeyFormatJWK","parseKeyType","typeStr","required","isRequired"],"sourceRoot":"../../../src","sources":["keys/utils.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=edKeyPair.nitro.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/edKeyPair.nitro.ts"],"mappings":"","ignoreList":[]}
@@ -84,4 +84,5 @@ encoding = 'utf-8') {
84
84
  export function ab2str(buf, encoding = 'hex') {
85
85
  return Buffer.from(buf).toString(encoding);
86
86
  }
87
+ export const kEmptyObject = Object.freeze(Object.create(null));
87
88
  //# sourceMappingURL=conversion.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Buffer","SBuffer","abvToArrayBuffer","buffer","isBuffer","ArrayBuffer","isView","toArrayBuffer","buf","slice","byteOffset","byteLength","ab","length","view","Uint8Array","i","readUInt8","bufferLikeToArrayBuffer","binaryLikeToArrayBuffer","input","encoding","Error","from","ab2str","toString"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,gCAAgC;AACvD,SAASA,MAAM,IAAIC,OAAO,QAAQ,aAAa;AAG/C,OAAO,MAAMC,gBAAgB,GAAIC,MAAuB,IAAK;EAC3D,IAAIH,MAAM,CAACI,QAAQ,CAACD,MAAM,CAAC,EAAE;IAC3B,OAAOA,MAAM,CAACA,MAAM;EACtB;EACA,IAAIE,WAAW,CAACC,MAAM,CAACH,MAAM,CAAC,EAAE;IAC9B,OAAOA,MAAM,CAACA,MAAM;EACtB;EACA,OAAOA,MAAM;AACf,CAAC;AAED,OAAO,SAASI,aAAaA,CAACC,GAAqB,EAAe;EAChE,IAAIR,MAAM,CAACI,QAAQ,CAACI,GAAG,CAAC,IAAIA,GAAG,EAAEL,MAAM,EAAEM,KAAK,EAAE;IAC9C,OAAOD,GAAG,CAACL,MAAM,CAACM,KAAK,CAACD,GAAG,CAACE,UAAU,EAAEF,GAAG,CAACE,UAAU,GAAGF,GAAG,CAACG,UAAU,CAAC;EAC1E;EACA,MAAMC,EAAE,GAAG,IAAIP,WAAW,CAACG,GAAG,CAACK,MAAM,CAAC;EACtC,MAAMC,IAAI,GAAG,IAAIC,UAAU,CAACH,EAAE,CAAC;EAC/B,KAAK,IAAII,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGR,GAAG,CAACK,MAAM,EAAE,EAAEG,CAAC,EAAE;IACnCF,IAAI,CAACE,CAAC,CAAC,GAAGf,OAAO,CAACG,QAAQ,CAACI,GAAG,CAAC,GAAGA,GAAG,CAACS,SAAS,CAACD,CAAC,CAAC,GAAGR,GAAG,CAACQ,CAAC,CAAE;EAC9D;EACA,OAAOJ,EAAE;AACX;AAEA,OAAO,SAASM,uBAAuBA,CAACV,GAAe,EAAe;EACpE,IAAIR,MAAM,CAACI,QAAQ,CAACI,GAAG,CAAC,EAAE;IACxB,OAAOA,GAAG,CAACL,MAAM;EACnB;EACA,IAAIF,OAAO,CAACG,QAAQ,CAACI,GAAG,CAAC,EAAE;IACzB,OAAOD,aAAa,CAACC,GAAG,CAAC;EAC3B;EACA,IAAIH,WAAW,CAACC,MAAM,CAACE,GAAG,CAAC,EAAE;IAC3B,OAAOA,GAAG,CAACL,MAAM;EACnB;EACA,OAAOK,GAAG;AACZ;AAEA,OAAO,SAASW,uBAAuBA,CACrCC,KAAqB;AAAE;AACvBC,QAAgB,GAAG,OAAO,EACb;EACb;EACA,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;IAC7B,IAAIC,QAAQ,KAAK,QAAQ,EAAE;MACzB,MAAM,IAAIC,KAAK,CACb,6DACF,CAAC;IACH;IAEA,MAAMnB,MAAM,GAAGH,MAAM,CAACuB,IAAI,CAACH,KAAK,EAAEC,QAAQ,CAAC;IAE3C,OAAOlB,MAAM,CAACA,MAAM,CAACM,KAAK,CACxBN,MAAM,CAACO,UAAU,EACjBP,MAAM,CAACO,UAAU,GAAGP,MAAM,CAACQ,UAC7B,CAAC;EACH;;EAEA;EACA,IAAIX,MAAM,CAACI,QAAQ,CAACgB,KAAK,CAAC,EAAE;IAC1B,OAAOb,aAAa,CAACa,KAAK,CAAC;EAC7B;;EAEA;EACA;EACA,IAAIf,WAAW,CAACC,MAAM,CAACc,KAAK,CAAC,EAAE;IAC7B,OAAOA,KAAK,CAACjB,MAAM;EACrB;;EAEA;EACA,IAAIiB,KAAK,YAAYf,WAAW,EAAE;IAChC,OAAOe,KAAK;EACd;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;;EAEA,MAAM,IAAIE,KAAK,CAAC,6CAA6C,CAAC;AAChE;AAEA,OAAO,SAASE,MAAMA,CAAChB,GAAgB,EAAEa,QAAgB,GAAG,KAAK,EAAE;EACjE,OAAOrB,MAAM,CAACuB,IAAI,CAACf,GAAG,CAAC,CAACiB,QAAQ,CAACJ,QAAQ,CAAC;AAC5C","ignoreList":[]}
1
+ {"version":3,"names":["Buffer","SBuffer","abvToArrayBuffer","buffer","isBuffer","ArrayBuffer","isView","toArrayBuffer","buf","slice","byteOffset","byteLength","ab","length","view","Uint8Array","i","readUInt8","bufferLikeToArrayBuffer","binaryLikeToArrayBuffer","input","encoding","Error","from","ab2str","toString","kEmptyObject","Object","freeze","create"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":"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","ignoreList":[]}
@@ -4,4 +4,5 @@ export * from './conversion';
4
4
  export * from './errors';
5
5
  export * from './hashnames';
6
6
  export * from './types';
7
+ export * from './validation';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;AAAA,cAAc,cAAc;AAC5B,cAAc,UAAU;AACxB,cAAc,aAAa;AAC3B,cAAc,SAAS","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;AAAA,cAAc,cAAc;AAC5B,cAAc,UAAU;AACxB,cAAc,aAAa;AAC3B,cAAc,SAAS;AACvB,cAAc,cAAc","ignoreList":[]}
@@ -25,4 +25,18 @@ export let KeyEncoding = /*#__PURE__*/function (KeyEncoding) {
25
25
  KeyEncoding[KeyEncoding["kKeyEncodingSEC1"] = 3] = "kKeyEncodingSEC1";
26
26
  return KeyEncoding;
27
27
  }({});
28
+
29
+ // Note: removed CryptoKey class from this type (from 0.x) because Nitro doesn't
30
+ // handle custom JS objects. We might need to make it a JS object.
31
+
32
+ export let KeyVariant = /*#__PURE__*/function (KeyVariant) {
33
+ KeyVariant[KeyVariant["RSA_SSA_PKCS1_v1_5"] = 0] = "RSA_SSA_PKCS1_v1_5";
34
+ KeyVariant[KeyVariant["RSA_PSS"] = 1] = "RSA_PSS";
35
+ KeyVariant[KeyVariant["RSA_OAEP"] = 2] = "RSA_OAEP";
36
+ KeyVariant[KeyVariant["DSA"] = 3] = "DSA";
37
+ KeyVariant[KeyVariant["EC"] = 4] = "EC";
38
+ KeyVariant[KeyVariant["NID"] = 5] = "NID";
39
+ KeyVariant[KeyVariant["DH"] = 6] = "DH";
40
+ return KeyVariant;
41
+ }({});
28
42
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["KFormatType","KeyType","KeyEncoding"],"sourceRoot":"../../../src","sources":["utils/types.ts"],"mappings":";;AAEyC;;AAyGzC;AACA;AACA,WAAYA,WAAW,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;;AAMvB;AACA,WAAYC,OAAO,0BAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAA,OAAPA,OAAO;AAAA;AAMnB,WAAYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["KFormatType","KeyType","KeyEncoding","KeyVariant"],"sourceRoot":"../../../src","sources":["utils/types.ts"],"mappings":";;AAEyC;;AA6GzC;AACA;AACA,WAAYA,WAAW,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;;AAMvB;AACA,WAAYC,OAAO,0BAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAA,OAAPA,OAAO;AAAA;AAMnB,WAAYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;;AAwGvB;AACA;;AA2BA,WAAYC,UAAU,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ export function validateFunction(f) {
4
+ return f !== null && typeof f === 'function';
5
+ }
6
+ export function isStringOrBuffer(val) {
7
+ return typeof val === 'string' || ArrayBuffer.isView(val) || val instanceof ArrayBuffer;
8
+ }
9
+ export function validateObject(value, name, options) {
10
+ const useDefaultOptions = options == null;
11
+ const allowArray = useDefaultOptions ? false : options.allowArray;
12
+ const allowFunction = useDefaultOptions ? false : options.allowFunction;
13
+ const nullable = useDefaultOptions ? false : options.nullable;
14
+ if (!nullable && value === null || !allowArray && Array.isArray(value) || typeof value !== 'object' && (!allowFunction || typeof value !== 'function')) {
15
+ throw new Error(`${name} is not a valid object $${value}`);
16
+ }
17
+ return true;
18
+ }
19
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["validateFunction","f","isStringOrBuffer","val","ArrayBuffer","isView","validateObject","value","name","options","useDefaultOptions","allowArray","allowFunction","nullable","Array","isArray","Error"],"sourceRoot":"../../../src","sources":["utils/validation.ts"],"mappings":";;AAAA,OAAO,SAASA,gBAAgBA,CAACC,CAAU,EAAW;EACpD,OAAOA,CAAC,KAAK,IAAI,IAAI,OAAOA,CAAC,KAAK,UAAU;AAC9C;AAEA,OAAO,SAASC,gBAAgBA,CAACC,GAAY,EAA+B;EAC1E,OACE,OAAOA,GAAG,KAAK,QAAQ,IACvBC,WAAW,CAACC,MAAM,CAACF,GAAG,CAAC,IACvBA,GAAG,YAAYC,WAAW;AAE9B;AAEA,OAAO,SAASE,cAAcA,CAC5BC,KAAc,EACdC,IAAY,EACZC,OAIQ,EACI;EACZ,MAAMC,iBAAiB,GAAGD,OAAO,IAAI,IAAI;EACzC,MAAME,UAAU,GAAGD,iBAAiB,GAAG,KAAK,GAAGD,OAAO,CAACE,UAAU;EACjE,MAAMC,aAAa,GAAGF,iBAAiB,GAAG,KAAK,GAAGD,OAAO,CAACG,aAAa;EACvE,MAAMC,QAAQ,GAAGH,iBAAiB,GAAG,KAAK,GAAGD,OAAO,CAACI,QAAQ;EAC7D,IACG,CAACA,QAAQ,IAAIN,KAAK,KAAK,IAAI,IAC3B,CAACI,UAAU,IAAIG,KAAK,CAACC,OAAO,CAACR,KAAK,CAAE,IACpC,OAAOA,KAAK,KAAK,QAAQ,KACvB,CAACK,aAAa,IAAI,OAAOL,KAAK,KAAK,UAAU,CAAE,EAClD;IACA,MAAM,IAAIS,KAAK,CAAC,GAAGR,IAAI,2BAA2BD,KAAK,EAAE,CAAC;EAC5D;EACA,OAAO,IAAI;AACb","ignoreList":[]}