12
constructor(dbName, version='1.0', displayName = '', estimateSize=20000)
14
this.db = openDatabase(dbName, version, displayName, estimateSize)
21
createTable(tableName, columns) {
23
let columnsString = '';
25
let countColumns = columns.length;
27
let countIteration = 1;
29
for (let key in columns) {
30
if(columns[key].name != '' && columns[key].type != '') {
32
columnsString += columns[key].name + ' ' + columns[key].type;
34
if(columns[key].unique) {
35
columnsString += ' UNIQUE,';
37
else if(countIteration !== countColumns) {
38
columnsString += ', ';
44
console.error('no required parameters');
48
let columnsToRequest = '(' + columnsString + ')';
50
this.db.transaction((tx) => {
51
tx.executeSql("CREATE TABLE " + tableName + columnsToRequest, [], null, null)
60
insertRecordToTable(tableName, columns, values) {
62
let valuesCount = values.length;
64
if(columns.length !== valuesCount || columns.length < 1) {
65
throw 'Error, invalid parameters columns or values';
68
let valuesString = '';
70
for (let i=1; i<=valuesCount; i++) {
73
if(i != valuesCount) {
78
let query = 'REPLACE INTO '+tableName+' ('+columns.join(', ')+') values('+valuesString+')';
80
this.db.transaction((tx) => {
81
tx.executeSql(query, values, null, null);
88
module.exports = WebSql;