@atscript/db 0.1.128 → 0.1.129

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 (35) hide show
  1. package/dist/{db-error-DXwEzmYJ.cjs → db-error-C4JuLcvb.cjs} +27 -0
  2. package/dist/{db-error-BHPXOKzc.mjs → db-error-COrO58t5.mjs} +22 -1
  3. package/dist/{db-readable-CkbZn_z-.d.cts → db-readable-B7eYWS5q.d.cts} +10 -1
  4. package/dist/{db-readable-BTl4NzNN.d.mts → db-readable-Bn1bV_eC.d.mts} +10 -1
  5. package/dist/{db-space-BEB5Jl8M.d.mts → db-space-C2UCnGHd.d.cts} +28 -2
  6. package/dist/{db-space-BevOyVrC.d.cts → db-space-DdIPYD0Q.d.mts} +28 -2
  7. package/dist/{db-view-C8-MsjND.cjs → db-view-CRBgkEp0.cjs} +91 -4
  8. package/dist/{db-view-Ck0I-PMI.mjs → db-view-Dl0aDTiT.mjs} +91 -4
  9. package/dist/index.cjs +4 -3
  10. package/dist/index.d.cts +4 -4
  11. package/dist/index.d.mts +4 -4
  12. package/dist/index.mjs +4 -4
  13. package/dist/{nested-writer-DI-HeTky.mjs → nested-writer-CkDo-ZfH.mjs} +1 -1
  14. package/dist/{nested-writer-DoDhl3X3.cjs → nested-writer-DxPhmWFz.cjs} +1 -1
  15. package/dist/ops.cjs +1 -1
  16. package/dist/ops.mjs +1 -1
  17. package/dist/rel.cjs +2 -2
  18. package/dist/rel.d.cts +1 -1
  19. package/dist/rel.d.mts +1 -1
  20. package/dist/rel.mjs +2 -2
  21. package/dist/{relation-loader-BnUgJsUG.cjs → relation-loader-C8GOpNYJ.cjs} +1 -1
  22. package/dist/{relation-loader-BmeOMj0b.mjs → relation-loader-CUGcxJ18.mjs} +1 -1
  23. package/dist/sync.cjs +280 -143
  24. package/dist/sync.d.cts +24 -6
  25. package/dist/sync.d.mts +24 -6
  26. package/dist/sync.mjs +280 -143
  27. package/dist/{validator-eKYWf3xf.mjs → validator-CeD_fqyW.mjs} +1 -1
  28. package/dist/{validator-BNUHCXIE.cjs → validator-lkCJKuoo.cjs} +1 -1
  29. package/dist/{validator-DuAmWc8L.d.cts → validator-wBARmD68.d.cts} +21 -2
  30. package/dist/{validator-DuAmWc8L.d.mts → validator-wBARmD68.d.mts} +21 -2
  31. package/dist/validator.cjs +2 -2
  32. package/dist/validator.d.cts +1 -1
  33. package/dist/validator.d.mts +1 -1
  34. package/dist/validator.mjs +2 -2
  35. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { TAtscriptAnnotatedType, TAtscriptTypeArray, TAtscriptTypeObject, TValidatorPlugin, Validator } from "@atscript/typescript/utils";
2
2
 
3
3
  //#region src/db-error.d.ts
