From 7341b479d1c9fdd45661273fa80d74e7c923b6cf Mon Sep 17 00:00:00 2001 From: Marcus Feitoza Date: Mon, 20 Apr 2020 22:02:08 -0300 Subject: [PATCH 01/15] Add svelte tutorial --- SUMMARY.md | 1 + views/svelte.md | 109 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 views/svelte.md diff --git a/SUMMARY.md b/SUMMARY.md index 62acb64..fd36288 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -24,6 +24,7 @@ * [React](views/react.md) * [Angular](views/angular.md) * [Vue](views/vue.md) +* [Svelte](views/svelte.md) ## Addons diff --git a/views/svelte.md b/views/svelte.md new file mode 100644 index 0000000..d249433 --- /dev/null +++ b/views/svelte.md @@ -0,0 +1,109 @@ +# Svelte + +There are two differente ways to connect Overmind to Svelte. You can use the **reactive declarations** or you can use the **reaction**. + +When you connect Overmind to a component you ensure that whenever any tracked state changes, only components interested in that state will re-render. + +## Reactive declarations + +{% tabs %} +{% tab title="overmind.js" %} +```javascript +import { createOvermind } from 'overmind' +import { createMixin } from 'overmind-svelte' + +const overmind = { + state: { + count: 0 + }, + actions: { + increase({ state }) { + state.count++; + }, + decrease({ state }) { + state.count--; + } + } +} + +const store = createMixin(createOvermind(overmind)) + +export const state = store.state +export const actions = store.actions + +``` +{% endtab %} + +{% tabs %} +{% tab title="App.svelte" %} +```javascript + + + +

Count: {count}

+ + +``` +{% endtab %} + +## Reactions + +{% tabs %} +{% tab title="overmind.js" %} +```javascript +import { createOvermind } from 'overmind' +import { createMixin } from 'overmind-svelte' + +const overmind = { + state: { + count: 0 + }, + actions: { + increase({ state }) { + state.count++; + }, + decrease({ state }) { + state.count--; + } + } +} + +const store = createMixin(createOvermind(overmind)) + +export const state = store.state +export const actions = store.actions +export const reactions = store.reactions + +``` +{% endtab %} + +{% tabs %} +{% tab title="App.svelte" %} +```javascript + + + +

Count: {count}

+

Doubled: {doubled}

+ + +``` +{% endtab %} From 0bda9e3630f3938056c0dd280deca914a4306bc0 Mon Sep 17 00:00:00 2001 From: Christian Alfoni Date: Fri, 15 May 2020 06:40:08 +0000 Subject: [PATCH 02/15] GitBook: [master] 41 pages modified From 3c0651aea03e87d943f68095d1813c199f24dae3 Mon Sep 17 00:00:00 2001 From: Christian Alfoni Date: Mon, 8 Jun 2020 08:41:20 +0000 Subject: [PATCH 03/15] GitBook: [master] 41 pages and 2 assets modified --- .gitbook/assets/image (1).png | Bin 0 -> 208367 bytes .gitbook/assets/image.png | Bin 0 -> 208367 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 .gitbook/assets/image (1).png create mode 100644 .gitbook/assets/image.png diff --git a/.gitbook/assets/image (1).png b/.gitbook/assets/image (1).png new file mode 100644 index 0000000000000000000000000000000000000000..00b003ffbe27e638ecc1b32ef9bd6b8531278f02 GIT binary patch literal 208367 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

RE5Fd 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 vzd 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 literal 0 HcmV?d00001 From f6d1a494c61d9621151be96b5a544073226c76a9 Mon Sep 17 00:00:00 2001 From: Christian Alfoni Date: Mon, 8 Jun 2020 11:27:34 +0000 Subject: [PATCH 04/15] GitBook: [master] 41 pages modified From cd77b5e18de1893ed111c24c442fd0113c63e7ab Mon Sep 17 00:00:00 2001 From: Christian Alfoni Date: Tue, 9 Jun 2020 18:04:53 +0000 Subject: [PATCH 05/15] GitBook: [master] 2 pages modified --- SUMMARY.md | 1 - views/svelte.md | 109 ------------------------------------------------ 2 files changed, 110 deletions(-) delete mode 100644 views/svelte.md diff --git a/SUMMARY.md b/SUMMARY.md index fd36288..62acb64 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -24,7 +24,6 @@ * [React](views/react.md) * [Angular](views/angular.md) * [Vue](views/vue.md) -* [Svelte](views/svelte.md) ## Addons diff --git a/views/svelte.md b/views/svelte.md deleted file mode 100644 index d249433..0000000 --- a/views/svelte.md +++ /dev/null @@ -1,109 +0,0 @@ -# Svelte - -There are two differente ways to connect Overmind to Svelte. You can use the **reactive declarations** or you can use the **reaction**. - -When you connect Overmind to a component you ensure that whenever any tracked state changes, only components interested in that state will re-render. - -## Reactive declarations - -{% tabs %} -{% tab title="overmind.js" %} -```javascript -import { createOvermind } from 'overmind' -import { createMixin } from 'overmind-svelte' - -const overmind = { - state: { - count: 0 - }, - actions: { - increase({ state }) { - state.count++; - }, - decrease({ state }) { - state.count--; - } - } -} - -const store = createMixin(createOvermind(overmind)) - -export const state = store.state -export const actions = store.actions - -``` -{% endtab %} - -{% tabs %} -{% tab title="App.svelte" %} -```javascript - - - -

Count: {count}

- - -``` -{% endtab %} - -## Reactions - -{% tabs %} -{% tab title="overmind.js" %} -```javascript -import { createOvermind } from 'overmind' -import { createMixin } from 'overmind-svelte' - -const overmind = { - state: { - count: 0 - }, - actions: { - increase({ state }) { - state.count++; - }, - decrease({ state }) { - state.count--; - } - } -} - -const store = createMixin(createOvermind(overmind)) - -export const state = store.state -export const actions = store.actions -export const reactions = store.reactions - -``` -{% endtab %} - -{% tabs %} -{% tab title="App.svelte" %} -```javascript - - - -

Count: {count}

-

Doubled: {doubled}

