JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 4338
  • Score
    100M100P100Q143391F
  • License MIT

React / Redux / TypeScript Utils

Package Exports

  • react-redux-typescript

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-redux-typescript) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

React / Redux / TypeScript Utils

Redux helpers for Type-safety (action types, action creators, reducers)

  • Semantic Versioning
  • No external dependencies
  • 100% test coverage
  • output es5 and es6 bundles

Table of Contents (v3.0)

Redux Utils

Mapped Types

Types Utils

Docs v2.X


Redux Utils


Mapped Types

Diff

// TestDiff expects: ('a' | 'b')
type TestDiff = Diff<'a' | 'b' | 'c', 'c' | 'd'>;

Omit

// TestOmit expects: { b: number, c: boolean }
type TestOmit = Omit<{ a: string, b: number, c: boolean }, 'a'>;

Overwrite

// TestOverwrite expects: { b: number, c: boolean } & { a: number }
type TestOverwrite = Overwrite<{ a: string, b: number, c: boolean }, { a: number }>;

Types Utils

getReturnOfExpression

Get return value of an "expression" with inferred return type
alias: returntypeof
https://github.com/Microsoft/TypeScript/issues/6606

// this polyfill exist because TypeScript does not support getting type of expression 
// (tracking issue: https://github.com/Microsoft/TypeScript/issues/6606)
export function getReturnOfExpression<RT>(
  expression: (...params: any[]) => RT,
): RT {
  return null as any as RT;
}

// Example:
import { getReturnOfExpression } from 'react-redux-typescript';

const increment = () => ({ type: 'INCREMENT' as 'INCREMENT' });

const returnOfIncrement = getReturnOfExpression(increment);
type INCREMENT = typeof returnOfIncrement; // { type: "INCREMENT"; }

MIT License

Copyright (c) 2016 Piotr Witek piotrek.witek@gmail.com (http://piotrwitek.github.io)