add store class

This commit is contained in:
Sebastian McKenzie 2015-09-15 06:32:04 +01:00
parent dff098e77b
commit 4924a9adea
2 changed files with 27 additions and 1 deletions

View File

@ -0,0 +1,24 @@
export default class Store {
dynamicData = {};
data = {};
set(key: string, val): any {
return this.data[key] = val;
}
setDynamic(key: string, fn: Function) {
this.dynamicData[key] = fn;
}
get(key: string): any {
var data = this.data[key];
if (data) {
return data;
} else {
var dynamic = this.dynamicData[key];
if (dynamic) {
return this.set(key, dynamic());
}
}
}
}

View File

@ -14,6 +14,7 @@ import includes from "lodash/collection/includes";
import traverse from "babel-traverse";
import resolve from "try-resolve";
import Logger from "./logger";
import Store from "../../store";
import Plugin from "../plugin";
import parse from "../../helpers/parse";
import * as util from "../../util";
@ -29,7 +30,8 @@ var errorVisitor = {
}
}
};
export default class File {
export default class File extends Store {
constructor(opts = {}, pipeline) {
this.pipeline = pipeline;