add store class
This commit is contained in:
parent
dff098e77b
commit
4924a9adea
24
packages/babel-core/src/store.js
Normal file
24
packages/babel-core/src/store.js
Normal 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());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user