molly-db 1.0.10 → 1.0.11

Sign up to get free protection for your applications and to get access to all the features.
package/module/_init_.js CHANGED
@@ -58,12 +58,10 @@ function fillDB( _db, _table, _path ){
58
58
 
59
59
  } catch(e) {
60
60
 
61
- const path = `${query.path}/_init_.json`;
62
- db._buff_ = fs.readFileSync( path );
61
+ db._init_ = { DB:[] };
63
62
  db._path_ = query.path;
64
- db._init_ = { DB:[] }
65
-
66
- fs.writeFileSync( path,db._init_ );
63
+ const path = `${query.path}/_init_.json`;
64
+ fs.writeFileSync( path,JSON.stringify(db._init_) );
67
65
 
68
66
  } response();
69
67
  })();
@@ -19,21 +19,35 @@ function json( _data ){
19
19
 
20
20
  /* --------------------------------------------------------------------------------------- */
21
21
 
22
+ function bodyParser( _data ){
23
+
24
+ const date = Date.now();
25
+ const result = new Array();
26
+
27
+ if( typeof _data.length == 'number' ){
28
+ for( var i in _data ){
29
+ if(!_data[i]?.hash)
30
+ _data[i].hash = crypto.hash( date,0 );
31
+ result.push(JSON.stringify(_data[i]));
32
+ }
33
+ } else {
34
+ if(!_data?.hash)
35
+ _data.hash = crypto.hash( date,0 );
36
+ result.push(JSON.stringify(_data));
37
+ } return result;
38
+
39
+ }
40
+
22
41
  function getBody(){
23
42
  return new Promise((response,reject)=>{
24
43
  try{
25
- if( req.method == 'POST' ){
44
+ if( req.method == 'POST' || (/push|unshift|splice|update/).test(api.pathname) ){
26
45
  const data = new Array();
27
46
  req.on('data',(chunk)=>{ data.push(chunk); });
28
47
  req.on('close',()=>{ try{
29
- const buff = Buffer.concat(data).toString();
30
- const object = JSON.parse(buff);
31
- const date = Date.now();
32
-
33
- if( !object.hash )
34
- object.hash = crypto.hash( date,0 );
35
-
36
- response(JSON.stringify(object));
48
+ const buff = Buffer.concat(data);
49
+ const json = JSON.parse(buff);
50
+ response( bodyParser(json) );
37
51
  } catch(e) { response(false) } });
38
52
  } else { response(true) }
39
53
  } catch(e) { response(false) }
@@ -71,9 +85,9 @@ function validate( _params ){
71
85
  const vtb = (key)=>{ return db._init_.DB.some(x=>{ return x.tables.join().match(key); }) }
72
86
 
73
87
  validator = [
74
- [ !_params.offset, '_params.offset = 0' ],
75
- [ !_params.target, '_params.target = ""' ],
76
- [ !_params.length, '_params.length = 100' ],
88
+ [ !_params?.offset, '_params.offset = 0' ],
89
+ [ !_params?.target, '_params.target = ""' ],
90
+ [ !_params?.length, '_params.length = 100' ],
77
91
  ].every(x=>{ if(x[0]) eval(x[1]); return true; });
78
92
 
79
93
  validator = [
@@ -139,7 +153,7 @@ function pop( _params ){
139
153
 
140
154
  async function push( _params ){
141
155
 
142
- db[_params.db][_params.table].push( body );
156
+ db[_params.db][_params.table].push( ...body );
143
157
 
144
158
  save( _params ); return [{
145
159
  database: _params.db,
@@ -152,7 +166,7 @@ async function push( _params ){
152
166
  async function splice( _params ){
153
167
 
154
168
  db[_params.db][_params.table].splice(
155
- _params.offset,_params.length,body
169
+ _params.offset,_params.length,...body
156
170
  );
157
171
 
158
172
  save( _params ); return [{
@@ -164,7 +178,7 @@ async function splice( _params ){
164
178
 
165
179
  async function unshift( _params ){
166
180
 
167
- db[_params.db][_params.table].unshift( body );
181
+ db[_params.db][_params.table].unshift( ...body );
168
182
 
169
183
  save( _params ); return [{
170
184
  database: _params.db,
@@ -183,7 +197,7 @@ async function update( _params ){
183
197
  });
184
198
 
185
199
  if( !(index<0) )
186
- db[_params.db][_params.table].splice( index,1,body );
200
+ db[_params.db][_params.table].splice( index,1,...body );
187
201
 
188
202
  save( _params ); return [{
189
203
  database: _params.db,
@@ -209,32 +223,17 @@ async function remove( _params ){
209
223
  }];
210
224
  }
211
225
 
212
- async function save( _params ){
213
-
214
- modifyDB( _params.db,_params.table );
215
- return [{
216
- database: _params.db,
217
- table: _params.table,
218
- status: 'saved'
219
- }];
220
- }
221
-
222
226
  /* --------------------------------------------------------------------------------------- */
223
227
 
224
228
  function addDB( _params ){
225
229
  try{
226
230
 
227
- const init = `${query.path}/_init_.json`;
228
-
229
231
  db._init_.DB.push({
232
+ tables: [],
230
233
  name: _params.db,
231
- tables: []
232
- });
233
-
234
- db[_params.db] = new Array();
235
- fs.writeFileSync( init,JSON.stringify(db._init_) );
234
+ }); db[_params.db] = new Array();
236
235
 
237
- return [{
236
+ save( _params ); return [{
238
237
  database: _params.db,
239
238
  status: 'DB added'
240
239
  }];
@@ -245,7 +244,6 @@ function addDB( _params ){
245
244
  function removeDB( _params ){
246
245
  try{
247
246
 
248
- const init = `${query.path}/_init_.json`;
249
247
  const i = db._init_.DB.findIndex(x=>{
250
248
  return x.name == _params.db
251
249
  });
@@ -254,11 +252,9 @@ function removeDB( _params ){
254
252
  const path = `${query.path}/${x}.json`;
255
253
  fs.unlinkSync(path);
256
254
  }); db._init_.DB.splice(i,1);
257
-
258
255
  db[_params.db] = new Array();
259
- fs.writeFileSync( init,JSON.stringify(db._init_) );
260
256
 
261
- return [{
257
+ save( _params ); return [{
262
258
  database: _params.db,
263
259
  table: _params.table,
264
260
  status: 'DB deleted'
@@ -303,7 +299,7 @@ function addTable( _params ){
303
299
 
304
300
  db[_params.db][_params.table] = new Array();
305
301
 
306
- return [{
302
+ save( _params ); return [{
307
303
  database: _params.db,
308
304
  table: _params.table,
309
305
  status: 'table added'
@@ -324,7 +320,7 @@ function removeTable( _params ){
324
320
  db._init_.DB[i].tables.splice(j,1);
325
321
  delete db[_params.db][_params.table];
326
322
 
327
- return [{
323
+ save( _params ); return [{
328
324
  database: _params.db,
329
325
  table: _params.table,
330
326
  status: 'table removed'
@@ -341,6 +337,15 @@ function refresh( _params ){
341
337
  });
342
338
  }
343
339
 
340
+ function save( _params ){
341
+ modifyDB( _params.db,_params.table );
342
+ return [{
343
+ database: _params.db,
344
+ table: _params.table,
345
+ status: 'saved'
346
+ }];
347
+ }
348
+
344
349
  /* --------------------------------------------------------------------------------------- */
345
350
 
346
351
  (async ()=>{
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "license": "MIT",
3
3
  "main": "main.js",
4
- "version": "1.0.10",
4
+ "version": "1.0.11",
5
5
  "name": "molly-db",
6
6
  "author": "bececrazy",
7
7
  "scripts": {