Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F9313974
es.array-buffer.slice.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1 KB
Subscribers
None
es.array-buffer.slice.js
View Options
'use strict'
;
var
$
=
require
(
'../internals/export'
);
var
uncurryThis
=
require
(
'../internals/function-uncurry-this'
);
var
fails
=
require
(
'../internals/fails'
);
var
ArrayBufferModule
=
require
(
'../internals/array-buffer'
);
var
anObject
=
require
(
'../internals/an-object'
);
var
toAbsoluteIndex
=
require
(
'../internals/to-absolute-index'
);
var
toLength
=
require
(
'../internals/to-length'
);
var
speciesConstructor
=
require
(
'../internals/species-constructor'
);
var
ArrayBuffer
=
ArrayBufferModule
.
ArrayBuffer
;
var
DataView
=
ArrayBufferModule
.
DataView
;
var
DataViewPrototype
=
DataView
.
prototype
;
var
un$ArrayBufferSlice
=
uncurryThis
(
ArrayBuffer
.
prototype
.
slice
);
var
getUint8
=
uncurryThis
(
DataViewPrototype
.
getUint8
);
var
setUint8
=
uncurryThis
(
DataViewPrototype
.
setUint8
);
var
INCORRECT_SLICE
=
fails
(
function
()
{
return
!
new
ArrayBuffer
(
2
).
slice
(
1
,
undefined
).
byteLength
;
});
// `ArrayBuffer.prototype.slice` method
// https://tc39.es/ecma262/#sec-arraybuffer.prototype.slice
$
({
target
:
'ArrayBuffer'
,
proto
:
true
,
unsafe
:
true
,
forced
:
INCORRECT_SLICE
},
{
slice
:
function
slice
(
start
,
end
)
{
if
(
un$ArrayBufferSlice
&&
end
===
undefined
)
{
return
un$ArrayBufferSlice
(
anObject
(
this
),
start
);
// FF fix
}
var
length
=
anObject
(
this
).
byteLength
;
var
first
=
toAbsoluteIndex
(
start
,
length
);
var
fin
=
toAbsoluteIndex
(
end
===
undefined
?
length
:
end
,
length
);
var
result
=
new
(
speciesConstructor
(
this
,
ArrayBuffer
))(
toLength
(
fin
-
first
));
var
viewSource
=
new
DataView
(
this
);
var
viewTarget
=
new
DataView
(
result
);
var
index
=
0
;
while
(
first
<
fin
)
{
setUint8
(
viewTarget
,
index
++
,
getUint8
(
viewSource
,
first
++
));
}
return
result
;
}
});
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Jul 3, 12:04 PM (2 d, 8 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3387502
Attached To
rDWAPPS Web applications
Event Timeline
Log In to Comment