1
0
Fork 0

Added store

This commit is contained in:
Joost De Cock 2018-08-05 16:32:38 +02:00
parent fd80450d77
commit 718c9acda5
3 changed files with 24 additions and 3 deletions

View file

@ -7,6 +7,7 @@ import snippet from "./snippet";
import svg from "./svg";
import hooks from "./hooks";
import pack from "bin-pack";
import store from "./store";
export default function pattern(config = false) {
// width and height properties
@ -20,7 +21,7 @@ export default function pattern(config = false) {
// Data containers
this.settings = {};
this.options = {};
this.store = {};
this.store = new store();
this.parts = {};
// Merge config with defaults
@ -49,7 +50,7 @@ export default function pattern(config = false) {
config: this.config,
settings: this.settings,
options: this.options,
values: this.values
store: this.store
};
this.part.prototype.context = this.context;
this.part.prototype.macros = {};

20
src/store.js Normal file
View file

@ -0,0 +1,20 @@
function store() {
this.data = new Map();
}
/** Sets a value under index key */
store.prototype.set = function(key, value) {
this.data.set(key, value);
};
/** Sets a value under index key */
store.prototype.setIfUnset = function(key, value) {
if (!this.data.has(key)) this.data.set(key, value);
};
/** Gets a value under index key */
store.prototype.get = function(key) {
return this.data.get(key);
};
export default store;

View file

@ -73,7 +73,7 @@ export function shorthand(part) {
sa: part.context.settings.sa || 0,
measurements: part.context.settings.measurements || {},
options: part.context.options || {},
values: part.context.values || {},
store: part.context.store,
points: part.points || {},
paths: part.paths || {},
snippets: part.snippets || {},