modes.js 728 B

12345678910111213141516171819202122232425262728
  1. "use strict";
  2. var masks = {
  3. mask: parseInt('100000', 8),
  4. blob: parseInt('140000', 8),
  5. file: parseInt('160000', 8)
  6. };
  7. var modes = module.exports = {
  8. isBlob: function (mode) {
  9. return (mode & masks.blob) === masks.mask;
  10. },
  11. isFile: function (mode) {
  12. return (mode & masks.file) === masks.mask;
  13. },
  14. toType: function (mode) {
  15. if (mode === modes.commit) return "commit";
  16. if (mode === modes.tree) return "tree";
  17. if ((mode & masks.blob) === masks.mask) return "blob";
  18. return "unknown";
  19. },
  20. tree: parseInt( '40000', 8),
  21. blob: parseInt('100644', 8),
  22. file: parseInt('100644', 8),
  23. exec: parseInt('100755', 8),
  24. sym: parseInt('120000', 8),
  25. commit: parseInt('160000', 8)
  26. };