Перейти к основному содержимому

Установка и использование

@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>