UNPKG

transmutable

Version:

immutable objects that pretend to be mutable

30 lines (25 loc) 1.09 kB
'use strict'; // const WAS_WRITTEN = Symbol(); // const METHOD = Symbol(); // const MUTATION = 'MUTATION' // const WAS_ACCESSED = 'WAS_ACCESSED' // TODO all these should be symbols (now some of them are strings) // TODO there are too many of them! // WAS_WRITTEN, WAS_ACCESSED - probably they should be removed, but it has to be checked // DRAFT - doesn't seem to be used // SELECTOR TODO check var WAS_WRITTEN = Symbol(); var METHOD = Symbol(); var MUTATION = Symbol('transmutable/mutation'); var WAS_ACCESSED = Symbol(); var DRAFT = Symbol(); var SELECTOR = Symbol(); // TODO change into Symbol (but Transmutable currently does not clone symbols...) var AUTO = '@@auto'; //Symbol(); var symbols = {}; ['ENTITY', // inspired by Redux: https://redux.js.org/docs/recipes/reducers/NormalizingStateShape.html 'ENTITIES'].forEach(function (name) { symbols[name] = '@@transmutable/' + name.toLowerCase(); }); module.exports = Object.assign({ WAS_ACCESSED: WAS_ACCESSED, WAS_WRITTEN: WAS_WRITTEN, METHOD: METHOD, MUTATION: MUTATION, DRAFT: DRAFT, SELECTOR: SELECTOR, AUTO: AUTO }, symbols);