legend-doctor 0.6.1 → 0.6.2
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/EXAMPLES.md +68 -8
- package/REPORT.md +3 -1
- package/dist/src/analysis/verdicts/control-flow-gate.d.ts +9 -0
- package/dist/src/analysis/verdicts/control-flow-gate.d.ts.map +1 -0
- package/dist/src/analysis/verdicts/control-flow-gate.js +66 -0
- package/dist/src/analysis/verdicts/control-flow-gate.js.map +1 -0
- package/dist/src/analysis/verdicts/subtree-verdicts.d.ts.map +1 -1
- package/dist/src/analysis/verdicts/subtree-verdicts.js +3 -1
- package/dist/src/analysis/verdicts/subtree-verdicts.js.map +1 -1
- package/dist/src/core/types.d.ts +1 -1
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/types.js +1 -0
- package/dist/src/core/types.js.map +1 -1
- package/dist/src/practices/practice-rules.d.ts +1 -1
- package/dist/src/practices/practice-rules.d.ts.map +1 -1
- package/dist/src/practices/practice-rules.js +11 -0
- package/dist/src/practices/practice-rules.js.map +1 -1
- package/dist/src/rules/control-flow-components/control-flow-slots.d.ts +60 -0
- package/dist/src/rules/control-flow-components/control-flow-slots.d.ts.map +1 -0
- package/dist/src/rules/control-flow-components/control-flow-slots.js +233 -0
- package/dist/src/rules/control-flow-components/control-flow-slots.js.map +1 -0
- package/dist/src/rules/literal-boolean-leaf/boolean-setters.d.ts +1 -0
- package/dist/src/rules/literal-boolean-leaf/boolean-setters.d.ts.map +1 -1
- package/dist/src/rules/literal-boolean-leaf/boolean-setters.js +1 -1
- package/dist/src/rules/literal-boolean-leaf/boolean-setters.js.map +1 -1
- package/dist/src/rules/observable-lists/observable-lists.d.ts +11 -0
- package/dist/src/rules/observable-lists/observable-lists.d.ts.map +1 -0
- package/dist/src/rules/observable-lists/observable-lists.js +134 -0
- package/dist/src/rules/observable-lists/observable-lists.js.map +1 -0
- package/dist/src/rules/observable-lists/tracked-row-keys.d.ts +11 -0
- package/dist/src/rules/observable-lists/tracked-row-keys.d.ts.map +1 -0
- package/dist/src/rules/observable-lists/tracked-row-keys.js +108 -0
- package/dist/src/rules/observable-lists/tracked-row-keys.js.map +1 -0
- package/dist/src/rules/observable-reads/control-flow-move-down.d.ts +13 -0
- package/dist/src/rules/observable-reads/control-flow-move-down.d.ts.map +1 -0
- package/dist/src/rules/observable-reads/control-flow-move-down.js +36 -0
- package/dist/src/rules/observable-reads/control-flow-move-down.js.map +1 -0
- package/dist/src/rules/observable-reads/move-down.d.ts.map +1 -1
- package/dist/src/rules/observable-reads/move-down.js +8 -1
- package/dist/src/rules/observable-reads/move-down.js.map +1 -1
- package/dist/src/rules/observable-tracking/reactive-inputs.d.ts +4 -0
- package/dist/src/rules/observable-tracking/reactive-inputs.d.ts.map +1 -1
- package/dist/src/rules/observable-tracking/reactive-inputs.js +1 -1
- package/dist/src/rules/observable-tracking/reactive-inputs.js.map +1 -1
- package/package.json +1 -1
package/EXAMPLES.md
CHANGED
|
@@ -12,7 +12,15 @@ The snippets assume these imports when needed:
|
|
|
12
12
|
|
|
13
13
|
```tsx
|
|
14
14
|
import { batch, type Observable } from "@legendapp/state";
|
|
15
|
-
import {
|
|
15
|
+
import {
|
|
16
|
+
Computed,
|
|
17
|
+
For,
|
|
18
|
+
Show,
|
|
19
|
+
Switch,
|
|
20
|
+
useObservable,
|
|
21
|
+
useObserveEffect,
|
|
22
|
+
useValue,
|
|
23
|
+
} from "@legendapp/state/react";
|
|
16
24
|
import { $React } from "@legendapp/state/react-web";
|
|
17
25
|
```
|
|
18
26
|
|
|
@@ -491,7 +499,7 @@ microtask, so it saves them together either way.
|
|
|
491
499
|
|
|
492
500
|
### Preserve a conditional child's mount behavior
|
|
493
501
|
|
|
494
|
-
Keep the observable at the owner.
|
|
502
|
+
Keep the observable at the owner. Let `Show` hold the condition.
|
|
495
503
|
|
|
496
504
|
```tsx
|
|
497
505
|
function Page() {
|
|
@@ -500,17 +508,26 @@ function Page() {
|
|
|
500
508
|
<>
|
|
501
509
|
<Canvas />
|
|
502
510
|
<button onClick={() => open$.set(true)}>Open</button>
|
|
503
|
-
<
|
|
511
|
+
<Show if={open$}>{() => <Panel />}</Show>
|
|
504
512
|
</>
|
|
505
513
|
);
|
|
506
514
|
}
|
|
507
|
-
|
|
508
|
-
function PanelGate({ open$ }: { open$: Observable<boolean> }) {
|
|
509
|
-
return useValue(open$) ? <Panel /> : null;
|
|
510
|
-
}
|
|
511
515
|
```
|
|
512
516
|
|
|
513
|
-
`
|
|
517
|
+
`Show` stays mounted as the only subscriber and calls its child function only while the condition holds, so
|
|
518
|
+
`Panel` keeps its original conditional mount. It re-renders with the owner, so values the child captures stay
|
|
519
|
+
current. `cond ? <A /> : <B />` becomes `<Show if={cond$} else={() => <B />}>{() => <A />}</Show>`, and a chain
|
|
520
|
+
of `tab === "posts" ? ... : tab === "media" ? ... : ...` becomes `<Switch value={tab$}>` with one arm per value
|
|
521
|
+
and a `default` arm. Both return the selected element from one position, so a branch keeps its state across
|
|
522
|
+
toggles exactly when it did before. A finding uses this form only when it renders the same thing:
|
|
523
|
+
|
|
524
|
+
- A `&&` condition must be boolean. A falsy `0` or `""` would render under `&&` but not under `Show`.
|
|
525
|
+
- A value narrowed by the condition is not read in a branch, because `get()` would lose the narrowing.
|
|
526
|
+
- The slot reads no other observable with `get()` and calls no hook, since `Show` tracks its child function.
|
|
527
|
+
- A ternary sits directly in a host element or fragment, which never inspects its children.
|
|
528
|
+
- `Switch` needs every value the state can hold to be a string literal outside `Object.prototype`.
|
|
529
|
+
|
|
530
|
+
Otherwise the finding asks for an always-mounted wrapper component that evaluates the slot as written.
|
|
514
531
|
|
|
515
532
|
### Subscribe once per keyed row
|
|
516
533
|
|
|
@@ -527,6 +544,39 @@ rows.map((row) => <RowState key={row.id} id={row.id} selectedId$={selectedId$} /
|
|
|
527
544
|
|
|
528
545
|
Index keys and state-controlled row mounts need review.
|
|
529
546
|
|
|
547
|
+
### Render an observable list with For
|
|
548
|
+
|
|
549
|
+
`render-list-with-for` changes a component whose only read of an observable array is a keyed map.
|
|
550
|
+
|
|
551
|
+
```tsx
|
|
552
|
+
// Before: a change to one todo renders Todos and every row
|
|
553
|
+
const todos = useValue(todos$);
|
|
554
|
+
return (
|
|
555
|
+
<ul>
|
|
556
|
+
{todos.map((todo) => (
|
|
557
|
+
<TodoRow key={todo.id} todo={todo} />
|
|
558
|
+
))}
|
|
559
|
+
</ul>
|
|
560
|
+
);
|
|
561
|
+
|
|
562
|
+
// After: a change to one todo renders its row
|
|
563
|
+
return (
|
|
564
|
+
<ul>
|
|
565
|
+
<For each={todos$}>
|
|
566
|
+
{(todo$) => {
|
|
567
|
+
const todo = todo$.get();
|
|
568
|
+
return <TodoRow todo={todo} />;
|
|
569
|
+
}}
|
|
570
|
+
</For>
|
|
571
|
+
</ul>
|
|
572
|
+
);
|
|
573
|
+
```
|
|
574
|
+
|
|
575
|
+
`For` subscribes to the array shallowly and renders each row in its own observer, keyed by the item's `id`.
|
|
576
|
+
Rows do not re-render with the component, so a row that captures a prop, state, or other render value would keep
|
|
577
|
+
its first value; those maps, index keys, keys other than `item.id`, rows that read other observables, and maps
|
|
578
|
+
inside a component that inspects its children stay unchanged.
|
|
579
|
+
|
|
530
580
|
## Keep command state out of renders
|
|
531
581
|
|
|
532
582
|
### Replace render-free state with a ref
|
|
@@ -562,6 +612,16 @@ const save = () => persist(settings$.theme.peek()); // After
|
|
|
562
612
|
|
|
563
613
|
Render reads and reactive callbacks keep tracking reads. The finding's `edits` rename `get` to `peek`.
|
|
564
614
|
|
|
615
|
+
A row `key` read with `get()` inside an `observer` render or a `Computed`, `Memo`, `Show`, or `For` child function
|
|
616
|
+
is a `candidate`. The tracked read subscribes the parent to every row's key; `For` derives keys without tracking
|
|
617
|
+
them. The two differ only when code rewrites a key in place, which remounts the row under `get()` and keeps it
|
|
618
|
+
under `peek()`, so confirm no such write exists.
|
|
619
|
+
|
|
620
|
+
```tsx
|
|
621
|
+
<For each={todos$}>{(todo$) => <TodoRow key={todo$.id.get()} todo$={todo$} />}</For> // Before
|
|
622
|
+
<For each={todos$}>{(todo$) => <TodoRow key={todo$.id.peek()} todo$={todo$} />}</For> // After
|
|
623
|
+
```
|
|
624
|
+
|
|
565
625
|
## Track every render read
|
|
566
626
|
|
|
567
627
|
Legend tracks a `get()` only inside a tracking context: `useValue`, `observer`, a reactive component's selector, or
|
package/REPORT.md
CHANGED
|
@@ -239,7 +239,9 @@ a type assertion, when a render read follows an early return or sits in JSX, a b
|
|
|
239
239
|
when only a new import declaration would bring the hook into scope, when a render read would reuse a legacy
|
|
240
240
|
binding that the file's legacy migration removes, when a destructure is annotated or its call has type arguments,
|
|
241
241
|
when a legacy binding is referenced other than by a reported call, and when a `Memo` import swap would touch the
|
|
242
|
-
specifier another rule adds `useValue` beside. Hoisting instructions, `move-*`, `split-*`, and
|
|
242
|
+
specifier another rule adds `useValue` beside. Hoisting instructions, `move-*`, `split-*`, `render-list-with-for`, and
|
|
243
|
+
batching stay prose; so do the `Show`, `Switch`, and `For` elements an instruction writes, which elide a branch or row
|
|
244
|
+
longer than one short line as `<Tag … />`;
|
|
243
245
|
a render initializer below an early return or `throw` is told to move above it. Every instruction for a new
|
|
244
246
|
subscription, including `useState` and `useEffect` findings and instructions for other files such as the consumers of
|
|
245
247
|
a context, names the file's `useValue` binding or `useValue`. A description of an existing subscription, such as the
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { StateSubtree } from "../model.js";
|
|
2
|
+
import type { StateClassificationContext } from "./classification-context.js";
|
|
3
|
+
/**
|
|
4
|
+
* The gate verdict's always-mounted leaf, written as the Legend component that already is one.
|
|
5
|
+
* A logical gate leaf replaces the slot and a ternary gate leaf wraps the slot's enclosing element;
|
|
6
|
+
* `Show` or `Switch` replaces the slot in either case, so its parent must ignore its children.
|
|
7
|
+
*/
|
|
8
|
+
export declare function controlFlowGateMessage({ hostTags, state, usage }: StateClassificationContext, gate: StateSubtree): string | null;
|
|
9
|
+
//# sourceMappingURL=control-flow-gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-flow-gate.d.ts","sourceRoot":"","sources":["../../../../src/analysis/verdicts/control-flow-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,YAAY,EAAc,MAAM,aAAa,CAAC;AAQ5E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAM9E;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,0BAA0B,EACtD,IAAI,EAAE,YAAY,GACjB,MAAM,GAAG,IAAI,CAoBf"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { controlFlowElement, controlFlowSlot, elidedReadNote, hostChildSlot, } from "../../rules/control-flow-components/control-flow-slots.js";
|
|
2
|
+
import { isIdentifierNamed, unwrapTransparentExpression } from "../../core/analysis-ast.js";
|
|
3
|
+
import { isPureBooleanSetter } from "../../rules/literal-boolean-leaf/boolean-setters.js";
|
|
4
|
+
import { lineOf } from "../../core/ast.js";
|
|
5
|
+
import ts from "typescript";
|
|
6
|
+
/**
|
|
7
|
+
* The gate verdict's always-mounted leaf, written as the Legend component that already is one.
|
|
8
|
+
* A logical gate leaf replaces the slot and a ternary gate leaf wraps the slot's enclosing element;
|
|
9
|
+
* `Show` or `Switch` replaces the slot in either case, so its parent must ignore its children.
|
|
10
|
+
*/
|
|
11
|
+
export function controlFlowGateMessage({ hostTags, state, usage }, gate) {
|
|
12
|
+
const references = usage.directRenderNodes;
|
|
13
|
+
const slot = references[0] ? hostChildSlot(references[0], hostTags) : null;
|
|
14
|
+
const read = {
|
|
15
|
+
observable: `${state.valueName}$`,
|
|
16
|
+
references,
|
|
17
|
+
values: stateValues(state, usage),
|
|
18
|
+
};
|
|
19
|
+
const control = slot ? controlFlowSlot(slot, read) : null;
|
|
20
|
+
const replacesGateLeaf = slot?.parent === gate.node ||
|
|
21
|
+
(control?.kind === "show" && control.alternate === null && control.content === gate.node);
|
|
22
|
+
if (!slot || !control || !replacesGateLeaf) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
const [component, selection] = control.kind === "show"
|
|
26
|
+
? ["Show", "calls the child function only while the condition holds"]
|
|
27
|
+
: ["Switch", "calls only the selected arm"];
|
|
28
|
+
return `Replace \`${state.valueName}\` with a component-lifetime observable and replace the state-controlled slot at line ${lineOf(slot)} with \`${controlFlowElement(control, read)}\`. \`${component}\` is the only subscriber: it stays mounted, ${selection}, and re-renders with this owner, so each branch keeps its mount behavior and current props.${elidedReadNote(control, read)}`;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The values React state can hold when its initializer and every setter call are literal or
|
|
32
|
+
* boolean-valued. A setter handed to other code could write anything, so it proves nothing.
|
|
33
|
+
*/
|
|
34
|
+
function stateValues(state, usage) {
|
|
35
|
+
const [initializer] = state.call.arguments;
|
|
36
|
+
const initial = initializer && state.call.arguments.length === 1 && usage.setterReferences === usage.setterCalls
|
|
37
|
+
? unwrapTransparentExpression(initializer)
|
|
38
|
+
: null;
|
|
39
|
+
const writes = usage.setterCallNodes.map(({ arguments: [argument, ...rest] }) => argument && rest.length === 0 ? unwrapTransparentExpression(argument) : null);
|
|
40
|
+
const literalWrites = [initial, ...writes].filter((write) => write !== null && ts.isStringLiteralLike(write));
|
|
41
|
+
return {
|
|
42
|
+
boolean: (initial?.kind === ts.SyntaxKind.TrueKeyword ||
|
|
43
|
+
initial?.kind === ts.SyntaxKind.FalseKeyword) &&
|
|
44
|
+
usage.setterCallNodes.every((call, index) => isPureBooleanSetter(call) || isNegatingUpdater(writes[index] ?? null)),
|
|
45
|
+
literals: initial && literalWrites.length === writes.length + 1
|
|
46
|
+
? new Set(literalWrites.map((write) => write.text))
|
|
47
|
+
: null,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/** `(value) => !value`. */
|
|
51
|
+
function isNegatingUpdater(updater) {
|
|
52
|
+
if (!updater ||
|
|
53
|
+
!ts.isArrowFunction(updater) ||
|
|
54
|
+
updater.parameters.length !== 1 ||
|
|
55
|
+
!ts.isExpression(updater.body)) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
const [parameter] = updater.parameters;
|
|
59
|
+
const body = unwrapTransparentExpression(updater.body);
|
|
60
|
+
return (parameter !== undefined &&
|
|
61
|
+
ts.isIdentifier(parameter.name) &&
|
|
62
|
+
ts.isPrefixUnaryExpression(body) &&
|
|
63
|
+
body.operator === ts.SyntaxKind.ExclamationToken &&
|
|
64
|
+
isIdentifierNamed(body.operand, parameter.name.text));
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=control-flow-gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-flow-gate.js","sourceRoot":"","sources":["../../../../src/analysis/verdicts/control-flow-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subtree-verdicts.d.ts","sourceRoot":"","sources":["../../../../src/analysis/verdicts/subtree-verdicts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAA8B,MAAM,aAAa,CAAC;AAI/E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"subtree-verdicts.d.ts","sourceRoot":"","sources":["../../../../src/analysis/verdicts/subtree-verdicts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAA8B,MAAM,aAAa,CAAC;AAI/E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAY9E,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAClC,eAAe,GAAG,IAAI,CAuBxB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAClC,eAAe,GAAG,IAAI,CAsCxB;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,0BAA0B,GAClC,eAAe,GAAG,IAAI,CAYxB;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,0BAA0B,GAClC,eAAe,GAAG,IAAI,CAWxB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,0BAA0B,GAClC,eAAe,GAAG,IAAI,CAYxB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,0BAA0B,GAClC,eAAe,GAAG,IAAI,CA6BxB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,0BAA0B,GAClC,eAAe,GAAG,IAAI,CAoCxB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,0BAA0B,GAClC,eAAe,GAAG,IAAI,CA+BxB;AAgBD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,eAAe,GAAG,IAAI,CAyB/F;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,eAAe,GAAG,IAAI,CAiB/F;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAClC,eAAe,GAAG,IAAI,CAoCxB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DEFAULT_PRESENTATION_LEAF_COUNT, WIDE_OWNER_LINE_SPAN } from "../constants.js";
|
|
2
2
|
import { isCustomHookOwner, ownerLineSpan } from "../ast-helpers.js";
|
|
3
3
|
import { isStructuralLegendCandidate, legendCandidateMessage } from "../finding-format.js";
|
|
4
|
+
import { controlFlowGateMessage } from "./control-flow-gate.js";
|
|
4
5
|
import { hasNoEffectReads } from "../state-usage.js";
|
|
5
6
|
import { jsxElementCount } from "../../rules/state-proofs/jsx-subtrees.js";
|
|
6
7
|
import { passThroughScope } from "./pass-through-leaf.js";
|
|
@@ -205,7 +206,8 @@ export function gatedSubtreeVerdict(context) {
|
|
|
205
206
|
return {
|
|
206
207
|
action: "use-observable",
|
|
207
208
|
confidence: "probable",
|
|
208
|
-
message:
|
|
209
|
+
message: controlFlowGateMessage(context, gateSubtree) ??
|
|
210
|
+
`Replace \`${state.valueName}\` with a component-lifetime observable and replace the full state-controlled render expression at the ${gateSubtree.label} boundary on line ${gateSubtree.line} with one always-mounted leaf subscriber; evaluate the complete gate and its selected content inside that wrapper so an initially hidden child can still open.`,
|
|
209
211
|
};
|
|
210
212
|
}
|
|
211
213
|
if (projectionSubtree && !hasCompanionWrites) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subtree-verdicts.js","sourceRoot":"","sources":["../../../../src/analysis/verdicts/subtree-verdicts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"subtree-verdicts.js","sourceRoot":"","sources":["../../../../src/analysis/verdicts/subtree-verdicts.ts"],"names":[],"mappings":"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"}
|
package/dist/src/core/types.d.ts
CHANGED
|
@@ -70,7 +70,7 @@ type StateAction = (typeof STATE_ACTIONS)[number];
|
|
|
70
70
|
declare const EFFECT_ACTIONS: readonly ["delete-effect", "move-to-event", "reset-during-render", "use-mount", "use-unmount", "use-observe-effect", "persist-observable", "keep-effect", "review-effect"];
|
|
71
71
|
type EffectAction = (typeof EFFECT_ACTIONS)[number];
|
|
72
72
|
type HookAction = StateAction | EffectAction;
|
|
73
|
-
declare const LEGEND_PRACTICE_ACTIONS: readonly ["select-primitive-projection", "assign-observable-fields", "batch-observable-writes", "move-use-value-into-child", "move-use-value-down", "narrow-observable-write", "narrow-use-value-subscription", "pass-observable-to-use-value", "peek-unrendered-use-value", "replace-legacy-use-value", "reuse-observable-reference", "select-stable-selector-result", "snapshot-mutated-use-value", "split-use-value-leaves", "toggle-observable", "use-computed-for-parent-reads", "use-peek-for-snapshot", "use-value-for-render-read"];
|
|
73
|
+
declare const LEGEND_PRACTICE_ACTIONS: readonly ["select-primitive-projection", "assign-observable-fields", "batch-observable-writes", "move-use-value-into-child", "move-use-value-down", "narrow-observable-write", "narrow-use-value-subscription", "pass-observable-to-use-value", "peek-unrendered-use-value", "render-list-with-for", "replace-legacy-use-value", "reuse-observable-reference", "select-stable-selector-result", "snapshot-mutated-use-value", "split-use-value-leaves", "toggle-observable", "use-computed-for-parent-reads", "use-peek-for-snapshot", "use-value-for-render-read"];
|
|
74
74
|
type LegendPracticeAction = (typeof LEGEND_PRACTICE_ACTIONS)[number];
|
|
75
75
|
/** Practice actions whose findings can carry `edits`. */
|
|
76
76
|
declare const EDITABLE_PRACTICE_ACTIONS: readonly ["narrow-use-value-subscription", "pass-observable-to-use-value", "replace-legacy-use-value", "select-primitive-projection", "use-computed-for-parent-reads", "use-peek-for-snapshot", "use-value-for-render-read"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEtE,KAAK,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;AAGzC,QAAA,MAAM,cAAc,EAAG,CAAU,CAAC;AAElC,QAAA,MAAM,kBAAkB,seAiBd,CAAC;AAEX,KAAK,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,QAAA,MAAM,WAAW,wCAAyC,CAAC;AAE3D,KAAK,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9C,KAAK,gBAAgB,GAAG,IAAI,GAAG,KAAK,CAAC;AAErC,KAAK,gBAAgB,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;AAEpE,sEAAsE;AACtE,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,oFAAoF;AACpF,UAAU,cAAc;IACtB,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,KAAK,iBAAiB,GAClB,OAAO,CAAC,WAAW,EAAE,sBAAsB,GAAG,qBAAqB,GAAG,YAAY,CAAC,GACnF,qBAAqB,CAAC;AAE1B,iFAAiF;AACjF,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED,wEAAwE;AACxE,UAAU,eAAe;IACvB,mGAAmG;IACnG,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,wFAAwF;IACxF,WAAW,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,EAAE,EAAE,MAAM,CAAC;IACX,iFAAiF;IACjF,WAAW,EAAE,iBAAiB,CAAC;IAC/B,uGAAuG;IACvG,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAClC,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAC;IACjB,0FAA0F;IAC1F,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,MAAM,EAAE,gBAAgB,CAAC;IACzB,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,QAAA,MAAM,aAAa,qJAST,CAAC;AAEX,KAAK,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAElD,QAAA,MAAM,cAAc,4KAUV,CAAC;AAEX,KAAK,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpD,KAAK,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC;AAE7C,QAAA,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"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"}
|
package/dist/src/core/types.js
CHANGED
|
@@ -50,6 +50,7 @@ const LEGEND_PRACTICE_ACTIONS = [
|
|
|
50
50
|
"narrow-use-value-subscription",
|
|
51
51
|
"pass-observable-to-use-value",
|
|
52
52
|
"peek-unrendered-use-value",
|
|
53
|
+
"render-list-with-for",
|
|
53
54
|
"replace-legacy-use-value",
|
|
54
55
|
"reuse-observable-reference",
|
|
55
56
|
"select-stable-selector-result",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"AAKA,oFAAoF;AACpF,MAAM,cAAc,GAAG,CAAU,CAAC;AAElC,MAAM,kBAAkB,GAAG;IACzB,iCAAiC;IACjC,4BAA4B;IAC5B,2BAA2B;IAC3B,4BAA4B;IAC5B,2BAA2B;IAC3B,8BAA8B;IAC9B,4BAA4B;IAC5B,gCAAgC;IAChC,mCAAmC;IACnC,yBAAyB;IACzB,wBAAwB;IACxB,2BAA2B;IAC3B,+BAA+B;IAC/B,wBAAwB;IACxB,qBAAqB;IACrB,uBAAuB;CACf,CAAC;AAIX,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;AAwE3D,MAAM,aAAa,GAAG;IACpB,YAAY;IACZ,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB;IAChB,WAAW;IACX,sBAAsB;IACtB,SAAS;IACT,cAAc;CACN,CAAC;AAIX,MAAM,cAAc,GAAG;IACrB,eAAe;IACf,eAAe;IACf,qBAAqB;IACrB,WAAW;IACX,aAAa;IACb,oBAAoB;IACpB,oBAAoB;IACpB,aAAa;IACb,eAAe;CACP,CAAC;AAMX,MAAM,uBAAuB,GAAG;IAC9B,6BAA6B;IAC7B,0BAA0B;IAC1B,yBAAyB;IACzB,2BAA2B;IAC3B,qBAAqB;IACrB,yBAAyB;IACzB,+BAA+B;IAC/B,8BAA8B;IAC9B,2BAA2B;IAC3B,0BAA0B;IAC1B,4BAA4B;IAC5B,+BAA+B;IAC/B,4BAA4B;IAC5B,wBAAwB;IACxB,mBAAmB;IACnB,+BAA+B;IAC/B,uBAAuB;IACvB,2BAA2B;CACnB,CAAC;AAIX,yDAAyD;AACzD,MAAM,yBAAyB,GAAG;IAChC,+BAA+B;IAC/B,8BAA8B;IAC9B,0BAA0B;IAC1B,6BAA6B;IAC7B,+BAA+B;IAC/B,uBAAuB;IACvB,2BAA2B;CACuB,CAAC;AAErD,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAEnE,MAAM,qBAAqB,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAU,CAAC;AAExE,MAAM,YAAY,GAAG;IACnB,SAAS;IACT,SAAS;IACT,UAAU;IACV,YAAY;IACZ,aAAa;IACb,mBAAmB;IACnB,aAAa;CACL,CAAC;AAEX,wFAAwF;AACxF,MAAM,uBAAuB,GAAG,CAAC,gBAAgB,CAAU,CAAC;AAwL5D,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,aAAa,GACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"AAKA,oFAAoF;AACpF,MAAM,cAAc,GAAG,CAAU,CAAC;AAElC,MAAM,kBAAkB,GAAG;IACzB,iCAAiC;IACjC,4BAA4B;IAC5B,2BAA2B;IAC3B,4BAA4B;IAC5B,2BAA2B;IAC3B,8BAA8B;IAC9B,4BAA4B;IAC5B,gCAAgC;IAChC,mCAAmC;IACnC,yBAAyB;IACzB,wBAAwB;IACxB,2BAA2B;IAC3B,+BAA+B;IAC/B,wBAAwB;IACxB,qBAAqB;IACrB,uBAAuB;CACf,CAAC;AAIX,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;AAwE3D,MAAM,aAAa,GAAG;IACpB,YAAY;IACZ,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB;IAChB,WAAW;IACX,sBAAsB;IACtB,SAAS;IACT,cAAc;CACN,CAAC;AAIX,MAAM,cAAc,GAAG;IACrB,eAAe;IACf,eAAe;IACf,qBAAqB;IACrB,WAAW;IACX,aAAa;IACb,oBAAoB;IACpB,oBAAoB;IACpB,aAAa;IACb,eAAe;CACP,CAAC;AAMX,MAAM,uBAAuB,GAAG;IAC9B,6BAA6B;IAC7B,0BAA0B;IAC1B,yBAAyB;IACzB,2BAA2B;IAC3B,qBAAqB;IACrB,yBAAyB;IACzB,+BAA+B;IAC/B,8BAA8B;IAC9B,2BAA2B;IAC3B,sBAAsB;IACtB,0BAA0B;IAC1B,4BAA4B;IAC5B,+BAA+B;IAC/B,4BAA4B;IAC5B,wBAAwB;IACxB,mBAAmB;IACnB,+BAA+B;IAC/B,uBAAuB;IACvB,2BAA2B;CACnB,CAAC;AAIX,yDAAyD;AACzD,MAAM,yBAAyB,GAAG;IAChC,+BAA+B;IAC/B,8BAA8B;IAC9B,0BAA0B;IAC1B,6BAA6B;IAC7B,+BAA+B;IAC/B,uBAAuB;IACvB,2BAA2B;CACuB,CAAC;AAErD,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAEnE,MAAM,qBAAqB,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAU,CAAC;AAExE,MAAM,YAAY,GAAG;IACnB,SAAS;IACT,SAAS;IACT,UAAU;IACV,YAAY;IACZ,aAAa;IACb,mBAAmB;IACnB,aAAa;CACL,CAAC;AAEX,wFAAwF;AACxF,MAAM,uBAAuB,GAAG,CAAC,gBAAgB,CAAU,CAAC;AAwL5D,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,aAAa,GACd,CAAC"}
|
|
@@ -4,7 +4,7 @@ import type { LegendPracticeFinding } from "../core/types.js";
|
|
|
4
4
|
import type { LegendPracticesRequest } from "./model.js";
|
|
5
5
|
import type { ObservableFieldFacts } from "../rules/observable-reads/field-writes.js";
|
|
6
6
|
import type { SubscriptionInventory } from "../core/subscriptions.js";
|
|
7
|
-
export type PracticeRuleId = "plain-primitive-projection" | "fresh-selector-results" | "in-place-memo-keys" | "legacy-use-value" | "memo-parent-captures" | "observable-clone-writes" | "observable-ownership" | "observable-reads" | "observable-toggle" | "observable-tracking" | "observable-transactions";
|
|
7
|
+
export type PracticeRuleId = "plain-primitive-projection" | "fresh-selector-results" | "in-place-memo-keys" | "legacy-use-value" | "memo-parent-captures" | "observable-clone-writes" | "observable-lists" | "observable-ownership" | "observable-reads" | "observable-toggle" | "observable-tracking" | "observable-transactions";
|
|
8
8
|
export type PracticeRuleGateReason = "react-compiler";
|
|
9
9
|
export interface PracticeRuleGate {
|
|
10
10
|
readonly detail: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"practice-rules.d.ts","sourceRoot":"","sources":["../../../src/practices/practice-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"practice-rules.d.ts","sourceRoot":"","sources":["../../../src/practices/practice-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAetE,MAAM,MAAM,cAAc,GACtB,4BAA4B,GAC5B,wBAAwB,GACxB,oBAAoB,GACpB,kBAAkB,GAClB,sBAAsB,GACtB,yBAAyB,GACzB,kBAAkB,GAClB,sBAAsB,GACtB,kBAAkB,GAClB,mBAAmB,GACnB,qBAAqB,GACrB,yBAAyB,CAAC;AAE9B,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,CAAC;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;CACzC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,4FAA4F;IAC5F,QAAQ,CAAC,SAAS,EAAE,qBAAqB,EAAE,GAAG,SAAS,CAAC;IACxD,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;CAC1C;AAED,MAAM,WAAW,YAAY;IAC3B,wFAAwF;IACxF,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,KAAK,gBAAgB,GAAG,IAAI,CAAC;IACpF,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAC5B,gFAAgF;IAChF,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,SAAS,qBAAqB,EAAE,CAAC;CAC9E;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;CAC/B;AAQD,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAyJjD,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,gBAAgB,GAAG,oBAAoB,EAAE,CAK5F;AAED,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,gBAAgB,GAAG,YAAY,EAAE,CAEnF"}
|
|
@@ -4,6 +4,7 @@ import { findInPlaceMemoKeyPractices } from "../rules/in-place-memo-keys/in-plac
|
|
|
4
4
|
import { findLegacyUseValuePractices } from "../rules/legacy-use-value.js";
|
|
5
5
|
import { findMemoParentCapturePractices } from "../rules/memo-parent-captures/memo-parent-captures.js";
|
|
6
6
|
import { findObservableCloneWritePractices } from "../rules/observable-clone-writes/observable-clone-writes.js";
|
|
7
|
+
import { findObservableListPractices } from "../rules/observable-lists/observable-lists.js";
|
|
7
8
|
import { findObservableOwnershipPractices } from "../rules/observable-ownership/observable-ownership.js";
|
|
8
9
|
import { findObservableReadPractices } from "../rules/observable-reads/observable-reads.js";
|
|
9
10
|
import { findObservableTogglePractices } from "../rules/observable-toggle.js";
|
|
@@ -133,6 +134,16 @@ export const PRACTICE_RULES = [
|
|
|
133
134
|
sourceFile: request.sourceFile,
|
|
134
135
|
}),
|
|
135
136
|
},
|
|
137
|
+
{
|
|
138
|
+
id: "observable-lists",
|
|
139
|
+
needsObservableBindings: true,
|
|
140
|
+
run: ({ imports, observableBindings, request }) => findObservableListPractices({
|
|
141
|
+
fileName: request.fileName,
|
|
142
|
+
imports,
|
|
143
|
+
observableBindings,
|
|
144
|
+
sourceFile: request.sourceFile,
|
|
145
|
+
}),
|
|
146
|
+
},
|
|
136
147
|
{
|
|
137
148
|
id: "observable-ownership",
|
|
138
149
|
needsObservableBindings: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"practice-rules.js","sourceRoot":"","sources":["../../../src/practices/practice-rules.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,mDAAmD,CAAC;AAChG,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,uDAAuD,CAAC;AACvG,OAAO,EAAE,iCAAiC,EAAE,MAAM,6DAA6D,CAAC;AAChH,OAAO,EAAE,gCAAgC,EAAE,MAAM,uDAAuD,CAAC;AACzG,OAAO,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AAC5F,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AACtG,OAAO,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"practice-rules.js","sourceRoot":"","sources":["../../../src/practices/practice-rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { HostTagImports } from "../../core/imports.js";
|
|
2
|
+
import type { JsxSubtreeNode } from "../deferred-reveal/jsx-subtrees.js";
|
|
3
|
+
import ts from "typescript";
|
|
4
|
+
/** The values a slot's state can hold, proven from its declaration and every write. */
|
|
5
|
+
export interface StateValues {
|
|
6
|
+
readonly boolean: boolean;
|
|
7
|
+
/** Every string the value can hold, or null when a write is not a string literal. */
|
|
8
|
+
readonly literals: ReadonlySet<string> | null;
|
|
9
|
+
}
|
|
10
|
+
/** The observable that replaces the slot's value, and every render read it replaces. */
|
|
11
|
+
export interface SlotRead {
|
|
12
|
+
readonly observable: string;
|
|
13
|
+
readonly references: readonly ts.Node[];
|
|
14
|
+
readonly values: StateValues;
|
|
15
|
+
}
|
|
16
|
+
export type ControlFlowSlot = {
|
|
17
|
+
readonly kind: "show";
|
|
18
|
+
readonly alternate: JsxSubtreeNode | null;
|
|
19
|
+
readonly condition: ts.Expression;
|
|
20
|
+
readonly content: JsxSubtreeNode;
|
|
21
|
+
} | {
|
|
22
|
+
readonly kind: "switch";
|
|
23
|
+
readonly arms: readonly SwitchArm[];
|
|
24
|
+
readonly fallback: JsxSubtreeNode | null;
|
|
25
|
+
};
|
|
26
|
+
interface SwitchArm {
|
|
27
|
+
readonly content: JsxSubtreeNode;
|
|
28
|
+
readonly label: string;
|
|
29
|
+
/** The compared read of the value. */
|
|
30
|
+
readonly reference: ts.Node;
|
|
31
|
+
}
|
|
32
|
+
export declare const UNPROVEN_VALUES: StateValues;
|
|
33
|
+
/**
|
|
34
|
+
* The child slot of a host element or fragment that holds `node` with no function in between. A
|
|
35
|
+
* host element or fragment never inspects its children, so a `Show`, `Switch`, or `For` element in
|
|
36
|
+
* the slot renders the same tree; a component such as `AnimatePresence` reads its direct children.
|
|
37
|
+
*/
|
|
38
|
+
export declare function hostChildSlot(node: ts.Node, hostTags: HostTagImports): ts.JsxExpression | null;
|
|
39
|
+
/** The host child slot whose whole expression is `expression`. */
|
|
40
|
+
export declare function wholeHostChildSlot(expression: ts.Expression, hostTags: HostTagImports): ts.JsxExpression | null;
|
|
41
|
+
/**
|
|
42
|
+
* The Legend control-flow component that renders `slot` exactly as written. `Show` evaluates its
|
|
43
|
+
* condition with the slot's truthiness and calls only the selected branch; `Switch` looks the value
|
|
44
|
+
* up among its arms. Both re-render with their parent, so captured owner values stay current, and
|
|
45
|
+
* both return the selected element from one position, so branch mount identity is unchanged. A
|
|
46
|
+
* slot that would track another observable, call a hook, or render a falsy non-boolean has no
|
|
47
|
+
* equivalent form.
|
|
48
|
+
*/
|
|
49
|
+
export declare function controlFlowSlot(slot: ts.JsxExpression, read: SlotRead): ControlFlowSlot | null;
|
|
50
|
+
/** The `Show` or `Switch` element that replaces the slot, with long branches elided. */
|
|
51
|
+
export declare function controlFlowElement(control: ControlFlowSlot, read: SlotRead): string;
|
|
52
|
+
/** Names the reads an elided branch must still rewrite, or an empty string when none are hidden. */
|
|
53
|
+
export declare function elidedReadNote(control: ControlFlowSlot, read: SlotRead): string;
|
|
54
|
+
/**
|
|
55
|
+
* A `get()` would start tracking inside a Legend selector or row observer, and a hook call cannot
|
|
56
|
+
* move into a conditionally called child function.
|
|
57
|
+
*/
|
|
58
|
+
export declare function readsTrackedOrHookState(node: ts.Node): boolean;
|
|
59
|
+
export {};
|
|
60
|
+
//# sourceMappingURL=control-flow-slots.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-flow-slots.d.ts","sourceRoot":"","sources":["../../../../src/rules/control-flow-components/control-flow-slots.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGzE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,uFAAuF;AACvF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,qFAAqF;IACrF,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;CAC/C;AAED,wFAAwF;AACxF,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAED,MAAM,MAAM,eAAe,GACvB;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;CAC1C,CAAC;AAEN,UAAU,SAAS;IACjB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC;CAC7B;AAED,eAAO,MAAM,eAAe,EAAE,WAAgD,CAAC;AAS/E;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,GAAG,EAAE,CAAC,aAAa,GAAG,IAAI,CAY9F;AAED,kEAAkE;AAClE,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,QAAQ,EAAE,cAAc,GACvB,EAAE,CAAC,aAAa,GAAG,IAAI,CAMzB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,EAAE,IAAI,EAAE,QAAQ,GAAG,eAAe,GAAG,IAAI,CAc9F;AAED,wFAAwF;AACxF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAkBnF;AAED,oGAAoG;AACpG,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAW/E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAO9D"}
|