@dlghq/dialog-utils
TypeScript icon, indicating that this package has built-in type declarations

0.10.9 • Public • Published

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

Readme

Keywords

none

Package Sidebar

Install

npm i @dlghq/dialog-utils

Weekly Downloads

38

Version

0.10.9

License

Apache-2.0

Unpacked Size

32.9 kB

Total Files

32

Last publish

Collaborators

  • timurkhabibullin