origami-zen
Version:
Collection of reusable web components. Built for Origami CMS.
59 lines (58 loc) • 1.62 kB
TypeScript
/// <reference types="seamless-immutable" />
import { AnyAction } from 'redux';
import immutable, { ImmutableArray, ImmutableObject } from 'seamless-immutable';
export declare type ArrAny = ImmutableArray<any>;
export declare type ImmutableResourceState = ImmutableObject<ResourceState>;
export interface ResourceState {
loadedInitial: boolean;
_loading: {
all: boolean;
single: boolean;
post: boolean;
edit: boolean;
};
_errors: {
get: boolean | string;
post: boolean | string;
edit: boolean | string;
delete: boolean | string;
};
}
export interface State extends ImmutableResourceState {
[resource: string]: any;
}
export interface Resource {
[key: string]: any;
}
export declare type ResourceStateMixin<S> = S & ResourceState;
declare const _default: (resource: string, func?: Function, key?: string) => (state: immutable.ImmutableObject<{
[x: string]: boolean | immutable.ImmutableArray<any> | {
all: boolean;
single: boolean;
post: boolean;
edit: boolean;
get?: undefined;
delete?: undefined;
} | {
get: boolean;
post: boolean;
edit: boolean;
delete: boolean;
all?: undefined;
single?: undefined;
};
loadedInitial: boolean;
_loading: {
all: boolean;
single: boolean;
post: boolean;
edit: boolean;
};
_errors: {
get: boolean;
post: boolean;
edit: boolean;
delete: boolean;
};
}>, action: AnyAction) => any;
export default _default;