Класс SourceDynamic

SourceDynamic на GitHub

Иногда необходимо соединить разные объекты источник данных и посетитель в одном объекте как общий источник данных, который можно изменять

Например, источником данных структуры Х может быть объект А, а посетителем, получающим новую версию структуры X может быть объект B. В таком случае можно объединить объекты A и B в один общий SourceType, что упростит манипуляции над структурой X

Для таких случаев подходит класс SourceDynamic объединяющий GuestType и SourceType

Пример 1.

import { SourceDynamic, Guest, Source } from "patron-oop";

let theValue = 1;
const sourceDynamic = new SourceDynamic(
    new Guest((value) => {
        theValue = value;
    }),
    new Source((guest) => {
        give(theValue, guest);
    })
);

sourceDynamic.give(42);
sourceDynamic.value((value) => {
    document.querySelector(
    ".source-dynamic-result"
    ).textContent = `Результат = ${value}`;
});

Результат 1.

Нет результата!