@jay-framework/fullstack-component 0.8.0 → 0.9.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/README.md +327 -19
- package/dist/index.d.ts +69 -145
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -26,16 +26,117 @@ The `@jay-framework/fullstack-component` package provides a fluent builder API f
|
|
|
26
26
|
|
|
27
27
|
## Rendering Phases
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
- **Fast Rendering**: Use for dynamic data that can be cached
|
|
31
|
-
- **Partial Renders**: Only update the parts of the view state that change
|
|
32
|
-
- **Carry Forward**: Pass data between render phases to avoid recomputation
|
|
29
|
+
Jay Stack components support three rendering phases, each optimized for different data lifecycles:
|
|
33
30
|
|
|
34
|
-
| Rendering Phase
|
|
35
|
-
|
|
|
36
|
-
|
|
|
37
|
-
| Fast
|
|
38
|
-
| Interactive
|
|
31
|
+
| Rendering Phase | Rendered Where | When Rendered | Use Case |
|
|
32
|
+
| ------------------ | -------------- | ------------------------------ | --------------------------------- |
|
|
33
|
+
| **Slow (Static)** | SSR | Build time or data change time | Product names, descriptions, SKUs |
|
|
34
|
+
| **Fast (Dynamic)** | SSR | Page serving (per request) | Inventory, pricing, availability |
|
|
35
|
+
| **Interactive** | CSR | User interaction | Cart count, user selections |
|
|
36
|
+
|
|
37
|
+
### Phase-Based Type Validation
|
|
38
|
+
|
|
39
|
+
Jay Stack automatically generates **phase-specific ViewState types** from your contracts, ensuring that each render function can only return properties appropriate for its phase. This prevents accidentally including fast-changing data in slow renders or slow data in fast renders.
|
|
40
|
+
|
|
41
|
+
**Benefits:**
|
|
42
|
+
|
|
43
|
+
- 🛡️ **Compile-time safety**: TypeScript catches phase violations before deployment
|
|
44
|
+
- 📝 **Self-documenting**: The contract explicitly shows which data is static vs dynamic
|
|
45
|
+
- ⚡ **Performance**: Ensures optimal caching and rendering strategies
|
|
46
|
+
- 🎯 **Intent clarity**: Makes data lifecycle explicit in the contract
|
|
47
|
+
|
|
48
|
+
**Example:**
|
|
49
|
+
|
|
50
|
+
````typescript
|
|
51
|
+
// TypeScript automatically knows which properties are valid in each phase
|
|
52
|
+
.withSlowlyRender(async () => {
|
|
53
|
+
return partialRender({
|
|
54
|
+
productName: 'Widget', // ✅ Allowed (slow phase)
|
|
55
|
+
price: 29.99, // ❌ TypeScript Error: Not in SlowViewState
|
|
56
|
+
}, {});
|
|
57
|
+
})
|
|
58
|
+
.withFastRender(async () => {
|
|
59
|
+
return partialRender({
|
|
60
|
+
price: 29.99, // ✅ Allowed (fast phase)
|
|
61
|
+
productName: 'Widget', // ❌ TypeScript Error: Not in FastViewState
|
|
62
|
+
}, {});
|
|
63
|
+
})
|
|
64
|
+
|
|
65
|
+
### Specifying Phases in Contracts
|
|
66
|
+
|
|
67
|
+
You can annotate your contract properties with the `phase` attribute to control when data is rendered:
|
|
68
|
+
|
|
69
|
+
#### Jay HTML Contract
|
|
70
|
+
|
|
71
|
+
```html
|
|
72
|
+
<html>
|
|
73
|
+
<head>
|
|
74
|
+
<script type="application/yaml-jay">
|
|
75
|
+
data:
|
|
76
|
+
# Static data - rendered at build time
|
|
77
|
+
- {tag: productName, dataType: string, phase: slow}
|
|
78
|
+
- {tag: description, dataType: string, phase: slow}
|
|
79
|
+
- {tag: sku, dataType: string, phase: slow}
|
|
80
|
+
|
|
81
|
+
# Dynamic data - rendered per request
|
|
82
|
+
- {tag: price, dataType: number, phase: fast}
|
|
83
|
+
- {tag: inStock, dataType: boolean, phase: fast}
|
|
84
|
+
|
|
85
|
+
# No phase specified = defaults to 'slow'
|
|
86
|
+
- {tag: category, dataType: string}
|
|
87
|
+
</script>
|
|
88
|
+
</head>
|
|
89
|
+
<body>
|
|
90
|
+
<div>
|
|
91
|
+
<h1>{productName}</h1>
|
|
92
|
+
<p>{description}</p>
|
|
93
|
+
<p>Price: ${price}</p>
|
|
94
|
+
</div>
|
|
95
|
+
</body>
|
|
96
|
+
</html>
|
|
97
|
+
````
|
|
98
|
+
|
|
99
|
+
#### Jay Contract (Headless)
|
|
100
|
+
|
|
101
|
+
```yaml
|
|
102
|
+
name: product-contract
|
|
103
|
+
tags:
|
|
104
|
+
# Static product information
|
|
105
|
+
- tag: productName
|
|
106
|
+
dataType: string
|
|
107
|
+
phase: slow
|
|
108
|
+
|
|
109
|
+
- tag: description
|
|
110
|
+
dataType: string
|
|
111
|
+
phase: slow
|
|
112
|
+
|
|
113
|
+
- tag: sku
|
|
114
|
+
dataType: string
|
|
115
|
+
phase: slow
|
|
116
|
+
|
|
117
|
+
# Dynamic pricing and availability
|
|
118
|
+
- tag: price
|
|
119
|
+
dataType: number
|
|
120
|
+
phase: fast
|
|
121
|
+
|
|
122
|
+
- tag: inStock
|
|
123
|
+
dataType: boolean
|
|
124
|
+
phase: fast
|
|
125
|
+
|
|
126
|
+
# Interactive elements go in refs, not data
|
|
127
|
+
interactive:
|
|
128
|
+
- tag: addToCartButton
|
|
129
|
+
elementType: [button]
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**Phase Rules:**
|
|
133
|
+
|
|
134
|
+
- `slow`: Value is set at build time (default if not specified)
|
|
135
|
+
- `fast`: Value is set at request time
|
|
136
|
+
- `fast+interactive`: Value is set at request time and can be modified on the client
|
|
137
|
+
- `interactive` tags are implicitly `fast+interactive` and go into the `Refs` type, not `ViewState`
|
|
138
|
+
- For nested objects, the parent's phase serves as the default for children
|
|
139
|
+
- Array children cannot have an earlier phase than their parent array
|
|
39
140
|
|
|
40
141
|
## Installation
|
|
41
142
|
|
|
@@ -57,12 +158,15 @@ For headless components, create a Jay Contract file (`my-contract.jay-contract`)
|
|
|
57
158
|
<head>
|
|
58
159
|
<script type="application/yaml-jay">
|
|
59
160
|
data:
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
161
|
+
# User profile data - slow changing
|
|
162
|
+
- {tag: id, dataType: string, phase: slow}
|
|
163
|
+
- {tag: name, dataType: string, phase: slow}
|
|
164
|
+
- {tag: age, dataType: number, phase: slow}
|
|
165
|
+
- {tag: address, dataType: string, phase: slow}
|
|
166
|
+
|
|
167
|
+
# User ratings - fast changing
|
|
168
|
+
- {tag: stars, dataType: number, phase: fast}
|
|
169
|
+
- {tag: rating, dataType: number, phase: fast}
|
|
66
170
|
</script>
|
|
67
171
|
</head>
|
|
68
172
|
<body>
|
|
@@ -84,18 +188,31 @@ For headless components, create a Jay Contract file (`my-contract.jay-contract`)
|
|
|
84
188
|
```yaml
|
|
85
189
|
name: my-contract
|
|
86
190
|
tags:
|
|
191
|
+
# User profile data - slow changing
|
|
87
192
|
- tag: id
|
|
88
193
|
dataType: string
|
|
194
|
+
phase: slow
|
|
195
|
+
|
|
89
196
|
- tag: name
|
|
90
197
|
dataType: string
|
|
198
|
+
phase: slow
|
|
199
|
+
|
|
91
200
|
- tag: age
|
|
92
201
|
dataType: number
|
|
202
|
+
phase: slow
|
|
203
|
+
|
|
93
204
|
- tag: address
|
|
94
205
|
dataType: string
|
|
206
|
+
phase: slow
|
|
207
|
+
|
|
208
|
+
# User ratings - fast changing
|
|
95
209
|
- tag: stars
|
|
96
210
|
dataType: number
|
|
211
|
+
phase: fast
|
|
212
|
+
|
|
97
213
|
- tag: rating
|
|
98
214
|
dataType: number
|
|
215
|
+
phase: fast
|
|
99
216
|
```
|
|
100
217
|
|
|
101
218
|
### 2. Generate Definition Files
|
|
@@ -106,6 +223,47 @@ Run the Jay CLI to generate TypeScript definition files from your Jay HTML or co
|
|
|
106
223
|
jay-cli definitions <path to your sources>
|
|
107
224
|
```
|
|
108
225
|
|
|
226
|
+
This will generate a `.d.ts` file with:
|
|
227
|
+
|
|
228
|
+
- **Full ViewState**: All properties from your contract
|
|
229
|
+
- **Phase-specific ViewStates**: Separate types for `Slow`, `Fast`, and `Interactive` phases
|
|
230
|
+
- **Contract type**: A `JayContract` type that includes all ViewState types
|
|
231
|
+
|
|
232
|
+
**Generated Types Example** (`my-component.jay-html.d.ts`):
|
|
233
|
+
|
|
234
|
+
```typescript
|
|
235
|
+
import { JayContract } from '@jay-framework/fullstack-component';
|
|
236
|
+
|
|
237
|
+
// Full ViewState - all properties
|
|
238
|
+
export interface MyComponentViewState {
|
|
239
|
+
id: string;
|
|
240
|
+
name: string;
|
|
241
|
+
age: number;
|
|
242
|
+
address: string;
|
|
243
|
+
stars: number;
|
|
244
|
+
rating: number;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
export interface MyComponentElementRefs {}
|
|
248
|
+
|
|
249
|
+
// Phase-specific ViewStates (automatically generated)
|
|
250
|
+
export type MyComponentSlowViewState = Pick<
|
|
251
|
+
MyComponentViewState,
|
|
252
|
+
'id' | 'name' | 'age' | 'address'
|
|
253
|
+
>;
|
|
254
|
+
export type MyComponentFastViewState = Pick<MyComponentViewState, 'stars' | 'rating'>;
|
|
255
|
+
export type MyComponentInteractiveViewState = {};
|
|
256
|
+
|
|
257
|
+
// Contract type with all ViewState types
|
|
258
|
+
export type MyComponentContract = JayContract<
|
|
259
|
+
MyComponentViewState,
|
|
260
|
+
MyComponentElementRefs,
|
|
261
|
+
MyComponentSlowViewState,
|
|
262
|
+
MyComponentFastViewState,
|
|
263
|
+
MyComponentInteractiveViewState
|
|
264
|
+
>;
|
|
265
|
+
```
|
|
266
|
+
|
|
109
267
|
### 3. Build Your Full-Stack Component
|
|
110
268
|
|
|
111
269
|
```typescript
|
|
@@ -258,16 +416,24 @@ After props, the function receives the services declared using `withServices`.
|
|
|
258
416
|
|
|
259
417
|
The function should return one of:
|
|
260
418
|
|
|
261
|
-
- `PartialRender<
|
|
419
|
+
- `PartialRender<SlowViewState, CarryForward>` - for partial rendering
|
|
262
420
|
- `ServerError5xx` - for server errors
|
|
263
421
|
- `Redirect3xx` - for semi-static redirects
|
|
264
422
|
|
|
423
|
+
**Type Safety:** TypeScript automatically validates that `partialRender` only receives properties from `SlowViewState` (as defined by `phase: slow` in your contract).
|
|
424
|
+
|
|
265
425
|
```typescript
|
|
266
426
|
makeJayStackComponent<MyComponentContract>()
|
|
267
427
|
.withServices(DATABASE_SERVICE)
|
|
268
428
|
.withSlowlyRender(async (props, database: Database) => {
|
|
269
429
|
const data = await database.getData();
|
|
270
|
-
return partialRender(
|
|
430
|
+
return partialRender(
|
|
431
|
+
{
|
|
432
|
+
productName: data.name, // ✅ OK if phase: slow
|
|
433
|
+
// price: data.price, // ❌ TypeScript error if phase: fast
|
|
434
|
+
},
|
|
435
|
+
{ carryForwardKey: data.id },
|
|
436
|
+
);
|
|
271
437
|
});
|
|
272
438
|
```
|
|
273
439
|
|
|
@@ -284,17 +450,26 @@ After that, the function receives the services declared using `withServices`.
|
|
|
284
450
|
|
|
285
451
|
The function should return one of:
|
|
286
452
|
|
|
287
|
-
- `PartialRender<
|
|
453
|
+
- `PartialRender<FastViewState, CarryForward>` - for partial rendering
|
|
288
454
|
- `ServerError5xx` - for server errors
|
|
289
455
|
- `ClientError4xx` - for client errors
|
|
290
456
|
- `Redirect3xx` - for dynamic redirects
|
|
291
457
|
|
|
458
|
+
**Type Safety:** TypeScript automatically validates that `partialRender` only receives properties from `FastViewState` (as defined by `phase: fast` in your contract).
|
|
459
|
+
|
|
292
460
|
```typescript
|
|
293
461
|
makeJayStackComponent<MyComponentContract>()
|
|
294
462
|
.withServices(INVENTORY_SERVICE)
|
|
295
463
|
.withFastRender(async (props, carryForward, inventory: InventoryService) => {
|
|
296
464
|
const status = await inventory.getStatus(carryForward.productId);
|
|
297
|
-
return partialRender(
|
|
465
|
+
return partialRender(
|
|
466
|
+
{
|
|
467
|
+
inStock: status.available > 0, // ✅ OK if phase: fast
|
|
468
|
+
price: 29.99, // ✅ OK if phase: fast
|
|
469
|
+
// productName: 'Widget', // ❌ TypeScript error if phase: slow
|
|
470
|
+
},
|
|
471
|
+
{ carryForwardKey: 'data' },
|
|
472
|
+
);
|
|
298
473
|
});
|
|
299
474
|
```
|
|
300
475
|
|
|
@@ -357,6 +532,139 @@ Creates a redirect response.
|
|
|
357
532
|
return redirect3xx(301, 'http://some.domain.com');
|
|
358
533
|
```
|
|
359
534
|
|
|
535
|
+
## Complete Example with Phase Validation
|
|
536
|
+
|
|
537
|
+
Here's a complete example showing how phase annotations in your contract provide compile-time type safety:
|
|
538
|
+
|
|
539
|
+
### 1. Define Contract with Phases
|
|
540
|
+
|
|
541
|
+
**`user-profile.jay-html`**:
|
|
542
|
+
|
|
543
|
+
```html
|
|
544
|
+
<html>
|
|
545
|
+
<head>
|
|
546
|
+
<script type="application/yaml-jay">
|
|
547
|
+
data:
|
|
548
|
+
# Static user info - rendered at build time
|
|
549
|
+
- {tag: userId, dataType: string, phase: slow}
|
|
550
|
+
- {tag: username, dataType: string, phase: slow}
|
|
551
|
+
- {tag: bio, dataType: string, phase: slow}
|
|
552
|
+
|
|
553
|
+
# Dynamic activity - rendered per request
|
|
554
|
+
- {tag: lastSeen, dataType: string, phase: fast}
|
|
555
|
+
- {tag: isOnline, dataType: boolean, phase: fast}
|
|
556
|
+
- {tag: followerCount, dataType: number, phase: fast}
|
|
557
|
+
</script>
|
|
558
|
+
</head>
|
|
559
|
+
<body>
|
|
560
|
+
<div>
|
|
561
|
+
<h1>{username}</h1>
|
|
562
|
+
<p>{bio}</p>
|
|
563
|
+
<p>Followers: {followerCount}</p>
|
|
564
|
+
<span>{isOnline ? 'Online' : 'Last seen: ' + lastSeen}</span>
|
|
565
|
+
</div>
|
|
566
|
+
</body>
|
|
567
|
+
</html>
|
|
568
|
+
```
|
|
569
|
+
|
|
570
|
+
### 2. Generated Types
|
|
571
|
+
|
|
572
|
+
**`user-profile.jay-html.d.ts`** (auto-generated):
|
|
573
|
+
|
|
574
|
+
```typescript
|
|
575
|
+
export interface UserProfileViewState {
|
|
576
|
+
userId: string;
|
|
577
|
+
username: string;
|
|
578
|
+
bio: string;
|
|
579
|
+
lastSeen: string;
|
|
580
|
+
isOnline: boolean;
|
|
581
|
+
followerCount: number;
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
export interface UserProfileElementRefs {}
|
|
585
|
+
|
|
586
|
+
// Phase-specific types - automatically generated
|
|
587
|
+
export type UserProfileSlowViewState = Pick<UserProfileViewState, 'userId' | 'username' | 'bio'>;
|
|
588
|
+
export type UserProfileFastViewState = Pick<
|
|
589
|
+
UserProfileViewState,
|
|
590
|
+
'lastSeen' | 'isOnline' | 'followerCount'
|
|
591
|
+
>;
|
|
592
|
+
export type UserProfileInteractiveViewState = {};
|
|
593
|
+
|
|
594
|
+
export type UserProfileContract = JayContract<
|
|
595
|
+
UserProfileViewState,
|
|
596
|
+
UserProfileElementRefs,
|
|
597
|
+
UserProfileSlowViewState,
|
|
598
|
+
UserProfileFastViewState,
|
|
599
|
+
UserProfileInteractiveViewState
|
|
600
|
+
>;
|
|
601
|
+
```
|
|
602
|
+
|
|
603
|
+
### 3. Implement with Type Safety
|
|
604
|
+
|
|
605
|
+
```typescript
|
|
606
|
+
import {
|
|
607
|
+
makeJayStackComponent,
|
|
608
|
+
partialRender,
|
|
609
|
+
createJayService,
|
|
610
|
+
} from '@jay-framework/fullstack-component';
|
|
611
|
+
import { UserProfileContract } from './user-profile.jay-html';
|
|
612
|
+
|
|
613
|
+
interface UserDatabase {
|
|
614
|
+
getUser(id: string): Promise<{ id: string; name: string; bio: string }>;
|
|
615
|
+
}
|
|
616
|
+
const USER_DB = createJayService<UserDatabase>('UserDB');
|
|
617
|
+
|
|
618
|
+
interface ActivityService {
|
|
619
|
+
getUserActivity(id: string): Promise<{ lastSeen: string; isOnline: boolean; followers: number }>;
|
|
620
|
+
}
|
|
621
|
+
const ACTIVITY_SERVICE = createJayService<ActivityService>('Activity');
|
|
622
|
+
|
|
623
|
+
export const userProfile = makeJayStackComponent<UserProfileContract>()
|
|
624
|
+
.withProps()
|
|
625
|
+
.withServices(USER_DB, ACTIVITY_SERVICE)
|
|
626
|
+
.withSlowlyRender(async (props, userDb) => {
|
|
627
|
+
// ✅ TypeScript knows only slow properties are allowed
|
|
628
|
+
const user = await userDb.getUser('123');
|
|
629
|
+
return partialRender(
|
|
630
|
+
{
|
|
631
|
+
userId: user.id,
|
|
632
|
+
username: user.name,
|
|
633
|
+
bio: user.bio,
|
|
634
|
+
// followerCount: 100, // ❌ TypeScript Error: Property 'followerCount'
|
|
635
|
+
// does not exist in type 'UserProfileSlowViewState'
|
|
636
|
+
},
|
|
637
|
+
{ userId: user.id },
|
|
638
|
+
);
|
|
639
|
+
})
|
|
640
|
+
.withFastRender(async (props, carryForward, userDb, activityService) => {
|
|
641
|
+
// ✅ TypeScript knows only fast properties are allowed
|
|
642
|
+
const activity = await activityService.getUserActivity(carryForward.userId);
|
|
643
|
+
return partialRender(
|
|
644
|
+
{
|
|
645
|
+
lastSeen: activity.lastSeen,
|
|
646
|
+
isOnline: activity.isOnline,
|
|
647
|
+
followerCount: activity.followers,
|
|
648
|
+
// username: 'John', // ❌ TypeScript Error: Property 'username'
|
|
649
|
+
// does not exist in type 'UserProfileFastViewState'
|
|
650
|
+
},
|
|
651
|
+
{},
|
|
652
|
+
);
|
|
653
|
+
})
|
|
654
|
+
.withInteractive((props, refs) => {
|
|
655
|
+
return {
|
|
656
|
+
render: () => ({}),
|
|
657
|
+
};
|
|
658
|
+
});
|
|
659
|
+
```
|
|
660
|
+
|
|
661
|
+
**Key Benefits:**
|
|
662
|
+
|
|
663
|
+
- 🔒 **Compile-time guarantees**: TypeScript prevents phase violations before deployment
|
|
664
|
+
- 📊 **Clear separation**: Slow (static) data is visually separated from fast (dynamic) data
|
|
665
|
+
- ⚡ **Optimal performance**: Framework can cache slow data aggressively
|
|
666
|
+
- 🧹 **No boilerplate**: No manual type annotations needed in render functions
|
|
667
|
+
|
|
360
668
|
## Advanced Examples
|
|
361
669
|
|
|
362
670
|
### A Product Page with URL Parameters
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { JayComponentCore, ContextMarkers, ComponentConstructor } from '@jay-framework/component';
|
|
2
|
-
import { JayContract,
|
|
2
|
+
import { JayContract, ExtractRefs, ExtractSlowViewState, ExtractFastViewState, ExtractInteractiveViewState } from '@jay-framework/runtime';
|
|
3
|
+
export { ExtractFastViewState, ExtractInteractiveViewState, ExtractRefs, ExtractSlowViewState, ExtractViewState, JayContract } from '@jay-framework/runtime';
|
|
3
4
|
import { Getter, Setter } from '@jay-framework/reactive';
|
|
4
5
|
|
|
5
6
|
/**
|
|
@@ -57,17 +58,17 @@ type AnySlowlyRenderResult = SlowlyRenderResult<object, object>;
|
|
|
57
58
|
type FastRenderResult<ViewState extends object, CarryForward> = PartialRender<ViewState, CarryForward> | ServerError5xx | ClientError4xx | Redirect3xx;
|
|
58
59
|
type AnyFastRenderResult = FastRenderResult<object, object>;
|
|
59
60
|
type LoadParams<Services, Params extends UrlParams> = (contexts: Services) => AsyncIterable<Params[]>;
|
|
60
|
-
type RenderSlowly<Services extends Array<object>, PropsT extends object,
|
|
61
|
-
type RenderFast<Services extends Array<object>, PropsT extends object,
|
|
62
|
-
interface JayStackComponentDefinition<
|
|
61
|
+
type RenderSlowly<Services extends Array<object>, PropsT extends object, SlowViewState extends object, SlowlyCarryForward> = (props: PropsT, ...services: Services) => Promise<SlowlyRenderResult<SlowViewState, SlowlyCarryForward>>;
|
|
62
|
+
type RenderFast<Services extends Array<object>, PropsT extends object, FastViewState extends object, FastCarryForward> = (props: PropsT, ...services: Services) => Promise<FastRenderResult<FastViewState, FastCarryForward>>;
|
|
63
|
+
interface JayStackComponentDefinition<Refs extends object, SlowVS extends object, FastVS extends object, InteractiveVS extends object, Services extends Array<any>, Contexts extends Array<any>, PropsT extends object, Params extends UrlParams, CompCore extends JayComponentCore<PropsT, InteractiveVS>> {
|
|
63
64
|
services: ServiceMarkers<Services>;
|
|
64
65
|
contexts: ContextMarkers<Contexts>;
|
|
65
66
|
loadParams: LoadParams<Services, Params>;
|
|
66
|
-
slowlyRender: RenderSlowly<Services, PropsT,
|
|
67
|
-
fastRender: RenderFast<Services, PropsT,
|
|
68
|
-
comp: ComponentConstructor<PropsT, Refs,
|
|
67
|
+
slowlyRender: RenderSlowly<Services, PropsT, SlowVS, any>;
|
|
68
|
+
fastRender: RenderFast<Services, PropsT, FastVS, any>;
|
|
69
|
+
comp: ComponentConstructor<PropsT, Refs, InteractiveVS, Contexts, CompCore>;
|
|
69
70
|
}
|
|
70
|
-
type AnyJayStackComponentDefinition = JayStackComponentDefinition<object, object, object, object[], object[], object, UrlParams, any>;
|
|
71
|
+
type AnyJayStackComponentDefinition = JayStackComponentDefinition<object, object, object, object, object[], object[], object, UrlParams, any>;
|
|
71
72
|
|
|
72
73
|
declare function serverError5xx(status: number): ServerError5xx;
|
|
73
74
|
declare function clientError4xx(status: number): ClientError4xx;
|
|
@@ -79,160 +80,83 @@ type BuilderStates = 'Props' | 'Services' | 'Contexts' | 'UrlLoader' | 'SlowlyRe
|
|
|
79
80
|
type Signals<T extends object> = {
|
|
80
81
|
[K in keyof T]: K extends string ? [Getter<T[K]>, Setter<T[K]>] : T[K];
|
|
81
82
|
};
|
|
82
|
-
type Builder<State extends BuilderStates,
|
|
83
|
-
withProps<NewPropsT extends object>(): Builder<'Services',
|
|
84
|
-
} : State extends 'Services' ? JayStackComponentDefinition<
|
|
85
|
-
withServices<NewServices extends Array<any>>(...serviceMarkers: ServiceMarkers<NewServices>): Builder<'Contexts',
|
|
86
|
-
withContexts<NewContexts extends Array<any>>(...contextMarkers: ContextMarkers<NewContexts>): Builder<'UrlLoader',
|
|
87
|
-
withLoadParams<NewParams extends UrlParams>(loadParams: LoadParams<Services, NewParams>): Builder<'SlowlyRender',
|
|
88
|
-
withSlowlyRender<
|
|
83
|
+
type Builder<State extends BuilderStates, Refs extends object, SlowVS extends object, FastVS extends object, InteractiveVS extends object, Services extends Array<any>, Contexts extends Array<any>, PropsT extends object, Params extends UrlParams, CompCore extends JayComponentCore<PropsT, InteractiveVS>> = State extends 'Props' ? JayStackComponentDefinition<Refs, SlowVS, FastVS, InteractiveVS, Services, Contexts, PropsT, Params, CompCore> & {
|
|
84
|
+
withProps<NewPropsT extends object>(): Builder<'Services', Refs, SlowVS, FastVS, InteractiveVS, Services, Contexts, NewPropsT, Params, JayComponentCore<NewPropsT, InteractiveVS>>;
|
|
85
|
+
} : State extends 'Services' ? JayStackComponentDefinition<Refs, SlowVS, FastVS, InteractiveVS, Services, Contexts, PropsT, Params, CompCore> & {
|
|
86
|
+
withServices<NewServices extends Array<any>>(...serviceMarkers: ServiceMarkers<NewServices>): Builder<'Contexts', Refs, SlowVS, FastVS, InteractiveVS, NewServices, Contexts, PropsT, Params, CompCore>;
|
|
87
|
+
withContexts<NewContexts extends Array<any>>(...contextMarkers: ContextMarkers<NewContexts>): Builder<'UrlLoader', Refs, SlowVS, FastVS, InteractiveVS, Services, NewContexts, PropsT, Params, CompCore>;
|
|
88
|
+
withLoadParams<NewParams extends UrlParams>(loadParams: LoadParams<Services, NewParams>): Builder<'SlowlyRender', Refs, SlowVS, FastVS, InteractiveVS, Services, Contexts, PropsT & NewParams, NewParams, CompCore>;
|
|
89
|
+
withSlowlyRender<NewCarryForward extends object>(slowlyRender: RenderSlowly<Services, PropsT, SlowVS, NewCarryForward>): Builder<'FastRender', Refs, SlowVS, FastVS, InteractiveVS, [
|
|
89
90
|
NewCarryForward,
|
|
90
91
|
...Services
|
|
91
|
-
], Contexts, PropsT, Params, JayComponentCore<PropsT,
|
|
92
|
-
withFastRender<NewCarryForward extends object>(fastRender: RenderFast<Services, PropsT,
|
|
92
|
+
], Contexts, PropsT, Params, JayComponentCore<PropsT, InteractiveVS>>;
|
|
93
|
+
withFastRender<NewCarryForward extends object>(fastRender: RenderFast<Services, PropsT, FastVS, NewCarryForward>): Builder<'InteractiveRender', Refs, SlowVS, FastVS, InteractiveVS, Services, [
|
|
93
94
|
Signals<NewCarryForward>,
|
|
94
95
|
...Contexts
|
|
95
|
-
], PropsT, Params, JayComponentCore<PropsT,
|
|
96
|
-
withInteractive(comp: ComponentConstructor<PropsT, Refs,
|
|
97
|
-
} : State extends 'Contexts' ? JayStackComponentDefinition<
|
|
98
|
-
withContexts<NewContexts extends Array<any>>(...contextMarkers: ContextMarkers<NewContexts>): Builder<'UrlLoader',
|
|
99
|
-
withLoadParams<NewParams extends UrlParams>(loadParams: LoadParams<Services, NewParams>): Builder<'SlowlyRender',
|
|
100
|
-
withSlowlyRender<
|
|
96
|
+
], PropsT, Params, JayComponentCore<PropsT, InteractiveVS>>;
|
|
97
|
+
withInteractive(comp: ComponentConstructor<PropsT, Refs, InteractiveVS, Contexts, CompCore>): Builder<'Done', Refs, SlowVS, FastVS, InteractiveVS, Services, Contexts, PropsT, Params, CompCore>;
|
|
98
|
+
} : State extends 'Contexts' ? JayStackComponentDefinition<Refs, SlowVS, FastVS, InteractiveVS, Services, Contexts, PropsT, Params, CompCore> & {
|
|
99
|
+
withContexts<NewContexts extends Array<any>>(...contextMarkers: ContextMarkers<NewContexts>): Builder<'UrlLoader', Refs, SlowVS, FastVS, InteractiveVS, Services, NewContexts, PropsT, Params, CompCore>;
|
|
100
|
+
withLoadParams<NewParams extends UrlParams>(loadParams: LoadParams<Services, NewParams>): Builder<'SlowlyRender', Refs, SlowVS, FastVS, InteractiveVS, Services, Contexts, PropsT & NewParams, NewParams, CompCore>;
|
|
101
|
+
withSlowlyRender<NewCarryForward extends object>(slowlyRender: RenderSlowly<Services, PropsT, SlowVS, NewCarryForward>): Builder<'FastRender', Refs, SlowVS, FastVS, InteractiveVS, [
|
|
101
102
|
NewCarryForward,
|
|
102
103
|
...Services
|
|
103
|
-
], Contexts, PropsT, Params, JayComponentCore<PropsT,
|
|
104
|
-
withFastRender<NewCarryForward extends object>(fastRender: RenderFast<Services, PropsT,
|
|
104
|
+
], Contexts, PropsT, Params, JayComponentCore<PropsT, InteractiveVS>>;
|
|
105
|
+
withFastRender<NewCarryForward extends object>(fastRender: RenderFast<Services, PropsT, FastVS, NewCarryForward>): Builder<'InteractiveRender', Refs, SlowVS, FastVS, InteractiveVS, Services, [
|
|
105
106
|
Signals<NewCarryForward>,
|
|
106
107
|
...Contexts
|
|
107
|
-
], PropsT, Params, JayComponentCore<PropsT,
|
|
108
|
-
withInteractive(comp: ComponentConstructor<PropsT, Refs,
|
|
109
|
-
} : State extends 'UrlLoader' ? JayStackComponentDefinition<
|
|
110
|
-
withLoadParams<NewParams extends UrlParams>(loadParams: LoadParams<Services, NewParams>): Builder<'SlowlyRender',
|
|
111
|
-
withSlowlyRender<
|
|
108
|
+
], PropsT, Params, JayComponentCore<PropsT, InteractiveVS>>;
|
|
109
|
+
withInteractive(comp: ComponentConstructor<PropsT, Refs, InteractiveVS, Contexts, CompCore>): Builder<'Done', Refs, SlowVS, FastVS, InteractiveVS, Services, Contexts, PropsT, Params, CompCore>;
|
|
110
|
+
} : State extends 'UrlLoader' ? JayStackComponentDefinition<Refs, SlowVS, FastVS, InteractiveVS, Services, Contexts, PropsT, Params, CompCore> & {
|
|
111
|
+
withLoadParams<NewParams extends UrlParams>(loadParams: LoadParams<Services, NewParams>): Builder<'SlowlyRender', Refs, SlowVS, FastVS, InteractiveVS, Services, Contexts, PropsT & NewParams, NewParams, CompCore>;
|
|
112
|
+
withSlowlyRender<NewCarryForward extends object>(slowlyRender: RenderSlowly<Services, PropsT, SlowVS, NewCarryForward>): Builder<'FastRender', Refs, SlowVS, FastVS, InteractiveVS, [
|
|
112
113
|
NewCarryForward,
|
|
113
114
|
...Services
|
|
114
|
-
], Contexts, PropsT, Params, JayComponentCore<PropsT,
|
|
115
|
-
withFastRender<NewCarryForward extends object>(fastRender: RenderFast<Services, PropsT,
|
|
115
|
+
], Contexts, PropsT, Params, JayComponentCore<PropsT, InteractiveVS>>;
|
|
116
|
+
withFastRender<NewCarryForward extends object>(fastRender: RenderFast<Services, PropsT, FastVS, NewCarryForward>): Builder<'InteractiveRender', Refs, SlowVS, FastVS, InteractiveVS, Services, [
|
|
116
117
|
Signals<NewCarryForward>,
|
|
117
118
|
...Contexts
|
|
118
|
-
], PropsT, Params, JayComponentCore<PropsT,
|
|
119
|
-
withInteractive(comp: ComponentConstructor<PropsT, Refs,
|
|
120
|
-
} : State extends 'SlowlyRender' ? JayStackComponentDefinition<
|
|
121
|
-
withSlowlyRender<
|
|
119
|
+
], PropsT, Params, JayComponentCore<PropsT, InteractiveVS>>;
|
|
120
|
+
withInteractive(comp: ComponentConstructor<PropsT, Refs, InteractiveVS, Contexts, CompCore>): Builder<'Done', Refs, SlowVS, FastVS, InteractiveVS, Services, Contexts, PropsT, Params, CompCore>;
|
|
121
|
+
} : State extends 'SlowlyRender' ? JayStackComponentDefinition<Refs, SlowVS, FastVS, InteractiveVS, Services, Contexts, PropsT, Params, CompCore> & {
|
|
122
|
+
withSlowlyRender<NewCarryForward extends object>(slowlyRender: RenderSlowly<Services, PropsT, SlowVS, NewCarryForward>): Builder<'FastRender', Refs, SlowVS, FastVS, InteractiveVS, [
|
|
122
123
|
NewCarryForward,
|
|
123
124
|
...Services
|
|
124
|
-
], Contexts, PropsT, Params, JayComponentCore<PropsT,
|
|
125
|
-
withFastRender<NewCarryForward extends object>(fastRender: RenderFast<Services, PropsT,
|
|
125
|
+
], Contexts, PropsT, Params, JayComponentCore<PropsT, InteractiveVS>>;
|
|
126
|
+
withFastRender<NewCarryForward extends object>(fastRender: RenderFast<Services, PropsT, FastVS, NewCarryForward>): Builder<'InteractiveRender', Refs, SlowVS, FastVS, InteractiveVS, Services, [
|
|
126
127
|
Signals<NewCarryForward>,
|
|
127
128
|
...Contexts
|
|
128
|
-
], PropsT, Params, JayComponentCore<PropsT,
|
|
129
|
-
withInteractive(comp: ComponentConstructor<PropsT, Refs,
|
|
130
|
-
} : State extends 'FastRender' ? JayStackComponentDefinition<
|
|
131
|
-
withFastRender<NewCarryForward extends object>(fastRender: RenderFast<Services, PropsT,
|
|
129
|
+
], PropsT, Params, JayComponentCore<PropsT, InteractiveVS>>;
|
|
130
|
+
withInteractive(comp: ComponentConstructor<PropsT, Refs, InteractiveVS, Contexts, CompCore>): Builder<'Done', Refs, SlowVS, FastVS, InteractiveVS, Services, Contexts, PropsT, Params, CompCore>;
|
|
131
|
+
} : State extends 'FastRender' ? JayStackComponentDefinition<Refs, SlowVS, FastVS, InteractiveVS, Services, Contexts, PropsT, Params, CompCore> & {
|
|
132
|
+
withFastRender<NewCarryForward extends object>(fastRender: RenderFast<Services, PropsT, FastVS, NewCarryForward>): Builder<'InteractiveRender', Refs, SlowVS, FastVS, InteractiveVS, Services, [
|
|
132
133
|
Signals<NewCarryForward>,
|
|
133
134
|
...Contexts
|
|
134
|
-
], PropsT, Params, JayComponentCore<PropsT,
|
|
135
|
-
withInteractive(comp: ComponentConstructor<PropsT, Refs,
|
|
136
|
-
} : State extends 'InteractiveRender' ? JayStackComponentDefinition<
|
|
137
|
-
withInteractive(comp: ComponentConstructor<PropsT, Refs,
|
|
138
|
-
} : JayStackComponentDefinition<
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
};
|
|
161
|
-
withFastRender<NewCarryForward_5 extends object>(fastRender: RenderFast<NewServices, NewPropsT, ExtractViewState<Render>, NewCarryForward_5>): JayStackComponentDefinition<object, Partial<ExtractViewState<Render>>, ExtractRefs<Render>, NewServices, [Signals<NewCarryForward_5>, ...NewContexts], NewPropsT, {}, JayComponentCore<NewPropsT, Partial<ExtractViewState<Render>>>> & {
|
|
162
|
-
withInteractive(comp: ComponentConstructor<NewPropsT, ExtractRefs<Render>, Partial<ExtractViewState<Render>>, [Signals<NewCarryForward_5>, ...NewContexts], JayComponentCore<NewPropsT, Partial<ExtractViewState<Render>>>>): JayStackComponentDefinition<object, Partial<ExtractViewState<Render>>, ExtractRefs<Render>, NewServices, [Signals<NewCarryForward_5>, ...NewContexts], NewPropsT, {}, JayComponentCore<NewPropsT, Partial<ExtractViewState<Render>>>>;
|
|
163
|
-
};
|
|
164
|
-
withInteractive(comp: ComponentConstructor<NewPropsT, ExtractRefs<Render>, ExtractViewState<Render>, NewContexts, JayComponentCore<NewPropsT, ExtractViewState<Render>>>): JayStackComponentDefinition<object, ExtractViewState<Render>, ExtractRefs<Render>, NewServices, NewContexts, NewPropsT, {}, JayComponentCore<NewPropsT, ExtractViewState<Render>>>;
|
|
165
|
-
};
|
|
166
|
-
withLoadParams<NewParams_1 extends UrlParams>(loadParams: LoadParams<NewServices, NewParams_1>): JayStackComponentDefinition<object, ExtractViewState<Render>, ExtractRefs<Render>, NewServices, [], NewPropsT & NewParams_1, NewParams_1, JayComponentCore<NewPropsT, ExtractViewState<Render>>> & {
|
|
167
|
-
withSlowlyRender<NewStaticViewState_2 extends Partial<ExtractViewState<Render>>, NewCarryForward_6 extends object>(slowlyRender: RenderSlowly<NewServices, NewPropsT & NewParams_1, NewStaticViewState_2, NewCarryForward_6>): JayStackComponentDefinition<NewStaticViewState_2, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_2>, ExtractRefs<Render>, [NewCarryForward_6, ...NewServices], [], NewPropsT & NewParams_1, NewParams_1, JayComponentCore<NewPropsT & NewParams_1, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_2>>> & {
|
|
168
|
-
withFastRender<NewCarryForward_7 extends object>(fastRender: RenderFast<[NewCarryForward_6, ...NewServices], NewPropsT & NewParams_1, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_2>, NewCarryForward_7>): JayStackComponentDefinition<NewStaticViewState_2, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_2>>, ExtractRefs<Render>, [NewCarryForward_6, ...NewServices], [Signals<NewCarryForward_7>], NewPropsT & NewParams_1, NewParams_1, JayComponentCore<NewPropsT & NewParams_1, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_2>>>> & {
|
|
169
|
-
withInteractive(comp: ComponentConstructor<NewPropsT & NewParams_1, ExtractRefs<Render>, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_2>>, [Signals<NewCarryForward_7>], JayComponentCore<NewPropsT & NewParams_1, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_2>>>>): JayStackComponentDefinition<NewStaticViewState_2, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_2>>, ExtractRefs<Render>, [NewCarryForward_6, ...NewServices], [Signals<NewCarryForward_7>], NewPropsT & NewParams_1, NewParams_1, JayComponentCore<NewPropsT & NewParams_1, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_2>>>>;
|
|
170
|
-
};
|
|
171
|
-
withInteractive(comp: ComponentConstructor<NewPropsT & NewParams_1, ExtractRefs<Render>, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_2>, [], JayComponentCore<NewPropsT & NewParams_1, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_2>>>): JayStackComponentDefinition<NewStaticViewState_2, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_2>, ExtractRefs<Render>, [NewCarryForward_6, ...NewServices], [], NewPropsT & NewParams_1, NewParams_1, JayComponentCore<NewPropsT & NewParams_1, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_2>>>;
|
|
172
|
-
};
|
|
173
|
-
withFastRender<NewCarryForward_8 extends object>(fastRender: RenderFast<NewServices, NewPropsT & NewParams_1, ExtractViewState<Render>, NewCarryForward_8>): JayStackComponentDefinition<object, Partial<ExtractViewState<Render>>, ExtractRefs<Render>, NewServices, [Signals<NewCarryForward_8>], NewPropsT & NewParams_1, NewParams_1, JayComponentCore<NewPropsT & NewParams_1, Partial<ExtractViewState<Render>>>> & {
|
|
174
|
-
withInteractive(comp: ComponentConstructor<NewPropsT & NewParams_1, ExtractRefs<Render>, Partial<ExtractViewState<Render>>, [Signals<NewCarryForward_8>], JayComponentCore<NewPropsT & NewParams_1, Partial<ExtractViewState<Render>>>>): JayStackComponentDefinition<object, Partial<ExtractViewState<Render>>, ExtractRefs<Render>, NewServices, [Signals<NewCarryForward_8>], NewPropsT & NewParams_1, NewParams_1, JayComponentCore<NewPropsT & NewParams_1, Partial<ExtractViewState<Render>>>>;
|
|
175
|
-
};
|
|
176
|
-
withInteractive(comp: ComponentConstructor<NewPropsT & NewParams_1, ExtractRefs<Render>, ExtractViewState<Render>, [], JayComponentCore<NewPropsT, ExtractViewState<Render>>>): JayStackComponentDefinition<object, ExtractViewState<Render>, ExtractRefs<Render>, NewServices, [], NewPropsT & NewParams_1, NewParams_1, JayComponentCore<NewPropsT, ExtractViewState<Render>>>;
|
|
177
|
-
};
|
|
178
|
-
withSlowlyRender<NewStaticViewState_3 extends Partial<ExtractViewState<Render>>, NewCarryForward_9 extends object>(slowlyRender: RenderSlowly<NewServices, NewPropsT, NewStaticViewState_3, NewCarryForward_9>): JayStackComponentDefinition<NewStaticViewState_3, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_3>, ExtractRefs<Render>, [NewCarryForward_9, ...NewServices], [], NewPropsT, {}, JayComponentCore<NewPropsT, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_3>>> & {
|
|
179
|
-
withFastRender<NewCarryForward_10 extends object>(fastRender: RenderFast<[NewCarryForward_9, ...NewServices], NewPropsT, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_3>, NewCarryForward_10>): JayStackComponentDefinition<NewStaticViewState_3, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_3>>, ExtractRefs<Render>, [NewCarryForward_9, ...NewServices], [Signals<NewCarryForward_10>], NewPropsT, {}, JayComponentCore<NewPropsT, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_3>>>> & {
|
|
180
|
-
withInteractive(comp: ComponentConstructor<NewPropsT, ExtractRefs<Render>, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_3>>, [Signals<NewCarryForward_10>], JayComponentCore<NewPropsT, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_3>>>>): JayStackComponentDefinition<NewStaticViewState_3, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_3>>, ExtractRefs<Render>, [NewCarryForward_9, ...NewServices], [Signals<NewCarryForward_10>], NewPropsT, {}, JayComponentCore<NewPropsT, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_3>>>>;
|
|
181
|
-
};
|
|
182
|
-
withInteractive(comp: ComponentConstructor<NewPropsT, ExtractRefs<Render>, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_3>, [], JayComponentCore<NewPropsT, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_3>>>): JayStackComponentDefinition<NewStaticViewState_3, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_3>, ExtractRefs<Render>, [NewCarryForward_9, ...NewServices], [], NewPropsT, {}, JayComponentCore<NewPropsT, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_3>>>;
|
|
183
|
-
};
|
|
184
|
-
withFastRender<NewCarryForward_11 extends object>(fastRender: RenderFast<NewServices, NewPropsT, ExtractViewState<Render>, NewCarryForward_11>): JayStackComponentDefinition<object, Partial<ExtractViewState<Render>>, ExtractRefs<Render>, NewServices, [Signals<NewCarryForward_11>], NewPropsT, {}, JayComponentCore<NewPropsT, Partial<ExtractViewState<Render>>>> & {
|
|
185
|
-
withInteractive(comp: ComponentConstructor<NewPropsT, ExtractRefs<Render>, Partial<ExtractViewState<Render>>, [Signals<NewCarryForward_11>], JayComponentCore<NewPropsT, Partial<ExtractViewState<Render>>>>): JayStackComponentDefinition<object, Partial<ExtractViewState<Render>>, ExtractRefs<Render>, NewServices, [Signals<NewCarryForward_11>], NewPropsT, {}, JayComponentCore<NewPropsT, Partial<ExtractViewState<Render>>>>;
|
|
186
|
-
};
|
|
187
|
-
withInteractive(comp: ComponentConstructor<NewPropsT, ExtractRefs<Render>, ExtractViewState<Render>, [], JayComponentCore<NewPropsT, ExtractViewState<Render>>>): JayStackComponentDefinition<object, ExtractViewState<Render>, ExtractRefs<Render>, NewServices, [], NewPropsT, {}, JayComponentCore<NewPropsT, ExtractViewState<Render>>>;
|
|
188
|
-
};
|
|
189
|
-
withContexts<NewContexts_1 extends any[]>(...contextMarkers: ContextMarkers<NewContexts_1>): JayStackComponentDefinition<object, ExtractViewState<Render>, ExtractRefs<Render>, [], NewContexts_1, NewPropsT, {}, JayComponentCore<NewPropsT, ExtractViewState<Render>>> & {
|
|
190
|
-
withLoadParams<NewParams_2 extends UrlParams>(loadParams: LoadParams<[], NewParams_2>): JayStackComponentDefinition<object, ExtractViewState<Render>, ExtractRefs<Render>, [], NewContexts_1, NewPropsT & NewParams_2, NewParams_2, JayComponentCore<NewPropsT, ExtractViewState<Render>>> & {
|
|
191
|
-
withSlowlyRender<NewStaticViewState_4 extends Partial<ExtractViewState<Render>>, NewCarryForward_12 extends object>(slowlyRender: RenderSlowly<[], NewPropsT & NewParams_2, NewStaticViewState_4, NewCarryForward_12>): JayStackComponentDefinition<NewStaticViewState_4, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_4>, ExtractRefs<Render>, [NewCarryForward_12], NewContexts_1, NewPropsT & NewParams_2, NewParams_2, JayComponentCore<NewPropsT & NewParams_2, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_4>>> & {
|
|
192
|
-
withFastRender<NewCarryForward_13 extends object>(fastRender: RenderFast<[NewCarryForward_12], NewPropsT & NewParams_2, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_4>, NewCarryForward_13>): JayStackComponentDefinition<NewStaticViewState_4, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_4>>, ExtractRefs<Render>, [NewCarryForward_12], [Signals<NewCarryForward_13>, ...NewContexts_1], NewPropsT & NewParams_2, NewParams_2, JayComponentCore<NewPropsT & NewParams_2, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_4>>>> & {
|
|
193
|
-
withInteractive(comp: ComponentConstructor<NewPropsT & NewParams_2, ExtractRefs<Render>, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_4>>, [Signals<NewCarryForward_13>, ...NewContexts_1], JayComponentCore<NewPropsT & NewParams_2, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_4>>>>): JayStackComponentDefinition<NewStaticViewState_4, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_4>>, ExtractRefs<Render>, [NewCarryForward_12], [Signals<NewCarryForward_13>, ...NewContexts_1], NewPropsT & NewParams_2, NewParams_2, JayComponentCore<NewPropsT & NewParams_2, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_4>>>>;
|
|
194
|
-
};
|
|
195
|
-
withInteractive(comp: ComponentConstructor<NewPropsT & NewParams_2, ExtractRefs<Render>, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_4>, NewContexts_1, JayComponentCore<NewPropsT & NewParams_2, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_4>>>): JayStackComponentDefinition<NewStaticViewState_4, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_4>, ExtractRefs<Render>, [NewCarryForward_12], NewContexts_1, NewPropsT & NewParams_2, NewParams_2, JayComponentCore<NewPropsT & NewParams_2, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_4>>>;
|
|
196
|
-
};
|
|
197
|
-
withFastRender<NewCarryForward_14 extends object>(fastRender: RenderFast<[], NewPropsT & NewParams_2, ExtractViewState<Render>, NewCarryForward_14>): JayStackComponentDefinition<object, Partial<ExtractViewState<Render>>, ExtractRefs<Render>, [], [Signals<NewCarryForward_14>, ...NewContexts_1], NewPropsT & NewParams_2, NewParams_2, JayComponentCore<NewPropsT & NewParams_2, Partial<ExtractViewState<Render>>>> & {
|
|
198
|
-
withInteractive(comp: ComponentConstructor<NewPropsT & NewParams_2, ExtractRefs<Render>, Partial<ExtractViewState<Render>>, [Signals<NewCarryForward_14>, ...NewContexts_1], JayComponentCore<NewPropsT & NewParams_2, Partial<ExtractViewState<Render>>>>): JayStackComponentDefinition<object, Partial<ExtractViewState<Render>>, ExtractRefs<Render>, [], [Signals<NewCarryForward_14>, ...NewContexts_1], NewPropsT & NewParams_2, NewParams_2, JayComponentCore<NewPropsT & NewParams_2, Partial<ExtractViewState<Render>>>>;
|
|
199
|
-
};
|
|
200
|
-
withInteractive(comp: ComponentConstructor<NewPropsT & NewParams_2, ExtractRefs<Render>, ExtractViewState<Render>, NewContexts_1, JayComponentCore<NewPropsT, ExtractViewState<Render>>>): JayStackComponentDefinition<object, ExtractViewState<Render>, ExtractRefs<Render>, [], NewContexts_1, NewPropsT & NewParams_2, NewParams_2, JayComponentCore<NewPropsT, ExtractViewState<Render>>>;
|
|
201
|
-
};
|
|
202
|
-
withSlowlyRender<NewStaticViewState_5 extends Partial<ExtractViewState<Render>>, NewCarryForward_15 extends object>(slowlyRender: RenderSlowly<[], NewPropsT, NewStaticViewState_5, NewCarryForward_15>): JayStackComponentDefinition<NewStaticViewState_5, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_5>, ExtractRefs<Render>, [NewCarryForward_15], NewContexts_1, NewPropsT, {}, JayComponentCore<NewPropsT, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_5>>> & {
|
|
203
|
-
withFastRender<NewCarryForward_16 extends object>(fastRender: RenderFast<[NewCarryForward_15], NewPropsT, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_5>, NewCarryForward_16>): JayStackComponentDefinition<NewStaticViewState_5, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_5>>, ExtractRefs<Render>, [NewCarryForward_15], [Signals<NewCarryForward_16>, ...NewContexts_1], NewPropsT, {}, JayComponentCore<NewPropsT, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_5>>>> & {
|
|
204
|
-
withInteractive(comp: ComponentConstructor<NewPropsT, ExtractRefs<Render>, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_5>>, [Signals<NewCarryForward_16>, ...NewContexts_1], JayComponentCore<NewPropsT, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_5>>>>): JayStackComponentDefinition<NewStaticViewState_5, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_5>>, ExtractRefs<Render>, [NewCarryForward_15], [Signals<NewCarryForward_16>, ...NewContexts_1], NewPropsT, {}, JayComponentCore<NewPropsT, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_5>>>>;
|
|
205
|
-
};
|
|
206
|
-
withInteractive(comp: ComponentConstructor<NewPropsT, ExtractRefs<Render>, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_5>, NewContexts_1, JayComponentCore<NewPropsT, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_5>>>): JayStackComponentDefinition<NewStaticViewState_5, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_5>, ExtractRefs<Render>, [NewCarryForward_15], NewContexts_1, NewPropsT, {}, JayComponentCore<NewPropsT, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_5>>>;
|
|
207
|
-
};
|
|
208
|
-
withFastRender<NewCarryForward_17 extends object>(fastRender: RenderFast<[], NewPropsT, ExtractViewState<Render>, NewCarryForward_17>): JayStackComponentDefinition<object, Partial<ExtractViewState<Render>>, ExtractRefs<Render>, [], [Signals<NewCarryForward_17>, ...NewContexts_1], NewPropsT, {}, JayComponentCore<NewPropsT, Partial<ExtractViewState<Render>>>> & {
|
|
209
|
-
withInteractive(comp: ComponentConstructor<NewPropsT, ExtractRefs<Render>, Partial<ExtractViewState<Render>>, [Signals<NewCarryForward_17>, ...NewContexts_1], JayComponentCore<NewPropsT, Partial<ExtractViewState<Render>>>>): JayStackComponentDefinition<object, Partial<ExtractViewState<Render>>, ExtractRefs<Render>, [], [Signals<NewCarryForward_17>, ...NewContexts_1], NewPropsT, {}, JayComponentCore<NewPropsT, Partial<ExtractViewState<Render>>>>;
|
|
210
|
-
};
|
|
211
|
-
withInteractive(comp: ComponentConstructor<NewPropsT, ExtractRefs<Render>, ExtractViewState<Render>, NewContexts_1, JayComponentCore<NewPropsT, ExtractViewState<Render>>>): JayStackComponentDefinition<object, ExtractViewState<Render>, ExtractRefs<Render>, [], NewContexts_1, NewPropsT, {}, JayComponentCore<NewPropsT, ExtractViewState<Render>>>;
|
|
212
|
-
};
|
|
213
|
-
withLoadParams<NewParams_3 extends UrlParams>(loadParams: LoadParams<[], NewParams_3>): JayStackComponentDefinition<object, ExtractViewState<Render>, ExtractRefs<Render>, [], [], NewPropsT & NewParams_3, NewParams_3, JayComponentCore<NewPropsT, ExtractViewState<Render>>> & {
|
|
214
|
-
withSlowlyRender<NewStaticViewState_6 extends Partial<ExtractViewState<Render>>, NewCarryForward_18 extends object>(slowlyRender: RenderSlowly<[], NewPropsT & NewParams_3, NewStaticViewState_6, NewCarryForward_18>): JayStackComponentDefinition<NewStaticViewState_6, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_6>, ExtractRefs<Render>, [NewCarryForward_18], [], NewPropsT & NewParams_3, NewParams_3, JayComponentCore<NewPropsT & NewParams_3, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_6>>> & {
|
|
215
|
-
withFastRender<NewCarryForward_19 extends object>(fastRender: RenderFast<[NewCarryForward_18], NewPropsT & NewParams_3, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_6>, NewCarryForward_19>): JayStackComponentDefinition<NewStaticViewState_6, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_6>>, ExtractRefs<Render>, [NewCarryForward_18], [Signals<NewCarryForward_19>], NewPropsT & NewParams_3, NewParams_3, JayComponentCore<NewPropsT & NewParams_3, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_6>>>> & {
|
|
216
|
-
withInteractive(comp: ComponentConstructor<NewPropsT & NewParams_3, ExtractRefs<Render>, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_6>>, [Signals<NewCarryForward_19>], JayComponentCore<NewPropsT & NewParams_3, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_6>>>>): JayStackComponentDefinition<NewStaticViewState_6, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_6>>, ExtractRefs<Render>, [NewCarryForward_18], [Signals<NewCarryForward_19>], NewPropsT & NewParams_3, NewParams_3, JayComponentCore<NewPropsT & NewParams_3, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_6>>>>;
|
|
217
|
-
};
|
|
218
|
-
withInteractive(comp: ComponentConstructor<NewPropsT & NewParams_3, ExtractRefs<Render>, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_6>, [], JayComponentCore<NewPropsT & NewParams_3, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_6>>>): JayStackComponentDefinition<NewStaticViewState_6, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_6>, ExtractRefs<Render>, [NewCarryForward_18], [], NewPropsT & NewParams_3, NewParams_3, JayComponentCore<NewPropsT & NewParams_3, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_6>>>;
|
|
219
|
-
};
|
|
220
|
-
withFastRender<NewCarryForward_20 extends object>(fastRender: RenderFast<[], NewPropsT & NewParams_3, ExtractViewState<Render>, NewCarryForward_20>): JayStackComponentDefinition<object, Partial<ExtractViewState<Render>>, ExtractRefs<Render>, [], [Signals<NewCarryForward_20>], NewPropsT & NewParams_3, NewParams_3, JayComponentCore<NewPropsT & NewParams_3, Partial<ExtractViewState<Render>>>> & {
|
|
221
|
-
withInteractive(comp: ComponentConstructor<NewPropsT & NewParams_3, ExtractRefs<Render>, Partial<ExtractViewState<Render>>, [Signals<NewCarryForward_20>], JayComponentCore<NewPropsT & NewParams_3, Partial<ExtractViewState<Render>>>>): JayStackComponentDefinition<object, Partial<ExtractViewState<Render>>, ExtractRefs<Render>, [], [Signals<NewCarryForward_20>], NewPropsT & NewParams_3, NewParams_3, JayComponentCore<NewPropsT & NewParams_3, Partial<ExtractViewState<Render>>>>;
|
|
222
|
-
};
|
|
223
|
-
withInteractive(comp: ComponentConstructor<NewPropsT & NewParams_3, ExtractRefs<Render>, ExtractViewState<Render>, [], JayComponentCore<NewPropsT, ExtractViewState<Render>>>): JayStackComponentDefinition<object, ExtractViewState<Render>, ExtractRefs<Render>, [], [], NewPropsT & NewParams_3, NewParams_3, JayComponentCore<NewPropsT, ExtractViewState<Render>>>;
|
|
224
|
-
};
|
|
225
|
-
withSlowlyRender<NewStaticViewState_7 extends Partial<ExtractViewState<Render>>, NewCarryForward_21 extends object>(slowlyRender: RenderSlowly<[], NewPropsT, NewStaticViewState_7, NewCarryForward_21>): JayStackComponentDefinition<NewStaticViewState_7, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_7>, ExtractRefs<Render>, [NewCarryForward_21], [], NewPropsT, {}, JayComponentCore<NewPropsT, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_7>>> & {
|
|
226
|
-
withFastRender<NewCarryForward_22 extends object>(fastRender: RenderFast<[NewCarryForward_21], NewPropsT, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_7>, NewCarryForward_22>): JayStackComponentDefinition<NewStaticViewState_7, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_7>>, ExtractRefs<Render>, [NewCarryForward_21], [Signals<NewCarryForward_22>], NewPropsT, {}, JayComponentCore<NewPropsT, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_7>>>> & {
|
|
227
|
-
withInteractive(comp: ComponentConstructor<NewPropsT, ExtractRefs<Render>, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_7>>, [Signals<NewCarryForward_22>], JayComponentCore<NewPropsT, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_7>>>>): JayStackComponentDefinition<NewStaticViewState_7, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_7>>, ExtractRefs<Render>, [NewCarryForward_21], [Signals<NewCarryForward_22>], NewPropsT, {}, JayComponentCore<NewPropsT, Partial<Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_7>>>>;
|
|
228
|
-
};
|
|
229
|
-
withInteractive(comp: ComponentConstructor<NewPropsT, ExtractRefs<Render>, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_7>, [], JayComponentCore<NewPropsT, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_7>>>): JayStackComponentDefinition<NewStaticViewState_7, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_7>, ExtractRefs<Render>, [NewCarryForward_21], [], NewPropsT, {}, JayComponentCore<NewPropsT, Partial<ExtractViewState<Render>> & Omit<ExtractViewState<Render>, keyof NewStaticViewState_7>>>;
|
|
230
|
-
};
|
|
231
|
-
withFastRender<NewCarryForward_23 extends object>(fastRender: RenderFast<[], NewPropsT, ExtractViewState<Render>, NewCarryForward_23>): JayStackComponentDefinition<object, Partial<ExtractViewState<Render>>, ExtractRefs<Render>, [], [Signals<NewCarryForward_23>], NewPropsT, {}, JayComponentCore<NewPropsT, Partial<ExtractViewState<Render>>>> & {
|
|
232
|
-
withInteractive(comp: ComponentConstructor<NewPropsT, ExtractRefs<Render>, Partial<ExtractViewState<Render>>, [Signals<NewCarryForward_23>], JayComponentCore<NewPropsT, Partial<ExtractViewState<Render>>>>): JayStackComponentDefinition<object, Partial<ExtractViewState<Render>>, ExtractRefs<Render>, [], [Signals<NewCarryForward_23>], NewPropsT, {}, JayComponentCore<NewPropsT, Partial<ExtractViewState<Render>>>>;
|
|
233
|
-
};
|
|
234
|
-
withInteractive(comp: ComponentConstructor<NewPropsT, ExtractRefs<Render>, ExtractViewState<Render>, [], JayComponentCore<NewPropsT, ExtractViewState<Render>>>): JayStackComponentDefinition<object, ExtractViewState<Render>, ExtractRefs<Render>, [], [], NewPropsT, {}, JayComponentCore<NewPropsT, ExtractViewState<Render>>>;
|
|
235
|
-
};
|
|
236
|
-
};
|
|
135
|
+
], PropsT, Params, JayComponentCore<PropsT, InteractiveVS>>;
|
|
136
|
+
withInteractive(comp: ComponentConstructor<PropsT, Refs, InteractiveVS, Contexts, CompCore>): Builder<'Done', Refs, SlowVS, FastVS, InteractiveVS, Services, Contexts, PropsT, Params, CompCore>;
|
|
137
|
+
} : State extends 'InteractiveRender' ? JayStackComponentDefinition<Refs, SlowVS, FastVS, InteractiveVS, Services, Contexts, PropsT, Params, CompCore> & {
|
|
138
|
+
withInteractive(comp: ComponentConstructor<PropsT, Refs, InteractiveVS, Contexts, CompCore>): Builder<'Done', Refs, SlowVS, FastVS, InteractiveVS, Services, Contexts, PropsT, Params, CompCore>;
|
|
139
|
+
} : JayStackComponentDefinition<Refs, SlowVS, FastVS, InteractiveVS, Services, Contexts, PropsT, Params, CompCore>;
|
|
140
|
+
/**
|
|
141
|
+
* Create a Jay Stack component from a contract.
|
|
142
|
+
*
|
|
143
|
+
* For .jay-contract files with explicit phase annotations:
|
|
144
|
+
* - SlowViewState: Properties with phase: slow (or default)
|
|
145
|
+
* - FastViewState: Properties with phase: fast
|
|
146
|
+
* - InteractiveViewState: Properties with phase: fast+interactive
|
|
147
|
+
*
|
|
148
|
+
* For .jay-html files (backward compatible):
|
|
149
|
+
* - SlowViewState, FastViewState, InteractiveViewState default to `never`
|
|
150
|
+
*
|
|
151
|
+
* Note: Full type enforcement for phase-specific render functions requires
|
|
152
|
+
* extensive refactoring of the Builder type system. Currently, the phase types
|
|
153
|
+
* are extracted but not yet enforced. See design-log/50 for full implementation plan.
|
|
154
|
+
*
|
|
155
|
+
* TODO: Add type constraints to withSlowlyRender, withFastRender, withInteractive
|
|
156
|
+
* to enforce that returned/received ViewStates match the phase-specific types.
|
|
157
|
+
*/
|
|
158
|
+
declare function makeJayStackComponent<Render extends JayContract<any, any, any, any, any>>(): Builder<'Props', ExtractRefs<Render>, ExtractSlowViewState<Render>, ExtractFastViewState<Render>, ExtractInteractiveViewState<Render>, [
|
|
159
|
+
], [
|
|
160
|
+
], {}, {}, JayComponentCore<object, ExtractInteractiveViewState<Render>>>;
|
|
237
161
|
|
|
238
162
|
export { type AnyFastRenderResult, type AnyJayStackComponentDefinition, type AnySlowlyRenderResult, type Builder, type ClientError4xx, type FastRenderResult, type JayStackComponentDefinition, type LoadParams, type PageProps, type PartialRender, type Redirect3xx, type RenderFast, type RenderSlowly, type ServerError5xx, type ServiceMarker, type ServiceMarkers, type Signals, type SlowlyRenderResult, type UrlParams, clientError4xx, createJayService, makeJayStackComponent, notFound, partialRender, redirect3xx, serverError5xx };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jay-framework/fullstack-component",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -26,12 +26,12 @@
|
|
|
26
26
|
"test:watch": "vitest"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@jay-framework/component": "^0.
|
|
30
|
-
"@jay-framework/runtime": "^0.
|
|
29
|
+
"@jay-framework/component": "^0.9.0",
|
|
30
|
+
"@jay-framework/runtime": "^0.9.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@jay-framework/dev-environment": "^0.
|
|
34
|
-
"@jay-framework/jay-cli": "^0.
|
|
33
|
+
"@jay-framework/dev-environment": "^0.9.0",
|
|
34
|
+
"@jay-framework/jay-cli": "^0.9.0",
|
|
35
35
|
"@types/express": "^5.0.2",
|
|
36
36
|
"@types/node": "^22.15.21",
|
|
37
37
|
"nodemon": "^3.0.3",
|