help.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. module.exports.toBin = mergeToBin;
  2. module.exports.stripZero = stripZero;
  3. module.exports.fixText = mergeToText;
  4. module.exports.merge = merge;
  5. module.exports.clone = clone;
  6. module.exports.fixBin = function(a){
  7. return stripZero(mergeToBin(a));
  8. }
  9. function mergeToText(encodeData){
  10. if(Array.isArray(encodeData)){
  11. var ret = "";
  12. for(var i = 0; i < encodeData.length; i++){
  13. ret += mergeToText(encodeData[i]);
  14. }
  15. return ret;
  16. }
  17. else{
  18. return encodeData.text || "";
  19. }
  20. }
  21. function mergeToBin(encodeData){
  22. if(Array.isArray(encodeData)){
  23. var ret = "";
  24. for(var i = 0; i < encodeData.length; i++){
  25. ret += toBin(encodeData[i].data);
  26. }
  27. return ret;
  28. }
  29. else{
  30. return toBin(encodeData);
  31. }
  32. }
  33. function toBin(res){
  34. var ret = "";
  35. for(var i=0;i<res.length;i++){
  36. if(res[i] > 0){
  37. ret += "1";
  38. }
  39. else{
  40. ret += "0";
  41. }
  42. }
  43. return ret;
  44. }
  45. function stripZero(string){
  46. return string.match(/^0*(.+?)0*$/)[1];
  47. }
  48. function merge(old, replaceObj) {
  49. var newMerge = {};
  50. var k;
  51. for (k in old) {
  52. if (old.hasOwnProperty(k)) {
  53. newMerge[k] = old[k];
  54. }
  55. }
  56. for (k in replaceObj) {
  57. if(replaceObj.hasOwnProperty(k) && typeof replaceObj[k] !== "undefined"){
  58. newMerge[k] = replaceObj[k];
  59. }
  60. }
  61. return newMerge;
  62. }
  63. function clone(obj){
  64. return merge({}, obj)
  65. }