@classytic/repo-core 0.4.1 → 0.4.2
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.
|
@@ -4,5 +4,5 @@ import { nestDottedKeys, nestDottedKeysAll } from "./agg-output.mjs";
|
|
|
4
4
|
import { PLUGIN_ORDER_CONSTRAINTS, Plugin, PluginFunction, PluginType, validatePluginOrder } from "./plugin-types.mjs";
|
|
5
5
|
import { RepositoryBase, RepositoryBaseOptions } from "./base.mjs";
|
|
6
6
|
import { STANDARD_REPO_OPTION_KEYS, StandardRepoOptionKey } from "./options.mjs";
|
|
7
|
-
import { AggCacheOptions, AggDateBucket, AggDateBucketInterval, AggDateBucketUnit, AggExecutionHints, AggMeasure, AggPaginationRequest, AggRequest, AggResult, AggRow, AggTopN, AggTopNTies, BulkCreateResult, BulkWriteOperation, BulkWriteResult, ClaimTransition, ClaimVersionTransition, DeleteManyResult, DeleteOptions, DeleteResult, FilterInput, FindOneAndUpdateOptions, InferDoc, KeysetAggPaginationResult, MinimalRepo, PaginationParams, QueryOptions, RepositorySession, StandardRepo, UpdateManyResult, WriteOptions } from "./types.mjs";
|
|
8
|
-
export { type AggCacheOptions, type AggDateBucket, type AggDateBucketInterval, type AggDateBucketUnit, type AggExecutionHints, type AggMeasure, type AggPaginationRequest, type AggRequest, type AggResult, type AggRow, type AggTopN, type AggTopNTies, type BulkCreateResult, type BulkWriteOperation, type BulkWriteResult, type ClaimTransition, type ClaimVersionTransition, type DeleteManyResult, type DeleteOptions, type DeleteResult, type FilterInput, type FindOneAndUpdateOptions, type InferDoc, type KeysetAggPaginationResult, type LookupPopulateOptions, type LookupPopulateResult, type LookupRow, type LookupSpec, type MinimalRepo, PLUGIN_ORDER_CONSTRAINTS, type PaginationParams, type Plugin, type PluginFunction, type PluginType, type QueryOptions, RepositoryBase, type RepositoryBaseOptions, type RepositorySession, STANDARD_REPO_OPTION_KEYS, type StandardRepo, type StandardRepoOptionKey, type UpdateInput, type UpdateManyResult, type WriteOptions, nestDottedKeys, nestDottedKeysAll, validatePluginOrder };
|
|
7
|
+
import { AggCacheOptions, AggDateBucket, AggDateBucketInterval, AggDateBucketUnit, AggExecutionHints, AggMeasure, AggPaginationRequest, AggRequest, AggResult, AggRow, AggTopN, AggTopNTies, BulkCreateResult, BulkWriteOperation, BulkWriteResult, ClaimTransition, ClaimVersionTransition, DeleteManyResult, DeleteOptions, DeleteResult, FilterInput, FindAllOptions, FindOneAndUpdateOptions, InferDoc, KeysetAggPaginationResult, MinimalRepo, PaginationParams, QueryOptions, RepositorySession, StandardRepo, UpdateManyResult, WriteOptions } from "./types.mjs";
|
|
8
|
+
export { type AggCacheOptions, type AggDateBucket, type AggDateBucketInterval, type AggDateBucketUnit, type AggExecutionHints, type AggMeasure, type AggPaginationRequest, type AggRequest, type AggResult, type AggRow, type AggTopN, type AggTopNTies, type BulkCreateResult, type BulkWriteOperation, type BulkWriteResult, type ClaimTransition, type ClaimVersionTransition, type DeleteManyResult, type DeleteOptions, type DeleteResult, type FilterInput, type FindAllOptions, type FindOneAndUpdateOptions, type InferDoc, type KeysetAggPaginationResult, type LookupPopulateOptions, type LookupPopulateResult, type LookupRow, type LookupSpec, type MinimalRepo, PLUGIN_ORDER_CONSTRAINTS, type PaginationParams, type Plugin, type PluginFunction, type PluginType, type QueryOptions, RepositoryBase, type RepositoryBaseOptions, type RepositorySession, STANDARD_REPO_OPTION_KEYS, type StandardRepo, type StandardRepoOptionKey, type UpdateInput, type UpdateManyResult, type WriteOptions, nestDottedKeys, nestDottedKeysAll, validatePluginOrder };
|
|
@@ -59,6 +59,26 @@ interface WriteOptions extends QueryOptions {
|
|
|
59
59
|
/** Upsert on update/replace. */
|
|
60
60
|
upsert?: boolean;
|
|
61
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Options for the optional `findAll` verb.
|
|
64
|
+
*
|
|
65
|
+
* `sort` is intentionally `Record<string, unknown>` (not a structured
|
|
66
|
+
* `SortSpec`) so kits can keep their own driver-shaped sort representation
|
|
67
|
+
* without forcing repo-core to depend on a particular dialect. Mongokit's
|
|
68
|
+
* `findAll` accepts `SortSpec | string`; sqlitekit accepts the same shape
|
|
69
|
+
* cross-walked into ORDER BY. `limit` is the bounded-but-not-paginated
|
|
70
|
+
* cap that callers reach for when `getAll` would force an unwanted count
|
|
71
|
+
* round-trip and `findAll` without a limit would over-fetch.
|
|
72
|
+
*
|
|
73
|
+
* Both fields are optional; absence means "kit default" (typically:
|
|
74
|
+
* `sort` defaults to natural order, `limit` defaults to "no limit").
|
|
75
|
+
*/
|
|
76
|
+
interface FindAllOptions extends QueryOptions {
|
|
77
|
+
/** Sort disambiguating when natural order isn't acceptable. */
|
|
78
|
+
sort?: Record<string, unknown> | string;
|
|
79
|
+
/** Cap the result set at the driver level. When omitted, returns all matching docs. */
|
|
80
|
+
limit?: number;
|
|
81
|
+
}
|
|
62
82
|
/**
|
|
63
83
|
* Delete-operation options.
|
|
64
84
|
*
|
|
@@ -1258,7 +1278,7 @@ interface StandardRepo<TDoc> extends MinimalRepo<TDoc> {
|
|
|
1258
1278
|
_id: unknown;
|
|
1259
1279
|
} | null>;
|
|
1260
1280
|
distinct?<T = unknown>(field: string, filter?: FilterInput, options?: QueryOptions): Promise<T[]>;
|
|
1261
|
-
findAll?(filter?: FilterInput, options?:
|
|
1281
|
+
findAll?(filter?: FilterInput, options?: FindAllOptions): Promise<TDoc[]>;
|
|
1262
1282
|
/**
|
|
1263
1283
|
* Atomic "look up by filter, insert `data` if missing, return the doc."
|
|
1264
1284
|
*
|
|
@@ -1407,4 +1427,4 @@ interface StandardRepo<TDoc> extends MinimalRepo<TDoc> {
|
|
|
1407
1427
|
withTransaction?<T>(fn: (txRepo: StandardRepo<TDoc>) => Promise<T>, options?: Record<string, unknown>): Promise<T>;
|
|
1408
1428
|
}
|
|
1409
1429
|
//#endregion
|
|
1410
|
-
export { AggCacheOptions, AggDateBucket, AggDateBucketInterval, AggDateBucketUnit, AggExecutionHints, AggMeasure, AggPaginationRequest, AggRequest, AggResult, AggRow, AggTopN, AggTopNTies, BulkCreateResult, BulkWriteOperation, BulkWriteResult, ClaimTransition, ClaimVersionTransition, DeleteManyResult, DeleteOptions, DeleteResult, FilterInput, FindOneAndUpdateOptions, InferDoc, KeysetAggPaginationResult, MinimalRepo, PaginationParams, QueryOptions, RepositorySession, StandardRepo, UpdateManyResult, WriteOptions };
|
|
1430
|
+
export { AggCacheOptions, AggDateBucket, AggDateBucketInterval, AggDateBucketUnit, AggExecutionHints, AggMeasure, AggPaginationRequest, AggRequest, AggResult, AggRow, AggTopN, AggTopNTies, BulkCreateResult, BulkWriteOperation, BulkWriteResult, ClaimTransition, ClaimVersionTransition, DeleteManyResult, DeleteOptions, DeleteResult, FilterInput, FindAllOptions, FindOneAndUpdateOptions, InferDoc, KeysetAggPaginationResult, MinimalRepo, PaginationParams, QueryOptions, RepositorySession, StandardRepo, UpdateManyResult, WriteOptions };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@classytic/repo-core",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"description": "Driver-agnostic repository primitives: hooks, Filter IR, operations, pagination, cache contract. Foundation for mongokit, sqlitekit, pgkit, and prismakit. Lean by design — no plugins ship here; each kit owns its own.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|