UNPKG

metawrite

Version:

Appwrite SDK with ready to go components for Svelte / SvelteKit

128 lines (127 loc) 3.74 kB
/** @typedef {typeof __propDef.props} UserProps */ /** @typedef {typeof __propDef.events} UserEvents */ /** @typedef {typeof __propDef.slots} UserSlots */ /** * ### `<User />` * * #### Slots * * - **loading** * - **error** * * #### Directives * * **let:actions** * | Name | Description | * | --- | --- | * | `reload()` | Reload. | * | `logout()` | Logout current session. | * | `logoutAll()` | Logout from all session. | * | `logoutFrom(session)` | Logout from specific session. `session` is `@type - {string}` | * * - **let:user** `object` * - **let:error** * * #### Events * * - **on:success** On user fetch success. * - **on:failure** On user fetch failure. * - **on:successLogout** On `logout` success. * - **on:failureLogout** On `logout` failure. * - **on:successLogoutFrom** On `logoutFrom` success. * - **on:failureLogoutFrom** On `logoutFrom` failure. * - **on:successLogoutAll** On `logoutAll` success. * - **on:failureLogoutAll** On `logoutAll` failure. * * #### Example * * ```svelte * <script> * import { User } from "metawrite" * </script> * * <User let:actions let:user> * <button on:click={actions.reload()}>Reload user data</button> * <button on:click={actions.get()}>Get logged in user data</button> * <button on:click={actions.logout()}>Log out from current session</button> * <button on:click={actions.logoutFrom("sessionId")}>Log out from specific session</button> * <button on:click={actions.logoutAll()}>Log out from all sessions</button> * * <!-- If logged in --\> * <p>Hi, {user.name}</p> * </User> * ``` */ export default class User extends SvelteComponentTyped<{}, { success: CustomEvent<any>; failure: CustomEvent<any>; successLogout: CustomEvent<any>; failureLogout: CustomEvent<any>; successLogoutFrom: CustomEvent<any>; failureLogoutFrom: CustomEvent<any>; successLogoutAll: CustomEvent<any>; failureLogoutAll: CustomEvent<any>; } & { [evt: string]: CustomEvent<any>; }, { default: { user: any; actions: { reload: () => Promise<any>; get: () => Promise<import("appwrite").Models.User<import("appwrite").Models.Preferences>>; logout: () => Promise<void>; logoutFrom: (session: string) => Promise<void>; logoutAll: () => Promise<void>; }; }; loading: {}; error: { error: any; }; }> { } export type AppwriteUser = { $id: string; email: string; emailVerification: boolean; name: string; registration: number; status: number; prefs: object; }; export type UserProps = typeof __propDef.props; export type UserEvents = typeof __propDef.events; export type UserSlots = typeof __propDef.slots; import { SvelteComponentTyped } from "svelte"; declare const __propDef: { props: {}; events: { success: CustomEvent<any>; failure: CustomEvent<any>; successLogout: CustomEvent<any>; failureLogout: CustomEvent<any>; successLogoutFrom: CustomEvent<any>; failureLogoutFrom: CustomEvent<any>; successLogoutAll: CustomEvent<any>; failureLogoutAll: CustomEvent<any>; } & { [evt: string]: CustomEvent<any>; }; slots: { default: { user: any; actions: { reload: () => Promise<any>; get: () => Promise<import("appwrite").Models.User<import("appwrite").Models.Preferences>>; logout: () => Promise<void>; logoutFrom: (session: string) => Promise<void>; logoutAll: () => Promise<void>; }; }; loading: {}; error: { error: any; }; }; }; export {};