mirror of
https://github.com/Eaglercraft-TeaVM-Fork/eagler-teavm.git
synced 2024-12-22 08:14:09 -08:00
More IndexedDB wrappers
This commit is contained in:
parent
2e4af24c99
commit
c3f8764bdc
|
@ -15,12 +15,44 @@
|
|||
*/
|
||||
package org.teavm.dom.indexeddb;
|
||||
|
||||
import org.teavm.jso.JSMethod;
|
||||
import org.teavm.jso.JSObject;
|
||||
import org.teavm.jso.JSProperty;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Alexey Andreev
|
||||
*/
|
||||
public interface IDBCursor extends JSObject {
|
||||
String DIRECTION_NEXT = "next";
|
||||
|
||||
String DIRECTION_NEXT_UNIQUE = "nextunique";
|
||||
|
||||
String DIRECTION_PREVIOUS = "prev";
|
||||
|
||||
String DIRECTION_PREVIOUS_UNIQUE = "prevunique";
|
||||
|
||||
@JSProperty
|
||||
IDBCursorSource getSource();
|
||||
|
||||
@JSProperty
|
||||
String getDirection();
|
||||
|
||||
@JSProperty
|
||||
JSObject getKey();
|
||||
|
||||
@JSProperty
|
||||
JSObject getValue();
|
||||
|
||||
@JSProperty
|
||||
JSObject getPrimaryKey();
|
||||
|
||||
IDBRequest update(JSObject value);
|
||||
|
||||
void advance(int count);
|
||||
|
||||
@JSMethod("continue")
|
||||
void doContinue();
|
||||
|
||||
IDBRequest delete();
|
||||
}
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
package org.teavm.dom.indexeddb;
|
||||
|
||||
import org.teavm.jso.JSObject;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Alexey Andreev
|
||||
*/
|
||||
public interface IDBCursorSource extends JSObject {
|
||||
}
|
|
@ -15,12 +15,49 @@
|
|||
*/
|
||||
package org.teavm.dom.indexeddb;
|
||||
|
||||
import org.teavm.jso.JS;
|
||||
import org.teavm.jso.JSObject;
|
||||
import org.teavm.jso.JSProperty;
|
||||
import org.teavm.jso.JSStringArray;
|
||||
import org.teavm.jso.JSType;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Alexey Andreev
|
||||
*/
|
||||
public interface IDBIndex extends JSObject {
|
||||
public abstract class IDBIndex implements JSObject, IDBCursorSource {
|
||||
@JSProperty
|
||||
public abstract String getName();
|
||||
|
||||
@JSProperty("keyPath")
|
||||
abstract JSObject getKeyPathImpl();
|
||||
|
||||
public final String[] getKeyPath() {
|
||||
JSObject result = getKeyPathImpl();
|
||||
if (JS.getType(result) == JSType.STRING) {
|
||||
return new String[] { JS.unwrapString(result) };
|
||||
} else {
|
||||
return JS.unwrapArray((JSStringArray)result);
|
||||
}
|
||||
}
|
||||
|
||||
@JSProperty
|
||||
public abstract boolean isMultiEntry();
|
||||
|
||||
@JSProperty
|
||||
public abstract boolean isUnique();
|
||||
|
||||
public abstract IDBCursorRequest openCursor();
|
||||
|
||||
public abstract IDBCursorRequest openCursor(IDBKeyRange range);
|
||||
|
||||
public abstract IDBCursorRequest openKeyCursor();
|
||||
|
||||
public abstract IDBGetRequest get(JSObject key);
|
||||
|
||||
public abstract IDBGetRequest getKey(JSObject key);
|
||||
|
||||
public abstract IDBCountRequest count(JSObject key);
|
||||
|
||||
public abstract IDBCountRequest count();
|
||||
}
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
package org.teavm.dom.indexeddb;
|
||||
|
||||
import org.teavm.jso.JSBody;
|
||||
import org.teavm.jso.JSObject;
|
||||
import org.teavm.jso.JSProperty;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Alexey Andreev
|
||||
*/
|
||||
public abstract class IDBKeyRange implements JSObject {
|
||||
@JSProperty
|
||||
public abstract JSObject getLower();
|
||||
|
||||
@JSProperty
|
||||
public abstract JSObject getUpper();
|
||||
|
||||
@JSProperty
|
||||
public abstract boolean isLowerOpen();
|
||||
|
||||
@JSProperty
|
||||
public abstract boolean isUpperOpen();
|
||||
|
||||
@JSBody(params = "value", script = "return IDBKeyRange.only(value);")
|
||||
public static native IDBKeyRange only(JSObject value);
|
||||
|
||||
@JSBody(params = { "lower", "open" }, script = "return IDBKeyRange.lowerBound(lower, open);")
|
||||
public static native IDBKeyRange lowerBound(JSObject lower, boolean open);
|
||||
|
||||
public static IDBKeyRange lowerBound(JSObject lower) {
|
||||
return lowerBound(lower, false);
|
||||
}
|
||||
|
||||
@JSBody(params = { "upper", "open" }, script = "return IDBKeyRange.upperBound(upper, open);")
|
||||
public static native IDBKeyRange upperBound(JSObject upper, boolean open);
|
||||
|
||||
public static IDBKeyRange upperBound(JSObject upper) {
|
||||
return upperBound(upper, false);
|
||||
}
|
||||
|
||||
@JSBody(params = { "lower", "upper", "lowerOpen", "upperOpen" },
|
||||
script = "return IDBKeyRange.bound(lower, upper, lowerOpen, upperOpen);")
|
||||
public static native IDBKeyRange bound(JSObject lower, JSObject upper, boolean lowerOpen, boolean upperOpen);
|
||||
|
||||
public static IDBKeyRange bound(JSObject lower, JSObject upper) {
|
||||
return bound(lower, upper, false, false);
|
||||
}
|
||||
}
|
|
@ -21,7 +21,7 @@ import org.teavm.jso.*;
|
|||
*
|
||||
* @author Alexey Andreev
|
||||
*/
|
||||
public abstract class IDBObjectStore implements JSObject {
|
||||
public abstract class IDBObjectStore implements JSObject, IDBCursorSource {
|
||||
@JSProperty
|
||||
public abstract String getName();
|
||||
|
||||
|
@ -59,6 +59,8 @@ public abstract class IDBObjectStore implements JSObject {
|
|||
|
||||
public abstract IDBCursorRequest openCursor();
|
||||
|
||||
public abstract IDBCursorRequest openCursor(IDBKeyRange range);
|
||||
|
||||
public abstract IDBIndex createIndex(String name, String key);
|
||||
|
||||
public abstract IDBIndex createIndex(String name, String[] keys);
|
||||
|
|
|
@ -23,6 +23,9 @@ import org.teavm.jso.JSProperty;
|
|||
* @author Alexey Andreev
|
||||
*/
|
||||
public interface IDBOpenDBRequest extends IDBRequest {
|
||||
@JSProperty
|
||||
IDBDatabase getResult();
|
||||
|
||||
@JSProperty
|
||||
void setOnBlocked(EventHandler handler);
|
||||
|
||||
|
|
|
@ -15,12 +15,34 @@
|
|||
*/
|
||||
package org.teavm.dom.indexeddb;
|
||||
|
||||
import org.teavm.dom.events.EventTarget;
|
||||
import org.teavm.jso.JSObject;
|
||||
import org.teavm.jso.JSProperty;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Alexey Andreev
|
||||
*/
|
||||
public interface IDBTransaction extends JSObject {
|
||||
public interface IDBTransaction extends JSObject, EventTarget {
|
||||
@JSProperty
|
||||
String getMode();
|
||||
|
||||
@JSProperty
|
||||
IDBDatabase getDb();
|
||||
|
||||
@JSProperty
|
||||
IDBError getError();
|
||||
|
||||
IDBObjectStore objectStore(String name);
|
||||
|
||||
void abort();
|
||||
|
||||
@JSProperty("onabort")
|
||||
void setOnAbort(EventHandler handler);
|
||||
|
||||
@JSProperty("oncomplete")
|
||||
void setOnComplete(EventHandler handler);
|
||||
|
||||
@JSProperty("onerror")
|
||||
void setOnError(EventHandler handler);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user