// COMPILER BLOCK --> import { DEBUG, SUPPORT_ASYNC, SUPPORT_CACHE } from "./config"; // <-- COMPILER BLOCK import { searchCache } from "./cache"; /** * @constructor * @abstract */ function Engine(index){ if(DEBUG){ //if(this.constructor === Engine){ if(this instanceof Engine){ throw new Error("Can't instantiate abstract class!"); } } if(SUPPORT_CACHE){ index.prototype.searchCache = searchCache; } if(SUPPORT_ASYNC){ index.prototype.addAsync = addAsync; index.prototype.appendAsync = appendAsync; index.prototype.searchAsync = searchAsync; index.prototype.updateAsync = updateAsync; index.prototype.removeAsync = removeAsync; } } if(SUPPORT_CACHE){ Engine.prototype.searchCache = searchCache; } if(SUPPORT_ASYNC){ Engine.prototype.addAsync = addAsync; Engine.prototype.appendAsync = appendAsync; Engine.prototype.searchAsync = searchAsync; Engine.prototype.updateAsync = updateAsync; Engine.prototype.removeAsync = removeAsync; }