Compare commits

..

4 Commits

Author SHA1 Message Date
3c4cba97c2 1.0.17 2022-01-24 04:39:13 +01:00
b86bd61cbf fix(core): update 2022-01-24 04:39:12 +01:00
ad95154284 1.0.16 2020-10-17 16:44:53 +00:00
7fb47d224e fix(core): update 2020-10-17 16:44:53 +00:00
6 changed files with 19712 additions and 3698 deletions

23358
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{ {
"name": "@pushrocks/webstore", "name": "@pushrocks/webstore",
"version": "1.0.15", "version": "1.0.17",
"private": false, "private": false,
"description": "high performance storage in the browser using indexed db", "description": "high performance storage in the browser using indexed db",
"main": "dist_ts/index.js", "main": "dist_ts/index.js",
@ -12,20 +12,20 @@
"build": "(tsbuild --web)" "build": "(tsbuild --web)"
}, },
"devDependencies": { "devDependencies": {
"@gitzone/tsbuild": "^2.1.25", "@gitzone/tsbuild": "^2.1.29",
"@gitzone/tstest": "^1.0.52", "@gitzone/tstest": "^1.0.60",
"@pushrocks/tapbundle": "^3.2.9", "@pushrocks/tapbundle": "^4.0.0",
"@types/node": "^14.11.10", "@types/node": "^17.0.10",
"tslint": "^6.1.3", "tslint": "^6.1.3",
"tslint-config-prettier": "^1.15.0" "tslint-config-prettier": "^1.15.0"
}, },
"dependencies": { "dependencies": {
"@apiglobal/typedrequest-interfaces": "^1.0.15", "@apiglobal/typedrequest-interfaces": "^1.0.15",
"@pushrocks/lik": "^4.0.17", "@pushrocks/lik": "^5.0.0",
"@pushrocks/smartjson": "^4.0.5", "@pushrocks/smartjson": "^4.0.6",
"@pushrocks/smartpromise": "^3.1.3", "@pushrocks/smartpromise": "^3.1.6",
"@pushrocks/smartrx": "^2.0.19", "@pushrocks/smartrx": "^2.0.20",
"idb": "^5.0.7" "idb": "^7.0.0"
}, },
"browserslist": [ "browserslist": [
"last 1 chrome versions" "last 1 chrome versions"

View File

@ -0,0 +1,11 @@
import { expect, tap } from '@pushrocks/tapbundle';
import * as webstore from '../ts/index';
let testTypedrequestcache: webstore.TypedrequestCache;
tap.test('first test', async () => {
testTypedrequestcache = new webstore.TypedrequestCache('https://test.lossless.com/typedrequest')
expect(testTypedrequestcache).toBeInstanceOf(webstore.TypedrequestCache);
});
tap.start();

View File

@ -8,12 +8,12 @@ tap.test('first test', async () => {
dbName: 'mytest-db', dbName: 'mytest-db',
storeName: 'mytest-store', storeName: 'mytest-store',
}); });
expect(testWebstore).to.be.instanceOf(webstore.WebStore); expect(testWebstore).toBeInstanceOf(webstore.WebStore);
}); });
tap.test('should allow storing a string', async () => { tap.test('should allow storing a string', async () => {
await testWebstore.set('mystring', 'heythere'); await testWebstore.set('mystring', 'heythere');
expect(await testWebstore.get('mystring')).to.equal('heythere'); expect(await testWebstore.get('mystring')).toEqual('heythere');
}); });
tap.test('should allow storing an object', async () => { tap.test('should allow storing an object', async () => {
@ -33,8 +33,8 @@ tap.test('should overwrite a value', async () => {
tap.test('should correctly check the existence of keys', async () => { tap.test('should correctly check the existence of keys', async () => {
const resultNotThere = await testWebstore.check('notThere'); const resultNotThere = await testWebstore.check('notThere');
const resultThere = await testWebstore.check('testProp1'); const resultThere = await testWebstore.check('testProp1');
expect(resultNotThere).to.be.false; expect(resultNotThere).toBeFalse();
expect(resultThere).to.be.true; expect(resultThere).toBeTrue();
}); });
tap.start(); tap.start();

View File

@ -1 +1,2 @@
export * from './webstore.classes.typedrequestcache';
export * from './webstore.classes.webstore'; export * from './webstore.classes.webstore';

View File

@ -5,10 +5,14 @@ import * as plugins from './webstore.plugins';
* a cache that can be used to store and retrieve typedrequests * a cache that can be used to store and retrieve typedrequests
*/ */
export class TypedrequestCache { export class TypedrequestCache {
private webstore = new WebStore<plugins.typedrequestInterfaces.ITypedRequest>({ private webstore: WebStore;
dbName: 'trStore',
storeName: 'trStore', constructor(domainArg = 'default') {
}); this.webstore = new WebStore<plugins.typedrequestInterfaces.ITypedRequest>({
dbName: 'trStore',
storeName: `trStore-${domainArg}`,
});
}
private buildKey(requestArg: plugins.typedrequestInterfaces.ITypedRequest) { private buildKey(requestArg: plugins.typedrequestInterfaces.ITypedRequest) {
return plugins.smartjson.stringify({ return plugins.smartjson.stringify({