Guest User

Untitled

a guest
Jun 20th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. "use strict";
  2. const fs = require('fs');
  3. const path = require('path');
  4.  
  5. function clone(generatorFunction) {
  6. function callback(err) {
  7. if (err) {
  8. return generator.throw(err);
  9. }
  10. const results = [].slice.call(arguments, 1);
  11. generator.next(results.length > 1 ? results : results[0]); // <-- calls generator with value to continue after yield.
  12. }
  13. const generator = generatorFunction(callback);
  14. generator.next(); // <--- Line that triggers cloning.
  15. }
  16.  
  17. clone(function* (callback) {
  18. const fileName = path.basename(__filename);
  19. const myself = yield fs.readFile(fileName, 'utf8', callback);
  20. yield fs.writeFile(`clone_of_${fileName}`, myself, callback);
  21. console.log('Clone created');
  22. });
Add Comment
Please, Sign In to add comment