@rtbjs/use-state
Version:
`@rtbjs/use-state` is a state management tool that can act as a local state and be easily turned into a global redux state. It is an innovative approach to state management that combines the advantages of both React's useState and Redux's state management
116 lines (115 loc) • 2.3 kB
TypeScript
export interface GenericResponse {
status: string;
message: string;
}
export interface IResetPasswordRequest {
resetToken: string;
password: string;
passwordConfirm: string;
}
export interface IUser {
name: string;
email: string;
role: string;
photo: string;
companies: ICompany[];
_id: string;
id: string;
created_at: string;
updated_at: string;
__v: number;
}
export interface ICompany {
name: string;
users: string[];
admins: string[];
owners: string[];
projects: Project[];
_id: string;
id: string;
created_at: string;
updated_at: string;
__v: number;
}
export interface ReduxHistoryItem {
name: string;
description: string;
isRoot: boolean;
isTrashed: boolean;
company: string;
project: string;
owners: string[];
isState: boolean;
value?: string;
items: ReduxHistoryItem[];
_id: string;
id: string;
created_at: string;
updated_at: string;
__v: number;
}
export interface IPostRequest {
title: string;
content: string;
image: string;
user: string;
}
export interface IPostResponse {
id: string;
title: string;
content: string;
image: string;
category: string;
user: IUser;
created_at: string;
updated_at: string;
}
export interface IItemResponse {
name: string;
}
export interface ICreateCompanyResponse {
id: string;
apiKey: string;
message: string;
}
export interface ICreateItemRequest {
name: string;
isState: boolean;
folderId: string;
projectId: string;
value?: string;
}
export interface IUpdateItemRequest {
item: {
name: string;
description?: string;
};
id: string;
}
export type Project = {
name: string;
description: string;
owners: string[];
plugins: Plugins[];
reduxHistoryRoot: string;
company: string;
_id: string;
id: string;
created_at: string;
updated_at: string;
__v: number;
};
export type CreateProjectRequest = {
name: string;
description?: string;
};
export type UpdateProjectRequest = {
project: {
name: string;
description: string;
};
id: string;
};
export declare enum Plugins {
'reduxHistory' = "reduxHistory"
}