length.js 480 B

12345678910111213141516171819202122232425
  1. var utils = require('../utils');
  2. /**
  3. * Return length of the given `expr`.
  4. *
  5. * @param {Expression} expr
  6. * @return {Unit}
  7. * @api public
  8. */
  9. (module.exports = function length(expr){
  10. if (expr) {
  11. if (expr.nodes) {
  12. var nodes = utils.unwrap(expr).nodes;
  13. if (1 == nodes.length && 'object' == nodes[0].nodeName) {
  14. return nodes[0].length;
  15. } else {
  16. return nodes.length;
  17. }
  18. } else {
  19. return 1;
  20. }
  21. }
  22. return 0;
  23. }).raw = true;