@airstudio/state

## Examples and Usage ```typescript import {Opera, Selectors, store } from '@airstudio/state'; ```

Usage no npm install needed!

<script type="module">
  import airstudioState from 'https://cdn.skypack.dev/@airstudio/state';
</script>

README

Airstudio State

Examples and Usage

import {Opera, Selectors, store } from '@airstudio/state';

Config

Operations

Operations.Config.fetch();

Selectors

Selectors.Config.get(key?: String)(): Any
Selectors.Config.state(): {
  errorMessage?: String;
  isProcessing: Boolean;
}

Entities

Operations

Operations.Entities.fetch(path:string, searchQuery?: ISearchQuery)
Operations.Entities.save(objectType:string, item:Object, itemId?:string)

Selectors

Selectors.Entities.getItems(path: String)(): Object[]
Selectors.Entities.getItemById(path: String, itemId: String)(): Object | undefined
Selectors.Entities.state(path: String)(): {
  errorMessage?: String;
  isProcessing: Boolean;
}

Me

Operations

Operations.Me.update(attributes:Object)

Selectors

Selectors.Me.get(): Object | undefined;
Selectors.Me.state(): {
  errorMessage?: String;
  isProcessing: Boolean;
}

Session

Operations

Operations.Session.login(email:string, password:string)
Operations.Session.signup(email:string, password:string)
Operations.Session.signupConfirmation(userId:string, code:string)
Operations.Session.logout()

Selectors

Selectors.Session.state(): {
  errorMessage?: String;
  isAuthenticated: Boolean;
  isProcessing: Boolean
}

Workspaces

Operations

Operations.Workspaces.create(name: String)
Operations.Workspaces.update(workspaceId, attributes: Object)
Operations.Workspaces.switchActive(workspaceId: String)

Selectors

Selectors.Workspaces.getAll(): Object[]
Selectors.Workspaces.getActiveWorkspace(): Object | undefined
Selectors.Workspaces.state(): {
  errorMessage?: String;
  isProcessing: Boolean;
}