viewportScale.js 853 B

123456789101112131415161718192021222324252627282930
  1. var meta = require('./meta');
  2. var clamp = require('./clamp');
  3. var trim = require('./trim');
  4. var each = require('./each');
  5. var map = require('./map');
  6. var isNaN = require('./isNaN');
  7. exports = function() {
  8. var viewport = meta('viewport');
  9. if (!viewport) return 1;
  10. viewport = map(viewport.split(','), function(val) {
  11. return trim(val);
  12. });
  13. var minScale = 0.25,
  14. maxScale = 5,
  15. initialScale = 1;
  16. each(viewport, function(val) {
  17. val = val.split('=');
  18. var key = val[0];
  19. val = val[1];
  20. if (key === 'initial-scale') initialScale = +val;
  21. if (key === 'maximum-scale') maxScale = +val;
  22. if (key === 'minimum-scale') minScale = +val;
  23. });
  24. var ret = clamp(initialScale, minScale, maxScale);
  25. if (isNaN(ret)) return 1;
  26. return ret;
  27. };
  28. module.exports = exports;