@rattus-orm/pinia
TypeScript icon, indicating that this package has built-in type declarations

0.1.3 • Public • Published

Rattus ORM

bundle size npm version (core)

Rattus ORM – Pinia

Pinia data provider and helpers for Rattus ORM

Contents

  1. PiniaDataProvider;
  2. Composables: useRattusContext, useRepository.

Installation

Use your favorite package manager. For example, yarn:

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

Basic usage

import { createApp } from 'vue'
import { createPinia } from 'pinia'
import { installRattusORM } from "@rattus-orm/pinia";

const pinia = createPinia()

const app = createApp({ /* your root component */ })
app
  .use(pinia)
  .use(installRattusORM())
<template>
  <p>{{ user.email }}</p>
  <button type="button" @click="onClick">Update email</button>
</template>

<script lang="ts">
import { defineComponent } from 'vue'
import { Model, Uid, Str } from '@rattus-orm/core'
import { useRepository } from '@rattus-orm/pinia'

class User extends Model {
    public static entity = 'user'
    
    @Uid()
    public id: string
    
    @Str()
    public email: string
}

export default defineComponent({
  setup() {
    const { save, find } = useRepository(User)
    
    save({ id: '1', email: 'test@test.com' })
    
    const onClick = () => {
      save({ id: '1', email: 'updated@test.com' })
    }
    
    const user = find('1')
    
    return {
      user,
      onClick,
    }
  }
})
</script>

Documentation

For detailed docs please read documentation website.

Contributing

Contributions are welcome! Please read our Contributing Guide for details on our code of conduct, and the process for submitting pull requests.

Dependencies (0)

    Dev Dependencies (4)

    Package Sidebar

    Install

    npm i @rattus-orm/pinia

    Weekly Downloads

    0

    Version

    0.1.3

    License

    MIT

    Unpacked Size

    20.9 kB

    Total Files

    6

    Last publish

    Collaborators

    • lyohaplotinka