Установка и использование
@rattus-orm/svelte
– это отдельный пакет, не включающий в себя основную библиотеку. Чтобы начать
пользоваться ORM в вашем приложении Svelte, нужно установить всё:
yarn add @rattus-orm/core @rattus-orm/svelte
Базовый пример использования
Самый простой путь настроить Rattus ORM с Svelte – использовать провайдер:
App.svelte
<script>
import { RattusProvider } from '@rattus-orm/svelte'
</script>
<RattusProvider>
<!-- your components -->
</RattusProvider>
models/User.ts
export class User extends Model {
public static entity = 'user'
@UidField()
public id: string
@StringField()
public email: string
}
User.svelte
<script>
import { useRepository } from "@rattus-orm/svelte";
import { User } from "./models/User";
const userRepo = useRepository(User)
const user = userRepo.find('1')
setTimeout(() => {
userRepo.save({ id: '1', email: 'test@test.com' })
}, 1000)
</script>
<div>
{#if $user}
id: {$user.id}<br/>
email: {$user.email}
{/if}
</div>
Использование плагинов
Если вы хотите использовать плагины с базой данных, вы можете передать массив плагинов в пропс провайдера. К примеру, плагин для валидации с Zod:
<script>
import { RattusProvider } from '@rattus-orm/svelte'
import { RattusZodValidationPlugin } from '@rattus-orm/plugin-zod-validate'
</script>
<RattusProvider plugins={[RattusZodValidationPlugin()]}>
<!-- your components -->
</RattusProvider>