summaryrefslogtreecommitdiff
path: root/desktop/node_modules/roarr/dist/log.js.flow
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/node_modules/roarr/dist/log.js.flow')
-rw-r--r--desktop/node_modules/roarr/dist/log.js.flow47
1 files changed, 47 insertions, 0 deletions
diff --git a/desktop/node_modules/roarr/dist/log.js.flow b/desktop/node_modules/roarr/dist/log.js.flow
new file mode 100644
index 0000000..803ccfc
--- /dev/null
+++ b/desktop/node_modules/roarr/dist/log.js.flow
@@ -0,0 +1,47 @@
+// @flow
+
+import {
+ boolean,
+} from 'boolean';
+import environmentIsNode from 'detect-node';
+import createGlobalThis from 'globalthis';
+import {
+ createLogger,
+ createMockLogger,
+ createRoarrInititialGlobalState,
+} from './factories';
+
+const globalThis = createGlobalThis();
+
+const ROARR = globalThis.ROARR = createRoarrInititialGlobalState(globalThis.ROARR || {});
+
+let logFactory = createLogger;
+
+if (environmentIsNode) {
+ // eslint-disable-next-line no-process-env
+ const enabled = boolean(process.env.ROARR_LOG || '');
+
+ if (!enabled) {
+ logFactory = createMockLogger;
+ }
+}
+
+export type {
+ LoggerType,
+ MessageType,
+ TranslateMessageFunctionType,
+} from './types';
+
+export {
+ ROARR,
+};
+
+export default logFactory((message) => {
+ if (ROARR.write) {
+ // Stringify message as soon as it is received to prevent
+ // properties of the context from being modified by reference.
+ const body = JSON.stringify(message);
+
+ ROARR.write(body);
+ }
+});