bonsaif 1.10.27 → 1.10.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -252,6 +252,31 @@ const smembers=async( options, db, key, toJson )=>{ // SMEMBERS key
252
252
  })
253
253
  }
254
254
 
255
+ const scard=async( options, db, key )=>{ // SCARD key
256
+ const exec = require("./exec");
257
+ const redisConn = await exec.redisConn(options);
258
+ const start = Date.now();
259
+ return new Promise((resolve, reject)=>{
260
+ try{
261
+ redisConn.select(db,function() { /* ... */ }); //base 1
262
+ redisConn.scard(key, function (err, res) {
263
+
264
+ const end = Date.now();
265
+ const time = end - start;
266
+
267
+ resolve({"scard":key, "err":err, "res":res, "time":utl.milisegundosASegundos(time)});
268
+ try{
269
+ exec.redisClose(redisConn);
270
+ }catch(e){
271
+ utl.log('err.scard '+e);
272
+ }
273
+ });
274
+ }catch(e){
275
+ utl.log('err scard'+e);
276
+ }
277
+ })
278
+ }
279
+
255
280
  const hset=async( options,db, key, values )=>{ // HSET key field value [ field value ...]
256
281
  const exec = require("./exec");
257
282
  const redisConn = await exec.redisConn(options);
@@ -596,6 +621,30 @@ const lrange=async( options, db, key, start, stop )=>{ // LRANGE key start stop
596
621
  })
597
622
  }
598
623
 
624
+ const keys=async( options, db, pattern )=>{ // KEYS pattern
625
+ pattern = pattern!=null ? pattern : '*';
626
+ const exec = require("./exec");
627
+ const redisConn = await exec.redisConn(options);
628
+ const start = Date.now();
629
+ return new Promise((resolve, reject)=>{
630
+ try{
631
+ redisConn.select(db,function() { /* ... */ });
632
+ redisConn.keys(pattern, function (err, res) {
633
+ const end = Date.now();
634
+ const time = end - start;
635
+ resolve({"keys":pattern, "count":res?res.length:0, "err":err, "res":res, "time":utl.milisegundosASegundos(time)});
636
+ try{
637
+ exec.redisClose(redisConn);
638
+ }catch(e){
639
+ utl.log('err.keys '+e);
640
+ }
641
+ });
642
+ }catch(e){
643
+ utl.log('err keys'+e);
644
+ }
645
+ })
646
+ }
647
+
599
648
  const api=async(options, dbm, json)=>{
600
649
  const exec = require("./exec");
601
650
 
@@ -613,7 +662,7 @@ const api=async(options, dbm, json)=>{
613
662
  let lstop = json.stop!=null?json.stop*1:-1;
614
663
  let {field:id, val:vid} = getFirstField(filter);
615
664
 
616
- let ltdml = ['hfind','upsert','set','get','scan','incrby','sadd','srem','smembers','hset','hgetall','del','incrbyfloat','expireat','setnx','hsetnx','hmset','expire','lrange'];
665
+ let ltdml = ['hfind','upsert','set','get','scan','incrby','sadd','srem','smembers','hset','hgetall','del','incrbyfloat','expireat','setnx','hsetnx','hmset','expire','lrange','keys'];
617
666
  for (let x of ltdml){
618
667
  if (utl.ObjectEmpty(json,x)){
619
668
  dml = x; break;
@@ -643,6 +692,7 @@ const api=async(options, dbm, json)=>{
643
692
  case 'hmset': r = await hmset(options,dbm,key,value,expire); break;
644
693
  //case 'expire': r = await expire_(options,dbm,key,expire); break;
645
694
  case 'lrange': r = await lrange(options,dbm,key,lstart,lstop); break;
695
+ case 'keys': r = await keys(options,dbm,key); break;
646
696
  default: r = {"dml":"404", "err":"dml not found."};
647
697
  }
648
698
 
@@ -738,6 +788,7 @@ module.exports ={
738
788
  sadd,
739
789
  srem,
740
790
  smembers,
791
+ scard,
741
792
  hset,
742
793
  hgetall,
743
794
  del,
@@ -746,5 +797,6 @@ module.exports ={
746
797
  api,
747
798
  incrbyfloat,
748
799
  expireat,
749
- lrange
800
+ lrange,
801
+ keys
750
802
  }
package/package.json CHANGED
@@ -14,7 +14,7 @@
14
14
  },
15
15
  "name": "bonsaif",
16
16
  "description": "bonsaif is a library to connect to bonsaif apis",
17
- "version": "1.10.27",
17
+ "version": "1.10.29",
18
18
  "main": "index.js",
19
19
  "directories": {
20
20
  "lib": "lib"