@almadar/core 10.95.0 → 10.97.0
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/dist/{index-CN16-h3i.d.ts → index-H0bOi9oP.d.ts} +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mock/index.d.ts +16 -1
- package/dist/mock/index.js +4 -4
- package/dist/mock/index.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +1 -1
package/dist/mock/index.d.ts
CHANGED
|
@@ -262,8 +262,23 @@ declare function sampleImageUrl(entityName: string, fieldName: string, ctx: Samp
|
|
|
262
262
|
* Is `field.default` a value the synthesizer must return verbatim?
|
|
263
263
|
*
|
|
264
264
|
* Exported so codegen and tests share the one predicate rather than restating it.
|
|
265
|
+
*
|
|
266
|
+
* `isRuntime` defaults to `false` (the persistent/multi-row behavior) —
|
|
267
|
+
* a `[runtime]` singleton's seeded row must equal its declared-defaults
|
|
268
|
+
* projection outright (gate 1: persistence must agree with the default
|
|
269
|
+
* layer in the `@entity` merge, or the machine boots into the wrong
|
|
270
|
+
* state), so ANY declared default is honored there, unconditionally.
|
|
271
|
+
* For a persistent, multi-row entity a number/boolean default is a
|
|
272
|
+
* NEW-RECORD default, not a claim about every existing row — same
|
|
273
|
+
* reasoning already applied below to a string default on a closed
|
|
274
|
+
* vocabulary (the row cycle wins over it). Honoring it verbatim made
|
|
275
|
+
* every mock-seeded counter/amount field (`hours = 0`, `debit = 0`, a
|
|
276
|
+
* runtime-only concern accidentally applied to every row of a real
|
|
277
|
+
* collection) read as literally, uniformly zero across the whole
|
|
278
|
+
* collection — confirmed 2026-09-17 across `LedgerEntry.debit/credit`,
|
|
279
|
+
* `ExecTimeEntry.hours/costRate`, `ExecCost.amount`.
|
|
265
280
|
*/
|
|
266
|
-
declare function isDeclaredDefaultHonored(field: EntityField): boolean;
|
|
281
|
+
declare function isDeclaredDefaultHonored(field: EntityField, isRuntime?: boolean): boolean;
|
|
267
282
|
/** Rows to synthesize. A `[runtime]` entity is a per-orbital singleton. */
|
|
268
283
|
declare function sampleRowCount(entity: SampleEntity, requested: number): number;
|
|
269
284
|
/**
|
package/dist/mock/index.js
CHANGED
|
@@ -924,10 +924,11 @@ function declaredValues(field) {
|
|
|
924
924
|
const values = "values" in field ? field.values : void 0;
|
|
925
925
|
return values && values.length > 0 ? values : void 0;
|
|
926
926
|
}
|
|
927
|
-
function isDeclaredDefaultHonored(field) {
|
|
927
|
+
function isDeclaredDefaultHonored(field, isRuntime = false) {
|
|
928
928
|
const value = field.default;
|
|
929
929
|
if (value === void 0 || value === null) return false;
|
|
930
|
-
if (
|
|
930
|
+
if (isRuntime) return true;
|
|
931
|
+
if (typeof value === "number" || typeof value === "boolean") return false;
|
|
931
932
|
if (Array.isArray(value)) return true;
|
|
932
933
|
if (typeof value === "object") return true;
|
|
933
934
|
if (typeof value !== "string") return false;
|
|
@@ -1008,8 +1009,7 @@ function sampleFieldValue(field, ctx) {
|
|
|
1008
1009
|
const honoredDefault = field.default !== void 0 && isFieldValue(field.default) ? field.default : void 0;
|
|
1009
1010
|
if (field.intrinsic === true) return honoredDefault;
|
|
1010
1011
|
const isRuntime = ctx.persistence === "runtime";
|
|
1011
|
-
if (isRuntime && honoredDefault !== void 0)
|
|
1012
|
-
if (!isRuntime && isDeclaredDefaultHonored(field) && honoredDefault !== void 0) {
|
|
1012
|
+
if (isDeclaredDefaultHonored(field, isRuntime) && honoredDefault !== void 0) {
|
|
1013
1013
|
return honoredDefault;
|
|
1014
1014
|
}
|
|
1015
1015
|
if (!field.required && field.default === void 0 && field.type !== "relation" && omitsUndefaultedOptionalFields(ctx)) {
|