Compare commits

...

2 Commits

Author SHA1 Message Date
e2d756fe28 Compare version function
Some checks failed
Build / Build NPM Project (push) Successful in 54s
Build / Publish Documentation (push) Failing after 4s
Build / Tag Version (push) Successful in 9s
2025-07-30 09:21:46 -04:00
52f64f9e78 IndexDB fixes
Some checks failed
Build / Build NPM Project (push) Successful in 45s
Build / Publish Documentation (push) Failing after 4s
Build / Tag Version (push) Successful in 8s
2025-07-28 13:09:31 -04:00
3 changed files with 18 additions and 6 deletions

View File

@ -1,6 +1,6 @@
{
"name": "@ztimson/utils",
"version": "0.26.21",
"version": "0.26.23",
"description": "Utility library",
"author": "Zak Timson",
"license": "MIT",

View File

@ -100,9 +100,9 @@ export class Database {
if(!this.includes(table.name)) {
const newDb = new Database(this.database, [...this.tables, table], (this.version ?? 0) + 1);
conn.close();
await newDb.connection;
Object.assign(this, newDb);
this.connection = newDb.connection;
await this.connection;
Object.assign(this, newDb);
}
return this.table<K, T>(table.name);
});
@ -115,9 +115,9 @@ export class Database {
const conn = await this.connection;
const newDb = new Database(this.database, this.tables.filter(t => t.name != (<TableOptions>table).name), (this.version ?? 0) + 1);
conn.close();
await newDb.connection;
Object.assign(this, newDb);
this.connection = newDb.connection;
await this.connection;
Object.assign(this, newDb);
});
}

View File

@ -1,9 +1,21 @@
import {PathEvent} from './path-events.ts';
import {md5} from './string';
/**
* Compare version numbers
* @param {string} target
* @param {string} vs
* @return {number} -1 = target is lower, 0 = equal, 1 = higher
*/
export function compareVersions(target: string, vs: string): -1 | 0 | 1 {
const [tMajor, tMinor, tPatch] = target.split('.').map(v => +v.replace(/[^0-9]/g, ''));
const [vMajor, vMinor, vPatch] = vs.split('.').map(v => +v.replace(/[^0-9]/g, ''));
return (tMajor > vMajor || tMinor > vMinor || tPatch > vPatch) ? 1 :
(tMajor < vMajor || tMinor < vMinor || tPatch < vPatch) ? -1 : 0;
}
/**
* Escape any regex special characters to avoid misinterpretation during search
*
* @param {string} value String which should be escaped
* @return {string} New escaped sequence
*/