Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F101089704
v35.js
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Wed, Feb 5, 15:46
Size
1 KB
Mime Type
text/x-java
Expires
Fri, Feb 7, 15:46 (2 d)
Engine
blob
Format
Raw Data
Handle
24090801
Attached To
rOACCT Open Access Compliance Check Tool (OACCT)
v35.js
View Options
import
stringify
from
'./stringify.js'
;
import
parse
from
'./parse.js'
;
function
stringToBytes
(
str
)
{
str
=
unescape
(
encodeURIComponent
(
str
));
// UTF8 escape
var
bytes
=
[];
for
(
var
i
=
0
;
i
<
str
.
length
;
++
i
)
{
bytes
.
push
(
str
.
charCodeAt
(
i
));
}
return
bytes
;
}
export
var
DNS
=
'6ba7b810-9dad-11d1-80b4-00c04fd430c8'
;
export
var
URL
=
'6ba7b811-9dad-11d1-80b4-00c04fd430c8'
;
export
default
function
(
name
,
version
,
hashfunc
)
{
function
generateUUID
(
value
,
namespace
,
buf
,
offset
)
{
if
(
typeof
value
===
'string'
)
{
value
=
stringToBytes
(
value
);
}
if
(
typeof
namespace
===
'string'
)
{
namespace
=
parse
(
namespace
);
}
if
(
namespace
.
length
!==
16
)
{
throw
TypeError
(
'Namespace must be array-like (16 iterable integer values, 0-255)'
);
}
// Compute hash of namespace and value, Per 4.3
// Future: Use spread syntax when supported on all platforms, e.g. `bytes =
// hashfunc([...namespace, ... value])`
var
bytes
=
new
Uint8Array
(
16
+
value
.
length
);
bytes
.
set
(
namespace
);
bytes
.
set
(
value
,
namespace
.
length
);
bytes
=
hashfunc
(
bytes
);
bytes
[
6
]
=
bytes
[
6
]
&
0x0f
|
version
;
bytes
[
8
]
=
bytes
[
8
]
&
0x3f
|
0x80
;
if
(
buf
)
{
offset
=
offset
||
0
;
for
(
var
i
=
0
;
i
<
16
;
++
i
)
{
buf
[
offset
+
i
]
=
bytes
[
i
];
}
return
buf
;
}
return
stringify
(
bytes
);
}
// Function#name is not settable on some platforms (#270)
try
{
generateUUID
.
name
=
name
;
// eslint-disable-next-line no-empty
}
catch
(
err
)
{}
// For CommonJS default export support
generateUUID
.
DNS
=
DNS
;
generateUUID
.
URL
=
URL
;
return
generateUUID
;
}
Event Timeline
Log In to Comment