{"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;;;;"}