0.1.6 • Published 7 months ago

dignals-model v0.1.6

Weekly downloads
-
License
-
Repository
-
Last release
7 months ago

Dignals-model

Dignals-model - это библиотека для создания реактивных моделей данных. Она предоставляет удобные функции для объявления и использования реактивных моделей данных в реактивной системе.

Установка

Для установки dignals-model выполните следующие команды:

npm install dignals-model

Использование

import { effect } from "dignals";
import { createReactiveModel } from "dignals-model";

class UserModel {
    name = "Jane";
    surname = "Doe";

    changeName(name: string, surname: string) {
        this.name = name;
        this.surname = surname;
    }

    get nameLength() {
        return this.name.length;
    }
    get surnameLength() {
        return this.surname.length;
    }
    get getNameSizeInfo() {
        return `In name "${this.name}" ${this.nameLength} chars.`;
    }
    get getSurnameSizeInfo() {
        return `In surname "${this.surname}" ${this.surnameLength} chars.`;
    }
}

const user = createReactiveModelFromClass(UserModel);

effect(() => {
  console.log("Name:", user.model$.name);
  console.log("Surname:", user.model$.surname);
  console.log("Name Length:", user.model$.nameLength);
  console.log("Surname Length:", user.model$.surnameLength);
  console.log("Name Size Info:", user.model$.getNameSizeInfo);
  console.log("Surname Size Info:", user.model$.getSurnameSizeInfo);
});

user.changeName("John", "Doe");

API

createReactiveModelFromClass

Функция createReactiveModelFromClass используется для создания реактивной модели данных. Она принимает обычный js класс.

const user = createReactiveModelFromClass(UserModel);

При передаче класса в эту функцию:

  • все его поля автоматически оборачиваются в sig;
  • обычные методы оборачиваются в batch;
  • геттеры оборачиваются в memo.

Эти механизмы обеспечивают реактивность модели без необходимости использования декораторов.

Эффекты и реакция на изменения

Для реагирования на изменения в модели данных можно использовать функцию effect из библиотеки dignals. Внутри эффекта можно отслеживать реактивные свойства и методы модели и выполнять нужные действия при их изменении.

import { effect } from "dignals";

effect(() => {
  // Реагировать на изменения в модели данных
});

Заключение

Dignals-model - это удобная библиотека для создания реактивных моделей данных. Она позволяет вам легко объявлять и использовать реактивные свойства и действия, отслеживать изменения в модели данных и реагировать на них. Используйте dignals-model, чтобы упростить управление состоянием в вашем приложении и повысить его отзывчивость и производительность.

0.1.0

8 months ago

0.1.2

8 months ago

0.1.1

8 months ago

0.1.4

8 months ago

0.1.3

8 months ago

0.1.6

7 months ago

0.1.5

8 months ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago