UNPKG

ionic-database-builder

Version:

Extended library from database-builder to assist in creating and maintaining SQL commands. Allowing integrate execute commands with SQLite ('@ionic-native/sqlite'), Web Sql, etc. Through the interface injection 'DatabaseCreatorContract' returning an imple

46 lines 6.14 kB
import { Injectable } from '@angular/core'; export class DatabaseMockService { create(config) { console.log('Database Fake! \\o/'); return new Promise((resolve, reject) => { resolve({ executeSql: (statement, params) => { this.executeFake(statement, params); return new Promise((executeSqlResolve, executeSqlReject) => { executeSqlResolve(this.resultFake()); }); }, transaction: (fn) => { return new Promise((executeSqlResolve, executeSqlReject) => { fn({ executeSql: (sql, values, success, error) => { this.executeFake(sql, values); success(void 0, this.resultFake()); }, }); executeSqlResolve(void 0); }); } }); }); } executeFake(sql, params) { console.log(`Fake - sql: ${sql}, params: ${JSON.stringify(params)}`); } resultFake() { return { rows: { length: 20, item: (index) => { return { index }; } } }; } } DatabaseMockService.decorators = [ { type: Injectable } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UtbW9jay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L1RyYWJhbGhvRmVybmFuZG8vUHJvamV0b3MvaW9uaWMtZGF0YWJhc2UtYnVpbGRlci9wcm9qZWN0cy9pb25pYy1kYXRhYmFzZS1idWlsZGVyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9kYXRhYmFzZS1tb2NrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLE1BQU0sQ0FBQyxNQUFzQjtRQUMzQixPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLE9BQU8sQ0FBaUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckQsT0FBTyxDQUFDO2dCQUNOLFVBQVUsRUFBRSxDQUFDLFNBQWlCLEVBQUUsTUFBVyxFQUEyQixFQUFFO29CQUN0RSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztvQkFDcEMsT0FBTyxJQUFJLE9BQU8sQ0FBaUIsQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFO3dCQUN6RSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztvQkFDdkMsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQztnQkFDRCxXQUFXLEVBQUUsQ0FBQyxFQUFrRCxFQUFnQixFQUFFO29CQUNoRixPQUFPLElBQUksT0FBTyxDQUFNLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRTt3QkFDOUQsRUFBRSxDQUFDOzRCQUNELFVBQVUsRUFBRSxDQUNWLEdBQVcsRUFDWCxNQUFXLEVBQ1gsT0FBc0UsRUFDdEUsS0FBd0QsRUFDbEQsRUFBRTtnQ0FDUixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztnQ0FDOUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDOzRCQUNyQyxDQUFDO3lCQUN5QixDQUFDLENBQUM7d0JBQzlCLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7b0JBQzVCLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUM7YUFDZ0IsQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFdBQVcsQ0FBQyxHQUFXLEVBQUUsTUFBVztRQUMxQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsR0FBRyxhQUFhLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTyxVQUFVO1FBQ2hCLE9BQU87WUFDTCxJQUFJLEVBQUU7Z0JBQ0osTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUU7b0JBQ3RCLE9BQU87d0JBQ0wsS0FBSztxQkFDTixDQUFDO2dCQUNKLENBQUM7YUFDRjtTQUNnQixDQUFDO0lBQ3RCLENBQUM7OztZQWhERixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRhYmFzZUNyZWF0b3JDb250cmFjdCwgRGF0YWJhc2VDb25maWcsIERhdGFiYXNlT2JqZWN0LCBEYXRhYmFzZVJlc3VsdCwgRGF0YWJhc2VCYXNlVHJhbnNhY3Rpb24gfSBmcm9tICdkYXRhYmFzZS1idWlsZGVyJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERhdGFiYXNlTW9ja1NlcnZpY2UgaW1wbGVtZW50cyBEYXRhYmFzZUNyZWF0b3JDb250cmFjdCB7XHJcblxyXG4gIGNyZWF0ZShjb25maWc6IERhdGFiYXNlQ29uZmlnKTogUHJvbWlzZTxEYXRhYmFzZU9iamVjdD4ge1xyXG4gICAgY29uc29sZS5sb2coJ0RhdGFiYXNlIEZha2UhIFxcXFxvLycpO1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPERhdGFiYXNlT2JqZWN0PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHJlc29sdmUoe1xyXG4gICAgICAgIGV4ZWN1dGVTcWw6IChzdGF0ZW1lbnQ6IHN0cmluZywgcGFyYW1zOiBhbnkpOiBQcm9taXNlPERhdGFiYXNlUmVzdWx0PiA9PiB7XHJcbiAgICAgICAgICB0aGlzLmV4ZWN1dGVGYWtlKHN0YXRlbWVudCwgcGFyYW1zKTtcclxuICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxEYXRhYmFzZVJlc3VsdD4oKGV4ZWN1dGVTcWxSZXNvbHZlLCBleGVjdXRlU3FsUmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgIGV4ZWN1dGVTcWxSZXNvbHZlKHRoaXMucmVzdWx0RmFrZSgpKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdHJhbnNhY3Rpb246IChmbjogKHRyYW5zYWN0aW9uOiBEYXRhYmFzZUJhc2VUcmFuc2FjdGlvbikgPT4gdm9pZCk6IFByb21pc2U8YW55PiA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PigoZXhlY3V0ZVNxbFJlc29sdmUsIGV4ZWN1dGVTcWxSZWplY3QpID0+IHtcclxuICAgICAgICAgICAgZm4oe1xyXG4gICAgICAgICAgICAgIGV4ZWN1dGVTcWw6IChcclxuICAgICAgICAgICAgICAgIHNxbDogc3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgdmFsdWVzOiBhbnksXHJcbiAgICAgICAgICAgICAgICBzdWNjZXNzOiAodHg6IERhdGFiYXNlQmFzZVRyYW5zYWN0aW9uLCByZXN1bHQ6IERhdGFiYXNlUmVzdWx0KSA9PiB2b2lkLFxyXG4gICAgICAgICAgICAgICAgZXJyb3I6ICh0eDogRGF0YWJhc2VCYXNlVHJhbnNhY3Rpb24sIGVycm9yOiBhbnkpID0+IHZvaWRcclxuICAgICAgICAgICAgICApOiB2b2lkID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZXhlY3V0ZUZha2Uoc3FsLCB2YWx1ZXMpO1xyXG4gICAgICAgICAgICAgICAgc3VjY2Vzcyh2b2lkIDAsIHRoaXMucmVzdWx0RmFrZSgpKTtcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9IGFzIERhdGFiYXNlQmFzZVRyYW5zYWN0aW9uKTtcclxuICAgICAgICAgICAgZXhlY3V0ZVNxbFJlc29sdmUodm9pZCAwKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBhcyBEYXRhYmFzZU9iamVjdCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXhlY3V0ZUZha2Uoc3FsOiBzdHJpbmcsIHBhcmFtczogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhgRmFrZSAtIHNxbDogJHtzcWx9LCBwYXJhbXM6ICR7SlNPTi5zdHJpbmdpZnkocGFyYW1zKX1gKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzdWx0RmFrZSgpOiBEYXRhYmFzZVJlc3VsdCB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICByb3dzOiB7XHJcbiAgICAgICAgbGVuZ3RoOiAyMCxcclxuICAgICAgICBpdGVtOiAoaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaW5kZXhcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGFzIERhdGFiYXNlUmVzdWx0O1xyXG4gIH1cclxuXHJcbn1cclxuIl19