UNPKG

2.6 kBSource Map (JSON)View Raw
1{"version":3,"file":"store.js","sourceRoot":"","sources":["store.ts"],"names":[],"mappings":";;AAAA,qCAA6B;AAI7B,wCAA+C;AAE/C,MAAqB,KAAK;IAIxB,YAAa,IAAqB;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAM,CAAC,CAAA;QAE1B,MAAM,KAAK,GAAqB,wBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC5E,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;YACnC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;SAC5B,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAA;IAClC,CAAC;IAED,cAAc,CAAE,IAAY;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,GAAG,kCAAkC,CAAC,CAAA;SACjE;QAED,OAAO;YACL,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE;gBACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAA;YACnC,CAAC;YAED,GAAG,EAAE,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;gBAClC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,KAAK,CAAC,CAAA;YAC1C,CAAC;YAED,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE;gBACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAA;YACnC,CAAC;SACF,CAAA;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAE,GAAW;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,GAAG,CAAE,GAAW,EAAE,KAAa;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,GAAG,CAAE,GAAW;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;CACF;AA5CD,wBA4CC","sourcesContent":["import Config from './config'\nimport reduct = require('reduct')\nimport { StoreConstructor, StoreInstance } from '../types/store'\n\nimport { loadModuleOfType } from '../lib/utils'\n\nexport default class Store {\n protected config: Config\n protected store: StoreInstance\n\n constructor (deps: reduct.Injector) {\n this.config = deps(Config)\n\n const Store: StoreConstructor = loadModuleOfType('store', this.config.store)\n this.store = new Store(Object.assign({\n path: this.config.storePath\n }, this.config.storeConfig), {})\n }\n\n getPluginStore (name: string) {\n if (!name.match(/^[A-Za-z0-9_\\-~.]+$/)) {\n throw new Error('\"' + name + '\" includes forbidden characters.')\n }\n\n return {\n get: (key: string) => {\n return this.store.get(name + key)\n },\n\n put: (key: string, value: string) => {\n return this.store.put(name + key, value)\n },\n\n del: (key: string) => {\n return this.store.del(name + key)\n }\n }\n }\n\n async get (key: string) {\n return this.store.get(key)\n }\n\n async put (key: string, value: string) {\n return this.store.put(key, value)\n }\n\n async del (key: string) {\n return this.store.del(key)\n }\n}\n"]}
\No newline at end of file