@barefootjs/go-template 0.31.10 → 0.32.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/adapter/emit-context.d.ts +16 -0
- package/dist/adapter/emit-context.d.ts.map +1 -1
- package/dist/adapter/go-template-adapter.d.ts +74 -0
- package/dist/adapter/go-template-adapter.d.ts.map +1 -1
- package/dist/adapter/index.js +100 -4
- package/dist/adapter/lib/types.d.ts +13 -0
- package/dist/adapter/lib/types.d.ts.map +1 -1
- package/dist/adapter/props/prop-types.d.ts.map +1 -1
- package/dist/index.js +101 -8
- package/dist/render-divergences.d.ts.map +1 -1
- package/dist/vite.js +100 -4
- package/package.json +5 -5
- package/src/__tests__/go-template-adapter.test.ts +246 -6
- package/src/adapter/emit-context.ts +14 -0
- package/src/adapter/go-template-adapter.ts +254 -2
- package/src/adapter/lib/types.ts +10 -0
- package/src/adapter/props/prop-types.ts +26 -1
- package/src/render-divergences.ts +1 -25
|
@@ -49,6 +49,22 @@ export interface GoEmitContext {
|
|
|
49
49
|
propName: string;
|
|
50
50
|
goFallback: string;
|
|
51
51
|
} | null;
|
|
52
|
+
/**
|
|
53
|
+
* #2683: match the collision-derivation shape `(props.X ?? <lit>) <op>
|
|
54
|
+
* <int>` against an already-resolved `ParsedExpr` — the ONE non-idempotent
|
|
55
|
+
* form this adapter faithfully lowers when a signal's Go field name
|
|
56
|
+
* collides with its own prop's field. Composes
|
|
57
|
+
* {@link extractPropFallback}'s structural presence-check recognition
|
|
58
|
+
* (applied to the embedded `??` subtree) with the same non-negative-
|
|
59
|
+
* integer arithmetic wrap the memo-computation emitter already supports
|
|
60
|
+
* for a bare `props.X <op> N`. Returns null for any other shape.
|
|
61
|
+
*/
|
|
62
|
+
extractCollisionDerivation(parsed: ParsedExpr | undefined): {
|
|
63
|
+
propName: string;
|
|
64
|
+
goFallback: string;
|
|
65
|
+
operator: string;
|
|
66
|
+
operand: string;
|
|
67
|
+
} | null;
|
|
52
68
|
/**
|
|
53
69
|
* Inline a module string const by name as a Go double-quoted literal
|
|
54
70
|
* (`"<escaped>"`), or null when the name is not such a const (loop vars and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-context.d.ts","sourceRoot":"","sources":["../../src/adapter/emit-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;IAE5B;;;OAGG;IACH,qBAAqB,CACnB,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,UAAU,CAAA;KAAE,EAC7B,SAAS,CAAC,EAAE,UAAU,GACrB,MAAM,CAAA;IAET;;;OAGG;IACH,oBAAoB,CAClB,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,UAAU,GACrB;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IAE1C;;;;OAIG;IACH,+BAA+B,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAA;IAE5F;;;;;OAKG;IACH,mBAAmB,CACjB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,UAAU,GACrB;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAElD;;;;OAIG;IACH,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CACtD"}
|
|
1
|
+
{"version":3,"file":"emit-context.d.ts","sourceRoot":"","sources":["../../src/adapter/emit-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;IAE5B;;;OAGG;IACH,qBAAqB,CACnB,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,UAAU,CAAA;KAAE,EAC7B,SAAS,CAAC,EAAE,UAAU,GACrB,MAAM,CAAA;IAET;;;OAGG;IACH,oBAAoB,CAClB,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,UAAU,GACrB;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IAE1C;;;;OAIG;IACH,+BAA+B,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAA;IAE5F;;;;;OAKG;IACH,mBAAmB,CACjB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,UAAU,GACrB;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAElD;;;;;;;;;OASG;IACH,0BAA0B,CACxB,MAAM,EAAE,UAAU,GAAG,SAAS,GAC7B;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAErF;;;;OAIG;IACH,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CACtD"}
|
|
@@ -545,6 +545,62 @@ export declare class GoTemplateAdapter extends BaseAdapter implements ParsedExpr
|
|
|
545
545
|
private collectBodyChildInstances;
|
|
546
546
|
/** Generate the NewXxxProps function. */
|
|
547
547
|
private generateNewPropsFunction;
|
|
548
|
+
/**
|
|
549
|
+
* Build the `bfCallerProps` local (assigned to `BfCallerProps` in the
|
|
550
|
+
* returned struct) — the hydration-only, caller-supplied-keys-only view
|
|
551
|
+
* of this component's props (#2684). See the field's doc comment
|
|
552
|
+
* (`emitPropsStructHeader`) for the two-consumers rationale.
|
|
553
|
+
*
|
|
554
|
+
* Three classes, mirroring the issue's taxonomy — gated on `param.optional`
|
|
555
|
+
* (NOT on the resolved Go type's nillability alone, even though that reads
|
|
556
|
+
* as the more "obvious" test): a REQUIRED prop must stay unconditional
|
|
557
|
+
* even when its resolved type happens to be nillable (`ctx: unknown`, the
|
|
558
|
+
* `array-flatmap-thisarg` fixture passes `ctx: null` explicitly) — Go's
|
|
559
|
+
* `interface{}` cannot tell "explicit null" from "omitted" once
|
|
560
|
+
* unmarshaled (both are the nil zero value), so nil-checking a required
|
|
561
|
+
* field would silently turn an intentional `null` into a dropped key.
|
|
562
|
+
* 1. Required prop → always included, raw `in.<InputField>` (never the
|
|
563
|
+
* defaulted Props-field value — a caller who passes the same value
|
|
564
|
+
* as the author's default is indistinguishable from one who didn't,
|
|
565
|
+
* but that's inherent to a required prop having no "omitted" state).
|
|
566
|
+
* 2. Optional prop whose resolved Go type is nillable (`interface{}`,
|
|
567
|
+
* `map[string]interface{}`, or any slice `[]T`) → included only
|
|
568
|
+
* when `in.<InputField> != nil`, i.e. only when the caller actually
|
|
569
|
+
* passed something.
|
|
570
|
+
* 3. Optional prop that nonetheless resolved to a CONCRETE type (a
|
|
571
|
+
* string-union alias like `placement?: 'top' | 'bottom'`, a bare
|
|
572
|
+
* scalar never consumed nullish/attr/text/presence-wise, OR a type
|
|
573
|
+
* that resolves to `interface{}` some OTHER way — e.g. an inherited
|
|
574
|
+
* `extends` clause the analyzer can't fully resolve — while
|
|
575
|
+
* `param.optional` itself is, possibly inaccurately, `false`) —
|
|
576
|
+
* presence is unknowable from Input alone, so it's included
|
|
577
|
+
* unconditionally, same as class 1. A documented residual, not
|
|
578
|
+
* silently dropped; see the PR that introduced this method for named
|
|
579
|
+
* instances found in the corpus (e.g. `textarea`'s `rows`, inherited
|
|
580
|
+
* through `TextareaHTMLAttributes`). Do NOT widen these props' types
|
|
581
|
+
* to "fix" this — that's `resolvePropGoType`'s call, not this
|
|
582
|
+
* method's, and doing so would risk the same `ctx`-style regression.
|
|
583
|
+
*
|
|
584
|
+
* `children` is excluded outright (#1952 — a separately-declared
|
|
585
|
+
* position, not relitigated here). Rest-props bags are never added to
|
|
586
|
+
* the Props struct's JSON at all (checked: no field exists for them
|
|
587
|
+
* outside Input), so nothing to exclude here either — already at parity
|
|
588
|
+
* with the reference, which never serializes rest keys.
|
|
589
|
+
*
|
|
590
|
+
* A prop shadowed by its own driving nested-array field (`isNestedArrayShadowed`
|
|
591
|
+
* — e.g. `toggleItems` colliding with a `<ToggleItem>` loop's derived
|
|
592
|
+
* `ToggleItems` field, #2672/#2525) has NO Props/Input field of its own;
|
|
593
|
+
* the reshaped nested-array local (`varName`, already built above by the
|
|
594
|
+
* static/dynamic body-wrapper emission) is its only remaining carrier, so
|
|
595
|
+
* that's what gets keyed in here instead of `in.<InputField>`. KNOWN
|
|
596
|
+
* RESIDUAL: each item within that array is still the OLD whole-struct
|
|
597
|
+
* marshal (baked author defaults / null-for-absent / zero-for-required
|
|
598
|
+
* inside every item) — recursing the sidecar into embedded Props-struct
|
|
599
|
+
* arrays needs either a generated `MarshalJSON` per Props type or a
|
|
600
|
+
* runtime array-flattening helper, a bigger surface this method's design
|
|
601
|
+
* doesn't cover. Reported, not chased (see PR description).
|
|
602
|
+
*/
|
|
603
|
+
private emitCallerPropsInit;
|
|
548
604
|
private emitStaticChildInstances;
|
|
549
605
|
private emitNewPropsDocComment;
|
|
550
606
|
private emitSpreadBagInits;
|
|
@@ -744,6 +800,24 @@ export declare class GoTemplateAdapter extends BaseAdapter implements ParsedExpr
|
|
|
744
800
|
private extractPropFallback;
|
|
745
801
|
/** Structural half of {@link extractPropFallback}. */
|
|
746
802
|
private extractPropFallbackFromParsed;
|
|
803
|
+
/**
|
|
804
|
+
* #2683: match a signal's collision-derivation shape — `(props.X ?? <lit>)
|
|
805
|
+
* <op> <int>` — the ONE non-idempotent shape this adapter faithfully lowers
|
|
806
|
+
* when a signal's Go field name collides with its own prop's field (see the
|
|
807
|
+
* collision-override loop in `collectPropFallbackVars` / the props-field
|
|
808
|
+
* loop in `generateNewPropsFunction`). Composes two ALREADY-EXISTING
|
|
809
|
+
* lowerings instead of adding a third: `extractPropFallbackFromParsed`
|
|
810
|
+
* recognizes the embedded `props.X ?? <lit>` presence check exactly as it
|
|
811
|
+
* does for the idempotent fold, and the wrap mirrors the SAME `<ref> <op>
|
|
812
|
+
* <int>` arithmetic shape `memoInitialFromParsedBody`'s multiply-family
|
|
813
|
+
* branch already supports for a bare `props.X <op> N` (non-negative
|
|
814
|
+
* integer operand only, matching that branch's own restriction).
|
|
815
|
+
*
|
|
816
|
+
* Returns null for any other shape — the caller then keeps today's
|
|
817
|
+
* raw-passthrough behavior (sound-or-loud; the remaining #2683 pin, if
|
|
818
|
+
* any, covers whatever this doesn't reach).
|
|
819
|
+
*/
|
|
820
|
+
private extractCollisionDerivation;
|
|
747
821
|
/**
|
|
748
822
|
* Extract the prop name from a signal's `props.xxx`-pattern initialValue,
|
|
749
823
|
* e.g. `"props.initial ?? 0"` → `"initial"`, `"props.checked"` → `"checked"`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"go-template-adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/go-template-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"go-template-adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/go-template-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/adapter/index.js
CHANGED
|
@@ -2677,7 +2677,18 @@ function collectNullishConsumedPropNames(ctx, ir) {
|
|
|
2677
2677
|
};
|
|
2678
2678
|
walk(ir.root);
|
|
2679
2679
|
for (const signal of ir.metadata.signals) {
|
|
2680
|
-
const
|
|
2680
|
+
const resolvedParsed = resolveSignalParsedThroughSeedPlan(ctx.state, signal);
|
|
2681
|
+
let match = ctx.extractPropFallback(signal.initialValue, resolvedParsed);
|
|
2682
|
+
if (!match) {
|
|
2683
|
+
const collision = ctx.extractCollisionDerivation(resolvedParsed);
|
|
2684
|
+
if (collision) {
|
|
2685
|
+
const collisionParam = ir.metadata.propsParams.find((p) => p.name === collision.propName);
|
|
2686
|
+
const collisionField = collisionParam ? capitalizeFieldName(collisionParam.sourceName ?? collision.propName) : null;
|
|
2687
|
+
if (collisionField && capitalizeFieldName(signal.getter) === collisionField) {
|
|
2688
|
+
match = { propName: collision.propName, goFallback: collision.goFallback };
|
|
2689
|
+
}
|
|
2690
|
+
}
|
|
2691
|
+
}
|
|
2681
2692
|
if (!match || !optionalParams.has(match.propName))
|
|
2682
2693
|
continue;
|
|
2683
2694
|
const f = match.goFallback;
|
|
@@ -2863,6 +2874,7 @@ class GoTemplateAdapter extends BaseAdapter {
|
|
|
2863
2874
|
convertConditionToGo: (jsCondition, preParsed) => this.convertConditionToGo(jsCondition, preParsed),
|
|
2864
2875
|
extractPropNameFromInitialValue: (initialValue, preParsed) => this.extractPropNameFromInitialValue(initialValue, preParsed),
|
|
2865
2876
|
extractPropFallback: (initialValue, preParsed) => this.extractPropFallback(initialValue, preParsed),
|
|
2877
|
+
extractCollisionDerivation: (parsed) => this.extractCollisionDerivation(parsed),
|
|
2866
2878
|
resolveModuleStringConst: (name) => this.resolveModuleStringConst(name)
|
|
2867
2879
|
};
|
|
2868
2880
|
get errors() {
|
|
@@ -3641,6 +3653,7 @@ ${goFields.join(`
|
|
|
3641
3653
|
}
|
|
3642
3654
|
lines.push("");
|
|
3643
3655
|
}
|
|
3656
|
+
this.emitCallerPropsInit(lines, ir, nestedComponents, staticWithoutBody, staticWithBody, dynamicWithBody, emittedWrapperVars, propTypeOverrides);
|
|
3644
3657
|
lines.push(` return ${propsTypeName}{`);
|
|
3645
3658
|
lines.push("\t\tScopeID: scopeID,");
|
|
3646
3659
|
lines.push("\t\tBfParent: in.BfParent,");
|
|
@@ -3648,6 +3661,7 @@ ${goFields.join(`
|
|
|
3648
3661
|
if (this.usesSearchParams(ir)) {
|
|
3649
3662
|
lines.push("\t\tSearchParams: in.SearchParams,");
|
|
3650
3663
|
}
|
|
3664
|
+
lines.push("\t\tBfCallerProps: bfCallerProps,");
|
|
3651
3665
|
const nestedArrayFields = this.propDerivedNestedArrayFields(nestedComponents);
|
|
3652
3666
|
const memoFallbacks = new Map;
|
|
3653
3667
|
for (const memo of ir.metadata.memos) {
|
|
@@ -3673,7 +3687,8 @@ ${goFields.join(`
|
|
|
3673
3687
|
continue;
|
|
3674
3688
|
const hoisted = propFallbackVars.get(param.name);
|
|
3675
3689
|
if (hoisted) {
|
|
3676
|
-
|
|
3690
|
+
const value = hoisted.collisionWrap ? `${hoisted.varName} ${hoisted.collisionWrap.operator} ${hoisted.collisionWrap.operand}` : hoisted.varName;
|
|
3691
|
+
lines.push(` ${fieldName}: ${value},`);
|
|
3677
3692
|
} else {
|
|
3678
3693
|
const paramDefault = goPropDefault(param.defaultValue);
|
|
3679
3694
|
const memoFold = memoFallbacks.get(fieldName);
|
|
@@ -3752,6 +3767,53 @@ ${goFields.join(`
|
|
|
3752
3767
|
lines.push("\t}");
|
|
3753
3768
|
lines.push("}");
|
|
3754
3769
|
}
|
|
3770
|
+
emitCallerPropsInit(lines, ir, nestedComponents, staticWithoutBody, staticWithBody, dynamicWithBody, emittedWrapperVars, propTypeOverrides) {
|
|
3771
|
+
lines.push("\tbfCallerProps := map[string]interface{}{}");
|
|
3772
|
+
const bfCallerPropsTakenTags = new Set;
|
|
3773
|
+
const nestedArrayFields = this.propDerivedNestedArrayFields(nestedComponents);
|
|
3774
|
+
for (const param of ir.metadata.propsParams) {
|
|
3775
|
+
if (param.name === "children")
|
|
3776
|
+
continue;
|
|
3777
|
+
if (this.isNestedArrayShadowed(param, nestedArrayFields))
|
|
3778
|
+
continue;
|
|
3779
|
+
const callerKey = this.claimJsonTag(this.toJsonTag(param.sourceName ?? param.name), bfCallerPropsTakenTags);
|
|
3780
|
+
if (callerKey === "-")
|
|
3781
|
+
continue;
|
|
3782
|
+
const inputField = `in.${capitalizeFieldName(param.sourceName ?? param.name)}`;
|
|
3783
|
+
const goType = resolvePropGoType(this.emitCtx, param, propTypeOverrides);
|
|
3784
|
+
const isNillable = goType === "interface{}" || goType === "map[string]interface{}" || goType.startsWith("[]");
|
|
3785
|
+
if (param.optional && isNillable) {
|
|
3786
|
+
lines.push(` if ${inputField} != nil {`);
|
|
3787
|
+
lines.push(` bfCallerProps["${callerKey}"] = ${inputField}`);
|
|
3788
|
+
lines.push(` }`);
|
|
3789
|
+
} else {
|
|
3790
|
+
lines.push(` bfCallerProps["${callerKey}"] = ${inputField}`);
|
|
3791
|
+
}
|
|
3792
|
+
}
|
|
3793
|
+
for (const nested of [...staticWithoutBody, ...staticWithBody, ...dynamicWithBody]) {
|
|
3794
|
+
if (!nested.isPropDerived)
|
|
3795
|
+
continue;
|
|
3796
|
+
const varName = `${nested.name.charAt(0).toLowerCase()}${nested.name.slice(1)}s`;
|
|
3797
|
+
const isBuilt = staticWithoutBody.includes(nested) || emittedWrapperVars.has(varName);
|
|
3798
|
+
if (!isBuilt)
|
|
3799
|
+
continue;
|
|
3800
|
+
const arrayFieldName = capitalizeFieldName(`${nested.name}s`);
|
|
3801
|
+
const param = ir.metadata.propsParams.find((p) => capitalizeFieldName(p.name) === arrayFieldName || capitalizeFieldName(p.sourceName ?? p.name) === arrayFieldName);
|
|
3802
|
+
if (!param || !this.isNestedArrayShadowed(param, nestedArrayFields))
|
|
3803
|
+
continue;
|
|
3804
|
+
const callerKey = this.claimJsonTag(this.toJsonTag(param.sourceName ?? param.name), bfCallerPropsTakenTags);
|
|
3805
|
+
if (callerKey === "-")
|
|
3806
|
+
continue;
|
|
3807
|
+
if (param.optional) {
|
|
3808
|
+
lines.push(` if in.${nested.name}s != nil {`);
|
|
3809
|
+
lines.push(` bfCallerProps["${callerKey}"] = ${varName}`);
|
|
3810
|
+
lines.push(` }`);
|
|
3811
|
+
} else {
|
|
3812
|
+
lines.push(` bfCallerProps["${callerKey}"] = ${varName}`);
|
|
3813
|
+
}
|
|
3814
|
+
}
|
|
3815
|
+
lines.push("");
|
|
3816
|
+
}
|
|
3755
3817
|
emitStaticChildInstances(lines, ir) {
|
|
3756
3818
|
const staticChildren = this.collectStaticChildInstances(ir.root, ir.metadata.propsParams);
|
|
3757
3819
|
for (const child of staticChildren) {
|
|
@@ -4203,6 +4265,7 @@ ${goFields.join(`
|
|
|
4203
4265
|
if (this.usesSearchParams(ir)) {
|
|
4204
4266
|
lines.push('\tSearchParams bf.SearchParams `json:"-"`');
|
|
4205
4267
|
}
|
|
4268
|
+
lines.push('\tBfCallerProps map[string]interface{} `json:"-"`');
|
|
4206
4269
|
}
|
|
4207
4270
|
emitPropsDataFields(lines, ir, nestedComponents, propTypeOverrides, takenJsonTags) {
|
|
4208
4271
|
const nestedArrayFields = this.propDerivedNestedArrayFields(nestedComponents);
|
|
@@ -4614,7 +4677,19 @@ ${goFields.join(`
|
|
|
4614
4677
|
}
|
|
4615
4678
|
const propTypeOverrides = buildPropTypeOverrides(this.emitCtx, ir);
|
|
4616
4679
|
for (const signal of ir.metadata.signals) {
|
|
4617
|
-
|
|
4680
|
+
let match = this.extractPropFallback(signal.initialValue, this.resolvedSignalParsed(signal));
|
|
4681
|
+
let collisionWrap;
|
|
4682
|
+
if (!match) {
|
|
4683
|
+
const collision = this.extractCollisionDerivation(this.resolvedSignalParsed(signal));
|
|
4684
|
+
if (collision) {
|
|
4685
|
+
const collisionParam = ir.metadata.propsParams.find((p) => p.name === collision.propName);
|
|
4686
|
+
const collisionField = collisionParam ? capitalizeFieldName(collisionParam.sourceName ?? collision.propName) : null;
|
|
4687
|
+
if (collisionField && capitalizeFieldName(signal.getter) === collisionField) {
|
|
4688
|
+
match = { propName: collision.propName, goFallback: collision.goFallback };
|
|
4689
|
+
collisionWrap = { operator: collision.operator, operand: collision.operand };
|
|
4690
|
+
}
|
|
4691
|
+
}
|
|
4692
|
+
}
|
|
4618
4693
|
if (!match)
|
|
4619
4694
|
continue;
|
|
4620
4695
|
if (result.has(match.propName))
|
|
@@ -4653,7 +4728,8 @@ ${goFields.join(`
|
|
|
4653
4728
|
fieldName,
|
|
4654
4729
|
goFallback: match.goFallback,
|
|
4655
4730
|
zeroLiteral,
|
|
4656
|
-
...nullishLowered ? { assertType: concreteType } : {}
|
|
4731
|
+
...nullishLowered ? { assertType: concreteType } : {},
|
|
4732
|
+
...collisionWrap ? { collisionWrap } : {}
|
|
4657
4733
|
});
|
|
4658
4734
|
}
|
|
4659
4735
|
return result;
|
|
@@ -4703,6 +4779,26 @@ ${goFields.join(`
|
|
|
4703
4779
|
return null;
|
|
4704
4780
|
return { propName, goFallback };
|
|
4705
4781
|
}
|
|
4782
|
+
extractCollisionDerivation(parsed) {
|
|
4783
|
+
if (!parsed || parsed.kind !== "binary")
|
|
4784
|
+
return null;
|
|
4785
|
+
if (!["*", "+", "-", "/"].includes(parsed.op))
|
|
4786
|
+
return null;
|
|
4787
|
+
const { right } = parsed;
|
|
4788
|
+
if (right.kind !== "literal" || right.literalType !== "number" || typeof right.value !== "number" || !Number.isInteger(right.value) || right.value < 0) {
|
|
4789
|
+
return null;
|
|
4790
|
+
}
|
|
4791
|
+
if (parsed.op === "/" && right.value === 0)
|
|
4792
|
+
return null;
|
|
4793
|
+
const coalesce = parsed.left;
|
|
4794
|
+
if (coalesce.kind !== "logical" || coalesce.op !== "??" || coalesce.right.kind !== "literal" || coalesce.right.literalType !== "number") {
|
|
4795
|
+
return null;
|
|
4796
|
+
}
|
|
4797
|
+
const inner = this.extractPropFallbackFromParsed(parsed.left);
|
|
4798
|
+
if (!inner)
|
|
4799
|
+
return null;
|
|
4800
|
+
return { ...inner, operator: parsed.op, operand: String(right.value) };
|
|
4801
|
+
}
|
|
4706
4802
|
extractPropNameFromInitialValue(initialValue, preParsed) {
|
|
4707
4803
|
if (!this.state.propsObjectName) {
|
|
4708
4804
|
if (preParsed?.kind === "logical" && (preParsed.op === "??" || preParsed.op === "||") && preParsed.left.kind === "identifier") {
|
|
@@ -154,6 +154,19 @@ export interface PropFallbackVar {
|
|
|
154
154
|
* distinguishable from an absent one.
|
|
155
155
|
*/
|
|
156
156
|
assertType?: string;
|
|
157
|
+
/**
|
|
158
|
+
* #2683: set when this fallback var was hoisted from a signal's
|
|
159
|
+
* COLLISION-DERIVATION initializer (`(props.X ?? <lit>) <op> <int>`, where
|
|
160
|
+
* the signal's Go field name collides with prop X's) rather than a plain
|
|
161
|
+
* `props.X ?? <lit>`. `varName` above still holds only the coalesced RAW
|
|
162
|
+
* value (the presence-check declaration is unchanged) — this records the
|
|
163
|
+
* arithmetic wrap the props-field loop applies ON TOP of it so the shared
|
|
164
|
+
* field carries the FULLY DERIVED value, not just the coalesce result.
|
|
165
|
+
*/
|
|
166
|
+
collisionWrap?: {
|
|
167
|
+
operator: string;
|
|
168
|
+
operand: string;
|
|
169
|
+
};
|
|
157
170
|
}
|
|
158
171
|
/**
|
|
159
172
|
* Scope for `lowerCtorExpr` — lowering a JS expression to Go in the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapter/lib/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,oBAAoB,EACpB,MAAM,EACN,MAAM,EACN,UAAU,EACV,QAAQ,EACT,MAAM,iBAAiB,CAAA;AAExB;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D,SAAS,EAAE,OAAO,CAAA;IAClB,aAAa,EAAE,OAAO,CAAA;IACtB;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;+EAC2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;0EACsE;IACtE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;2EACuE;IACvE,eAAe,CAAC,EAAE,UAAU,CAAA;IAC5B,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;8EAC0E;IAC1E,YAAY,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB;;kFAE8E;IAC9E,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B;;;;;0BAKsB;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B;;;;;0EAKsE;IACtE,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9C;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B;;;;;OAKG;IACH,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAChC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;OAKG;IACH,MAAM,EAAE,UAAU,GAAG,SAAS,CAAA;IAC9B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,SAAS,EAAE,QAAQ,GAAG,WAAW,CAAA;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAA;IAClB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAA;IACnB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapter/lib/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prop-types.d.ts","sourceRoot":"","sources":["../../../src/adapter/props/prop-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAsB,MAAM,iBAAiB,CAAA;AAGlF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"prop-types.d.ts","sourceRoot":"","sources":["../../../src/adapter/props/prop-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAsB,MAAM,iBAAiB,CAAA;AAGlF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAKvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAuC/F;AAkDD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAAiD,CAAA;AAEzG;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAkGhG;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qCAAqC,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAkCtG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CA+B7F;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAmChG;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,EACxC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,MAAM,CAoDR;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CASzF"}
|
package/dist/index.js
CHANGED
|
@@ -2677,7 +2677,18 @@ function collectNullishConsumedPropNames(ctx, ir) {
|
|
|
2677
2677
|
};
|
|
2678
2678
|
walk(ir.root);
|
|
2679
2679
|
for (const signal of ir.metadata.signals) {
|
|
2680
|
-
const
|
|
2680
|
+
const resolvedParsed = resolveSignalParsedThroughSeedPlan(ctx.state, signal);
|
|
2681
|
+
let match = ctx.extractPropFallback(signal.initialValue, resolvedParsed);
|
|
2682
|
+
if (!match) {
|
|
2683
|
+
const collision = ctx.extractCollisionDerivation(resolvedParsed);
|
|
2684
|
+
if (collision) {
|
|
2685
|
+
const collisionParam = ir.metadata.propsParams.find((p) => p.name === collision.propName);
|
|
2686
|
+
const collisionField = collisionParam ? capitalizeFieldName(collisionParam.sourceName ?? collision.propName) : null;
|
|
2687
|
+
if (collisionField && capitalizeFieldName(signal.getter) === collisionField) {
|
|
2688
|
+
match = { propName: collision.propName, goFallback: collision.goFallback };
|
|
2689
|
+
}
|
|
2690
|
+
}
|
|
2691
|
+
}
|
|
2681
2692
|
if (!match || !optionalParams.has(match.propName))
|
|
2682
2693
|
continue;
|
|
2683
2694
|
const f = match.goFallback;
|
|
@@ -2863,6 +2874,7 @@ class GoTemplateAdapter extends BaseAdapter {
|
|
|
2863
2874
|
convertConditionToGo: (jsCondition, preParsed) => this.convertConditionToGo(jsCondition, preParsed),
|
|
2864
2875
|
extractPropNameFromInitialValue: (initialValue, preParsed) => this.extractPropNameFromInitialValue(initialValue, preParsed),
|
|
2865
2876
|
extractPropFallback: (initialValue, preParsed) => this.extractPropFallback(initialValue, preParsed),
|
|
2877
|
+
extractCollisionDerivation: (parsed) => this.extractCollisionDerivation(parsed),
|
|
2866
2878
|
resolveModuleStringConst: (name) => this.resolveModuleStringConst(name)
|
|
2867
2879
|
};
|
|
2868
2880
|
get errors() {
|
|
@@ -3641,6 +3653,7 @@ ${goFields.join(`
|
|
|
3641
3653
|
}
|
|
3642
3654
|
lines.push("");
|
|
3643
3655
|
}
|
|
3656
|
+
this.emitCallerPropsInit(lines, ir, nestedComponents, staticWithoutBody, staticWithBody, dynamicWithBody, emittedWrapperVars, propTypeOverrides);
|
|
3644
3657
|
lines.push(` return ${propsTypeName}{`);
|
|
3645
3658
|
lines.push("\t\tScopeID: scopeID,");
|
|
3646
3659
|
lines.push("\t\tBfParent: in.BfParent,");
|
|
@@ -3648,6 +3661,7 @@ ${goFields.join(`
|
|
|
3648
3661
|
if (this.usesSearchParams(ir)) {
|
|
3649
3662
|
lines.push("\t\tSearchParams: in.SearchParams,");
|
|
3650
3663
|
}
|
|
3664
|
+
lines.push("\t\tBfCallerProps: bfCallerProps,");
|
|
3651
3665
|
const nestedArrayFields = this.propDerivedNestedArrayFields(nestedComponents);
|
|
3652
3666
|
const memoFallbacks = new Map;
|
|
3653
3667
|
for (const memo of ir.metadata.memos) {
|
|
@@ -3673,7 +3687,8 @@ ${goFields.join(`
|
|
|
3673
3687
|
continue;
|
|
3674
3688
|
const hoisted = propFallbackVars.get(param.name);
|
|
3675
3689
|
if (hoisted) {
|
|
3676
|
-
|
|
3690
|
+
const value = hoisted.collisionWrap ? `${hoisted.varName} ${hoisted.collisionWrap.operator} ${hoisted.collisionWrap.operand}` : hoisted.varName;
|
|
3691
|
+
lines.push(` ${fieldName}: ${value},`);
|
|
3677
3692
|
} else {
|
|
3678
3693
|
const paramDefault = goPropDefault(param.defaultValue);
|
|
3679
3694
|
const memoFold = memoFallbacks.get(fieldName);
|
|
@@ -3752,6 +3767,53 @@ ${goFields.join(`
|
|
|
3752
3767
|
lines.push("\t}");
|
|
3753
3768
|
lines.push("}");
|
|
3754
3769
|
}
|
|
3770
|
+
emitCallerPropsInit(lines, ir, nestedComponents, staticWithoutBody, staticWithBody, dynamicWithBody, emittedWrapperVars, propTypeOverrides) {
|
|
3771
|
+
lines.push("\tbfCallerProps := map[string]interface{}{}");
|
|
3772
|
+
const bfCallerPropsTakenTags = new Set;
|
|
3773
|
+
const nestedArrayFields = this.propDerivedNestedArrayFields(nestedComponents);
|
|
3774
|
+
for (const param of ir.metadata.propsParams) {
|
|
3775
|
+
if (param.name === "children")
|
|
3776
|
+
continue;
|
|
3777
|
+
if (this.isNestedArrayShadowed(param, nestedArrayFields))
|
|
3778
|
+
continue;
|
|
3779
|
+
const callerKey = this.claimJsonTag(this.toJsonTag(param.sourceName ?? param.name), bfCallerPropsTakenTags);
|
|
3780
|
+
if (callerKey === "-")
|
|
3781
|
+
continue;
|
|
3782
|
+
const inputField = `in.${capitalizeFieldName(param.sourceName ?? param.name)}`;
|
|
3783
|
+
const goType = resolvePropGoType(this.emitCtx, param, propTypeOverrides);
|
|
3784
|
+
const isNillable = goType === "interface{}" || goType === "map[string]interface{}" || goType.startsWith("[]");
|
|
3785
|
+
if (param.optional && isNillable) {
|
|
3786
|
+
lines.push(` if ${inputField} != nil {`);
|
|
3787
|
+
lines.push(` bfCallerProps["${callerKey}"] = ${inputField}`);
|
|
3788
|
+
lines.push(` }`);
|
|
3789
|
+
} else {
|
|
3790
|
+
lines.push(` bfCallerProps["${callerKey}"] = ${inputField}`);
|
|
3791
|
+
}
|
|
3792
|
+
}
|
|
3793
|
+
for (const nested of [...staticWithoutBody, ...staticWithBody, ...dynamicWithBody]) {
|
|
3794
|
+
if (!nested.isPropDerived)
|
|
3795
|
+
continue;
|
|
3796
|
+
const varName = `${nested.name.charAt(0).toLowerCase()}${nested.name.slice(1)}s`;
|
|
3797
|
+
const isBuilt = staticWithoutBody.includes(nested) || emittedWrapperVars.has(varName);
|
|
3798
|
+
if (!isBuilt)
|
|
3799
|
+
continue;
|
|
3800
|
+
const arrayFieldName = capitalizeFieldName(`${nested.name}s`);
|
|
3801
|
+
const param = ir.metadata.propsParams.find((p) => capitalizeFieldName(p.name) === arrayFieldName || capitalizeFieldName(p.sourceName ?? p.name) === arrayFieldName);
|
|
3802
|
+
if (!param || !this.isNestedArrayShadowed(param, nestedArrayFields))
|
|
3803
|
+
continue;
|
|
3804
|
+
const callerKey = this.claimJsonTag(this.toJsonTag(param.sourceName ?? param.name), bfCallerPropsTakenTags);
|
|
3805
|
+
if (callerKey === "-")
|
|
3806
|
+
continue;
|
|
3807
|
+
if (param.optional) {
|
|
3808
|
+
lines.push(` if in.${nested.name}s != nil {`);
|
|
3809
|
+
lines.push(` bfCallerProps["${callerKey}"] = ${varName}`);
|
|
3810
|
+
lines.push(` }`);
|
|
3811
|
+
} else {
|
|
3812
|
+
lines.push(` bfCallerProps["${callerKey}"] = ${varName}`);
|
|
3813
|
+
}
|
|
3814
|
+
}
|
|
3815
|
+
lines.push("");
|
|
3816
|
+
}
|
|
3755
3817
|
emitStaticChildInstances(lines, ir) {
|
|
3756
3818
|
const staticChildren = this.collectStaticChildInstances(ir.root, ir.metadata.propsParams);
|
|
3757
3819
|
for (const child of staticChildren) {
|
|
@@ -4203,6 +4265,7 @@ ${goFields.join(`
|
|
|
4203
4265
|
if (this.usesSearchParams(ir)) {
|
|
4204
4266
|
lines.push('\tSearchParams bf.SearchParams `json:"-"`');
|
|
4205
4267
|
}
|
|
4268
|
+
lines.push('\tBfCallerProps map[string]interface{} `json:"-"`');
|
|
4206
4269
|
}
|
|
4207
4270
|
emitPropsDataFields(lines, ir, nestedComponents, propTypeOverrides, takenJsonTags) {
|
|
4208
4271
|
const nestedArrayFields = this.propDerivedNestedArrayFields(nestedComponents);
|
|
@@ -4614,7 +4677,19 @@ ${goFields.join(`
|
|
|
4614
4677
|
}
|
|
4615
4678
|
const propTypeOverrides = buildPropTypeOverrides(this.emitCtx, ir);
|
|
4616
4679
|
for (const signal of ir.metadata.signals) {
|
|
4617
|
-
|
|
4680
|
+
let match = this.extractPropFallback(signal.initialValue, this.resolvedSignalParsed(signal));
|
|
4681
|
+
let collisionWrap;
|
|
4682
|
+
if (!match) {
|
|
4683
|
+
const collision = this.extractCollisionDerivation(this.resolvedSignalParsed(signal));
|
|
4684
|
+
if (collision) {
|
|
4685
|
+
const collisionParam = ir.metadata.propsParams.find((p) => p.name === collision.propName);
|
|
4686
|
+
const collisionField = collisionParam ? capitalizeFieldName(collisionParam.sourceName ?? collision.propName) : null;
|
|
4687
|
+
if (collisionField && capitalizeFieldName(signal.getter) === collisionField) {
|
|
4688
|
+
match = { propName: collision.propName, goFallback: collision.goFallback };
|
|
4689
|
+
collisionWrap = { operator: collision.operator, operand: collision.operand };
|
|
4690
|
+
}
|
|
4691
|
+
}
|
|
4692
|
+
}
|
|
4618
4693
|
if (!match)
|
|
4619
4694
|
continue;
|
|
4620
4695
|
if (result.has(match.propName))
|
|
@@ -4653,7 +4728,8 @@ ${goFields.join(`
|
|
|
4653
4728
|
fieldName,
|
|
4654
4729
|
goFallback: match.goFallback,
|
|
4655
4730
|
zeroLiteral,
|
|
4656
|
-
...nullishLowered ? { assertType: concreteType } : {}
|
|
4731
|
+
...nullishLowered ? { assertType: concreteType } : {},
|
|
4732
|
+
...collisionWrap ? { collisionWrap } : {}
|
|
4657
4733
|
});
|
|
4658
4734
|
}
|
|
4659
4735
|
return result;
|
|
@@ -4703,6 +4779,26 @@ ${goFields.join(`
|
|
|
4703
4779
|
return null;
|
|
4704
4780
|
return { propName, goFallback };
|
|
4705
4781
|
}
|
|
4782
|
+
extractCollisionDerivation(parsed) {
|
|
4783
|
+
if (!parsed || parsed.kind !== "binary")
|
|
4784
|
+
return null;
|
|
4785
|
+
if (!["*", "+", "-", "/"].includes(parsed.op))
|
|
4786
|
+
return null;
|
|
4787
|
+
const { right } = parsed;
|
|
4788
|
+
if (right.kind !== "literal" || right.literalType !== "number" || typeof right.value !== "number" || !Number.isInteger(right.value) || right.value < 0) {
|
|
4789
|
+
return null;
|
|
4790
|
+
}
|
|
4791
|
+
if (parsed.op === "/" && right.value === 0)
|
|
4792
|
+
return null;
|
|
4793
|
+
const coalesce = parsed.left;
|
|
4794
|
+
if (coalesce.kind !== "logical" || coalesce.op !== "??" || coalesce.right.kind !== "literal" || coalesce.right.literalType !== "number") {
|
|
4795
|
+
return null;
|
|
4796
|
+
}
|
|
4797
|
+
const inner = this.extractPropFallbackFromParsed(parsed.left);
|
|
4798
|
+
if (!inner)
|
|
4799
|
+
return null;
|
|
4800
|
+
return { ...inner, operator: parsed.op, operand: String(right.value) };
|
|
4801
|
+
}
|
|
4706
4802
|
extractPropNameFromInitialValue(initialValue, preParsed) {
|
|
4707
4803
|
if (!this.state.propsObjectName) {
|
|
4708
4804
|
if (preParsed?.kind === "logical" && (preParsed.op === "??" || preParsed.op === "||") && preParsed.left.kind === "identifier") {
|
|
@@ -6757,10 +6853,7 @@ var conformancePins = {
|
|
|
6757
6853
|
"rich-prop-client-read": [{ code: "BF049", severity: "error", issue: "https://github.com/piconic-ai/barefootjs/issues/2648" }]
|
|
6758
6854
|
};
|
|
6759
6855
|
// src/render-divergences.ts
|
|
6760
|
-
var renderDivergences = {
|
|
6761
|
-
"signal-prop-same-name-derived": "self-derived signal collides with its prop field name in the generated Go props struct — the non-idempotent `* 2` derivation is dropped and the signal renders the raw prop value instead (https://github.com/piconic-ai/barefootjs/issues/2683)",
|
|
6762
|
-
"signal-prop-same-name-via-const-derived": "self-derived signal (reached through a component-scope const) collides with its prop field name in the generated Go props struct — the non-idempotent `* 2` derivation is dropped and the signal renders the raw prop value instead (https://github.com/piconic-ai/barefootjs/issues/2683)"
|
|
6763
|
-
};
|
|
6856
|
+
var renderDivergences = {};
|
|
6764
6857
|
export {
|
|
6765
6858
|
renderDivergences,
|
|
6766
6859
|
goTemplateAdapter,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-divergences.d.ts","sourceRoot":"","sources":["../src/render-divergences.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExD,eAAO,MAAM,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"render-divergences.d.ts","sourceRoot":"","sources":["../src/render-divergences.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExD,eAAO,MAAM,iBAAiB,EAAE,iBAAsB,CAAA"}
|