@orkestrel/database 0.0.4 → 0.0.5

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.
@@ -1313,15 +1313,20 @@ export declare interface ReadOptions {
1313
1313
  export declare type Row = Record<string, unknown>;
1314
1314
 
1315
1315
  /**
1316
- * The row type a table's {@link Columns} describe — `Infer` of its `objectShape`.
1316
+ * The row type a table's {@link Columns} describe — `Infer` of the `objectShape`
1317
+ * the database wraps them in.
1317
1318
  *
1318
1319
  * @remarks
1319
- * The broad `Columns` (an open `column → shape` map, e.g. when a database is held
1320
- * at its default type) short-circuits to {@link Row}: there is nothing concrete to
1321
- * infer, and expanding `Infer` over the open shape would trip TS's
1322
- * instantiation-depth guard. Concrete column maps infer their exact row.
1320
+ * Contract 0.0.4's non-distributive `Infer` resolves the OPEN case (the broad
1321
+ * `Columns` e.g. when a database is held at its default type) directly:
1322
+ * `RowOf<Columns>` and {@link Row} are mutually assignable, so no short-circuit
1323
+ * to `Row` and no `additionalProperties: false` pin are needed — `Infer` no
1324
+ * longer trips TS's instantiation-depth guard over the open shape, and the
1325
+ * inferred row matches the CLOSED object `objectShape(columns)` builds at
1326
+ * runtime (its additional-properties parameter defaults to `false`) for every
1327
+ * concrete column map.
1323
1328
  */
1324
- export declare type RowOf<C extends Columns> = [Columns] extends [C] ? Row : Infer<{
1329
+ export declare type RowOf<C extends Columns> = Infer<{
1325
1330
  readonly type: 'object';
1326
1331
  readonly properties: C;
1327
1332
  }>;
@@ -1313,15 +1313,20 @@ export declare interface ReadOptions {
1313
1313
  export declare type Row = Record<string, unknown>;
1314
1314
 
1315
1315
  /**
1316
- * The row type a table's {@link Columns} describe — `Infer` of its `objectShape`.
1316
+ * The row type a table's {@link Columns} describe — `Infer` of the `objectShape`
1317
+ * the database wraps them in.
1317
1318
  *
1318
1319
  * @remarks
1319
- * The broad `Columns` (an open `column → shape` map, e.g. when a database is held
1320
- * at its default type) short-circuits to {@link Row}: there is nothing concrete to
1321
- * infer, and expanding `Infer` over the open shape would trip TS's
1322
- * instantiation-depth guard. Concrete column maps infer their exact row.
1320
+ * Contract 0.0.4's non-distributive `Infer` resolves the OPEN case (the broad
1321
+ * `Columns` e.g. when a database is held at its default type) directly:
1322
+ * `RowOf<Columns>` and {@link Row} are mutually assignable, so no short-circuit
1323
+ * to `Row` and no `additionalProperties: false` pin are needed — `Infer` no
1324
+ * longer trips TS's instantiation-depth guard over the open shape, and the
1325
+ * inferred row matches the CLOSED object `objectShape(columns)` builds at
1326
+ * runtime (its additional-properties parameter defaults to `false`) for every
1327
+ * concrete column map.
1323
1328
  */
1324
- export declare type RowOf<C extends Columns> = [Columns] extends [C] ? Row : Infer<{
1329
+ export declare type RowOf<C extends Columns> = Infer<{
1325
1330
  readonly type: 'object';
1326
1331
  readonly properties: C;
1327
1332
  }>;