OLD | NEW |
| (Empty) |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | |
2 // for details. All rights reserved. Use of this source code is governed by a | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 | |
5 class Uint8ArrayWrappingImplementation extends ArrayBufferViewWrappingImplementa
tion implements Uint8Array { | |
6 Uint8ArrayWrappingImplementation._wrap(ptr) : super._wrap(ptr) {} | |
7 | |
8 factory Uint8ArrayWrappingImplementation(int length) => | |
9 LevelDom.wrapUint8Array(new dom.Uint8Array(length)); | |
10 | |
11 factory Uint8ArrayWrappingImplementation.from(List<num> list) => | |
12 // TODO(nweiz): when there's a cross-platform name for the native | |
13 // implementation of List, check if [list] is native and if not convert it | |
14 // to a native list before sending it to the JS constructor. | |
15 LevelDom.wrapUint8Array(new dom.Uint8Array.fromList(list)); | |
16 | |
17 factory Uint8ArrayWrappingImplementation.fromBuffer(ArrayBuffer buffer) => | |
18 LevelDom.wrapUint8Array(new dom.Uint8Array.fromBuffer(LevelDom.unwrap(buffer
))); | |
19 | |
20 int get length() { return _ptr.length; } | |
21 | |
22 Uint8Array subarray(int start, [int end]) { | |
23 if (end === null) { | |
24 return LevelDom.wrapUint8Array(_ptr.subarray(start)); | |
25 } else { | |
26 return LevelDom.wrapUint8Array(_ptr.subarray(start, end)); | |
27 } | |
28 } | |
29 } | |
OLD | NEW |