{"version":3,"file":"reloader.mjs","sources":["../../src/services/reloader.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nexport const createReloader = (strapi: Core.Strapi) => {\n  const state = {\n    shouldReload: 0,\n    isWatching: true,\n  };\n\n  function reload() {\n    if (state.shouldReload > 0) {\n      // Reset the reloading state\n      state.shouldReload -= 1;\n      reload.isReloading = false;\n      return;\n    }\n\n    if (strapi.config.get('autoReload')) {\n      process.send?.('reload');\n    }\n  }\n\n  Object.defineProperty(reload, 'isWatching', {\n    configurable: true,\n    enumerable: true,\n    set(value) {\n      // Special state when the reloader is disabled temporarly (see GraphQL plugin example).\n      if (state.isWatching === false && value === true) {\n        state.shouldReload += 1;\n      }\n      state.isWatching = value;\n    },\n    get() {\n      return state.isWatching;\n    },\n  });\n\n  reload.isReloading = false;\n  reload.isWatching = true;\n\n  return reload;\n};\n"],"names":["createReloader","strapi","state","shouldReload","isWatching","reload","isReloading","config","get","process","send","Object","defineProperty","configurable","enumerable","set","value"],"mappings":"AAEO,MAAMA,iBAAiB,CAACC,MAAAA,GAAAA;AAC7B,IAAA,MAAMC,KAAAA,GAAQ;QACZC,YAAAA,EAAc,CAAA;QACdC,UAAAA,EAAY;AACd,KAAA;IAEA,SAASC,MAAAA,GAAAA;QACP,IAAIH,KAAAA,CAAMC,YAAY,GAAG,CAAA,EAAG;;AAE1BD,YAAAA,KAAAA,CAAMC,YAAY,IAAI,CAAA;AACtBE,YAAAA,MAAAA,CAAOC,WAAW,GAAG,KAAA;AACrB,YAAA;AACF,QAAA;AAEA,QAAA,IAAIL,MAAAA,CAAOM,MAAM,CAACC,GAAG,CAAC,YAAA,CAAA,EAAe;AACnCC,YAAAA,OAAAA,CAAQC,IAAI,GAAG,QAAA,CAAA;AACjB,QAAA;AACF,IAAA;IAEAC,MAAAA,CAAOC,cAAc,CAACP,MAAAA,EAAQ,YAAA,EAAc;QAC1CQ,YAAAA,EAAc,IAAA;QACdC,UAAAA,EAAY,IAAA;AACZC,QAAAA,GAAAA,CAAAA,CAAIC,KAAK,EAAA;;AAEP,YAAA,IAAId,KAAAA,CAAME,UAAU,KAAK,KAAA,IAASY,UAAU,IAAA,EAAM;AAChDd,gBAAAA,KAAAA,CAAMC,YAAY,IAAI,CAAA;AACxB,YAAA;AACAD,YAAAA,KAAAA,CAAME,UAAU,GAAGY,KAAAA;AACrB,QAAA,CAAA;AACAR,QAAAA,GAAAA,CAAAA,GAAAA;AACE,YAAA,OAAON,MAAME,UAAU;AACzB,QAAA;AACF,KAAA,CAAA;AAEAC,IAAAA,MAAAA,CAAOC,WAAW,GAAG,KAAA;AACrBD,IAAAA,MAAAA,CAAOD,UAAU,GAAG,IAAA;IAEpB,OAAOC,MAAAA;AACT;;;;"}