Skip to content

Commit 95f98c0

Browse files
Clarify the direction predicates for cursor iteration (#457)
* Clarify the direction predicates for cursor iteration Co-authored-by: Joshua Bell <jsbell@chromium.org>
1 parent 91642aa commit 95f98c0

File tree

1 file changed

+32
-42
lines changed

1 file changed

+32
-42
lines changed

index.bs

Lines changed: 32 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -5911,63 +5911,53 @@ To <dfn>iterate a cursor</dfn> with |targetRealm|, |cursor|, an optional
59115911
Let |found record| be the first record in |records| which
59125912
satisfy all of the following requirements:
59135913

5914-
* If |key| is defined, the record's key is [=greater
5915-
than=] or [=equal to=] |key|.
5914+
* If |key| is defined:
5915+
* The record's key is [=greater than=] or [=equal to=] |key|.
59165916

5917-
* If |primaryKey| is defined, the record's key is [=equal
5918-
to=] |key| and the record's value is [=greater
5919-
than=] or [=equal to=] |primaryKey|, or the
5920-
record's key is [=greater than=] |key|.
5917+
* If |primaryKey| is defined:
5918+
* The record's key is [=equal to=] |key| and the record's value is [=greater than=] or [=equal to=] |primaryKey|
5919+
* The record's key is [=greater than=] |key|.
59215920

5922-
* If |position| is defined, and |source| is an
5923-
[=/object store=], the record's key is [=greater than=]
5924-
|position|.
5921+
* If |position| is defined and |source| is an [=/object store=]:
5922+
* The record's key is [=greater than=] |position|.
59255923

5926-
* If |position| is defined, and |source| is an
5927-
[=/index=], the record's key is [=equal to=]
5928-
|position| and the record's value is [=greater
5929-
than=] |object store position| or the record's key is
5930-
[=greater than=] |position|.
5924+
* If |position| is defined and |source| is an [=/index=]:
5925+
* The record's key is [=equal to=] |position| and the record's value is [=greater than=] |object store position|
5926+
* The record's key is [=greater than=] |position|.
59315927

5932-
* The record's key is [=in=]
5933-
|range|.
5928+
* The record's key is [=in=] |range|.
59345929

59355930
: "{{IDBCursorDirection/nextunique}}"
59365931
::
59375932
Let |found record| be the first record in |records| which
59385933
satisfy all of the following requirements:
59395934

5940-
* If |key| is defined, the record's key is [=greater
5941-
than=] or [=equal to=] |key|.
5935+
* If |key| is defined:
5936+
* The record's key is [=greater than=] or [=equal to=] |key|.
59425937

5943-
* If |position| is defined, the record's key is [=greater
5944-
than=] |position|.
5938+
* If |position| is defined:
5939+
* The record's key is [=greater than=] |position|.
59455940

5946-
* The record's key is [=in=]
5947-
|range|.
5941+
* The record's key is [=in=] |range|.
59485942

59495943
: "{{IDBCursorDirection/prev}}"
59505944
::
59515945
Let |found record| be the last record in |records| which
59525946
satisfy all of the following requirements:
59535947

5954-
* If |key| is defined, the record's key is [=less
5955-
than=] or [=equal to=] |key|.
5948+
* If |key| is defined:
5949+
* The record's key is [=less than=] or [=equal to=] |key|.
59565950

5957-
* If |primaryKey| is defined, the record's key is [=equal
5958-
to=] |key| and the record's value is [=less than=]
5959-
or [=equal to=] |primaryKey|, or the record's key is
5960-
[=less than=] |key|.
5951+
* If |primaryKey| is defined:
5952+
* The record's key is [=equal to=] |key| and the record's value is [=less than=] or [=equal to=] |primaryKey|
5953+
* The record's key is [=less than=] |key|.
59615954

5962-
* If |position| is defined, and |source| is an
5963-
[=/object store=], the record's key is [=less
5964-
than=] |position|.
5955+
* If |position| is defined and |source| is an [=/object store=]:
5956+
* The record's key is [=less than=] |position|.
59655957

5966-
* If |position| is defined, and |source| is an
5967-
[=/index=], the record's key is [=equal to=]
5968-
|position| and the record's value is [=less than=]
5969-
|object store position| or the record's key is
5970-
[=less than=] |position|.
5958+
* If |position| is defined and |source| is an [=/index=]:
5959+
* The record's key is [=equal to=] |position| and the record's value is [=less than=] |object store position|
5960+
* The record's key is [=less than=] |position|.
59715961

59725962
* The record's key is [=in=] |range|.
59735963

@@ -5976,14 +5966,13 @@ To <dfn>iterate a cursor</dfn> with |targetRealm|, |cursor|, an optional
59765966
Let |temp record| be the last record in
59775967
|records| which satisfy all of the following requirements:
59785968

5979-
* If |key| is defined, the record's key is [=less
5980-
than=] or [=equal to=] |key|.
5969+
* If |key| is defined:
5970+
* The record's key is [=less than=] or [=equal to=] |key|.
59815971

5982-
* If |position| is defined, the record's key is [=less
5983-
than=] |position|.
5972+
* If |position| is defined:
5973+
* The record's key is [=less than=] |position|.
59845974

5985-
* The record's key is [=in=]
5986-
|range|.
5975+
* The record's key is [=in=] |range|.
59875976

59885977
If |temp record| is defined, let |found record| be the
59895978
first record in |records| whose [=/key=] is [=equal to=]
@@ -6728,6 +6717,7 @@ For the revision history of the second edition, see [that document's Revision Hi
67286717
* Add [=cursor/source handle=] to [=/cursor=] to avoid exposing internal indexes and object stores to script. (<#445>)
67296718
* Define [=Queue a database task=] and replace [=Queue a task=] with it (<#421>)
67306719
* Add missing parallel step to {{IDBFactory/databases()|databases}}() (<#421>)
6720+
* Clarify cursor iteration predicates (<#450>)
67316721

67326722
<!-- ============================================================ -->
67336723
# Acknowledgements # {#acknowledgements}

0 commit comments

Comments
 (0)