file.js 827 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. 'use strict';
  2. const fs = require('hexo-fs');
  3. function File(data) {
  4. this.source = data.source;
  5. this.path = data.path;
  6. this.params = data.params;
  7. this.type = data.type;
  8. }
  9. File.prototype.read = function(options, callback) {
  10. return fs.readFile(this.source, options).asCallback(callback);
  11. };
  12. File.prototype.readSync = function(options) {
  13. return fs.readFileSync(this.source, options);
  14. };
  15. File.prototype.stat = function(options, callback) {
  16. if (!callback && typeof options === 'function') {
  17. callback = options;
  18. options = {};
  19. }
  20. return fs.stat(this.source).asCallback(callback);
  21. };
  22. File.prototype.statSync = function(options) {
  23. return fs.statSync(this.source);
  24. };
  25. File.TYPE_CREATE = 'create';
  26. File.TYPE_UPDATE = 'update';
  27. File.TYPE_SKIP = 'skip';
  28. File.TYPE_DELETE = 'delete';
  29. module.exports = File;