Nasty Popsicle Machine

    typescript-fsa-factory
    TypeScript icon, indicating that this package has built-in type declarations

    0.0.12 • Public • Published

    typescript-fsa-factory

    Smart action factory. Based on axios and typescript-fsa.

    Why?

    The package implements the "smart thresher" approach and takes most of the routine work of writing template code.

    Usage

    import actionsFactory from 'typescript-fsa-factory';
    
    const API_ENDPOINTS = {
      FOO: '/foo',
      BAR: '/bar',
    } as const;
    
    type ApiEndpoints = typeof API_ENDPOINTS;
    
    const {
      // Exported from `typescript-fsa`.
      // See `typescript-fsa` documentation.
      actionCreator,
      actionCreatorAsync,
    
      // Smart action creator
      actionCreatorAsyncWithHandler,
    } = actionsFactory<ApiEndpoints>(API_ENDPOINTS);
    
    const actions = {
      foo: actionCreatorAsyncWithHandler<
        Actions.api.foo.started,
        Actions.api.foo.done,
        Actions.api.foo.failed
      >({
        url: API_ENDPOINTS.FOO,
        method: 'GET',
      }),
    
      bar: actionCreatorAsyncWithHandler<
        Actions.api.bar.started,
        Actions.api.bar.done,
        Actions.api.bar.failed
      >({
        url: API_ENDPOINTS.BAR,
        method: 'POST',
      }),
    };

    Keywords

    none

    Install

    npm i typescript-fsa-factory

    DownloadsWeekly Downloads

    46

    Version

    0.0.12

    License

    MIT

    Unpacked Size

    11.7 kB

    Total Files

    5

    Last publish

    Collaborators

    • neruchev