Current File : //lib/node_modules/pm2/node_modules/@pm2/io/build/main/src/index.js
"use strict";
const pmx_1 = require("./pmx");
const entrypoint_1 = require("./features/entrypoint");
//let io: PMX
var io;
if (process.env.PMX_FORCE_UPDATE) {
    io = new pmx_1.default();
    io.init();
    io.Entrypoint = entrypoint_1.default;
}
else {
    // -----------------------------------
    // create a unique, global symbol name
    // -----------------------------------
    const IO_KEY = Symbol.for('@pm2/io');
    // ------------------------------------------
    // check if the global object has this symbol
    // add it if it does not have the symbol, yet
    // ------------------------------------------
    const globalSymbols = Object.getOwnPropertySymbols(global);
    const hasKey = (globalSymbols.indexOf(IO_KEY) > -1);
    if (!hasKey) {
        io = global[IO_KEY] = new pmx_1.default();
    }
    if (!hasKey) {
        global[IO_KEY].Entrypoint = entrypoint_1.default;
        // Freeze API, cannot be modified
        //Object.freeze(global[IO_KEY])
    }
    io = global[IO_KEY];
}
module.exports = io;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLCtCQUF1QjtBQUN2QixzREFBOEM7QUFFOUMsYUFBYTtBQUNiLElBQUksRUFBRSxDQUFBO0FBRU4sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFO0lBQ2hDLEVBQUUsR0FBRyxJQUFJLGFBQUcsRUFBRSxDQUFBO0lBQ2QsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFBO0lBQ1QsRUFBRSxDQUFDLFVBQVUsR0FBRyxvQkFBVSxDQUFBO0NBQzNCO0tBQ0k7SUFDSCxzQ0FBc0M7SUFDdEMsc0NBQXNDO0lBQ3RDLHNDQUFzQztJQUN0QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBRXBDLDZDQUE2QztJQUM3Qyw2Q0FBNkM7SUFDN0MsNkNBQTZDO0lBQzdDLDZDQUE2QztJQUM3QyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDMUQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFbkQsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxhQUFHLEVBQUUsQ0FBQTtLQUNoQztJQUVELElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDWCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxHQUFHLG9CQUFVLENBQUE7UUFFdEMsaUNBQWlDO1FBQ2pDLCtCQUErQjtLQUNoQztJQUVELEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7Q0FDcEI7QUFFRCxpQkFBUyxFQUFFLENBQUEifQ==