entrypoint.js 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. const IO_KEY = Symbol.for('@pm2/io');
  4. class Entrypoint {
  5. constructor() {
  6. try {
  7. this.io = global[IO_KEY].init(this.conf());
  8. this.onStart(err => {
  9. if (err) {
  10. console.error(err);
  11. process.exit(1);
  12. }
  13. this.sensors();
  14. this.events();
  15. this.actuators();
  16. this.io.onExit((code, signal) => {
  17. this.onStop(err, () => {
  18. this.io.destroy();
  19. }, code, signal);
  20. });
  21. if (process && process.send)
  22. process.send('ready');
  23. });
  24. }
  25. catch (e) {
  26. if (this.io) {
  27. this.io.destroy();
  28. }
  29. throw (e);
  30. }
  31. }
  32. events() {
  33. return;
  34. }
  35. sensors() {
  36. return;
  37. }
  38. actuators() {
  39. return;
  40. }
  41. onStart(cb) {
  42. throw new Error('Entrypoint onStart() not specified');
  43. }
  44. onStop(err, cb, code, signal) {
  45. return cb();
  46. }
  47. conf() {
  48. return undefined;
  49. }
  50. }
  51. exports.Entrypoint = Entrypoint;
  52. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnlwb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mZWF0dXJlcy9lbnRyeXBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUVwQyxNQUFhLFVBQVU7SUFHckI7UUFDRSxJQUFJO1lBQ0YsSUFBSSxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1lBRTFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2pCLElBQUksR0FBRyxFQUFFO29CQUNQLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7b0JBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7aUJBQ2hCO2dCQUVELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtnQkFDZCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUE7Z0JBQ2IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO2dCQUVoQixJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRTtvQkFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO3dCQUNwQixJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFBO29CQUNuQixDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFBO2dCQUNsQixDQUFDLENBQUMsQ0FBQTtnQkFFRixJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSTtvQkFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQ3BELENBQUMsQ0FBQyxDQUFBO1NBQ0g7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUVWLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRTtnQkFDWCxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFBO2FBQ2xCO1lBRUQsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQ1Y7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU07SUFDUixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU07SUFDUixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU07SUFDUixDQUFDO0lBRUQsT0FBTyxDQUFFLEVBQVk7UUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFFRCxNQUFNLENBQUUsR0FBVSxFQUFFLEVBQVksRUFBRSxJQUFZLEVBQUUsTUFBYztRQUM1RCxPQUFPLEVBQUUsRUFBRSxDQUFBO0lBQ2IsQ0FBQztJQUVELElBQUk7UUFDRixPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDO0NBQ0Y7QUExREQsZ0NBMERDIn0=