mirror of
https://github.com/appy-one/acebase.git
synced 2026-05-25 22:01:21 -06:00
browser support!
This commit is contained in:
parent
a478fb22a2
commit
d2dcae8317
4 changed files with 8449 additions and 0 deletions
25
dist/browser.html
vendored
Normal file
25
dist/browser.html
vendored
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
<html>
|
||||
<head>
|
||||
<script src="browser.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
// Create AceBase using localStorage
|
||||
const db = new AceBase('mydb', { temp: false }); // Set temp to true to use sessionStorage instead of localStorage
|
||||
db.ready(() => {
|
||||
console.log('Database ready to use');
|
||||
return db.ref('browser').set({
|
||||
test: 'AceBase runs in the browser!'
|
||||
})
|
||||
.then(ref => {
|
||||
console.log(`"${ref.path}" was saved!`);
|
||||
return ref.get();
|
||||
})
|
||||
.then(snap => {
|
||||
console.log(`Got "${snap.ref.path}" value:`);
|
||||
console.log(snap.val());
|
||||
})
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
8389
dist/browser.js
vendored
Normal file
8389
dist/browser.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
1
dist/browser.min.js
vendored
Normal file
1
dist/browser.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
34
src/browser.js
Normal file
34
src/browser.js
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
// To use AceBase in the browser with localStorage as the storage engine,
|
||||
// npm run browserify, which will execute:
|
||||
// browserify src/browser.js -o dist/browser.js -u src/btree.js -i ./src/data-index.js -u src/geohash.js -u src/node-cache.js -u src/promise-fs.js -u src/promise-timeout.js -i ./src/storage-acebase.js -i ./src/storage-mssql.js -i ./src/storage-sqlite.js --ignore buffer
|
||||
// terser dist/browser.js -o dist/browser.min.js
|
||||
|
||||
const { DataReference, DataSnapshot, EventSubscription, PathReference, TypeMappings, TypeMappingOptions } = require('acebase-core');
|
||||
const { AceBase, AceBaseLocalSettings } = require('./acebase-local');
|
||||
const { LocalStorageSettings } = require('./storage-localstorage');
|
||||
const acebase = {
|
||||
AceBase,
|
||||
AceBaseLocalSettings,
|
||||
DataReference,
|
||||
DataSnapshot,
|
||||
EventSubscription,
|
||||
PathReference,
|
||||
TypeMappings,
|
||||
TypeMappingOptions,
|
||||
LocalStorageSettings
|
||||
};
|
||||
|
||||
class BrowserAceBase extends acebase.AceBase {
|
||||
constructor(name, settings) {
|
||||
settings = settings || {};
|
||||
settings.storage = new acebase.LocalStorageSettings();
|
||||
if (settings.temp === true) {
|
||||
settings.storage.session = true;
|
||||
delete settings.temp;
|
||||
}
|
||||
super(name, settings);
|
||||
}
|
||||
}
|
||||
|
||||
window.AceBase = BrowserAceBase;
|
||||
window.acebase = acebase;
|
||||
Loading…
Add table
Add a link
Reference in a new issue