palistor 0.0.28 → 0.0.30
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 +131 -50
- package/README.ru.md +128 -51
- package/dist/store/compute/recompute/recomputeTargeted.js +2 -2
- package/dist/store/compute/recompute/recomputeTargeted.js.map +1 -1
- package/dist/store/compute/recompute/types.d.ts +7 -0
- package/dist/store/compute/recompute/types.d.ts.map +1 -1
- package/dist/store/store/palistor.d.ts.map +1 -1
- package/dist/store/store/palistor.js +12 -7
- package/dist/store/store/palistor.js.map +1 -1
- package/package.json +12 -10
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Palistor
|
|
2
2
|
|
|
3
|
-
> A declarative framework for
|
|
3
|
+
> A declarative MVVM-like framework for React — AI-friendly, forms, lists and step wizards.
|
|
4
4
|
|
|
5
5
|
**English** | [Русский](./README.ru.md)
|
|
6
6
|
|
|
@@ -8,66 +8,62 @@
|
|
|
8
8
|
[](./LICENSE)
|
|
9
9
|
[](https://react.dev)
|
|
10
10
|
|
|
11
|
-
**Palistor is a declarative framework for stateful, data-driven React interfaces.**
|
|
11
|
+
**Palistor is a declarative MVVM-like framework for stateful, data-driven React interfaces.**
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
email: { value: "", isRequired: true },
|
|
17
|
-
phone: { value: "", isVisible: (v) => v.email !== "" },
|
|
18
|
-
},
|
|
19
|
-
});
|
|
13
|
+
Palistor splits the frontend into three layers:
|
|
14
|
+
|
|
15
|
+
1. The view layer. This is the JSX layer, stripped of everything except the actual rendering. By rendering here we mean markup, layout and styles.
|
|
20
16
|
|
|
17
|
+
A markup example (View in MVVM terms):
|
|
18
|
+
```tsx
|
|
21
19
|
function Form() {
|
|
22
20
|
const form = useForm(store);
|
|
21
|
+
|
|
23
22
|
return (
|
|
24
|
-
<
|
|
25
|
-
|
|
26
|
-
onChange={(e) => (form.email.value = e.target.value)}
|
|
23
|
+
<Input
|
|
24
|
+
{...form.email}
|
|
27
25
|
/>
|
|
26
|
+
{form.phone.isVisible && (
|
|
27
|
+
<Input
|
|
28
|
+
{...form.phone}
|
|
29
|
+
/>
|
|
30
|
+
)}
|
|
28
31
|
);
|
|
29
32
|
}
|
|
30
33
|
```
|
|
31
34
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
## The idea — three layers, not one store
|
|
35
|
-
|
|
36
|
-
Most React screens tangle three unrelated concerns inside components: how the screen **behaves** (validation, conditional fields, cross-field rules), where its **data** comes from (loading, caching, mutation) and how it **looks** (JSX). As the screen grows, the three braid together until every change touches everything. On top of that, the tangle of dependencies, useEffects, custom hooks and contexts keeps growing — and the screen ends up monolithic, unpredictable and hard to test.
|
|
35
|
+
2. The configuration layer.
|
|
37
36
|
|
|
38
|
-
|
|
37
|
+
A configuration example (ViewModel declaration in MVVM terms):
|
|
39
38
|
|
|
39
|
+
```ts
|
|
40
|
+
const store = new Palistor({
|
|
41
|
+
config: {
|
|
42
|
+
id: { value: "" },
|
|
43
|
+
email: {
|
|
44
|
+
value: "",
|
|
45
|
+
isRequired: true,
|
|
46
|
+
},
|
|
47
|
+
phone: {
|
|
48
|
+
value: "",
|
|
49
|
+
isVisible: (v) => v.email !== "",
|
|
50
|
+
resolve: {
|
|
51
|
+
resolver: async (v) => { return await getPhone(v.id) } // getPhone is already the data layer.
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
});
|
|
40
56
|
```
|
|
41
|
-
┌── Configuration — behavior ──────────────┐ declarative · framework-agnostic
|
|
42
|
-
│ fields · validation · visibility · │ isVisible / isRequired / validate
|
|
43
|
-
│ cross-field rules · dependencies · │ formatter / setter / onSubmit
|
|
44
|
-
│ lifecycle │ fully testable without React
|
|
45
|
-
└─────────────────────┬────────────────────┘
|
|
46
|
-
│ proxy — the seam:
|
|
47
|
-
│ read → subscribe to a field
|
|
48
|
-
│ write → run the declared pipeline
|
|
49
|
-
┌── Data — values & entities ──────────────┐ normalized entity registry
|
|
50
|
-
│ values cache · normalized registry · │ resolvers with auto-tracked deps
|
|
51
|
-
│ async resolvers │ retry · optimistic · Suspense
|
|
52
|
-
└─────────────────────┬────────────────────┘
|
|
53
|
-
│
|
|
54
|
-
┌── View — rendering ──────────────────────┐ useForm(store) → tracking proxy
|
|
55
|
-
│ read state · assign values · no logic │ granular, per-field re-renders
|
|
56
|
-
└──────────────────────────────────────────┘
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
- **Configuration — behavior.** One declarative tree describes fields, validation, visibility, cross-field rules, dependencies and lifecycle (`onSubmit`, `resolve`). Pure and framework-agnostic — fully testable without React.
|
|
60
|
-
- **Data — values & entities.** Values flow through a normalized entity registry and async resolvers with automatically tracked dependencies, retry, optimistic updates and Suspense.
|
|
61
|
-
- **View — rendering.** Components only read reactive state and assign values. They carry no logic and re-render only for the fields they actually read.
|
|
62
57
|
|
|
63
|
-
The
|
|
64
|
-
|
|
65
|
-
The payoff is that complexity grows **per layer**, not per component. A form, a wizard, a data table and an admin panel are the same three layers at different scale — which is why async loading, normalized lists, multi-step flows, persistence and i18n are part of the framework, not add-ons you bolt on later.
|
|
58
|
+
3. The data layer (Model). This is the layer responsible for fetching and sending data. The data layer can be anything — a plain resolver, or a complex caching layer implementing offline functionality. Palistor doesn't impose a data-layer implementation; it only provides the interface to integrate one.
|
|
59
|
+
Palistor's state also caches data so it isn't re-fetched from the data layer unnecessarily.
|
|
66
60
|
|
|
67
61
|
---
|
|
68
62
|
|
|
69
63
|
## Table of contents
|
|
70
64
|
|
|
65
|
+
- [Idea](#idea)
|
|
66
|
+
- [Demo](#demo)
|
|
71
67
|
- [Features](#features)
|
|
72
68
|
- [Installation](#installation)
|
|
73
69
|
- [Quick start](#quick-start)
|
|
@@ -86,8 +82,82 @@ The payoff is that complexity grows **per layer**, not per component. A form, a
|
|
|
86
82
|
|
|
87
83
|
---
|
|
88
84
|
|
|
85
|
+
## Idea
|
|
86
|
+
|
|
87
|
+
### The MVVM idea (Model-View-ViewModel)
|
|
88
|
+
|
|
89
|
+
#### Classic MVVM, but by data flow it's more accurate to read it as a pipeline: Model → ViewModel → View
|
|
90
|
+
|
|
91
|
+
Most React screens tangle three unrelated concerns inside components:
|
|
92
|
+
- how the screen **behaves** (validation, conditional fields, cross-field rules),
|
|
93
|
+
- where its **data** comes from (loading, caching, mutations),
|
|
94
|
+
- and how it **looks** (JSX).
|
|
95
|
+
As the screen grows, these three parts braid together until any change touches everything. On top of that, the complexity of dependencies, useEffects, custom hooks and contexts keeps growing — and the screen ends up monolithic, unpredictable and hard to test.
|
|
96
|
+
|
|
97
|
+
This all worked fine as long as we wrote the code by hand — we'd learned to write reasonably good React, and even though sometimes a single button took 3 components and a couple of hooks, we had the time and the means to decompose the complexity and manage it effectively.
|
|
98
|
+
|
|
99
|
+
But today we increasingly don't want to read the code we get from AI — we're losing control. In some systems that loss of control is acceptable enough: "well, it works", e2e tests to the rescue.
|
|
100
|
+
|
|
101
|
+
AI is bad at architecture, but it's great at filling declarative slots. Palistor removes the architecture task itself — all that's left is filling in the config by the rules. That's why generated code can't fall apart: there's nowhere to go wrong, and reviewing it means reviewing one flat object instead of a tree of useEffects.
|
|
102
|
+
|
|
103
|
+
If you look at Palistor's code examples, you'll notice the complexity is decomposed in such a way that it doesn't exist anywhere else. More precisely, there's no excessive complexity — all the necessary complexity is pulled into the config.
|
|
104
|
+
- The View is so primitive there's nowhere to make a mistake.
|
|
105
|
+
- The ViewModel (or, more precisely, the ViewModel declaration) is just an object with behavior, expressing the logic in the simplest, most compact way possible.
|
|
106
|
+
- The Model is outside Palistor's responsibility: any data source (a plain `fetch`, a caching layer, or an offline layer) that you plug in via `resolve`. Palistor only defines the interface to it, not the implementation.
|
|
107
|
+
|
|
108
|
+
We can generate any frontend by Palistor's rules without losing control.
|
|
109
|
+
As a bonus, we get:
|
|
110
|
+
- instant reconfiguration for different modes. In today's world we'll have to configure apps for different regions, laws and rules, and easily adding new modes and contexts becomes a real advantage.
|
|
111
|
+
- simple state debugging. Thanks to this separation, all the relationships between data are visible at a glance. There's simply nowhere to get lost.
|
|
112
|
+
- React becomes a thin rendering layer — no more useEffect and no more complex rules and subtleties tied to React's core and its rendering model.
|
|
113
|
+
- State is computed in the store, outside React's render cycle; a component only gets a signal for the fields it actually read → targeted re-renders instead of cascading ones.
|
|
114
|
+
- Better code organization, and more natural reuse of things like validators, formatters, and other helpers.
|
|
115
|
+
|
|
116
|
+
All of this lets us grow the complexity of every layer and add new functionality without sacrificing stability or predictability. And, most importantly, move toward generating frontends for enterprise systems.
|
|
117
|
+
|
|
118
|
+
### Use cases for Palistor
|
|
119
|
+
|
|
120
|
+
Admin panels, SaaS platforms, consoles, personal dashboards — anything built mostly from forms, step wizards, dynamic widgets and tables:
|
|
121
|
+
- Onboarding / KYC / verification / questionnaires — branching multi-step wizards, conditional fields, step-by-step validation (`defineFlow`).
|
|
122
|
+
- Checkouts and payment forms — conditional payment methods, cross-field rules, async loading.
|
|
123
|
+
- Configurators / calculators / CPQ — computed fields and dependencies (price×quantity→tax→total) without a single useEffect.
|
|
124
|
+
- Reference-data-driven forms — dependent selects (country→city), options via `resolve`.
|
|
125
|
+
- CRUD entity editors and tables with inline editing — a normalized registry, list proxy, per-entity templates.
|
|
126
|
+
- Schema-driven / backend-driven forms — since the config is data, it can be generated or served from the backend. Plus the multi-region angle: context for regions/laws.
|
|
127
|
+
- Dashboards with form-like filters — a filter panel as a reactive data source.
|
|
128
|
+
|
|
129
|
+
### What Palistor is not for
|
|
130
|
+
|
|
131
|
+
Landing pages with no complex logic, where the main goal is to ship a simple page fast.
|
|
132
|
+
- Content sites: blogs, docs, marketing, SSG — SEO-first, static, almost no behavior.
|
|
133
|
+
- Graphics / canvas / realtime rendering — games, editors (rich text, diagrams, maps), video players, heavy visualizations. Here the complexity lives in rendering, and the model doesn't split into layers.
|
|
134
|
+
- Trivial UI — a single search box, one button, a form with a couple of fields: the three-layer split is overhead that doesn't pay off.
|
|
135
|
+
- Embeddable widgets where bundle size is critical — the library isn't small, which is a downside for an embeddable script on someone else's page.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Demo
|
|
140
|
+
|
|
141
|
+
A live playground with every example from this README: **[projectint.github.io/palistor](https://projectint.github.io/palistor/)**
|
|
142
|
+
|
|
143
|
+
Each tab is a separate framework feature, and every one has a direct deep link:
|
|
144
|
+
|
|
145
|
+
- [Quick start](https://projectint.github.io/palistor/#form) — conditional fields, submit pipeline, persist
|
|
146
|
+
- [Flows](https://projectint.github.io/palistor/#flow) — a step wizard with branching
|
|
147
|
+
- [Lists & entities](https://projectint.github.io/palistor/#lists) — normalized registry, list proxy, store context
|
|
148
|
+
- [Async resolvers](https://projectint.github.io/palistor/#async) — data loading, retry, notifications
|
|
149
|
+
- [Field mapping](https://projectint.github.io/palistor/#mapping) — rename props to your UI kit
|
|
150
|
+
|
|
151
|
+
The playground sources live in [`app-demo/`](https://github.com/ProjectINT/palistor/tree/main/app-demo). Each section below links to the specific example code and its live tab.
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
89
155
|
## Features
|
|
90
156
|
|
|
157
|
+
The feature set aims to cover every typical need of a modern frontend — forms, lists, step wizards.
|
|
158
|
+
|
|
159
|
+
Palistor's philosophy is to provide a complete toolkit for generating any frontend, using all the best and most traditional practices.
|
|
160
|
+
|
|
91
161
|
| | |
|
|
92
162
|
|---|---|
|
|
93
163
|
| **Granular re-renders** | A component subscribes only to the fields it read — nothing else triggers a re-render |
|
|
@@ -149,6 +219,8 @@ import {
|
|
|
149
219
|
|
|
150
220
|
## Quick start
|
|
151
221
|
|
|
222
|
+
> 🔗 **Source:** [config/payment.ts](https://github.com/ProjectINT/palistor/blob/main/app-demo/src/config/payment.ts), [modules/payment-form/](https://github.com/ProjectINT/palistor/tree/main/app-demo/src/modules/payment-form) · **Live result:** [Demo → Payment Form](https://projectint.github.io/palistor/#form)
|
|
223
|
+
|
|
152
224
|
### 1. Describe the form
|
|
153
225
|
|
|
154
226
|
The config is declarative: field values, validation, visibility and lifecycle callbacks live in one tree. Create the store at module level.
|
|
@@ -203,12 +275,7 @@ function PaymentForm() {
|
|
|
203
275
|
|
|
204
276
|
{form.cardNumber.isVisible && (
|
|
205
277
|
<Input
|
|
206
|
-
|
|
207
|
-
onChange={(e) => (form.cardNumber.value = e.target.value)}
|
|
208
|
-
label={form.cardNumber.label}
|
|
209
|
-
isRequired={form.cardNumber.isRequired}
|
|
210
|
-
isInvalid={form.cardNumber.isInvalid}
|
|
211
|
-
errorMessage={form.cardNumber.errorMessage}
|
|
278
|
+
{...form.cardNumber} // The config knows the Input's interface thanks to an adapter (fieldMapping)
|
|
212
279
|
/>
|
|
213
280
|
)}
|
|
214
281
|
|
|
@@ -231,8 +298,8 @@ function PassportSection({ passport }) {
|
|
|
231
298
|
|
|
232
299
|
return (
|
|
233
300
|
<>
|
|
234
|
-
<Input
|
|
235
|
-
<Input
|
|
301
|
+
<Input {...p.number} />
|
|
302
|
+
<Input {...p.issueDate} />
|
|
236
303
|
</>
|
|
237
304
|
);
|
|
238
305
|
}
|
|
@@ -499,6 +566,8 @@ company: {
|
|
|
499
566
|
|
|
500
567
|
## Async resolvers
|
|
501
568
|
|
|
569
|
+
> 🔗 **Source:** [config/catalog/](https://github.com/ProjectINT/palistor/tree/main/app-demo/src/config/catalog), [modules/async-demo/](https://github.com/ProjectINT/palistor/tree/main/app-demo/src/modules/async-demo) · **Live result:** [Demo → Async resolvers](https://projectint.github.io/palistor/#async)
|
|
570
|
+
|
|
502
571
|
A resolver is configured on a group node. It loads data asynchronously with auto-tracked dependencies, retry and React Suspense support.
|
|
503
572
|
|
|
504
573
|
```typescript
|
|
@@ -558,6 +627,8 @@ When a dependency changes, the resolve state resets, `optimisticResolver` applie
|
|
|
558
627
|
|
|
559
628
|
## Lists & entities
|
|
560
629
|
|
|
630
|
+
> 🔗 **Source:** [modules/lists-demo/](https://github.com/ProjectINT/palistor/tree/main/app-demo/src/modules/lists-demo) · **Live result:** [Demo → Lists & entities](https://projectint.github.io/palistor/#lists)
|
|
631
|
+
|
|
561
632
|
Lists are declared with `defineList` (preferred — fully typed) or as a raw array of length 1–2 where `[0]` is the item template.
|
|
562
633
|
|
|
563
634
|
```typescript
|
|
@@ -659,6 +730,8 @@ store.delete("u1");
|
|
|
659
730
|
|
|
660
731
|
## Flows (step wizards)
|
|
661
732
|
|
|
733
|
+
> 🔗 **Source:** [config/flow.ts](https://github.com/ProjectINT/palistor/blob/main/app-demo/src/config/flow.ts), [modules/flow-demo/](https://github.com/ProjectINT/palistor/tree/main/app-demo/src/modules/flow-demo) · **Live result:** [Demo → Flows](https://projectint.github.io/palistor/#flow)
|
|
734
|
+
|
|
662
735
|
`defineFlow` / `defineStep` build a step wizard on top of regular group nodes: navigation state, step statuses, branching and per-step validation.
|
|
663
736
|
|
|
664
737
|
```typescript
|
|
@@ -753,6 +826,8 @@ Flow navigation (current step, history) is included in [persist](#persist) snaps
|
|
|
753
826
|
|
|
754
827
|
## Field mapping
|
|
755
828
|
|
|
829
|
+
> 🔗 **Source:** [config/fieldMapping.ts](https://github.com/ProjectINT/palistor/blob/main/app-demo/src/config/fieldMapping.ts), [modules/field-mapping/](https://github.com/ProjectINT/palistor/tree/main/app-demo/src/modules/field-mapping) · **Live result:** [Demo → Field mapping](https://projectint.github.io/palistor/#mapping)
|
|
830
|
+
|
|
756
831
|
`fieldMapping` renames field-state props **at the proxy boundary** — GET, SET, tracking and spread — so `{...form.email}` can be spread directly into a component from MUI, Ant Design or plain HTML without adapters. The internal engine is unchanged.
|
|
757
832
|
|
|
758
833
|
```typescript
|
|
@@ -798,6 +873,8 @@ Mappable keys: `value`, `label`, `placeholder`, `description`, `isRequired`, `is
|
|
|
798
873
|
|
|
799
874
|
## Persist
|
|
800
875
|
|
|
876
|
+
> 🔗 **Source:** [modules/payment-form/PersistControls.tsx](https://github.com/ProjectINT/palistor/blob/main/app-demo/src/modules/payment-form/PersistControls.tsx) · **Live result:** [Demo → Payment Form](https://projectint.github.io/palistor/#form)
|
|
877
|
+
|
|
801
878
|
Autosave form state to any storage.
|
|
802
879
|
|
|
803
880
|
### React hook (recommended)
|
|
@@ -892,6 +969,8 @@ The `validate` callback also receives `t` as its third argument. Without a regis
|
|
|
892
969
|
|
|
893
970
|
## Notifications
|
|
894
971
|
|
|
972
|
+
> 🔗 **Source:** [config/catalog/catalog.ts](https://github.com/ProjectINT/palistor/blob/main/app-demo/src/config/catalog/catalog.ts) · **Live result:** [Demo → Async resolvers](https://projectint.github.io/palistor/#async)
|
|
973
|
+
|
|
895
974
|
Register a toast/alert function once; resolvers receive it in `onError` via `ctx.notify`:
|
|
896
975
|
|
|
897
976
|
```tsx
|
|
@@ -912,6 +991,8 @@ function RootLayout({ children }: { children: React.ReactNode }) {
|
|
|
912
991
|
|
|
913
992
|
## Store context
|
|
914
993
|
|
|
994
|
+
> 🔗 **Source:** [modules/lists-demo/StoreContextSection.tsx](https://github.com/ProjectINT/palistor/blob/main/app-demo/src/modules/lists-demo/StoreContextSection.tsx) · **Live result:** [Demo → Lists & entities](https://projectint.github.io/palistor/#lists)
|
|
995
|
+
|
|
915
996
|
Non-reactive data (account id, tenant, tokens…) available to every callback via `store.context`. It is not part of the form — it does not appear in `getValues()`, submit payloads or persisted state.
|
|
916
997
|
|
|
917
998
|
```tsx
|
package/README.ru.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Palistor
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> декларативный MVVM like фреймворк для React, ИИ дружелюбный, формы, списки и пошаговые мастера.
|
|
4
4
|
|
|
5
5
|
[English](./README.md) | **Русский**
|
|
6
6
|
|
|
@@ -8,67 +8,62 @@
|
|
|
8
8
|
[](./LICENSE)
|
|
9
9
|
[](https://react.dev)
|
|
10
10
|
|
|
11
|
-
**Palistor — декларативный фреймворк для stateful, data-driven интерфейсов на React.**
|
|
11
|
+
**Palistor — декларативный MVVM like фреймворк для stateful, data-driven интерфейсов на React.**
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
email: { value: "", isRequired: true },
|
|
17
|
-
phone: { value: "", isVisible: (v) => v.email !== "" },
|
|
18
|
-
},
|
|
19
|
-
});
|
|
13
|
+
Palistor разделяет фронтенд на три слоя:
|
|
14
|
+
|
|
15
|
+
1. Слой отображения. Это JSX слой из которого изъято все кроме собственно отображения. Под отображением мы тут понимаем верстку, рендеринг, стили.
|
|
20
16
|
|
|
17
|
+
Пример верстки (View по MVVM):
|
|
18
|
+
```tsx
|
|
21
19
|
function Form() {
|
|
22
20
|
const form = useForm(store);
|
|
21
|
+
|
|
23
22
|
return (
|
|
24
|
-
<
|
|
25
|
-
|
|
26
|
-
onChange={(e) => (form.email.value = e.target.value)}
|
|
23
|
+
<Input
|
|
24
|
+
{...form.email}
|
|
27
25
|
/>
|
|
26
|
+
{form.phone.isVisible && (
|
|
27
|
+
<Input
|
|
28
|
+
{...form.phone}
|
|
29
|
+
/>
|
|
30
|
+
)}
|
|
28
31
|
);
|
|
29
32
|
}
|
|
30
33
|
```
|
|
31
34
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
## Идея — три слоя, а не ещё один store
|
|
35
|
+
2. Слой конфигурации.
|
|
35
36
|
|
|
36
|
-
|
|
37
|
+
Пример конфигурации (Декларация ViewModel по MVVM):
|
|
37
38
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
│ читать состояние · присваивать │ гранулярные, по-полевые ре-рендеры
|
|
56
|
-
│ значения · без логики │
|
|
57
|
-
└──────────────────────────────────────────┘
|
|
39
|
+
```ts
|
|
40
|
+
const store = new Palistor({
|
|
41
|
+
config: {
|
|
42
|
+
id: { value: "" },
|
|
43
|
+
email: {
|
|
44
|
+
value: "",
|
|
45
|
+
isRequired: true,
|
|
46
|
+
},
|
|
47
|
+
phone: {
|
|
48
|
+
value: "",
|
|
49
|
+
isVisible: (v) => v.email !== "",
|
|
50
|
+
resolve: {
|
|
51
|
+
resolver: async (v) => { return await getPhone(v.id) } // getPhone это уже слой данных.
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
});
|
|
58
56
|
```
|
|
59
57
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
- **Отображение — рендеринг.** Компоненты только читают реактивное состояние и присваивают значения. Они не несут логики и перерендериваются только для тех полей, которые реально прочитали.
|
|
63
|
-
|
|
64
|
-
Proxy — это шов между слоями: **чтение** (`form.email.value`) подписывает компонент на это поле; **запись** (`form.email.value = x`) запускает пайплайн, который вы объявили в конфиге — formatter → setter → recompute → notify. Ничего не связывается руками.
|
|
65
|
-
|
|
66
|
-
Выигрыш в том, что сложность растёт **по слоям**, а не по компонентам. Форма, мастер, таблица данных и админ-панель — это одни и те же три слоя в разном масштабе; именно поэтому async-загрузка, нормализованные списки, пошаговые flow, персист и i18n — часть фреймворка, а не аддоны, которые прикручиваешь потом.
|
|
58
|
+
3. Слой данных. (Model) Это слой который отвечает за получение данных и отправку данных. Слой данных может быть каким угодно, он может быть простым резольвером, или сложным кеширующим слоем реализующим offline функциональность. Palistor не навязывает реализацию слоя данных, он лишь предоставляет интерфейс для его интеграции.
|
|
59
|
+
Состояние Palistor также кеширует данные, что бы не тянуть их заново из слоя данных.
|
|
67
60
|
|
|
68
61
|
---
|
|
69
62
|
|
|
70
63
|
## Содержание
|
|
71
64
|
|
|
65
|
+
- [Идея](#идея)
|
|
66
|
+
- [Демо](#демо)
|
|
72
67
|
- [Возможности](#возможности)
|
|
73
68
|
- [Установка](#установка)
|
|
74
69
|
- [Быстрый старт](#быстрый-старт)
|
|
@@ -87,8 +82,79 @@ Proxy — это шов между слоями: **чтение** (`form.email.v
|
|
|
87
82
|
|
|
88
83
|
---
|
|
89
84
|
|
|
85
|
+
## Идея
|
|
86
|
+
|
|
87
|
+
### Идея MVVM (Model-View-ViewModel)
|
|
88
|
+
|
|
89
|
+
#### Классический MVVM, но по потоку данных правильнее читать его как конвейер: Model → ViewModel → View
|
|
90
|
+
|
|
91
|
+
Большинство React-экранов сплетают внутри компонентов три несвязанные заботы:
|
|
92
|
+
- как экран **себя ведёт** (валидация, условные поля, кросс-полевые правила),
|
|
93
|
+
- откуда берутся его **данные** (загрузка, кэширование, мутации)
|
|
94
|
+
- и как он **выглядит** (JSX).
|
|
95
|
+
По мере роста экрана эти три части сплетаются так, что любое изменение задевает всё. А еще нарастает сложность зависимостей, useEffectов, кастомных хуков и контекстов — и в итоге экран становится монолитным, непредсказуемым и трудно тестируемым.
|
|
96
|
+
|
|
97
|
+
Все хорошо работало, пока мы писали код руками, мы научились писать на реакте более менее приемлемо, и хотя иногда одной кнопке требовалось 3-компонента и пару хуков, мы имели время и возможность декомпозировать сложность и эффективно ей управлять.
|
|
98
|
+
|
|
99
|
+
Но сегодня мы все меньше хотим читать код который мы получаем от ИИ, мы теряем контроль. В некоторых системах потеря контроля вполне приемлема, "ну работает и работает" e2e тесты в помощь.
|
|
100
|
+
|
|
101
|
+
ИИ плохо архитектурит, но отлично заполняет декларативные слоты. Palistor убирает саму задачу архитектуры — остаётся заполнить конфиг по правилам. Поэтому сгенерённый код нельзя развалить: ошибаться негде, а ревьювить нужно один плоский объект, а не дерево из useEffect'ов.
|
|
102
|
+
|
|
103
|
+
Если вы посмотрите на примеры кода Palistor, вы обнаружите, что сложность декомпозирована таким образом, что ее больше нигде нет. Точнее сказать нет избыточной (excessive complexity) сложности, вся необходимая сложность стянута в конфиг.
|
|
104
|
+
- View примитивен настолько, что там негде совершить ошибку.
|
|
105
|
+
- ViewModel (или точнее декларация ViewModel) просто объект с поведением, который выражает логику самым простым и емким способом.
|
|
106
|
+
- Model — вне ответственности Palistor: любой источник данных (простой `fetch`, кэширующий или offline-слой), который вы подключаете через `resolve`. Palistor задаёт только интерфейс к нему, а не реализацию.
|
|
107
|
+
|
|
108
|
+
Мы можем сгенерировать любой фронтенд по правилам Palistor и не потерять контроль.
|
|
109
|
+
Бонусом мы получаем:
|
|
110
|
+
- мгновенную конфигурацию приложения под разные режимы. В современных реалиях нам прийдется конфигурировать приложения под разные регионы, законы и правила, и легкое добавление новых режимов и контекстов станет очень важным преимуществом.
|
|
111
|
+
- простой дебаг состояний. Благодаря такому разделению, мы видим наглядно все связи между данными. Нам просто негде запутаться.
|
|
112
|
+
- React становится тонким отображающим слоем, больше никаких useEffect и сложных правил и тонкостей связанных с ядром реакт и концепцией рендера.
|
|
113
|
+
- Состояние считается в сторе, вне рендер-цикла React; компонент получает сигнал только по тем полям, что реально прочитал → точечные ре-рендеры вместо каскадных.
|
|
114
|
+
- Лучшая организация кода. Более естественное переиспользование различных функций, таких как валидаторы, форматтеры, и другие.
|
|
115
|
+
|
|
116
|
+
Все это позволит нам нарастить сложность всех слоев и добавить новый функционал без ущерба для стабильности и предсказуемости. А главное перейти к генерации фронтенда для корпоративных систем.
|
|
117
|
+
|
|
118
|
+
### Задачи для Palistor
|
|
119
|
+
Админки, саас платформы, консоли, личные кабинеты, состоящие в основном из форм и шаговых мастеров, динамических виджетов и таблиц:
|
|
120
|
+
- Онбординг / KYC / верификация / анкеты — ветвящиеся многошаговые мастера, условные поля, пошаговая валидация (defineFlow).
|
|
121
|
+
- Чек-ауты и платёжные формы — условные способы оплаты, кросс-полевые правила, async-подгрузка.
|
|
122
|
+
- Конфигураторы / калькуляторы / CPQ — computed-поля и dependencies (цена×кол-во→налог→итог) без единого useEffect.
|
|
123
|
+
- Формы, управляемые справочниками — зависимые селекты (страна→город), опции через resolve.
|
|
124
|
+
- CRUD-редакторы сущностей и таблицы с inline-правкой — нормализованный реестр, list-proxy, per-entity шаблоны.
|
|
125
|
+
- Schema-driven / бэкенд-управляемые формы — раз конфиг это данные, его можно генерить/отдавать с сервера. Плюс твой козырь про мультирегиональность (context под регионы/законы).
|
|
126
|
+
- Дашборды с формо-подобными фильтрами — панель фильтров как реактивный источник для данных.
|
|
127
|
+
|
|
128
|
+
### Для чего не подходит Palistor
|
|
129
|
+
Сайты лендинги где нет сложной логики и главная задача быстрее отдать простую страницу.
|
|
130
|
+
- Контент-сайты: блоги, документация, маркетинг, SSG — SEO-first, статика, поведения почти нет.
|
|
131
|
+
- Графика / canvas / realtime-рендер — игры, редакторы (rich-text, диаграммы, карты), видеоплееры, тяжёлые визуализации. Тут сложность в рендере, а модель не расщепляется на слои.
|
|
132
|
+
- Тривиальный UI — один поиск, одна кнопка, форма из пары полей: трёхслойное разделение — оверхед, не окупается.
|
|
133
|
+
- Встраиваемые виджеты, где критичен вес бандла — ты сам признал «библиотека не маленькая»; для embeddable-скрипта на чужой странице это минус.
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Демо
|
|
137
|
+
|
|
138
|
+
Живой стенд со всеми примерами из этого README: **[projectint.github.io/palistor](https://projectint.github.io/palistor/)**
|
|
139
|
+
|
|
140
|
+
Каждый таб — отдельная возможность фреймворка, на каждый ведёт прямая deep-ссылка:
|
|
141
|
+
|
|
142
|
+
- [Быстрый старт](https://projectint.github.io/palistor/#form) — условные поля, submit-pipeline, persist
|
|
143
|
+
- [Flows](https://projectint.github.io/palistor/#flow) — пошаговый мастер с ветвлением
|
|
144
|
+
- [Списки и сущности](https://projectint.github.io/palistor/#lists) — нормализованный реестр, list-proxy, контекст store
|
|
145
|
+
- [Async-резолверы](https://projectint.github.io/palistor/#async) — загрузка данных, retry, уведомления
|
|
146
|
+
- [Field mapping](https://projectint.github.io/palistor/#mapping) — переименование пропсов под UI-кит
|
|
147
|
+
|
|
148
|
+
Исходники стенда — в [`app-demo/`](https://github.com/ProjectINT/palistor/tree/main/app-demo). Под каждым разделом ниже — ссылки на конкретный код примера и соответствующий таб.
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
90
152
|
## Возможности
|
|
91
153
|
|
|
154
|
+
Возможности нацелены включать все типичные потребности современных фронтендов, формы, списки, пошаговые мастера.
|
|
155
|
+
|
|
156
|
+
Философия Palistor в том, что бы давать полный инструментарий для генерации любого фронтенда, с ипользованием всех лучших и традиционных практик.
|
|
157
|
+
|
|
92
158
|
| | |
|
|
93
159
|
|---|---|
|
|
94
160
|
| **Гранулярные ре-рендеры** | Компонент подписывается только на те поля, которые он читал — больше ничего не триггерит ре-рендер |
|
|
@@ -150,6 +216,8 @@ import {
|
|
|
150
216
|
|
|
151
217
|
## Быстрый старт
|
|
152
218
|
|
|
219
|
+
> 🔗 **Код:** [config/payment.ts](https://github.com/ProjectINT/palistor/blob/main/app-demo/src/config/payment.ts), [modules/payment-form/](https://github.com/ProjectINT/palistor/tree/main/app-demo/src/modules/payment-form) · **Живой результат:** [Демо → Форма оплаты](https://projectint.github.io/palistor/#form)
|
|
220
|
+
|
|
153
221
|
### 1. Опишите форму
|
|
154
222
|
|
|
155
223
|
Конфиг декларативен: значения полей, валидация, видимость и lifecycle-колбэки живут в одном дереве. Store создаётся на уровне модуля.
|
|
@@ -204,12 +272,7 @@ function PaymentForm() {
|
|
|
204
272
|
|
|
205
273
|
{form.cardNumber.isVisible && (
|
|
206
274
|
<Input
|
|
207
|
-
|
|
208
|
-
onChange={(e) => (form.cardNumber.value = e.target.value)}
|
|
209
|
-
label={form.cardNumber.label}
|
|
210
|
-
isRequired={form.cardNumber.isRequired}
|
|
211
|
-
isInvalid={form.cardNumber.isInvalid}
|
|
212
|
-
errorMessage={form.cardNumber.errorMessage}
|
|
275
|
+
{...form.cardNumber} // Конфиг знает об интерфейсе Input благодаря адаптеру (fieldMapping)
|
|
213
276
|
/>
|
|
214
277
|
)}
|
|
215
278
|
|
|
@@ -232,8 +295,8 @@ function PassportSection({ passport }) {
|
|
|
232
295
|
|
|
233
296
|
return (
|
|
234
297
|
<>
|
|
235
|
-
<Input
|
|
236
|
-
<Input
|
|
298
|
+
<Input {...p.number} />
|
|
299
|
+
<Input {...p.issueDate} />
|
|
237
300
|
</>
|
|
238
301
|
);
|
|
239
302
|
}
|
|
@@ -500,6 +563,8 @@ company: {
|
|
|
500
563
|
|
|
501
564
|
## Async-резолверы
|
|
502
565
|
|
|
566
|
+
> 🔗 **Код:** [config/catalog/](https://github.com/ProjectINT/palistor/tree/main/app-demo/src/config/catalog), [modules/async-demo/](https://github.com/ProjectINT/palistor/tree/main/app-demo/src/modules/async-demo) · **Живой результат:** [Демо → Async-резолверы](https://projectint.github.io/palistor/#async)
|
|
567
|
+
|
|
503
568
|
Резолвер конфигурируется на групповом узле. Загружает данные асинхронно — с авто-трекингом зависимостей, retry и поддержкой React Suspense.
|
|
504
569
|
|
|
505
570
|
```typescript
|
|
@@ -559,6 +624,8 @@ if (form.userInfo.loading) return <Spinner />;
|
|
|
559
624
|
|
|
560
625
|
## Списки и сущности
|
|
561
626
|
|
|
627
|
+
> 🔗 **Код:** [modules/lists-demo/](https://github.com/ProjectINT/palistor/tree/main/app-demo/src/modules/lists-demo) · **Живой результат:** [Демо → Списки и сущности](https://projectint.github.io/palistor/#lists)
|
|
628
|
+
|
|
562
629
|
Списки объявляются через `defineList` (предпочтительно — полная типизация) или сырым массивом длиной 1–2, где `[0]` — шаблон элемента.
|
|
563
630
|
|
|
564
631
|
```typescript
|
|
@@ -660,6 +727,8 @@ store.delete("u1");
|
|
|
660
727
|
|
|
661
728
|
## Flows (пошаговые мастера)
|
|
662
729
|
|
|
730
|
+
> 🔗 **Код:** [config/flow.ts](https://github.com/ProjectINT/palistor/blob/main/app-demo/src/config/flow.ts), [modules/flow-demo/](https://github.com/ProjectINT/palistor/tree/main/app-demo/src/modules/flow-demo) · **Живой результат:** [Демо → Flows](https://projectint.github.io/palistor/#flow)
|
|
731
|
+
|
|
663
732
|
`defineFlow` / `defineStep` строят пошаговый мастер поверх обычных групповых узлов: навигационное состояние, статусы шагов, ветвление и валидация по шагам.
|
|
664
733
|
|
|
665
734
|
```typescript
|
|
@@ -754,6 +823,8 @@ defineStep("details", {
|
|
|
754
823
|
|
|
755
824
|
## Field mapping
|
|
756
825
|
|
|
826
|
+
> 🔗 **Код:** [config/fieldMapping.ts](https://github.com/ProjectINT/palistor/blob/main/app-demo/src/config/fieldMapping.ts), [modules/field-mapping/](https://github.com/ProjectINT/palistor/tree/main/app-demo/src/modules/field-mapping) · **Живой результат:** [Демо → Field mapping](https://projectint.github.io/palistor/#mapping)
|
|
827
|
+
|
|
757
828
|
`fieldMapping` переименовывает пропсы состояния поля **на границе proxy** — GET, SET, tracking и spread, — так что `{...form.email}` можно спредить напрямую в компонент MUI, Ant Design или нативный HTML без адаптеров. Внутреннее ядро не меняется.
|
|
758
829
|
|
|
759
830
|
```typescript
|
|
@@ -799,6 +870,8 @@ function EmailField() {
|
|
|
799
870
|
|
|
800
871
|
## Persist
|
|
801
872
|
|
|
873
|
+
> 🔗 **Код:** [modules/payment-form/PersistControls.tsx](https://github.com/ProjectINT/palistor/blob/main/app-demo/src/modules/payment-form/PersistControls.tsx) · **Живой результат:** [Демо → Форма оплаты](https://projectint.github.io/palistor/#form)
|
|
874
|
+
|
|
802
875
|
Автосохранение состояния формы в любое хранилище.
|
|
803
876
|
|
|
804
877
|
### React-хук (рекомендуется)
|
|
@@ -893,6 +966,8 @@ cardNumber: {
|
|
|
893
966
|
|
|
894
967
|
## Уведомления
|
|
895
968
|
|
|
969
|
+
> 🔗 **Код:** [config/catalog/catalog.ts](https://github.com/ProjectINT/palistor/blob/main/app-demo/src/config/catalog/catalog.ts) · **Живой результат:** [Демо → Async-резолверы](https://projectint.github.io/palistor/#async)
|
|
970
|
+
|
|
896
971
|
Зарегистрируйте функцию toast/alert один раз; резолверы получат её в `onError` через `ctx.notify`:
|
|
897
972
|
|
|
898
973
|
```tsx
|
|
@@ -913,6 +988,8 @@ function RootLayout({ children }: { children: React.ReactNode }) {
|
|
|
913
988
|
|
|
914
989
|
## Контекст store
|
|
915
990
|
|
|
991
|
+
> 🔗 **Код:** [modules/lists-demo/StoreContextSection.tsx](https://github.com/ProjectINT/palistor/blob/main/app-demo/src/modules/lists-demo/StoreContextSection.tsx) · **Живой результат:** [Демо → Списки и сущности](https://projectint.github.io/palistor/#lists)
|
|
992
|
+
|
|
916
993
|
Нереактивные данные (id аккаунта, tenant, токены…), доступные во всех колбэках через `store.context`. Не является частью формы — не попадает в `getValues()`, submit-payload и persist.
|
|
917
994
|
|
|
918
995
|
```tsx
|
|
@@ -13,7 +13,7 @@ import { recomputeLeaves } from "./recomputeLeaves";
|
|
|
13
13
|
* @param changedNodes — nodes whose values changed (the written node + setter targets)
|
|
14
14
|
*/
|
|
15
15
|
export function recomputeTargeted(changedNodes, deps) {
|
|
16
|
-
const { rootConfig, groupComputeMap, nodeState, nodeParents, nodePaths, groupDeps, valuesCache, translate, } = deps;
|
|
16
|
+
const { rootConfig, groupComputeMap, nodeState, nodeParents, nodePaths, groupDeps, valuesCache, translate, trackingWrap, } = deps;
|
|
17
17
|
// 1. Find the source groups of the changes
|
|
18
18
|
const sourceGroups = new Set();
|
|
19
19
|
for (const node of changedNodes) {
|
|
@@ -41,7 +41,7 @@ export function recomputeTargeted(changedNodes, deps) {
|
|
|
41
41
|
if (!groupNode)
|
|
42
42
|
continue;
|
|
43
43
|
const ownEntries = groupComputeMap.get(groupNode) ?? [];
|
|
44
|
-
const changed = recomputeLeaves(ownEntries, nodeState, valuesCache, translate);
|
|
44
|
+
const changed = recomputeLeaves(ownEntries, nodeState, valuesCache, translate, trackingWrap);
|
|
45
45
|
for (const n of changed)
|
|
46
46
|
allChanged.add(n);
|
|
47
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recomputeTargeted.js","sourceRoot":"","sources":["../../../../store/compute/recompute/recomputeTargeted.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,gFAAgF;AAEhF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAyB,EACzB,IAA2B;IAG3B,MAAM,EACJ,UAAU,EAAE,eAAe,EAC3B,SAAS,EAAE,WAAW,EAAE,SAAS,EACjC,SAAS,EAAE,WAAW,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"recomputeTargeted.js","sourceRoot":"","sources":["../../../../store/compute/recompute/recomputeTargeted.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,gFAAgF;AAEhF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAyB,EACzB,IAA2B;IAG3B,MAAM,EACJ,UAAU,EAAE,eAAe,EAC3B,SAAS,EAAE,WAAW,EAAE,SAAS,EACjC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,GAChD,GAAG,IAAI,CAAC;IAET,2CAA2C;IAC3C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,gFAAgF;IAChF,MAAM,aAAa,GAAa,CAAC,GAAG,YAAY,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IAEtC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE1D,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,kBAAkB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC5D,sEAAsE;QACtE,IAAI,CAAC,SAAS;YAAE,SAAS;QACzB,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QAC7F,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -20,5 +20,12 @@ export interface RecomputeTargetedDeps {
|
|
|
20
20
|
groupDeps: Set<string>;
|
|
21
21
|
valuesCache: ValuesCache;
|
|
22
22
|
translate: TranslateFn;
|
|
23
|
+
/**
|
|
24
|
+
* Optional wrapper that records cross-group dependencies discovered while
|
|
25
|
+
* recomputing. Passing it keeps dependency tracking active during targeted
|
|
26
|
+
* recomputes, so edges from conditional branches that only run after init
|
|
27
|
+
* get recorded the first time the branch executes.
|
|
28
|
+
*/
|
|
29
|
+
trackingWrap?: TrackingWrap;
|
|
23
30
|
}
|
|
24
31
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../store/compute/recompute/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAIjE;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtG;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,aAAa,CAAC;IAC1B,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvC,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../store/compute/recompute/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAIjE;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtG;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,aAAa,CAAC;IAC1B,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvC,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,WAAW,CAAC;IACvB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"palistor.d.ts","sourceRoot":"","sources":["../../../store/store/palistor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"palistor.d.ts","sourceRoot":"","sources":["../../../store/store/palistor.ts"],"names":[],"mappings":"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"}
|
|
@@ -141,6 +141,14 @@ export class Palistor {
|
|
|
141
141
|
recompute(changedNodes) {
|
|
142
142
|
const { nodeState, nodePaths, nodeParents, groupComputeMap } = this.nodes;
|
|
143
143
|
const { translate } = this.services;
|
|
144
|
+
// Tracking must stay active on EVERY recompute, not only the first full
|
|
145
|
+
// one. A cross-group read that lives inside a conditional branch which is
|
|
146
|
+
// inactive at init (e.g. isVisible reads another group's field only in the
|
|
147
|
+
// "courier" branch) is not observed during the first recomputeAll, so its
|
|
148
|
+
// donor→recipient edge is missing. It can only be discovered later, when
|
|
149
|
+
// the branch first runs during a targeted recompute — hence the wrap is
|
|
150
|
+
// passed to both paths. The dependency set (`groupDeps`) grows monotonically.
|
|
151
|
+
const trackingWrap = this.groupDepsMap.getTrackingWrap();
|
|
144
152
|
if (changedNodes && changedNodes.size > 0) {
|
|
145
153
|
return recomputeTargeted(changedNodes, {
|
|
146
154
|
rootConfig: this.rootConfig,
|
|
@@ -151,16 +159,13 @@ export class Palistor {
|
|
|
151
159
|
groupDeps: this.groupDepsMap.deps,
|
|
152
160
|
valuesCache: this.values,
|
|
153
161
|
translate,
|
|
162
|
+
trackingWrap,
|
|
154
163
|
});
|
|
155
164
|
}
|
|
156
165
|
const computeNodes = collectGroupComputeNodes(this.rootConfig, groupComputeMap);
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
this.groupDepsMap.markBuilt();
|
|
161
|
-
return result;
|
|
162
|
-
}
|
|
163
|
-
return recomputeLeaves(computeNodes, nodeState, this.values, translate);
|
|
166
|
+
const result = recomputeLeaves(computeNodes, nodeState, this.values, translate, trackingWrap);
|
|
167
|
+
this.groupDepsMap.markBuilt();
|
|
168
|
+
return result;
|
|
164
169
|
}
|
|
165
170
|
/**
|
|
166
171
|
* Notify subscribers about changed nodes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"palistor.js","sourceRoot":"","sources":["../../../store/store/palistor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"palistor.js","sourceRoot":"","sources":["../../../store/store/palistor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,kBAAkB,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEtF,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAiBnD,iFAAiF;AAEjF;;;;;;;;GAQG;AACH,MAAM,OAAO,QAAQ;IAiFnB,6EAA6E;IAE7E,YAAY,OAA6C;QA1DzD;;;;WAIG;QACM,yBAAoB,GAAyC,IAAI,GAAG,EAAE,CAAC;QA6ChF;;;WAGG;QACK,aAAQ,GAA4B,EAAE,CAAC;QAK7C,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QAE/C,4EAA4E;QAC5E,iDAAiD;QACjD,kEAAkE;QAClE,0EAA0E;QAC1E,wCAAwC;QACxC,MAAM,GAAG,GAAiB,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,KAAK,MAAM,QAAQ,IAAI,GAAG,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAuB,CAAC,CAAC;YAC9C,IAAI,QAAQ,KAAK,SAAS;gBAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;QAC3E,CAAC;QAED,4EAA4E;QAC5E,0EAA0E;QAC1E,wEAAwE;QACxE,0EAA0E;QAC1E,4CAA4C;QAC5C,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAkB,CAAC;QAC1F,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,4EAA4E;QAE5E,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACtC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE5C,4EAA4E;QAE5E,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,CAAC,UAAU,EAAE,aAAwC,EAAE,SAAS,CAAC,CAAC;QAC/F,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAEvE,4EAA4E;QAE5E,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAEtD,4EAA4E;QAE5E,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAE3C,wEAAwE;QACxE,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAC1C,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,4EAA4E;QAE5E,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACzE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,mDAAmD;QACrE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAE1C,2EAA2E;QAE3E,IAAI,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;QAE5D,4EAA4E;QAE5E,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,UAAU;YACV,SAAS;YACT,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE;YACjC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YAC3C,MAAM;YACN,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;YAC3C,WAAW,EAAE,IAAI,CAAC,MAAM;YACxB,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;YACjC,cAAc,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC;YAC1E,mBAAmB,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC;YACvE,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC,CAAC;QAEH,6EAA6E;QAE7E,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAqC,CAAC;QAEtF,6EAA6E;QAE7E,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QAEzC,4EAA4E;QAE5E,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC;QAClE,IAAI,cAAc;YAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAE/D,4EAA4E;QAE5E,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QAClC,CAAC;QAED,4EAA4E;QAC5E,+DAA+D;QAC/D,2EAA2E;QAC3E,0EAA0E;QAE1E,SAAS,CAAC,IAAI,CAAC,CAAC;QAEhB,4EAA4E;QAE5E,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;;OASG;IACH,SAAS,CAAC,YAA0B;QAClC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1E,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEpC,wEAAwE;QACxE,0EAA0E;QAC1E,2EAA2E;QAC3E,0EAA0E;QAC1E,yEAAyE;QACzE,wEAAwE;QACxE,8EAA8E;QAC9E,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;QAEzD,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,iBAAiB,CAAC,YAAY,EAAE;gBACrC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,eAAe;gBACf,SAAS;gBACT,WAAW;gBACX,SAAS;gBACT,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;gBACjC,WAAW,EAAE,IAAI,CAAC,MAAM;gBACxB,SAAS;gBACT,YAAY;aACb,CAAC,CAAC;QACL,CAAC;QAED,MAAM,YAAY,GAAG,wBAAwB,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,eAAe,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QAC9F,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,OAAoB;QAChC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,OAA6B,EAAE;YACpD,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAA+C;YACrE,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAkD;YAC9E,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAA+C;YACtE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAoD;YAC5E,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAA2C;SAClE,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IAE7E,0EAA0E;IAC1E,aAAa,CAAC,IAAmB,EAAE,KAA8B;QAC/D,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1F,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,6EAA6E;IAE7E,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,UAAU,CAAC,GAA4B;QACrC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;gBAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,EAAE,CAAC;QAE7C,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;YACvC,KAAK,MAAM,GAAG,IAAI,WAAW;gBAAE,YAAY,CAAC,GAAG,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,QAAoB;QAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAqB,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,eAAe,CAAC,QAAoB;QAClC,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC;IAED,cAAc,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAqB,CAAC,CAAC;IACxD,CAAC;IAED,SAAS;QACP,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAA2B,CAAC;IACvE,CAAC;IAED,aAAa,CAAC,CAAqB;QACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAClE,CAAC;IAED,WAAW,CAAC,EAAmB;QAC7B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,MAAkD;QACtD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,MAA6C,CAAC,CAAC;IAC7F,CAAC;IAED,SAAS,CAAC,KAAgD;QACxD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,KAAgC,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;OAMG;IACH,GAAG,CAAC,IAA+B;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAE5C,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3C,gEAAgE;QAChE,6EAA6E;QAC7E,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,KAAa,EAAE,KAAa;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,8GAA8G;QAC9G,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAExC,kCAAkC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;QAED,0BAA0B;QAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,EAAY,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1C,qCAAqC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACjE,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACrC,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAU;QACf,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,sDAAsD;QACtD,yEAAyE;QACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAC5D,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAClC,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAEpD,+DAA+D;QAC/D,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAEnD,wEAAwE;QACxE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAE/B,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,EAAU,EAAE,YAAqB;QAC1C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,2BAA2B,CAC/B,QAAgB,EAChB,YAA2B,EAC3B,WAAmB;QAEnB,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,QAAQ,aAAa,EAAE,CAAC;aAClE,CAAC;QACJ,CAAC;QAED,yEAAyE;QACzE,sEAAsE;QACtE,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAsB,CAAC,CAAC;QACpG,MAAM,aAAa,GAAG,UAA+B,CAAC;QAEtD,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAErD,IAAI,CAAC;YACH,uEAAuE;YACvE,4EAA4E;YAC5E,MAAM,MAAM,GAA6C,EAAE,CAAC;YAC5D,IAAI,CAAC,2BAA2B,CAC9B,YAAY,EACZ,UAAgD,EAChD,MAAM,EACN,EAAE,CACH,CAAC;YAEF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YACpC,CAAC;YAED,8DAA8D;YAC9D,IAAI,MAAe,CAAC;YACpB,IAAI,OAAO,YAAY,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAChD,MAAM,GAAG,MACP,YAAY,CAAC,QAId,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACvB,CAAC;YAED,IAAI,OAAO,YAAY,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;gBACnD,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,wCAAwC;gBACpE,MACE,YAAY,CAAC,WAId,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACvB,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACnC,CAAC;gBAAS,CAAC;YACT,kEAAkE;YAClE,YAAY,CAAC,UAAU,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,4EAA4E;IAE5E;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,KAAmB,EAAE,QAAiB;QACpD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,wEAAwE;YACxE,2EAA2E;YAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,UAAU,CAAC,EAAE,CAAC,KAAe,CAAC;YAC/C,uFAAuF;YACvF,MAAM,YAAY,GAAG,YAAY,QAAQ,EAAE,CAAC;YAE5C,yEAAyE;YACzE,sDAAsD;YACtD,wEAAwE;YACxE,IAAI,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5D,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,aAAa,GAAG,EAAE,CAAC;gBACnB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACzD,CAAC;YAED,oDAAoD;YACpD,sCAAsC;YACtC,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;YAEzF,8EAA8E;YAC9E,mFAAmF;YACnF,8FAA8F;QAChG,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,mBAAmB,CAAC,SAAoB;QACtC,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO;aACnC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aAC9C,MAAM,CAAC,CAAC,GAAG,EAAkC,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;QAEtE,IAAI,SAAS,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YACnC,0EAA0E;YAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;YACrC,OAAO;QACT,CAAC;QAED,kFAAkF;QAClF,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEvC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,aAAa;YAAE,OAAO;QAE3B,IAAI,MAAM,GAAG,aAAa,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7D,IAAI,GAAG,EAAE,CAAC;gBACV,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YACnB,CAAC;YACD,MAAM,GAAG,IAA+B,CAAC;QAC3C,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;IAC/C,CAAC;IAED,sEAAsE;IAC9D,SAAS,CAAC,MAAkB;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,EAAY,CAAC;QACnC,OAAO,CACJ,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAoC,EAAE,KAAK;YAC3E,MAAM,CAAC,EAAE,CAAC,KAAK,CACN,CAAC;IACd,CAAC;IAGD;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,MAA+B;QAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,gBAAgB,CACtB,UAAyB,EACzB,QAA6C,EAC7C,WAA8B,EAC9B,OAAoB;QAEpB,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,UAAqC,CAAC,EAAE,CAAC;YACpE,MAAM,KAAK,GAAI,UAAsC,CAAC,GAAG,CAAC,CAAC;YAC3D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,SAAS;YAElD,mEAAmE;YACnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,IAAI,WAAW,CAAC,KAAe,CAAC,EAAE,CAAC;oBACjC,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;oBAC/B,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;wBACnE,IAAI,CAAC,gBAAgB,CACnB,KAAsB,EACtB,MAAiC,EACjC,WAAW,EACX,OAAO,CACR,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,KAAe,CAAC;gBAAE,SAAS;YAE3C,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;gBAAE,SAAS;YAElC,MAAM,cAAc,GAAG,KAAe,CAAC;YACvC,MAAM,QAAQ,GAAI,KAAmB,CAAC,CAAC,CAAkB,CAAC;YAC1D,MAAM,GAAG,GAAa,EAAE,CAAC;YAEzB,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE,CAAC;gBAC1B,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;oBAAE,SAAS;gBACtD,MAAM,KAAK,GAAI,OAA4B,CAAC,EAAE,CAAC;gBAC/C,MAAM,EAAE,GACN,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;gBAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAChC,EAAE,GAAI,OAAmC,EAAE,EAAE,EAAE,EAC/C,QAAQ,CACT,CAAC;gBACF,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjD,KAAK,MAAM,CAAC,IAAI,WAAW;oBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC5C,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEb,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChD,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,WAAW,EAAE,CAAC;wBAChB,IAAI,CAAC,cAAc,CAAC,cAAc,CAChC,WAAW,EACX,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAC3B,cAAc,CACf,CAAC;oBACJ,CAAC;oBACD,yCAAyC;oBACzC,IAAI,CAAC,gBAAgB,CACnB,QAAQ,EACR,OAAkC,EAClC,WAAW,EACX,OAAO,CACR,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBACxF,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC;gBAClB,GAAG,CAAC,cAAc,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;gBAC9B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,GAAwB,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAC5D,IAAI,SAAS,EAAE,CAAC;oBACd,SAAS,CAAC,OAAO,GAAG,GAAG,CAAC;oBACxB,SAAS,CAAC,cAAc,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;oBACpC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;oBACpC,+EAA+E;oBAC/E,OAAO,CAAC,GAAG,CAAC,SAA8B,CAAC,CAAC;oBAC5C,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,gBAAgB,CACtB,OAAgC,EAChC,QAAuB;QAEvB,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,MAAM,MAAM,GAAI,QAAgD,EAAE,CAAC,GAAG,CAAC,CAAC;YACxE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,SAAS,CAAC,mBAAmB;YACxD,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,MAAoB,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,qBAAqB,CAC3B,IAA6B,EAC7B,MAAc,EACd,MAAc,EACd,OAAoB,EACpB,aAAuC;QAEvC,kFAAkF;QAClF,2EAA2E;QAC3E,oDAAoD;QACpD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,gDAAgD;YAChD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,SAAS;YAElD,MAAM,QAAQ,GAAG,KAAe,CAAC;YACjC,MAAM,SAAS,GAAG,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC;YAErC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,+DAA+D;gBAC/D,MAAM,IAAI,GAAG,QAA8B,CAAC;gBAC5C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACxC,2DAA2D;oBAC3D,gEAAgE;oBAChE,uCAAuC;oBACvC,6CAA6C;oBAC7C,6DAA6D;oBAC7D,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE;wBAC1D,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,SAAS,EAAE,IAAI;wBACf,UAAU,EAAE,KAAK;wBACjB,UAAU,EAAE,KAAK;wBACjB,UAAU,EAAE,KAAK;wBACjB,KAAK,EAAE,KAAK;wBACZ,UAAU,EAAE,KAAK;qBAClB,CAAC,CAAC;oBACH,+EAA+E;oBAC/E,oFAAoF;oBACpF,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;oBACrD,4DAA4D;oBAC5D,0DAA0D;oBAC1D,6CAA6C;oBAC7C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;wBAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;wBACnE,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;oBAClC,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,6DAA6D;oBAC7D,gEAAgE;oBAChE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;oBAClD,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;wBAC/B,6DAA6D;wBAC7D,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;wBACzB,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC1D,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACxB,CAAC;oBACD,yEAAyE;gBAC3E,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,oEAAoE;gBACpE,8CAA8C;gBAC9C,iEAAiE;gBACjE,IAAI,mBAAwD,CAAC;gBAC7D,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBAChC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;wBAClE,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;oBAC1B,CAAC;oBACD,mBAAmB,GAAG,aAAa,CAAC,GAAG,CAA4B,CAAC;gBACtE,CAAC;gBACD,IAAI,CAAC,qBAAqB,CACxB,KAAgC,EAChC,SAAS,EACT,QAAQ,EACR,OAAO,EACP,mBAAmB,CACpB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,mBAAmB,CACzB,IAA6B,EAC7B,MAAmB;QAEnB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,SAAS;YAClD,IAAI,UAAU,CAAC,KAAe,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,GAAG,CAAC,KAAe,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,mBAAmB,CAAC,KAAgC,EAAE,MAAM,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,2BAA2B,CACjC,YAA2B,EAC3B,UAAmC,EACnC,MAAgD,EAChD,UAAkB;QAElB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC1C,yEAAyE;QACzE,0DAA0D;QAC1D,yFAAyF;QACzF,MAAM,YAAY,GAAG,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;QAEnE,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,YAAuC,CAAC,EAAE,CAAC;YACtE,MAAM,aAAa,GAAI,YAAwC,CAAC,GAAG,CAAC,CAAC;YACrE,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ;gBAAE,SAAS;YAElE,uDAAuD;YACvD,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAEvD,IAAI,UAAU,CAAC,aAAuB,CAAC,EAAE,CAAC;gBACxC,IAAI,OAAQ,aAAyC,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;oBAC9E,qEAAqE;oBACrE,4DAA4D;oBAC5D,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM,YAAY,GAChB,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ;wBAC5C,CAAC,CACG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,WAAqB,CAG/C,EAAE,KAAK,IAAK,WAAkC,CAAC,KAAK;wBACvD,CAAC,CAAC,SAAS,CAAC;oBAEhB,wDAAwD;oBACxD,6DAA6D;oBAC7D,MAAM,MAAM,GACT,aAAyC,CAAC,QAK5C,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;oBAEzC,IAAI,MAAM;wBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,iEAAiE;gBACjE,wDAAwD;gBACxD,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;gBACpC,IAAI,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;oBACnD,IAAI,CAAC,2BAA2B,CAC9B,aAA8B,EAC9B,WAAsC,EACtC,MAAM,EACN,IAAI,CACL,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,4BAA4B,CAClC,UAAmC;QAEnC,yEAAyE;QACzE,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvC,IAAI,UAAU,CAAC,KAAe,CAAC,EAAE,CAAC;oBAChC,sEAAsE;oBACtE,MAAM,CAAC,GAAG,CAAC;wBACR,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAe,CAAoC,EAAE,KAAK;4BACnF,KAA4B,CAAC,KAAK,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAgC,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "palistor",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "Declarative framework for
|
|
3
|
+
"version": "0.0.30",
|
|
4
|
+
"description": "Declarative MVVM-style state framework for React — forms, lists & wizards, batteries included",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -53,16 +53,15 @@
|
|
|
53
53
|
"publish:github": "npm pkg set name=@projectint/palistor && npm publish --registry=https://npm.pkg.github.com; npm pkg set name=palistor"
|
|
54
54
|
},
|
|
55
55
|
"keywords": [
|
|
56
|
-
"
|
|
57
|
-
"
|
|
56
|
+
"mvvm",
|
|
57
|
+
"state-management",
|
|
58
|
+
"ai-friendly",
|
|
58
59
|
"forms",
|
|
60
|
+
"wizard",
|
|
61
|
+
"react",
|
|
59
62
|
"state",
|
|
60
|
-
"state-management",
|
|
61
63
|
"form-state",
|
|
62
|
-
"
|
|
63
|
-
"proxy",
|
|
64
|
-
"reactive",
|
|
65
|
-
"wizard"
|
|
64
|
+
"reactive"
|
|
66
65
|
],
|
|
67
66
|
"author": "Yuri Palienko",
|
|
68
67
|
"license": "MIT",
|
|
@@ -80,7 +79,10 @@
|
|
|
80
79
|
"devDependencies": {
|
|
81
80
|
"@testing-library/jest-dom": "^6.9.1",
|
|
82
81
|
"@testing-library/react": "^16.3.2",
|
|
82
|
+
"@testing-library/user-event": "^14.6.1",
|
|
83
83
|
"@types/react": "^19",
|
|
84
|
-
"
|
|
84
|
+
"jsdom": "^29.1.1",
|
|
85
|
+
"typescript": "^5.5.0",
|
|
86
|
+
"vitest": "^4.1.10"
|
|
85
87
|
}
|
|
86
88
|
}
|