@gaganref/confect-server 10.3.1-fork.6 → 10.3.1-fork.61
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/ActionCall.d.ts +30 -0
- package/dist/ActionCall.d.ts.map +1 -0
- package/dist/ActionCall.js +41 -0
- package/dist/ActionCall.js.map +1 -0
- package/dist/ActionRunner.d.ts +1 -1
- package/dist/ActionRunner.d.ts.map +1 -1
- package/dist/ActionRunner.js +3 -3
- package/dist/ActionRunner.js.map +1 -1
- package/dist/AiGatewayDecisionClient.js +1 -1
- package/dist/AiGatewayLanguageClient.js +1 -1
- package/dist/Auth.d.ts +13 -1
- package/dist/Auth.d.ts.map +1 -1
- package/dist/Auth.js +13 -3
- package/dist/Auth.js.map +1 -1
- package/dist/Callback.d.ts +1 -1
- package/dist/Callback.d.ts.map +1 -1
- package/dist/Callback.js +6 -6
- package/dist/Callback.js.map +1 -1
- package/dist/ConvexConfigProvider.js +2 -2
- package/dist/ConvexFunctionDefinitions.d.ts.map +1 -1
- package/dist/ConvexFunctionDefinitions.js +4 -4
- package/dist/ConvexFunctionDefinitions.js.map +1 -1
- package/dist/ConvexLogger.js +1 -1
- package/dist/CronJobs.d.ts.map +1 -1
- package/dist/CronJobs.js +7 -6
- package/dist/CronJobs.js.map +1 -1
- package/dist/DatabaseSchema.js +2 -2
- package/dist/DatabaseWriter.d.ts +36 -2
- package/dist/DatabaseWriter.d.ts.map +1 -1
- package/dist/DatabaseWriter.js +55 -8
- package/dist/DatabaseWriter.js.map +1 -1
- package/dist/ExecutionMetadata.js +1 -1
- package/dist/FunctionImpl.js +2 -2
- package/dist/FunctionRegistryItem.d.ts +1 -0
- package/dist/FunctionRegistryItem.d.ts.map +1 -1
- package/dist/FunctionRegistryItem.js +2 -1
- package/dist/FunctionRegistryItem.js.map +1 -1
- package/dist/GroupImpl.d.ts +21 -2
- package/dist/GroupImpl.d.ts.map +1 -1
- package/dist/GroupImpl.js +21 -22
- package/dist/GroupImpl.js.map +1 -1
- package/dist/GroupRegistry.d.ts +1 -0
- package/dist/GroupRegistry.d.ts.map +1 -1
- package/dist/GroupRegistry.js +10 -3
- package/dist/GroupRegistry.js.map +1 -1
- package/dist/Handler.d.ts +8 -4
- package/dist/Handler.d.ts.map +1 -1
- package/dist/Handler.js.map +1 -1
- package/dist/HttpRouter.d.ts +2 -0
- package/dist/HttpRouter.d.ts.map +1 -1
- package/dist/HttpRouter.js +17 -8
- package/dist/HttpRouter.js.map +1 -1
- package/dist/MiddlewareImpl.js +1 -1
- package/dist/MutationRunner.d.ts +1 -1
- package/dist/MutationRunner.d.ts.map +1 -1
- package/dist/MutationRunner.js +3 -3
- package/dist/MutationRunner.js.map +1 -1
- package/dist/MutationTransactionContext.d.ts.map +1 -1
- package/dist/MutationTransactionContext.js +4 -3
- package/dist/MutationTransactionContext.js.map +1 -1
- package/dist/OfficialComponent.d.ts +60 -0
- package/dist/OfficialComponent.d.ts.map +1 -0
- package/dist/OfficialComponent.js +72 -0
- package/dist/OfficialComponent.js.map +1 -0
- package/dist/QueryInitializer.js +2 -2
- package/dist/QueryRunner.js +2 -2
- package/dist/QueryStream.d.ts +120 -12
- package/dist/QueryStream.d.ts.map +1 -1
- package/dist/QueryStream.js +143 -41
- package/dist/QueryStream.js.map +1 -1
- package/dist/QueryStreamCursor.js +1 -1
- package/dist/QueryStreamIndexPrefix.js +1 -1
- package/dist/QueryStreamIndexRange.js +2 -2
- package/dist/QueryStreamKey.js +1 -1
- package/dist/QueryStreamKeyBounds.js +2 -2
- package/dist/QueryStreamKeyLayout.js +2 -2
- package/dist/QueryStreamKeyValues.js +2 -2
- package/dist/QueryStreamPagination.js +1 -1
- package/dist/QueryStreamReadBudget.d.ts +3 -2
- package/dist/QueryStreamReadBudget.d.ts.map +1 -1
- package/dist/QueryStreamReadBudget.js +8 -5
- package/dist/QueryStreamReadBudget.js.map +1 -1
- package/dist/QueryTransactionContext.js +2 -2
- package/dist/RegisteredConvexFunction.d.ts +10 -5
- package/dist/RegisteredConvexFunction.d.ts.map +1 -1
- package/dist/RegisteredConvexFunction.js +45 -29
- package/dist/RegisteredConvexFunction.js.map +1 -1
- package/dist/RegisteredFunction.d.ts +39 -22
- package/dist/RegisteredFunction.d.ts.map +1 -1
- package/dist/RegisteredFunction.js +155 -42
- package/dist/RegisteredFunction.js.map +1 -1
- package/dist/RegisteredNodeFunction.d.ts +1 -1
- package/dist/RegisteredNodeFunction.d.ts.map +1 -1
- package/dist/RegisteredNodeFunction.js +10 -6
- package/dist/RegisteredNodeFunction.js.map +1 -1
- package/dist/RegistryItems.d.ts +7 -0
- package/dist/RegistryItems.d.ts.map +1 -1
- package/dist/RegistryItems.js +8 -3
- package/dist/RegistryItems.js.map +1 -1
- package/dist/RequestMetadata.js +1 -1
- package/dist/Scheduler.d.ts +1 -1
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +14 -13
- package/dist/Scheduler.js.map +1 -1
- package/dist/Storage.js +1 -1
- package/dist/StorageActionWriter.js +1 -1
- package/dist/StorageReader.js +1 -1
- package/dist/StorageWriter.js +1 -1
- package/dist/TransactionMetadata.js +1 -1
- package/dist/VectorSearch.js +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -18
- package/dist/internal/AiGatewayDecisionClient.js +1 -1
- package/dist/internal/AiGatewayLanguageClient.js +1 -1
- package/dist/internal/AiGatewayServiceToken.js +1 -1
- package/dist/internal/DocumentPatch.d.ts +16 -0
- package/dist/internal/DocumentPatch.d.ts.map +1 -0
- package/dist/internal/DocumentPatch.js +36 -0
- package/dist/internal/DocumentPatch.js.map +1 -0
- package/dist/internal/observability.d.ts +5 -0
- package/dist/internal/observability.d.ts.map +1 -0
- package/dist/internal/observability.js +21 -0
- package/dist/internal/observability.js.map +1 -0
- package/dist/internal/reservedArgument.d.ts +8 -0
- package/dist/internal/reservedArgument.d.ts.map +1 -0
- package/dist/internal/reservedArgument.js +30 -0
- package/dist/internal/reservedArgument.js.map +1 -0
- package/package.json +5 -5
- package/src/ActionCall.ts +83 -0
- package/src/ActionRunner.ts +3 -2
- package/src/Auth.ts +23 -1
- package/src/Callback.ts +3 -2
- package/src/ConvexFunctionDefinitions.ts +2 -1
- package/src/CronJobs.ts +2 -1
- package/src/DatabaseWriter.ts +183 -25
- package/src/FunctionRegistryItem.ts +4 -0
- package/src/GroupImpl.ts +61 -8
- package/src/GroupRegistry.ts +7 -3
- package/src/Handler.ts +21 -5
- package/src/HttpRouter.ts +54 -4
- package/src/MutationRunner.ts +3 -2
- package/src/MutationTransactionContext.ts +2 -1
- package/src/OfficialComponent.ts +168 -0
- package/src/QueryStream.ts +391 -61
- package/src/QueryStreamReadBudget.ts +19 -6
- package/src/RegisteredConvexFunction.ts +35 -2
- package/src/RegisteredFunction.ts +251 -45
- package/src/RegisteredNodeFunction.ts +11 -1
- package/src/RegistryItems.ts +31 -0
- package/src/Scheduler.ts +17 -19
- package/src/index.ts +2 -0
- package/src/internal/DocumentPatch.ts +87 -0
- package/src/internal/observability.ts +27 -0
- package/src/internal/reservedArgument.ts +56 -0
package/dist/QueryStream.d.ts
CHANGED
|
@@ -48,12 +48,20 @@ import * as QueryStreamKeyValues from "./QueryStreamKeyValues.js";
|
|
|
48
48
|
import * as QueryStreamKeyBounds from "./QueryStreamKeyBounds.js";
|
|
49
49
|
import * as QueryStreamIndexRange from "./QueryStreamIndexRange.js";
|
|
50
50
|
import * as QueryStreamReadBudget from "./QueryStreamReadBudget.js";
|
|
51
|
+
/**
|
|
52
|
+
* Default physical row budget for `paginate` and `collect`. Supply an explicit
|
|
53
|
+
* `maximumRowsRead` to override it. Plain Effect Stream consumers use their
|
|
54
|
+
* enclosing budget and remain unlimited when none is provided.
|
|
55
|
+
*
|
|
56
|
+
* @experimental
|
|
57
|
+
*/
|
|
58
|
+
export declare const DEFAULT_MAXIMUM_ROWS_READ = 2000;
|
|
51
59
|
declare const ReadBudgetExceededError_base: Schema.Class<ReadBudgetExceededError, Schema.TaggedStruct<"ReadBudgetExceededError", {
|
|
52
60
|
readonly rowsRead: Schema.Natural;
|
|
53
61
|
readonly bytesRead: Schema.Natural;
|
|
54
62
|
}>, import("effect/Cause").YieldableError>;
|
|
55
63
|
/**
|
|
56
|
-
* A
|
|
64
|
+
* A query stream exhausted its read budget before its consumer could finish.
|
|
57
65
|
*
|
|
58
66
|
* @experimental
|
|
59
67
|
*/
|
|
@@ -291,6 +299,38 @@ export declare const empty: <Doc>() => {
|
|
|
291
299
|
<const KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels>(keyLayout: QueryStreamKeyLayout.QueryStreamKeyLayout<KeyLabels>): QueryStream<Doc, KeyLabels, "asc", never, never>;
|
|
292
300
|
<const KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, OrderDirection extends QueryStreamOrderDirection.QueryStreamOrderDirection>(keyLayout: QueryStreamKeyLayout.QueryStreamKeyLayout<KeyLabels>, orderDirection: OrderDirection): QueryStream<Doc, KeyLabels, OrderDirection, never, never>;
|
|
293
301
|
};
|
|
302
|
+
declare const DeferredStreamMismatchError_base: new <A extends Record<string, any> = {}>(args: Types.VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
303
|
+
readonly _tag: "DeferredStreamMismatchError";
|
|
304
|
+
} & Readonly<A>;
|
|
305
|
+
/**
|
|
306
|
+
* A deferred stream's resolved direction or layout differs from its
|
|
307
|
+
* declaration. The check runs on consumption, before the resolved source is
|
|
308
|
+
* pulled.
|
|
309
|
+
*
|
|
310
|
+
* @experimental
|
|
311
|
+
*/
|
|
312
|
+
export declare class DeferredStreamMismatchError extends DeferredStreamMismatchError_base<{
|
|
313
|
+
readonly expectedOrderDirection: QueryStreamOrderDirection.QueryStreamOrderDirection;
|
|
314
|
+
readonly actualOrderDirection: QueryStreamOrderDirection.QueryStreamOrderDirection;
|
|
315
|
+
readonly expectedKeyLayout: QueryStreamKeyLayout.QueryStreamKeyLayout;
|
|
316
|
+
readonly actualKeyLayout: QueryStreamKeyLayout.QueryStreamKeyLayout;
|
|
317
|
+
}> {
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Defer an effect that checks access or constructs a query stream until it is
|
|
321
|
+
* pulled. Supply its layout and direction without reading documents. This lets
|
|
322
|
+
* `flatMap` build and narrow an inner stream before running its checks.
|
|
323
|
+
*
|
|
324
|
+
* The effect runs afresh on each consumption, seek, or reversal. Failures and
|
|
325
|
+
* service requirements are preserved. Its stream must match the declared layout
|
|
326
|
+
* and direction, or consumption dies with `DeferredStreamMismatchError`.
|
|
327
|
+
*
|
|
328
|
+
* @experimental
|
|
329
|
+
*/
|
|
330
|
+
export declare const defer: <Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, OrderDirection extends QueryStreamOrderDirection.QueryStreamOrderDirection, E = never, R = never, E2 = never, R2 = never>(options: {
|
|
331
|
+
readonly keyLayout: QueryStreamKeyLayout.QueryStreamKeyLayout<KeyLabels>;
|
|
332
|
+
readonly orderDirection: OrderDirection;
|
|
333
|
+
}, make: Effect.Effect<QueryStream<Doc, KeyLabels, NoInfer<OrderDirection>, E, R>, E2, R2>) => QueryStream<Doc, KeyLabels, OrderDirection, E | E2, R | R2>;
|
|
294
334
|
/**
|
|
295
335
|
* Database access needed to rebuild a direct index query on each run. Normally
|
|
296
336
|
* supplied by `reader.table(...).stream(...)` rather than implemented
|
|
@@ -347,14 +387,26 @@ export interface Reflection<OrderDirection extends QueryStreamOrderDirection.Que
|
|
|
347
387
|
* @experimental
|
|
348
388
|
*/
|
|
349
389
|
export declare const fromReflection: <Doc, OrderDirection extends QueryStreamOrderDirection.QueryStreamOrderDirection = QueryStreamOrderDirection.QueryStreamOrderDirection>(reflection: Reflection<OrderDirection>) => QueryStream<Doc, QueryStreamKeyLabels.QueryStreamKeyLabels, OrderDirection, Document.DocumentDecodeError, never>;
|
|
390
|
+
/**
|
|
391
|
+
* Optional merge behavior. With `dedupe`, equal complete stored keys, including
|
|
392
|
+
* ID tiebreakers, emit once. The first visible copy in source order wins; a
|
|
393
|
+
* filtered copy cannot suppress a visible one. Different keys remain distinct.
|
|
394
|
+
*
|
|
395
|
+
* @experimental
|
|
396
|
+
*/
|
|
397
|
+
export interface MergeOptions {
|
|
398
|
+
readonly dedupe?: boolean;
|
|
399
|
+
}
|
|
350
400
|
/**
|
|
351
401
|
* Combine streams sharing a key layout into one stream in key order. Use this
|
|
352
402
|
* to query several index ranges at once, such as notes by multiple roles.
|
|
353
403
|
*
|
|
354
404
|
* The merge emits the smallest next key when ascending and the largest when
|
|
355
|
-
* descending. Unlike `Stream.merge`, it does not interleave by arrival time.
|
|
356
|
-
*
|
|
357
|
-
*
|
|
405
|
+
* descending. Unlike `Stream.merge`, it does not interleave by arrival time. By
|
|
406
|
+
* default, a document matched twice appears twice. Pass `{ dedupe: true }` to
|
|
407
|
+
* coalesce equal complete keys, including ID tiebreakers. Resolving a group can
|
|
408
|
+
* prefetch the next key from each input; all such reads count against the
|
|
409
|
+
* shared budget. Supply at least one input; use `empty` for an empty list.
|
|
358
410
|
*
|
|
359
411
|
* Inputs need compatible document types and identical key layouts and
|
|
360
412
|
* directions. TypeScript rejects known mismatches; runtime mismatches throw
|
|
@@ -363,7 +415,7 @@ export declare const fromReflection: <Doc, OrderDirection extends QueryStreamOrd
|
|
|
363
415
|
*
|
|
364
416
|
* @experimental
|
|
365
417
|
*/
|
|
366
|
-
export declare const merge: <Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R, OrderDirection extends QueryStreamOrderDirection.QueryStreamOrderDirection>(streams: readonly [QueryStream<Doc, KeyLabels, OrderDirection, E, R>, ...ReadonlyArray<QueryStream<Doc, KeyLabels, NoInfer<OrderDirection>, E, R>>]) => QueryStream<Doc, KeyLabels, OrderDirection, E, R>;
|
|
418
|
+
export declare const merge: <Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R, OrderDirection extends QueryStreamOrderDirection.QueryStreamOrderDirection>(streams: readonly [QueryStream<Doc, KeyLabels, OrderDirection, E, R>, ...ReadonlyArray<QueryStream<Doc, KeyLabels, NoInfer<OrderDirection>, E, R>>], options?: MergeOptions) => QueryStream<Doc, KeyLabels, OrderDirection, E, R>;
|
|
367
419
|
/**
|
|
368
420
|
* Control concurrent callback evaluation in `filterEffect` and `mapEffect`.
|
|
369
421
|
*
|
|
@@ -567,6 +619,34 @@ export declare const reverse: <Doc, KeyLabels extends QueryStreamKeyLabels.Query
|
|
|
567
619
|
* @experimental
|
|
568
620
|
*/
|
|
569
621
|
export declare const narrow: ((narrowBounds: QueryStreamKeyBounds.NarrowBounds) => <Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R, OrderDirection extends QueryStreamOrderDirection.QueryStreamOrderDirection>(self: QueryStream<Doc, KeyLabels, OrderDirection, E, R>) => QueryStream<Doc, KeyLabels, OrderDirection, E, R>) & (<Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R, OrderDirection extends QueryStreamOrderDirection.QueryStreamOrderDirection>(self: QueryStream<Doc, KeyLabels, OrderDirection, E, R>, narrowBounds: QueryStreamKeyBounds.NarrowBounds) => QueryStream<Doc, KeyLabels, OrderDirection, E, R>);
|
|
622
|
+
/**
|
|
623
|
+
* Read limits for `collect`. These count underlying index reads, including
|
|
624
|
+
* filtered rows and join inputs, rather than just emitted values. At either
|
|
625
|
+
* limit, one extra row may be read to distinguish completion from an overrun;
|
|
626
|
+
* it counts toward reported reads but is never emitted. This also applies at
|
|
627
|
+
* zero, so an empty stream completes under a zero budget.
|
|
628
|
+
*
|
|
629
|
+
* @experimental
|
|
630
|
+
*/
|
|
631
|
+
export interface CollectOptions {
|
|
632
|
+
readonly maximumRowsRead?: number;
|
|
633
|
+
readonly maximumBytesRead?: number;
|
|
634
|
+
}
|
|
635
|
+
/**
|
|
636
|
+
* Collect the whole query stream or fail with `ReadBudgetExceededError` when a
|
|
637
|
+
* read budget stops it. No partial array reaches the caller. Arbitrary I/O in
|
|
638
|
+
* callbacks is not counted. Use `paginate` for data that can grow without
|
|
639
|
+
* bound.
|
|
640
|
+
*
|
|
641
|
+
* With explicit options, each run gets a fresh budget. Without options, use the
|
|
642
|
+
* enclosing budget if present, or the default row budget.
|
|
643
|
+
*
|
|
644
|
+
* @experimental
|
|
645
|
+
*/
|
|
646
|
+
export declare const collect: {
|
|
647
|
+
(options?: CollectOptions): <Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R>(self: QueryStream<Doc, KeyLabels, QueryStreamOrderDirection.QueryStreamOrderDirection, E, R>) => Effect.Effect<Array<Doc>, E | ReadBudgetExceededError, R>;
|
|
648
|
+
<Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R>(self: QueryStream<Doc, KeyLabels, QueryStreamOrderDirection.QueryStreamOrderDirection, E, R>, options?: CollectOptions): Effect.Effect<Array<Doc>, E | ReadBudgetExceededError, R>;
|
|
649
|
+
};
|
|
570
650
|
declare const NotUniqueError_base: Schema.Class<NotUniqueError, Schema.TaggedStruct<"NotUniqueError", {}>, import("effect/Cause").YieldableError>;
|
|
571
651
|
/**
|
|
572
652
|
* `unique` found at least two emitted values. Narrow the query if at most one
|
|
@@ -587,6 +667,24 @@ export declare class NotUniqueError extends NotUniqueError_base {
|
|
|
587
667
|
* @experimental
|
|
588
668
|
*/
|
|
589
669
|
export declare const unique: <Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R>(self: QueryStream<Doc, KeyLabels, QueryStreamOrderDirection.QueryStreamOrderDirection, E, R>) => Effect.Effect<Option.Option<Doc>, E | NotUniqueError, R>;
|
|
670
|
+
/**
|
|
671
|
+
* Caller-owned envelope for every pagination cursor, including end sentinels.
|
|
672
|
+
* `open` validates a received cursor and returns `None` on a mismatch; paginate
|
|
673
|
+
* then dies with `ConvexError({ paginationError: "InvalidCursor" })` before
|
|
674
|
+
* decoding or reading. `seal` wraps every outgoing continuation and split.
|
|
675
|
+
* `seal` must return the same string for equal inputs so cursor equality stays
|
|
676
|
+
* stable.
|
|
677
|
+
*
|
|
678
|
+
* Use this to bind cursors to query semantics or sign them. Both callbacks may
|
|
679
|
+
* use Effect services. Confect owns no keys, fingerprints, or encryption
|
|
680
|
+
* policy.
|
|
681
|
+
*
|
|
682
|
+
* @experimental
|
|
683
|
+
*/
|
|
684
|
+
export interface CursorEnvelope<R = never> {
|
|
685
|
+
readonly open: (cursor: string) => Effect.Effect<Option.Option<string>, never, R>;
|
|
686
|
+
readonly seal: (cursor: string) => Effect.Effect<string, never, R>;
|
|
687
|
+
}
|
|
590
688
|
/**
|
|
591
689
|
* Convex pagination options interpreted over a query stream's stored keys. Pass
|
|
592
690
|
* a paginated query handler's `paginationOpts` directly to `paginate`.
|
|
@@ -598,17 +696,27 @@ export declare const unique: <Doc, KeyLabels extends QueryStreamKeyLabels.QueryS
|
|
|
598
696
|
* - `endCursor`: optional inclusive boundary returned by a previous page. Pins
|
|
599
697
|
* the page to a key range regardless of how many values it holds.
|
|
600
698
|
* - `maximumRowsRead`: optional budget for physical document reads from
|
|
601
|
-
* underlying query-stream indexes, including filtered documents.
|
|
699
|
+
* underlying query-stream indexes, including filtered documents. Defaults to
|
|
700
|
+
* 2,000; an explicit limit overrides the default.
|
|
602
701
|
* - `maximumBytesRead`: optional budget charging estimated document size on every
|
|
603
702
|
* read, not Convex's exact billed bytes. The final document can take the
|
|
604
703
|
* total over the limit because its size is known only after reading it.
|
|
704
|
+
* - `cursorEnvelope`: optional caller-owned validation and sealing. Both input
|
|
705
|
+
* cursors are opened before decoding, including an end sentinel. Every output
|
|
706
|
+
* cursor is sealed. A refused envelope ends in `InvalidCursor`.
|
|
707
|
+
*
|
|
708
|
+
* At either read limit, including zero, one extra row may be read to
|
|
709
|
+
* distinguish completion from an overrun. It is counted but never emitted. An
|
|
710
|
+
* empty stream completes under a zero budget.
|
|
605
711
|
*
|
|
606
712
|
* With `numItems: 0`, an existing cursor is returned unchanged with an empty
|
|
607
713
|
* page and `isDone: false`; a null cursor dies with `EmptyInitialPageError`.
|
|
608
714
|
*
|
|
609
715
|
* @experimental
|
|
610
716
|
*/
|
|
611
|
-
export type PaginateOptions = ConvexPaginationOptions
|
|
717
|
+
export type PaginateOptions<R = never> = ConvexPaginationOptions & {
|
|
718
|
+
readonly cursorEnvelope?: CursorEnvelope<R>;
|
|
719
|
+
};
|
|
612
720
|
/**
|
|
613
721
|
* One page in Convex's pagination result shape. Return the whole result to
|
|
614
722
|
* reactive clients so they can pin and split pages; use `page` alone for a
|
|
@@ -660,9 +768,9 @@ export type PaginationResult<Doc> = ConvexPaginationResult<Doc>;
|
|
|
660
768
|
* query semantics change, even if an old cursor is still accepted.
|
|
661
769
|
*
|
|
662
770
|
* Cursors expose boundary field names and key values, including document IDs.
|
|
663
|
-
*
|
|
664
|
-
*
|
|
665
|
-
*
|
|
771
|
+
* Without a `cursorEnvelope`, clients can read or craft them. Do not publicly
|
|
772
|
+
* paginate over sensitive indexed fields unless pinned with `eq`. Never
|
|
773
|
+
* construct cursors from documents or decode them into `narrow` bounds.
|
|
666
774
|
*
|
|
667
775
|
* Return the whole result to reactive clients. React's
|
|
668
776
|
* `useStreamPaginatedQuery` handles pinning, splitting, and invalid-cursor
|
|
@@ -672,7 +780,7 @@ export type PaginationResult<Doc> = ConvexPaginationResult<Doc>;
|
|
|
672
780
|
* @experimental
|
|
673
781
|
*/
|
|
674
782
|
export declare const paginate: {
|
|
675
|
-
(options: PaginateOptions): <Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R>(self: QueryStream<Doc, KeyLabels, QueryStreamOrderDirection.QueryStreamOrderDirection, E, R>) => Effect.Effect<PaginationResult<Doc>, E | ReadBudgetExceededError, R>;
|
|
676
|
-
<Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R>(self: QueryStream<Doc, KeyLabels, QueryStreamOrderDirection.QueryStreamOrderDirection, E, R>, options: PaginateOptions): Effect.Effect<PaginationResult<Doc>, E | ReadBudgetExceededError, R>;
|
|
783
|
+
<R2 = never>(options: PaginateOptions<R2>): <Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R>(self: QueryStream<Doc, KeyLabels, QueryStreamOrderDirection.QueryStreamOrderDirection, E, R>) => Effect.Effect<PaginationResult<Doc>, E | ReadBudgetExceededError, R | R2>;
|
|
784
|
+
<Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R, R2 = never>(self: QueryStream<Doc, KeyLabels, QueryStreamOrderDirection.QueryStreamOrderDirection, E, R>, options: PaginateOptions<R2>): Effect.Effect<PaginationResult<Doc>, E | ReadBudgetExceededError, R | R2>;
|
|
677
785
|
};
|
|
678
786
|
//# sourceMappingURL=QueryStream.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryStream.d.ts","sourceRoot":"","sources":["../src/QueryStream.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"QueryStream.d.ts","sourceRoot":"","sources":["../src/QueryStream.ts"],"names":[],"mappings":"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"}
|
package/dist/QueryStream.js
CHANGED
|
@@ -11,17 +11,17 @@ import { admittedByLower, admittedByUpper, forLayout, fromParsed, intersect, int
|
|
|
11
11
|
import { apply, equalityPrefixLength, fromBounds, toBounds as toBounds$1 } from "./QueryStreamIndexRange.js";
|
|
12
12
|
import { EmptyInitialPageError, InvalidPageSizeError, Range, Start, finish, initial, parseRequest, record } from "./QueryStreamPagination.js";
|
|
13
13
|
import { InvalidReadLimitError, Limits, QueryStreamReadBudget, make as make$1 } from "./QueryStreamReadBudget.js";
|
|
14
|
+
import { ConvexError } from "convex/values";
|
|
14
15
|
import * as Effect from "effect/Effect";
|
|
16
|
+
import * as Data from "effect/Data";
|
|
17
|
+
import * as Predicate from "effect/Predicate";
|
|
18
|
+
import * as Array from "effect/Array";
|
|
15
19
|
import * as Schema from "effect/Schema";
|
|
16
20
|
import { dual, identity, pipe } from "effect/Function";
|
|
17
21
|
import * as Match from "effect/Match";
|
|
18
22
|
import * as Option from "effect/Option";
|
|
19
|
-
import { ConvexError } from "convex/values";
|
|
20
|
-
import * as Array from "effect/Array";
|
|
21
23
|
import * as Order from "effect/Order";
|
|
22
|
-
import * as Predicate from "effect/Predicate";
|
|
23
24
|
import * as Result from "effect/Result";
|
|
24
|
-
import * as Data from "effect/Data";
|
|
25
25
|
import * as Stream from "effect/Stream";
|
|
26
26
|
import { pipeArguments } from "effect/Pipeable";
|
|
27
27
|
import * as Chunk from "effect/Chunk";
|
|
@@ -32,6 +32,8 @@ import * as String from "effect/String";
|
|
|
32
32
|
import * as Tuple from "effect/Tuple";
|
|
33
33
|
//#region src/QueryStream.ts
|
|
34
34
|
var QueryStream_exports = /* @__PURE__ */ __exportAll({
|
|
35
|
+
DEFAULT_MAXIMUM_ROWS_READ: () => DEFAULT_MAXIMUM_ROWS_READ,
|
|
36
|
+
DeferredStreamMismatchError: () => DeferredStreamMismatchError,
|
|
35
37
|
Element: () => Element,
|
|
36
38
|
EmptyInitialPageError: () => EmptyInitialPageError,
|
|
37
39
|
IncompatibleStreamsError: () => IncompatibleStreamsError,
|
|
@@ -44,6 +46,8 @@ var QueryStream_exports = /* @__PURE__ */ __exportAll({
|
|
|
44
46
|
QueryStream: () => QueryStream,
|
|
45
47
|
ReadBudgetExceededError: () => ReadBudgetExceededError,
|
|
46
48
|
TypeId: () => TypeId,
|
|
49
|
+
collect: () => collect,
|
|
50
|
+
defer: () => defer,
|
|
47
51
|
distinct: () => distinct,
|
|
48
52
|
empty: () => empty,
|
|
49
53
|
filter: () => filter,
|
|
@@ -61,7 +65,15 @@ var QueryStream_exports = /* @__PURE__ */ __exportAll({
|
|
|
61
65
|
unique: () => unique
|
|
62
66
|
});
|
|
63
67
|
/**
|
|
64
|
-
*
|
|
68
|
+
* Default physical row budget for `paginate` and `collect`. Supply an explicit
|
|
69
|
+
* `maximumRowsRead` to override it. Plain Effect Stream consumers use their
|
|
70
|
+
* enclosing budget and remain unlimited when none is provided.
|
|
71
|
+
*
|
|
72
|
+
* @experimental
|
|
73
|
+
*/
|
|
74
|
+
const DEFAULT_MAXIMUM_ROWS_READ = 2e3;
|
|
75
|
+
/**
|
|
76
|
+
* A query stream exhausted its read budget before its consumer could finish.
|
|
65
77
|
*
|
|
66
78
|
* @experimental
|
|
67
79
|
*/
|
|
@@ -70,7 +82,7 @@ var ReadBudgetExceededError = class extends Schema.TaggedError()("ReadBudgetExce
|
|
|
70
82
|
bytesRead: Schema.Natural
|
|
71
83
|
}) {
|
|
72
84
|
get message() {
|
|
73
|
-
return "The read budget was exhausted before
|
|
85
|
+
return "The read budget was exhausted before the query stream completed; increase the budget or simplify the query";
|
|
74
86
|
}
|
|
75
87
|
};
|
|
76
88
|
/**
|
|
@@ -234,6 +246,40 @@ const empty = () => (keyLayout, orderDirection = "asc") => {
|
|
|
234
246
|
return make(orderDirection);
|
|
235
247
|
};
|
|
236
248
|
/**
|
|
249
|
+
* A deferred stream's resolved direction or layout differs from its
|
|
250
|
+
* declaration. The check runs on consumption, before the resolved source is
|
|
251
|
+
* pulled.
|
|
252
|
+
*
|
|
253
|
+
* @experimental
|
|
254
|
+
*/
|
|
255
|
+
var DeferredStreamMismatchError = class extends Data.TaggedError("DeferredStreamMismatchError") {};
|
|
256
|
+
/**
|
|
257
|
+
* Defer an effect that checks access or constructs a query stream until it is
|
|
258
|
+
* pulled. Supply its layout and direction without reading documents. This lets
|
|
259
|
+
* `flatMap` build and narrow an inner stream before running its checks.
|
|
260
|
+
*
|
|
261
|
+
* The effect runs afresh on each consumption, seek, or reversal. Failures and
|
|
262
|
+
* service requirements are preserved. Its stream must match the declared layout
|
|
263
|
+
* and direction, or consumption dies with `DeferredStreamMismatchError`.
|
|
264
|
+
*
|
|
265
|
+
* @experimental
|
|
266
|
+
*/
|
|
267
|
+
const defer = (options, make) => {
|
|
268
|
+
const checked = Effect.map(make, (stream) => {
|
|
269
|
+
if (stream.orderDirection !== options.orderDirection || !Equivalence(stream.keyLayout, options.keyLayout)) throw new DeferredStreamMismatchError({
|
|
270
|
+
expectedOrderDirection: options.orderDirection,
|
|
271
|
+
actualOrderDirection: stream.orderDirection,
|
|
272
|
+
expectedKeyLayout: options.keyLayout,
|
|
273
|
+
actualKeyLayout: stream.keyLayout
|
|
274
|
+
});
|
|
275
|
+
return stream;
|
|
276
|
+
});
|
|
277
|
+
return new QueryStream(options.orderDirection, options.keyLayout, Stream.unwrap(Effect.map(checked, (stream) => stream.annotated)), void 0, (bounds) => defer(options, Effect.map(checked, (stream) => narrowByParsedBounds(stream, bounds))), () => defer({
|
|
278
|
+
...options,
|
|
279
|
+
orderDirection: flip(options.orderDirection)
|
|
280
|
+
}, Effect.map(checked, reverse)));
|
|
281
|
+
};
|
|
282
|
+
/**
|
|
237
283
|
* Create a reusable query stream from an index-query description. Prefer
|
|
238
284
|
* `reader.table(...).stream(...)` for inferred document and ordering types.
|
|
239
285
|
*
|
|
@@ -297,13 +343,21 @@ const fillMergeSource = (source) => MergeSource.$match(source, {
|
|
|
297
343
|
Exhausted: () => Effect.succeed(source),
|
|
298
344
|
BudgetLimited: () => Effect.succeed(source)
|
|
299
345
|
});
|
|
346
|
+
const consumeMergeHead = (source) => source._tag === "Buffered" ? Option.match(Chunk.head(source.tail), {
|
|
347
|
+
onNone: () => MergeSource.NeedsPull({ pull: source.pull }),
|
|
348
|
+
onSome: (head) => MergeSource.Buffered({
|
|
349
|
+
pull: source.pull,
|
|
350
|
+
head,
|
|
351
|
+
tail: Chunk.drop(source.tail, 1)
|
|
352
|
+
})
|
|
353
|
+
}) : source;
|
|
300
354
|
/**
|
|
301
355
|
* One step of the k-way merge as a pure unfold: fill every source, emit the
|
|
302
356
|
* earliest head (ties go to the earliest source, keeping the merge stable), and
|
|
303
357
|
* return the sources with that head consumed. `undefined` when every source is
|
|
304
358
|
* exhausted or an input stopped before its next key was known.
|
|
305
359
|
*/
|
|
306
|
-
const mergeStep = (keyOrder) => (sources) => Effect.gen(function* () {
|
|
360
|
+
const mergeStep = (keyOrder, dedupe) => (sources) => Effect.gen(function* () {
|
|
307
361
|
const readBudget = yield* QueryStreamReadBudget;
|
|
308
362
|
const filled = yield* Effect.forEach(sources, fillMergeSource, { concurrency: (yield* readBudget.isUnlimited) ? "unbounded" : 1 });
|
|
309
363
|
if (filled.some((source) => MergeSource.$is("BudgetLimited")(source))) return void 0;
|
|
@@ -321,23 +375,35 @@ const mergeStep = (keyOrder) => (sources) => Effect.gen(function* () {
|
|
|
321
375
|
})) : best
|
|
322
376
|
})
|
|
323
377
|
}));
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
378
|
+
if (Option.isNone(earliest)) return void 0;
|
|
379
|
+
if (!dedupe) {
|
|
380
|
+
const { index, element } = earliest.value;
|
|
381
|
+
return Tuple.make(element, Array.map(filled, (source, sourceIndex) => sourceIndex === index ? consumeMergeHead(source) : source));
|
|
382
|
+
}
|
|
383
|
+
const keyValues = earliest.value.element.keyValues;
|
|
384
|
+
const matches = (source) => source._tag === "Buffered" && keyOrder(source.head.keyValues, keyValues) === 0;
|
|
385
|
+
let representative = earliest.value;
|
|
386
|
+
let remaining = filled;
|
|
387
|
+
for (;;) {
|
|
388
|
+
representative = Array.reduce(remaining, representative, (best, source, index) => source._tag === "Buffered" && matches(source) && Option.isSome(source.head.doc) && (Option.isNone(best.element.doc) || index < best.index) ? new MergeCandidate({
|
|
389
|
+
index,
|
|
390
|
+
element: source.head
|
|
391
|
+
}) : best);
|
|
392
|
+
remaining = yield* Effect.forEach(Array.map(remaining, (source) => matches(source) ? consumeMergeHead(source) : source), fillMergeSource, { concurrency: (yield* readBudget.isUnlimited) ? "unbounded" : 1 });
|
|
393
|
+
if (remaining.some((source) => MergeSource.$is("BudgetLimited")(source))) return void 0;
|
|
394
|
+
if (!remaining.some(matches)) return Tuple.make(representative.element, remaining);
|
|
395
|
+
}
|
|
332
396
|
});
|
|
333
397
|
/**
|
|
334
398
|
* Combine streams sharing a key layout into one stream in key order. Use this
|
|
335
399
|
* to query several index ranges at once, such as notes by multiple roles.
|
|
336
400
|
*
|
|
337
401
|
* The merge emits the smallest next key when ascending and the largest when
|
|
338
|
-
* descending. Unlike `Stream.merge`, it does not interleave by arrival time.
|
|
339
|
-
*
|
|
340
|
-
*
|
|
402
|
+
* descending. Unlike `Stream.merge`, it does not interleave by arrival time. By
|
|
403
|
+
* default, a document matched twice appears twice. Pass `{ dedupe: true }` to
|
|
404
|
+
* coalesce equal complete keys, including ID tiebreakers. Resolving a group can
|
|
405
|
+
* prefetch the next key from each input; all such reads count against the
|
|
406
|
+
* shared budget. Supply at least one input; use `empty` for an empty list.
|
|
341
407
|
*
|
|
342
408
|
* Inputs need compatible document types and identical key layouts and
|
|
343
409
|
* directions. TypeScript rejects known mismatches; runtime mismatches throw
|
|
@@ -346,7 +412,7 @@ const mergeStep = (keyOrder) => (sources) => Effect.gen(function* () {
|
|
|
346
412
|
*
|
|
347
413
|
* @experimental
|
|
348
414
|
*/
|
|
349
|
-
const merge = (streams) => {
|
|
415
|
+
const merge = (streams, options) => {
|
|
350
416
|
const head = Array.headNonEmpty(streams);
|
|
351
417
|
const incompatible = Array.findFirst(Array.tailNonEmpty(streams), (stream) => stream.orderDirection !== head.orderDirection || !Equivalence(stream.keyLayout, head.keyLayout));
|
|
352
418
|
if (Option.isSome(incompatible)) throw new IncompatibleStreamsError({
|
|
@@ -355,17 +421,17 @@ const merge = (streams) => {
|
|
|
355
421
|
expectedKeyLayout: head.keyLayout,
|
|
356
422
|
actualKeyLayout: incompatible.value.keyLayout
|
|
357
423
|
});
|
|
358
|
-
return mergeUnchecked(streams);
|
|
424
|
+
return mergeUnchecked(streams, options);
|
|
359
425
|
};
|
|
360
426
|
/**
|
|
361
427
|
* `merge` without the compatibility check—for re-merging branches that were
|
|
362
428
|
* validated when the merge was built (narrowing never changes a branch's order
|
|
363
429
|
* or key layout).
|
|
364
430
|
*/
|
|
365
|
-
const mergeUnchecked = (streams) => {
|
|
431
|
+
const mergeUnchecked = (streams, options) => {
|
|
366
432
|
const head = Array.headNonEmpty(streams);
|
|
367
|
-
const annotated = Stream.unwrap(Effect.map(Effect.forEach(streams, (stream) => Stream.toPull(stream.annotated)), (pulls) => Stream.unfold(Array.map(pulls, (pull) => MergeSource.NeedsPull({ pull })), mergeStep(Order$1(head.orderDirection)))));
|
|
368
|
-
return new QueryStream(head.orderDirection, head.keyLayout, annotated, void 0, (parsedBounds) => mergeUnchecked([narrowByParsedBounds(head, parsedBounds), ...Array.map(Array.tailNonEmpty(streams), (stream) => narrowByParsedBounds(stream, parsedBounds))]), () => mergeUnchecked([reverse(head), ...Array.map(Array.tailNonEmpty(streams), (stream) => reverse(stream))]));
|
|
433
|
+
const annotated = Stream.unwrap(Effect.map(Effect.forEach(streams, (stream) => Stream.toPull(stream.annotated)), (pulls) => Stream.unfold(Array.map(pulls, (pull) => MergeSource.NeedsPull({ pull })), mergeStep(Order$1(head.orderDirection), options?.dedupe === true))));
|
|
434
|
+
return new QueryStream(head.orderDirection, head.keyLayout, annotated, void 0, (parsedBounds) => mergeUnchecked([narrowByParsedBounds(head, parsedBounds), ...Array.map(Array.tailNonEmpty(streams), (stream) => narrowByParsedBounds(stream, parsedBounds))], options), () => mergeUnchecked([reverse(head), ...Array.map(Array.tailNonEmpty(streams), (stream) => reverse(stream))], options));
|
|
369
435
|
};
|
|
370
436
|
/**
|
|
371
437
|
* Derive a stream by transforming each present document into `Some` (keep,
|
|
@@ -782,10 +848,10 @@ const narrowByParsedBounds = (self, parsedBounds) => {
|
|
|
782
848
|
* The fallback for streams that don't know how to rebuild themselves.
|
|
783
849
|
*/
|
|
784
850
|
const keyPredicates = (parsedBounds) => {
|
|
785
|
-
const complete$
|
|
851
|
+
const complete$2 = (keyValues) => Result.getOrThrowWith(complete(parsedBounds.keyLayout, keyValues), identity);
|
|
786
852
|
return {
|
|
787
|
-
aboveLower: (keyValues) => Result.getOrThrowWith(admittedByLower(parsedBounds)(complete$
|
|
788
|
-
belowUpper: (keyValues) => Result.getOrThrowWith(admittedByUpper(parsedBounds)(complete$
|
|
853
|
+
aboveLower: (keyValues) => Result.getOrThrowWith(admittedByLower(parsedBounds)(complete$2(keyValues)), identity),
|
|
854
|
+
belowUpper: (keyValues) => Result.getOrThrowWith(admittedByUpper(parsedBounds)(complete$2(keyValues)), identity)
|
|
789
855
|
};
|
|
790
856
|
};
|
|
791
857
|
const narrowInMemory = (self, parsedBounds) => {
|
|
@@ -795,6 +861,30 @@ const narrowInMemory = (self, parsedBounds) => {
|
|
|
795
861
|
return new QueryStream(self.orderDirection, self.keyLayout, pipe(self.annotated, dropOutOfRange, takeInRange), void 0, void 0, self.reverseWith === void 0 ? void 0 : () => narrowInMemory(reverse(self), parsedBounds));
|
|
796
862
|
};
|
|
797
863
|
/**
|
|
864
|
+
* Collect the whole query stream or fail with `ReadBudgetExceededError` when a
|
|
865
|
+
* read budget stops it. No partial array reaches the caller. Arbitrary I/O in
|
|
866
|
+
* callbacks is not counted. Use `paginate` for data that can grow without
|
|
867
|
+
* bound.
|
|
868
|
+
*
|
|
869
|
+
* With explicit options, each run gets a fresh budget. Without options, use the
|
|
870
|
+
* enclosing budget if present, or the default row budget.
|
|
871
|
+
*
|
|
872
|
+
* @experimental
|
|
873
|
+
*/
|
|
874
|
+
const collect = dual((args) => isQueryStream(args[0]), Effect.fn("QueryStream.collect")(function* (self, options) {
|
|
875
|
+
const makeBudget = Schema.decodeEffect(Limits)({
|
|
876
|
+
maximumRowsRead: DEFAULT_MAXIMUM_ROWS_READ,
|
|
877
|
+
...options
|
|
878
|
+
}).pipe(Effect.catchTag("SchemaError", (cause) => Effect.die(new InvalidReadLimitError({ cause }))), Effect.flatMap(make$1));
|
|
879
|
+
const budget = yield* options === void 0 ? Effect.serviceOption(QueryStreamReadBudget).pipe(Effect.flatMap(Option.match({
|
|
880
|
+
onNone: () => makeBudget,
|
|
881
|
+
onSome: Effect.succeed
|
|
882
|
+
}))) : makeBudget;
|
|
883
|
+
const rows = yield* Stream.runCollect(self.toStream()).pipe(Effect.provideService(QueryStreamReadBudget, budget));
|
|
884
|
+
if (yield* budget.isStopped) return yield* new ReadBudgetExceededError(yield* budget.getReadCounts);
|
|
885
|
+
return rows;
|
|
886
|
+
}));
|
|
887
|
+
/**
|
|
798
888
|
* `unique` found at least two emitted values. Narrow the query if at most one
|
|
799
889
|
* value was expected, or use another consumer to handle multiple results.
|
|
800
890
|
*
|
|
@@ -846,9 +936,9 @@ const unique = Effect.fn("QueryStream.unique")((self) => self.pipe(Stream.take(2
|
|
|
846
936
|
* query semantics change, even if an old cursor is still accepted.
|
|
847
937
|
*
|
|
848
938
|
* Cursors expose boundary field names and key values, including document IDs.
|
|
849
|
-
*
|
|
850
|
-
*
|
|
851
|
-
*
|
|
939
|
+
* Without a `cursorEnvelope`, clients can read or craft them. Do not publicly
|
|
940
|
+
* paginate over sensitive indexed fields unless pinned with `eq`. Never
|
|
941
|
+
* construct cursors from documents or decode them into `narrow` bounds.
|
|
852
942
|
*
|
|
853
943
|
* Return the whole result to reactive clients. React's
|
|
854
944
|
* `useStreamPaginatedQuery` handles pinning, splitting, and invalid-cursor
|
|
@@ -858,19 +948,28 @@ const unique = Effect.fn("QueryStream.unique")((self) => self.pipe(Stream.take(2
|
|
|
858
948
|
* @experimental
|
|
859
949
|
*/
|
|
860
950
|
const paginate = dual(2, Effect.fn("QueryStream.paginate")(function* (self, options) {
|
|
951
|
+
const seal = (cursor) => options.cursorEnvelope === void 0 ? Effect.succeed(cursor) : options.cursorEnvelope.seal(cursor);
|
|
952
|
+
const open = (cursor) => options.cursorEnvelope === void 0 ? Effect.succeed(cursor) : options.cursorEnvelope.open(cursor).pipe(Effect.flatMap(Option.match({
|
|
953
|
+
onNone: () => Effect.die(new ConvexError({ paginationError: "InvalidCursor" })),
|
|
954
|
+
onSome: Effect.succeed
|
|
955
|
+
})));
|
|
956
|
+
const opened = yield* Effect.all({
|
|
957
|
+
start: options.cursor === null ? Effect.succeed(null) : open(options.cursor),
|
|
958
|
+
end: options.endCursor == null ? Effect.succeed(null) : open(options.endCursor)
|
|
959
|
+
});
|
|
861
960
|
const cursorSchema = fromKeyLayout(self.keyLayout);
|
|
862
961
|
const encodeCursor = Schema.encodeEffect(cursorSchema);
|
|
863
962
|
const decodeCursor = Schema.decodeEffect(cursorSchema);
|
|
864
|
-
const complete$
|
|
963
|
+
const complete$1 = (keyValues) => Result.getOrThrowWith(complete(self.keyLayout, keyValues), identity);
|
|
865
964
|
const decoded = yield* Effect.all({
|
|
866
|
-
start: Option.match(Option.fromNullOr(
|
|
965
|
+
start: Option.match(Option.fromNullOr(opened.start), {
|
|
867
966
|
onNone: () => Effect.succeed(Start.Beginning()),
|
|
868
967
|
onSome: (cursor) => Effect.map(decodeCursor(cursor), (key) => Start.After({
|
|
869
968
|
cursor,
|
|
870
969
|
key
|
|
871
970
|
}))
|
|
872
971
|
}),
|
|
873
|
-
range: Option.match(Option.fromNullishOr(
|
|
972
|
+
range: Option.match(Option.fromNullishOr(opened.end), {
|
|
874
973
|
onNone: () => Effect.succeed(Range.Unpinned()),
|
|
875
974
|
onSome: (cursor) => cursor === "[]" ? Effect.succeed(Range.ThroughEnd()) : Effect.map(decodeCursor(cursor), (key) => Range.ThroughKey({ key }))
|
|
876
975
|
})
|
|
@@ -882,7 +981,7 @@ const paginate = dual(2, Effect.fn("QueryStream.paginate")(function* (self, opti
|
|
|
882
981
|
if (request._tag === "Unchanged") return {
|
|
883
982
|
page: [],
|
|
884
983
|
isDone: false,
|
|
885
|
-
continueCursor: request.cursor
|
|
984
|
+
continueCursor: yield* seal(request.cursor)
|
|
886
985
|
};
|
|
887
986
|
const start = Option.map(request.after, (key) => ({
|
|
888
987
|
key: toPrefix(key),
|
|
@@ -904,14 +1003,14 @@ const paginate = dual(2, Effect.fn("QueryStream.paginate")(function* (self, opti
|
|
|
904
1003
|
upper: start
|
|
905
1004
|
}), identity));
|
|
906
1005
|
const readBudget = yield* QueryStreamReadBudget;
|
|
907
|
-
const collected = yield* Stream.run(narrowed.annotated, Sink.fold(() => initial(), (state) => state._tag === "Reading", (state, { doc, keyValues }) => Effect.map(readBudget.
|
|
1006
|
+
const collected = yield* Stream.run(narrowed.annotated, Sink.fold(() => initial(), (state) => state._tag === "Reading", (state, { doc, keyValues }) => Effect.map(readBudget.isStopped, (hitLimit) => record(request, state, doc, complete$1(keyValues), hitLimit))));
|
|
908
1007
|
const stopped = yield* readBudget.isStopped;
|
|
909
1008
|
const outcome = finish(request, collected, stopped);
|
|
910
1009
|
if (Result.isFailure(outcome)) return yield* new ReadBudgetExceededError(yield* readBudget.getReadCounts);
|
|
911
|
-
const encode = (key) => encodeCursor(key).pipe(Effect.catchTag("SchemaError", Effect.die));
|
|
1010
|
+
const encode = (key) => encodeCursor(key).pipe(Effect.catchTag("SchemaError", Effect.die), Effect.flatMap(seal));
|
|
912
1011
|
const encodeSplit = (result) => Effect.gen(function* () {
|
|
913
1012
|
const continueCursor = yield* Match.value(result.continuation).pipe(Match.tagsExhaustive({
|
|
914
|
-
End: () =>
|
|
1013
|
+
End: () => seal("[]"),
|
|
915
1014
|
Key: ({ key }) => encode(key)
|
|
916
1015
|
}));
|
|
917
1016
|
return {
|
|
@@ -923,11 +1022,11 @@ const paginate = dual(2, Effect.fn("QueryStream.paginate")(function* (self, opti
|
|
|
923
1022
|
};
|
|
924
1023
|
});
|
|
925
1024
|
return yield* Match.value(outcome.success).pipe(Match.tagsExhaustive({
|
|
926
|
-
Done: ({ page }) => Effect.
|
|
1025
|
+
Done: ({ page }) => Effect.map(seal("[]"), (continueCursor) => ({
|
|
927
1026
|
page: Array.fromIterable(page),
|
|
928
1027
|
isDone: true,
|
|
929
|
-
continueCursor
|
|
930
|
-
}),
|
|
1028
|
+
continueCursor
|
|
1029
|
+
})),
|
|
931
1030
|
Continue: ({ page, key }) => Effect.map(encode(key), (continueCursor) => ({
|
|
932
1031
|
page: Array.fromIterable(page),
|
|
933
1032
|
isDone: false,
|
|
@@ -936,8 +1035,11 @@ const paginate = dual(2, Effect.fn("QueryStream.paginate")(function* (self, opti
|
|
|
936
1035
|
SplitRequired: encodeSplit,
|
|
937
1036
|
SplitRecommended: encodeSplit
|
|
938
1037
|
}));
|
|
939
|
-
}, (effect, _self, options) => Effect.provideServiceEffect(effect, QueryStreamReadBudget, Schema.decodeEffect(Limits)(
|
|
1038
|
+
}, (effect, _self, options) => Effect.provideServiceEffect(effect, QueryStreamReadBudget, Schema.decodeEffect(Limits)({
|
|
1039
|
+
maximumRowsRead: DEFAULT_MAXIMUM_ROWS_READ,
|
|
1040
|
+
...options
|
|
1041
|
+
}).pipe(Effect.catchTag("SchemaError", (cause) => Effect.die(new InvalidReadLimitError({ cause }))), Effect.flatMap(make$1)))));
|
|
940
1042
|
//#endregion
|
|
941
|
-
export { Element, EmptyInitialPageError, IncompatibleStreamsError, InnerStreamLayoutMismatchError, InnerStreamOrderMismatchError, InvalidPageSizeError, InvalidReadLimitError, MissingReversalRecipeError, NotUniqueError, QueryStream, QueryStream_exports, ReadBudgetExceededError, TypeId, distinct, empty, filter, filterEffect, flatMap, fromReflection, isQueryStream, map, mapEffect, merge, narrow, paginate, renameKey, reverse, unique };
|
|
1043
|
+
export { DEFAULT_MAXIMUM_ROWS_READ, DeferredStreamMismatchError, Element, EmptyInitialPageError, IncompatibleStreamsError, InnerStreamLayoutMismatchError, InnerStreamOrderMismatchError, InvalidPageSizeError, InvalidReadLimitError, MissingReversalRecipeError, NotUniqueError, QueryStream, QueryStream_exports, ReadBudgetExceededError, TypeId, collect, defer, distinct, empty, filter, filterEffect, flatMap, fromReflection, isQueryStream, map, mapEffect, merge, narrow, paginate, renameKey, reverse, unique };
|
|
942
1044
|
|
|
943
1045
|
//# sourceMappingURL=QueryStream.js.map
|