31 lines
		
	
	
		
			895 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			895 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| Object.defineProperty(exports, "__esModule", { value: true });
 | |
| const async_1 = require("../readers/async");
 | |
| class AsyncProvider {
 | |
|     constructor(_root, _settings) {
 | |
|         this._root = _root;
 | |
|         this._settings = _settings;
 | |
|         this._reader = new async_1.default(this._root, this._settings);
 | |
|         this._storage = [];
 | |
|     }
 | |
|     read(callback) {
 | |
|         this._reader.onError((error) => {
 | |
|             callFailureCallback(callback, error);
 | |
|         });
 | |
|         this._reader.onEntry((entry) => {
 | |
|             this._storage.push(entry);
 | |
|         });
 | |
|         this._reader.onEnd(() => {
 | |
|             callSuccessCallback(callback, this._storage);
 | |
|         });
 | |
|         this._reader.read();
 | |
|     }
 | |
| }
 | |
| exports.default = AsyncProvider;
 | |
| function callFailureCallback(callback, error) {
 | |
|     callback(error);
 | |
| }
 | |
| function callSuccessCallback(callback, entries) {
 | |
|     callback(null, entries);
 | |
| }
 | 
