A collection of utility libraries used by Dialog projects.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
esdoc
lib
src
.babelrc
.editorconfig
.eslintrc.json
.flowconfig
.gitignore
README.md
circle.yml
esdoc.json
package-lock.json
package.json

README.md

Dialog JavaScript utils

A collection of utility libraries used by Dialog projects.

Installation

npm install --save @dlghq/dialog-utils

Usage

import { isElectron } from '@dlghq/dialog-utils';

console.log('isElectron: ', isElectron());

Redux

import { Field } from '@dlghq/dialog-utils';

Field.create({ value: '' })
  .map((value) => 'foo')
  .flatMap((value, error, pending) => new Field(value, error, true))
  .render((value, error, pending) => <FieldView value={value} pending={pending} />);

function addContact(uid: number) {
  return ({ dispatch, messenger }) => {
    Field.dispatch({
      dispatch,
      type: '@@dialog/USER_CONTACT_ADD',
      context: uid,
      action: messenger.contacts.add(uid),
      initialState: null
    });
  };
}

dispatch(addContact(123));
// { type: '@@dialog/USER_CONTACT_ADD', payload: { value: null, error: null, pending: true }, meta: { context: 123 } }
// then
// { type: '@@dialog/USER_CONTACT_ADD', payload: { value: <response>, error: null, pending: false }, meta: { context: 123 } }
// or
// { type: '@@dialog/USER_CONTACT_ADD', payload: { value: null, error: <error>, pending: false }, meta: { context: 123 } }

License

Apache-2.0