allow reading and updating pointer data directly to database
This commit is contained in:
parent
785e6e8e11
commit
cfdeacd071
1 changed files with 30 additions and 7 deletions
|
@ -11,6 +11,7 @@ class pointer {
|
||||||
*/
|
*/
|
||||||
static select(URL) {
|
static select(URL) {
|
||||||
const clean = (URL) => {
|
const clean = (URL) => {
|
||||||
|
|
||||||
// Remove the protocol from the URL.
|
// Remove the protocol from the URL.
|
||||||
return((URL.replace(/(^\w+:|^)\/\//, ``).split(`?`))[0]);
|
return((URL.replace(/(^\w+:|^)\/\//, ``).split(`?`))[0]);
|
||||||
}
|
}
|
||||||
|
@ -20,7 +21,8 @@ class pointer {
|
||||||
} catch(err) {}
|
} catch(err) {}
|
||||||
|
|
||||||
// Get the last edited site.
|
// Get the last edited site.
|
||||||
return(global.write([`last`, `URL`], this.URL, -1));
|
return((URL) ? global.write([`last`], URL, -1) : null);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -28,17 +30,38 @@ class pointer {
|
||||||
|
|
||||||
@param {dictionary} state the new state
|
@param {dictionary} state the new state
|
||||||
*/
|
*/
|
||||||
static update(state) {
|
static async update(state) {
|
||||||
// Indicate the status of the process.
|
// Indicate the status of the process.
|
||||||
if ((state && (typeof state).includes(`obj`)) ? Object.keys(state).length : false) {
|
if ((state && (typeof state).includes(`obj`)) ? Object.keys(state).length : false) {
|
||||||
(Object.keys(state)).forEach(async (key) => {
|
if (state[`URL`]) {
|
||||||
await global.write([`last`, key], state[key], -1);
|
await this.select(state[`URL`]);
|
||||||
});
|
delete state[`URL`];
|
||||||
|
};
|
||||||
|
|
||||||
|
(await global.read([`last`]))
|
||||||
|
? (Object.keys(state)).forEach(async (key) => {
|
||||||
|
await global.write([`sites`, await global.read([`last`]), key], state[key], -1);
|
||||||
|
})
|
||||||
|
: false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static read() {
|
/*
|
||||||
return(global.read([`last`]));
|
Read a property about the pointer.
|
||||||
|
|
||||||
|
@param {string} name the property to read
|
||||||
|
*/
|
||||||
|
static async read(name) {
|
||||||
|
let RETURN = ((name)
|
||||||
|
? (!(name.trim().includes(`URL`))
|
||||||
|
? await global.read([`last`])
|
||||||
|
: true)
|
||||||
|
: false)
|
||||||
|
? global.read((name.trim().includes(`URL`))
|
||||||
|
? [`last`]
|
||||||
|
: [`sites`, await global.read([`last`]), ...((Array.isArray(name)) ? name : name.trim().split(`,`))])
|
||||||
|
: null;
|
||||||
|
return(RETURN);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue