@@ -25,7 +25,7 @@ By default, *sql.js* uses [wasm](https://developer.mozilla.org/en-US/docs/WebAss
2525``` javascript
2626const initSqlJs = require (' sql.js' );
2727// or if you are in a browser:
28- // var initSqlJs = window.initSqlJs;
28+ // const initSqlJs = window.initSqlJs;
2929
3030const SQL = await initSqlJs ({
3131 // Required to load the wasm binary asynchronously. Of course, you can host it wherever you want
@@ -34,15 +34,15 @@ const SQL = await initSqlJs({
3434});
3535
3636// Create a database
37- var db = new SQL.Database ();
37+ const db = new SQL.Database ();
3838// NOTE: You can also use new SQL.Database(data) where
3939// data is an Uint8Array representing an SQLite database file
4040
4141// Prepare an sql statement
42- var stmt = db .prepare (" SELECT * FROM hello WHERE a=:aval AND b=:bval" );
42+ const stmt = db .prepare (" SELECT * FROM hello WHERE a=:aval AND b=:bval" );
4343
4444// Bind values to the parameters and fetch the results of the query
45- var result = stmt .getAsObject ({' :aval' : 1 , ' :bval' : ' world' });
45+ const result = stmt .getAsObject ({' :aval' : 1 , ' :bval' : ' world' });
4646console .log (result); // Will print {a:1, b:'world'}
4747
4848// Bind other values
@@ -54,12 +54,12 @@ stmt.free();
5454// But not freeing your statements causes memory leaks. You don't want that.
5555
5656// Execute a single SQL string that contains multiple statements
57- sqlstr = " CREATE TABLE hello (a int, b char);" ;
57+ let sqlstr = " CREATE TABLE hello (a int, b char);" ;
5858sqlstr += " INSERT INTO hello VALUES (0, 'hello');"
5959sqlstr += " INSERT INTO hello VALUES (1, 'world');"
6060db .run (sqlstr); // Run the query without returning anything
6161
62- var res = db .exec (" SELECT * FROM hello" );
62+ const res = db .exec (" SELECT * FROM hello" );
6363/*
6464[
6565 {columns:['a','b'], values:[[0,'hello'],[1,'world']]}
@@ -75,7 +75,7 @@ db.create_function("add_js", add);
7575db .run (" INSERT INTO hello VALUES (add_js(7, 3), add_js('Hello ', 'world'));" ); // Inserts 10 and 'Hello world'
7676
7777// Export the database to an Uint8Array containing the SQLite database file
78- var binaryArray = db .export ();
78+ const binaryArray = db .export ();
7979```
8080
8181## Demo
@@ -97,20 +97,20 @@ The test files provide up to date example of the use of the api.
9797 // We must specify this locateFile function if we are loading a wasm file from anywhere other than the current html page's folder.
9898 initSqlJs (config).then (function (SQL ){
9999 // Create the database
100- var db = new SQL.Database ();
100+ const db = new SQL.Database ();
101101 // Run a query without reading the results
102102 db .run (" CREATE TABLE test (col1, col2);" );
103103 // Insert two rows: (1,111) and (2,222)
104104 db .run (" INSERT INTO test VALUES (?,?), (?,?)" , [1 ,111 ,2 ,222 ]);
105105
106106 // Prepare a statement
107- var stmt = db .prepare (" SELECT * FROM test WHERE col1 BETWEEN $start AND $end" );
107+ const stmt = db .prepare (" SELECT * FROM test WHERE col1 BETWEEN $start AND $end" );
108108 stmt .getAsObject ({$start: 1 , $end: 1 }); // {col1:1, col2:111}
109109
110110 // Bind new values
111111 stmt .bind ({$start: 1 , $end: 2 });
112112 while (stmt .step ()) { //
113- var row = stmt .getAsObject ();
113+ const row = stmt .getAsObject ();
114114 console .log (' Here is a row: ' + JSON .stringify (row));
115115 }
116116 });
@@ -126,10 +126,10 @@ The test files provide up to date example of the use of the api.
126126The following code uses an HTML input as the source for loading a database:
127127``` javascript
128128dbFileElm .onchange = () => {
129- var f = dbFileElm .files [0 ];
130- var r = new FileReader ();
129+ const f = dbFileElm .files [0 ];
130+ const r = new FileReader ();
131131 r .onload = function () {
132- var Uints = new Uint8Array (r .result );
132+ const Uints = new Uint8Array (r .result );
133133 db = new SQL.Database (Uints);
134134 }
135135 r .readAsArrayBuffer (f);
@@ -153,15 +153,15 @@ const db = new SQL.Database(new Uint8Array(buf));
153153##### using XMLHttpRequest
154154
155155``` javascript
156- var xhr = new XMLHttpRequest ();
156+ const xhr = new XMLHttpRequest ();
157157// For example: https://github.com/lerocha/chinook-database/raw/master/ChinookDatabase/DataSources/Chinook_Sqlite.sqlite
158158xhr .open (' GET' , ' /path/to/database.sqlite' , true );
159159xhr .responseType = ' arraybuffer' ;
160160
161161xhr .onload = e => {
162- var uInt8Array = new Uint8Array (xhr .response );
163- var db = new SQL.Database (uInt8Array);
164- var contents = db .exec (" SELECT * FROM my_table" );
162+ const uInt8Array = new Uint8Array (xhr .response );
163+ const db = new SQL.Database (uInt8Array);
164+ const contents = db .exec (" SELECT * FROM my_table" );
165165 // contents is now [{columns:['col1','col2',...], values:[[first row], [second row], ...]}]
166166};
167167xhr .send ();
@@ -176,24 +176,24 @@ Alternatively, you can simply download `sql-wasm.js` and `sql-wasm.wasm`, from t
176176
177177#### read a database from the disk:
178178``` javascript
179- var fs = require (' fs' );
180- var initSqlJs = require (' sql-wasm.js' );
181- var filebuffer = fs .readFileSync (' test.sqlite' );
179+ const fs = require (' fs' );
180+ const initSqlJs = require (' sql-wasm.js' );
181+ const filebuffer = fs .readFileSync (' test.sqlite' );
182182
183183initSqlJs ().then (function (SQL ){
184184 // Load the db
185- var db = new SQL.Database (filebuffer);
185+ const db = new SQL.Database (filebuffer);
186186});
187187
188188```
189189
190190#### write a database to the disk
191191You need to convert the result of ` db.export ` to a buffer
192192``` javascript
193- var fs = require (" fs" );
193+ const fs = require (" fs" );
194194// [...] (create the database)
195- var data = db .export ();
196- var buffer = new Buffer (data);
195+ const data = db .export ();
196+ const buffer = new Buffer (data);
197197fs .writeFileSync (" filename.sqlite" , buffer);
198198```
199199
@@ -208,7 +208,7 @@ You will need to download `worker.sql-wasm.js` and `worker.sql-wasm.wasm` from t
208208Example:
209209``` html
210210<script >
211- var worker = new Worker (" /dist/worker.sql-wasm.js" );
211+ const worker = new Worker (" /dist/worker.sql-wasm.js" );
212212 worker .onmessage = () => {
213213 console .log (" Database opened" );
214214 worker .onmessage = event => {
@@ -246,14 +246,14 @@ So in the past, you would:
246246``` html
247247<script src =' js/sql.js' ></script >
248248<script >
249- var db = new SQL.Database ();
249+ const db = new SQL.Database ();
250250 // ...
251251 </script >
252252```
253253or:
254254``` javascript
255- var SQL = require (' sql.js' );
256- var db = new SQL.Database ();
255+ const SQL = require (' sql.js' );
256+ const db = new SQL.Database ();
257257// ...
258258```
259259
@@ -262,16 +262,16 @@ Version 1.x:
262262<script src =' dist/sql-wasm.js' ></script >
263263<script >
264264 initSqlJs ({ locateFile : filename => ` /dist/${ filename} ` }).then (function (SQL ){
265- var db = new SQL.Database ();
265+ const db = new SQL.Database ();
266266 // ...
267267 });
268268 </script >
269269```
270270or:
271271``` javascript
272- var initSqlJs = require (' sql-wasm.js' );
272+ const initSqlJs = require (' sql-wasm.js' );
273273initSqlJs ().then (function (SQL ){
274- var db = new SQL.Database ();
274+ const db = new SQL.Database ();
275275 // ...
276276});
277277```
0 commit comments