UNPKG

solutaaliquid

Version:

common utils for javascript. Utils to get the global scope (browser, webworker & co.). Customizable string escaper. Utilitize for objects. Extension at base javascript api (usefull extention like String.hashcode()).

32 lines (28 loc) 818 B
const PRIVATE_PROPERTIES = new WeakMap(); export const privateStore = (obj) => { if(PRIVATE_PROPERTIES.has(obj)) return PRIVATE_PROPERTIES.get(obj); const data = {}; PRIVATE_PROPERTIES.set(obj, data); return data; }; export const privateProperty = function(obj, name, value) { const data = privateStore(obj); if(arguments.length === 1) return data; else if(arguments.length === 2) return data[name]; else if(arguments.length === 3) data[name] = value; else throw new Error("Not allowed size of arguments!"); }; export const privatePropertyAccessor = (varname) => { return function(self, value){ if(arguments.length == 2) privateProperty(self, varname, value); else return privateProperty(self, varname); }; }; export default {privateProperty, privatePropertyAccessor, privateStore};