@quereus/quereus 0.6.9 → 0.6.12
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/README.md +11 -0
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +13 -1
- package/dist/src/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +31 -2
package/README.md
CHANGED
|
@@ -195,6 +195,17 @@ Quereus works in React Native with two considerations:
|
|
|
195
195
|
* [Plugin System](docs/plugins.md): Complete guide to creating and using plugins for virtual tables, functions, and collations.
|
|
196
196
|
* [TODO List](docs/todo.md): Planned features and improvements
|
|
197
197
|
|
|
198
|
+
### Plugin Development
|
|
199
|
+
|
|
200
|
+
Quereus exports all critical utilities needed for plugin and module development:
|
|
201
|
+
|
|
202
|
+
* **Comparison Functions**: `compareSqlValues`, `compareRows`, `compareTypedValues`, `createTypedComparator` — Match Quereus SQL semantics in custom implementations
|
|
203
|
+
* **Coercion Utilities**: `tryCoerceToNumber`, `coerceForComparison`, `coerceForAggregate` — Handle type coercion correctly
|
|
204
|
+
* **Collation Support**: `registerCollation`, `getCollation`, built-in collations (`BINARY_COLLATION`, `NOCASE_COLLATION`, `RTRIM_COLLATION`)
|
|
205
|
+
* **Type System**: Full access to logical types, validation, and parsing utilities
|
|
206
|
+
|
|
207
|
+
See the [Plugin System documentation](docs/plugins.md#comparison-and-coercion-utilities) for complete API reference and examples.
|
|
208
|
+
|
|
198
209
|
## Key Design Decisions
|
|
199
210
|
|
|
200
211
|
* **Federated / VTab-Centric**: All tables are virtual tables.
|
package/dist/src/index.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export { ConflictResolution, IndexConstraintOp, VTabConfig, FunctionFlags } from
|
|
|
12
12
|
export { QuereusError, MisuseError, ConstraintError, unwrapError, formatErrorChain, getPrimaryError } from './common/errors.js';
|
|
13
13
|
export type { ErrorInfo } from './common/errors.js';
|
|
14
14
|
export { VirtualTable } from './vtab/table.js';
|
|
15
|
+
export type { UpdateArgs } from './vtab/table.js';
|
|
15
16
|
export type { VirtualTableConnection } from './vtab/connection.js';
|
|
16
17
|
export { MemoryTableModule } from './vtab/memory/module.js';
|
|
17
18
|
export type { IndexInfo, IndexConstraint, IndexConstraintUsage, IndexOrderBy } from './vtab/index-info.js';
|
|
@@ -21,7 +22,7 @@ export type { BaseModuleConfig, SchemaChangeInfo } from './vtab/module.js';
|
|
|
21
22
|
export type { BestAccessPlanRequest, BestAccessPlanResult, ConstraintOp, ColumnMeta, PredicateConstraint, OrderingSpec } from './vtab/best-access-plan.js';
|
|
22
23
|
export { AccessPlanBuilder, validateAccessPlan } from './vtab/best-access-plan.js';
|
|
23
24
|
export type { CollationFunction } from './util/comparison.js';
|
|
24
|
-
export { BINARY_COLLATION, NOCASE_COLLATION, RTRIM_COLLATION, registerCollation, getCollation, resolveCollation } from './util/comparison.js';
|
|
25
|
+
export { BINARY_COLLATION, NOCASE_COLLATION, RTRIM_COLLATION, registerCollation, getCollation, resolveCollation, compareSqlValues, compareSqlValuesFast, compareRows, compareTypedValues, createTypedComparator, compareWithOrderBy, compareWithOrderByFast, createOrderByComparator, createOrderByComparatorFast, SortDirection, NullsOrdering, evaluateIsTrue, isTruthy, getSqlDataTypeName } from './util/comparison.js';
|
|
25
26
|
export type { LogicalType, CollationFunction as TypeCollationFunction } from './types/logical-type.js';
|
|
26
27
|
export { PhysicalType } from './types/logical-type.js';
|
|
27
28
|
export { NULL_TYPE, INTEGER_TYPE, REAL_TYPE, TEXT_TYPE, BLOB_TYPE, BOOLEAN_TYPE, NUMERIC_TYPE, ANY_TYPE } from './types/builtin-types.js';
|
|
@@ -38,6 +39,7 @@ export type { ColumnSchema } from './schema/column.js';
|
|
|
38
39
|
export { isAsyncIterable, getAsyncIterator, asyncIterableToArray } from './runtime/utils.js';
|
|
39
40
|
export { createScalarFunction, createTableValuedFunction, createAggregateFunction } from './func/registration.js';
|
|
40
41
|
export type { ScalarFunc, TableValuedFunc, AggregateReducer, AggregateFinalizer, FunctionSchema } from './schema/function.js';
|
|
42
|
+
export { tryCoerceToNumber, coerceToNumberForArithmetic, coerceForComparison, coerceForAggregate, isNumericValue } from './util/coercion.js';
|
|
41
43
|
export { Latches } from './util/latches.js';
|
|
42
44
|
export { registerPlugin } from './util/plugin-helper.js';
|
|
43
45
|
export type { PluginFunction } from './util/plugin-helper.js';
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACzG,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChI,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC3G,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAG3E,YAAY,EACX,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGnF,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -16,7 +16,17 @@ export { VirtualTable } from './vtab/table.js';
|
|
|
16
16
|
export { MemoryTableModule } from './vtab/memory/module.js';
|
|
17
17
|
export { IndexScanFlags } from './vtab/index-info.js';
|
|
18
18
|
export { AccessPlanBuilder, validateAccessPlan } from './vtab/best-access-plan.js';
|
|
19
|
-
export {
|
|
19
|
+
export {
|
|
20
|
+
// Collation registration and lookup
|
|
21
|
+
BINARY_COLLATION, NOCASE_COLLATION, RTRIM_COLLATION, registerCollation, getCollation, resolveCollation,
|
|
22
|
+
// Core comparison functions (critical for module implementations)
|
|
23
|
+
compareSqlValues, compareSqlValuesFast, compareRows, compareTypedValues, createTypedComparator,
|
|
24
|
+
// ORDER BY comparison utilities
|
|
25
|
+
compareWithOrderBy, compareWithOrderByFast, createOrderByComparator, createOrderByComparatorFast, SortDirection, NullsOrdering,
|
|
26
|
+
// Truthiness evaluation
|
|
27
|
+
evaluateIsTrue, isTruthy,
|
|
28
|
+
// Type introspection
|
|
29
|
+
getSqlDataTypeName } from './util/comparison.js';
|
|
20
30
|
export { PhysicalType } from './types/logical-type.js';
|
|
21
31
|
export { NULL_TYPE, INTEGER_TYPE, REAL_TYPE, TEXT_TYPE, BLOB_TYPE, BOOLEAN_TYPE, NUMERIC_TYPE, ANY_TYPE } from './types/builtin-types.js';
|
|
22
32
|
export { DATE_TYPE, TIME_TYPE, DATETIME_TYPE, TIMESPAN_TYPE } from './types/temporal-types.js';
|
|
@@ -33,6 +43,8 @@ export { SchemaManager } from './schema/manager.js';
|
|
|
33
43
|
export { isAsyncIterable, getAsyncIterator, asyncIterableToArray } from './runtime/utils.js';
|
|
34
44
|
// Function registration utilities
|
|
35
45
|
export { createScalarFunction, createTableValuedFunction, createAggregateFunction } from './func/registration.js';
|
|
46
|
+
// Coercion utilities (for module implementations)
|
|
47
|
+
export { tryCoerceToNumber, coerceToNumberForArithmetic, coerceForComparison, coerceForAggregate, isNumericValue } from './util/coercion.js';
|
|
36
48
|
// Utility functions
|
|
37
49
|
export { Latches } from './util/latches.js';
|
|
38
50
|
// Plugin helper for static loading (React Native, etc.)
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,8BAA8B;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,kCAAkC;AAClC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACzG,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGhI,oBAAoB;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -18,6 +18,7 @@ export type { ErrorInfo } from './common/errors.js';
|
|
|
18
18
|
|
|
19
19
|
// Virtual Table API
|
|
20
20
|
export { VirtualTable } from './vtab/table.js';
|
|
21
|
+
export type { UpdateArgs } from './vtab/table.js';
|
|
21
22
|
export type { VirtualTableConnection } from './vtab/connection.js';
|
|
22
23
|
export { MemoryTableModule } from './vtab/memory/module.js';
|
|
23
24
|
export type { IndexInfo, IndexConstraint, IndexConstraintUsage, IndexOrderBy } from './vtab/index-info.js';
|
|
@@ -36,15 +37,34 @@ export type {
|
|
|
36
37
|
} from './vtab/best-access-plan.js';
|
|
37
38
|
export { AccessPlanBuilder, validateAccessPlan } from './vtab/best-access-plan.js';
|
|
38
39
|
|
|
39
|
-
// Collation functions
|
|
40
|
+
// Collation and comparison functions
|
|
40
41
|
export type { CollationFunction } from './util/comparison.js';
|
|
41
42
|
export {
|
|
43
|
+
// Collation registration and lookup
|
|
42
44
|
BINARY_COLLATION,
|
|
43
45
|
NOCASE_COLLATION,
|
|
44
46
|
RTRIM_COLLATION,
|
|
45
47
|
registerCollation,
|
|
46
48
|
getCollation,
|
|
47
|
-
resolveCollation
|
|
49
|
+
resolveCollation,
|
|
50
|
+
// Core comparison functions (critical for module implementations)
|
|
51
|
+
compareSqlValues,
|
|
52
|
+
compareSqlValuesFast,
|
|
53
|
+
compareRows,
|
|
54
|
+
compareTypedValues,
|
|
55
|
+
createTypedComparator,
|
|
56
|
+
// ORDER BY comparison utilities
|
|
57
|
+
compareWithOrderBy,
|
|
58
|
+
compareWithOrderByFast,
|
|
59
|
+
createOrderByComparator,
|
|
60
|
+
createOrderByComparatorFast,
|
|
61
|
+
SortDirection,
|
|
62
|
+
NullsOrdering,
|
|
63
|
+
// Truthiness evaluation
|
|
64
|
+
evaluateIsTrue,
|
|
65
|
+
isTruthy,
|
|
66
|
+
// Type introspection
|
|
67
|
+
getSqlDataTypeName
|
|
48
68
|
} from './util/comparison.js';
|
|
49
69
|
|
|
50
70
|
// Type system
|
|
@@ -110,6 +130,15 @@ export type {
|
|
|
110
130
|
FunctionSchema
|
|
111
131
|
} from './schema/function.js';
|
|
112
132
|
|
|
133
|
+
// Coercion utilities (for module implementations)
|
|
134
|
+
export {
|
|
135
|
+
tryCoerceToNumber,
|
|
136
|
+
coerceToNumberForArithmetic,
|
|
137
|
+
coerceForComparison,
|
|
138
|
+
coerceForAggregate,
|
|
139
|
+
isNumericValue
|
|
140
|
+
} from './util/coercion.js';
|
|
141
|
+
|
|
113
142
|
// Utility functions
|
|
114
143
|
export { Latches } from './util/latches.js';
|
|
115
144
|
|