dirsql 0.3.81 → 0.3.82

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.
Files changed (2) hide show
  1. package/docs/reference/sdk.md +14 -1
  2. package/package.json +11 -11
@@ -210,6 +210,12 @@ Executes a SQL query and returns rows keyed by column name.
210
210
  | BLOB | `bytes` | `Buffer` | `Value::Blob` |
211
211
  | NULL | `None` | `null` | `Value::Null` |
212
212
 
213
+ An `INTEGER` outside JavaScript's safe integer range (magnitude greater
214
+ than `Number.MAX_SAFE_INTEGER`, 2^53 − 1) cannot be represented as a JS
215
+ `number` without precision loss, so the TypeScript SDK **throws** rather
216
+ than return a rounded value. Python's `int` is unbounded, so it always
217
+ round-trips.
218
+
213
219
  ### `watch`
214
220
 
215
221
  ::: code-group
@@ -351,7 +357,14 @@ An `extract` callback (and the SQLite columns it feeds) accepts:
351
357
  | SQLite column | Python value | TypeScript value | Rust `Value` |
352
358
  |---|---|---|---|
353
359
  | TEXT | `str` | `string` | `Value::Text(String)` |
354
- | INTEGER | `int`, `bool` | `number`, `boolean` | `Value::Integer(i64)` |
360
+ | INTEGER | `int`, `bool` | `number`, `boolean`, `bigint` | `Value::Integer(i64)` |
355
361
  | REAL | `float` | `number` | `Value::Real(f64)` |
356
362
  | BLOB | `bytes` | `Buffer` / `Uint8Array` | `Value::Blob(Vec<u8>)` |
357
363
  | NULL | `None` | `null` | `Value::Null` |
364
+
365
+ Integers are stored as a signed 64-bit `Value::Integer`. A value that does
366
+ not fit that range is a hard error, not a lossy conversion: Python raises
367
+ `OverflowError`, and a TypeScript `bigint` outside the `i64` range throws.
368
+ A TypeScript `bigint` **within** `i64` range maps to `INTEGER`. Only a real
369
+ `bytes`/`bytearray` (Python) or `Buffer`/`Uint8Array` (TypeScript) maps to
370
+ `BLOB` — a list/array of integers does not.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dirsql",
3
- "version": "0.3.81",
3
+ "version": "0.3.82",
4
4
  "description": "Ephemeral SQL index over a local directory",
5
5
  "license": "MIT",
6
6
  "repository": "https://github.com/thekevinscott/dirsql",
@@ -230,15 +230,15 @@
230
230
  ]
231
231
  },
232
232
  "optionalDependencies": {
233
- "@dirsql/lib-linux-x64-gnu": "0.3.81",
234
- "@dirsql/lib-linux-arm64-gnu": "0.3.81",
235
- "@dirsql/lib-darwin-x64": "0.3.81",
236
- "@dirsql/lib-darwin-arm64": "0.3.81",
237
- "@dirsql/lib-win32-x64-msvc": "0.3.81",
238
- "@dirsql/cli-linux-x64-gnu": "0.3.81",
239
- "@dirsql/cli-linux-arm64-gnu": "0.3.81",
240
- "@dirsql/cli-darwin-x64": "0.3.81",
241
- "@dirsql/cli-darwin-arm64": "0.3.81",
242
- "@dirsql/cli-win32-x64-msvc": "0.3.81"
233
+ "@dirsql/lib-linux-x64-gnu": "0.3.82",
234
+ "@dirsql/lib-linux-arm64-gnu": "0.3.82",
235
+ "@dirsql/lib-darwin-x64": "0.3.82",
236
+ "@dirsql/lib-darwin-arm64": "0.3.82",
237
+ "@dirsql/lib-win32-x64-msvc": "0.3.82",
238
+ "@dirsql/cli-linux-x64-gnu": "0.3.82",
239
+ "@dirsql/cli-linux-arm64-gnu": "0.3.82",
240
+ "@dirsql/cli-darwin-x64": "0.3.82",
241
+ "@dirsql/cli-darwin-arm64": "0.3.82",
242
+ "@dirsql/cli-win32-x64-msvc": "0.3.82"
243
243
  }
244
244
  }