- - -``` -{% endtab %} From c17f6e6d283eb76bb38e87078ea34aae06824d2d Mon Sep 17 00:00:00 2001 From: Christian Alfoni Date: Sun, 25 Oct 2020 16:15:03 +0000 Subject: [PATCH 06/15] GitBook: [v26] 45 pages modified --- README.md | 60 +-- SUMMARY.md | 11 +- addons/graphql.md | 210 +++++--- addons/statecharts.md | 804 +++++++++++++++++++++++++++++++ api-1/addmutationlistener.md | 2 +- api-1/createovermind.md | 32 +- api-1/createovermindmock.md | 4 +- api-1/derive.md | 52 +- api-1/events.md | 22 + api-1/lazy.md | 21 +- api-1/namespaced.md | 4 + api-1/operators.md | 2 +- api-1/statemachine.md | 79 +++ core/defining-state.md | 260 ++-------- core/devtools.md | 78 ++- core/server-side-rendering.md | 120 +++++ core/structuring-the-app.md | 16 +- core/typescript.md | 387 ++++----------- faq.md | 2 + guides-1/using-state-machines.md | 315 ++++++++++++ introduction.md | 30 +- views/angular.md | 22 + views/react.md | 65 ++- views/svelte.md | 94 ++++ views/vue.md | 165 ++++++- 25 files changed, 2096 insertions(+), 761 deletions(-) create mode 100644 addons/statecharts.md create mode 100644 api-1/events.md create mode 100644 api-1/statemachine.md create mode 100644 guides-1/using-state-machines.md create mode 100644 views/svelte.md diff --git a/README.md b/README.md index 42869bd..7985419 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ description: frictionless state management > Web application development is about **defining**, **changing** and **consuming state** to produce a user experience. Overmind aims for a developer experience where that is all you focus on, reducing the orchestration of state management to a minimum. Making you a **happier** and more **productive** developer! -{% embed url="https://overmindjs.changefeed.app/general/v22.0.0" %} +{% embed url="https://overmindjs.changefeed.app/general/v26" %} ## APPLICATION INSIGHT @@ -16,7 +16,7 @@ Develop the application state, effects and actions without leaving [VS Code](htt ## A SINGLE STATE TREE -Building your application with a single state tree is the most straight forward mental model. You get a complete overview, but can still organize the state by namespacing it into domains. The devtools allows you to edit and mock out state. +Building your application with a single state tree is the most straight forward mental model. You get a complete overview, but can still organize the state by namespacing it into domains. This gives you the benefit of being able to explore all the state of your application from a single point. With Typescript it is even documented. The devtools allows you to edit and mock out state. ```typescript { @@ -57,7 +57,7 @@ export const loadApp = ({ state, effects }) => { ## SAFE AND PREDICTABLE CHANGES -When you build applications that perform many state changes things can get out of hand. In Overmind you can only perform state changes from **actions** and all changes are tracked by the development tool. +When you build applications that perform many state changes things can get out of hand. In Overmind you can only perform state changes from **actions** and all changes are tracked by the development tool. Even effects are tracked and reactions are tracked. ```javascript export const getItems = async ({ state, effects }) => { @@ -69,7 +69,7 @@ export const getItems = async ({ state, effects }) => { ## COMPLEXITY TOOLS -Even though Overmind can create applications with only plain **state** and **actions**, you can use **opt-in** tools like **functional operators**, **statecharts, statemachines** and state values defined as a **class,** to manage complexities of your application. +Even though Overmind can create applications with plain **state** and **actions**, you can use **opt-in** tools like **functional operators**,**, statemachines** and state values defined as a **class,** to manage complexities of your application. {% tabs %} {% tab title="Operators" %} @@ -89,54 +89,18 @@ export const search = pipe( ``` {% endtab %} -{% tab title="Statechart" %} -```javascript -const loginChart = { - initial: 'LOGIN', - states: { - LOGIN: { - on: { - changeUsername: null, - changePassword: null, - login: 'AUTHENTICATING' - } - }, - AUTHENTICATING: { - on: { - resolveUser: 'AUTHENTICATED', - rejectUser: 'ERROR' - } - }, - AUTHENTICATED: { - on: { - logout: 'LOGIN' - } - }, - ERROR: { - on: { - tryAgain: 'LOGIN' - } - } - } -} -``` -{% endtab %} - {% tab title="Statemachines" %} ```typescript -export const state = { - mode: statemachine({ - initial: 'unauthenticated', - states: { - unauthenticated: ['authenticating'], - authenticating: ['unauthenticated', 'authenticated'], - authenticated: ['unauthenticating'], - unauthenticating: ['unauthenticated', 'authenticated'] - } - }), +export const state = statemachine({ + unauthenticated: ['authenticating'], + authenticating: ['unauthenticated', 'authenticated'], + authenticated: ['unauthenticating'], + unauthenticating: ['unauthenticated', 'authenticated'] +}, { + state: 'unauthenticated', user: null, error: null -} +}) ``` {% endtab %} diff --git a/SUMMARY.md b/SUMMARY.md index 62acb64..d904dfb 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -15,7 +15,6 @@ * [Actions](core/writing-application-logic.md) * [Effects](core/running-side-effects.md) * [Operators](core/going-functional.md) -* [Statecharts](core/statecharts.md) * [Server Side Rendering](core/server-side-rendering.md) * [Typescript](core/typescript.md) @@ -24,19 +23,22 @@ * [React](views/react.md) * [Angular](views/angular.md) * [Vue](views/vue.md) +* [Svelte](views/svelte.md) ## Addons * [GraphQL](addons/graphql.md) +* [Statechart](addons/statecharts.md) ## Guides
+* [Using state machines](guides-1/using-state-machines.md) * [Connecting components](guides-1/connecting-components.md) -* [Connecting to React Native](https://dev.to/brasilikum/how-to-setup-overmind-with-react-native-expo-optional-4mk5) * [Managing lists](guides-1/managing-lists.md) * [State first routing](guides-1/state-first-routing.md) * [Move to Typescript](guides-1/move-to-typescript.md) * [Testing](guides-1/testing.md) +* [Connecting to React Native](https://dev.to/brasilikum/how-to-setup-overmind-with-react-native-expo-optional-4mk5) ## API @@ -46,8 +48,9 @@ * [createOvermind](api-1/createovermind.md) * [createOvermindMock](api-1/createovermindmock.md) * [createOvermindSSR](api-1/createovermindssr.md) -* [derive](api-1/derive.md) +* [derived](api-1/derive.md) * [effects](api-1/effects.md) +* [events](api-1/events.md) * [json](api-1/json.md) * [lazy](api-1/lazy.md) * [merge](api-1/merge.md) @@ -56,5 +59,5 @@ * [operators](api-1/operators.md) * [reaction](api-1/reaction.md) * [rehydrate](api-1/rehydrate.md) -* [statecharts](api-1/statecharts.md) +* [statemachine](api-1/statemachine.md) diff --git a/addons/graphql.md b/addons/graphql.md index 892dce9..58fdabe 100644 --- a/addons/graphql.md +++ b/addons/graphql.md @@ -6,10 +6,6 @@ Using Graphql with Overmind gives you the following benefits: * **Cache:** You integrate the data from Graphql with your existing state, allowing you to control when new data is needed * **Optimistic updates:** With the data integrated with your Overmind state you can also optimistically update that state before running a mutation query -{% hint style="info" %} -The Graphql package does not support **subscriptions** currently -{% endhint %} - ## Get up and running Install the separate package: @@ -20,7 +16,7 @@ npm install overmind-graphql ### Initial state -The Graphql package is a _configuration factory_. That means you need some existing configuration before going: +The Graphql package is an _effect_. Though since we are operating on state, let us prepare some: {% tabs %} {% tab title="overmind/index.js" %} @@ -43,29 +39,57 @@ export const state = { {% endtab %} {% endtabs %} -### The factory +### The effect -Now let us introduce the factory: +Now let us introduce the effect: {% tabs %} {% tab title="overmind/index.js" %} ```typescript +import { state } from './state' +import { onInitialize } from './onInitialize' +import { gql } from './effects/gql' + +export const config = { + onInitialize, + state, + effects: { + gql + } +} +``` +{% endtab %} + +{% tab title="overmind/onInitialize.js" %} +```javascript +export const onInitialize = ({ effects }) => { + effects.gql.initialize({ + // query and mutation options + endpoint: 'http://some-endpoint.dev', + }, { + // subscription options + endpoint: 'ws://some-endpoint.dev', + }) +} +``` +{% endtab %} + +{% tab title="overmind/effects/gql/index.js" %} +```javascript import { graphql } from 'overmind-graphql' import * as queries from './queries' import * as mutations from './mutations' -import { state } from './state' +import * as subscriptions from './subscriptions' -export const config = graphql({ - state -}, { - endpoint: 'http://some-endpoint.dev', +export const gql = graphql({ queries, - mutations + mutations, + subscriptions }) ``` {% endtab %} -{% tab title="overmind/queries.js" %} +{% tab title="overmind/effects/gql/queries.js" %} ```typescript import { gql } from 'overmind-graphql' @@ -80,7 +104,7 @@ export const posts = gql` ``` {% endtab %} -{% tab title="overmind/mutations.js" %} +{% tab title="overmind/effects/gql/mutations.js" %} ```typescript import { gql } from 'overmind-graphql' @@ -93,60 +117,82 @@ export const createPost = gql` ` ``` {% endtab %} + +{% tab title="overmind/effects/gql/subscriptions.js" %} +```javascript +import { gql } from 'overmind-graphql' + +export const onPostAdded = gql` + subscription PostAdded() { + postAdded() { + id + title + } + } +` +``` +{% endtab %} {% endtabs %} -You define **queries** and **mutations** as part of the second argument to the factory, with what **endpoint** you want to connect to. These queries and mutations are converted into Overmind effects that you can call from your actions. +You define **queries,** **mutations** and **subscriptions** with the effect. That means you can have multiple effects holding different queries and even endpoints. The endpoints are defined when you initialize the effect. This allows you to dynamically create the endpoints based on state, and also pass state related to requests to the endpoints. The queries, mutations and subscriptions are converted into Overmind effects that you can call from your actions. ## Query To call a query you will typically use an action. Let us create an action that uses our **posts** query. {% tabs %} -{% tab title="overmind/index.js" %} +{% tab title="overmind/actions.js" %} ```typescript -import { graphql } from 'overmind-graphql' -import * as actions from './actions' -import * as queries from './queries' -import * as mutations from './mutations' -import { state } from './state' +export const getPosts = async ({ state, effects }) => { + const { posts } = await effects.gql.queries.posts() -export const config = graphql({ - state, - actions -}, { - endpoint: 'http://some-endpoint.dev', - queries, - mutations -}) + state.posts = posts +} ``` {% endtab %} +{% endtabs %} + +## Mutate + +Mutation queries are basically the same as normal queries. You would typically also call these from an action. +{% tabs %} {% tab title="overmind/actions.js" %} ```typescript export const getPosts = async ({ state, effects }) => { - const { posts } = await effects.queries.posts() + const { posts } = await effects.gql.queries.posts() state.posts = posts } + +export const addPost = async ({ effects }, title) => { + await effects.gql.mutations.createPost({ title }) +} ``` {% endtab %} {% endtabs %} -## Mutate +## Subscription -Mutation queries are basically the same as normal queries. You would typically also call these from an action. +Subscriptions are also available via actions. You typically give them an action which triggers whenever the subscription triggers. {% tabs %} {% tab title="overmind/actions.js" %} ```typescript -export const getPosts = async ({ state, effects }) => { - const { posts } = await effects.queries.posts() +export const getPosts = async ({ state, effects, actions }) => { + const { posts } = await effects.gql.queries.posts() state.posts = posts + + effects.gql.subscriptions.onPostAdded(actions.onPostAdded) } export const addPost = async ({ effects }, title) => { - await effects.mutations.createPost({ title }) + await effects.gql.mutations.createPost({ title }) +} + +export const onPostAdded = ({ state }, post) => { + state.posts.push(post) } ``` {% endtab %} @@ -193,58 +239,74 @@ There are two points of options in the Graphql factory. The **headers** and the The headers option is a function which receives the state of the application. That means you can produce request headers dynamically. This can be useful related to authentciation. {% tabs %} -{% tab title="overmind/index.js" %} +{% tab title="overmind/onInitialize.js" %} ```typescript -import { graphql } from 'overmind-graphql' -import * as queries from './queries' -import * as mutations from './mutations' -import { state } from './state' +export const onInitialize = ({ state, effects }) => { + effects.gql.initialize({ + endpoint: 'http://some-endpoint.dev', + // This runs on every request + headers: () => ({ + authorization: `Bearer ${state.auth.token}` + }), + // The options are the options passed to GRAPHQL-REQUEST + options: { + credentials: 'include', + mode: 'cors', + }, + }, { + endpoint: 'ws://some-endpoint.dev', + // This runs on every connect + params: () => ({ + token: state.auth.token + }) + }) +} +``` +{% endtab %} +{% endtabs %} -export const config = graphql({ - state -}, { - endpoint: 'http://some-endpoint.dev', - headers: (state) => ({ - authorization: `Bearer ${state.auth.token}` - }), - queries, - mutations -}) +## Custom subscription socket + +If you want to define your own socket for connecting to subscriptions, a function can be used instead: + +{% tabs %} +{% tab title="overmind/onInitialize.js" %} +```javascript +export const onInitialize = ({ effects }) => { + effects.gql.initialize( + { + endpoint: 'http://some-endpoint.dev', + }, + () => new Websocket('ws://some-other-endpoint.dev') + ) +} ``` {% endtab %} {% endtabs %} -The options are the options passed to [GRAPHQL-REQUEST](https://github.com/prisma-labs/graphql-request). +## Disposing subscriptions + +You can dispose any subscriptions in any action. There are two ways to dispose: {% tabs %} -{% tab title="overmind/index.js" %} +{% tab title="overmind/actions.js" %} ```typescript -import { graphql } from 'overmind-graphql' -import * as queries from './queries' -import * as mutations from './mutations' -import { state } from './state' - -export const config = graphql({ - state -}, { - endpoint: 'http://some-endpoint.dev', - headers: (state) => ({ - authorization: `Bearer ${state.auth.token}` - }), - options: { - credentials: 'include', - mode: 'cors', - }, - queries, - mutations -}) +export const disposeSubscriptions = async ({ state, effects }) => { + // Disposes all subscriptions on "onPostAdded" + effects.gql.subscriptions.onPostAdded.dispose() + // If the subscription takes a payload, you can dispose specific + // subscriptions + effects.gql.subscriptions.onPostChange.disposeWhere( + data => data.id === state.currentPostId + ) +} ``` {% endtab %} {% endtabs %} ## Typescript -There is only a single type exposed by the library, **Query**. It is used for both queries and mutations. +There is only a single type exposed by the library, **Query**. It is used for queries, mutations and subscriptions. {% tabs %} {% tab title="overmind/queries.ts" %} @@ -298,7 +360,7 @@ Now you can create a script in your **package.json** file that looks something l ```typescript { "scripts": { - "schema": "apollo schema:download --endpoint=http://some-endpoint.dev graphql-schema.json && apollo codegen:generate --localSchemaFile=graphql-schema.json --target=typescript --includes=src/overmind/**/*.ts --tagName=gql --no-addTypename --globalTypesFile=src/overmind/graphql-global-types.ts graphql-types" + "schema": "apollo schema:download --header='X-Hasura-Admin-Secret: password' --endpoint=http://some-endpoint.dev graphql-schema.json && apollo codegen:generate --localSchemaFile=graphql-schema.json --target=typescript --includes=src/overmind/**/*.ts --tagName=gql --no-addTypename --globalTypesFile=src/overmind/graphql-global-types.ts graphql-types" } } ``` diff --git a/addons/statecharts.md b/addons/statecharts.md new file mode 100644 index 0000000..4f84db5 --- /dev/null +++ b/addons/statecharts.md @@ -0,0 +1,804 @@ +# Statechart + +{% hint style="info" %} +Before you dive into statecharts it can be a good idea to explore [**statemachines**](../core/defining-state.md#statemachines). These are lower level and more flexible and can in most situations be exactly what you need. +{% endhint %} + +Just like [OPERATORS](../core/going-functional.md) is a declarative abstraction over plain actions, **statecharts** is a declarative abstraction over an Overmind configuration of **state** and **actions**. That means you will define your charts by: + +```typescript +const configWithStatechart = statechart(config, chart) +``` + +There are several benefits to using statecharts: + +1. You will have a declarative description of what actions should be available in certain states of the application +2. Less bugs because an invalid action will not be executed if called +3. You will be able to implement and test an interaction flow without building the user interface for it +4. Your state definition is cleaned up as your **isLoading** types of state is no longer needed +5. You have a tool to do “top down” implementation instead of “bottom up” + +You can basically think of a statechart as a way of limiting what actions are available to be executed in certain states of the application. This concept is very old and was originally used to design machines where the user was exposed to all points of interaction, all buttons and switches, at any time. Statecharts would help make sure that at certain states certain buttons and switches would not operate. + +A simple example of this is a Walkman. When the Walkman is in a **playing** state you should not be able to hit the **eject** button. On the web this might seem unnecessary as points of interaction is dynamic. We simply hide and/or disable buttons. But this is the exact problem. It is fragile. It is fragile because the UI implementation itself is all you depend on to prevent logic from running when it should not. A statechart is a much more resiliant way to ensure what logic can actually run in any given state. + +In Overmind we talk about these statechart states as **transition states**. + +## Get up and running + +Install the separate package: + +```text +npm install overmind-statechart +``` + +## Defining a statechart + +Let us imagine that we have a login flow. This login flow has 4 different **transition states**: + +1. **LOGIN**. We are at the point where the user inserts a username and password +2. **AUTHENTICATING**. The user has submitted +3. **AUTHENTICATED**. The user has successfully logged in +4. **ERROR**. Something wrong happened + +Let us do this properly and design this flow “top down”: + +{% tabs %} +{% tab title="overmind/login/index.js" %} +```typescript +import { statechart } from 'overmind-statechart' +import * as actions from './actions' +import { state } from './state' + +const config = { + state, + actions +} + +const loginChart = { + initial: 'LOGIN', + states: { + LOGIN: { + on: { + changeUsername: null, + changePassword: null, + login: 'AUTHENTICATING' + } + }, + AUTHENTICATING: { + on: { + resolveUser: 'AUTHENTICATED', + rejectUser: 'ERROR' + } + }, + AUTHENTICATED: { + on: { + logout: 'LOGIN' + } + }, + ERROR: { + on: { + tryAgain: 'LOGIN' + } + } + } +} + +export default statechart(config, loginChart) +``` +{% endtab %} +{% endtabs %} + +As you can see we have defined what transition states our login flow can be in and what actions we want available to us in each transition state. If the action points to **null** it means we stay in the same transition state. If it points to an other transition state, the execution of that action will cause that transition to occur. + +Since our initial state is **LOGIN**, a call to actions defined in the other transition states would simply be ignored. + +{% hint style="info" %} +You might expect actions to throw an error if they are called, but not allowed to do so. This is not the case with statecharts. During development you will get a warning when this happens, but in production absolutely nothing happens. Hitting a submit button multiple times might be perfectly okay, but after the first submit the chart moves to a new state, preventing any further execution of logic on the following submits. +{% endhint %} + +## Transitions + +If you are familiar with the concept of statemachines you might ask the question: _“Where are the transitions?”_. In Overmind we use actions to define transitions instead of having explicit transition types. That means you think about statecharts in Overmind as: + +```text +TRANSITION STATE -> ACTION -> NEW TRANSITION STATE +``` + +as opposed to: + +```text +TRANSITION STATE -> TRANSITION TYPE -> { NEW TRANSITION STATE, ACTION } +``` + +This approach has three benefits: + +1. It is more explicit in the definition that a transition state configures what actions are available +2. When typing your application the actions already has a typed input, which would not be possible with a generic **transition** action +3. It is simpler concept both in code and for your brain + +What to take notice of is that the **action** causing the transition is run before the transition actually happens. That means the action runs in the context of the current transition state and any synchronous calls to another action will obey its rules. If the action does something asynchronous, like doing an HTTP request, the transition will be performed and the asynchronous logic will run in the context of the new transition state. + +```typescript +const myTransitionAction = async ({ actions }) => { + // I am still in the current transition state + actions.someOtherAction() + + await Promise.resolve() + + // I am in the new transition state + actions.someOtherAction() +} +``` + +## Nested statecharts + +With a more complicated UI we can create nested statecharts. An example of this would be a workspace UI with different tabs. You only want to allow certain actions when the related tab is active. Let us explore an example: + +{% tabs %} +{% tab title="overmind/dashboard/index.js" %} +```typescript +import { statechart } from 'overmind-statechart' +import * as actions from './actions' +import { state } from './state' + +const config = { + state, + actions +} + +const issuesChart = { + initial: 'LOADING', + states: { + LOADING: { + entry: 'fetchIssues', + exit: 'abortFetchIssues', + on: { + resolveIssues: 'LIST', + rejectIssues: 'ERROR' + } + }, + LIST: { + on: { + toggleIssueCompleted: null + } + }, + ERROR: { + on: { + retry: 'LOADING' + } + }, + } +} + +const projectsChart = { + initial: 'LOADING', + states: { + LOADING: { + entry: 'fetchProjects', + exit: 'abortFetchProjects', + on: { + resolveIssues: 'LIST', + rejectIssues: 'ERROR' + } + }, + LIST: { + on: { + expandAttendees: null + } + }, + ERROR: { + on: { + retry: 'LOADING' + } + }, + } +} + +const dashboardChart = { + initial: 'ISSUES', + states: { + ISSUES: { + on: { + openProjects: 'PROJECTS' + }, + chart: issuesChart + }, + PROJECTS: { + on: { + openIssues: 'ISSUES' + }, + chart: projectsChart + } + } +} + +export default statechart(config, dashboardChart) +``` +{% endtab %} +{% endtabs %} + +What to take notice of in this example is that all chart states has its own **chart** property, which allows them to be nested. The nested charts has access to the same actions and state as the parent chart. + +In this example we also took advantage of the **entry** and **exit** hooks of a transition state. These also points to actions. When a transition is made into the transition state, the **entry** will run. This behavior is nested. When an **exit** hook exists and a transition is made away from the transition state, it will also run. This behavior is also nested of course. + +## Parallel statecharts + +It is also possible to define your charts in a parallel manner. You do this by simply using an object of keys where the key represents an ID of the chart. The **chart** property on a transition state allows the same. Either a single chart or an object of multiple charts where the key represents an ID of the chart. + +```typescript +export default statechart(config, { + issues: issuesChart, + projects: projectsChart +}) +``` + +## Conditions + +In our chart above we let the user log in even though there is no **username** or **password**. That seems a bit silly. In statecharts you can define conditions. These conditions receives the state of the configuration and returns true or false. + +{% tabs %} +{% tab title="overmind/login/index.js" %} +```typescript +import { statechart } from 'overmind-statechart' +import * as actions from './actions' +import { state } from './state' + +const config = { + state, + actions +} + +const loginChart = { + initial: 'LOGIN', + states: { + LOGIN: { + on: { + changeUsername: null, + changePassword: null, + login: { + target: 'AUTHENTICATING', + condition: state => Boolean(state.username && state.password) + } + } + }, + ... + } +} + +export default statechart(config, loginChart) +``` +{% endtab %} +{% endtabs %} + +Now the **login** action can only be executed when there is a username and password inserted, causing a transition to the new transition state. + +## State + +Our initial state defined for this configuration is: + +{% tabs %} +{% tab title="overmind/login/state.js" %} +```typescript +export const state = { + username: '', + password: '', + user: null, + authenticationError: null +} +``` +{% endtab %} +{% endtabs %} + +As you can see we have no state indicating that we have received an error, like **hasError**. We do not have **isLoggingIn** either. There is no reason, because we have our transition states. That means the configuration is populated with some additional state by the statechart. It will actually look like this: + +```typescript +{ + username: '', + password: '', + user: null, + authenticationError: null, + states: [['CHART', 'LOGIN']], + actions: { + changeUsername: true, + changePassword: true, + login: false, + logout: false, + tryAgain: false + } +} +``` + +The **states** state is the current transition states. It is defined as an array of arrays. This indicates that we can have parallel and nested charts. The **CHART** symbol in the array indicates that you have defined an immediate chart. If you rather defined parallel charts you would define your own ids. + +The **actions** state is a derived state. That means it automatically updates based on the current state of the chart. This is helpful for your UI implementation. It can use it to disable buttons etc. to help the user understand when certain actions are possible. + +### Identifying states + +There is also a third derived state called **matches**. This derived state returns a function that allows you to figure out what state you are in. This is also the API you use in your components to identify the state of your application:[EDIT ON GITHUB](https://github.com/cerebral/overmind/edit/next/packages/overmind-website/examples/guide/statecharts/matches.ts.ts) + +```typescript +state.login.matches({ + LOGIN: true +}) +``` + +You can also do more complex matches related to parallel and nested charts:[EDIT ON GITHUB](https://github.com/cerebral/overmind/edit/next/packages/overmind-website/examples/guide/statecharts/matches_multiple.ts.ts) + +```typescript +// Nested +const isSearching = state.dashboard.matches({ + LIST: { + search: { + SEARCHING: true + } + } +}) + +// Parallel +const isDownloadingAndUploading = state.files.matches({ + download: { + LOADING: true + }, + upload: { + LOADING: true + } +}) + +// Complex match +const isOnlyDownloading = state.files.matches({ + download: { + LOADING: true + }, + upload: { + LOADING: false + } +}) +``` + +### Actions + +Our actions are defined something like: + +{% tabs %} +{% tab title="overmind/login/actions.js" %} +```typescript +export const changeUsername = ({ state }, username) => { + state.login.username = username +} + +export const changePassword = ({ state }, password) => { + state.login.password = password +} + +export const login = ({ state, actions, effects }) => { + try { + const user = await effects.api.login(state.username, state.password) + actions.login.resolveUser(user) + } catch (error) { + actions.login.rejectUser(error) + } +} + +export const resolveUser = ({ state }, user) => { + state.login.user = user +} + +export const rejectUser = ({ state }, error) => { + state.login.authenticationError = error.message +} + +export const logout = ({ effects }) => { + effects.api.logout() +} + +export const tryAgain = () => {} +``` +{% endtab %} +{% endtabs %} + +What to take notice of here is that with traditional Overmind we would most likely just set the **user** or the **authenticationError** directly in the **login** action. That is not the case with statcharts because our actions are the triggers for transitions. That means whenever we want to deal with transitions we create an action for it, even completely empty actions like **tryAgain**. This simplifies our chart definition and also we avoid having a generic **transition** action that would not be typed in TypeScript. + +Now these two charts would operate individually. This is also the case for the **chart** property on the states of a chart. + +## Devtools + +The Overmind devtools understands statecharts. That means you are able to get an overview of available statecharts and even manipulate them directly in the devtools. + +![](../.gitbook/assets/statecharts.png) + +You will see what transition states and actions are available, and active, within each of them. You can click any active action to select it and click again to execute, or insert at payload at the top before execution. + +## Typescript + +To type a statechart you use the **Statechart** type: + +{% tabs %} +{% tab title="overmind/someNamespace/index.ts" %} +```typescript +import { Statechart, statechart } from 'overmind-statechart' +import * as actions from './actions' +import { state } from './state' + +const config = { + state, + actions +} + +const someChart: Statechart = { + initial: 'FOO', + states: { + FOO: {}, + BAR: {} + } +} + +export default statechart(config, someChart) +``` +{% endtab %} +{% endtabs %} + +The **void** type just defines that there are no nested charts. All the states and points of inserting an action name is now typed. Also the **condition** callback is typed. Even the **matches** API is typed correctly. + +### Nested chart + +{% tabs %} +{% tab title="overmind/someNamespace/index.ts" %} +```typescript +import { Statechart, statechart } from 'overmind-statechart' +import * as actions from './actions' +import { state } from './state' + +const config = { + state, + actions +} + +const someNestedChart: Statechart = { + initial: 'NESTED_FOO', + states: { + NESTED_FOO: {}, + NESTED_BAR: {} + } +} + +const someChart: Statechart = { + initial: 'FOO', + states: { + FOO: { + chart: someNestedChart + }, + BAR: {} + } +} + +export default statechart(config, someChart) +``` +{% endtab %} +{% endtabs %} + +## Summary + +The point of statecharts in Overmind is to give you an abstraction over your configuration that ensures the actions can only be run in certain states. Just like operators you can choose where you want to use it. Maybe only one namespace needs a statechart, or maybe you prefer using it on all of them. The devtools has its own visualizer for the charts, which allows you to implement and test them without implementing any UI.w + +## API + +### statechart + +The factory function you use to wrap an Overmind configuration. You add one or multiple charts to the configuration, where the key is the _id_ of the chart. + +```typescript +import { Statechart, statechart } from 'overmind/config' +import * as actions from './actions' +import { state } from './state' + +const config = { + actions, + state +} + +const chart: Statechart = {} + +export default statechart(config, chart) +``` + +### initial + +Define the initial state of the chart. When a parent chart enters a transition state, any nested chart will move to its initial transition state. + +```typescript +import { Statechart, statechart } from 'overmind/config' +import * as actions from './actions' +import { state } from './state' + +const config = { + actions, + state +} + +const chart: Statechart = { + initial: 'STATE_A' +} + +export default statechart(config, chart) +``` + +### states + +Defines the transition states of the chart. The chart can only be in one of these states at any point in time. + +```typescript +import { Statechart, statechart } from 'overmind/config' +import * as actions from './actions' +import { state } from './state' + +const config = { + actions, + state +} + +const chart: Statechart = { + initial: 'STATE_A', + states: { + STATE_A: {}, + STATE_B: {} + } +} + +export default statechart(config, chart) +``` + +### entry + +When a transition state is entered you can optionally run an action. It also runs if it is the initial state. + +```typescript +import { Statechart, statechart } from 'overmind/config' +import * as actions from './actions' +import { state } from './state' + +const config = { + actions, + state +} + +const chart: Statechart = { + initial: 'STATE_A', + states: { + STATE_A: { + entry: 'someActionName' + }, + STATE_B: {} + } +} + +export default statechart(config, chart) +``` + +### exit + +When a transition state is changed, any exit defined in current transition state will be run first. Nested charts in a transition state with an exit defined will run before parents. + +```typescript +import { Statechart, statechart } from 'overmind/config' +import * as actions from './actions' +import { state } from './state' + +const config = { + actions, + state +} + +const chart: Statechart = { + initial: 'STATE_A', + states: { + STATE_A: { + entry: 'someActionName', + exit: 'someOtherActionName' + }, + STATE_B: {} + } +} + +export default statechart(config, chart) +``` + +### on + +Unlike traditional statecharts Overmind uses its actions as transition types. This keeps a cleaner chart definition and when using Typescript the actions will have correct typing related to their payload. The actions defined are the only actions allowed to run. They can optionally lead to a new transition state, even conditionally lead to a new transition state. + +```typescript +import { Statechart, statechart } from 'overmind/config' +import * as actions from './actions' +import { state } from './state' + +const config = { + actions, + state +} + +const chart: Statechart = { + initial: 'STATE_A', + states: { + STATE_A: { + on: { + // Allow execution, but stay on this transition state + someAction: null, + + // Move to new transition state when executed + someOtherAction: 'STATE_B', + + // Conditionally move to a new transition state + someConditionalAction: { + target: 'STATE_B', + condition: state => state.isTrue + } + } + }, + STATE_B: {} + } +} + +export default statechart(config, chart) +``` + +### nested + +A nested statechart will operate within its parent transition state. The means when the parent transition state is entered or exited any defined **entry** and **exit** actions will be run. When the parent enters its transition state the **initial** state of the child statechart\(s\) will be activated. + +```typescript +import { Statechart, statechart } from 'overmind/config' +import * as actions from './actions' +import { state } from './state' + +const config = { + actions, + state +} + +const nestedChart: Statechart = { + initial: 'FOO', + states: { + FOO: { + on: { + transitionToBar: 'BAR' + } + }, + BAR: { + on: { + transitionToFoo: 'FOO' + } + } + } +} + +const chart: Statechart = { + initial: 'STATE_A', + states: { + STATE_A: { + on: { + transitionToStateB: 'STATE_B' + }, + chart: nestedChart + }, + STATE_B: { + on: { + transitionToStateA: 'STATE_A' + } + } + } +} + +export default statechart(config, chart) +``` + +### parallel + +Multiple statecharts will run in parallel. Either for the factory configuration or nested charts. You can add the same chart multiple times behind different ids. + +```typescript +import { Statechart, statechart } from 'overmind/config' +import * as actions from './actions' +import { state } from './state' + +const config = { + actions, + state +} + +const chart: Statechart = { + initial: 'STATE_A', + states: { + STATE_A: { + on: { + transitionToStateB: 'STATE_B' + } + }, + STATE_B: { + on: { + transitionToStateA: 'STATE_A' + } + } + } +} + +export default statechart(config, { + chartA: chart, + chartB: chart +}) +``` + +{% hint style="info" %} +Also the nested **chart** property of charts can contain parallel charts +{% endhint %} + +### matches + +The matches API is used in your components to identify what state your charts are in. It is accessed on the **state**. + +```typescript +// Given that you have added statecharts to the root configuration +state.matches({ + STATE_A: true +}) + +// Nested chart +state.matches({ + STATE_A: { + FOO: true + } +}) + +// Parallel +state.matches({ + chartA: { + STATE_A: true + }, + chartB: { + STATE_B: true + } +}) + +// Negative check +state.matches({ + chartA: { + STATE_A: true + }, + chartB: { + STATE_B: false + } +}) +``` + diff --git a/api-1/addmutationlistener.md b/api-1/addmutationlistener.md index 2baeb00..985de9a 100644 --- a/api-1/addmutationlistener.md +++ b/api-1/addmutationlistener.md @@ -1,6 +1,6 @@ # addMutationListener -It is possible to listen to all mutations performed in Overmind. This allows you to create special effects based on mutations within a certain domain of your app, or whatever else you come up with. Note that this method triggers before the mutation occurs, you might rather want to use **addFlushListener** to be notified about batched changes, like the components does. +It is possible to listen to all mutations performed in Overmind. This allows you to create special effects based on mutations within a certain domain of your app, or whatever else you come up with. Note that this method triggers right after any mutation occurs, you might rather want to use **addFlushListener** to be notified about batched changes, like the components does. {% tabs %} {% tab title="overmind/onInitialize.ts" %} diff --git a/api-1/createovermind.md b/api-1/createovermind.md index bb2c921..a5875d0 100644 --- a/api-1/createovermind.md +++ b/api-1/createovermind.md @@ -70,25 +70,23 @@ const overmind = createOvermind(config, { }) ``` -## events +## options.delimiter -Overmind emits events during execution of actions and similar. It can be beneficial to listen to these events for analytics or maybe you want to create a custom debugging experience. The following events can be listened to by adding a listener to the eventHub: +By default Overmind will create state paths using `.` as delimiter. This is used to give each state value an address and is used with the devtools. If any state keys uses `.` you will get weird behaviour in the devtools. You can now change this delimiter to a safe value, typically `' '` or `'|'` : ```typescript -overmind.eventHub.on('action:start', (execution) => {}) -overmind.eventHub.on('action:end', (execution) => {}) -overmind.eventHub.on('operator:start', (execution) => {}) -overmind.eventHub.on('operator:end', (execution) => {}) -overmind.eventHub.on('operator:async', (execution) => {}) -overmind.eventHub.on('mutations', (executionAndMutations) => {}) -overmind.eventHub.on('derived', (derived) => {}) -overmind.eventHub.on('derived:dirty', (derivedPathAndFlush) => {}) - -// Only during development -overmind.eventHub.on('effect', (effectDetails) => {}) -overmind.eventHub.on('getter', (getterDetails) => {}) -overmind.eventHub.on('component:add', (componentDetails) => {}) -overmind.eventHub.on('component:update', (componentDetails) => {}) -overmind.eventHub.on('component:remove', (componentDetails) => {}) +const overmind = createOvermind(config, { + delimiter: '.' +}) +``` + +## options.devEnv + +The default development environment in Overmind is called `development` , but you can change this to a custom name: + +```typescript +const overmind = createOvermind(config, { + devEnv: 'dev' +}) ``` diff --git a/api-1/createovermindmock.md b/api-1/createovermindmock.md index 64995a9..541e2a4 100644 --- a/api-1/createovermindmock.md +++ b/api-1/createovermindmock.md @@ -44,5 +44,7 @@ describe('Actions', () => { {% endtab %} {% endtabs %} - +{% hint style="warning" %} +It is important that you separate your **config** from the instantiation of Overmind, meaning that **createOvermind** should not be used in the same file as the config you see imported here, it should rather be used where you render your application. This allows the config to be used for multiple purposes. +{% endhint %} diff --git a/api-1/derive.md b/api-1/derive.md index 6a1ad4b..1d0d412 100644 --- a/api-1/derive.md +++ b/api-1/derive.md @@ -1,65 +1,25 @@ -# derive +# derived You can add derived state to your application. You access derived state like any other value, there is no need to call it as a function. The derived value is cached and will only update when any accessed state changes. {% tabs %} {% tab title="overmind/state.ts" %} ```typescript -import { Derive } from 'overmind' - -export type Item = { - title: string - completed: boolean -} - -export type State = { - items: Item[] - completedItems: Derive -} +import { derived } from 'overmind' export const state: State = { items: [], - completedItems: (state, rootState) => - state.items.filter(item => item.completed) + completedItems: derived((state, rootState) => { + return state.items.filter(item => item.completed) + }) } ``` {% endtab %} {% endtabs %} -The function defining your derived state receives two arguments. The first argument is the object the derived function is attached to. Ideally you use this argument to produce your derived state, though you can access the second argument which is the root state of the application. The root state allows you to access any state. +The function defining your derived state receives two arguments. The first argument is the object the derived function is attached to. Ideally you use this argument to produce the derived state, though you can access the second argument which is the root state of the application. The root state allows you to access any state. {% hint style="info" %} Accessing **rootState** might cause unnecessary updates to the derived function as it will track more state, though typically not an issue {% endhint %} -An other use case for derived is to return a function. This allows you to insert functions into your state tree which can execute logic, even based on existing state. Even the function itself might be changed out based on the state of the application. - -{% tabs %} -{% tab title="overmind/state.ts" %} -```typescript -import { Derive } from 'overmind' - -export type User = { - name: string -} - -export type State = { - user: User - tellUser: Derive {}> -} - -export const state: State = { - user: { - name: 'John' - }, - tellUser: (state) => - (message) => console.log(message, ', ' + state.user.name) -} -``` -{% endtab %} -{% endtabs %} - -{% hint style="info" %} -Using state inside the returned function will not be tracked. You have to access the state in the scope of the derived function -{% endhint %} - diff --git a/api-1/events.md b/api-1/events.md new file mode 100644 index 0000000..89a6ad5 --- /dev/null +++ b/api-1/events.md @@ -0,0 +1,22 @@ +# events + +Overmind emits events during execution of actions and similar. It can be beneficial to listen to these events for analytics or maybe you want to create a custom debugging experience. The following events can be listened to by adding a listener to the eventHub: + +```typescript +overmind.eventHub.on('action:start', (execution) => {}) +overmind.eventHub.on('action:end', (execution) => {}) +overmind.eventHub.on('operator:start', (execution) => {}) +overmind.eventHub.on('operator:end', (execution) => {}) +overmind.eventHub.on('operator:async', (execution) => {}) +overmind.eventHub.on('mutations', (executionAndMutations) => {}) +overmind.eventHub.on('derived', (derived) => {}) +overmind.eventHub.on('derived:dirty', (derivedPathAndFlush) => {}) + +// Only during development +overmind.eventHub.on('effect', (effectDetails) => {}) +overmind.eventHub.on('getter', (getterDetails) => {}) +overmind.eventHub.on('component:add', (componentDetails) => {}) +overmind.eventHub.on('component:update', (componentDetails) => {}) +overmind.eventHub.on('component:remove', (componentDetails) => {}) +``` + diff --git a/api-1/lazy.md b/api-1/lazy.md index eed4e4d..59945ea 100644 --- a/api-1/lazy.md +++ b/api-1/lazy.md @@ -3,40 +3,29 @@ You can lazy load configurations. You do this by giving each configuration a key with a function that returns the config when called. To actually load the configurations you can either call an effect or an action with the key of the configuration to load. {% tabs %} -{% tab title="overmind/index.ts" %} +{% tab title="overmind/index.js" %} ```typescript -import { IConfig } from 'overmind' import { lazy } from 'overmind/config' -import { Config as ModuleAConfig } from './moduleA' export const config = lazy({ - moduleA: async (): Promise => await import('./moduleA').config + moduleA: async () => await import('./moduleA').config }) - -declare module 'overmind' { - interface Config extends IConfig {} -} ``` {% endtab %} -{% tab title="overmind/moduleA/index.ts" %} +{% tab title="overmind/moduleA/index.js" %} ```typescript -import { IConfig } from 'overmind' import { state } from './state' export const config = { state } - -export interface Config extends IConfig {} ``` {% endtab %} -{% tab title="overmind/actions.ts" %} +{% tab title="overmind/actions.js" %} ```typescript -import { AsyncAction } from 'overmind' - -export const loadModule: AsyncAction = async ({ actions }) => { +export const loadModule = async ({ actions }) => { await actions.lazy.loadConfig('moduleA') } ``` diff --git a/api-1/namespaced.md b/api-1/namespaced.md index 2138ace..85294a1 100644 --- a/api-1/namespaced.md +++ b/api-1/namespaced.md @@ -2,6 +2,10 @@ Allows you to namespace configurations by a key. +The point of namespaces is to structure your code into domains, not isolate them. The reason being is that we more often than not design our namespaces wrong. We have no idea how the final app will look and getting into the issue of "cross domain logic and state" is a pain to refactor all the time due to wrong isolation. + +So in Overmind isolation is a discipline, not a technical restriction. + {% tabs %} {% tab title="overmind/index.ts" %} ```typescript diff --git a/api-1/operators.md b/api-1/operators.md index 7d71426..a4a68e9 100644 --- a/api-1/operators.md +++ b/api-1/operators.md @@ -153,7 +153,7 @@ export const getEventTargetValue: () => Operator = () => **async** -You use this operator whenever you want to change the state of the app, but you can run effects as well. Any returned value is ignored. +You use this operator whenever you want to change the state of the app. Any returned value is ignored. ```typescript import { Operator, mutate } from 'overmind' diff --git a/api-1/statemachine.md b/api-1/statemachine.md new file mode 100644 index 0000000..03bf35e --- /dev/null +++ b/api-1/statemachine.md @@ -0,0 +1,79 @@ +# statemachine + +A statematchine allows you to wrap state with transitions. That means you can protect your logic from running in invalid states of the application. + +## Create a statemachine + +You define a whole namespace as a statemachine, you can have a nested statemachine or you can even put statemachines inside statemachines. + +```javascript +import { statemachine } from 'overmind' + +export const state = statemachine({ + UNAUTHENTICATED: ['AUTHENTICATING'], + AUTHENTICATING: ['UNAUTHENTICATED', 'AUTHENTICATED'], + AUTHENTICATED: ['UNAUTHENTICATED'] +}, { + state: 'UNAUTHENTICATED' +}) +``` + +Instead of only defining state, you first define a set of transitions. The key represents a transition state, here **UNAUTHENTICATED**, **AUTHENTICATING** and **AUTHENTICATED**. Then we define an array which shows the next transition state can occur in the given transition state. When **UNAUTHENTICATED** we can move into the **AUTHENTICATING** state for example. When in **AUTHENTICATING** state we can move either back to **UNAUTHENTICATED** due to an error or we might move to **AUTHENTICATED**. The point is... when you are **UNAUTHENTICATED**, you can not run logic related to being **AUTHENTICATED**. And when **AUTHENTICATING** you can not run that logic again until you are back in **UNAUTHENTICATED**. + +As actual state values we define the initial transition state of **UNAUTHENTICATED**. + +If we wanted we could extend the state with other values, as normal. + +```javascript +import { statemachine } from 'overmind' + +export const state = statemachine({ + UNAUTHENTICATED: ['AUTHENTICATED'], + AUTHENTICATING: ['UNAUTHENTICATED', 'AUTHENTICATED'], + AUTHENTICATED: ['UNAUTHENTICATED'] +}, { + state: 'UNAUTHENTICATED', + todos: {}, + filter: 'all' +}) +``` + +## Transition between states + +The transition states are also part of the resulting **state** object, in this case: + +```javascript +// The resulting state object +export const state = { + UNAUTHENTICATED: () => {...}, + AUTHENTICATING: () => {...}, + AUTHENTICATED: () => {...}, + state: 'UNAUTHENTICATED', + todos: {}, + filter: 'all' +} +``` + +That means you can call **UNAUTHENTICATED**, **AUTHENTICATING** and **AUTHENTICATED** as functions to transition into the new states. And this is an example of how you would use them: + +```javascript +export const login = ({ state, effects }) => { + return state.AUTHENTICATING(() => { + try { + const user = await effects.api.login() + return state.AUTHENTICATED(() => { + state.user = user + }) + } catch (error) { + return state.UNAUTHENTICATED(() => { + state.error = error + }) + } + }) +} +``` + +When a component, or something else, calls the **login** action it will first try to move into the **AUTHENTICATING** state. If this is not possible, nothing else will happen. Then we go ahead an login, which returns a user. If we were to try to set the user immediately an error would be thrown, because it is being set "out of scope of the transition" \(asynchronously\). To actually set the user we first transition to **AUTHENTICATED** and given that is a valid transition the user will be set. + +What we accomplish in practice here is to ensure that changes to state is guarded by these transitions, which results in more predictable and safer code. + diff --git a/core/defining-state.md b/core/defining-state.md index ee61b84..674de9b 100644 --- a/core/defining-state.md +++ b/core/defining-state.md @@ -6,29 +6,23 @@ The mechanism of communicating from the application to the user interface is cal ![](../.gitbook/assets/state-ui.png) -## Core values +## State tree -In JavaScript we can create all sorts of abstractions to describe values, but in Overmind we lean on the core serializable values. These are **objects**, **arrays**, **strings**, **numbers**, **booleans** and **null**. Serializable values means that we can easily convert the state into a string and back again. This is fundamental for creating great developer experiences, passing state between client and server and other features. You can describe any application state with these core values. - -Let us talk a little bit about what each value helps us represent in our application. - -### Objects - -The root value of your state tree is an object, because objects are great for holding other values. An object has keys that point to values. Most of these keys point to values that are the actual state of the application, but these keys can also represent domains of the application. A typical state structure could be: +Overmind is structured as a single state tree. That means all of your state can be accessed through a single object, called the **state**. This state tree will hold values which describes different states of your application. The tree branches out using plain objects, which can be considered **branches** of your state tree. ```javascript -{ +{ // branch modes: ['issues', 'admin'], currentModeIndex: 0, - admin: { + admin: { // branch currentUserId: null, - users: { + users: { // branch isLoading: false, data: {}, error: null }, }, - issues: { + issues: { // branch sortBy: 'name', isLoading: false, data: {}, @@ -37,6 +31,14 @@ The root value of your state tree is an object, because objects are great for ho } ``` +## State tree values + +The following are values to be used with the state tree. + +### Objects + +The plain objects are what **branches** out the tree. It is not really considered a value in itself, it is a state branch holding values. + ### Arrays Arrays are similar to objects in the sense that they hold other values, but instead of keys pointing to values you have indexes. That means it is ideal for iteration. But more often than not objects are actually better at managing lists of values. We can actually do fine without arrays in our state. It is when we produce the actual user interface that we usually want arrays. You can learn more about this in the [MANAGING LISTS](../guides-1/managing-lists.md) guide. @@ -70,14 +72,34 @@ Are things loading or not, is the user logged in or not? These are typical uses All values, with the exception of booleans, can also be **null**. Non-existing. You can have a non-existing object, array, string or number. It means that if we haven’t selected a mode, both the string version and number version would have the value **null**. -## Undefined +### Derived + +When you need to derive state you can add a derived function to your tree. Overmind treats these functions like a **getter**, but the returned value is cached and they can also access the root state of the application. A simple example of this would be: + +{% tabs %} +{% tab title="overmind/state.js" %} +```typescript +import { derived } from 'overmind' + +export const state = { + title: 'My awesome title', + upperTitle: derived(state => state.title.toUpperCase()) +} +``` +{% endtab %} +{% endtabs %} -You might wonder why **undefined** is not part of the core value types. Well, there are two reasons: +The first argument of the function is the state the derived function is attached to. A second argument is also passed and that is the root state of the application, allowing you to access whatever you would need. + +{% hint style="info" %} +Even though derived state is defined as functions you consume them as plain values. You do not have to call the derived function to get the value. Derived functions can also be dynamically added. +{% endhint %} -1. It is not a serializable value. That means if you explicitly set a value to _undefined_ it will not show up in the devtools -2. Undefined values can not be tracked. That means if you were to iterate an object and look at the keys of that object, any undefined values will not be tracked. This can cause unexpected behaviour +{% hint style="info" %} +You may use a derived for all sorts of calculations. But sometimes it's better to just use a plain action to create some state than using a derived. Why? Imagine a table component having a lot of rows and columns. We assume the table component also takes care of sorting and filtering and is capable of adding new rows. Now if you solve the sorting and filtering using a derived the following could happen: User adds a new row but it is not displayed in the list because the derived immediately kicked in and filtered it out. Thats not a good user experience. Also in this case the filtering and sorting is clearly started by a simple user interaction \(setting a filter value, clicking on a column,...\) so why not just start an action which creates the new list of sorted and filtered keys? Also the heavy calculation is now very predictable and doesn't cause performance issues because the derived kickes in too often \(Because it could have many dependencies you might didn't think of\) +{% endhint %} -## Class values +### Class instances Overmind also supports using class instances as state values. Depending on your preference this can be a powerful tool to organize your logic. What classes provide is a way to co locate state and logic for changing and deriving that state. In functional programming the state and the logic is separated and it can be difficult to find a good way to organize the logic operating on that state. @@ -91,7 +113,7 @@ class LoginForm { this.username = '' this.password = '' } - isValid() { + get isValid() { return Boolean(this.username && this.password) } reset() { @@ -114,16 +136,12 @@ export const state = { {% endtabs %} {% hint style="warning" %} -It is import that you do **NOT** use arrow functions on your methods. The reason is that this binds the context of the method to the instance itself, meaning that Overmind is unable to proxy access and allow you to do tracked mutations +It is import that you do **NOT** use arrow functions on your methods. The reason is that this binds the context of the method to the instance itself, meaning that Overmind is unable to proxy access and track mutations {% endhint %} You can now use this instance as normal and of course create new ones. -{% hint style="info" %} -Even though you can use **getters** as normal, they do not cache like **derived**. **Derived** is a concept of the state tree itself. It is unlikely that you need heavy computation within a single class instance though, it is typically across class instances, where **derived** fits the bill -{% endhint %} - -### Serializing class values +#### Serializing class values If you have an application that needs to serialize the state, for example to local storage or server side rendering, you can still use class instances with Overmind. By default you really do not have to do anything, but if you use **Typescript** or you choose to use **toJSON** on your classesOvermind exposes a symbol called **SERIALIZE** that you can attach to your class. @@ -160,9 +178,9 @@ class User { The **SERIALIZE** symbol will not be part of the actual serialization done with **JSON.stringify** {% endhint %} -### Rehydrating classes +#### Rehydrating classes -The [**rehydrate**](../api-1/rehydrate.md) ****utility of Overmind allows you to rehydrate state either by a list of mutations or a state object, like the following: +The [**rehydrate**](../api-1/rehydrate.md) _\*\*_utility of Overmind allows you to rehydrate state either by a list of mutations or a state object, like the following: {% tabs %} {% tab title="overmind/actions.js" %} @@ -270,77 +288,10 @@ export const updateState = ({ state }) => { {% endtabs %} {% hint style="info" %} -Note that **rehydrate** gives you full type safety when adding the **SERIALIZE** symbol to your classes. This is a huge benefit as Typescript will yell at you when the state structure changes, related to the rehydration +Note that **rehydrate** gives you full type safety when adding the **SERIALIZE** symbol to your classes. This is a huge benefit as Typescript will yell at you when the state structure changes, related to the rehydration {% endhint %} -## Deriving state - -### Getter - -A concept in Javascript called a [GETTER](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get) allows you to intercept accessing a property in an object. A getter is just like a plain value, it can be added or removed at any point. Getters do **not** cache the result for that very reason, but whatever state they access is tracked. - -{% tabs %} -{% tab title="overmind/state.js" %} -```javascript -export const state = { - user: { - id: 1, - firstName: 'Bob', - lastName: 'Jackson', - jwt: '1234567' - }, - get isLoggedIn() { - return Boolean(this.user && this.user.jwt) - } -} -``` -{% endtab %} -{% endtabs %} - -### Cached getter - -When you need to do more heavy calculation or combine state from different parts of the tree you can use a plain function instead. Overmind treats these functions like a **getter**, but the returned value is cached and they can also access the root state of the application. A simple example of this would be: - -{% tabs %} -{% tab title="overmind/state.js" %} -```typescript -export const state: State = { - title: 'My awesome title', - upperTitle: state => state.title.toUpperCase() -} -``` -{% endtab %} -{% endtabs %} - -The first argument of the function is the state the derived function is attached to. A second argument is also passed and that is the root state of the application, allowing you to access whatever you would need. Two important traits of the derived function is: - -1. The state accessed is tracked -2. The value returned is cached - -That means the function only runs when accessed and the depending state has changed since last access. - -{% hint style="info" %} -Even though derived state is defined as functions you consume them as plain values. You do not have to call the derived function to get the value. Derived state can not be dynamically added. They have to be defined and live in the tree from start to end of your application lifecycle. -{% endhint %} - -### Dynamic getter - -Sometimes you want to derive state based on some value coming from the user interface. You can do this by creating a function that returns a function. This can be useful for helper functions: - -{% tabs %} -{% tab title="overmind/state.js" %} -```javascript -export const state = { - users: {}, - userById: ({ users }) => id => users[id] -} - -// state.userById('123') -``` -{% endtab %} -{% endtabs %} - -## Statemachines +### Statemachines Very often you get into a situation where you define states as **isLoading**, **hasError** etc. Having these kinds of state can cause **impossible states**. For example: @@ -353,124 +304,7 @@ const state = { You can not be authenticating and be authenticated at the same time. This kind of logic very often causes bugs in applications. That is why Overmind allows you to define statemachines. It sounds complicated, but is actually very simple. -### Defining - -{% tabs %} -{% tab title="overmind/state.js" %} -```typescript -import { statemachine } from 'overmind' - -export const state = { - mode: statemachine({ - initial: 'unauthenticated', - states: { - unauthenticated: ['authenticating'], - authenticating: ['unauthenticated', 'authenticated'], - authenticated: ['unauthenticating'], - unauthenticating: ['unauthenticated', 'authenticated'] - } - }), - user: null, - error: null -} -``` -{% endtab %} -{% endtabs %} - -You set an **initial** state and then you create a relationship between the different states and what states they can transition into. So when **unauthenticated** is the state, only logic triggered with an **authenticating** transition will run, any other transition triggered will not run its logic. - -### Transitioning - -{% tabs %} -{% tab title="overmind/actions.js" %} -```typescript -export const login = async ({ state, effects }) => { - return state.mode.authenticating(async () => { - try { - const user = await effects.api.getUser() - return state.mode.authenticated(() => { - state.user = user - }) - } catch (error) { - return state.mode.unauthenticated(() => { - state.error = error - }) - } - }) -} - -export const logout = async ({ state, effects }) => { - return state.mode.unauthenticating(async () => { - try { - await effects.api.logout() - return state.mode.unauthenticated() - } catch (error) { - return state.mode.authenticated(() => { - state.error = error - }) - } - }) -} -``` -{% endtab %} -{% endtabs %} - -{% hint style="warning" %} -There are two important rules for predictable transitions: - -1. The transition should be **returned** if the logic or logic runs asynchronously. This is the same as with actions in general -2. Only **synchronous** transitions can mutate the state, any async mutation will throw an error -{% endhint %} - -What is important to realize here is that our logic is separated into **allowable** transitions. That means when we are waiting for the user on **line 4** and some other logic has changed the state to **unauthenticated** in the meantime, the user will not be set, as the **authenticated** transition is now not possible. This is what state machines do. They group logic into states that are allowed to run, preventing invalid logic to run. - -### Current state - -The current state is accessed, related to this example, by: - -```typescript -state.mode.current -``` - -### Exit - -It is also possible to run logic when a transition exits. An example of this is for example if a transition sets up a subscription. This subscription can be disposed when the transition is exited. - -{% tabs %} -{% tab title="overmind/actions.js" %} -```typescript -export const login = async ({ state, effects }) => { - return state.mode.authenticating(async () => { - try { - const user = await effects.api.getUser() - let disposeSubscription - state.mode.authenticated( - () => { - disposeSubscription = effects.api.subscribeNotifications() - state.user = user - }, - () => { - disposeSubscription() - } - ) - } catch (error) { - state.mode.unauthenticated(() => { - state.error = error - }) - } - }) -} -``` -{% endtab %} -{% endtabs %} - -### Reset - -You can reset the state of a statemachine, which also runs the exit of the current transition: - -```typescript -state.mode.reset() -``` +To properly understand state machines, please read the guide [**Using state machines**](../guides-1/using-state-machines.md). ## References diff --git a/core/devtools.md b/core/devtools.md index fe71a09..8f6d620 100644 --- a/core/devtools.md +++ b/core/devtools.md @@ -1,18 +1,8 @@ # Devtools -## VS Code - -For the best experience you should install the [OVERMIND DEVTOOLS](https://marketplace.visualstudio.com/items?itemName=christianalfoni.overmind-devtools-vscode) extension. This will allow you to work on your application without leaving the IDE at all. - -![](../.gitbook/assets/amazing_devtools.png) - -{% hint style="info" %} -If you are using the **Insiders** version of VSCode the extension will not work. It seems to be some extra security setting. -{% endhint %} - ## Standalone app -Alternatively you can install the standalone application of the devtools. You can start it with the NPM executor as: +You can start the devtools by using the NPM executor: ```javascript npx overmind-devtools@latest @@ -46,6 +36,16 @@ npm install overmind-devtools concurrently ``` {% endcode %} +## VS Code + +You can also install the [OVERMIND DEVTOOLS](https://marketplace.visualstudio.com/items?itemName=christianalfoni.overmind-devtools-vscode) extension. This will allow you to work on your application without leaving the IDE at all. + +![](../.gitbook/assets/amazing_devtools.png) + +{% hint style="info" %} +If you are using the **Insiders** version of VSCode the extension will not work. It seems to be some extra security setting. +{% endhint %} + ## Connecting from the application When you create your application it will automatically connect through **localhost:3031**, meaning that everything should just work out of the box. If you need to change the port, connect the application over a network \(mobile development\) or similar, you can configure how the application connects: @@ -69,3 +69,59 @@ ChromeOS does not expose localhost as normal. That means you need to connect wit A popular concept introduced by Webpack is [HMR](https://webpack.js.org/concepts/hot-module-replacement/). It allows you to make changes to your code without having to refresh. Overmind automatically supports HMR. That means when **HMR** is activated Overmind will make sure it updates and manages its state, actions and effects. Even the devtools will be updated as you make changes. +Typically you add this, here showing with React: + +```typescript +import React from 'react' +import { render } from 'react-dom' +import { createOvermind } from 'overmind' +import { Provider } from 'overmind-react' +import { config } from './overmind' +import { App } from './components/App' + + +const overmind = createOvermind(config) + +render(, document.querySelector('#app')) + +// Allows this module to run again without refresh, +// meaning "createOvermind" runs again and automatically +// reconfigures +if (module.hot) { + module.hot.accept() +} +``` + +Though you can also manually only update Overmind by: + +{% tabs %} +{% tab title="index.js" %} +```typescript +import React from 'react' +import { render } from 'react-dom' +import { overmind } from './overmindInstance' +import { Provider } from 'overmind-react' +import { App } from './components/App' + +render(, document.querySelector('#app')) + + +``` +{% endtab %} + +{% tab title="overmindInstance.js" %} +```javascript +import { createOvermind } from 'overmind' +import { config } from './overmind' + +export const overmind = createOvermind(config) + +// When this module runs again "createOvermind" is run +// and it automatically reconfigures +if (module.hot) { + module.hot.accept() +} +``` +{% endtab %} +{% endtabs %} + diff --git a/core/server-side-rendering.md b/core/server-side-rendering.md index 51c5ac5..6a344be 100644 --- a/core/server-side-rendering.md +++ b/core/server-side-rendering.md @@ -155,3 +155,123 @@ export default async (req, res) => { {% endtab %} {% endtabs %} +## Next.js + +The idea behind setting up overmind in `next.js` is the same as a standard express server but we have a lot of help from next to get us going. + +Let's start by adding a `_document.js` and this is where we will initialize the SSR version of Overmind: + +{% tabs %} +{% tab title="src/\_document.js" %} +```javascript +import App from "next/app"; +import { createOvermind, createOvermindSSR, rehydrate } from "overmind"; +import { Provider } from "overmind-react"; +import { config } from "../overmind"; + +export default class MyApp extends App { + // CLIENT: On initial route + // SERVER: On initial route + constructor(props) { + super(props); + + const mutations = props.pageProps.mutations || []; + + if (typeof window !== "undefined") { + // On the client we just instantiate the Overmind instance and run + // the "changePage" action + this.overmind = createOvermind(config); + this.overmind.actions.changePage(mutations); + } else { + // On the server we rehydrate the mutations to an SSR instance of Overmind, + // as we do not want to run any additional logic here + this.overmind = createOvermindSSR(config); + rehydrate(this.overmind.state, mutations); + } + } + // CLIENT: After initial route, on page change + // SERVER: never + componentDidUpdate() { + // This runs whenever the client routes to a new page + this.overmind.actions.changePage(this.props.pageProps.mutations || []); + } + render() { + const { Component, pageProps } = this.props; + return ( + + + + ); + } +} + +``` +{% endtab %} +{% endtabs %} + +And then let's create a standard `Overmind` instance: + +```javascript +import { rehydrate } from "overmind"; +import { createHook } from "overmind-react"; + +export const config = { + state: {}, + actions: { + add + changePage({ state }, mutations) { + rehydrate(state, mutations || []); + } + } +}; + +export const useOvermind = createHook(); + +``` + +And you are all set to get going with `overmind` and `next.js`. You can also take a look at [this example in the next.js examples directory](https://github.com/vercel/next.js/tree/canary/examples/with-overmind) if you need some help. + +## Gatsby + +When it comes to gatsby we need to prepare Overmind for static extraction and the idea is about the same. + +We need first to wrap our whole app in the Overmind provider and we can do that in `gatsby-browser.js`: + +```javascript +import React from "react" +import { createOvermind } from "overmind" +import { Provider } from "overmind-react" +import { config } from "./src/overmind" + +const overmind = createOvermind(config); + +export const wrapPageElement = ({ element }) => ( + + {element} + +) + +``` + +After this is done we can do the same thing for the server render and add that code in the `gatsby-ssr.js` file: + +```javascript +import React from "react" +import { Provider } from "overmind-react" +import { createOvermindSSR } from "overmind" +import { ThemeProvider as ChakraProvider } from "@chakra-ui/core" +import { theme } from "@chakra-ui/core" +import { config } from "./src/overmind" + +const overmind = createOvermindSSR(config) + +export const wrapPageElement = ({ element }) => ( + + {element} + +) + +``` + +As you can see the only difference we have here is that we createOvermindSSR in the `gatsby-ssr.js` + diff --git a/core/structuring-the-app.md b/core/structuring-the-app.md index 631b8c8..e461562 100644 --- a/core/structuring-the-app.md +++ b/core/structuring-the-app.md @@ -6,9 +6,11 @@ Overmind is based on a core concept of: This data structure is called **the configuration** of your application. If it is a simple application you might have a single configuration, but typically you will create multiple of them and use tools to merge them together into one big configuration. But before we look at the scalability of Overmind, let’s talk about file structure. -## Domains +## Namspaces -As your application grows you start to separate it into different domains. A domain might be closely related to a page in your application, or maybe it is strictly related to managing some piece of data. It does not matter. You define the domains of your application and they probably change over time as well. What matters in the context of Overmind though is that each of these domains will contain their own state, actions and effects. So imagine a file structure of: +![](../.gitbook/assets/image%20%281%29.png) + +As your application grows you start to separate it into different namespaces. A namespace might be closely related to a page in your application, or maybe it is strictly related to managing some piece of data. It does not matter. You define the namespaces of your application and they probably change over time as well. What matters in the context of Overmind though is that each of these namespaces will contain their own state, actions and effects. So imagine a file structure of: ```text overmind/ @@ -20,7 +22,7 @@ overmind/ In this structure we are splitting up the different components of the configuration. This is a good first step. The **index** file acts as the file that brings the **state**, **actions** and **effects** together. -But if we want to split up into actual domains it would look more like this: +But if we want to split up into actual namespaces it would look more like this: ```text overmind/ @@ -37,7 +39,7 @@ overmind/ index.ts ``` -In this case each domain **index** file bring its own state, actions and effects together and the **overmind/index** file is responsible for bringing the whole configuration together. +In this case each namespace **index** file bring its own state, actions and effects together and the **overmind/index** file is responsible for bringing the whole configuration together. ## The state file @@ -174,9 +176,9 @@ export const config = namespaced({ {% endtab %} {% endtabs %} -We used the **namespaced** function to put the state, actions and effects from each domain behind a key. In this case the key is the same as the name of the domain itself. This is an effective way to split up your app. +We used the **namespaced** function to put the state, actions and effects from each namespace behind a key. In this case the key is the same as the name of the namespace itself. This is an effective way to split up your app. -You can also combine this with the **merge** tool to have a top level domain. +You can also combine this with the **merge** tool to have a top level namespace. {% tabs %} {% tab title="overmind/index.js" %} @@ -200,6 +202,6 @@ export const config = merge( {% endtabs %} {% hint style="info" %} -Even though you split up into different domains each domain has access to the state of the whole application. This is an important feature of Overmind which allows you to scale up and explore the domains of the application without having to worry about isolation. +Even though you split up into different namespaces each namespace has access to the state, actions and effects of the whole application. This is an important feature of Overmind which allows you to scale up and explore the domains of the application without having to worry about isolation. {% endhint %} diff --git a/core/typescript.md b/core/typescript.md index ea9cbcd..a897fc0 100644 --- a/core/typescript.md +++ b/core/typescript.md @@ -18,8 +18,15 @@ import { IConfig } from 'overmind' const config = {} declare module 'overmind' { - // tslint:disable:interface-name - interface Config extends IConfig {} + // eslint-disable-next-line @typescript-eslint/no-empty-interface + interface Config extends IConfig<{ + state: typeof config.state, + actions: typeof config.actions, + effects: typeof config.effects + }> {} + // Due to circular typing we have to define an + // explicit typing of state, actions and effects since + // TS 3.9 } ``` {% endtab %} @@ -51,13 +58,19 @@ import { IOnInitialize, IAction, IOperator, - IDerive, IState } from 'overmind' export const config = {} -export interface Config extends IConfig {} +// Due to circular typing we have to define an +// explicit typing of state, actions and effects since +// TS 3.9 +export interface Config extends IConfig<{ + state: typeof config.state, + actions: typeof config.actions, + effects: typeof config.effects +}> {} export interface OnInitialize extends IOnInitialize {} @@ -66,8 +79,6 @@ export interface Action extends IAction extends IAction> {} export interface Operator extends IOperator {} - -export interface Derive extends IDerive {} ``` {% endtab %} {% endtabs %} @@ -137,7 +148,7 @@ export const state: State = { ```typescript type State = { foo: string - shoutedFoo string + shoutedFoo: string } export const state: State = { @@ -155,75 +166,99 @@ export const state: State = { {% tabs %} {% tab title="overmind/state.ts" %} ```typescript -import { Derived } from 'overmind' +import { derived } from 'overmind' type State = { foo: string - shoutedFoo Derived + shoutedFoo: string } export const state: State = { foo: 'bar', - shoutedFoo: state => state.foo + '!!!' + shoutedFoo: derived((state: State) => state.foo + '!!!') } ``` {% endtab %} {% endtabs %} -## Actions - -The action type takes either an input type, an output type, or both. +Note that the type argument you pass is the object the derived is attached to, so with nested derived: +{% tabs %} +{% tab title="overmind/state.ts" %} ```typescript -import { Action } from 'overmind' +import { derived } from 'overmind' -export const noArgAction: Action = (context, value) => { - value // this becomes "void" +type State = { + foo: string + nested: { + shoutedFoo: string + } } -export const argAction: Action = (context, value) => { - value // this becomes "string" +export const state: State = { + foo: 'bar', + nested: { + shoutedFoo: derived((state: State['nested']) => state.foo + '!!!') + } } +``` +{% endtab %} +{% endtabs %} -export const noArgWithReturnTypeAction: Action = (context, value) => { - value // this becomes "void" +Note that with **Explicit Typing** you need to also pass the a third argument to the **derived** function, the **Config** type created in your main **index.ts** file. - return 'foo' -} +{% tabs %} +{% tab title="overmind/state.ts" %} +```typescript +import { RootState } from 'overmind' -export const argWithReturnTypeAction: Action = (context, value) => { - value // this becomes "string" +type State = { + foo: string + shoutedFoo: string +} - return value + '!!!' +export const state: State = { + foo: 'bar', + shoutedFoo: derived( + (state: State, rootState: RootState) => state.foo + '!!!' + ) } ``` +{% endtab %} +{% endtabs %} -You also have an **async** version of this type. You use this when you want to define an **async** function, which implicitly returns a promise, or use it on a function that explicitly returns a promise. +### Statemachine + +Read the guide on [**Using state machines**](../guides-1/using-state-machines.md) to understand how to type them. + +## Actions + +You type your actions with the **Context** and an optional value. Any return type will be inferred. ```typescript -import { AsyncAction } from 'overmind' +import { Context } from 'overmind' -export const noArgAction: AsyncAction = async (context, value) => { - value // this becomes "void" +export const noArgAction = (context: Context) => { + // actions.noArgAction() } -export const argAction: AsyncAction = async (context, value) => { - value // this becomes "string" +export const argAction = (context: Context, value: string) => { + // actions.argAction("foo"), requires "string" } -export const noArgWithReturnTypeAction: AsyncAction = async (context, value) => { - value // this becomes "void" - +export const noArgWithReturnTypeAction = (context: Context) => { + // actions.noArgWithReturnTypeAction(), with return type "string" return 'foo' -} // returns Promise - -export const argWithReturnTypeAction: AsyncAction = (context, value) => { - value // this becomes "string" +} - return Promise.resolve(value + '!!!') -} // returns Promise +export const argWithReturnTypeAction = (context: Context, value: string) => { + // actions.argWithReturnTypeAction("foo"), requires "string" and returns "string" + return value + '!!!' +} ``` +Any of these actions could be defined as an **async** function or simply return a promise to be typed that way. + ## Effects There are no Overmind specific types related to effects, you just type them in general. @@ -244,261 +279,43 @@ export const api = { ## Operators -Operators is like the **Action** type: it can take an optional input, but it always produces an output. By default the output of an operator is the same as the input. - -{% tabs %} -{% tab title="overmind/operators.ts" %} -```typescript -import { Operator, mutate, filter, map } from 'overmind' - -// You do not need to define any types, which means it defaults -// its input and output to "void" -export const changeSomeState: () => Operator = () => - mutate(function changeSomeState({ state }) { - state.foo = 'bar' - }) - -// The second type argument is not set, but will default to "User" -// The output is the same as the input -export const filterAwesomeUser: () => Operator = () => - filter(function filterAwesomeUser(_, user) { - return user.isAwesome - }) - -// "map" produces a new output so we define that as the second -// type argument -export const toNumber: () => Operator = () => - map(function toNumber(_, value) { - return Number(value) - }) -``` -{% endtab %} -{% endtabs %} - -The **Operator** type is used to type all operators. The type arguments you give to **Operator** have to match the specific operator you use though. So for example if you type a **mutate** operator with a different output than the input: - -```typescript -import { Operator, mutate } from 'overmind' - -export const doThis: () => Operator = () => - mutate(function doThis() { - - }) -``` - -Typescript yells at you, because this operator just passes the value straight through. - -Typically you do not think about this and Typescript rather yells at you when the value you are passing through your operators is not matching up. - -### Generic input - -You might create an operator that does not care about its input. For example: - -{% tabs %} -{% tab title="overmind/operators.ts" %} -```typescript -import { Operator, mutate } from 'overmind' - -export const doSomething: () => Operator = () => - mutate(function doSomething({ state }) { - state.foo = 'bar' - }) -``` -{% endtab %} - -{% tab title="overmind/actions.ts" %} -```typescript -import { Operator, pipe, action } from 'overmind' -import * as o from './operators' - -export const setInput: Operator = pipe( - o.doSomething(), - o.setValue() -) -``` -{% endtab %} -{% endtabs %} - -Composing **doSomething** into the **pipe** gives an error, cause the action is typed with a **string** input, but the **doSomething** operator is typed with **void**. - -To fix this we just add a generic type to the definition of our operator: - -{% tabs %} -{% tab title="overmind/operators.ts" %} -```typescript -import { Operator, mutate } from 'overmind' - -export const doSomething: () => Operator = () => - mutate(function doSomething({ state }) { - state.foo = 'bar' - }) -``` -{% endtab %} -{% endtabs %} - -Now Typescript infers the input type of the operator and passes it along. - -### Partial input - -For example: - -{% tabs %} -{% tab title="overmind/operators.ts" %} -```typescript -import { Operator, filter } from 'overmind' - -export const filterAwesome: () => Operator<{ isAwesome: boolean }> = () => - filter(function filterAwesome(_, somethingAwesome) { - return somethingAwesome.isAwesome - }) -``` -{% endtab %} - -{% tab title="overmind/actions.ts" %} -```typescript -import { Operator, pipe, action } from 'overmind' -import * as o from './operators' -import { User } from './state' - -export const clickedUser: Operator = pipe( - o.filterAwesome(), - o.handleAwesomeUser() -) -``` -{% endtab %} -{% endtabs %} - -Now the _input_ is actually okay, because `{ isAwesome: boolean }` matches the **User** type, but we are also now saying that the type of _output_ will be `{ isAwesome: boolean }`, which does not match the **User** type required by **handleAwesomeUser**. - -To fix this we again infer the type, but using **extends** to indicate that we do have a requirement to the type it should pass through: +Operators is like the action: it can take an optional value, but it always produces an output. By default the output of an operator is the same as the input. {% tabs %} {% tab title="overmind/operators.ts" %} ```typescript -import { Operator, filter } from 'overmind' - -export const filterAwesome: () => Operator = - () => filter(function filterAwesome(_, somethingAwesome) { - return somethingAwesome.isAwesome - }) +import { Context, mutate, filter, map } from 'overmind' + +// Use the Context type for the first argument +export const changeSomeState = mutate(({ state }: Context) => { + state.foo = 'bar' +}) + +// Type the value as the second argument +export const filterAwesomeUser = filter((_: Context, user: User) => { + return user.isAwesome +}) + +// The output is inferred +export const toNumber = map((_: Context, value: number) => { + return Number(value) +}) ``` {% endtab %} {% endtabs %} -That means this operator can handle any type that matches an **isAwesome** property, though will pass the original type through. - -## Statemachine - -Statemachines exposes a type called **Statemachine** which you will give a single type argument of what states it should manage: +When you create a **pipe** that has an input when it is called you only need to type the first operator value. -{% tabs %} -{% tab title="overmind/state.ts" %} ```typescript -import { Statemachine, statemachine } from 'overmind' - -type Mode = - | 'unauthenticated' - | 'authenticating' - | 'authenticated' - | 'unauthenticating' - -type State = { - mode: Statemachine -} - -export const state: State = { - mode: statemachine({ - initial: 'unauthenticated', - states: { - unauthenticated: ['authenticating'], - authenticating: ['unauthenticated', 'authenticated'], - authenticated: ['unauthenticating'], - unauthenticating: ['unauthenticated', 'authenticated'] - } +import { Context, pipe, map, mutate } from 'overmind' + +export const doThis = pipe( + map((context: Context, value: string) => { + // actions.doThis("foo"), requires "string" + return 123 + }), + mutate((context: Context, value) => { + // value is now "number" }) -} -``` -{% endtab %} -{% endtabs %} - -## Statechart - -To type a statechart you use the **Statechart** type: - -{% tabs %} -{% tab title="overmind/someNamespace/index.ts" %} -```typescript -import { Statechart, statechart } from 'overmind/config' -import * as actions from './actions' -import { state } from './state' - -const config = { - state, - actions -} - -const someChart: Statechart = { - initial: 'FOO', - states: { - FOO: {}, - BAR: {} - } -} - -export default statechart(config, someChart) -``` -{% endtab %} -{% endtabs %} - -The **void** type just defines that there are no nested charts. All the states and points of inserting an action name is now typed. Also the **condition** callback is typed. Even the **matches** API is typed correctly. - -### Nested chart - -{% tabs %} -{% tab title="overmind/someNamespace/index.ts" %} -```typescript -import { Statechart, statechart } from 'overmind/config' -import * as actions from './actions' -import { state } from './state' - -const config = { - state, - actions -} - -const someNestedChart: Statechart = { - initial: 'NESTED_FOO', - states: { - NESTED_FOO: {}, - NESTED_BAR: {} - } -} - -const someChart: Statechart = { - initial: 'FOO', - states: { - FOO: { - chart: someNestedChart - }, - BAR: {} - } -} - -export default statechart(config, someChart) ``` -{% endtab %} -{% endtabs %} - -## Linting - -When you are using TSLint it is important that you use the official [MICROSOFT EXTENSION](https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-typescript-tslint-plugin) for VS Code. diff --git a/faq.md b/faq.md index 78000ac..872abfc 100644 --- a/faq.md +++ b/faq.md @@ -4,6 +4,8 @@ First… try to refresh your app to reconnect. If this does not work make sure that the entry point in your application is actually creating an instance of Overmind. The code **createOvermind\(config\)** has to run to instantiate the devtools. +This is also a common misconception about the ports. You want `createOvermind` to connect to the port defined inside the Devtool, which is `3031` by default. + ## The devtools does not open in VS Code? Restart VS Code diff --git a/guides-1/using-state-machines.md b/guides-1/using-state-machines.md new file mode 100644 index 0000000..eb947aa --- /dev/null +++ b/guides-1/using-state-machines.md @@ -0,0 +1,315 @@ +# Using state machines + +The Overmind state machines is heavily inspired by [XState](https://xstate.js.org/) and [Davids](https://twitter.com/DavidKPiano) evangelism of bringing this old idea to life in the JavaScript ecosystem. Typically state machines are explained with very specific concepts like street lights, timers or similar "machine like" concepts. For Overmind it was important that this concept could be used to describe the overall state of the application. This was a huge challenge and required several iterations, but we found a concept that holds the idea true and makes it a practical and optional way to manage your state. Use it for your whole application or use it for specific scenarios. + +{% hint style="info" %} +The state machine API is designed for use with **TypeScript**. The reason is that the complexity of transition state matching is best expressed using [optional chaining](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining), which is not yet available in plain JavaScript. +{% endhint %} + +## Creating a state machine + +To understand the benefit of a state machine we have to use a very specific example. One such example that is typical for any application is authentication. Typically in Overmind you would define this as: + +```typescript +type State = { + isAuthenticating: boolean + user: { username: string } | null + signedOutReason: string | null +} + +export const state: State = { + isAuthenticating: true, + user: null, + signedOutReason: null +} +``` + +You would use the existence of the **user** to determine if you are actually authenticated or not. This _works**,**_ but it does not describe the states of your application explicitly. If you rather describe this state as: + +```typescript +type State = { + current: 'AUTHENTICATING' +} | { + current: 'AUTHENTICATED' + user: { username: string } +} | { + current: 'UNAUTHENTICATED' + signedOutReason: string +} + +export const state: State = { + current: 'AUTHENTICATING' +} +``` + +Now we are describing what states our application can actually be in, and what other state is available at that time. + +State machines does not only help us describe explicit states, they act as a translator between the effects of the outside world and the state of your application. It basically ensures that whatever happens "out there" the state machine will ensure that your state is valid. + +You express this by mapping **events** to **state changes**. + +```typescript +type User = { username: string } + +type States = + | { + current: 'AUTHENTICATING' + } + | { + current: 'AUTHENTICATED' + user: User + } + | { + current: 'UNAUTHENTICATED' + signedOutReason: string + } + +type Events = + | { + type: 'SIGNING_IN' + } + | { + type: 'SIGNED_IN' + data: User + } + | { + type: 'SIGNED_OUT' + data: string + } + +export const auth = statemachine({ + SIGNING_IN: (state) => { + if (state.current === 'UNAUTHENTICATED') { + return { current: 'AUTHENTICATING' } + } + }, + SIGNED_IN: (state, user) => { + if (state.current === 'AUTHENTICATING') { + return { current: 'AUTHENTICATED', user } + } + }, + SIGNED_OUT: (state, signedOutReason) => { + if (state.current === 'AUTHENTICATED') { + return { current: 'UNAUTHENTICATED', signedOutReason } + } + } +}) +``` + +In the example above we are are dealing with three events. For each event we check the current state of the machine to see if we want to deal with it at all. When we decide to deal with an event we can change any of the state, for example using **data** from the event. Then we can optionally return a new **current** transition state, with the required state for that transition state to be valid. + +What we have effectively done now is ensure that when these events happens we always deal with them correctly. It is not the event that decides what should happen, it is the machine that decides it based on one of your explicitly set states. + +## Instantiating a machine + +To actually use the machine as part of your state you need to **create** it. + +```javascript +import { auth } from './state' +import * as actions from './actions' + +const config = { + state: auth.create({ + current: 'AUTHENTICATING' + }) +} +``` + +By explicitly instantiating the machine you are allowed to start it in different transition states and also give preset state if necessary. You will see this becomes beneficial later when nesting machines. + +## Sending events + +Instead of explicitly changing the state, you send an **event**. The events is handled by the state machine and it will ensure that it is valid before moving on. That means when you change from **AUTHENTICATING** to **AUTHENTICATED** you would express it something like: + +```javascript +export const authChanged = ({ state }, user) => { + if (user) { + state.send('SIGNED_IN', user) + } else { + state.send('SIGNED_OUT') + } +} +``` + +When sending the **SIGNED\_IN** event we also provide the **user**. The current transition state of the machine is what decides if the user is set or not. + +## Guarding effects + +Now, your state machine is in charge of how it acts on events coming form the outside world, but you might also want the outside world to react to changes in your state machine. So imagine related to transitioning into a state you wanted to change the title of the page. To ensure this logic only runs when your application actually transitions into the **UNAUTHENTICATED** or **AUTHENTICATED** state we can check if the machine actually is in this state after sending it a message. + +```javascript +export const authChanged = ({ state, effects }, user) => { + if (user && state.send('SIGNED_IN', user).matches('AUTHENTICATED')) { + effects.browser.setTitle('Logged in') + } else if (state.send('SIGNED_OUT').matches('UNAUTHENTICATED')) { + effects.browser.setTitle('Logged out') + } +} +``` + +## Base state + +Let us introduce a new machine, a **todos** machine. + +```typescript +import { StateMachine } from 'overmind' + +type Todo = { title: string, completed: boolean } + +type States = + | { + current: 'LOADING' + } + | { + current: 'LIST' + } + + type BaseState { + list: Todo[] + } + +type Events = + | { + type: 'TODOS_LOADED', + data: Todo[] + } + | { + type: 'TODO_ADDED', + data: Todo + } + +export type TodosMachine = StateMachine + +export const todos = statemachine({ + TODOS_LOADED: (state, todos) => { + if (state.current === 'LOADING') { + return { current: 'LIST', todos } + } + }, + TODO_ADDED: (state, todo) => { + if (state.current === 'LIST') { + state.list.push(todo) + } + } +}) +``` + +In this simple example we introduced a todos machine that starts in a **LOADING** state and will at some point transition into a **LIST** state when the initial todos has been loaded. The machine introduces the concept of **base state**. That means state that is available no matter what transition state the machine is in. The purpose of **base state** is that it simplifies typing and the machine will also automatically remove state related to the current transition state, when transitioning to a new state. In the example above the **user** and the **signedOutReason** is deleted when moving out of **AUTHENTICATED** state. + +## Nesting state machines + +One of the goals of the Overmind implementation of state machines is that the machines becomes a natural part of your state tree. You can define them wherever you would normally define a value. That means you can create nested machines. + +```typescript +import { TodosMachine, todos } from './Todos' + +type States = + | { + current: 'AUTHENTICATING' + } + | { + current: 'AUTHENTICATED' + user: User + todos: TodosMachine + } + | { + current: 'UNAUTHENTICATED' + signedOutReason: string + } + +type Events = {...} + +export const auth = statemachine({ + SIGNING_IN: (state) => { + if (state.current === 'UNAUTHENTICATED') { + return { current: 'AUTHENTICATING' } + } + }, + SIGNED_IN: (state, user) => { + if (state.current === 'AUTHENTICATING') { + return { + current: 'AUTHENTICATED', + user, + todos: todos.create({ current: 'LOADING' }, { todos: [] }) + } + } + }, + SIGNED_OUT: (state, signedOutReason) => { + if (state.current === 'AUTHENTICATED') { + return { current: 'UNAUTHENTICATED', signedOutReason } + } + } +}) +``` + +Note that the **base state** of the **todos** is passed as a second argument. + +Now we can go back to our authentication logic and introduce the loading of our todos. + +```javascript +export const authChanged = async ({ state, effects }, user) => { + if (user && state.send('SIGNED_IN', user).matches('AUTHENTICATED')) { + const todos = await effects.api.getTodos() + state.matches('AUTHENTICATED')?.todos.send('TODOS_LOADED', todos) + } else if (state.send('SIGNED_OUT').matches('UNAUTHENTICATED')) { + effects.browser.setTitle('Logged out') + } +} +``` + +You will notice that with nested machines you will be using **matches** and optional chaining quite a bit. The reason simply being that you will always have to ensure that your machines are in the correct transition state before interacting with any of its state and nested machines. + +## Identifying current state in components + +All state machines has a **current** property. This can be used to evaluate what should be rendered, here shown with React: + +```javascript +export const App = () => { + const { state } = useOvermind() + + if (state.current === 'AUTHENTICATING') { + return
Loading...
+ } + + if (state.current === 'AUTHENTICATED') { + return
You are not authenticated
+ } + + return
Hello there!
+} +``` + +When dealing with nested machines you will have to do nested checks. This might seem unnecessary, maybe you loaded the **Todos** component only when the parent is in **AUTHENTICATED** state, but components can be moved and loaded anywhere, so this ensures it behaves exactly like we want it to. + +```typescript +export const Todos = () => { + const { state } = useOvermind() + + if (!state.current === 'AUTHENTICATED') return null + + return ( +
+ {state.todos.current === 'LOADING' ? 'Loading...' : null} +
    {state.todos.list.map(() => ...)}
+
+ ) +} +``` + +## Strict mode + +In strict mode you are not able to change state in actions, you explicitly have to use a state machine transitions through the **send** API to make state changes. + +```javascript +const overmind = createOvermind(config, { + strict: true +}) +``` + +```javascript +export const authChanged = ({ state }, user) => { + // This would throw an error + state.user = user +} +``` + diff --git a/introduction.md b/introduction.md index 256f924..e511e15 100644 --- a/introduction.md +++ b/introduction.md @@ -149,7 +149,7 @@ Looking through the example you have probably noticed these: createOvermind({ state: { ..., - currentTodos: ({ todos, filter }) => { + currentTodos: derived(({ todos, filter }) => { return Object.values(todos).filter(todo => { switch (filter) { case 'active': @@ -160,16 +160,16 @@ createOvermind({ return true; } }); - }, - activeTodoCount: ({ todos }) => { + }), + activeTodoCount: derived(({ todos }) => { return Object.values(todos).filter(todo => !todo.completed).length; - }, - hasCompletedTodos: ({ todos }) => { + }), + hasCompletedTodos: derived(({ todos }) => { return Object.values(todos).some(todo => todo.completed); - }, - isAllTodosChecked: ({ currentTodos }) => { + }), + isAllTodosChecked: derived(({ currentTodos }) => { return currentTodos.every(todo => todo.completed); - }, + }), }, ... }) @@ -177,7 +177,7 @@ createOvermind({ Our state tree is concerned with state values that you will change using actions. But you can also automatically produce state values based on existing state. An example of this would be to list the **currentTodos**. It uses the todos and filter state to figure out what todos to actually display. Sometimes this is called computed state. We call it **derived** state. -Any function you insert into the state tree is treated as derived state. That means these functions receives a preset first argument which is the immediate state, the state object the derived is attached to. In bigger applications you might also need to use the second argument, which is the root state of the application. The derived will automatically track whatever state you use and then flag itself as dirty whenever it changes. If derived state is used while being dirty, the function will run again. If it is not dirty a cached value is returned. +By using the **derived** function exported from Overmind you can insert a function into the state tree. These functions receives a preset first argument which is the immediate state, the state object the derived is attached to. In bigger applications you might also need to use the second argument, which is the root state of the application. The derived will automatically track whatever state you use and then flag itself as dirty whenever it changes. If derived state is used while being dirty, the function will run again. If it is not dirty, a cached value is returned. ## Effects @@ -236,7 +236,7 @@ Now that we have insight into the building blocks of Overmind it is time to intr Have a look at this new project where we have typed the application: {% hint style="info" %} -You have to **OPEN IN EDITOR** to get the full Typescript experience. +You have to **OPEN SANDBOX** to get the full Typescript experience. {% endhint %} {% embed url="https://codesandbox.io/s/overmind-todomvc-typescript-39h7y?fontsize=14&hidenavigation=1&theme=dark&view=editor&runonclick=1" %} @@ -269,7 +269,9 @@ To learn more about Overmind and Typescript read the [TYPESCRIPT](https://www.ov ## Development tool -Overmind also ships with its own development tool. It can be installed as a [VSCODE PLUGIN](https://marketplace.visualstudio.com/items?itemName=christianalfoni.overmind-devtools-vscode) or installed as an NPM package. The development tool knows everything about what is happening inside the application. It shows you all the state, running actions and connected components. By default Overmind connects automatically to the devtool if it is running. Try now by going to the **index.tsx** file and change: +Overmind also ships with its own development tool. It can be installed as a [VSCODE PLUGIN](https://marketplace.visualstudio.com/items?itemName=christianalfoni.overmind-devtools-vscode) or installed as an NPM package. The development tool knows everything about what is happening inside the application. It shows you all the state, running actions and connected components. By default Overmind connects automatically to the devtool if it is running. + +Open the **sandbox** above and try by going to the **index.tsx** file and change: ```typescript export const overmind = createOvermind(config, { @@ -329,9 +331,11 @@ Our todo has been added and we can even see how the derived state was affected b ## Managing complexity -Overmind gives you a basic foundation with its **state**, **actions** and **effects**. As mentioned previously you can split these up into multiple namespaces to organize your code. This manages the complexity of scaling. There is also a complexity of reusability and managing execution over time. The **operators** API allows you to split your logic into many different composable parts. With operators like **debounce**, **waitUntil** etc. you are able to manage execution over time. With the latest addition of **statecharts** you have the possiblity to manage the complexity of state and interaction. What interactions should be allowed in what states. And with state values as **class instances** you are able to co-locate state with logic. +![](.gitbook/assets/image%20%281%29.png) + +Overmind gives you a basic foundation with its **state**, **actions** and **effects**. As mentioned previously you can split these up into multiple namespaces to organize your code. This manages the complexity of scaling. There is also a complexity of reusability and managing execution over time. The **operators** API allows you to split your logic into many different composable parts. With operators like **debounce**, **waitUntil** etc. you are able to manage execution over time. With the latest addition of **statemachines** you have the possiblity to manage the complexity of state and interaction. What interactions should be allowed in what states. And with state values as **class instances** you are able to co-locate state with logic. -The great thing about Overmind is that none of these concepts are forced upon you. If you want to build your entire app in the root namespace, only using actions, that is perfectly fine. You want to bring in operators for a single action to manage time complexity, do that. Or do you have a concept where you want to safely control what actions can run in certain states, use a statechart. Overmind just gives you tools, it is up to you to determine if they are needed or not. +The great thing about Overmind is that none of these concepts are forced upon you. If you want to build your entire app in the root namespace, only using actions, that is perfectly fine. You want to bring in operators for a single action to manage time complexity, do that. Or do you have a concept where you want to safely control what actions can run in certain states, use a statemachines. Overmind just gives you tools, it is up to you to determine if they are needed or not. ## Moving from here diff --git a/views/angular.md b/views/angular.md index fa6f870..a28d6b8 100644 --- a/views/angular.md +++ b/views/angular.md @@ -1,5 +1,13 @@ # Angular +## Install + +```text +npm install overmind overmind-angular +``` + +## Configure + Let us have a look at how you configure your app: {% tabs %} @@ -124,6 +132,20 @@ export class AppComponent { You can now access the **admin** state and actions directly with **state** and **actions**. +### Polyfill environment + +Angular does not inject the environment, so in your **polyfill.ts** file you have to add the following: + +```typescript +import { environment } from './environments/environment'; + +(window as any).process = { + env: { + NODE_ENV: environment.production ? 'production' : 'development' + }, +}; +``` + ## NgZone The Overmind **\*track** directive knows when your components should update, and so is much more efficient at change detection than Angular's default NgZone. In order to take advantage of the efficiency provided by the \***track** directive, you _must_ set **ngZone** to "noop". Note that other 3rd party libraries may not support this. If for any reason you can't set **ngZone** to "noop", then the \***track** directive is redundant, and you can safely exclude it from your templates. diff --git a/views/react.md b/views/react.md index 6bf7ed3..859609e 100644 --- a/views/react.md +++ b/views/react.md @@ -1,5 +1,11 @@ # React +## Install + +```text +npm install overmind overmind-react +``` + There are two different ways to connect Overmind to React. You can either use a traditional **Higher Order Component** or you can use the new **hooks** api to expose state and actions. When you connect Overmind to a component you ensure that whenever any tracked state changes, only components interested in that state will re-render, and will do so “at their location in the component tree”. That means we remove a lot of unnecessary work from React. There is no reason for the whole React component tree to re-render when only one component is interested in a change. @@ -10,7 +16,12 @@ When you connect Overmind to a component you ensure that whenever any tracked st {% tab title="Javascript" %} ```typescript // overmind/index.js -import { createHook } from 'overmind-react' +import { + createStateHook, + createActionsHook, + createEffectsHook, + createReactionHook +} from 'overmind-react' import { state } from './state' import * as actions from './actions' @@ -19,7 +30,10 @@ export const config = { actions } -export const useOvermind = createHook() +export const useState = createStateHook() +export const useActions = createActionsHook() +export const useEffects = createEffectsHook() +export const useReaction = createReactionHook() // index.js import * as React from 'react' @@ -39,10 +53,17 @@ render(( // components/App.jsx import * as React from 'react' -import { useOvermind } from '../overmind' +import { useState, useActions, useEffects, useReaction } from '../overmind' const App = () => { - const { state, actions, effects, reaction } = useOvermind() + // General + const state = useState() + const actions = useActions() + const effects = useEffects() + const reaction = useReaction() + // Or be specific + const { isLoggedIn } = useState().auth + const { login, logout } = useActions().auth return
} @@ -69,6 +90,10 @@ declare module 'overmind' { } export const useOvermind = createHook() +export const useState = createStateHook() +export const useActions = createActionsHook() +export const useEffects = createEffectsHook() +export const useReaction = createReactionHook() // index.tsx import * as React from 'react' @@ -91,8 +116,12 @@ import * as React from 'react' import { useOvermind } from '../overmind' const App: React.FunctionComponent = () => { + // General const { state, actions, effects, reaction } = useOvermind() - + // Or be specific + const { isLoggedIn } = useState().auth + const { login, logout } = useActions().auth + return
} @@ -101,24 +130,32 @@ export default App {% endtab %} {% endtabs %} +{% hint style="info" %} +The benefit of using specific hooks is that if you only need actions in a component, you do not add tracking behaviour to the component by using **useActions**. Also it reduces the amount of destructuring needed, as you can point to a namespace on the hook. +{% endhint %} + ### Rendering When you use the Overmind hook it will ensure that the component will render when any tracked state changes. It will not do anything related to the props passed to the component. That means whenever the parent renders, this component renders as well. You will need to wrap your component with [**REACT.MEMO**](https://reactjs.org/docs/react-api.html#reactmemo) to optimize rendering caused by a parent. ### Passing state as props -If you pass a state object or array as a property to a child component you will also in the child component need to use the **useOvermind** hook to ensure that it is tracked within that component, even though you do not access any state or actions. The devtools will help you identify where any components are left “unconnected”. +If you pass a state object or array as a property to a child component you will also in the child component need to use the **useState** hook to ensure that it is tracked within that component, even though you do not access any state or actions. The devtools will help you identify where any components are left “unconnected”. + +{% hint style="info" %} +Note that when you pass an **array** you will not be observing changes to the array itself, for example adding/removing items. You will only observe any items you access in the array. The same goes for **object**. You are not observing adding/removing keys from the object. Consider passing the parent of the values instead. +{% endhint %} {% tabs %} {% tab title="Javascript" %} ```typescript // components/Todos.jsx import * as React from 'react' -import { useOvermind } from '../overmind' +import { useState } from '../overmind' import Todo from './Todo' const Todos = () => { - const { state } = useOvermind() + const state = useState() return (
    @@ -131,10 +168,10 @@ export default Todos // components/Todo.jsx import * as React from 'react' -import { useOvermind } from '../overmind' +import { useState } from '../overmind' const Todo = ({ todo }) => { - useOvermind() + useState() return
  • {todo.title}
  • } @@ -191,10 +228,10 @@ The hook effect of React gives a natural point of running effects related to sta // components/App.jsx import * as React from 'react' import { useEffect } from 'react' -import { useOvermind } from '../overmind' +import { useState } from '../overmind' const App = () => { - const { state } = useOvermind() + const state = useState() useEffect(() => { document.querySelector('#app').scrollTop = 0 @@ -237,10 +274,10 @@ Here you can also use the traditional approach of subscribing to updates. // components/App.jsx import * as React from 'react' import { useEffect } from 'react' -import { useOvermind } from '../overmind' +import { useReaction } from '../overmind' const Todos = () => { - const { reaction } = useOvermind() + const reaction = useReaction() useEffect(() => { return reaction( diff --git a/views/svelte.md b/views/svelte.md new file mode 100644 index 0000000..55f153b --- /dev/null +++ b/views/svelte.md @@ -0,0 +1,94 @@ +# Svelte + +There are two differente ways to connect Overmind to Svelte. You can use the **reactive declarations** or you can use the **reaction**. + +When you connect Overmind to a component you ensure that whenever any tracked state changes, only components interested in that state will re-render. + +## Reactive declarations + +```javascript +import { createOvermind } from 'overmind' +import { createMixin } from 'overmind-svelte' + +const overmind = { + state: { + count: 0 + }, + actions: { + increase({ state }) { + state.count++; + }, + decrease({ state }) { + state.count--; + } + } +} + +const store = createMixin(createOvermind(overmind)) + +export const state = store.state +export const actions = store.actions +``` + +```javascript + + +

    Count: {count}

    + + +``` + +## Reactions + +```javascript +import { createOvermind } from 'overmind' +import { createMixin } from 'overmind-svelte' + +const overmind = { + state: { + count: 0 + }, + actions: { + increase({ state }) { + state.count++; + }, + decrease({ state }) { + state.count--; + } + } +} + +const store = createMixin(createOvermind(overmind)) + +export const state = store.state +export const actions = store.actions +export const reactions = store.reactions +``` + +```javascript + + +

    Count: {count}

    +

    Doubled: {doubled}

    + + +``` + diff --git a/views/vue.md b/views/vue.md index 21ae0e8..1a63734 100644 --- a/views/vue.md +++ b/views/vue.md @@ -1,34 +1,174 @@ # Vue -There are two approaches to connecting Overmind to Vue. +## Install -## Plugin +```text +npm install overmind overmind-vue +``` -Vue has a plugin system that allows us to expose Overmind to all components. This allows minimum configuration and you just use state etc. from any component. +There are three approaches to connecting Overmind to Vue. + +## Hooks \(experimental\) {% tabs %} {% tab title="overmind/index.js" %} ```typescript -import { createOvermind } from 'overmind' -import { createPlugin } from 'overmind-vue' -const overmind = createOvermind({ +import { createHooks } from 'overmind-vue' + +export const config = { state: { foo: 'bar' }, actions: { onClick() {} } -}) +} + +export const hooks = createHooks() +``` +{% endtab %} + +{% tab title="index.js" %} +```javascript +import { createApp } from 'vue' +import { createOvermind } from 'overmind' +import { withOvermind } from 'overmind-vue' +import { config } from './overmind' +import App from './App.vue' + +const overmind = createOvermind(config) + +createApp(withOvermind(overmind, App)).mount('#app') + +... +``` +{% endtab %} + +{% tab title="components/SomeComponent.vue" %} +```javascript + + +``` +{% endtab %} +{% endtabs %} + +The hooks also allows you to point to specific namespaces: + +{% tabs %} +{% tab title="components/SomeComponent.vue" %} +```javascript + + +``` +{% endtab %} +{% endtabs %} + +You also have **effects** and **reaction** available on your hooks: -export const OvermindPlugin = createPlugin(overmind) +{% tabs %} +{% tab title="components/SomeComponent.vue" %} +```javascript +
    + {{ state.foo }} +
    + + +``` +{% endtab %} +{% endtabs %} + +If you prefer using JSX, that is also possible: + +{% tabs %} +{% tab title="components/SomeComponent.vue" %} +```javascript + +``` +{% endtab %} +{% endtabs %} + +## Plugin + +Vue has a plugin system that allows us to expose Overmind to all components. This allows minimum configuration and you just use state etc. from any component. + +{% tabs %} +{% tab title="overmind/index.js" %} +```typescript +export const overmind = { + state: { + foo: 'bar' + }, + actions: { + onClick() {} + } +} ``` {% endtab %} {% tab title="index.js" %} ```typescript import Vue from 'vue/dist/vue' -import { OvermindPlugin } from './overmind' +import { createOvermind } from 'overmind' +import { createPlugin } from 'overmind-vue' +import { config } from './overmind' + +const overmind = createOvermind(config) +const OvermindPlugin = createPlugin(overmind) Vue.use(OvermindPlugin) @@ -53,7 +193,12 @@ If you rather want to expose state, actions and effects differently you can conf {% tab title="index.js" %} ```typescript import Vue from 'vue/dist/vue' -import { OvermindPlugin } from './overmind' +import { createOvermind } from 'overmind' +import { createPlugin } from 'overmind-vue' +import { config } from './overmind' + +const overmind = createOvermind(config) +const OvermindPlugin = createPlugin(overmind) Vue.use(OvermindPlugin, ({ state, actions, effects }) => ({ admin: state.admin, From 8eab4ab9f57715fe69145ed3c71df15b9f9657c5 Mon Sep 17 00:00:00 2001 From: Christian Alfoni Date: Sat, 9 Jan 2021 11:18:23 +0000 Subject: [PATCH 07/15] GitBook: [v26] 44 pages modified --- addons/statecharts.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/statecharts.md b/addons/statecharts.md index 4f84db5..0c4457f 100644 --- a/addons/statecharts.md +++ b/addons/statecharts.md @@ -592,6 +592,10 @@ const chart: Statechart Date: Sat, 9 Jan 2021 11:18:27 +0000 Subject: [PATCH 08/15] GitBook: [master] 41 pages modified From 79119116d7c384b22fe80705890885eda79b1297 Mon Sep 17 00:00:00 2001 From: Christian Alfoni Date: Sat, 9 Jan 2021 12:59:43 +0000 Subject: [PATCH 09/15] GitBook: [v26] one page modified --- core/typescript.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/typescript.md b/core/typescript.md index a897fc0..f108499 100644 --- a/core/typescript.md +++ b/core/typescript.md @@ -153,7 +153,7 @@ type State = { export const state: State = { foo: 'bar', - get shoutedFoo(this: State) { + get shoutedFoo() { return this.foo + '!!!' } } From 77c454a6083ab6b177f67eec2df2feb55b872d6b Mon Sep 17 00:00:00 2001 From: Christian Alfoni Date: Sat, 9 Jan 2021 13:55:59 +0000 Subject: [PATCH 10/15] GitBook: [v26] one page modified --- core/defining-state.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/core/defining-state.md b/core/defining-state.md index 674de9b..e6923dc 100644 --- a/core/defining-state.md +++ b/core/defining-state.md @@ -95,8 +95,25 @@ The first argument of the function is the state the derived function is attached Even though derived state is defined as functions you consume them as plain values. You do not have to call the derived function to get the value. Derived functions can also be dynamically added. {% endhint %} +You can also return a function from the derived. For example: + +{% tabs %} +{% tab title="overmind/state.js" %} +```typescript +import { derived } from 'overmind' + +export const state = { + users: {}, + getUserById: derived(state => id => state.users[id]) +} +``` +{% endtab %} +{% endtabs %} + +The returned value here is indeed a function you call. The cool thing is that the function itself will never change, but whatever state you access when calling the function will be tracked by the caller of the function. So for example if a component uses **getUserById** during rendering it will track what is accessed in the function and continue tracking whatever you access on the returned value. + {% hint style="info" %} -You may use a derived for all sorts of calculations. But sometimes it's better to just use a plain action to create some state than using a derived. Why? Imagine a table component having a lot of rows and columns. We assume the table component also takes care of sorting and filtering and is capable of adding new rows. Now if you solve the sorting and filtering using a derived the following could happen: User adds a new row but it is not displayed in the list because the derived immediately kicked in and filtered it out. Thats not a good user experience. Also in this case the filtering and sorting is clearly started by a simple user interaction \(setting a filter value, clicking on a column,...\) so why not just start an action which creates the new list of sorted and filtered keys? Also the heavy calculation is now very predictable and doesn't cause performance issues because the derived kickes in too often \(Because it could have many dependencies you might didn't think of\) +You may use a derived for all sorts of calculations. But sometimes it's better to just use a plain action to manipulate some state than using a derived. Why? Imagine a table component having a lot of rows and columns. We assume the table component also takes care of sorting and filtering and is capable of adding new rows. Now if you solve the sorting and filtering using a derived the following could happen: User adds a new row but it is not displayed in the list because the derived immediately kicked in and filtered it out. Thats not a good user experience. Also in this case the filtering and sorting is clearly started by a simple user interaction \(setting a filter value, clicking on a column,...\) so why not just start an action which creates the new list of sorted and filtered keys? Also the heavy calculation is now very predictable and doesn't cause performance issues because the derived kickes in too often \(Because it could have many dependencies you might didn't think of\) {% endhint %} ### Class instances From 641260ea3739c582a05d533dc16bcb74256bac01 Mon Sep 17 00:00:00 2001 From: Christian Alfoni Date: Sat, 9 Jan 2021 14:34:46 +0000 Subject: [PATCH 11/15] GitBook: [v26] one page modified --- core/typescript.md | 36 ++++++------------------------------ 1 file changed, 6 insertions(+), 30 deletions(-) diff --git a/core/typescript.md b/core/typescript.md index f108499..1a91204 100644 --- a/core/typescript.md +++ b/core/typescript.md @@ -36,9 +36,8 @@ Now you can import any type directly from Overmind and it will understand the co ```typescript import { - Action, - Operator, - Derive, + Context, + RootState, pipe, map, filter, @@ -56,9 +55,7 @@ You can also explicitly type your application. This gives more flexibility. import { IConfig, IOnInitialize, - IAction, - IOperator, - IState + IContext, } from 'overmind' export const config = {} @@ -74,11 +71,10 @@ export interface Config extends IConfig<{ export interface OnInitialize extends IOnInitialize {} -export interface Action extends IAction {} +export interface Context extends IContext {} -export interface AsyncAction extends IAction> {} - -export interface Operator extends IOperator {} +// Used with derived +export type RootState = Context['state'] ``` {% endtab %} {% endtabs %} @@ -141,26 +137,6 @@ export const state: State = { } ``` -### Getter - -{% tabs %} -{% tab title="overmind/state.ts" %} -```typescript -type State = { - foo: string - shoutedFoo: string -} - -export const state: State = { - foo: 'bar', - get shoutedFoo() { - return this.foo + '!!!' - } -} -``` -{% endtab %} -{% endtabs %} - ### Derived {% tabs %} From fbc1678a33f2acd448741c1a5035e645fef68536 Mon Sep 17 00:00:00 2001 From: Christian Alfoni Date: Sat, 23 Jan 2021 12:14:34 +0000 Subject: [PATCH 12/15] GitBook: [master] 13 pages and 2 assets modified --- .../assets/{image.png => image (1) (1).png} | Bin README.md | 2 +- addons/graphql.md | 3 +-- api-1/statemachine.md | 2 +- core/defining-state.md | 4 ++-- core/devtools.md | 6 ++---- core/server-side-rendering.md | 6 +----- core/typescript.md | 8 +++---- faq.md | 2 -- guides-1/using-state-machines.md | 20 +++++++++--------- introduction.md | 12 +++++------ views/angular.md | 2 -- views/react.md | 2 +- views/vue.md | 17 +++++++-------- 14 files changed, 37 insertions(+), 49 deletions(-) rename .gitbook/assets/{image.png => image (1) (1).png} (100%) diff --git a/.gitbook/assets/image.png b/.gitbook/assets/image (1) (1).png similarity index 100% rename from .gitbook/assets/image.png rename to .gitbook/assets/image (1) (1).png diff --git a/README.md b/README.md index 7985419..3fdf705 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ description: frictionless state management > Web application development is about **defining**, **changing** and **consuming state** to produce a user experience. Overmind aims for a developer experience where that is all you focus on, reducing the orchestration of state management to a minimum. Making you a **happier** and more **productive** developer! -{% embed url="https://overmindjs.changefeed.app/general/v26" %} +{% embed url="https://overmindjs.changefeed.app/general/v26" caption="" %} ## APPLICATION INSIGHT diff --git a/addons/graphql.md b/addons/graphql.md index 58fdabe..f01c2db 100644 --- a/addons/graphql.md +++ b/addons/graphql.md @@ -31,7 +31,6 @@ export const config = { {% tab title="overmind/state.js" %} ```typescript - export const state = { posts: [] } @@ -183,7 +182,7 @@ export const getPosts = async ({ state, effects, actions }) => { const { posts } = await effects.gql.queries.posts() state.posts = posts - + effects.gql.subscriptions.onPostAdded(actions.onPostAdded) } diff --git a/api-1/statemachine.md b/api-1/statemachine.md index 03bf35e..7b45323 100644 --- a/api-1/statemachine.md +++ b/api-1/statemachine.md @@ -18,7 +18,7 @@ export const state = statemachine({ }) ``` -Instead of only defining state, you first define a set of transitions. The key represents a transition state, here **UNAUTHENTICATED**, **AUTHENTICATING** and **AUTHENTICATED**. Then we define an array which shows the next transition state can occur in the given transition state. When **UNAUTHENTICATED** we can move into the **AUTHENTICATING** state for example. When in **AUTHENTICATING** state we can move either back to **UNAUTHENTICATED** due to an error or we might move to **AUTHENTICATED**. The point is... when you are **UNAUTHENTICATED**, you can not run logic related to being **AUTHENTICATED**. And when **AUTHENTICATING** you can not run that logic again until you are back in **UNAUTHENTICATED**. +Instead of only defining state, you first define a set of transitions. The key represents a transition state, here **UNAUTHENTICATED**, **AUTHENTICATING** and **AUTHENTICATED**. Then we define an array which shows the next transition state can occur in the given transition state. When **UNAUTHENTICATED** we can move into the **AUTHENTICATING** state for example. When in **AUTHENTICATING** state we can move either back to **UNAUTHENTICATED** due to an error or we might move to **AUTHENTICATED**. The point is... when you are **UNAUTHENTICATED**, you can not run logic related to being **AUTHENTICATED**. And when **AUTHENTICATING** you can not run that logic again until you are back in **UNAUTHENTICATED**. As actual state values we define the initial transition state of **UNAUTHENTICATED**. diff --git a/core/defining-state.md b/core/defining-state.md index e6923dc..d22c82b 100644 --- a/core/defining-state.md +++ b/core/defining-state.md @@ -197,7 +197,7 @@ The **SERIALIZE** symbol will not be part of the actual serialization done with #### Rehydrating classes -The [**rehydrate**](../api-1/rehydrate.md) _\*\*_utility of Overmind allows you to rehydrate state either by a list of mutations or a state object, like the following: +The [**rehydrate**](../api-1/rehydrate.md) \_\*\*\_utility of Overmind allows you to rehydrate state either by a list of mutations or a state object, like the following: {% tabs %} {% tab title="overmind/actions.js" %} @@ -321,7 +321,7 @@ const state = { You can not be authenticating and be authenticated at the same time. This kind of logic very often causes bugs in applications. That is why Overmind allows you to define statemachines. It sounds complicated, but is actually very simple. -To properly understand state machines, please read the guide [**Using state machines**](../guides-1/using-state-machines.md). +To properly understand state machines, please read the guide [**Using state machines**](../guides-1/using-state-machines.md). ## References diff --git a/core/devtools.md b/core/devtools.md index 8f6d620..2924129 100644 --- a/core/devtools.md +++ b/core/devtools.md @@ -51,7 +51,7 @@ If you are using the **Insiders** version of VSCode the extension will not work. When you create your application it will automatically connect through **localhost:3031**, meaning that everything should just work out of the box. If you need to change the port, connect the application over a network \(mobile development\) or similar, you can configure how the application connects: ```javascript -import { createOvermind } from 'overmind' +import { createOvermind } from 'overmind' import { config } from './overmind' const overmind = createOvermind(config, { @@ -63,7 +63,7 @@ const overmind = createOvermind(config, { ChromeOS does not expose localhost as normal. That means you need to connect with **penguin.termina.linux.test:3031**, or you can use the following plugin to forward **localhost:** -{% embed url="https://chrome.google.com/webstore/detail/connection-forwarder/ahaijnonphgkgnkbklchdhclailflinn/related?hl=en-US" %} +{% embed url="https://chrome.google.com/webstore/detail/connection-forwarder/ahaijnonphgkgnkbklchdhclailflinn/related?hl=en-US" caption="" %} ## Hot Module Replacement @@ -104,8 +104,6 @@ import { Provider } from 'overmind-react' import { App } from './components/App' render(, document.querySelector('#app')) - - ``` {% endtab %} diff --git a/core/server-side-rendering.md b/core/server-side-rendering.md index 6a344be..d3105e4 100644 --- a/core/server-side-rendering.md +++ b/core/server-side-rendering.md @@ -204,7 +204,6 @@ export default class MyApp extends App { ); } } - ``` {% endtab %} {% endtabs %} @@ -226,7 +225,6 @@ export const config = { }; export const useOvermind = createHook(); - ``` And you are all set to get going with `overmind` and `next.js`. You can also take a look at [this example in the next.js examples directory](https://github.com/vercel/next.js/tree/canary/examples/with-overmind) if you need some help. @@ -244,13 +242,12 @@ import { Provider } from "overmind-react" import { config } from "./src/overmind" const overmind = createOvermind(config); - + export const wrapPageElement = ({ element }) => ( {element} ) - ``` After this is done we can do the same thing for the server render and add that code in the `gatsby-ssr.js` file: @@ -270,7 +267,6 @@ export const wrapPageElement = ({ element }) => ( {element} ) - ``` As you can see the only difference we have here is that we createOvermindSSR in the `gatsby-ssr.js` diff --git a/core/typescript.md b/core/typescript.md index 1a91204..59b90ca 100644 --- a/core/typescript.md +++ b/core/typescript.md @@ -112,7 +112,7 @@ export const state: State = { {% endtabs %} {% hint style="info" %} -It is important that you use a **type** and not an **interface.** This has to do with the way Overmind resolves the state typing. **** +It is important that you use a **type** and not an **interface.** This has to do with the way Overmind resolves the state typing. _\*\*_ {% endhint %} When writing Typescript you should **not** use optional values for your state \(**?**\), or use **undefined** in a union type. In a serializable state store world **null** is the value indicating _“there is no value”._ @@ -142,7 +142,7 @@ export const state: State = { {% tabs %} {% tab title="overmind/state.ts" %} ```typescript -import { derived } from 'overmind' +import { derived } from 'overmind' type State = { foo: string @@ -162,7 +162,7 @@ Note that the type argument you pass is the object the derived is attached to, s {% tabs %} {% tab title="overmind/state.ts" %} ```typescript -import { derived } from 'overmind' +import { derived } from 'overmind' type State = { foo: string @@ -245,7 +245,7 @@ There are no Overmind specific types related to effects, you just type them in g export const api = { getUser: async (): Promise => { const response = await fetch('/user') - + return response.json() } } diff --git a/faq.md b/faq.md index 872abfc..9fd47f4 100644 --- a/faq.md +++ b/faq.md @@ -14,5 +14,3 @@ Restart VS Code Operators are identified with a Symbol. If you happen to use Overmind across packages you might be running two versions of Overmind. The same goes for core package and view package installed out of version sync. Make sure you are only running on package of Overmind by looking into your **node\_modules** folder. - - diff --git a/guides-1/using-state-machines.md b/guides-1/using-state-machines.md index eb947aa..b3b87c0 100644 --- a/guides-1/using-state-machines.md +++ b/guides-1/using-state-machines.md @@ -119,7 +119,7 @@ By explicitly instantiating the machine you are allowed to start it in different ## Sending events -Instead of explicitly changing the state, you send an **event**. The events is handled by the state machine and it will ensure that it is valid before moving on. That means when you change from **AUTHENTICATING** to **AUTHENTICATED** you would express it something like: +Instead of explicitly changing the state, you send an **event**. The events is handled by the state machine and it will ensure that it is valid before moving on. That means when you change from **AUTHENTICATING** to **AUTHENTICATED** you would express it something like: ```javascript export const authChanged = ({ state }, user) => { @@ -131,7 +131,7 @@ export const authChanged = ({ state }, user) => { } ``` -When sending the **SIGNED\_IN** event we also provide the **user**. The current transition state of the machine is what decides if the user is set or not. +When sending the **SIGNED\_IN** event we also provide the **user**. The current transition state of the machine is what decides if the user is set or not. ## Guarding effects @@ -163,7 +163,7 @@ type States = | { current: 'LIST' } - + type BaseState { list: Todo[] } @@ -177,7 +177,7 @@ type Events = type: 'TODO_ADDED', data: Todo } - + export type TodosMachine = StateMachine export const todos = statemachine({ @@ -194,7 +194,7 @@ export const todos = statemachine({ }) ``` -In this simple example we introduced a todos machine that starts in a **LOADING** state and will at some point transition into a **LIST** state when the initial todos has been loaded. The machine introduces the concept of **base state**. That means state that is available no matter what transition state the machine is in. The purpose of **base state** is that it simplifies typing and the machine will also automatically remove state related to the current transition state, when transitioning to a new state. In the example above the **user** and the **signedOutReason** is deleted when moving out of **AUTHENTICATED** state. +In this simple example we introduced a todos machine that starts in a **LOADING** state and will at some point transition into a **LIST** state when the initial todos has been loaded. The machine introduces the concept of **base state**. That means state that is available no matter what transition state the machine is in. The purpose of **base state** is that it simplifies typing and the machine will also automatically remove state related to the current transition state, when transitioning to a new state. In the example above the **user** and the **signedOutReason** is deleted when moving out of **AUTHENTICATED** state. ## Nesting state machines @@ -266,15 +266,15 @@ All state machines has a **current** property. This can be used to evaluate what ```javascript export const App = () => { const { state } = useOvermind() - + if (state.current === 'AUTHENTICATING') { return
    Loading...
    } - + if (state.current === 'AUTHENTICATED') { return
    You are not authenticated
    } - + return
    Hello there!
    } ``` @@ -284,9 +284,9 @@ When dealing with nested machines you will have to do nested checks. This might ```typescript export const Todos = () => { const { state } = useOvermind() - + if (!state.current === 'AUTHENTICATED') return null - + return (
    {state.todos.current === 'LOADING' ? 'Loading...' : null} diff --git a/introduction.md b/introduction.md index e511e15..48a3e32 100644 --- a/introduction.md +++ b/introduction.md @@ -8,7 +8,7 @@ If you rather want to go right ahead and set up a local project, please have a l Before we move on, have a quick look at this sandbox. It is a simple counter application and it gives you some foundation before talking more about Overmind and building applications. -{% embed url="https://codesandbox.io/s/overmind-counter-c4tuh?fontsize=14&hidenavigation=1&theme=dark&view=editor&runonclick=1" %} +{% embed url="https://codesandbox.io/s/overmind-counter-c4tuh?fontsize=14&hidenavigation=1&theme=dark&view=editor&runonclick=1" caption="" %} ## Application state VS Component state @@ -93,7 +93,7 @@ And as we will see later you will also be using **effects** from the context. Now we will move to a more complex example. Please have a look: -{% embed url="https://codesandbox.io/s/overmind-todomvc-simple-097zs?fontsize=14&hidenavigation=1&theme=dark&view=editor&runonclick=1" %} +{% embed url="https://codesandbox.io/s/overmind-todomvc-simple-097zs?fontsize=14&hidenavigation=1&theme=dark&view=editor&runonclick=1" caption="" %} We have now separated out the Overmind related logic into its own file, **app.js**. This file creates the Overmind instance and also exports how the components will interact with the state and the actions, the hook called **useApp**. Vue and Angular has other mechanisms conventional to those frameworks where application state and actions can be accessed. @@ -139,7 +139,7 @@ state.todos[myReference] delete state.todos[myReference] ``` -Using references also ensures that only one instance of any todo will live in your state tree. The todo itself lives on the **todos** state, while everything else in the state tree references a todo by using its id. For example our **editingTodoId** state uses the id of a todo to reference which todo is currently being edited. +Using references also ensures that only one instance of any todo will live in your state tree. The todo itself lives on the **todos** state, while everything else in the state tree references a todo by using its id. For example our **editingTodoId** state uses the id of a todo to reference which todo is currently being edited. ## Deriving state @@ -183,7 +183,7 @@ By using the **derived** function exported from Overmind you can insert a functi Now let us move into an even more complex application. Here we have added **effects**. Specifically effects to handle routing, storing todos to local storage and producing unique ids for the todos. We have added an **onInitialize** hook which is a special function Overmind runs when the application starts. -{% embed url="https://codesandbox.io/s/overmind-todomvc-2im6p?fontsize=14&hidenavigation=1&theme=dark&view=editor&runonclick=1" %} +{% embed url="https://codesandbox.io/s/overmind-todomvc-2im6p?fontsize=14&hidenavigation=1&theme=dark&view=editor&runonclick=1" caption="" %} You can think of effects as a contract between your application and the outside world. You write an effect API of **what** your application needs and some 3rd party tool or native JavaScript API will implement **how** to provide it. Let us look at the router: @@ -223,7 +223,7 @@ This argument passed is transformed into something Page can understand. What thi Defining all the state, actions and effects on one object would not work very well for a large application. A convention in Overmind is to split these concepts into different files behind folders representing a domain of the application. In this next sandbox you can see how we split up state, actions and effects into different files. They are all exposed through a main file representing that domain, in this case “the root domain”: -{% embed url="https://codesandbox.io/s/overmind-todomvc-split-xdh41?fontsize=14&hidenavigation=1&theme=dark&view=editor&runonclick=1" %} +{% embed url="https://codesandbox.io/s/overmind-todomvc-split-xdh41?fontsize=14&hidenavigation=1&theme=dark&view=editor&runonclick=1" caption="" %} Also notice that we have split up the instantiation of Overmind from the definition of the application. What this allows us to do is reuse the same application configuration for testing purposes and/or server side rendering. We separate the definition from the instantiation. @@ -239,7 +239,7 @@ Have a look at this new project where we have typed the application: You have to **OPEN SANDBOX** to get the full Typescript experience. {% endhint %} -{% embed url="https://codesandbox.io/s/overmind-todomvc-typescript-39h7y?fontsize=14&hidenavigation=1&theme=dark&view=editor&runonclick=1" %} +{% embed url="https://codesandbox.io/s/overmind-todomvc-typescript-39h7y?fontsize=14&hidenavigation=1&theme=dark&view=editor&runonclick=1" caption="" %} As you can see we only have to add an **Action** type to our functions and optionally give it an input type. This is enough for the action to give you all information about the application. Try changing some code and even add some code to see how Typescript helps you to explore the application and ensure that you implement new functionality correctly. diff --git a/views/angular.md b/views/angular.md index a28d6b8..6886502 100644 --- a/views/angular.md +++ b/views/angular.md @@ -52,7 +52,6 @@ import { AppComponent } from './app.component'; ] }) export class AppModule { } - ``` {% endtab %} @@ -99,7 +98,6 @@ platformBrowserDynamic() ngZone: "noop" }) .catch(err => console.log(err)); - ``` {% endtab %} {% endtabs %} diff --git a/views/react.md b/views/react.md index 859609e..1b1f00b 100644 --- a/views/react.md +++ b/views/react.md @@ -121,7 +121,7 @@ const App: React.FunctionComponent = () => { // Or be specific const { isLoggedIn } = useState().auth const { login, logout } = useActions().auth - + return
    } diff --git a/views/vue.md b/views/vue.md index 1a63734..525a5e6 100644 --- a/views/vue.md +++ b/views/vue.md @@ -13,7 +13,6 @@ There are three approaches to connecting Overmind to Vue. {% tabs %} {% tab title="overmind/index.js" %} ```typescript - import { createHooks } from 'overmind-vue' export const config = { @@ -54,12 +53,12 @@ createApp(withOvermind(overmind, App)).mount('#app')

RE5Fd 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 vzd z=}ED|lAD#wH=&q7T%?m^AQPJQ65+#I;g({P48J_%xFqJG1V<$OE>m8s-otC09fd&X zt!waIj1fn0s!PP%bYtJ`(aJmc=a}IkEQ+o-1*TM!Uk@jwNa8_qM2GK}zat>6cotYX zI9XvN=3NESpk*LGOXK0gdbkpO4u}b8q1a!4J74Gu2N3?W$S!SEGq+hh)08-57-hAO zBQz<%3aTlBnuKqv023A8tqR=?H%Cu{I75j3j;@nzfvc*XHwmiDPb& zO~z9?58Is0{9&h|&_9SplF?E1;&rI>XhK)~e$B`ow<{Pq9VYaoZCrwKRtn^p2k_Vj zICru0-jTD;0~Hg8UZq*oYNx5z=g+dS@hSLevqUarH?Vo^K?A~u-EAZ1%(=T!kvQgz(5hmQZ>gM5&hW_atIemt8biX# zhitVscM5wO(h`(>5H21~S3zdIrjkI;=^tdpo80d-glwl(%w%-=tpL_8CFiX2<*Usx zH>GBZOT=$!`=^lun*R9hlKJ~O>*rrm%y$KsU}Fln7_gPJU?ak=*d5T2Z04k#b1Z$s z&}q#7?26aw_y9!9wN7eIpMpIwOn9C+ev*;6APBSJ8Had>j}Zoc+pDfyuQE3=eADc> zo}J*`A&W*k*CUsBMq;XCxDD4zxi3`kjCR);F7dPm<9FJGt#LW(QFQ(;31N%72%^XtQ0y)Vw=O zNa-W`@Coq*{s` zUy&msdSSX?`M8%cbOzAH6PAqMyl`m;p~7gtStY01EFQ=ht8w2jB^lvQ(kEqEFuXR8 zm8yOND7cv?L4SxT;84^AOp@5KPhgYmDEr2%+U|7YYwKi0?|1WFC#5MTsSo$0uf=-O z{}OvF@Pp*A#<8c~e9RWsIEHuJoG%vl=JGooO!JB^RFrm!HORYp;p6u-U7fcj zc1h7y2eyix&NIv;tWHhnWW6EZMBOC3!FwTVHIY+)Hh{nGfQ@_P^y$t7Gkg@PER~OP zB3*8|pUx|fb3wY%jT=D6eLxD;tKO0N)&Kx3)rO*mZ%_U}m2_MnYq#!H3J}z$#{Xcm za9G*I^LDzJhm}n`M06uRQozZz1xWdmlgT>9Cw+woZ9*!XrhXRbvtVE)p0qeFSW{Jy zQ;maPC2>cox!=^x_gv^LOs@xo1Dcn8mHzSjn*rB{J*+j^OL&;+bmDfh_?HsgAGVrC zJP{>#rHH-NiG8ltWAzSU?dxqSy0n}e1ZFllzLy!{J6T3zmc7^sbzc7=aU5E3>3}!O z-(P9=J4{=LO-)y0pc0G5_06Z1KcJ&+Jq5QDx}jz%8l>Cwalt0vt--2(o^*k{7o|*2 zfZ4Mh_fnRSMU==g&FNq#^po0AnuV;OY@Uo7+U-#OTAYxtvSuHnz{LGuPhl1zY>?*t z5PIyFvBVe?n*I@PUn$RTmv0l?AEv%fcU>RZ zg4q8iOG(C~XeYJWKcJ(TQQbE1nAW0} z+2{(D;;hzM_>K!eo<*ukzV$WzAb)RLh=aMC%m2O$7@0ZEoW|z|JOvlOO+S)~@zGN+ z-)55EdmoXo(z?Uq?bIQLbzQ8sQuLPo4{#&UiwDDAHgIQzA=C;v+%`@E0KFbKgz89LMbD`g7^}HyH93o{y z3EzBFr)XWlx_-u6o2CRGj4$MCnzYDA-XW*q@GB$gwZiGq@7OeU?Ir2)lf%{5D)Om@erByrxf%e70L^1$|j6kOKe- zBGpc!Nt~1L2Z_4=Z(4o`ts_hB#mlODS*%rtyL87@;-7UsQx#AWn7n8~Fzw1BI;aO7 zbK}G3%XrFSJ=55S=>NFtpRf*mxLx!Hrp$6=L_}8se+cahV)+Rrmv;prpR;@prMzP3 z4iE}ym_Z5#OyKYml4#{LO3|7|z{sA=QLhBqkcV4`eBwqMn?R9Qb_+i{Eb-!dgxT#9`{xceVk_#X83>3i+!| z>>Z!K^Odc%=;gGB>oLEzqXf)K(_elJ%x1c<;?npb;(`kH+gW3LLOCzXUmYJHLuJaW zKbSAAA{952+#Y*b<6j9ftgKVMA7E;Ch=X@UzI+LB@qKusk zj)au`-mP*`aDvXKqbIW|%Q&UQVOlMy6h8UvDPS>;NOAs+vdIZT{nxXZA<&8S?jL9M zt6YSXoLm&f(u@#$>`Vwr=lm@7x3BRzMJ;^@jvmCj-n6_ok4X7$_N4^)CqqjKSrhi< zOcN0+3q#-+@EaOC}C8n1A&A!qq?nIAvd2WUNxqW>FRxM7{Dy?(AY2Iy29wBhydprOLC zJ%N)F@*!V3iuS0}J*Kv;UQ`voa+{;RtI)148zeqll(s5c5)>t}nd?m$pdBua9yf$a zs)lW++4>p~f}j*VYfi|I{%OCIs>AC}hV(a%HNvqQ(hi1Se13I4)5H0zU2Vtp14~bK ze@xv^0zKgc)HAuLT2fhjwzC0uG zHxBe}78#U%NTFge$VpYoQ0=0pjvkHXup-7UhbV(1cx``JX9RXeXN}t5o_T0{X-*dA zF^@8NyJN@LuTysOqyxd-dHdNqUg%NB^)!+e9xLiYY#`Eh$I?CN&3Bl>CTdq`kn zVnTJqng0wZ`O<-Hm5{CUKPU87vjU3Gi@81xte`V=R^Bc0T?t=ZY^!U@Dp3V*u? z1-vlQFVBueoE!Z?fXa?!GwN7Sh?iIQq3_5WuKe*R^MrwPwPRl8iWgcx%}DcLL*e@~ zc14ceDUT_*u^(l93CLI(50NzbbDmp5ZTF#kYxjcxRay_2SLfsx_8~v)WH>2)<nVL#4pLu)zvIy=HkUgDZszrXoX6feZ&Hppa=QE+7qdfo&|?>&!B z&BurqgYwqF$nmEODA%cX!P}t*lA$J+o}guo1p@Hh-5o?VX8G&&)hCZ<-x00@LDwYz z`-bpL*0mMM`U&s%P%-r?{Y%(NvSqg=JLj{Vi7dgt8kPG8(hAc7%y?>@X1DY=Cw+ZT z@8IYxB(=P8zBdyDXa)N{>rfw@NdZFD?AliLV5^!LR<2DCO^iJW#$ozHYJiS3#Hy-51#;6-X_k+~s;y+{g(y7$*MjmON#RvbxZ8+u-s za(()R*HLF8?dJo;w2Yo-*uE~*R2Ffw+l~18*J3y}a~FlXWPz&)V> zZ7_#tOSSaSlwQ(vyPVO9SYEd1Y-!5m9r?>|$jo2F46H9OpM@)PS=I!llX;0QlAG!$ zy-#=_gsj<>L9LL|Q1(|u@__c2Mk~@NrCSl}-dqQW%KJ8#t-|+6F!p|RzVjGw+x0#+ zzUfn~&ybt9zYIH$G^C8R>qpX>bbQ%LUf-+33K=XdH_8tTRaB;^n$C<;--BJ2fF=up zTqy0G1<*pC>*p(Gs-Ud@+I)pUqgC5PR=nSw%!`VWufv+e#s9zQ zDDCe|;1P4d3468|F-WO?jndE;5mU<->^NWB0lC;Ry<;i0%E}Sz?*i&zB6Ew0TBA zA!lcjKRQvMye47-wW`JjBx8O5_}8A=A$_U8WynU-a5#z88Ekl#m6Xi8y#jkOPzb*C zJtr@TRvck`x2}hy+S2%$p2|YLjcxq>Cl?dK?+XZz|8UOX^=@n1dBP85IUzf@0SiHk z>T~Sn*Hgk2Y5V$3E?Rxq*kj`i!5@b3v?zd3d2lr#IGzxxie9yXY=_PYV_;#j)!o-l zvb#Yw0Cm#cvFy#&WN?O>!3p6FY;+D1{=b!)TQW=M`2J*?zqZ`aoe5}#0i~PG*?RPY zCyS@!bMb5=^-8QH(Tsc65f-atS>Uu7Wzua>pbQY;A)F9Oc}k=+qq0zPjE39-nVOBj zSCbE0xST_-OA^xeX%c0{!f^;>s5&8b6|i|Rv?_s#arX7OV#QxAzBPQ?)eodbu+Ei| ziAk}VAx|-VFMY@#d*d;Nj)k}>S*Ed(^V^juI?YrCl`F*WqbqhK8UDmU}_TZ{wWtKI}(#%)M|F@ zC$=bgr@uYVLFPJvSL@I7bNZ=T;O>EE5oV9vLjhuBbk=S|3=g-by zG5T)%MqikWTML#Q%%WHJ;&D<|DwiFd`?5zqG9m7}ogd z>;fWHQYO}~D+Szs#94>XY=@t4?~7`JS^v1nG&zeRyq6`$FzEnbAC6%=?_Cy29p3m+ z;cvT2PRz6O`Q}lYM<7npyK#4`l&@AbH{hEN3TAw$&WjXa{`k(IJz)QT+#Ln%3G1u3 zUK@b@$DaE!Ro-p33zd{d(o8G@G2_$9Y_|2g8V_#f$vr024f>RniVD?4Ia%@(N=2mU z^9`QD$}ut_);^(iJ(uqbu2J8sU) zY@xlYaEadwa+q&YV-{)RupLD=Hv$vt4sW!jx5q`v16P$f1?{|%2<3OaSp4w<^AG_oLBf!2WZAXkS1R6o{0kL8u!ZYF%E_x!48- zQO7Qe6IeY)g6{YJby%%rbR6Z5xtLoGal2h__doYzj=?s_4-m2l+qa%;6sqI|xeNR) zMZS?8(PUzqZ8t}dK4LF71B9e!q2cxDwY$&g;YRcD`K756t?Ad*5Nt z`4(75W?sk?6Y=_p4v`l;aSQbNQ;oCRrPKTC4H5siMPPx#`hb{LdoZEn=r42Z(`t?s!Pji^ANt<{gRwlkt1nt%g*pX2 zi|KNVWIF!EOsdB=S!f`Ks`0F2c|>|BJ5Ilp0^dL$IW2`Mk_^B2Hl)U)y>ot%mHKV8 zQCGC6e@GC=j$Jd{!DtN{9>3O7(ywcjVvfxz_6Z=w<6gK}@)e-oEt8efiUr!=+7RPcI17ye;AaODpHEYt(4 zY3YJ__f-<@*_;FV2Kw(FtKN`XO0%fxf-<2+eyds085-*N1&3)k&^ey%T}Y=&5{GV! zH76my3<8R^G`WC4A0uNMt-cn;uU7o(~l|kN0)Wo9mq%nB7FS zySEdSOp%Hn^DRseqVaeIvaGO!ck zL9O!D{d-tUqj3pX5bIAYnAOW3rx{vAn*jR@gF(7L{>GyPsyI^~Evh**i{zRERFwhZ z(Ai!){;l%2`299BsW$aO!R3H}~d)#pI=5&}He+8evE~&roANB^1{$V@aT^+Sh zq&r9?8u%-jXLMXHvD-%t8c4-mCw6m}I|tA(3hm};uU|BBs>V5e0$aJv!!7(u0QhF+ zz8%Dq7f!p8Hv$1`%Xip2Zc!(&cgGfTXa;iS5^K_(vVe|_*JU#)&#+si!(Vrxhl9@| z9JgFtpXoh3UOnGo*OpMGm(;uH0IfFT5o}Mr|Jud<#{ds353aXegGD`-;rsQi6)=sp z8AzoYWz&y>pjo=wrNDuTmQRAr-_$J~s7+B5`u%?pd4W!k4MiMsDco4Jub?FU5lQ$$-Mj@4?laE*1yvhMfrQq9*S^(6AMb!hxivwt-s}*mF%<83o zURMcgRJ)?-%{$xK#^~;2XO>|Y2txQ2o<5rk4ETg^h*H?Jd7TE+wK zwR5BbpHlDzJ~<$?TqLcxo@CU(%P>lCliaKacG!V*-L#W_)8yAIi#g){=}rQa+99Z& zJp3LP#(zrm8miix1Z{zFG@GIJE9-#s&0+lzn(vjERxRCCJFP>V)eIVza&c&=y2ddk!Q*H-k$R; zNae5tv4J8X*|!q{43c+g$;+5uI}1hvT*A~P`lykxY?t~e)5Dv%uI-mpFvIx2w=n3dKa zeRqGRR=pwp&;yX%eab!ZDlHp<|%el7@oHSHtjt>^#{v zu7d}CoY(!bYXUV?@wu_T`LOU>(rdO+ma(g59C`y4v4b+B|0eps83uFQHfuxRZnd$( z@x(^Gy;b)y_*#UyEFAs0v+N6dm>M6QP_)m1y?=mA4Gwwf3_+bG`#}lMH=fQ&j<68M zO-`0hw#RNkanG^LC&`jun(X+i9?Q9ea9CP^AoUp;W+;yr8eswm`;@thjPXsJe!B2d zm5kdCZ3h+d0uPc@WHoWQ{66Yn3CFP7b*>JakpLNs%Z~EQ)csCQ)Yi8`L)x5-0j;8K zBrovJ2Eezms@>@CxP4@n?RKI@Pp83a$S zYn5EO{zXCPHJZgNUX=vc5*fWkUBc7K(;jW|73m=SrL`)?B_Ypdin_-0E{6HEP)rkW zGL!olkMoXjS`BS~f2kehQQ%17kWsBBaQULzr^|nJPrz!_G)u_t(O19wLpl?L2$qHb_|dI7sf%E){t*LH!}7wTE8a zb0l*hdO!EkjY8leZv?+M)#{4HWm~``YhF2Dr)imCv`uBdGwIPWW* zjb+Zi?JXG7U`~mX`=G-cn1zU2)Nt%x%()M%e2Ab{r|6!Ejhffwq}F~cX3EiM^7&M7 z#8gOF@tgp#W8kw=V~WdWvzMvl>jm1Lv&t9%97Sf3m`b6!XK<7mPDN`oMcQFFl}jnz zCcAzfa4S@TCQ08e2uhr3c_u**Zq;Nype=0uDD;t7$wqjM>>idLymeRLa~LUFKsa1! z;&*KZL#Ks3Bp)T5Ir!cz!LoxElqorXwlQlF160SFGJ(r_Ps>F#EL9aDDW$U0B;WG6 zKfSl(Hrh~Xk^K1mnxNIJbVdy04r_>7fRRFvF?7oKexJY}H zPX&x|0iW0?0FOucXq`Szh*H(h{mRuYvi8a$XP8|VM9n$Cr6XM}A zW|S+}o4en&g~??{#Jq}g4vu;Pn~b*gMN}wU!XejrHsV))&xoUQq@tRRK-)6N2uC3m zIqm!jEM-8Nl=2CXF7g~YBHp-x0g;CSRH(OQMC|-X`shaSw*pG32Cq4_-4b0>>u#9o zK_rbec92P=ev@Z_xkGp=pOn^`D+3;+9JP4rIrR*F_qrWkLe{31X;yTMznZ+uoCD7g zVZf6P-o<_rmAPR!;@c-^?I$s$bK>ppdo{l^?QcMZ2P!;G&|-enYqh_rf>r!d#M{HE zyupTBC&;L*?1oS#esf$J>)`0Y-hIIumBIw`Te#5CJ_Ww#rW!sbPQ1>Za@=}__!EM|>sa;Bh=~9X%3|C|0Pkt4X4D54iTb_MO?}GEYAn|3F-*=ZTJz6nYr(}c|$aA7)LrtI4#^4@|LZva|GdOI%N`9FN z+O#%B{K3!;{P4>A5s;^mXDJipWh9uiYTK{Yp5%_7fh9CRc}5My7F80zFet# zzpZ%u5zKdkNN~S@|4xCs``!0ez)t^ig*2&nflvLlmSbM5>FEoOoB#yoaQu&ykhIgi z>)1*W_=R29W;bg`t(O!V8&?BUMQbQAuOjyV@)mFN$s2nNwQ7FGw_r8k6wjm~vG`Aq zOz(gMCW;nSyA#T2k5%70o&da*Ym@onb<9s|pYY9O**;MJ3%)F~fK~X6wKi{e*!81> z7tL04_4m50cCZl-lE#RnMJ{6!z*kV(yBptk*&VPA?NGhk<_;+e>F>DR3xC<;mvc%5 z5Y;H%u-A;Ju9*iI8CU`zZ#k^y*tMkd&j=to8SHOphfE4{H7f0I5EV9Dykm4jce$l0 z`o-HwFMyCeaF*agR#ub9s3vf(45f_IWgAF(UWXwD1_t&s)-RK1e!R9){`qw6^O_Yv z`Lz3v+Xz&Qv&-VJqxq0c_@Qsnf2x!pbMwGiTFC#>SuZ+=V-^NsKwry9;OMZcsYkWH zTRk2FF5uU1Nmb=qD|K$k)dDO}{mF?=sEX(0fFk^^m6%^;m~QNDoQ%ed56Gur4%yh9 zb6Elg(=QFzzNTxhSA?J4%_yZ@kxc!I3TR*gJnU7|$HNPddIfV$Hvnqnc20*gS3g*~ zaJD2&(%Q*Q#^#$ezj|`ql?xeum^ULih@PPWB(0CzL+8sC>NhG=WJKK@@|EK8P9N@Q zQySIG<$ip^SX3-!nIN7dAe;D2&=ebaC%RS`Aoy#y)mA6 zPGK#J!YKZ3`sOsXOXl!pDz%Z!6MxF6kbbv=8BHQ}AtpX*N>k~j5JB0B&%>Cb9PLIv z#m$$*(E#@v?3jQA{x-V`+=azh>HGIHqyB2JdVkJtBKgiZFOn4q{4due)e1bQ$(whO zOvKXxtNr2IJD%0J_utXi05z%F;H)>!`B%XT1VJ!t${@;NrR}f8njKDFKhv{00W35U zRecsQfrx=ab{PHKB?{o%b}<(ro3`<6Cu@ic6oe-4^z}G`Eg7LYV!aBeMR)+;-a#Fn zs!)Kuc#eTh8%q^&2JF`?+9v3GSz@x*TqlZU5d*BdV@%{drd~T&R?B zt~?z{KzMjEnKCxUr{A~nn))%B54YQ@)$n-OXsggRnk%8eorUl&)n5>WJIZzBl~X z>F6xuNBtJxbvU!~3Dwxk4Z!~Oz+CRK}Ps6?-Lo&{|o>_y8Yn}>@;J~v?v zQ++;&eE8u;PLR3 z`ZloiPxIy;f2mF7P)L3$rJ9gfx{zfR4dwXZ0DQrJoA37nt$1aKgA@z-bdu&Nf*T7^gt zs>Z%qH2jkHGf~?oZ3^gX)umFA(X%^&B%W@G-vnua5~?c}6zoLoEH(A>)sDp_$%!R^ za?psjC8CY;>;d7NZZ{W&zvaGHr(#?V)2l@pEfW1_ah+p_-ODkDwYFwhtHBP}kAJsb zYmG1Bib3FxL1>)KNKpSwDJgW;ZEr@?21RcT@G85TY0{B$5_uZjEn|qu_V80Pw;$Nt!x1_uZ7~I931LL4I8L`77pv>R)Q2hH(kei zHkpcie?;LO7?Zm$i!gp8sfsKnhWjjO7`eUkAo9t9YUB#5k1tOL&pd9Q*7qNHCl-ux zch90eV3_;lgp=H$5lyu5)WRY?GVv@LW6H*ltnGX6e;t3vIgEptJ6)I>q zb;*Y`f4e~Xf=vBBuZJJU%DbRNk??;cWgB zk+rWt)HZdQ*Yb%0iM-8cgZsDDY1wt^uX?3a&4T4e;ts5dsw3yo3Vgoz{`WtPJo3Ih zCUP7^WigE?*j-aS!!s@;4o&u#te_a1iX_+O65$v36b~os*tiUTGuab{qsQ%Wd0IE9 z*Wv!Ty5lc(^H_`&7XUc{zblmf^|P*c2iCCMO#{D`%w69xCr1MokN>rZmXHiN1M6?O>= zd4t}@WW3{0%ywgH%z&RHi|Y_WM&&z+U9tMr-5(*XJ43CZ>S7&zv;UpgcUjmQfQe=E z*NO5ylf1&Z8@utY@&zBQPouR-dfK&;|D$KS@!=RA&bz9Hf8*TgT z7IUsu@R8{AN51=(7X00R#8U}+T`kJgKP~F+St$AbiD#>q~Vg%_}pvPL`F%D#8!dow2+%i#!pbF*q8g4-bY4|eWAM`xv(zkl&} z#=HtbG({$1=IM~8;U%YKlAxo6Xr;ZS?!?8?q#iC>y853MptNE-_GrfzEV#!6>aTr7 zvNm!~NGKQ9cI;Cm&bjj;VotOkEut+~D)Km>W2f2XzdV5K)QHITvO9Mn7p~+5cL?uu zLlXsUaF}?`N1J*sH3if!lNsl%=Xte5KVH4DU*`EU5#<9->AJamW|Me51`-Fq8~Ann zIo*bBx~AJYpQQJNmvBxIHpNc`LlN}NgNYPA@)!xZ+*Q@IrBaA@@Ah`_e9U7Rjs7Y3Rj16`Cw88#m z2=ld?uHT&a_;tXkCm#!JH&qWB{` z9LZ>`v5lN_L#1f2D$Jzw}Voe(`+|4 zf8{EG*8e2of9L>%*?^b+72Nbq>n|g3GYjvp&H}t2u9Ae)wy1xAaq~`rh@%(6z8)l< zFZ?cG>I-o0hlgWgnAHFmRnaL3p^j7Tt7Z3~X+1qy_|YccVH9sRxdIq&1`v?_x0U2V zZuBQh4CR>7G23Nb$ zzWO3qILwDiW+y0os~&vzt)n3g)Z5{hlUaH-t{|Xga8q8Jv;FzDWe&pV53F{(Dvoz) zqTQ*UdQ!qtv(Gj?cHC}IFqyH(f_^HTr)fhotZR?RD(Y@fTAe?<(7(o2*fgBv_Z9jV zwA_J?NNN~kcq0eS4@_acp^rv?!eFAp89sTskBif(ArQ}jZ)uCdxW?%*tNoNop{y}_ z3X1ppuz#e{Mer4|?=O;lC)?XN6Stx%T^J~2v7$zS^y6SMi-keem;YF1 zV|M;*Oanc7eo12)(|qkl3-`hDP_fDzPjcmIdHxAn3k1;f9W@{S&9P@Q6n1j?+e`gw z7crd5Q&9aXituM&j#+MGY_Gpm=r#tqe{^CEbyLHHdhCKc_ehX|IEGE0k-zsC!6L@< zqYuStBE0nxSx?slBdrI#4#&YDK^=lzh7*&x^XZq-%tpt;JkA^pdF-dPtX7@LQ{q_(0teVDyvvze&W zPU|pjT}Zno^6U`iCxq$$)?m8pcBC*)KpOy1$qtd_u}|CNwrZt0lB+py>JF1tRK+x3 zAr`qZx;e(WUnt&oe4LCmq8wiq&k!(0qf_sW_9`Uj$dB`1V$ZE(m%O8yM$~U{k)hHj zlygZ95vSU9+ODFyo~ET%$Qg$!nOKIlsnti2uKnPq{?0R0CK-dsiOPdoVUQ6j&1IFe zQ>js`p&(PO@AJp(As6(`SG|bBKIiGjAEg8f&y)E&(eCb**u3t^lhrCjuLvYE3ZPgr zMGsOD`~&k=J(yBZiVdi0;?NIFNxIWM1^yvuawq2%10Wd2=n<*&O)5hWN@ykI52AI* zwBT>peILZVVwkmCor($hJms%VBYt65gp70TV&%lxa9`~qr9V&Fh1#9k^VdolK{Vu7zV3UIf8t7D4~>GM1SBRVQvYfsH9YA6(C9*L zk9r3E(?Y}M8??pKboV~<_no~JB}mhmOi+6-X`oUr_p%UrfXNvJLO3*RqE-Udv)CGg zJ|P9;_Ys6i56srs&W+iHD%XZepHRLHA;++CgLuw4^mgUKVsu#s+<^lBvTMEFg;tp5 z8*9yHvX{~rtK$$4g;LG|eIwxSg`@DFI!_)H&y-LI-TzkFOdov9iGWA* z3X>N%gHu(zCaW7o+T$K7p~=kd&*c*)?gn@pEj)4CfjGm*0}ftb=&&M7)LM_k_)P_O zu!zHCkTYq1`?EnXvLx(j^-g>er>;2zB8w0j@b=kU>#3*2`U6j2&FKB~F7pbbODdaV z9AAeY;t5$iR}M7^TzRZUu>zXM?+wW&7LAi6ZvffB@ZhUHfOOtQRaR2`YZTex#54D5 zP&AWc?V2w>Y^xz5iZP;YfTY5i7%Dh zjXlbUBz;xxbc0Xnf#q zj~`uc4g5@+?a!Wgc z@3KjhBB_Ve`i_@mfW351fq;^NMsaT1dUVUdXRigWl`xX+vd1zYX{fR*Q}8q%$ed-C zGGtaARQSJG#-;R7%Tkcmc6ULl<30_YJL%MX%lufJ*K)2!AJ6&z@PB>K)i&%v$5^Xi zf=w{qal%=;kteGI+Mz`wr!hl{(NOgQF`io#@-i4ZIJN*oT!SiNpwS@eWffz;V-g|1 zm{NmMjQQ)r#AzIMzu@n|O(Ih8o7Z9~5-Sv_@RHMCLV2NjK4OD~R&(#D4xA6=e(u)IaFbd8>~U-?@I%I87{@M931jK||2X_g1f(-Dr{wse&cy$s_r^?^8^h z7Gsch4OLJJo)$ZVF63+n-x1!qDKZi#5XSUe+<0r18 ztbI2qM8%#fsrAo%!jAM!osox9^VsA-HrKTI=2VJn6q<3~&qs=P4*FNZK!SGks>lbS;eK1=p<3#p`FoCfgOuZ#INx>r=wls=nfpF5ozPV$+UCWQ1NRRGA)dNp zGIV_WB4-_O-(vMb^2>({_elym#h(oNW$ifGE$BKTmY>Cj{3F()2~KVPoVZIV+=CPo z&cpe;J5j_whcBNg+a>b1EE~Ie!XD$Xfa`vU9?zh+aWeo6Y&Cfq;a?{Hu)C@t!qG#! z`nyO)hmSvdhm??h7u9~=H;ZRA#prdW@zZUtch<}qnTT6Lt;NbD+)!jdhNbZyM6b>M zMxdn}r2gls1$-ls-^1Lhhp^UL^95h?+0EpP-Cfqmm0ra~w|ZWqItgKf$08Ch;VHM% zzP`@N`s7cprY!NQvR`>Kd^0VkBnuv)^N}n|+QW6a=JxF6m;3rp1*F?02x#DO4!W~1 zeS5QXbFe{qwaj{|!~+-kiQ-o&V%GHS?_^ER%G&qsWY=K__h`})L}Xaz49c!A_MP7q zv=?+3)$S}BR0sq~C{eUVkPr&S@=YPoFr@4l3^t9MRcXTF-*ez{tE~A9r{vQ>2`1=CD`E}T*ot?(|$r^(0YY*NeA{I zJ+)ZzxjC#d64U>#`GN8NcnHZa6pLmMCT*f>Lm}W&pA+t(o0%~WCoeMTR?NVh%y`~y z9H)6tX#oe_ql8*MFzl>Lf8VwTIUlltcBaXgLqVY`i;ZL>4N&~j=0S_b>cEA_A48%l zr%ZRI+ZmUxn#;I>hE4~qH$vl%^rLqJ7Jbv}B4ckJR%_ie=^DOH`Ddm!9X3f(&W$RB z;3%U041l;OjOa8;dYzXB&tI5rE*>f+#_W^OJU>?aT z(D$yP6s!njE}yo3#eJG|xszCuI<9w^UB}$sF=v-ZzQ9{;3n>8<`mDn;rTdz9{RNVV z*SXI+V#d%ONh-HPf@-epb0qRw>$wCNWG}a@2tlE`D5N86A z@ByNnI=3k5!pYx*McJkPr}% zF6jnQLRz}vA3W!L7yl*P&9mQ~YwfjD-Z*mJNaz-a82EaaYQvWe*<9m%w9HoA_~Acys}y(_&AJ4AKK)@WaH{ zu)Y%Ak|*coKJZd2p!lR3jeVbIb=2VH@XLP0$NJCj0rdtM=J~Wmj;Mx~p@2NauTYmt zI#PnOTbmZpBr)aZ*qfeA;{!^!Jtp6v>|dN|DXuD6!di|k+s~Q03!l)6xDUVDsFpBA ziJ=i=#iii={-c~!sRN8k<0pO4@!*#x>RHEHwLB>|81mVJr8C%i!By(v3sV)P=;`WD z#dqFYA}!mI&zO0?;QoxXn8!Flta&Cq;pqiceAcd**6o5tbqB#dzfzctSG4a-5VOC1 ztKuq`^?YfxtNc<|>InWj0R{hRWBxNLlV3K*B7_Ssa-ZPG5f3RySHkyNiRsVjK`4ps z%`jVo-j1kCEA!$(HR1&yzuv8wfDb=h`-Uaf{(j0rzyQS_jvWCBJxKA^0`>lr)7@hl zp1{f)ndI^uf)pyHpWMkRkVd-t+hbL?Z3#_>;d5Oh)huE5aIr}@8m_x;K*wH6)%edS zzqQQy$WO5z%bPG-E-b!|3iCyy8he$uu$cEPGX74mNbRawE}p20T6!uR)K=f>P8U%D z1-%cRecuv1o81{uP#kcn1l1moMK*Nih+51&DZtL%KZ9*x zI~*Fz5;Ft>lEif_)SVb+F^P)Ma>*XSpDd2e?WpKaCuH$Cri1kw#CNcJDO4z*h-Z5pt|oI|aH%_}j)|1-+G)=8$r^`5@+Zm<kbZxy|7H{!x_n_@qeT2lhAWW@nkWW5r z_d-fbhPnWqj4#Ugn8k|;np)!+(!((hYA3mU&z^SGbLBrTr&}yX7$kY5Bz%|b;DwWT z#ABxL*?p-{T=#nD%UzBRI4>!KsprlNPq#R>NisCstF4iC_S+fQupX*Wdj+RGi>Bk~ z$D6LVQf=N$w@bt!Wz$xUp%ThpysK8C4NOb~WKkQ|m`JMl-B;&4#3q&-h_!H0;m<{p zRz{8775OJ`MWUP*l?$-4;B9T2iENUGO6zf<3tF8+fI{i_rdW01DjgSbmw>m(m9Wgg z>`YR%89M z;waBQ1sM~UIv+ZOF)?S+A z6*hlo!(ee~zf@?sS`UYO-N`L13(1mFB>)W3WFMrtG+GtZ-}z;f>wAJTJ4^UdV^NM@*DU=yJD}S44k)k(m}K|-4FYZp#o7xEF-?_ z+vPtesv>{m@eGDZ{Ou%9wc^_G885heEbfbOSK6vl1kYWA_AUJw$LXzEYzwc`y7WF_ z@hX&k3L%!BBZ>Ko>{LR%)TBYLFILA)WRRP|49#LI9s{{G^*t6jCT8~>;?hS&{ukZ& z+{oo-jgE>Y-|g9NjRR-uQOZHqoK{J$kWJvmoY}SqO{$o}h18K0>T4W;V(oO3^DkcT z_Tj_*;l^VF2$cG%QRg7x-_}Gh*Wuss$$nn_e#`$}?x5|$sQD^cfBljAa&Pl=TIJ=K zJxtVlF2z~02Gs4U1R_RB4JfZ{UBUH8vCO)$^>1@nN^Na|5Ri4q@L>ITsjP#g`3)xR2=aVWqXUu(DHe>183b*4|L zAFsghI94Yp*i1_{ONOujQ4KR0PK00&jGt2Jj~KUWCvAUU8Sp;E<{1pn1+(?Dp^)*# z2K^?=?Xfo-Rj6jRi18y|$V`zB_ zxqp{kgHzrA`Fr-|SawE`@9}r;}j?GjsB+2gktIZb! zu5W9y+I=hmi(`C?Bvr7I0|HB|Q222aYWk7cKLJ`0nUn^Jxs#MeLn8lgj`V+q)a6#y z{5fo);0oRjRp)5%3BdyAiNnCPxRV0?95)10JCz9yq=KTI2W>Y~?&LAXo$2$U%{iI( z$3xaS{pd(yBMCPXB6^2Bcyur*9Y8*WNlXs{b1)-eD+{K0>q zyIA(fi6VEk42z>#dbpPSOM)*fDJh@u-bm6JiAO-k=+3apDZ-S_>?XSR}V1#8e3=H}?l_ZAOa(F0Igs0PQ zmfQN=r*#q+Sw}>+d2HT%FBx@3i{G${>MB!y<5N96?sECNuMVMds}f}C$SDzPh=%i_ z?FO$5q5`8DtGUbcy&Q)+$n~${k5WSz`b@Qa7V%BjIq5UdSnn6cPePhXjnTtMY zJ9dL!sQw`)D4k?xPloN&YRZ@{S69frGJvOCH_~j)@booa2B%?i<$U2A$zY6QNRhbn z&%{xVkSFE>xOSb#d%Z+YU#b5&B=pGN zKNe#+Q%K{n&A&?VzamvRzc2B>X7()Zcb#Z`cu8%;Yq_)Zdk-AO3BgwSl7#xI(%-uz zLD9=^1TQ+swym*Ig8#MUEzR}sQb&5Xv@J}lo_>QqlsA9;HDQ368knXj4*6I)aoLN4 zXeVWuASFuTub;1SQ#>BfLr<>}zc{ziHcas5VA)@7nE=*0Lf9FkdUyVDg3azz7Q~o5 zOPX`3P#4?H{uyO+Y>Hh&;@VZVuitrfdr8fT-IC<3#J>e2Dd5pJ0Iwuc|N4ei?AK3M zN*iUZSOb-+ZG|20P86sydECowDz=Yx4A;wA5BFS z<+f@>JB$OUI3Uhj5qVo$AKS~nQk%v2ZHi_Kiwc*7zsJzei{ip3w&Q7w2Lz|k0W}@^ zV?TO=ysM`j%FnINr3lTVp80n6J;gph{hVy`=J_J~S^BAMe^1bc-5C|LYF09fD@pk= zIvV2fXFR+8FFgF2b&P!*9`B8u?}h6ioxQ)G^?;bHeDRE6Z)?9rIz*=d(>KhY2@$>#GgQd^|UfNs)& ziFjKmJ5JqrZBw0u=YvvV2t{CuY(3IUYq3;r4`+K4rz)POsA=%*8rW^%lgWc08~-NW zJ95*Po+m$`NSKGChSIxIB%b#3x ztVs?l;6u|9%{KZ`zZb%xS=;QNjL)|Nm49=|UluI`IM3l~b!`q8fe5idg`1`Ye$0t{ zxe2U<_t5~NS78KjvuO2RH!}s9t9&xu_gJ491%yZ=`EH6VqaqT;&I>NcwW@q`s|aZ{ zs|_!j;#G#Bn9|Q_JnA12GR9@fM8$5?S~?18+!n8|j>!}zB9A&oDINu12fl?r zE0PW;3R<|&dAQ0cyCq>!m)3j!HqLfLq>Nj&X8II$2&L!QXQZ||K(ZGVDuQwzIXX}; zNyHt&&d^>XT~CW-drOI37k&Oy%IATpjCXuo#+_gytz^WQ{v^37CQ+;6EVvRLgK=Jh zf0v|J$;hz!4k*u3i9z)~D6U}UoSa*>dcWM{p5sue(X;r99OzVTv(*miPa+;O&k9bo zUJKa=gCt9J_vkm~0l!A?LVi=3-GHkN`ldZdXL3F`wLUEVTkGFQepUE$@xGjP`k!zm z8(`cI4XE-jO-(?;K>ZdJ^zw^Ay#?UX9GywJTrYARgh^V2+hy7bYoy)LY5PVKH1a{% zXWbn4qvB4+$Fi*bKD(VC7aAU4x20y>AIP~ zMuUzs$^1e|el=t%JJzjl2g`N40oIPJK)G}?G45pg5l_08rLMP~FC5`#UJF4*6nfvB zFAkR39tFe@R~?LQLNRT+#Fs1e1?C$aGJJ=PPk=RkcV0G&jg?EzebmDFSW7TvkWN*m zat@6?N@x1$J8(bSdh}a!uh+E%8Qc-RP3j-;oRhDsJFcEv#u~RO!1`a#_qhz4ji#$C zo?T()V1los#=D>bdB^MP`6G_EF>X!ox+#O5B?I=Y zqNdz4NeG;=-Ob;UV)3Htex5o9{wmpZrC?nI!`9j_e-wQ2v+C#8_V@Dxwt+>rYh_im z>uAm&PU;mfw9|wu-Dn?%{P)tlQ+eN*l78Io)bjR5o%AY}GdX?lO)pCAEV%gO%7xy<4A2pbp z5yGGwv=2wLS|if)KF0&hMRKt;b#J%Tfk~Gx6$tTM#l9G7x0pl!+dh8~|LN6=|HIwH z^Smsu9z}Kj30T`PnQ>^=fk@VkkiQ3liS^>+000X#<4GdY)kPGW<#&BsWQ%XP_TG2K zaitim2#M^+e_VhU1u+#hU6T?t=jru1XGoJnk=IJ`cq%RR^IQ95(Zc7Np92xiW)*pt z{a7JW$^|XIc-?`%s>qE#D{p#_GpT?OT8KgS9q#^Bh zW&&kGqW^aTvNH`D;lzA&b}8DCY<_h?k}Il5Oh=ewzm<#v4sW zoGuG486T4hU`L2>GE^)esyLY$m{$>Sp-}12M}Wg5{OPzylpaQWD9BX|Kwa9CP z+J$<%kLT6hp?~!S-r5HK;F|*3=+~Q>LJJp)iYLbn8NVEpdPtVgN{_&1FaO~AUB>@Z z858UYLStoPSzqfyR#@|qJH_RBN=7Mi_tl;@?HMI13F1mho8hFH`KP(jpE&29_EQ5- zLk8Ln&>@?tEZ3q53sfY@UKMwy&LeXd3Xm;w28T=_H5R0Z$#EPbz*k7i!{*qzam-! zjIf?R?8}|~U+dkfpwKx806@jQU9eZ(`CCND!@n6Lf^{{`6KiV3uP>k3j2GpE80pd; z1*c(8y`U&QKPLCv-XbG0vFPhO#^U00>2{ZY-9VD{%L}Nm?`wCp&;)(8haFz@Idx*C zKMJboRg)jmkGI98##PO=L~@`&^vdrr8i^<0XRM^ zx-}{7H-`%hcKr6qN5A@%mRsC55a@vpchucQx?NSg|HFmtRVpk^JF#RavEL?HDl`rl{~e?_q4>Q-$wYYwFuD2ochG_;DKWOMmY)@EgoH-e ztTN;PuNol*=g?RtR_(=u_nPxPUiLCB+%rF~!^P-_I19=3c~H2(mKSD1jrWM-21@al#veG);#> zF4aK`g~kOGkhyO92GTB^_~OtHHH@QyxJeG$uE`bZZrq|0587uUI-ReL0hZvlNK%gE zsVU9<_ig))i-}~2E6xqa8LPLl51iPfyMM;~&Uvo7Y43A`6SC(K6l!@z#Rwc~Va;Nd zjN(9pQ(9WlcWN=TvG{!Tb|M)%;zL}5Gl&lM_0H7CgtRo4ED?|7bUr)9JP7Y`eZlPOL&TmU`BN zuU*Ris8)JQtc7+gK&!WuiYa7G97e#I#N!=b)+PILpA1yru;BjT zL&>Y{=OkWq#RS&b3}KuNh}|O;=!BS#PM4%)&wcI=^Yv;>4UygrlN*Fp%F6(yK>$68UfHW06; z3w;&!|DOxvJ-RT}(p|-WE__*Z8%WC9uYymSay<<>i5*Ch>cq1W<7v>74{s@B3OXC-3pHp1m0^-T^456%+q4p{fjBfg zG7>|z?4If0^93lFSm)PHZfPf^3DjW(PJ0Uj9thyM*tbz9r%h$s#>|x^|7YH>D+p zNtwZO$WG2@n^;y(up&p}DUCR=Da@1w>ifLp5=rz^;%-~Di&maxac+yW;}V{rPE-yo zi6VtW!!|(e6d$=8YsMw-Ajoi)e zBS*d;74a0C1(STM_{l}Q1m2tfU{y{{CPRA0>$*3^)6NXg&{XTSkwoSj_ne&Ju|z6x zNicbZ-$;xt5DbwFP!P8QqUMLGP)BW3a)iJD0t97z0@pw#XHKc1r9jn!TTO*n7RE8@6Tu8Wj~$@a3K+ za@aD3qM1>VoWv*;7aImZRST6gsBc~?Ky1A}*$p{9wC{|v%fHjnm!CdBNV>1usltBH^k;pvI2~_PqAu*%Ge7#&Wwd~pfh15? zOlnhAJF9bS$8#xa88qeyyXnOu5ps8R%~2pXsx78ohOCnJQj}1)0UFR zU1>t1`d(+-9H-AdR7F9C-W4Nm)M?ZBo-N z2&$R0-$DAGX_cx;-ncaLm*qW$BN7^~nM##9q!< z=FZA_qwNmeEif1rSH5QCqG7BaA4wxlfrJ;PsoT7^-{jlbVH-JW>)klUg%_4>YJcFP z6ZLbU$t@+p@jjY@;>C}eC&%j1By~b$hwyaOhn7*~QR@2Bfs($dgt4=bo)f8;NrV>O z_&0oweifqt-%*yQa?%Q$g3M~c~#g61&<_u zJju5(U$O_YKuEA27xue@i8&Z~7@;(}y2%OjO7ucQf=esbbp44|y3w!i$U6+m9-=0K8N(fUgxD13Te7)JrgoP%9R58g!gJkmXTF`TQU-xII(#ACVkVzI z_^>jK*T$1ny70y7MpWB$%CMbB99{C$OYqGrU`kx;carG(C;De~d>NX=JxnI zp!&R#xZ0oxi`~ZftD$52BXC7r5T1}_9^4FvL}8=weQ3k4thQsXwo9nu7YWN9Q8$qq zGHJ(M^xWTswt{O7$VJmn7UhM4w<0~JI%;nk!%5qF~8a@ z*6=uBD^BE@DK_mhvSk-gAK{D6;@9EA((#8Qu3H zv2JX$X0Dgb(a}8`a?$GpJPwyj7(J~IFu<*74Atj@$XF~xuw3-maHjCZcB*>&Hhyk# zwN1CviKdTrucy(N#$|t89UL!)UE$d^9^_-=xhoshj@5&{@j&v z+s4YwJH>bZLvkfvJbJ3Z?cLsAPtD{*2IcCkYQVBz=(E*bAb2TrrY~Ng0+~=Sh%)^X z2_h&C;gXs@XhgDy=BeM6C%6kzx@u+O)ca4;mpm)utioPq1p}D0sj%U(udNdmrlxDu z47SaSXHy`a_6yC`=Nb8b)EUuux_TjrZ_N*kqp|{FroOT^A@6d1q)_$^Kuy5`lF9aq z@v7olG61vNwKdTsN-b*oum)lm>x)&n$&anpWaK3wr`*Tr`s{c0+MqB-l=q>;g=sf( zwZZRno%er`kIFsI#NLR{o<=C@%~yHhkr2@JmUaWSf}Vs%u(f^HN@uoFcRpQP3gBp0 z^@3u0v3?*+JB6Ex)*vzmN0w|+M7ZTjrk2WX@vK< zcGIJpf2NxtiRz6q*3@a|VS`l5zwGOBl%b=*rUTs&yk+=f;60*kINGF>ee&Yzu`G)- zRX^JpIg$b38%e&Ze_iyJ+1k^F>+$gj@KnF?|RZoYKn#n*!1X!&PNyZ|M=l6jF&|IS1+Mg z8hJWrq+XUO`Ehwh6H-yAK3kz+^IC4rz$si-1YA-5(C-H4$zI;CQ%67d_SG`Tkg*OB} zXvw>uOofCWx!(f-rMi;m2_nOD%i=;%ET`SI~J45A6ckkDA%rtJUd4l zqgij1yvd$m5UZ9TX`s#@+}d8`Lyo=1!o)R1&5ZR9KnX=X5X1(DMemxA7rH(Gk7puM zm(zQI*{0d8-|-}DX7ndM8fzQW36AkfU`zF>VyhO6;o0(3p<+n5A(Zv5Gyg0TKI#2( z=pETk*o^rT@5h7lzfd%k5CMr6bR9B#{6+qk2){zSX6vhWIp#Gs*|m#^7Ma?r;+}P7 zbaf#|x1c(I5;s^0wa>)~t$z>YVB_B=5O`&?bIX+eJ+g>wk!!2u(jtevV=gk5`T-&p zOSgWi9fE4ga3;VQKW8pw$61(QqzY(OW8V-Yu+_9q)Q>^+Wan;m*M)M|7-vnQzPA8;m{D>>q2b14!9TL{*9y`1&|;cB zFum};IlFnP&*n8Gaz;(WuI)4eZm*$(Jn-c?oHEv9e7mFY+&Up}BbxFq?2Co`Or0wQ zPOpvOHBF$u%0DCa5ND8KWHv7TC`Ey)wd1*%+oze|o&>$IE7+qmRkmyU~;UL?KC#F(8 z1tk+$XP+Ry@Dvl~&PTn`89y2)mj#iSy}rp`kc7}tmwHEauC2ma$=%F*9>{-n-)IL5 znFiuVxAg?uW{s?ti7B6#5{l=|-0QkEi-!0K7mxI0>!MyWD4>XN5h0%ju( zJo)_qf0BqMzlwRl7>-~K846M{GnoJqs$?(nSU%C5o^vc>hk4dKPBeNsqwAGw7+Kj7 z-v!`^{3}}OKQYlM{t@D!zcah7``_rH1L77$#?|s1+?Diu1WuObHFSew)$ocuSKE@I z_H_LiTSB4J*#9J&rdJkdT0fILkE{Ro1|i8%1SycNZ7zpZC@k~Una(~DqUTCqQDak& zTeVIlBUI{YR1?D7tV=XnOtC9S`7kDBq_(04fRc8vr~~9M;^0(Ap8dGm^KmbGVgw8@ zmm<#e8SVBov$BSLH63RZ!t=8zk7LUyiC%I-I;F+%!wDHF_quK*d=lSo8`*X@m@v1} zCVm^&*qZxzn&kaEJG*i=xRQiBIYC@qPFEL3zGK@!GGLn*b5j%cf`DN2bz6nyQ_GP0 z(XjhtrL`{vYW=47L0@_BQ@p?NtBipoQR1xF><9St-J*kv=3dc}tx}WyG0dy!O}wGn zR|qu-@tunMg8*jB9TsDhas&qb1mC2eI_zy;NqxRFg56@iU;Y{a4{{en?99w90&Bse zsmLRqQMY480PG&Kc#NXdEdk{VOGj>O$SJ%2+VcR=Vi@x-N6yiV%g3cp1)_Q_5%*xC zij9A9C@1GfO2W^3zuTREh&b9PHAgFd)VP{ITVKf!boF9!6_QR=)KX!%#nnm@2+7wG z+j4iRq8LKwpjy*6ze`y^%;ZG40fs7=08*^K*O;!z$}5NmX<0$$?iF-Wpm)Dq!l#co zUiE+7Q|KalE^h)O$oNF~>{BTD2FW6)yZ+v4ablgsY>#gUzjjbOMtsnzt|S(a8T2EL zY)T=~+44EhPiDp!D27~EETYf*wv+h{hrMQ4-N!N2xEEO;S?i*Sg1$nY z$f=~UlNUUf!=k^DIslg3xm1Tcz>4&X3VU=HYh^qrc_Cwj_k0#BL_Ktxp$Z2f>-tTA z%j32!=2a^6stNge;)74d z1?|9&>Fa0GFU-B5^7*{?PREca&Z6G9o?}b}fjl^Ox-5}O;NK4CRv}DAq5%tNxr!%p z`PI$wyOgn2;6JKV(>p|d@;UMo@U!@@NF+!=W?~z1yO7|pVPG!JN-|!Eu5h6{mxT7v zP$!UI%dFa`7Y4`ObwTChm^JWfkF{+lB=<}ALXU9*Unb#hZ9&JcYM zj*wpk`St~iNnTPipT#JV_P!V~dzn+gRYtUkii^PA_g5M3_42&9vBJe|rd-$(WqQx| zmT5BxhuqaefjV_TS8CWm3=`Fh+Ro>p?c6gcjb zmF5DTFSphRKGzzIyugJQBg*Q%d2XGQLG1wLN9lPc`@!s|t!N|+o9y~oiy3VS&kBT? zcQ_+_=Uk)cjmzD1bn98FjeWP%qZf3<+*W=znHM02s@aw$xp@ zpzyBrTZY$zJJtV8)%0j8XMYJlw|`9a44DA=I#@~PjbHB;T?RoF=QtViv24M4d>!1( zwjhqIh}TwexKYWUb%)IMxy%oZMVj}CYN7n?vh-RB*ROp*cvIX(;E7%(cec+!c zRAi#K+L7JijrX-sHCQd8d1BT5^>Z@5Gq|~@v>XS%#Vs|~XIBHu@$%XkBdL`%w-r9fd zRtg59-QtMn8047z2kDi0667frXy#%SKg+=Vm5g+%R*h>t#ZO*Z9>uI6Zl-(zZtHWr z&VtJsw8tfmb{tljMx)#>E5Fm!E-uxp(B{4juVG-5$Jk-DW#F?qQdFQ8)l+aJo9Xc; zC>qz;wDkvl!^z;1#>Qs-_8}-WJ|N0)&MOPLyKp9-VmaW;p#H5Lw9?Hys(CDG@-0~Y z?7iBw?IL@+ZdAgMk8#x`1|Y|{&8D2_2Pah|92sEf74jK%#t70WuY#xLew_(SL9t=i z{UFywXHNi=RU~wm$%8>E6i)bw1RbwMS#%_T6r_bB5v2*3Xg(!{!Wy7oa|tTjC>fgr zcK|kxwEYu#DE+bz-&GU}&%#eU<=I~wOAWdV2!~JDkFCl@@sTTI z*kt0Hu-x`@%sG{PsD!x z{mwspiT|Ic1mB=!vubEmwY0`1JjDw-4l|RJG#V0+PgJNshLqDWO>S~P&Bod6q81bs zaAh5eMWtEdl_<5(6 zZ)g-k0Mx7ZtURC0bsre`Yi{XTvR!>o9WF9PAl_sxupw&K6bFCCn9UMNDq?$|ngP^6HHn}?z_47Tk zU(y6(F4(Ut4wmyL;VvFm4EUhcVO5!$j)#IL8I&dSopEcPAa@ocBwvZG42!L@j#TCr zJR6~%m0w@V0WDt3X?w3|BzYexwsACQ9zNjuPM_8GO_rQj1ys3A14`>H0Bz>dAZxMmnaf*zYzktan^ zS)(?cx`j2~NY8gsM8Qs9&WB`(;KHzt*P8$rNgFvn z;cgpdBSC0`tc^B_FiuIrkkX7nd-Syv0(o%1>7f8NUa|Y6h?1I4o4Z)PxU)F^RqD}>(yjhGeL^8{9aJPcBZxLDZR{|&r7TYx z0qT??Ft}GEu(}oi-f9PX#e=EP!j3#OWk%r>HfJ*tZi<@S0U&t^lvFzQ`T(f|x_D6U zk_IeJ75r(=lO@p;U;xlzs9@CAv7QodalE-L>5JKoGS_s{um{$G0RgxuSzVBkGlXSw zn4McKGpf>CsL%ae+1EgzFxEA-H3&SLSxkR`M^XF&BO6o*YX!DiMsHo^3y|7<785ae zIxq>#_C&K^Ey(dJK0vyO+0$!IL5w#hwt5@eJbpa&L~P0|Y&a|;xJ;)8YdlB_0%zG) z;jZ~K@3|ssKaMp~Tnc^N89T8-P20Tsm95+VgT^1ha?Iw6Z`csL>m8{|$ z7f>@3om-lfw_)q<{jpwKBR3aa5e#wtdW~zI^oEZSuV~VCe{I@AJ>75q6bWP7|iX1D#~q}hm?cN=%B>irz_qd2!pU2u^s1I-r?#1#9XOTZtE zHIniaihPVd7b{-~IOX|Qu@&vfIA`d%w60(Gtg^N3aA@06$o;IH)NvSB$iZ%X;ne>| za%*8K!FT8F>#@yw_$}lebe~0Y`*e?rX{RywtGlHvPXhKVQl0}i{dT7_|M)95alQb$lJ46=X}}>S&Hq=DOqtNv2Z^wuGZ1SvhjrRuD&k zY`IR}j4XKn?(Yji&48+TUu;FIKn6l?^QAw4?NJ*+L!}Y!ZJ@zm=d>UtGLjven{4v) z+TX-(DZaI-`pz#f5b`$S29|=8ixlUci|v_|iyVXezN?v&UN!8gSVffBpW^Lrz`%@um=J~WB@;Ijj7^!4e5N(;ov z=kd*F%&IolTCpbUB&)QN+Kv64qoqTj2~d;eSnoX^(q=t@2ipOrXm<~?xK#xI;oU*F zx?(_WlJ|dr#iz%WgUM_0JIDVzPWkJ~iHZ-m$AMcLoj;QjIn#+SJ-=dQ#EZlxp7`+CGn z%Ja?dU~*wB7Dgpl1~eBMRT-Luic&G^(25^XzdPZL6%Jvy1a?O3GG#_d+flX!H?&xM zMzVdnNd=HpX0$7)3xSWM8ELNw*zuX_F0sAN7?(rGr-mXA1)+56o94YELg{Uub(qha zu>e35mwcP+13JmEc`qnPd>cV+pdpl;+CPDV(SwfIczd+<Y+LSSj7x_{92={+9&^ zkmPB6V+ADCA>mJ4trP|wQiSC(8Sc7F^H63SGw5^to#_{F6v`*S3NikK3~q7H<+;wy zAeCJ~FD0X{>YaM@1}Fqn2AoPGCL)(CzB+9Sn>2-R9(nd&zVzEJZ=lg^{O}~YuFvY- zST9;0KjdIf7|Qjm1z#OifNBgSuxbg+vQyq*M=k1AN5rXKSxI+(`X?lOEY1w_vSObOm}MJs*HnPiz~pQ0U(2#P8xt7G()#-S3_j>y zvfS%8J)+jMUNY+Lskq3<zyPs&m{<5c0Q$EMq2@!E1FmHRjUZY1QOJpyeM zs|Bm@zodv&OeD>Y8{<+?hi`r&fK^AQr8xR~K#@adKf|klh`uO8`!4O%kL?EaMY*@o zID>vP#yNoQqR!TEOloOc=4l!vlP>mjFk6tEvZz};PIs>>sx(g=(b6m!LN6ft?CS(| z(h_WkX-S^zg=xb1p#cmLMi%z9bGZ)dM2paOz^`$aHFT( z*tbpCGwQaQeZVtw_eeC${^){B^fOzm-2)r7n}75~;X4I37?_5N4=~9@I_1_MKlDCZ zhP$1PyAto@aNR7N|8G4chvd;1daEU?(f=94izSWCryEhjMu&te=I#a5lT=Q9GDy@Y zZ_sa4IAT@dor-WE5SLfKS$SWO_PMcoBuz#r_%=TP0;4M_l-3~7y!K5iP?F$=_Yi9( zWUD3))X<5<*@XS+UAl7+clIHepu(*U!qJs{vHM9SK0B?z;X}I_zNI~$Vi|GdBizl~ zANi7lHQ7tdfW3Dqa(Y0c2<$}c|Bo9&%`r)^yR+Us-JrH0b+P5Q zCn2k0d!G_5{&NKpvz!O1^fBj(SDFQr6>ATqT*!~Ni=rROYq&P!5yz4$0c(2wcq{p)} zVmw3R^VbDSroYbxvAcFw=*8*Pnl`;+~a&)e+V|yCF0@VENs`M zuthnl8yuysl=8QOX&_GQjVsS3Z=)A!JIt{nO1a{~{&P4Z&oRdI_Xypuamt$WoPQ#N zEzYTV9IE!q8eg|noyNzTMaZQ5VV8#?Qm#~-9$-l*@?@f>+1-h2@db&athOXwH$*a| zhAYNaGM@RWp-5sl@U0$lgjg~O3cc1@q|wRI*oioqM($*7iKa)`GB@_MG|-5WP}qSDRLAF zgDb{4rtMiWJl5IEat%^SCp5JkhOz6Ajjvm})4EHW4Hyck;b|vp&wqH=+ie+u>EohQ zs`+O}FJF+*IC_36H1M3|X(1pm`tZL!gX5P7PW#4@*p1wqsa54@@}Z=2P0uUyya z6o>cd2;{E$qU|NafSv>d426x=3+DCAEJ)Ae$);aedW=RTjv~GsZ7o7K7rz(dzfOee zNk0xMz2Um6)}|QdwMmXjC#{{z#Goxy$h#fUek4?zH* z`p$x#7c^WB7vd8em5p2&Xp_Q8TeGt;kL@zjoU-#u#x%~C=a$`O;vBj*oR0~@`DiIp z@4}J@gVdCU{aAHpOAwD#Y&&V$g3q@R}8W5!KK|G3s$?S_RJ#SUe>wC6g7| z9L@4;)>g{euwR^YSb4!z#*Z+unRL#6u%4D!11FEdTfVCh^5@j#c4C zNeFfvE4ghCsL)T>3#^{Jz5BYusl7T2qbm%R;wQEzQyO{CJB0teB?ZWP$)^#DS{OzB zKI+ZvDKC7eaV{g#HwG`VV^Sd753)*UT(zf}7cbcGiIzK;tk`Zu^P5#tXBF5C<~1a1 zTFTX85L#swQ&SgN*E9rN@0-hE(N7q0qKv^ z4ZAs(@|iqUAsrw+#X6aUAS+Ww{P0WNPSup@J};1{r$fDfL|d6AQItUpUx7Xr5&Lw=+wl_J*^$vy6X+dFHWTA^LURqV<*C zwtxEWW+vIN$1RO2ck?XcNE3$hl@{i>Vo-AQa$`=0Jp^MAnm4gQS(drj>^iLA?gB(J0JHVb>zx&?oyb03>OEh)`20qLDmnR zyq4PaH|0`Hw*6WXd3z4pfiAF!ca)op3&VPCOB;saGTL@JE zBf?qWU)&BrewoMmu*_q#n)$PDQ=2}FL4kG|hv)W?w6GN79-;|mET=qCWlT7fs}-+P zGU?amQ!ivOE>XAkKtO|FxQ%T#`ssywDRn;KAEnQ(LY?np#I--Da<~1Ups3m<|EMJC zt!g)h?kysK^ZvJ39`60mRZc6XYas0c`K0H7O|pyV_nk-ncL2>fXi)A+9=W;ao2EU~ ztxLM@lpoHf!wx~%PJID0syCT&j=tCz%gW-U1Fe&K`_^zkH137oX$@jG-d)GB~9-F0eDE&Go zVLB<8JsnjPabdnPk$r=IRr@znMs1^XlUXQ&2Fho>8-b>RqdZJ1U$N`s+By~r{2}*rfr!GmHxcF$1WRr;KYcSVXv$#9p2i3} zVnXb%#zSq2jvVqmnjps2K9`55>ddF_u?R@zva52Rw2G5J~Y)64zjkay*1w^UcPF>SNqrnp@WNTwpLbi9K)0Exll zr8-Z>)LKQe30f;#Yva(XMKpjT)HXz3CG$Psc(7CO#zc|8IRI~jRp~nkoDVbQtW)F? zaGAR;u5gx)$37L?gE#1YbmL1B-f6j{{%7HC$#0n>ZTU0GNMLpOP-6)g>a5@=Ns`xMm?%Bdzmbx`H#?WS`RX_SJcN zj}$?aAL3(9RzeG6Ub3^h!2ZkjKAh-Cj{4K0;zw7+ zP(#n#>AbuS!sp#wK3|xMKyvXWY@_U74wC@pqEuIVCQ@wjo#5&ndE;OPEWC<-Z6=$M z8iPM3)diMFbPES(HYZle1Rcs?Or7QEu^$?n32P%pRHQZn+O8b&mZz?eFACSt+jq=jqCX;K=ZtR9){!hF%c`PPx!88S>3Dv}@}>lWviTmw z?*>BDK=|xIM-85T{pQrf%3*+cp6{9ZgA>!c(kbl@R16$hLT}a7cx9O1SCKbP+86Qd z=9z|URqmG)2_o#+A zi6_{Nu`83je9X}v4`Q=hD9|KG1IRk9C-M||_~>{*tEXK?XXUbALYawV*%?`N+-@(C z$>vN!DZEU)$t{mue8XHbA-`6F-RmCNATc^cJvJeuF20sRj<+s@EgNik3nPtJN(is^ zhZr_hZZmjg0%~X$Fr+e%P)TOxvniz;uOYPS^x2-f^0yz3c?l%^L#j$cGU&teK1O3E z@e8aw-ZJ)wd9g-r9*}!;6`4PO@!p6!0Hw(eHE&TPcj9{;gg+zE@`^Om97HNs=W`sp z4+uy#6xsJ&cnXr25md}Jp zVF$;yuX+MzxayR4%X>d49!vKid@@xfGfweUDXU|2=Oqp7hw__Qz5@2d686uBT10sA zc`5?sPN7Q)lTm6jfPJRGeCFqvLx!+O>Rfohy|+q~DT1;|K1Y6Uw0GlzY|4I2ua5vm zh#dO{;@pT9auPu{r;x2c{+{{KS^A=2-#LK1u~AO$(Ow8CiPNG?X>S5)d4>yHPFCU? zhfIc$x~!5Wz$FHHO9 zIC;f2wL{tKlesuMA7_)r#Vf^VBQ4hl?}cZYZnYYNz-GK|zpSdU?zc!gzsREwbp!A( z2`$5%$lvS;3R~Agb-y>qVJy}A{Bdgbx5exN(e&!TQmL3*23`wEqY-x5M-&pG#;bZZ zd-z@-*1LimawYEPn0JV3*v%S_+x6OQIE&yaUhCl`Nt0Dt*_MnEo;#p!Y> zd~@;!p}8-BSp>%~pQA_Zc<#7u=k}9{3O|?bU{Q+Q`!w66Z#P88B+0^Vkc#`&GvZz{ zthmg@f-_dv{)==Y0yc5k)>(9l!(Fu`aY)mtohE6XN~pL`delor^63NU$tt#_l06jx zU8!X0SBf3;yu{7#+H{c6#Fg9il@9BYs}1VC9|(u(KGk|(90(4r=GbA zXuO4d1CsE>%k%L2A|W^xHeE|JcCs2WnG zb!H}lL;QlQr@W17OhX;MWq*9VB`Q=RNah7hy>}(GI;2ms8oaj>Qn1=A@knSH3AgQK zG9#ySS6hIn5^&@2u6I*Eh%_MRGV_ZXOs0)r1*iuyUEmd@Vd3&)DuRygPXK+g{b0rg zFN{5l(T7}7XyVQkLlAV|YPf3s%$$!z(=7IjWbr{A;&XeXV5>`i^>iaE8Z8CQp+zNK zwL@j3?>11%N&6dY)^2^n+*%OT(cSKcnRmaHu=&i=6de!G5nTvM>KKNb_DoSRwvP_{ zyqQXhYB@m-&U(k}4PLj*^i?ovd;qKQ_;1;Xr|L=$UZ>{u+v{2;*nMC2h!V;BE1gz8 zug!u)Jm1M@;NzMgXLY+XNtVGyjwo>B&kKwiowg5UklZreqYiu+8X6u{UP@eD{7y=+ zqN9sdz06op9&jFFQ{<$7GyQOQD|FFtcl+wu2B3@rM8-$AQ<{urAlW6;O~ClO>M-@d zpB0L=iC{XDw=#_~&INY?E1jF(A5yfI2(ee2@->^5g#Lp8xLE+%a1@6Jitq&3=@L8w z3cOH}36c;^?v3^S0(s}9m==H6g8>TLk3(9chrr~z)KPom&^SFot@#DFxa|n4W8|;JNQ-XI`h^iGJZ8ZBtTAzGn%cIP1uk&Wdal#t zUb%yVjhN1H)yLs=RLW{r=jl=!yR`1+yBLa~&k0RgwkfJt)MOs2sj{Al;!i(mTAXAC z>KMeB?|1H(W@DWQ5el2ZCJco{Ng`!6{);B2SxrpCn3DckQ@Lsq_l;iVIJ2qg{?=-D zWlD&jcR_@{*KVbaV<*pZ&OgA&NH2=lb7%>8)nvB00t*dzb_;aIMF*cNz%yzZ*(Q=~+KQ5gQES;;JCVnTVLqg+K1 zc5_Mfoy0(DNt)Xo5_ zE^y6YZj?E#8->>!xg2nbeyM=PqYbLKlg`=ueYV4uooUf|yRZ|F)X}M?46V zrV^83Zr{n7ULP6Rp&4#}d=W^!!O!(0tX!HYg4hgSP1txf!0HKTMpdjFaJEuDoVXiq zPH|gkOSr~xx~Z*G`cV{3spzn5rugizjFL(p*Q4~pC8Kl|N}k^081rr`pj4*F$$z|Z z*}=8|5Kq<*I1DP8J&1>~wzu!u&rL>_djd(-qw_jg>RkDYg4h?`ydB)+!X2W|CIQ`! zE)aZZGit_K_Na%P)lC}%5PTOc_(q^^dR3)$awnc5ZAVQeB(J~T@|JhM>?`7584T`K z@Q-zbKSiYKM*n<_0iE0eHT_*41$_JZ;+HecldRnh{ z@Y6zR`?RUMJql@fbCUs+iG%VxVob6kPH6(?r94BMa9|7+>@Gk3Q!$LhSTll^=OEeC z1rK-JB$Ly6g6>J^ZU1G86z2vrWhMKNHD2oE-|`?G^`+%olIDOr#C)}tWQc#ttr2K8 zI5gZh*3URK?-?<-l?R}NL5BA622Pwh2_Q)B#eB))1cPlloXbUd1J-9) zsw(|vnl77eD&$`VsM5sX+uq={RZE{3t9bgjhVGyz_AFcjW+e8jVfNe#TbU+gbjVTR z1)_f-Ke`rZerNPh9yV}TwyVt$r(`&`6Xg+CD0=ddTE%Nfq^sSDf;riN+LLwKjSKIa zM$)uAawG1O?LP;l~0(9tco%2ENPD zOr7T!<$HP7%<5G&=zBR5LWWYNIx&N}E6MdLuMOXTxKfT9>NmLxIX}IQ`2p-(a@0O0 zKm+4bP_m&3G4kn?3uuVS5bG27jajCiYZSn!q(s!c>Drui9uh{n4hj5i#hPyOUIT?5^JC8yI6>X^*AusLtN z{x5+XgQ*ra{;_X7k#*OTVM5G6{|u_AZV%7agNa~SXlp~uLAd~H{75uI=P%s)C3=0a zN}Q^yBzojL9P66_KE3tm}(-}BpMr!PX5?Xe=G%i?J4r>uHl); zi5#H@i&s*;pxqdp>hXt-Jfku`z~yTE5fNM^KzTl8esYbY2EM``6ev0NtoJ#Xl3tYn+G_&awDbou z-n(_CyI)1%VcVcdL!DeVypeUz=23%kSpuM6VtL8amrQ5V%}eLi5{6C0(jUPIANySN zERmU5=Wvkfu?C{&wt{A2bAzrT$qprM!-okSz?u6Nz$mGe*|EPpj679qP>5qvPP+gs zMojr|{v;De0VpL#wa1mXHK1_CUY#e}iq>CU`)B|IC?;x~xqnP_L3$I8ROp3ejg>M* z9m#$ZidztZW^ElWlhV&cFgTn}EtkfW++qfWdm|t%rSl+utNhUSx3Y$D3ZoJ_KPD+j zQn@6cvJW7gQ4Qa(rUh2tN4@TvE@}WSZfk08aotaWmH9T|&pnkoL30QC!Y5-G(i+wI z%_+9W2TPp2fgP;9k{zr)yIE}PTC0YA)LG2A6G|UQ5_dG2t!+F6;;}m5lXZbCU4V|e zdK|m#z1BVCRQaD+dn}KNKgI*M)Bfw0g0~i?n9yq}%W>b#K^)-aT`qq{t*1_Q&MIC_ zQCKf{mAzie_%yzxWm6mbv3E57DVT$`u!~MzQjVNbiuw-#SxYS1WiBqI<1l*rllOEU z)t5VN^ZmS=F}UV?<*`s1L)(AMh$Y~@GO)9O`0eJrg=RN*7CZ zv^;&i@Yb<83O}cmj8=Jp1MYNMDDTW0g8i%FbbrzrQk_DBc=^$k)W$2Cy!Bw_BaVP| z(f01vSe0!jO}|chl8Q3H?%F3;dqJOIG`~Mnzw7M(6A{0={B0@j+n+Vwn1a`^U}(z6 zW0qZFS7{S}4g?o~VU7o9MQ7uG`|NHsVQ8I?G-ey9hx^0 zN{o6OiDP}KZiLXkLh_BC9R8P~dZD!pUi)VX|607i(eSfT>zobSU;5wo{P#8b`>4cg mt(ms@+5h|3af4f~FqCl?MZ}-i0#ykbn!NOLsS=4-0sjZ?fZLe> literal 0 HcmV?d00001 diff --git a/.gitbook/assets/image.png b/.gitbook/assets/image.png new file mode 100644 index 0000000000000000000000000000000000000000..00b003ffbe27e638ecc1b32ef9bd6b8531278f02 GIT binary patch literal 208367 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