@elaraai/east-ui 1.0.97 → 1.0.98
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/collections/index.d.ts +0 -1
- package/dist/src/collections/index.d.ts.map +1 -1
- package/dist/src/collections/index.js +0 -1
- package/dist/src/collections/index.js.map +1 -1
- package/dist/src/component.d.ts +0 -999
- package/dist/src/component.d.ts.map +1 -1
- package/dist/src/component.js +0 -44
- package/dist/src/component.js.map +1 -1
- package/dist/src/contracts/drag.d.ts +2 -2
- package/dist/src/contracts/drag.js +2 -2
- package/dist/src/contracts/editing.d.ts +4 -0
- package/dist/src/contracts/editing.d.ts.map +1 -1
- package/dist/src/contracts/editing.js +2 -1
- package/dist/src/contracts/editing.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +4 -1
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +5 -2
- package/dist/src/internal.js.map +1 -1
- package/dist/src/layout/snap-grid/index.d.ts +1 -0
- package/dist/src/layout/snap-grid/index.d.ts.map +1 -1
- package/dist/src/pick/panel/index.js +1 -1
- package/dist/src/pick/panel/index.js.map +1 -1
- package/dist/src/platform/slice/index.d.ts +4 -7
- package/dist/src/platform/slice/index.d.ts.map +1 -1
- package/dist/src/platform/slice/index.js +5 -8
- package/dist/src/platform/slice/index.js.map +1 -1
- package/dist/src/platform/slice/record-area.d.ts +181 -0
- package/dist/src/platform/slice/record-area.d.ts.map +1 -0
- package/dist/src/platform/slice/record-area.js +304 -0
- package/dist/src/platform/slice/record-area.js.map +1 -0
- package/dist/src/platform/slice/record-chrome.d.ts +138 -0
- package/dist/src/platform/slice/record-chrome.d.ts.map +1 -1
- package/dist/src/platform/slice/record-plan.d.ts +34 -1
- package/dist/src/platform/slice/record-plan.d.ts.map +1 -1
- package/dist/src/platform/slice/record-plan.js +126 -3
- package/dist/src/platform/slice/record-plan.js.map +1 -1
- package/dist/src/platform/slice/record-series.d.ts +166 -0
- package/dist/src/platform/slice/record-series.d.ts.map +1 -0
- package/dist/src/platform/slice/record-series.js +258 -0
- package/dist/src/platform/slice/record-series.js.map +1 -0
- package/dist/src/platform/slice/record-types.d.ts +1862 -13
- package/dist/src/platform/slice/record-types.d.ts.map +1 -1
- package/dist/src/platform/slice/record-types.js +50 -4
- package/dist/src/platform/slice/record-types.js.map +1 -1
- package/dist/src/platform/slice/record.d.ts +17 -2
- package/dist/src/platform/slice/record.d.ts.map +1 -1
- package/dist/src/platform/slice/record.js +62 -9
- package/dist/src/platform/slice/record.js.map +1 -1
- package/dist/src/runtime/collections/index.d.ts +0 -1
- package/dist/src/runtime/collections/index.d.ts.map +1 -1
- package/dist/src/runtime/collections/index.js +0 -1
- package/dist/src/runtime/collections/index.js.map +1 -1
- package/dist/src/runtime/record-slice-source.d.ts +298 -0
- package/dist/src/runtime/record-slice-source.d.ts.map +1 -1
- package/dist/src/runtime/record-slice-source.js +554 -16
- package/dist/src/runtime/record-slice-source.js.map +1 -1
- package/dist/src/runtime/record-slice.d.ts +87 -3
- package/dist/src/runtime/record-slice.d.ts.map +1 -1
- package/dist/src/runtime/record-slice.js +175 -12
- package/dist/src/runtime/record-slice.js.map +1 -1
- package/dist/src/slice/record/index.d.ts +69 -0
- package/dist/src/slice/record/index.d.ts.map +1 -1
- package/dist/src/style/color.d.ts +237 -0
- package/dist/src/style/color.d.ts.map +1 -0
- package/dist/src/style/color.js +105 -0
- package/dist/src/style/color.js.map +1 -0
- package/dist/src/style/namespace.d.ts +151 -1
- package/dist/src/style/namespace.d.ts.map +1 -1
- package/dist/src/style/namespace.js +9 -1
- package/dist/src/style/namespace.js.map +1 -1
- package/dist/src/style.d.ts +3 -0
- package/dist/src/style.d.ts.map +1 -1
- package/dist/src/style.js +3 -0
- package/dist/src/style.js.map +1 -1
- package/dist/test/style.examples.d.ts +1 -0
- package/dist/test/style.examples.d.ts.map +1 -1
- package/dist/test/style.examples.js +17 -2
- package/dist/test/style.examples.js.map +1 -1
- package/package.json +4 -4
- package/dist/src/collections/schematic/index.d.ts +0 -1390
- package/dist/src/collections/schematic/index.d.ts.map +0 -1
- package/dist/src/collections/schematic/index.js +0 -815
- package/dist/src/collections/schematic/index.js.map +0 -1
- package/dist/src/collections/schematic/types.d.ts +0 -1183
- package/dist/src/collections/schematic/types.d.ts.map +0 -1
- package/dist/src/collections/schematic/types.js +0 -724
- package/dist/src/collections/schematic/types.js.map +0 -1
- package/dist/src/runtime/collections/schematic.d.ts +0 -73
- package/dist/src/runtime/collections/schematic.d.ts.map +0 -1
- package/dist/src/runtime/collections/schematic.js +0 -69
- package/dist/src/runtime/collections/schematic.js.map +0 -1
- package/dist/test/collections/schematic.examples.d.ts +0 -23
- package/dist/test/collections/schematic.examples.d.ts.map +0 -1
- package/dist/test/collections/schematic.examples.js +0 -602
- package/dist/test/collections/schematic.examples.js.map +0 -1
|
@@ -18,6 +18,104 @@ export interface RecordSliceReader<T> {
|
|
|
18
18
|
total(index: string): option<bigint>;
|
|
19
19
|
/** Shared record revision, tracked by the binding. */
|
|
20
20
|
revision(): option<string>;
|
|
21
|
+
/**
|
|
22
|
+
* Several searches of one source in one request (#1351): each query's
|
|
23
|
+
* bounds, as {@link seek} answers them, in order — none while any is
|
|
24
|
+
* pending. A binding whose runtime batches its reads has it; without it,
|
|
25
|
+
* a plan's searches are its single seeks.
|
|
26
|
+
*/
|
|
27
|
+
seekAll?(index: string, queries: readonly Query[]): option<Range[]>;
|
|
28
|
+
/**
|
|
29
|
+
* The entries of several runs of one source in one request, in order
|
|
30
|
+
* (#1351) — none while pending. A binding whose runtime batches its reads
|
|
31
|
+
* has it, and a window across several runs reads through it; without it,
|
|
32
|
+
* a window pages each run.
|
|
33
|
+
*/
|
|
34
|
+
runsAll?(index: string, runs: readonly Range[]): option<T[]>;
|
|
35
|
+
/**
|
|
36
|
+
* Where a narrowing's runs of one source sit in the record (#1349): how
|
|
37
|
+
* many of their entries each record segment holds, as far as they are
|
|
38
|
+
* placed — none until the first window lands. A binding whose runtime
|
|
39
|
+
* reads placements has it; without it, a narrowing has no placement.
|
|
40
|
+
*/
|
|
41
|
+
placeAll?(index: string, runs: readonly Range[]): option<RecordSlicePlacement>;
|
|
42
|
+
/**
|
|
43
|
+
* Which of some entries a narrowing's runs of one source hold (#1349): for
|
|
44
|
+
* each, its index key's `.east` text beside its primary key, whether it lies
|
|
45
|
+
* in one of the runs — none while pending. A binding whose runtime reads
|
|
46
|
+
* memberships has it.
|
|
47
|
+
*/
|
|
48
|
+
withinAll?(index: string, runs: readonly Range[], entries: readonly RecordSliceEntryKey[]): option<boolean[]>;
|
|
49
|
+
/**
|
|
50
|
+
* The rows the record holds under several of its own keys, in one request
|
|
51
|
+
* (#1039): each key's row, or `none` for a key the record does not hold,
|
|
52
|
+
* in the order asked — none while pending. A binding whose runtime batches
|
|
53
|
+
* its reads has it; without it, each row is read by its key.
|
|
54
|
+
*/
|
|
55
|
+
rowsAll?(keys: readonly unknown[]): option<option<unknown>[]>;
|
|
56
|
+
/**
|
|
57
|
+
* The rows another Dict holds under the keys the entries of several runs
|
|
58
|
+
* of one source name, in one request (#1393): each entry's key and the
|
|
59
|
+
* Dict's row under it, or `none`, in the runs' order — none while pending.
|
|
60
|
+
* The keys are read from the source where its rows are kept, so none is
|
|
61
|
+
* sent: a Schematic's details, read for the cells of its area index. A
|
|
62
|
+
* binding whose runtime batches its reads has it.
|
|
63
|
+
*/
|
|
64
|
+
joinAll?(index: string, runs: readonly Range[], dict: string): option<RecordSliceJoined[]>;
|
|
65
|
+
}
|
|
66
|
+
/** One entry's row of another Dict, as a read by runs answers it (#1393). */
|
|
67
|
+
export interface RecordSliceJoined {
|
|
68
|
+
/** The key the entry names: one of the record's keys, of the Dict's key type. */
|
|
69
|
+
readonly key: unknown;
|
|
70
|
+
/** The Dict's row under it, or none. */
|
|
71
|
+
readonly row: option<unknown>;
|
|
72
|
+
}
|
|
73
|
+
/** One index entry of a row, as a membership read names it: its index key's `.east` text, and the row's primary key. */
|
|
74
|
+
export interface RecordSliceEntryKey {
|
|
75
|
+
/** The entry's index key, as the binding's maintained keys print it. */
|
|
76
|
+
ik: string;
|
|
77
|
+
/** The row's primary key, an East value of the record's key type. */
|
|
78
|
+
key: unknown;
|
|
79
|
+
}
|
|
80
|
+
/** A record segment some of a narrowing's rows fall in (#1349). */
|
|
81
|
+
export interface RecordSlicePlacedSegment {
|
|
82
|
+
/** Its first row in the record's order. */
|
|
83
|
+
offset: bigint;
|
|
84
|
+
/** How many rows it holds. */
|
|
85
|
+
count: bigint;
|
|
86
|
+
/** How many of the narrowing's rows it holds. */
|
|
87
|
+
rows: bigint;
|
|
88
|
+
}
|
|
89
|
+
/** Where a narrowing's rows sit in its record, as far as they are placed (#1349). */
|
|
90
|
+
export interface RecordSlicePlacement {
|
|
91
|
+
/** The record segments holding some of the placed rows, in the record's order. */
|
|
92
|
+
segments: readonly RecordSlicePlacedSegment[];
|
|
93
|
+
/** How many of the narrowing's rows are placed. */
|
|
94
|
+
placed: bigint;
|
|
95
|
+
/** How many rows the narrowing holds. */
|
|
96
|
+
total: bigint;
|
|
97
|
+
/** The record's row count. */
|
|
98
|
+
records: bigint;
|
|
99
|
+
/** Whether every row is placed: until then a segment the placement does not list may yet hold some. */
|
|
100
|
+
complete: boolean;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* One cell a reader wants of a series or a summary index (#1039): some keys in
|
|
104
|
+
* one tile, its searches as `tileCellQueries` plans them, under a name the
|
|
105
|
+
* reader gives it.
|
|
106
|
+
*/
|
|
107
|
+
export interface RecordSliceCell {
|
|
108
|
+
/** The reader's name for it: unique among the cells it asks for at once. */
|
|
109
|
+
readonly id: string;
|
|
110
|
+
/** Its searches, a key's entries in the tile each. */
|
|
111
|
+
readonly queries: readonly Query[];
|
|
112
|
+
}
|
|
113
|
+
/** Where a cell's entries are, at one revision (#1039). */
|
|
114
|
+
export interface RecordSliceCellRuns {
|
|
115
|
+
/** Each of its searches' bounds, in their order. */
|
|
116
|
+
readonly ranges: readonly Range[];
|
|
117
|
+
/** How many entries its searches hold: exact, before one is read. */
|
|
118
|
+
readonly total: bigint;
|
|
21
119
|
}
|
|
22
120
|
/** Resolved, ascending, disjoint ranges within one immutable revision. */
|
|
23
121
|
export interface RecordSliceRuns {
|
|
@@ -30,6 +128,14 @@ export interface RecordSliceRuns {
|
|
|
30
128
|
/** Exact sum of the runs. */
|
|
31
129
|
total: bigint;
|
|
32
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* Searches whose bounds are kept per revision; a window over an interval index is some fifty-five. A reader that keeps
|
|
133
|
+
* its searches within it — the Schematic's window across a led area index's choices (§10.4) — never asks one twice.
|
|
134
|
+
*/
|
|
135
|
+
export declare const MAX_LANDED_SEARCHES = 1024;
|
|
136
|
+
/** The most searches one batch asks (#1351): e3 answers at most 10,000 in a
|
|
137
|
+
* request, so a plan with more is asked as several batches, all at once. */
|
|
138
|
+
export declare const MAX_RECORD_SLICE_BATCH = 10000;
|
|
33
139
|
/**
|
|
34
140
|
* Adapts an indexed source to the pinned-source paging contract. Work depends
|
|
35
141
|
* on the selected ranges and requested window, not the record's size. The
|
|
@@ -40,6 +146,20 @@ export interface RecordSliceRuns {
|
|
|
40
146
|
* bounds are kept once they land, per revision, so a selection read again
|
|
41
147
|
* while some of its searches are pending asks the source only for those.
|
|
42
148
|
*
|
|
149
|
+
* A reader that batches (#1351) is asked a plan's searches in one request
|
|
150
|
+
* (`seekAll`, a batch per {@link MAX_RECORD_SLICE_BATCH} of them, all at once)
|
|
151
|
+
* and a window across several runs in one (`runsAll`): a window costs two
|
|
152
|
+
* requests however many ranges its narrowing selects. A window inside one run
|
|
153
|
+
* is the page it is, read as one.
|
|
154
|
+
*
|
|
155
|
+
* The cells of a series or a summary index (#1039) are read the same way: the
|
|
156
|
+
* searches of every cell a reader wants in one request, and the entries of
|
|
157
|
+
* every cell it reads in one more, each cell's runs kept per revision. A cell
|
|
158
|
+
* whose searches, or a run whose entries, a request still in flight asks waits
|
|
159
|
+
* on that request — asked again as it was, which asks the reader nothing new —
|
|
160
|
+
* so a reader wanting other cells while one read is in flight asks only for
|
|
161
|
+
* what no request asks.
|
|
162
|
+
*
|
|
43
163
|
* @typeParam T - An entry; its contents are opaque to this adapter.
|
|
44
164
|
*/
|
|
45
165
|
export declare class RecordSliceSource<T> {
|
|
@@ -47,11 +167,28 @@ export declare class RecordSliceSource<T> {
|
|
|
47
167
|
private revision;
|
|
48
168
|
private readonly resolved;
|
|
49
169
|
private readonly landed;
|
|
170
|
+
private readonly cells;
|
|
171
|
+
private readonly askedCells;
|
|
172
|
+
private readonly askedRuns;
|
|
50
173
|
private readonly pages;
|
|
51
174
|
private pageCount;
|
|
52
175
|
/** @param reader - Existing indexed-source reads, sharing one revision. */
|
|
53
176
|
constructor(reader: RecordSliceReader<T>);
|
|
177
|
+
/**
|
|
178
|
+
* The record's revision now, and what is kept let go when it moves. A
|
|
179
|
+
* revision not known for the moment — read again, say — lets nothing go:
|
|
180
|
+
* what was kept is the revision's it was kept at, and stands for it again
|
|
181
|
+
* when that revision is known again.
|
|
182
|
+
*/
|
|
54
183
|
private current;
|
|
184
|
+
/**
|
|
185
|
+
* Several searches of one source, in order: in one request when the reader
|
|
186
|
+
* batches them (a batch for each {@link MAX_RECORD_SLICE_BATCH}, all asked
|
|
187
|
+
* in this pass), else each its own search, all started together.
|
|
188
|
+
*
|
|
189
|
+
* @returns Each search's bounds, in order; none while any is pending
|
|
190
|
+
*/
|
|
191
|
+
private searchAll;
|
|
55
192
|
/** One search's bounds: kept once they land, so a read again asks the source only while they are pending. */
|
|
56
193
|
private search;
|
|
57
194
|
/**
|
|
@@ -61,6 +198,140 @@ export declare class RecordSliceSource<T> {
|
|
|
61
198
|
* @returns Complete ranges, or none while pending.
|
|
62
199
|
*/
|
|
63
200
|
resolve(plan: RecordSlicePlan): option<RecordSliceRuns>;
|
|
201
|
+
/**
|
|
202
|
+
* Find several cells of a series or a summary index (#1039): each cell's
|
|
203
|
+
* searches' bounds and how many entries they hold — exact, before one is
|
|
204
|
+
* read. The searches of every cell not yet found go in one request (a batch
|
|
205
|
+
* for each {@link MAX_RECORD_SLICE_BATCH} of them, all asked in this pass),
|
|
206
|
+
* and a cell found is kept for its revision, so one asked again asks
|
|
207
|
+
* nothing. A cell a request still in flight asks waits on it: that request
|
|
208
|
+
* is asked again as it was, and only the cells no request asks go in a new
|
|
209
|
+
* one.
|
|
210
|
+
*
|
|
211
|
+
* @param index - The index the cells are of
|
|
212
|
+
* @param cells - The cells
|
|
213
|
+
* @returns Each cell's runs, by its name; none while any is pending
|
|
214
|
+
* @throws {Error} When two cells share a name, or the source answers a search with bounds no search has
|
|
215
|
+
*/
|
|
216
|
+
cellRuns(index: string, cells: readonly RecordSliceCell[]): option<Map<string, RecordSliceCellRuns>>;
|
|
217
|
+
/**
|
|
218
|
+
* Find the bounds of several searches of one source (#1393): where each one's
|
|
219
|
+
* entries sit and how many it holds, in one request (a batch for each
|
|
220
|
+
* {@link MAX_RECORD_SLICE_BATCH} of them, all asked in this pass), no entry
|
|
221
|
+
* read and nothing kept here — what a density raster asks of an area
|
|
222
|
+
* index's cells, its counted ranges and the coarser levels' keys
|
|
223
|
+
* (`areaRaster`), whose entries {@link RecordSliceSource.runEntries} reads
|
|
224
|
+
* while they are few. A read again answers from the reader's own channels
|
|
225
|
+
* for the searches that landed.
|
|
226
|
+
*
|
|
227
|
+
* @param index - The source searched
|
|
228
|
+
* @param queries - The searches
|
|
229
|
+
* @returns Each search's bounds, in order; none while any is pending
|
|
230
|
+
* @throws {Error} When the source answers a search with bounds no search has
|
|
231
|
+
*/
|
|
232
|
+
bounds(index: string, queries: readonly Query[]): option<Range[]>;
|
|
233
|
+
/**
|
|
234
|
+
* Read the entries of some runs of one source (#1393): the runs as searches
|
|
235
|
+
* found them at the record's revision now — ascending, disjoint and none
|
|
236
|
+
* empty — read in one request however many there are, a run a read still in
|
|
237
|
+
* flight asks waiting on it. Nothing is kept: the reader holds what it read.
|
|
238
|
+
*
|
|
239
|
+
* @param index - The source
|
|
240
|
+
* @param runs - The runs
|
|
241
|
+
* @returns Their entries, run after run; none while the read is pending
|
|
242
|
+
* @throws {Error} When the runs are not ascending, disjoint and each non-empty, or the entries read disagree with them
|
|
243
|
+
*/
|
|
244
|
+
runEntries(index: string, runs: readonly Range[]): option<T[]>;
|
|
245
|
+
/**
|
|
246
|
+
* Read the rows another Dict holds under the keys the entries of some runs
|
|
247
|
+
* of one source name (#1393): the runs as {@link RecordSliceSource.runEntries}
|
|
248
|
+
* takes them, read in one request however many there are, a run a read
|
|
249
|
+
* still in flight asks waiting on it — each entry's key and the Dict's row
|
|
250
|
+
* under it, run after run. The keys are read where the source's entries
|
|
251
|
+
* are kept: none is sent. Nothing is kept: the reader holds what it read.
|
|
252
|
+
*
|
|
253
|
+
* @param index - The source
|
|
254
|
+
* @param runs - The runs
|
|
255
|
+
* @param dict - The Dict read: the `id` of its paged read
|
|
256
|
+
* @returns Each entry's key and its row there, run after run; none while the read is pending
|
|
257
|
+
* @throws {Error} When the reader reads no Dict by runs, the runs are not ascending, disjoint and each non-empty, or
|
|
258
|
+
* the rows read disagree with them
|
|
259
|
+
*/
|
|
260
|
+
runJoins(index: string, runs: readonly Range[], dict: string): option<RecordSliceJoined[]>;
|
|
261
|
+
/** Some runs' entries, or their rows of a Dict, by `read`: the runs checked, each asked once (see {@link RecordSliceSource.runEntries}). */
|
|
262
|
+
private runsRead;
|
|
263
|
+
/**
|
|
264
|
+
* Read several cells' entries (#1039): the entries of every cell's runs in
|
|
265
|
+
* one request — each run once, ascending, however many cells share it —
|
|
266
|
+
* handed back cell by cell, each in its searches' order. A run a read still
|
|
267
|
+
* in flight asks waits on it: that read is asked again as it was, and only
|
|
268
|
+
* the runs no read asks go in a new one. Nothing is kept once read: the
|
|
269
|
+
* reader holds the cells it draws.
|
|
270
|
+
*
|
|
271
|
+
* @param index - The index the cells are of
|
|
272
|
+
* @param cells - The cells
|
|
273
|
+
* @returns Each cell's entries, by its name; none while its runs or the read are pending
|
|
274
|
+
* @throws {Error} As {@link RecordSliceSource.cellRuns} does; when two of the
|
|
275
|
+
* cells' searches overlap without being one, or the entries read disagree
|
|
276
|
+
* with their bounds
|
|
277
|
+
*/
|
|
278
|
+
cellEntries(index: string, cells: readonly RecordSliceCell[]): option<Map<string, T[]>>;
|
|
279
|
+
/**
|
|
280
|
+
* Read the rows another Dict holds under the keys several cells' entries
|
|
281
|
+
* name (#1393): every cell's runs in one request — each run once,
|
|
282
|
+
* ascending, however many cells share it — the keys read where the
|
|
283
|
+
* entries are kept, none sent, handed back cell by cell, each in its
|
|
284
|
+
* searches' order: each entry's key and the Dict's row under it. A run a
|
|
285
|
+
* read still in flight asks waits on it, as {@link RecordSliceSource.cellEntries}'s
|
|
286
|
+
* does. Nothing is kept once read: the reader holds the cells it draws —
|
|
287
|
+
* a Schematic's details, for the cells its window reads of its area index.
|
|
288
|
+
*
|
|
289
|
+
* @param index - The index the cells are of
|
|
290
|
+
* @param cells - The cells
|
|
291
|
+
* @param dict - The Dict read: the `id` of its paged read
|
|
292
|
+
* @returns Each cell's rows of the Dict, by its name; none while its runs or the read are pending
|
|
293
|
+
* @throws {Error} As {@link RecordSliceSource.cellEntries} does, and when the reader reads no Dict by runs
|
|
294
|
+
*/
|
|
295
|
+
cellJoins(index: string, cells: readonly RecordSliceCell[], dict: string): option<Map<string, RecordSliceJoined[]>>;
|
|
296
|
+
/** Several cells' entries, or their rows of a Dict, by `read`: every cell's runs read once (see {@link RecordSliceSource.cellEntries}). */
|
|
297
|
+
private cellsRead;
|
|
298
|
+
/**
|
|
299
|
+
* Some runs of one source, read by `read` — their entries, or their rows of
|
|
300
|
+
* a Dict — each by its first row: a run a read of the same kind still in
|
|
301
|
+
* flight asks waits on that read — asked again as it was, which asks the
|
|
302
|
+
* reader nothing new — and the rest are read together, in one more.
|
|
303
|
+
*
|
|
304
|
+
* @param index - The source
|
|
305
|
+
* @param dict - The Dict whose rows are read; `undefined` for the entries
|
|
306
|
+
* @param runs - The runs: ascending, disjoint, none empty
|
|
307
|
+
* @param revision - The revision they were found at
|
|
308
|
+
* @param read - The read of some of the runs, in order
|
|
309
|
+
* @returns Each run's part, by its first row; `undefined` while a read is pending, or once the revision moved
|
|
310
|
+
*/
|
|
311
|
+
private readAsked;
|
|
312
|
+
/**
|
|
313
|
+
* The rows a Dict holds under the keys the entries of some runs of one
|
|
314
|
+
* source name, in order: in one request through the reader, the keys read
|
|
315
|
+
* where the entries are kept.
|
|
316
|
+
*
|
|
317
|
+
* @param index - The source
|
|
318
|
+
* @param runs - The runs: ascending, disjoint, none empty
|
|
319
|
+
* @param dict - The Dict read: the `id` of its paged read
|
|
320
|
+
* @returns Each entry's key and its row there, in order; none while pending
|
|
321
|
+
* @throws {Error} When the reader reads no Dict by runs, or its rows disagree with the runs' entries
|
|
322
|
+
*/
|
|
323
|
+
private readJoins;
|
|
324
|
+
/**
|
|
325
|
+
* The entries of some runs of one source, in order: in one request when the
|
|
326
|
+
* reader batches its reads, else a page at a time, every run's pages asked
|
|
327
|
+
* together.
|
|
328
|
+
*
|
|
329
|
+
* @param index - The source
|
|
330
|
+
* @param runs - The runs: ascending, disjoint, none empty
|
|
331
|
+
* @returns Their entries, in order; none while any is pending
|
|
332
|
+
* @throws {Error} When the source's entries disagree with the runs
|
|
333
|
+
*/
|
|
334
|
+
private readRuns;
|
|
64
335
|
/**
|
|
65
336
|
* Read only the requested part of the union, filling short provider pages.
|
|
66
337
|
* A bounded short result is valid under the shared paged-source contract.
|
|
@@ -70,6 +341,33 @@ export declare class RecordSliceSource<T> {
|
|
|
70
341
|
* @returns The complete bounded window, or none while any piece is pending.
|
|
71
342
|
*/
|
|
72
343
|
page(plan: RecordSlicePlan, offset: bigint, limit: bigint): option<T[]>;
|
|
344
|
+
/**
|
|
345
|
+
* Read a window of the union as the entries of the runs it covers, in one
|
|
346
|
+
* request (#1351): the window's part of each run, read together, however
|
|
347
|
+
* many runs it spans.
|
|
348
|
+
*/
|
|
349
|
+
private pageByRuns;
|
|
350
|
+
/**
|
|
351
|
+
* Where a narrowing's rows sit in the record (#1349): its resolved runs
|
|
352
|
+
* placed by the reader, a window at a time, as far as they are placed.
|
|
353
|
+
*
|
|
354
|
+
* @param plan - Current narrowing
|
|
355
|
+
* @returns The placement so far, or none while the runs or the first window are pending
|
|
356
|
+
* @throws {Error} When the reader reads no placements
|
|
357
|
+
*/
|
|
358
|
+
place(plan: RecordSlicePlan): option<RecordSlicePlacement>;
|
|
359
|
+
/**
|
|
360
|
+
* Which of some entries a narrowing's resolved runs hold (#1349), each
|
|
361
|
+
* answered by the reader from the runs: no row is examined here. Past
|
|
362
|
+
* {@link MAX_RECORD_SLICE_BATCH} entries, they are asked as several reads,
|
|
363
|
+
* all in this pass, as `resolve` asks a plan's searches.
|
|
364
|
+
*
|
|
365
|
+
* @param plan - Current narrowing
|
|
366
|
+
* @param entries - The entries asked of: each one's index key text and primary key
|
|
367
|
+
* @returns Whether each entry lies in the narrowing's runs, or none while pending
|
|
368
|
+
* @throws {Error} When the reader reads no memberships
|
|
369
|
+
*/
|
|
370
|
+
within(plan: RecordSlicePlan, entries: readonly RecordSliceEntryKey[]): option<boolean[]>;
|
|
73
371
|
/**
|
|
74
372
|
* Intersect a key search with the selected ranges, translating both hits
|
|
75
373
|
* and misses to positions in the narrowed view. No row reads are needed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-slice-source.d.ts","sourceRoot":"","sources":["../../../src/runtime/record-slice-source.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,+EAA+E;AAC/E,OAAO,
|
|
1
|
+
{"version":3,"file":"record-slice-source.d.ts","sourceRoot":"","sources":["../../../src/runtime/record-slice-source.ts"],"names":[],"mappings":"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"}
|