@nimel/directorr
Version:
Like Redux but using decorators
80 lines (79 loc) • 6.02 kB
TypeScript
import { Action, SomeFunction, GetFunction, SetFunction, BabelDescriptor, Initializer, ActionType, SomeActionType, DirectorrStoreClass, Decorator, DirectorrStores, DirectorrStoreState, DirectorrStore, SomeObject, CheckObjectPattern, CheckPayload, ConvertPayloadFunction, DecoratorValueTypedWithType, PromiseCancelable, Executor, InitPayload } from './types';
export declare const EFFECTS_FIELD_NAME: unique symbol;
export declare const DISPATCH_ACTION_FIELD_NAME: unique symbol;
export declare const DISPATCH_EFFECTS_FIELD_NAME: unique symbol;
export declare const STORES_FIELD_NAME: unique symbol;
export declare const INJECTED_STORES_FIELD_NAME: unique symbol;
export declare const INJECTED_FROM_FIELD_NAME: unique symbol;
export declare const DEPENDENCY_FIELD_NAME: unique symbol;
export declare const TIMERS_FIELD_NAME: unique symbol;
export declare const CLEAR_TIMERS_EFFECT_FIELD_NAME: unique symbol;
export declare const SUBSCRIBE_FIELD_NAME: unique symbol;
export declare const DISPATHERS_FIELD_NAME: unique symbol;
export declare const DISPATHERS_EFFECT_FIELD_NAME: unique symbol;
export declare const EMPTY_FUNC: () => void;
export declare const RETURN_ARG_FUNC: (a: any) => any;
export declare const TRUPHY_FUNC: () => boolean;
export declare const EMPTY_STRING = "";
export declare const EMPTY_OBJECT: Readonly<{}>;
export declare const DIRECTORR_INIT_STORE_ACTION = "@@DIRECTORR.INIT_STORE";
export declare const DIRECTORR_DESTROY_STORE_ACTION = "@@DIRECTORR.DESTROY_STORE";
export declare const DIRECTORR_RELOAD_STORE_ACTION = "@@DIRECTORR.RELOAD_STORE";
export declare const DIRECTORR_ANY_ACTION_TYPE = "@@DIRECTORR.ANY_ACTION";
export declare const ACTION_TYPE_DIVIDER = ".";
export declare const isDev: boolean;
export declare const TYPEOF: {
STRING: string;
};
export declare const DESCRIPTOR: PropertyDescriptor;
export declare const PROPERTY_DESCRIPTOR: PropertyDescriptor;
export declare function createValueDescriptor(value?: any): PropertyDescriptor;
export declare function createPropertyDescriptor(get?: GetFunction, set?: SetFunction): PropertyDescriptor;
export declare const isArray: (arg: any) => arg is any[];
export declare const defineProperty: <T>(o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType<any>) => T, keys: {
(o: object): string[];
(o: {}): string[];
}, toString: () => string, hasOwnPropertyFromPrototype: (v: PropertyKey) => boolean;
export declare function createPromiseCancelable<T = any>(executor: Executor<T>): PromiseCancelable<T>;
export declare function isObject(obj: any): obj is SomeObject;
export declare function isString(str: any): str is string;
export declare function isFunction(func: any): func is Function;
export declare function isPromise(promise: any): promise is Promise<any>;
export declare function hasOwnProperty(target: any, prop: string | symbol): boolean;
export declare function pickSameStore(payload: InitPayload, store: any): boolean;
export declare function isLikeActionType(actionType?: any): actionType is ActionType;
export declare function isLikeAction(action?: any): action is Action;
export declare function getStoreName(classOrModel: any): string;
export declare function isDecoratorWithCtx(decorator?: any): decorator is DecoratorValueTypedWithType;
export declare function calcActionType(someActionType: SomeActionType): string;
export declare function createActionType(actionType: ActionType, divider: string): string;
export declare function batchFunction(f: SomeFunction): SomeFunction;
export declare function createAction<T = string, P = any>(type: T, payload?: P): Action<T, P>;
export declare function isChecker(sample?: any): sample is CheckPayload;
export declare function isConverter(func?: any): func is ConvertPayloadFunction;
export declare function dispatchEffects(this: any, action: Action): void;
export declare function isGeneratedMSTNodeAction(action: Action): any;
export declare function isLikePropertyDecorator(decorator?: BabelDescriptor): decorator is PropertyDescriptor;
export declare function createTypescriptDescriptor(descriptor: BabelDescriptor, property: string, initializer: SomeFunction, ctx: any): BabelDescriptor;
export declare function isBabelDecorator(decorator?: any): decorator is BabelDescriptor;
export declare function isTypescriptDecorator(decorator?: any): decorator is PropertyDescriptor;
export declare function createBabelDescriptor(descriptor: BabelDescriptor, property: string, initializer: Initializer, ctx: any): BabelDescriptor;
export declare function createDescriptor(d: BabelDescriptor | undefined, property: string, init: Initializer, ctx: any): BabelDescriptor;
export declare function composePropertyDecorators(decorators: Decorator[]): Decorator;
export declare function isStoreReady(store: DirectorrStoreClass): boolean;
export declare function checkStoresState(directorrStores: DirectorrStores, isStoreState: (store: any) => boolean, storesNames?: string[]): boolean;
export declare function isStoreError(store: DirectorrStoreClass): boolean;
export declare function findStoreStateInStores(directorrStores: DirectorrStores, isStoreState: (store: any) => boolean): any;
export declare function mergeStateToStore(storeState: DirectorrStoreState, directorrStore: DirectorrStore): void;
export declare function setStateToStore(storeState: DirectorrStoreState, directorrStore: DirectorrStore): void;
export declare function hydrateStoresToState(directorrStores: DirectorrStores): SomeObject;
export declare function compareObjectWithPattern(objectPattern: CheckObjectPattern, obj?: SomeObject): boolean;
export declare function isActionHave({ type, payload }: Action, someType: string, checkPattern: CheckObjectPattern): boolean;
export declare function clearTimersEffect(this: any, payload: InitPayload): void;
export declare function isPayloadChecked(payload: any, checker?: CheckPayload): boolean;
export declare function createActionTypes(type: string): {
type: string;
typeLoading: string;
typeSuccess: string;
typeError: string;
};