Skip to content

Commit 7ca071b

Browse files
committed
first commit
0 parents  commit 7ca071b

7 files changed

+495
-0
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
node_modules
2+
*-lock.json

.npmignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
hello.js
2+
index.html
3+
webpack.config.js

hello.js

+144
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
2+
import EasyIDB from './src/index'
3+
4+
let idb
5+
let version = 2
6+
7+
async function hello () {
8+
await idb.init([
9+
{ name: 'parts', indexes: [ { name: 'name' } ], keyPath: 'uid' }
10+
]).then(() => {
11+
console.log('idb init successfully!')
12+
}).catch(err => {
13+
console.error(err)
14+
})
15+
}
16+
17+
document.addEventListener( 'DOMContentLoaded', async () => {
18+
idb = new EasyIDB('EverEasyIDB', version)
19+
window.idb = idb
20+
await hello()
21+
initDOM()
22+
} )
23+
24+
function initDOM () {
25+
let btnAdd = document.querySelector('#add')
26+
let btnRemove = document.querySelector('#remove')
27+
let btnClear = document.querySelector('#clear')
28+
let btnUpdate = document.querySelector('#update')
29+
let btnGetFirst = document.querySelector('#getFirst')
30+
let btnDeleteDB = document.querySelector('#deleteDB')
31+
let btnDeleteObjectStore = document.querySelector('#deleteObjectStore')
32+
let btnCreateObjectStore = document.querySelector('#createObjectStore')
33+
34+
btnAdd.onclick = add
35+
btnRemove.onclick = remove
36+
btnClear.onclick = clear
37+
btnUpdate.onclick = update
38+
btnGetFirst.onclick = getFirst
39+
btnDeleteDB.onclick = deleteDB
40+
btnDeleteObjectStore.onclick = deleteObjectStore
41+
btnCreateObjectStore.onclick = createObjectStore
42+
}
43+
44+
function openObjectStore () {
45+
idb.openObjectStore('parts')
46+
}
47+
48+
function add () {
49+
console.log('add')
50+
openObjectStore()
51+
52+
idb.add({ uid: 291898, name: 'Earth' }).then(() => {
53+
console.log('success')
54+
}).catch(err => {
55+
console.error(err)
56+
})
57+
}
58+
59+
function remove () {
60+
openObjectStore()
61+
idb.remove(291898).then(() => {
62+
console.log('delete successfully!')
63+
}).catch(err => {
64+
console.error( err )
65+
})
66+
}
67+
68+
async function clear () {
69+
openObjectStore()
70+
idb.clearObjectStore().then(() => {
71+
console.log('clear successfully!')
72+
}).catch(err => {
73+
console.error( err )
74+
})
75+
}
76+
77+
function update () {
78+
openObjectStore()
79+
idb.put({ uid: 291898, age: 98 }).then(() => {
80+
console.log('update successfully!')
81+
}).catch(err => {
82+
console.error( err )
83+
})
84+
}
85+
86+
function getFirst () {
87+
openObjectStore()
88+
89+
let query = 'Earth'
90+
// let query = 291898
91+
92+
// the second argument: indexName
93+
idb.get(query, 'name').then(ret => {
94+
console.log(ret)
95+
}).catch(err => {
96+
console.error(err)
97+
})
98+
}
99+
100+
function deleteDB () {
101+
idb.deleteDatabase().then( () => {
102+
console.log( 'delete database successfully!' )
103+
} ).catch( err => {
104+
console.error( err )
105+
} )
106+
}
107+
108+
function deleteObjectStore () {
109+
console.log( 'delete object store' )
110+
111+
if ( idb ) {
112+
idb.close()
113+
}
114+
115+
version++
116+
117+
idb = new EasyIDB( 'EverEasyIDB', version )
118+
119+
idb.init( null, () => {
120+
idb.deleteObjectStore( 'parts' )
121+
} )
122+
123+
}
124+
125+
function createObjectStore () {
126+
console.log( 'createObjectStore' )
127+
128+
if ( idb ) {
129+
idb.close()
130+
}
131+
132+
version++
133+
134+
idb = new EasyIDB( 'EverEasyIDB', version )
135+
136+
idb.init( [
137+
{ name: 'parts', indexes: [ { name: 'name' } ], keyPath: 'uid' }
138+
] ).then( () => {
139+
console.log('idb init successfully!')
140+
} ).catch( err => {
141+
console.error( err )
142+
} )
143+
144+
}

index.html

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset='utf-8'>
5+
<title>IndexedDB: EasyIDB development</title>
6+
<style>
7+
h4 {
8+
color: cornflowerblue;
9+
}
10+
</style>
11+
</head>
12+
<body>
13+
<h1>IndexedDB: EasyIDB development</h1>
14+
<h4>See in console & Applicaion -> IndexedDB please</h4>
15+
<div>
16+
<button id='add'>Add</button>
17+
<button id='update'>Update</button>
18+
<button id='remove'>Remove</button>
19+
<button id='clear'>Clear</button>
20+
<button id='getFirst'>getFirst</button>
21+
<button id="deleteDB">delete Database</button>
22+
<button id="deleteObjectStore">delete object store</button>
23+
<button id="createObjectStore">create object store</button>
24+
</div>
25+
</body>
26+
</html>

package.json

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"name": "easyidb",
3+
"version": "1.0.0",
4+
"description": "",
5+
"main": "index.js",
6+
"module": "src/index.js",
7+
"scripts": {
8+
"dev": "webpack-dev-server --config webpack.config.js",
9+
"start": "npm run dev"
10+
},
11+
"author": "",
12+
"license": "ISC",
13+
"devDependencies": {
14+
"@babel/core": "^7.10.1",
15+
"@babel/plugin-transform-runtime": "^7.10.1",
16+
"@babel/preset-env": "^7.10.1",
17+
"babel-loader": "^8.1.0",
18+
"html-webpack-plugin": "^4.3.0",
19+
"webpack": "^4.43.0",
20+
"webpack-cli": "^3.3.11",
21+
"webpack-dev-server": "^3.11.0"
22+
}
23+
}

0 commit comments

Comments
 (0)