4
- type DbErrorCode = "CONFLICT" | "FK_VIOLATION" | "NOT_FOUND" | "CASCADE_CYCLE" | "INVALID_QUERY" | "DEPTH_EXCEEDED" | "VERSION_COLUMN_WRITE" | "CAS_EXHAUSTED" | "ENC_CONFIG_MISSING" | "ENC_KEY_INVALID" | "ENC_NOT_ENCRYPTED" | "ENC_DECRYPT_FAILED" | "ENC_FIELD_FILTER" | "ENC_FIELD_SORT" | "ENC_FIELD_AGG" | "ENC_FIELD_PATCH_OP" | "GEO_INDEX_MISSING" | "GEO_NOT_SUPPORTED" | "FILTER_TYPE_MISMATCH" | "TX_WAIT_TIMEOUT";
4
+ type DbErrorCode = "CONFLICT" | "FK_VIOLATION" | "NOT_FOUND" | "CASCADE_CYCLE" | "INVALID_QUERY" | "DEPTH_EXCEEDED" | "VERSION_COLUMN_WRITE" | "CAS_EXHAUSTED" | "CAS_MISMATCH" | "ENC_CONFIG_MISSING" | "ENC_KEY_INVALID" | "ENC_NOT_ENCRYPTED" | "ENC_DECRYPT_FAILED" | "ENC_FIELD_FILTER" | "ENC_FIELD_SORT" | "ENC_FIELD_AGG" | "ENC_FIELD_PATCH_OP" | "GEO_INDEX_MISSING" | "GEO_NOT_SUPPORTED" | "FILTER_TYPE_MISMATCH" | "TX_WAIT_TIMEOUT";
5
5
  declare class DbError extends Error {
6
6
  readonly code: DbErrorCode;
7
7
  readonly errors: Array<{
@@ -26,6 +26,25 @@ declare class CasExhaustedError extends DbError {
26
26
  name: string;
27
27
  constructor(attempts: number, lastSeenVersion: number | undefined);
28
28
  }
29
+ /**
30
+ * Thrown by `AtscriptDbTable.touchMany` (`require: 'all'`, the default) when
31
+ * fewer rows than keys matched their expected version — at least one row is
32
+ * stale or missing. Nothing was written (the pre-count refused before the
33
+ * first statement, or the SQL transaction rolled every bump back). Surfaced
34
+ * as HTTP 409 by moost-db.
35
+ */
36
+ declare class CasMismatchError extends DbError {
37
+ /** Rows whose primary key + version matched. */
38
+ readonly matched: number;
39
+ /** Keys passed to `touchMany`. */
40
+ readonly expected: number;
41
+ name: string;
42
+ constructor(/** Rows whose primary key + version matched. */
43
+
44
+ matched: number, /** Keys passed to `touchMany`. */
45
+
46
+ expected: number);
47
+ }
29
48
  //#endregion
30
49
  //#region src/patch/patch-types.d.ts
31
50
  interface TArrayPatch<A extends readonly unknown[]> {
@@ -122,4 +141,4 @@ interface ValidationContext {
122
141
  */
123
142
  declare function buildValidationContext(type: TAtscriptAnnotatedType<TAtscriptTypeObject>): ValidationContext;
124
143
  //#endregion
125
- export { buildValidationContext as a, isNavRelation as c, TArrayPatch as d, TDbPatch as f, DbErrorCode as g, DbError as h, buildPatchPartial as i, isEmptyObject as l, CasExhaustedError as m, ValidatorMode as n, dbPlugin as o, getKeyProps as p, buildDbValidator as r, forceNavNonOptional as s, ValidationContext as t, isPlainObject as u };
144
+ export { DbErrorCode as _, buildValidationContext as a, isNavRelation as c, TArrayPatch as d, TDbPatch as f, DbError as g, CasMismatchError as h, buildPatchPartial as i, isEmptyObject as l, CasExhaustedError as m, ValidatorMode as n, dbPlugin as o, getKeyProps as p, buildDbValidator as r, forceNavNonOptional as s, ValidationContext as t, isPlainObject as u };
@@ -1,7 +1,7 @@
1
1
  import { TAtscriptAnnotatedType, TAtscriptTypeArray, TAtscriptTypeObject, TValidatorPlugin, Validator } from "@atscript/typescript/utils";
2
2
 
3
3
  //#region src/db-error.d.ts
4
- type DbErrorCode = "CONFLICT" | "FK_VIOLATION" | "NOT_FOUND" | "CASCADE_CYCLE" | "INVALID_QUERY" | "DEPTH_EXCEEDED" | "VERSION_COLUMN_WRITE" | "CAS_EXHAUSTED" | "ENC_CONFIG_MISSING" | "ENC_KEY_INVALID" | "ENC_NOT_ENCRYPTED" | "ENC_DECRYPT_FAILED" | "ENC_FIELD_FILTER" | "ENC_FIELD_SORT" | "ENC_FIELD_AGG" | "ENC_FIELD_PATCH_OP" | "GEO_INDEX_MISSING" | "GEO_NOT_SUPPORTED" | "FILTER_TYPE_MISMATCH" | "TX_WAIT_TIMEOUT";
4
+ type DbErrorCode = "CONFLICT" | "FK_VIOLATION" | "NOT_FOUND" | "CASCADE_CYCLE" | "INVALID_QUERY" | "DEPTH_EXCEEDED" | "VERSION_COLUMN_WRITE" | "CAS_EXHAUSTED" | "CAS_MISMATCH" | "ENC_CONFIG_MISSING" | "ENC_KEY_INVALID" | "ENC_NOT_ENCRYPTED" | "ENC_DECRYPT_FAILED" | "ENC_FIELD_FILTER" | "ENC_FIELD_SORT" | "ENC_FIELD_AGG" | "ENC_FIELD_PATCH_OP" | "GEO_INDEX_MISSING" | "GEO_NOT_SUPPORTED" | "FILTER_TYPE_MISMATCH" | "TX_WAIT_TIMEOUT";
5
5
  declare class DbError extends Error {
6
6
  readonly code: DbErrorCode;
7
7
  readonly errors: Array<{
@@ -26,6 +26,25 @@ declare class CasExhaustedError extends DbError {
26
26
  name: string;
27
27
  constructor(attempts: number, lastSeenVersion: number | undefined);
28
28
  }
29
+ /**
30
+ * Thrown by `AtscriptDbTable.touchMany` (`require: 'all'`, the default) when
31
+ * fewer rows than keys matched their expected version — at least one row is
32
+ * stale or missing. Nothing was written (the pre-count refused before the
33
+ * first statement, or the SQL transaction rolled every bump back). Surfaced
34
+ * as HTTP 409 by moost-db.
35
+ */
36
+ declare class CasMismatchError extends DbError {
37
+ /** Rows whose primary key + version matched. */
38
+ readonly matched: number;
39
+ /** Keys passed to `touchMany`. */
40
+ readonly expected: number;
41
+ name: string;
42
+ constructor(/** Rows whose primary key + version matched. */
43
+
44
+ matched: number, /** Keys passed to `touchMany`. */
45
+
46
+ expected: number);
47
+ }
29
48
  //#endregion
30
49
  //#region src/patch/patch-types.d.ts
31
50
  interface TArrayPatch<A extends readonly unknown[]> {
@@ -122,4 +141,4 @@ interface ValidationContext {
122
141
  */
123
142
  declare function buildValidationContext(type: TAtscriptAnnotatedType<TAtscriptTypeObject>): ValidationContext;
124
143
  //#endregion
125
- export { buildValidationContext as a, isNavRelation as c, TArrayPatch as d, TDbPatch as f, DbErrorCode as g, DbError as h, buildPatchPartial as i, isEmptyObject as l, CasExhaustedError as m, ValidatorMode as n, dbPlugin as o, getKeyProps as p, buildDbValidator as r, forceNavNonOptional as s, ValidationContext as t, isPlainObject as u };
144
+ export { DbErrorCode as _, buildValidationContext as a, isNavRelation as c, TArrayPatch as d, TDbPatch as f, DbError as g, CasMismatchError as h, buildPatchPartial as i, isEmptyObject as l, CasExhaustedError as m, ValidatorMode as n, dbPlugin as o, getKeyProps as p, buildDbValidator as r, forceNavNonOptional as s, ValidationContext as t, isPlainObject as u };
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_db_error = require("./db-error-DXwEzmYJ.cjs");
3
- const require_validator = require("./validator-BNUHCXIE.cjs");
2
+ const require_db_error = require("./db-error-C4JuLcvb.cjs");
3
+ const require_validator = require("./validator-lkCJKuoo.cjs");
4
4
  const require_ops = require("./ops.cjs");
5
5
  exports.$cas = require_ops.$cas;
6
6
  exports.$dec = require_ops.$dec;
@@ -1,4 +1,4 @@
1
1
  import { a as $mul, c as $update, d as TDbFieldOp, g as separateCas, h as reconcileCas, i as $insert, l as $upsert, m as isDbFieldOp, n as $dec, o as $remove, r as $inc, s as $replace, t as $cas, u as TDbCas } from "./ops-AqhV7s9o.cjs";
2
- import { a as buildValidationContext, c as isNavRelation, d as TArrayPatch, f as TDbPatch, h as DbError, i as buildPatchPartial, l as isEmptyObject, n as ValidatorMode, o as dbPlugin, p as getKeyProps, r as buildDbValidator, s as forceNavNonOptional, t as ValidationContext, u as isPlainObject } from "./validator-DuAmWc8L.cjs";
2
+ import { a as buildValidationContext, c as isNavRelation, d as TArrayPatch, f as TDbPatch, g as DbError, i as buildPatchPartial, l as isEmptyObject, n as ValidatorMode, o as dbPlugin, p as getKeyProps, r as buildDbValidator, s as forceNavNonOptional, t as ValidationContext, u as isPlainObject } from "./validator-wBARmD68.cjs";
3
3
  import { n as createDbValidatorPlugin, t as DbValidationContext } from "./db-validator-plugin-BWy60OvG.cjs";
4
4
  export { $cas, $dec, $inc, $insert, $mul, $remove, $replace, $update, $upsert, DbError, type DbValidationContext, type TArrayPatch, type TDbCas, type TDbFieldOp, type TDbPatch, ValidationContext, ValidatorMode, buildDbValidator, buildPatchPartial, buildValidationContext, createDbValidatorPlugin, dbPlugin, forceNavNonOptional, getKeyProps, isDbFieldOp, isEmptyObject, isNavRelation, isPlainObject, reconcileCas, separateCas };
@@ -1,4 +1,4 @@
1
1
  import { a as $mul, c as $update, d as TDbFieldOp, g as separateCas, h as reconcileCas, i as $insert, l as $upsert, m as isDbFieldOp, n as $dec, o as $remove, r as $inc, s as $replace, t as $cas, u as TDbCas } from "./ops-AqhV7s9o.mjs";
2
- import { a as buildValidationContext, c as isNavRelation, d as TArrayPatch, f as TDbPatch, h as DbError, i as buildPatchPartial, l as isEmptyObject, n as ValidatorMode, o as dbPlugin, p as getKeyProps, r as buildDbValidator, s as forceNavNonOptional, t as ValidationContext, u as isPlainObject } from "./validator-DuAmWc8L.mjs";
2
+ import { a as buildValidationContext, c as isNavRelation, d as TArrayPatch, f as TDbPatch, g as DbError, i as buildPatchPartial, l as isEmptyObject, n as ValidatorMode, o as dbPlugin, p as getKeyProps, r as buildDbValidator, s as forceNavNonOptional, t as ValidationContext, u as isPlainObject } from "./validator-wBARmD68.mjs";
3
3
  import { n as createDbValidatorPlugin, t as DbValidationContext } from "./db-validator-plugin-BWy60OvG.mjs";
4
4
  export { $cas, $dec, $inc, $insert, $mul, $remove, $replace, $update, $upsert, DbError, type DbValidationContext, type TArrayPatch, type TDbCas, type TDbFieldOp, type TDbPatch, ValidationContext, ValidatorMode, buildDbValidator, buildPatchPartial, buildValidationContext, createDbValidatorPlugin, dbPlugin, forceNavNonOptional, getKeyProps, isDbFieldOp, isEmptyObject, isNavRelation, isPlainObject, reconcileCas, separateCas };
@@ -1,4 +1,4 @@
1
- import { n as DbError } from "./db-error-BHPXOKzc.mjs";
2
- import { a as forceNavNonOptional, c as getKeyProps, i as dbPlugin, l as isEmptyObject, n as buildPatchPartial, o as isNavRelation, r as buildValidationContext, s as createDbValidatorPlugin, t as buildDbValidator, u as isPlainObject } from "./validator-eKYWf3xf.mjs";
1
+ import { r as DbError } from "./db-error-COrO58t5.mjs";
2
+ import { a as forceNavNonOptional, c as getKeyProps, i as dbPlugin, l as isEmptyObject, n as buildPatchPartial, o as isNavRelation, r as buildValidationContext, s as createDbValidatorPlugin, t as buildDbValidator, u as isPlainObject } from "./validator-CeD_fqyW.mjs";
3
3
  import { $cas, $dec, $inc, $insert, $mul, $remove, $replace, $update, $upsert, isDbFieldOp, reconcileCas, separateCas } from "./ops.mjs";
4
4
  export { $cas, $dec, $inc, $insert, $mul, $remove, $replace, $update, $upsert, DbError, buildDbValidator, buildPatchPartial, buildValidationContext, createDbValidatorPlugin, dbPlugin, forceNavNonOptional, getKeyProps, isDbFieldOp, isEmptyObject, isNavRelation, isPlainObject, reconcileCas, separateCas };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atscript/db",
3
- "version": "0.1.128",
3
+ "version": "0.1.129",
4
4
  "description": "Database adapter utilities for atscript.",
5
5
  "keywords": [
6
6
  "atscript",