pWiki/browser.js
Alex A. Naanou eec1e725d3 testing store interoperability (bugfixing) + notes...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
2022-08-26 18:16:07 +03:00

82 lines
2.1 KiB
JavaScript
Executable File

/**********************************************************************
*
*
*
**********************************************************************/
((typeof define)[0]=='u'?function(f){module.exports=f(require)}:define)
(function(require){ var module={} // make module AMD/node compatible...
/*********************************************************************/
var object = require('ig-object')
var types = require('ig-types')
var pwpath = require('./pwiki/path')
var page = require('./pwiki/page')
var basestore = require('./pwiki/store/base')
var localstoragestore = require('./pwiki/store/localstorage')
var pouchdbstore = require('./pwiki/store/pouchdb')
// XXX this fails silently in browser...
//var bootstrap = require('./bootstrap')
//---------------------------------------------------------------------
var store =
module.store = {
// XXX base localstorage...
__proto__: localstoragestore.localStorageStore,
__prefix__: '--pwiki-root:',
data: localStorage,
/*/
__proto__: basestore.MetaStore,
//*/
next: { __proto__: basestore.BaseStore },
}
module.setup =
Promise.all([
// static stores...
//
//store.next.update('System',
store.update('System',
Object.create(basestore.BaseStore).load(page.System)),
store.update('Settings',
Object.create(basestore.BaseStore).load(page.Settings)),
store.update('Test',
Object.create(basestore.BaseStore).load(page.Test)),
// persistent stores...
//
store.update('@local', {
__proto__: localstoragestore.localStorageStore,
data: localStorage,
}),
store.update('@session', {
__proto__: localstoragestore.localStorageStore,
data: sessionStorage,
}),
store.update('@pouch', {
__proto__: pouchdbstore.PouchDBStore,
}),
])
// XXX
//typeof(Bootstrap) != 'undefined'
// && pwiki.store.load(Bootstrap)
var pwiki =
module.pwiki =
// XXX
//page.Page('/', '/', store)
page.pWikiPageElement('/', '/', store)
/**********************************************************************
* vim:set ts=4 sw=4 : */ return module })