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

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

@rattus-orm/svelte – это отдельный пакет, не включающий в себя основную библиотеку. Чтобы начать пользоваться ORM в вашем приложении Svelte, нужно установить всё:

yarn add @rattus-orm/core @rattus-orm/svelte

Базовый пример использования

Самый простой путь настроить Rattus ORM с Svelte – использовать провайдер:

<script>
  import { RattusProvider } from '@rattus-orm/svelte'
</script>

<RattusProvider>
  <!-- your components -->
</RattusProvider>
export class User extends Model {
    public static entity = 'user'
    
    @UidField()
    public id: string
    
    @StringField()
    public email: string
}
<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>