@@ -21,25 +21,6 @@ var toBrowser = {
21
21
sha512 : 'SHA-512'
22
22
} ;
23
23
var checks = [ ] ;
24
- function checkNative ( algo ) {
25
- if ( global . process && ! global . process . browser ) {
26
- return Promise . resolve ( false ) ;
27
- }
28
- if ( ! subtle || ! subtle . importKey || ! subtle . deriveBits ) {
29
- return Promise . resolve ( false ) ;
30
- }
31
- if ( checks [ algo ] !== undefined ) {
32
- return checks [ algo ] ;
33
- }
34
- ZERO_BUF = ZERO_BUF || Buffer . alloc ( 8 ) ;
35
- var prom = browserPbkdf2 ( ZERO_BUF , ZERO_BUF , 10 , 128 , algo )
36
- . then (
37
- function ( ) { return true ; } ,
38
- function ( ) { return false ; }
39
- ) ;
40
- checks [ algo ] = prom ;
41
- return prom ;
42
- }
43
24
var nextTick ;
44
25
function getNextTick ( ) {
45
26
if ( nextTick ) {
@@ -70,6 +51,25 @@ function browserPbkdf2(password, salt, iterations, length, algo) {
70
51
return Buffer . from ( res ) ;
71
52
} ) ;
72
53
}
54
+ function checkNative ( algo ) {
55
+ if ( global . process && ! global . process . browser ) {
56
+ return Promise . resolve ( false ) ;
57
+ }
58
+ if ( ! subtle || ! subtle . importKey || ! subtle . deriveBits ) {
59
+ return Promise . resolve ( false ) ;
60
+ }
61
+ if ( checks [ algo ] !== undefined ) {
62
+ return checks [ algo ] ;
63
+ }
64
+ ZERO_BUF = ZERO_BUF || Buffer . alloc ( 8 ) ;
65
+ var prom = browserPbkdf2 ( ZERO_BUF , ZERO_BUF , 10 , 128 , algo )
66
+ . then (
67
+ function ( ) { return true ; } ,
68
+ function ( ) { return false ; }
69
+ ) ;
70
+ checks [ algo ] = prom ;
71
+ return prom ;
72
+ }
73
73
74
74
function resolvePromise ( promise , callback ) {
75
75
promise . then ( function ( out ) {
@@ -97,7 +97,8 @@ module.exports = function (password, salt, iterations, keylen, digest, callback)
97
97
try {
98
98
out = sync ( password , salt , iterations , keylen , digest ) ;
99
99
} catch ( e ) {
100
- return callback ( e ) ;
100
+ callback ( e ) ;
101
+ return ;
101
102
}
102
103
callback ( null , out ) ;
103
104
} ) ;
0 commit comments