Skip to content

Commit f4830c9

Browse files
committed
fix : fix bug delete function not concistence , add test unit
1 parent d37a887 commit f4830c9

16 files changed

+132
-82
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,4 +138,5 @@ data/
138138
docs/
139139
kvstorage/
140140
.dev.vars
141-
.wrangler/
141+
.wrangler/
142+
package-backup.json

config/rollup.config.dev.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import typescript from '@rollup/plugin-typescript';
33
export default [
44
{
55
input: 'src/kv-storage.ts',
6-
exclude:["test","src","**/*.d.ts"],
76
output: [
87
{
98
file: 'public/umd/kv-storage.umd.js',

config/rollup.config.umd.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import typescript from '@rollup/plugin-typescript';
33
export default [
44
{
55
input: 'src/kv-storage.ts',
6-
exclude:["test","src","**/*.d.ts"],
6+
//exclude:["test","src","**/*.d.ts"],
77
output: [
88
{
99
file: 'dist/umd/kv-storage.js',

package.json

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,31 @@
1313
"scripts": {
1414
"start": "npm run dev-node",
1515

16-
"build-dev-cjs": "npm run removedir public && tsc -p tsconfig-devcjs.json",
17-
"build-dev-esm": "npm run removedir public && tsc -p tsconfig-devesm.json",
18-
"dev-node": "nodemon -e js,ts --watch src --watch test --exec \"npm run build-dev-cjs && node public/test/server.js\"",
19-
"dev-ts-node": "nodemon -e js,ts --watch src --watch test --exec \"npm run build-dev-cjs && ts-node public/test/server.js\"",
20-
"dev-bun": "nodemon -e js,ts --watch src --watch test --exec \"bun run test/server.ts\"",
16+
"build-dev-cjs": "tsc -p tsconfig-devcjs.json",
17+
"build-dev-esm": "tsc -p tsconfig-devesm.json",
18+
"dev-node": "nodemon -e js,ts --watch src --watch test --exec \"npm run build-dev-cjs && node public/cjs/test/server-node.js\"",
19+
"dev-ts-node": "nodemon -e js,ts --watch src --watch test --exec \"npm run build-dev-cjs && ts-node public/cjs/test/server-node.js\"",
20+
"dev-bun": "nodemon -e js,ts --watch src --watch test --exec \"bun run test/server-node.ts\"",
2121
"dev-deno": "nodemon -e js,ts --watch src --watch test --exec \"deno run --allow-read --allow-write test/test-deno/server-deno.ts\"",
22-
"dev-cf": "nodemon -e js,ts,html --watch src --watch test --exec \"npm run build-dev-esm && wrangler dev\"",
22+
"dev-cf": "nodemon -e js,ts,html --watch src --watch test --exec \"wrangler dev\"",
2323
"dev-browser": "nodemon -e js,ts,html --watch src --watch test --exec \"npm run build-dev-esm && tsc -p tsconfig-umd.json && rollup -c public/config/rollup.config.dev.js && ts-node test/server-browser.ts\"",
2424

2525
"removedir": "node -e \"var fs = require('fs'); try{process.argv.slice(1).map((fpath) => fs.rmdirSync(fpath, { recursive: true }))}catch(err){console.log(`Dist not found`)}; process.exit(0);\"",
2626
"build-all":"tsc -p tsconfig-mjs.json && tsc -p tsconfig-cjs.json && tsc -p tsconfig-umd.json && rollup -c public/config/rollup.config.umd.js && echo {\"type\": \"commonjs\"}>dist\\cjs\\package.json && echo {\"type\": \"module\"}>dist\\mjs\\package.json",
2727
"build":"npm run removedir dist && npm run build-all",
28+
29+
"backup": "node -e \"var fs = require('fs'); try{fs.copyFileSync('package.json', 'package-backup.json')}catch(err){console.log(`Copy failed`)}; process.exit(0);\"",
30+
"restore": "node -e \"var fs = require('fs'); try{fs.copyFileSync('package-backup.json', 'package.json')}catch(err){console.log(`Copy failed`)}; process.exit(0);\"",
31+
"prepublish":"npm run backup && npm pkg delete devDependencies",
32+
"postpublish":"npm run restore",
2833

2934
"gh-deploy-init": "git push origin && git subtree push --prefix docs origin gh-pages",
3035
"gh-deploy": "git push origin :gh-pages && git subtree push --prefix docs origin gh-pages",
3136
"typedoc": "npm run removedir docs && typedoc src/kv-storage.ts src/kv-storage-module.ts",
3237
"gh-deploydoc": "npm run typedoc && git add docs -f && git commit -m \"docs\" && npm run gh-deploy && git reset --soft HEAD~ && git restore --staged .",
3338

34-
"test": "npm run dev-node"
39+
"test-all": "nodemon -e js,ts --watch src --watch test --exec \"npm run build-dev-cjs && node public/cjs/test/test-all.js\"",
40+
"test": "npm run test-all"
3541
},
3642
"files": [
3743
"dist/",

src/kv-storage-module.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,11 @@ export class KVStorageModule{
8787
const keyFilePath = this._storageDir+'/'+key
8888

8989
fs.unlink(keyFilePath,(err)=>{
90-
if (err) {resolve(false)}else{resolve(true)}
90+
if (err) {
91+
fs.stat(keyFilePath, (err)=>{
92+
if (err) {resolve(true)}else{resolve(false)}
93+
});
94+
}else{resolve(true)}
9195
});
9296

9397
})

src/kv-storage.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@ export async function KVStorage({
2727
if(typeof caches === "undefined" && typeof global !== "undefined" && typeof window === "undefined"){
2828
let runnode;
2929
try {
30-
const url = './kv-storage-module';
30+
const url = './kv-storage-module'
3131
runnode = await import(url);
3232
}
3333
catch {
34-
const url = './kv-storage-module.js';
34+
const url = './kv-storage-module.js'
3535
runnode = await import(url);
3636
}
3737
const dbnode = await runnode.KVStorageModule.init({

test/esm.html

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
<html>
2-
<body>
3-
<p>open console</p>
2+
<body style="margin:0;padding:0">
3+
<div id="out">open console</div>
44
<script type="module">
5-
import {KVStorage} from './../public/src/kv-storage.js'
5+
import {KVStorage} from './../public/esm/src/kv-storage.js'
6+
import {test} from './../public/esm/test/test-unit.js'
67

78
void async function main() {
89

@@ -11,13 +12,9 @@
1112
storageName:'storage'
1213
})
1314

14-
console.log(await db.put('yes','no'))
15-
console.log(await db.get('yes'))
16-
console.log(await db.delete('yes'))
17-
console.log(await db.get('yes'))
18-
console.log(await db.put('yes1','no1'))
19-
console.log(await db.list())
20-
console.log(await db.has('key'))
15+
const data = await test(db)
16+
console.log(data)
17+
document.getElementById("out").innerHTML = "<textarea style='width:100vw;height:100vh'>"+data+"</textarea>"
2118
}()
2219
</script>
2320
</body>

test/server-node.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import {KVStorage} from './../src/kv-storage'
2+
import {test} from './test-unit'
3+
4+
void async function main() {
5+
6+
const db = await KVStorage({
7+
runtime:'node',
8+
storageName:'storage'
9+
})
10+
11+
console.log(await test(db))
12+
13+
}()

test/server.ts

Lines changed: 0 additions & 18 deletions
This file was deleted.

test/test-all.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { spawnSync } from 'child_process'
2+
3+
const node = spawnSync("node", ["public/cjs/test/server-node.js"])
4+
5+
console.log("node = "+node.stdout.toString())
6+
7+
const bun = spawnSync("bun", ["run","test/server-node.ts"])
8+
9+
console.log("bun = "+bun.stdout.toString())
10+
11+
const deno = spawnSync("deno", ["run","--allow-read","--allow-write","test/test-deno/server-deno.ts"])
12+
13+
console.log("deno = "+deno.stdout.toString())
14+
15+
16+
17+
for(const [runtime,test] of [["node",node.stdout.toString()],["bun",bun.stdout.toString()],["deno",deno.stdout.toString()]]){
18+
19+
let passed = "passed all"
20+
for(const input of JSON.parse(test)){
21+
if(input.passed = false)passed = "failed"
22+
}
23+
console.log(runtime+" = "+passed)
24+
25+
}

0 commit comments

Comments
 (0)