vscroll
Version:
Virtual scroll engine
24 lines • 876 B
JavaScript
import { AdapterContext } from './adapter/context';
import { reactiveConfigStorage } from './adapter/props';
import { wantedStorage } from './adapter/wanted';
export class DatasourceGeneric {
constructor(datasource, config) {
this.get = datasource.get;
this.settings = datasource.settings;
this.devSettings = datasource.devSettings;
const adapterContext = new AdapterContext(config || { mock: false });
this.adapter = adapterContext;
}
dispose() {
reactiveConfigStorage.delete(this.adapter.id);
wantedStorage.delete(this.adapter.id);
}
}
export const makeDatasource = (getConfig) => class extends DatasourceGeneric {
constructor(datasource) {
const config = typeof getConfig === 'function' ? getConfig() : void 0;
super(datasource, config);
}
};
export const Datasource = makeDatasource();
//# sourceMappingURL=datasource.js.map