2018-09-13 23:04:55 +03:00
|
|
|
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
2013-07-31 19:48:36 +04:00
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
*
|
|
|
|
* The origin of this IDL file is
|
|
|
|
* https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBIndexParameters
|
|
|
|
*/
|
|
|
|
|
|
|
|
dictionary IDBIndexParameters {
|
2018-09-13 23:04:55 +03:00
|
|
|
boolean unique = false;
|
|
|
|
boolean multiEntry = false;
|
|
|
|
// <null>: Not locale-aware, uses normal JS sorting.
|
|
|
|
// <string>: Always sorted based on the rules of the specified
|
|
|
|
// locale (e.g. "en-US", etc.).
|
|
|
|
// "auto": Sorted by the platform default, may change based on
|
|
|
|
// user agent options.
|
|
|
|
DOMString? locale = null;
|
2013-07-31 19:48:36 +04:00
|
|
|
};
|
|
|
|
|
2018-10-21 03:02:53 +03:00
|
|
|
[Exposed=(Window,Worker)]
|
2013-07-31 19:48:40 +04:00
|
|
|
interface IDBIndex {
|
2018-09-13 23:04:55 +03:00
|
|
|
[SetterThrows]
|
|
|
|
attribute DOMString name;
|
2016-03-30 06:04:56 +03:00
|
|
|
|
2018-09-13 23:04:55 +03:00
|
|
|
readonly attribute IDBObjectStore objectStore;
|
2013-07-31 19:48:40 +04:00
|
|
|
|
2018-09-13 23:04:55 +03:00
|
|
|
[Throws]
|
|
|
|
readonly attribute any keyPath;
|
2013-07-31 19:48:40 +04:00
|
|
|
|
2018-09-13 23:04:55 +03:00
|
|
|
readonly attribute boolean multiEntry;
|
|
|
|
readonly attribute boolean unique;
|
2013-07-31 19:48:40 +04:00
|
|
|
|
2018-09-13 23:04:55 +03:00
|
|
|
// <null>: Not locale-aware, uses normal JS sorting.
|
|
|
|
// <string>: Sorted based on the rules of the specified locale.
|
|
|
|
// Note: never returns "auto", only the current locale.
|
|
|
|
[Func="mozilla::dom::IndexedDatabaseManager::ExperimentalFeaturesEnabled"]
|
|
|
|
readonly attribute DOMString? locale;
|
2015-09-04 22:12:29 +03:00
|
|
|
|
2018-09-13 23:04:55 +03:00
|
|
|
[Func="mozilla::dom::IndexedDatabaseManager::ExperimentalFeaturesEnabled"]
|
|
|
|
readonly attribute boolean isAutoLocale;
|
2015-09-04 22:12:29 +03:00
|
|
|
|
2018-09-13 23:04:55 +03:00
|
|
|
[Throws]
|
|
|
|
IDBRequest openCursor (optional any range, optional IDBCursorDirection direction = "next");
|
2013-07-31 19:48:40 +04:00
|
|
|
|
2018-09-13 23:04:55 +03:00
|
|
|
[Throws]
|
|
|
|
IDBRequest openKeyCursor (optional any range, optional IDBCursorDirection direction = "next");
|
2013-07-31 19:48:40 +04:00
|
|
|
|
2018-09-13 23:04:55 +03:00
|
|
|
[Throws]
|
|
|
|
IDBRequest get (any key);
|
2013-07-31 19:48:40 +04:00
|
|
|
|
2018-09-13 23:04:55 +03:00
|
|
|
[Throws]
|
|
|
|
IDBRequest getKey (any key);
|
2013-07-31 19:48:40 +04:00
|
|
|
|
2018-09-13 23:04:55 +03:00
|
|
|
[Throws]
|
|
|
|
IDBRequest count (optional any key);
|
2013-07-31 19:48:40 +04:00
|
|
|
};
|
|
|
|
|
|
|
|
partial interface IDBIndex {
|
2019-08-28 20:51:37 +03:00
|
|
|
// If we decide to add use counters for the mozGetAll/mozGetAllKeys
|
|
|
|
// functions, we'll need to pull them out into sepatate operations
|
|
|
|
// with a BinaryName mapping to the same underlying implementation.
|
|
|
|
[Throws, Alias="mozGetAll"]
|
2019-03-02 07:21:50 +03:00
|
|
|
IDBRequest getAll (optional any key, optional [EnforceRange] unsigned long limit);
|
2014-09-27 03:21:57 +04:00
|
|
|
|
2019-08-28 20:51:37 +03:00
|
|
|
[Throws, Alias="mozGetAllKeys"]
|
2019-03-02 07:21:50 +03:00
|
|
|
IDBRequest getAllKeys (optional any key, optional [EnforceRange] unsigned long limit);
|
2013-07-31 19:48:40 +04:00
|
|
|
};
|