1.0.2 • Published 7 months ago

dresscode-quantum v1.0.2

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

Quantum.Quant

Экземпляр класса Quantum.Quant это объект с изменяющимся значением. По сути, это просто объект, хранящий в себе некое значение и имеющий методы getValue() и setValue(value). Но есть пара важных свойств, делающих кванты удобными и полезными.

Метод when(fn, ctx) принимает функцию трансформации значения исходного кванта и возвращает новый квант, который будет меняться синхронно с исходным.

var quant1 = new Quantum.Quant(5);
var quant2 = quant1.when(funciton(value) {
    return value * value;
});
console.log(quant2.getValue()); // 25
quant1.setValue(6);
console.log(quant2.getValue()); // 36

Если значением кванта установить другой квант, то значением первого будет считаться значение вложенного.

var quant1 = new Quantum.Quant(5);
var quant2 = new Quantum.Quant(quant1);
console.log(quant2.getValue()); // 5

Всё это позволяет строить синхронно обновляемые цепочки квантов.

Ещё методы кванта

  • quant.whenNotNull(fn, ctx) вызывает fn только если значение исходного кванта не null и не undefined.
  • quant.whenNull(fn, ctx) вызывает fn только если значение исходного кванта null или undefined, остальные значения передаются в новый квант без изменений.
  • quant.spread(fn, ctx) деструктурирует значение-массив кванта в аргументы функции fn.
  • quant.touch() принудительно вызывает процедуру обновления значения. Пригодится, если в кванте лежит массив или объект, внутренности которого изменились, но ссылка на него осталась та же.
  • quant.ifNotNull(fn, ctx) вызывает fn и передаёт в него значение кванта, если это значение не null и не undefined.

Полезные функции

  • Quantum.combine(array) принимает массив квантов и возвращает квант, зависящий от всех квантов из массива.
  • Quantum.debounce(quant, delay) возвращает квант, в котором дебаунсится значение исходного кванта.
  • Quantum.DOM.getDocumentScroll() возвращает квант, содержащий позицию скрола документа.
  • Quantum.DOM.getViewportSize() возвращает квант, содержащий размер видимой части страницы.
1.0.2

7 months ago

1.0.1

7 months ago

1.0.0

8 months ago

0.0.13

2 years ago

0.0.14

2 years ago

0.0.15

2 years ago

0.0.12

4 years ago

0.0.11

4 years ago

0.0.10

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago