Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
officejs
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
officejs
Commits
aa39dcf4
Commit
aa39dcf4
authored
Aug 13, 2014
by
Xiaowu Zhang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
delete unuse function in jio.js
parent
7d84bd22
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
39 additions
and
403 deletions
+39
-403
dev/lib/jio.js
dev/lib/jio.js
+39
-403
No files found.
dev/lib/jio.js
View file @
aa39dcf4
...
...
@@ -6,403 +6,6 @@
return
module
(
exports
);
}
module
(
window
);
}([
'
exports
'
],
function
(
exports
)
{
/*
* A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
* in FIPS PUB 180-1
* Version 2.1a Copyright Paul Johnston 2000 - 2002.
* Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
* Distributed under the BSD License
* See http://pajhome.org.uk/crypt/md5 for details.
*/
/*
* Configurable variables. You may need to tweak these to be compatible with
* the server-side, but the defaults work in most cases.
*/
var
hexcase
=
0
;
/* hex output format. 0 - lowercase; 1 - uppercase */
var
b64pad
=
"
=
"
;
/* base-64 pad character. "=" for strict RFC compliance */
var
chrsz
=
8
;
/* bits per input character. 8 - ASCII; 16 - Unicode */
/*
* These are the functions you'll usually want to call
* They take string arguments and return either hex or base-64 encoded strings
*/
function
hex_sha1
(
s
){
return
binb2hex
(
core_sha1
(
str2binb
(
s
),
s
.
length
*
chrsz
));}
function
b64_sha1
(
s
){
return
binb2b64
(
core_sha1
(
str2binb
(
s
),
s
.
length
*
chrsz
));}
function
str_sha1
(
s
){
return
binb2str
(
core_sha1
(
str2binb
(
s
),
s
.
length
*
chrsz
));}
function
hex_hmac_sha1
(
key
,
data
){
return
binb2hex
(
core_hmac_sha1
(
key
,
data
));}
function
b64_hmac_sha1
(
key
,
data
){
return
binb2b64
(
core_hmac_sha1
(
key
,
data
));}
function
str_hmac_sha1
(
key
,
data
){
return
binb2str
(
core_hmac_sha1
(
key
,
data
));}
/*
* Perform a simple self-test to see if the VM is working
*/
function
sha1_vm_test
()
{
return
hex_sha1
(
"
abc
"
)
==
"
a9993e364706816aba3e25717850c26c9cd0d89d
"
;
}
/*
* Calculate the SHA-1 of an array of big-endian words, and a bit length
*/
function
core_sha1
(
x
,
len
)
{
/* append padding */
x
[
len
>>
5
]
|=
0x80
<<
(
24
-
len
%
32
);
x
[((
len
+
64
>>
9
)
<<
4
)
+
15
]
=
len
;
var
w
=
Array
(
80
);
var
a
=
1732584193
;
var
b
=
-
271733879
;
var
c
=
-
1732584194
;
var
d
=
271733878
;
var
e
=
-
1009589776
;
for
(
var
i
=
0
;
i
<
x
.
length
;
i
+=
16
)
{
var
olda
=
a
;
var
oldb
=
b
;
var
oldc
=
c
;
var
oldd
=
d
;
var
olde
=
e
;
for
(
var
j
=
0
;
j
<
80
;
j
++
)
{
if
(
j
<
16
)
w
[
j
]
=
x
[
i
+
j
];
else
w
[
j
]
=
rol
(
w
[
j
-
3
]
^
w
[
j
-
8
]
^
w
[
j
-
14
]
^
w
[
j
-
16
],
1
);
var
t
=
safe_add
(
safe_add
(
rol
(
a
,
5
),
sha1_ft
(
j
,
b
,
c
,
d
)),
safe_add
(
safe_add
(
e
,
w
[
j
]),
sha1_kt
(
j
)));
e
=
d
;
d
=
c
;
c
=
rol
(
b
,
30
);
b
=
a
;
a
=
t
;
}
a
=
safe_add
(
a
,
olda
);
b
=
safe_add
(
b
,
oldb
);
c
=
safe_add
(
c
,
oldc
);
d
=
safe_add
(
d
,
oldd
);
e
=
safe_add
(
e
,
olde
);
}
return
Array
(
a
,
b
,
c
,
d
,
e
);
}
/*
* Perform the appropriate triplet combination function for the current
* iteration
*/
function
sha1_ft
(
t
,
b
,
c
,
d
)
{
if
(
t
<
20
)
return
(
b
&
c
)
|
((
~
b
)
&
d
);
if
(
t
<
40
)
return
b
^
c
^
d
;
if
(
t
<
60
)
return
(
b
&
c
)
|
(
b
&
d
)
|
(
c
&
d
);
return
b
^
c
^
d
;
}
/*
* Determine the appropriate additive constant for the current iteration
*/
function
sha1_kt
(
t
)
{
return
(
t
<
20
)
?
1518500249
:
(
t
<
40
)
?
1859775393
:
(
t
<
60
)
?
-
1894007588
:
-
899497514
;
}
/*
* Calculate the HMAC-SHA1 of a key and some data
*/
function
core_hmac_sha1
(
key
,
data
)
{
var
bkey
=
str2binb
(
key
);
if
(
bkey
.
length
>
16
)
bkey
=
core_sha1
(
bkey
,
key
.
length
*
chrsz
);
var
ipad
=
Array
(
16
),
opad
=
Array
(
16
);
for
(
var
i
=
0
;
i
<
16
;
i
++
)
{
ipad
[
i
]
=
bkey
[
i
]
^
0x36363636
;
opad
[
i
]
=
bkey
[
i
]
^
0x5C5C5C5C
;
}
var
hash
=
core_sha1
(
ipad
.
concat
(
str2binb
(
data
)),
512
+
data
.
length
*
chrsz
);
return
core_sha1
(
opad
.
concat
(
hash
),
512
+
160
);
}
/*
* Add integers, wrapping at 2^32. This uses 16-bit operations internally
* to work around bugs in some JS interpreters.
*/
function
safe_add
(
x
,
y
)
{
var
lsw
=
(
x
&
0xFFFF
)
+
(
y
&
0xFFFF
);
var
msw
=
(
x
>>
16
)
+
(
y
>>
16
)
+
(
lsw
>>
16
);
return
(
msw
<<
16
)
|
(
lsw
&
0xFFFF
);
}
/*
* Bitwise rotate a 32-bit number to the left.
*/
function
rol
(
num
,
cnt
)
{
return
(
num
<<
cnt
)
|
(
num
>>>
(
32
-
cnt
));
}
/*
* Convert an 8-bit or 16-bit string to an array of big-endian words
* In 8-bit function, characters >255 have their hi-byte silently ignored.
*/
function
str2binb
(
str
)
{
var
bin
=
Array
();
var
mask
=
(
1
<<
chrsz
)
-
1
;
for
(
var
i
=
0
;
i
<
str
.
length
*
chrsz
;
i
+=
chrsz
)
bin
[
i
>>
5
]
|=
(
str
.
charCodeAt
(
i
/
chrsz
)
&
mask
)
<<
(
32
-
chrsz
-
i
%
32
);
return
bin
;
}
/*
* Convert an array of big-endian words to a string
*/
function
binb2str
(
bin
)
{
var
str
=
""
;
var
mask
=
(
1
<<
chrsz
)
-
1
;
for
(
var
i
=
0
;
i
<
bin
.
length
*
32
;
i
+=
chrsz
)
str
+=
String
.
fromCharCode
((
bin
[
i
>>
5
]
>>>
(
32
-
chrsz
-
i
%
32
))
&
mask
);
return
str
;
}
/*
* Convert an array of big-endian words to a hex string.
*/
function
binb2hex
(
binarray
)
{
var
hex_tab
=
hexcase
?
"
0123456789ABCDEF
"
:
"
0123456789abcdef
"
;
var
str
=
""
;
for
(
var
i
=
0
;
i
<
binarray
.
length
*
4
;
i
++
)
{
str
+=
hex_tab
.
charAt
((
binarray
[
i
>>
2
]
>>
((
3
-
i
%
4
)
*
8
+
4
))
&
0xF
)
+
hex_tab
.
charAt
((
binarray
[
i
>>
2
]
>>
((
3
-
i
%
4
)
*
8
))
&
0xF
);
}
return
str
;
}
/*
* Convert an array of big-endian words to a base-64 string
*/
function
binb2b64
(
binarray
)
{
var
tab
=
"
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
"
;
var
str
=
""
;
for
(
var
i
=
0
;
i
<
binarray
.
length
*
4
;
i
+=
3
)
{
var
triplet
=
(((
binarray
[
i
>>
2
]
>>
8
*
(
3
-
i
%
4
))
&
0xFF
)
<<
16
)
|
(((
binarray
[
i
+
1
>>
2
]
>>
8
*
(
3
-
(
i
+
1
)
%
4
))
&
0xFF
)
<<
8
)
|
((
binarray
[
i
+
2
>>
2
]
>>
8
*
(
3
-
(
i
+
2
)
%
4
))
&
0xFF
);
for
(
var
j
=
0
;
j
<
4
;
j
++
)
{
if
(
i
*
8
+
j
*
6
>
binarray
.
length
*
32
)
str
+=
b64pad
;
else
str
+=
tab
.
charAt
((
triplet
>>
6
*
(
3
-
j
))
&
0x3F
);
}
}
return
str
;
}
exports
.
hex_sha1
=
hex_sha1
;
exports
.
b64_sha1
=
b64_sha1
;
exports
.
str_sha1
=
str_sha1
;
exports
.
hex_hmac_sha1
=
hex_hmac_sha1
;
exports
.
b64_hmac_sha1
=
b64_hmac_sha1
;
exports
.
str_hmac_sha1
=
str_hmac_sha1
;
}));
;(
function
(
dependencies
,
module
)
{
if
(
typeof
define
===
'
function
'
&&
define
.
amd
)
{
return
define
(
dependencies
,
module
);
}
if
(
typeof
exports
===
'
object
'
)
{
return
module
(
exports
);
}
module
(
window
);
}([
'
exports
'
],
function
(
window
)
{
/* A JavaScript implementation of the Secure Hash Standard
* Version 0.3 Copyright Angel Marin 2003-2004 - http://anmar.eu.org/
* Distributed under the BSD License
* Some bits taken from Paul Johnston's SHA-1 implementation
*/
(
function
()
{
var
chrsz
=
8
;
/* bits per input character. 8 - ASCII; 16 - Unicode */
var
hexcase
=
0
;
/* hex output format. 0 - lowercase; 1 - uppercase */
function
safe_add
(
x
,
y
)
{
var
lsw
=
(
x
&
0xFFFF
)
+
(
y
&
0xFFFF
);
var
msw
=
(
x
>>
16
)
+
(
y
>>
16
)
+
(
lsw
>>
16
);
return
(
msw
<<
16
)
|
(
lsw
&
0xFFFF
);
}
function
S
(
X
,
n
)
{
return
(
X
>>>
n
)
|
(
X
<<
(
32
-
n
));}
function
R
(
X
,
n
)
{
return
(
X
>>>
n
);}
function
Ch
(
x
,
y
,
z
)
{
return
((
x
&
y
)
^
((
~
x
)
&
z
));}
function
Maj
(
x
,
y
,
z
)
{
return
((
x
&
y
)
^
(
x
&
z
)
^
(
y
&
z
));}
function
Sigma0256
(
x
)
{
return
(
S
(
x
,
2
)
^
S
(
x
,
13
)
^
S
(
x
,
22
));}
function
Sigma1256
(
x
)
{
return
(
S
(
x
,
6
)
^
S
(
x
,
11
)
^
S
(
x
,
25
));}
function
Gamma0256
(
x
)
{
return
(
S
(
x
,
7
)
^
S
(
x
,
18
)
^
R
(
x
,
3
));}
function
Gamma1256
(
x
)
{
return
(
S
(
x
,
17
)
^
S
(
x
,
19
)
^
R
(
x
,
10
));}
function
Sigma0512
(
x
)
{
return
(
S
(
x
,
28
)
^
S
(
x
,
34
)
^
S
(
x
,
39
));}
function
Sigma1512
(
x
)
{
return
(
S
(
x
,
14
)
^
S
(
x
,
18
)
^
S
(
x
,
41
));}
function
Gamma0512
(
x
)
{
return
(
S
(
x
,
1
)
^
S
(
x
,
8
)
^
R
(
x
,
7
));}
function
Gamma1512
(
x
)
{
return
(
S
(
x
,
19
)
^
S
(
x
,
61
)
^
R
(
x
,
6
));}
function
newArray
(
n
)
{
var
a
=
[];
for
(;
n
>
0
;
n
--
)
{
a
.
push
(
undefined
);
}
return
a
;
}
function
core_sha256
(
m
,
l
)
{
var
K
=
[
0x428A2F98
,
0x71374491
,
0xB5C0FBCF
,
0xE9B5DBA5
,
0x3956C25B
,
0x59F111F1
,
0x923F82A4
,
0xAB1C5ED5
,
0xD807AA98
,
0x12835B01
,
0x243185BE
,
0x550C7DC3
,
0x72BE5D74
,
0x80DEB1FE
,
0x9BDC06A7
,
0xC19BF174
,
0xE49B69C1
,
0xEFBE4786
,
0xFC19DC6
,
0x240CA1CC
,
0x2DE92C6F
,
0x4A7484AA
,
0x5CB0A9DC
,
0x76F988DA
,
0x983E5152
,
0xA831C66D
,
0xB00327C8
,
0xBF597FC7
,
0xC6E00BF3
,
0xD5A79147
,
0x6CA6351
,
0x14292967
,
0x27B70A85
,
0x2E1B2138
,
0x4D2C6DFC
,
0x53380D13
,
0x650A7354
,
0x766A0ABB
,
0x81C2C92E
,
0x92722C85
,
0xA2BFE8A1
,
0xA81A664B
,
0xC24B8B70
,
0xC76C51A3
,
0xD192E819
,
0xD6990624
,
0xF40E3585
,
0x106AA070
,
0x19A4C116
,
0x1E376C08
,
0x2748774C
,
0x34B0BCB5
,
0x391C0CB3
,
0x4ED8AA4A
,
0x5B9CCA4F
,
0x682E6FF3
,
0x748F82EE
,
0x78A5636F
,
0x84C87814
,
0x8CC70208
,
0x90BEFFFA
,
0xA4506CEB
,
0xBEF9A3F7
,
0xC67178F2
];
var
HASH
=
[
0x6A09E667
,
0xBB67AE85
,
0x3C6EF372
,
0xA54FF53A
,
0x510E527F
,
0x9B05688C
,
0x1F83D9AB
,
0x5BE0CD19
];
var
W
=
newArray
(
64
);
var
a
,
b
,
c
,
d
,
e
,
f
,
g
,
h
,
i
,
j
;
var
T1
,
T2
;
/* append padding */
m
[
l
>>
5
]
|=
0x80
<<
(
24
-
l
%
32
);
m
[((
l
+
64
>>
9
)
<<
4
)
+
15
]
=
l
;
for
(
var
i
=
0
;
i
<
m
.
length
;
i
+=
16
)
{
a
=
HASH
[
0
];
b
=
HASH
[
1
];
c
=
HASH
[
2
];
d
=
HASH
[
3
];
e
=
HASH
[
4
];
f
=
HASH
[
5
];
g
=
HASH
[
6
];
h
=
HASH
[
7
];
for
(
var
j
=
0
;
j
<
64
;
j
++
)
{
if
(
j
<
16
)
{
W
[
j
]
=
m
[
j
+
i
];
}
else
{
W
[
j
]
=
safe_add
(
safe_add
(
safe_add
(
Gamma1256
(
W
[
j
-
2
]),
W
[
j
-
7
]),
Gamma0256
(
W
[
j
-
15
])),
W
[
j
-
16
]);
}
T1
=
safe_add
(
safe_add
(
safe_add
(
safe_add
(
h
,
Sigma1256
(
e
)),
Ch
(
e
,
f
,
g
)),
K
[
j
]),
W
[
j
]);
T2
=
safe_add
(
Sigma0256
(
a
),
Maj
(
a
,
b
,
c
));
h
=
g
;
g
=
f
;
f
=
e
;
e
=
safe_add
(
d
,
T1
);
d
=
c
;
c
=
b
;
b
=
a
;
a
=
safe_add
(
T1
,
T2
);
}
HASH
[
0
]
=
safe_add
(
a
,
HASH
[
0
]);
HASH
[
1
]
=
safe_add
(
b
,
HASH
[
1
]);
HASH
[
2
]
=
safe_add
(
c
,
HASH
[
2
]);
HASH
[
3
]
=
safe_add
(
d
,
HASH
[
3
]);
HASH
[
4
]
=
safe_add
(
e
,
HASH
[
4
]);
HASH
[
5
]
=
safe_add
(
f
,
HASH
[
5
]);
HASH
[
6
]
=
safe_add
(
g
,
HASH
[
6
]);
HASH
[
7
]
=
safe_add
(
h
,
HASH
[
7
]);
}
return
HASH
;
}
function
core_sha512
(
m
,
l
)
{
var
K
=
[
0x428a2f98d728ae22
,
0x7137449123ef65cd
,
0xb5c0fbcfec4d3b2f
,
0xe9b5dba58189dbbc
,
0x3956c25bf348b538
,
0x59f111f1b605d019
,
0x923f82a4af194f9b
,
0xab1c5ed5da6d8118
,
0xd807aa98a3030242
,
0x12835b0145706fbe
,
0x243185be4ee4b28c
,
0x550c7dc3d5ffb4e2
,
0x72be5d74f27b896f
,
0x80deb1fe3b1696b1
,
0x9bdc06a725c71235
,
0xc19bf174cf692694
,
0xe49b69c19ef14ad2
,
0xefbe4786384f25e3
,
0x0fc19dc68b8cd5b5
,
0x240ca1cc77ac9c65
,
0x2de92c6f592b0275
,
0x4a7484aa6ea6e483
,
0x5cb0a9dcbd41fbd4
,
0x76f988da831153b5
,
0x983e5152ee66dfab
,
0xa831c66d2db43210
,
0xb00327c898fb213f
,
0xbf597fc7beef0ee4
,
0xc6e00bf33da88fc2
,
0xd5a79147930aa725
,
0x06ca6351e003826f
,
0x142929670a0e6e70
,
0x27b70a8546d22ffc
,
0x2e1b21385c26c926
,
0x4d2c6dfc5ac42aed
,
0x53380d139d95b3df
,
0x650a73548baf63de
,
0x766a0abb3c77b2a8
,
0x81c2c92e47edaee6
,
0x92722c851482353b
,
0xa2bfe8a14cf10364
,
0xa81a664bbc423001
,
0xc24b8b70d0f89791
,
0xc76c51a30654be30
,
0xd192e819d6ef5218
,
0xd69906245565a910
,
0xf40e35855771202a
,
0x106aa07032bbd1b8
,
0x19a4c116b8d2d0c8
,
0x1e376c085141ab53
,
0x2748774cdf8eeb99
,
0x34b0bcb5e19b48a8
,
0x391c0cb3c5c95a63
,
0x4ed8aa4ae3418acb
,
0x5b9cca4f7763e373
,
0x682e6ff3d6b2b8a3
,
0x748f82ee5defb2fc
,
0x78a5636f43172f60
,
0x84c87814a1f0ab72
,
0x8cc702081a6439ec
,
0x90befffa23631e28
,
0xa4506cebde82bde9
,
0xbef9a3f7b2c67915
,
0xc67178f2e372532b
,
0xca273eceea26619c
,
0xd186b8c721c0c207
,
0xeada7dd6cde0eb1e
,
0xf57d4f7fee6ed178
,
0x06f067aa72176fba
,
0x0a637dc5a2c898a6
,
0x113f9804bef90dae
,
0x1b710b35131c471b
,
0x28db77f523047d84
,
0x32caab7b40c72493
,
0x3c9ebe0a15c9bebc
,
0x431d67c49c100d4c
,
0x4cc5d4becb3e42b6
,
0x597f299cfc657e2a
,
0x5fcb6fab3ad6faec
,
0x6c44198c4a475817
];
var
HASH
=
[
0x6a09e667f3bcc908
,
0xbb67ae8584caa73b
,
0x3c6ef372fe94f82b
,
0xa54ff53a5f1d36f1
,
0x510e527fade682d1
,
0x9b05688c2b3e6c1f
,
0x1f83d9abfb41bd6b
,
0x5be0cd19137e2179
];
var
W
=
newArray
(
80
);
var
a
,
b
,
c
,
d
,
e
,
f
,
g
,
h
,
i
,
j
;
var
T1
,
T2
;
}
function
str2binb
(
str
)
{
var
bin
=
Array
();
var
mask
=
(
1
<<
chrsz
)
-
1
;
for
(
var
i
=
0
;
i
<
str
.
length
*
chrsz
;
i
+=
chrsz
)
bin
[
i
>>
5
]
|=
(
str
.
charCodeAt
(
i
/
chrsz
)
&
mask
)
<<
(
24
-
i
%
32
);
return
bin
;
}
function
binb2str
(
bin
)
{
var
str
=
""
;
var
mask
=
(
1
<<
chrsz
)
-
1
;
for
(
var
i
=
0
;
i
<
bin
.
length
*
32
;
i
+=
chrsz
)
str
+=
String
.
fromCharCode
((
bin
[
i
>>
5
]
>>>
(
24
-
i
%
32
))
&
mask
);
return
str
;
}
function
binb2hex
(
binarray
)
{
var
hex_tab
=
hexcase
?
"
0123456789ABCDEF
"
:
"
0123456789abcdef
"
;
var
str
=
""
;
for
(
var
i
=
0
;
i
<
binarray
.
length
*
4
;
i
++
)
{
str
+=
hex_tab
.
charAt
((
binarray
[
i
>>
2
]
>>
((
3
-
i
%
4
)
*
8
+
4
))
&
0xF
)
+
hex_tab
.
charAt
((
binarray
[
i
>>
2
]
>>
((
3
-
i
%
4
)
*
8
))
&
0xF
);
}
return
str
;
}
function
binb2b64
(
binarray
)
{
var
tab
=
"
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
"
;
var
str
=
""
;
for
(
var
i
=
0
;
i
<
binarray
.
length
*
4
;
i
+=
3
)
{
var
triplet
=
(((
binarray
[
i
>>
2
]
>>
8
*
(
3
-
i
%
4
))
&
0xFF
)
<<
16
)
|
(((
binarray
[
i
+
1
>>
2
]
>>
8
*
(
3
-
(
i
+
1
)
%
4
))
&
0xFF
)
<<
8
)
|
((
binarray
[
i
+
2
>>
2
]
>>
8
*
(
3
-
(
i
+
2
)
%
4
))
&
0xFF
);
for
(
var
j
=
0
;
j
<
4
;
j
++
)
{
if
(
i
*
8
+
j
*
6
>
binarray
.
length
*
32
)
{
str
+=
b64pad
;
}
else
{
str
+=
tab
.
charAt
((
triplet
>>
6
*
(
3
-
j
))
&
0x3F
);}
}
}
return
str
;
}
function
hex_sha256
(
s
){
return
binb2hex
(
core_sha256
(
str2binb
(
s
),
s
.
length
*
chrsz
));
}
function
b64_sha256
(
s
){
return
binb2b64
(
core_sha256
(
str2binb
(
s
),
s
.
length
*
chrsz
));
}
function
str_sha256
(
s
){
return
binb2str
(
core_sha256
(
str2binb
(
s
),
s
.
length
*
chrsz
));
}
window
.
hex_sha256
=
hex_sha256
;
window
.
b64_sha256
=
b64_sha256
;
window
.
str_sha256
=
str_sha256
;
}());
}));
;(
function
(
dependencies
,
module
)
{
if
(
typeof
define
===
'
function
'
&&
define
.
amd
)
{
return
define
(
dependencies
,
module
);
}
if
(
typeof
exports
===
'
object
'
)
{
return
module
(
exports
);
}
module
(
window
);
}([
'
exports
'
],
function
(
window
)
{
/* A JavaScript implementation of the Secure Hash Algorithm, SHA-256
* Version 0.3 Copyright Angel Marin 2003-2004 - http://anmar.eu.org/
...
...
@@ -9210,6 +8813,21 @@ function sequence(thens) {
*@param {Object} metadata The data to put in
*@return a new promise
*/
function
putIndexedDBArrayBuffer
(
store
,
metadata
)
{
var
request
,
resolver
;
request
=
store
.
put
(
metadata
);
resolver
=
function
(
resolve
,
reject
)
{
request
.
onerror
=
function
(
e
)
{
reject
(
e
);
};
request
.
onsuccess
=
function
()
{
resolve
(
metadata
);
};
};
return
new
RSVP
.
Promise
(
resolver
);
}
function
putIndexedDB
(
store
,
metadata
,
readData
)
{
var
request
,
resolver
;
...
...
@@ -9225,7 +8843,8 @@ function sequence(thens) {
};
return
new
RSVP
.
Promise
(
resolver
);
}
catch
(
e
)
{
return
putIndexedDB
(
store
,
{
"
_id
"
:
metadata
.
_id
,
return
putIndexedDBArrayBuffer
(
store
,
{
"
_id
"
:
metadata
.
_id
,
"
_attachment
"
:
metadata
.
_attachment
,
"
_part
"
:
metadata
.
_part
,
"
blob
"
:
readData
});
...
...
@@ -9776,6 +9395,7 @@ function sequence(thens) {
transaction
,
global_db
,
blob
,
content_type
,
totalLength
;
function
getDesirePart
(
store
,
start
,
end
)
{
if
(
start
>
end
)
{
...
...
@@ -9815,6 +9435,7 @@ function sequence(thens) {
throw
({
"
status
"
:
404
,
"
reason
"
:
"
missing attachment
"
,
"
message
"
:
"
IndexeddbStorage, unable to get attachment.
"
});
}
content_type
=
result
.
_attachment
[
param
.
_attachment
].
content_type
;
totalLength
=
result
.
_attachment
[
param
.
_attachment
].
length
;
param
.
_start
=
param
.
_start
===
undefined
?
0
:
param
.
_start
;
param
.
_end
=
param
.
_end
===
undefined
?
totalLength
...
...
@@ -9822,6 +9443,10 @@ function sequence(thens) {
if
(
param
.
_end
>
totalLength
)
{
param
.
_end
=
totalLength
;
}
if
(
param
.
_start
<
0
||
param
.
_end
<
0
)
{
throw
({
"
status
"
:
404
,
"
reason
"
:
"
invalide _start, _end
"
,
"
message
"
:
"
_start and _end must be positive
"
});
}
if
(
param
.
_start
>
param
.
_end
)
{
throw
({
"
status
"
:
404
,
"
reason
"
:
"
invalide offset
"
,
"
message
"
:
"
start is great then end
"
});
...
...
@@ -9839,7 +9464,7 @@ function sequence(thens) {
var
start
=
param
.
_start
%
jio_storage
.
_unite
,
end
=
start
+
param
.
_end
-
param
.
_start
;
blob
=
blob
.
slice
(
start
,
end
);
return
({
"
data
"
:
new
Blob
([
blob
],
{
type
:
"
text/plain
"
})});
return
({
"
data
"
:
new
Blob
([
blob
],
{
type
:
content_type
})});
})
.
push
(
undefined
,
function
(
error
)
{
// Check if transaction is ongoing, if so, abort it
...
...
@@ -10756,7 +10381,18 @@ decodeURI, encodeURI*/
);
}
};
if
(
param
.
_start
<
0
||
param
.
_end
<
0
)
{
command
.
reject
(
405
,
"
invalide _start,_end
"
,
"
_start and _end must be positive
"
);
return
;
}
if
(
param
.
_start
>
param
.
_end
)
{
command
.
reject
(
405
,
"
invalide _start,_end
"
,
"
start is great then end
"
);
return
;
}
this
.
_get
(
param
).
then
(
o
.
getAttachment
).
then
(
o
.
success
,
o
.
reject
,
o
.
notifyProgress
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment