@neocompose/cli 0.24.9 → 0.25.1
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/package.json
CHANGED
|
@@ -41,11 +41,12 @@ Read the relevant specs in full:
|
|
|
41
41
|
- [P50 loops](https://github.com/ryanbliss/neo-compose-specs/blob/main/new-features/p50-neoscript-for-and-foreach-loops.md)
|
|
42
42
|
- [P51 switch](https://github.com/ryanbliss/neo-compose-specs/blob/main/new-features/p51-neoscript-switch-statements.md)
|
|
43
43
|
- [P52 try/catch](https://github.com/ryanbliss/neo-compose-specs/blob/main/new-features/p52-neoscript-try-catch-blocks.md)
|
|
44
|
+
- [P55 breakable collection iteration](https://github.com/ryanbliss/neo-compose-specs/blob/main/neoscript/p55-breakable-collection-iteration.md)
|
|
44
45
|
- [P60 delegate parameters and selector targeting](https://github.com/ryanbliss/neo-compose-specs/blob/main/new-features/p60-closure-parameters-and-selector-targeting.md)
|
|
45
46
|
- [P61 initializer materialization](https://github.com/ryanbliss/neo-compose-specs/blob/main/new-features/complete/p61-initializer-materialization.md)
|
|
46
47
|
- [P64 NeoScript unit testing and push hooks](https://github.com/ryanbliss/neo-compose-specs/blob/main/new-features/p64-neoscript-unit-testing-and-push-hooks.md)
|
|
47
48
|
|
|
48
|
-
P38–P44, P47–P52, P60–P61, and the initial P64 test/push-hook vertical slice
|
|
49
|
+
P38–P44, P47–P52, P55, P60–P61, and the initial P64 test/push-hook vertical slice
|
|
49
50
|
are implemented. P45 remains deliberately deferred; do not
|
|
50
51
|
build or teach runtime-child provenance. P46 is a hardening proposal, not an
|
|
51
52
|
authoring capability. P52's document header still says proposed, but try/catch
|
|
@@ -82,7 +83,7 @@ wrappers.
|
|
|
82
83
|
The marker near the top of `SKILL.md` must exactly match the package version:
|
|
83
84
|
|
|
84
85
|
```html
|
|
85
|
-
<!-- reviewed-through-cli: 0.
|
|
86
|
+
<!-- reviewed-through-cli: 0.25.1 -->
|
|
86
87
|
```
|
|
87
88
|
|
|
88
89
|
The quoted version above is checked too, so this instruction cannot go stale
|
|
@@ -92,6 +92,20 @@ entry and its declared type is the entry type; `public Set<Config> Configs`
|
|
|
92
92
|
selects several. An initializer body for a single-select lookup returns one
|
|
93
93
|
entry, never a set.
|
|
94
94
|
|
|
95
|
+
Declare a multicast event as `NeoAction<…>`. Its value is an ordered listener
|
|
96
|
+
set, so give it a bracketed list of method groups — never a lambda, and never
|
|
97
|
+
a bare method group — and never mark it `required`: the rest state is the
|
|
98
|
+
empty set.
|
|
99
|
+
|
|
100
|
+
```neo
|
|
101
|
+
public NeoAction<int> OnDamaged = [PlayHitFlash, ApplyDamage];
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Subscribe and unsubscribe with `+=` and `-=` against the member reference
|
|
105
|
+
itself; both are durable writes deduplicated by target identity, so
|
|
106
|
+
re-running a subscription cannot double-subscribe. Invoke it as a statement —
|
|
107
|
+
an action is never a value, never a return type, and never assigned with `=`.
|
|
108
|
+
|
|
95
109
|
Keep generic project relations as typed top-level declarations in
|
|
96
110
|
`Relations.neo`. Let the compiler derive identities for owned descriptors and
|
|
97
111
|
concrete generic bindings.
|