BVB Source Codes

Show filters.js Source code

Return Download : download filters.js Source code - Download Source code - Type:.js
  1. 'use strict';
  2.  
  3. exports.json = function (input) {
  4.   return JSON.stringify(input, null, '    ');
  5. };
  6.  
  7. exports.convertBytes = function (input) {
  8.   input = parseInt(input, 10);
  9.   if (input < 1024) {
  10.     return input.toString() + ' Bytes';
  11.   } else if (input < 1024 * 1024) {
  12.     //Convert to KB and keep 2 decimal values
  13.     input = Math.round((input / 1024) * 100) / 100;
  14.     return input.toString() + ' KB';
  15.   } else if (input < 1024 * 1024 * 1024) {
  16.     input = Math.round((input / (1024 * 1024)) * 100) / 100;
  17.     return input.toString() + ' MB';
  18.   } else if (input < 1024 * 1024 * 1024 * 1024) {
  19.     input = Math.round((input / (1024 * 1024 * 1024)) * 100) / 100;
  20.     return input.toString() + ' GB';
  21.   } else if (input < 1024 * 1024 * 1024 * 1024 * 1024) {
  22.     input = Math.round((input / (1024 * 1024 * 1024 * 1024)) * 100) / 100;
  23.     return input.toString() + ' TB';
  24.   } else {
  25.     return input.toString() + ' Bytes';
  26.   }
  27. };
  28.  
  29. exports.to_string = function (input) {
  30.   return (input !== null && input !== undefined) ? input.toString() : '';
  31. };
  32.  
  33. exports.to_display = function (input) {
  34.  
  35.   var entifyGTLTAmp = function (text) {
  36.     // Turn < ? > into HTML entities, so data doesn't get interpreted by the browser
  37.     return text.replace(/&/g, '&amp;')
  38.       .replace(/</g, '&lt;')
  39.       .replace(/>/g, '&gt;')
  40.       .replace(/"/g, '&quot;')
  41.       .replace(/'/g, '&apos;');
  42.   };
  43.  
  44.   var retHTML = '';
  45.  
  46.   // Get nulls out of the way
  47.   if (input === null || input === undefined) {
  48.     return '';
  49.   }
  50.  
  51.   // Large property
  52.   if (
  53.     typeof input === 'object' &&
  54.     input.display &&
  55.     input.display === '*** LARGE PROPERTY ***' &&
  56.     input.preview &&
  57.     input.roughSz &&
  58.     input.humanSz &&
  59.     input.attribu &&
  60.     input.maxSize &&
  61.     input._id
  62.   ) {
  63.     retHTML += '<div class="tooDamnBig" doc_id="' + encodeURIComponent(JSON.stringify(input._id)) + '" ' +
  64.       'doc_prop="' + input.attribu + '" title="Max prop size: ' + input.maxSize + '">';
  65.     retHTML += input.display + '<br>~' + input.humanSz;
  66.     retHTML += '<br>Preview:' + input.preview;
  67.     retHTML += '<br>Click to fetch this property';
  68.     retHTML += '</div>';
  69.     return retHTML;
  70.   }
  71.  
  72.   // Large row
  73.   if (
  74.     typeof input === 'object' &&
  75.     input.display &&
  76.     input.display === '*** LARGE ROW ***' &&
  77.     input.preview &&
  78.     input.roughSz &&
  79.     input.humanSz &&
  80.     input.attribu &&
  81.     input.maxSize &&
  82.     input._id
  83.   ) {
  84.     retHTML += '<div class="tooDamnBig" doc_id="' + encodeURIComponent(JSON.stringify(input._id)) + '" ' +
  85.       'doc_prop="' + input.attribu + '" title="Max row size: ' + input.maxSize + '">';
  86.     retHTML += input.display + '<br>' + input.attribu + ': ~' + input.humanSz;
  87.     retHTML += '<br>Preview:' + input.preview;
  88.     retHTML += '<br>Click to fetch this property';
  89.     retHTML += '</div>';
  90.     return retHTML;
  91.   }
  92.  
  93.   // Images inline
  94.   if (
  95.     typeof input === 'string' &&
  96.     (
  97.       input.substr(0, 22) === 'data:image/png;base64,' ||
  98.       input.substr(0, 22) === 'data:image/gif;base64,' ||
  99.       input.substr(0, 22) === 'data:image/jpg;base64,' ||
  100.       input.substr(0, 23) === 'data:image/jpeg;base64,'
  101.     )
  102.   )  {
  103.     return '<img src="' + input + '" style="max-height:100%; max-width:100%; "/>';
  104.   }
  105.  
  106.   // Audio inline
  107.   if (
  108.     typeof input === 'string' &&
  109.     (
  110.       input.substr(0, 22) === 'data:audio/ogg;base64,' ||
  111.       input.substr(0, 22) === 'data:audio/mp3;base64,'
  112.     )
  113.   )  {
  114.     return '<audio controls style="width:45px;" src="' + input + '">Your browser does not support the audio element.</audio>';
  115.   }
  116.  
  117.   // Video inline
  118.   if (
  119.     typeof input === 'string' &&
  120.     (
  121.       input.substr(0, 23) === 'data:video/webm;base64,' ||
  122.       input.substr(0, 22) === 'data:video/mp4;base64,'  ||
  123.       input.substr(0, 22) === 'data:video/ogv;base64,'
  124.     )
  125.   )  {
  126.     return '<video controls><source type="' + input.substring(input.indexOf(':') + 1, input.indexOf(';')) + '" src="' + input + '"/>' +
  127.       'Your browser does not support the video element.</video>';
  128.   }
  129.  
  130.   if (typeof input === 'object' && input.toString().substr(0, 15) === '[object Object]') {
  131.     return '<pre>' + JSON.stringify(input, null, 2) + '</pre>';
  132.   }
  133.  
  134.   // Concatenate long strings
  135.   if (typeof input === 'string' && input.length > 50) {
  136.     return entifyGTLTAmp(input.substr(0, 49) + '鈥?);
  137.  }
  138.  
  139.  // Return basic .toString() since we've tried all other cases
  140.   return entifyGTLTAmp(input.toString());
  141. };
  142.  
  143. exports.stringDocIDs = function (input) {
  144.  
  145.   // Turns {_bsontype: ' ObjectID', id:12345... } into a plain string
  146.   if (input && typeof input === 'object' && input._bsontype === 'ObjectID') {
  147.     return input.toString();
  148.   }
  149.  
  150.   return input;
  151. };
  152.  
  153. exports.is_embeddedDocumentNotation = function (input) {
  154.   return /^(?:[a-zA-Z0-9_]+\.)+[a-zA-Z0-9_]+/.test(input);
  155. };
  156.  
downloadfilters.js Source code - Download Source code
Related Source Codes/Software:

 Back to top