export function register(container, preferences) { // Configure the service var storage; if (isLocalStorageAvailable()) { storage = localStorage(preferences.namespace) } else { storage = MemoryStorage.create(); } storage = ExpirableStorage.create({ content: storage }); container.register( 'service:preferences', Service.create({ _storage: storage }), { instantiate: false } ); }
import ExpirableStorage, { expirable, isExpirable } from 'ember-preferences/storage/expirable'; let subject; let actualStorage; function oneSecondInTheFuture() { return (+new Date()) + 1000; } function oneSecondInThePast() { return (+new Date()) - 1000; } module('Unit | Storage | expirable decorator', { beforeEach() { actualStorage = MemoryStorage.create(); subject = ExpirableStorage.create({ content: actualStorage, expirations: { qux() { return oneSecondInTheFuture(); }, quxx() { return oneSecondInThePast(); } } }); } });