Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Side by Side Diff: tools/dom/templates/html/impl/impl_IDBIndex.darttemplate

Issue 12313015: Dartifying remainder of Index DB APIs. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2013, 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 part of $LIBRARYNAME;
6
7 $(ANNOTATIONS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC {
8 @DomName('IDBIndex.count')
9 Future<int> count([key_OR_range]) {
10 try {
11 var request;
12 if (key_OR_range != null) {
13 request = $dom_count(key_OR_range);
14 } else {
15 request = $dom_count();
16 }
17 return _completeRequest(request);
18 } catch (e, stacktrace) {
19 return new Future.immediateError(e, stacktrace);
20 }
21 }
22
23 @DomName('IDBIndex.get')
24 Future get(key) {
25 try {
26 var request = $dom_get(key);
27
28 return _completeRequest(request);
29 } catch (e, stacktrace) {
30 return new Future.immediateError(e, stacktrace);
31 }
32 }
33
34 @DomName('IDBIndex.getKey')
35 Future getKey(key) {
36 try {
37 var request = $dom_getKey(key);
38
39 return _completeRequest(request);
40 } catch (e, stacktrace) {
41 return new Future.immediateError(e, stacktrace);
42 }
43 }
44
45 /**
46 * Creates a stream of cursors over the records in this object store.
47 *
48 * See also:
49 *
50 * * [ObjectStore.openCursor]
51 */
52 Stream<CursorWithValue> openCursor({key, KeyRange range, String direction,
53 bool autoAdvance}) {
54 var key_OR_range = null;
55 if (key != null) {
56 if (range != null) {
57 throw new ArgumentError('Cannot specify both key and range.');
58 }
59 key_OR_range = key;
60 } else {
61 key_OR_range = range;
62 }
63 var request;
64 if (direction == null) {
65 request = $dom_openCursor(key_OR_range);
66 } else {
67 request = $dom_openCursor(key_OR_range, direction);
68 }
69 return ObjectStore._cursorStreamFromResult(request, autoAdvance);
70 }
71
72 /**
73 * Creates a stream of cursors over the records in this object store.
74 *
75 * See also:
76 *
77 * * [ObjectStore.openCursor]
78 */
79 Stream<Cursor> openKeyCursor({key, KeyRange range, String direction,
80 bool autoAdvance}) {
81 var key_OR_range = null;
82 if (key != null) {
83 if (range != null) {
84 throw new ArgumentError('Cannot specify both key and range.');
85 }
86 key_OR_range = key;
87 } else {
88 key_OR_range = range;
89 }
90 var request;
91 if (direction == null) {
92 request = $dom_openKeyCursor(key_OR_range);
93 } else {
94 request = $dom_openKeyCursor(key_OR_range, direction);
95 }
96 return ObjectStore._cursorStreamFromResult(request, autoAdvance);
97 }
98
99 $!MEMBERS
100 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698