Detalhes do pacote

ember-cache-primitive-polyfill

ember-polyfills336.4kMIT1.0.1

The default blueprint for ember-cli addons.

ember-addon

readme (leia-me)

ember-cache-primitive-polyfill

Polyfills Ember's cache primitive API.

Provides a low-level primitive for memoizing the result of a function based on autotracking, allowing users to create their own reactive systems that can respond to changes in autotracked state.

Compatibility

  • Ember.js v3.13 or above (inert for Ember 3.22+)
  • ember-cli-babel v7.22.1 or above
  • Ember CLI v3.8 or above
  • Node.js v10 or above

Installation

ember install ember-cache-primitive-polyfill

Usage

import { tracked } from '@glimmer/tracking';
import { createCache, getValue } from '@glimmer/tracking/primitives/cache';

let computeCount = 0;

class Person {
  @tracked firstName = 'Jen';
  @tracked lastName = 'Weber';

  #fullName = createCache(() => {
    ++computeCount;
    return `${this.firstName} ${this.lastName}`;
  })

  get fullName() {
    return getValue(this.#fullName);
  }
}

let person = new Person();

console.log(person.fullName); // Jen Weber
console.log(count); // 1;
console.log(person.fullName); // Jen Weber
console.log(count); // 1;

person.firstName = 'Jennifer';

console.log(person.fullName); // Jennifer Weber
console.log(count); // 2;

Contributing

See the Contributing guide for details.

License

This project is licensed under the MIT License.

changelog (log de mudanças)

v1.0.1 (2020-09-18)

:rocket: Enhancement

  • #74 Add warning when used with @glimmer/tracking < 1.0.2. (@rwjblue)
  • #73 Issue a helpful error when used with an older ember-cli-babel. (@rwjblue)
  • #71 Make inert for Ember 3.22.0-alpha.1 and higher. (@rwjblue)

:house: Internal

Committers: 2

v1.0.0 (2020-05-15)

:rocket: Enhancement

:house: Internal

Committers: 2