@bugfender/rn-bugfender 2.0.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/README.md +16 -1
  2. package/RnBugfender.podspec +15 -0
  3. package/android/.gradle/7.4.2/checksums/checksums.lock +0 -0
  4. package/android/.gradle/7.4.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  5. package/android/.gradle/{7.1 → 7.4.2}/dependencies-accessors/gc.properties +0 -0
  6. package/android/.gradle/{7.1 → 7.4.2}/fileChanges/last-build.bin +0 -0
  7. package/android/.gradle/7.4.2/fileHashes/fileHashes.lock +0 -0
  8. package/android/.gradle/{7.1 → 7.4.2}/gc.properties +0 -0
  9. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  10. package/android/.gradle/buildOutputCleanup/cache.properties +2 -2
  11. package/android/build.gradle +117 -40
  12. package/android/gradle.properties +5 -0
  13. package/android/src/main/java/com/{bugfender/react → bugfender.react}/RnBugfenderModule.java +2 -2
  14. package/android/src/main/java/com/{bugfender/react → bugfender.react}/RnBugfenderPackage.java +0 -0
  15. package/ios/{RnBugfender.m → RnBugfender.mm} +16 -4
  16. package/ios/RnBugfender.xcodeproj/project.pbxproj +4 -17
  17. package/lib/commonjs/bugfender.js +31 -35
  18. package/lib/commonjs/bugfender.js.map +1 -1
  19. package/lib/commonjs/index.js +2 -2
  20. package/lib/commonjs/index.js.map +1 -1
  21. package/lib/commonjs/index.web.js +2 -2
  22. package/lib/commonjs/index.web.js.map +1 -1
  23. package/lib/commonjs/override-console-methods.js +9 -9
  24. package/lib/commonjs/override-console-methods.js.map +1 -1
  25. package/lib/commonjs/sdk-options.js +6 -34
  26. package/lib/commonjs/sdk-options.js.map +1 -1
  27. package/lib/commonjs/types/sdk-options.js +5 -4
  28. package/lib/commonjs/types/sdk-options.js.map +1 -1
  29. package/lib/commonjs/user-feedback.js.map +1 -1
  30. package/lib/module/bugfender.js +30 -31
  31. package/lib/module/bugfender.js.map +1 -1
  32. package/lib/module/index.js +1 -1
  33. package/lib/module/index.js.map +1 -1
  34. package/lib/module/index.web.js +1 -1
  35. package/lib/module/index.web.js.map +1 -1
  36. package/lib/module/override-console-methods.js +9 -9
  37. package/lib/module/override-console-methods.js.map +1 -1
  38. package/lib/module/sdk-options.js +6 -34
  39. package/lib/module/sdk-options.js.map +1 -1
  40. package/lib/module/types/sdk-options.js +5 -4
  41. package/lib/module/types/sdk-options.js.map +1 -1
  42. package/lib/module/user-feedback.js.map +1 -1
  43. package/lib/typescript/bugfender.d.ts +5 -6
  44. package/lib/typescript/index.d.ts +1 -1
  45. package/lib/typescript/index.web.d.ts +1 -1
  46. package/lib/typescript/override-console-methods.d.ts +1 -2
  47. package/lib/typescript/sdk-options.d.ts +2 -12
  48. package/lib/typescript/types/sdk-options.d.ts +2 -0
  49. package/lib/typescript/user-feedback.d.ts +2 -15
  50. package/package.json +26 -22
  51. package/src/bugfender.ts +37 -34
  52. package/src/index.tsx +1 -1
  53. package/src/index.web.tsx +1 -1
  54. package/src/override-console-methods.ts +8 -9
  55. package/src/sdk-options.ts +7 -35
  56. package/src/types/sdk-options.ts +5 -2
  57. package/src/user-feedback.ts +3 -16
  58. package/android/.gradle/7.1/dependencies-accessors/dependencies-accessors.lock +0 -0
  59. package/android/.gradle/7.1/executionHistory/executionHistory.bin +0 -0
  60. package/android/.gradle/7.1/executionHistory/executionHistory.lock +0 -0
  61. package/android/.gradle/7.1/fileHashes/fileHashes.bin +0 -0
  62. package/android/.gradle/7.1/fileHashes/fileHashes.lock +0 -0
  63. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  64. package/android/.gradle/checksums/checksums.lock +0 -0
  65. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  66. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  67. package/android/.idea/compiler.xml +0 -6
  68. package/android/.idea/gradle.xml +0 -18
  69. package/android/.idea/jarRepositories.xml +0 -40
  70. package/android/.idea/misc.xml +0 -8
  71. package/android/.idea/runConfigurations.xml +0 -10
  72. package/android/.idea/uiDesigner.xml +0 -124
  73. package/android/.idea/vcs.xml +0 -6
  74. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  75. package/android/gradle/wrapper/gradle-wrapper.properties +0 -5
  76. package/android/gradlew +0 -185
  77. package/android/gradlew.bat +0 -89
  78. package/ios/RnBugfender.xcodeproj/project.xcworkspace/xcuserdata/fj.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  79. package/ios/RnBugfender.xcodeproj/xcuserdata/fj.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  80. package/lib/commonjs/print-to-console.js +0 -78
  81. package/lib/commonjs/print-to-console.js.map +0 -1
  82. package/lib/commonjs/string-formatter.js +0 -55
  83. package/lib/commonjs/string-formatter.js.map +0 -1
  84. package/lib/commonjs/types/device.js +0 -2
  85. package/lib/commonjs/types/device.js.map +0 -1
  86. package/lib/commonjs/types/log.js +0 -35
  87. package/lib/commonjs/types/log.js.map +0 -1
  88. package/lib/commonjs/utilities.js +0 -18
  89. package/lib/commonjs/utilities.js.map +0 -1
  90. package/lib/module/print-to-console.js +0 -67
  91. package/lib/module/print-to-console.js.map +0 -1
  92. package/lib/module/string-formatter.js +0 -45
  93. package/lib/module/string-formatter.js.map +0 -1
  94. package/lib/module/types/device.js +0 -2
  95. package/lib/module/types/device.js.map +0 -1
  96. package/lib/module/types/log.js +0 -24
  97. package/lib/module/types/log.js.map +0 -1
  98. package/lib/module/utilities.js +0 -11
  99. package/lib/module/utilities.js.map +0 -1
  100. package/lib/typescript/print-to-console.d.ts +0 -14
  101. package/lib/typescript/string-formatter.d.ts +0 -4
  102. package/lib/typescript/types/device.d.ts +0 -4
  103. package/lib/typescript/types/log.d.ts +0 -59
  104. package/lib/typescript/utilities.d.ts +0 -1
  105. package/src/print-to-console.ts +0 -67
  106. package/src/string-formatter.ts +0 -44
  107. package/src/types/device.ts +0 -4
  108. package/src/types/log.ts +0 -75
  109. package/src/utilities.ts +0 -8
@@ -1 +1 @@
1
- {"version":3,"sources":["bugfender.ts"],"names":["LINKING_ERROR","Platform","select","ios","default","RnBugfender","NativeModules","Proxy","get","Error","BugfenderClass","StringFormatter","OverrideConsoleMethods","window","PrintToConsole","global","console","SDKOptions","init","options","initialized","validatedOptions","sdkOptions","deviceName","overrideDeviceName","OS","activateLogger","appKey","apiURL","setApiUrl","baseURL","setBaseUrl","enableLogcatLogging","logUIEvents","enableUIEventLogging","registerErrorHandler","enableCrashReporting","overrideConsoleMethods","stringFormatter","printToConsole","getDeviceURL","getDeviceUrl","getSessionURL","getSessionUrl","getUserFeedback","Promise","resolve","DefaultUserFeedbackOptions","showUserFeedback","title","hint","subjectPlaceholder","feedbackPlaceholder","submitLabel","closeLabel","then","value","isSent","feedbackURL","_","log","parameters","message","format","debug","warn","warning","error","trace","info","fatal","removeDeviceKey","key","sendLog","printLog","line","method","file","level","LogLevel","Debug","tag","text","sendIssue","sendCrash","sendUserFeedback","setDeviceKey","setDeviceBoolean","setDeviceString","Number","isInteger","setDeviceInteger","setDeviceFloat","forceSendOnce"],"mappings":"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","sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport type { ISDKOptions } from './types/sdk-options';\nimport type { UserFeedbackOptions, UserFeedbackResult } from './user-feedback';\nimport { DefaultUserFeedbackOptions } from './user-feedback';\nimport type { DeviceKeyValue } from './types/device';\nimport type { ILogEntry } from './types/log';\nimport { StringFormatter } from './string-formatter';\nimport { LogLevel } from \"./types/log\";\nimport { OverrideConsoleMethods } from \"./override-console-methods\";\nimport { PrintToConsole } from \"./print-to-console\";\nimport { SDKOptions } from \"./sdk-options\";\n\nconst LINKING_ERROR =\n `The package '@bugfender/rn-bugfender' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nconst RnBugfender = NativeModules.RnBugfender\n ? NativeModules.RnBugfender\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nclass BugfenderClass {\n private stringFormatter = new StringFormatter();\n private overrideConsoleMethods = new OverrideConsoleMethods(window);\n private printToConsole = new PrintToConsole(global.console);\n private sdkOptions: SDKOptions = new SDKOptions();\n private initialized = false;\n\n public async init(options: ISDKOptions): Promise<void> {\n if (!this.initialized) {\n const validatedOptions = this.sdkOptions.init(options);\n\n // Needs to be executed prior initialization\n if (typeof options.deviceName !== 'undefined') {\n RnBugfender.overrideDeviceName(options.deviceName);\n }\n\n // Library initialization\n Platform.OS === 'ios'\n ? RnBugfender.activateLogger(validatedOptions.appKey)\n : RnBugfender.init(validatedOptions.appKey, false);\n\n if (typeof validatedOptions.apiURL !== 'undefined') {\n RnBugfender.setApiUrl(validatedOptions.apiURL);\n }\n\n if (typeof validatedOptions.baseURL !== 'undefined') {\n RnBugfender.setBaseUrl(validatedOptions.baseURL);\n }\n\n if (validatedOptions.enableLogcatLogging) {\n RnBugfender.enableLogcatLogging();\n }\n\n if (validatedOptions.logUIEvents) {\n RnBugfender.enableUIEventLogging();\n }\n\n if (validatedOptions.registerErrorHandler) {\n RnBugfender.enableCrashReporting();\n }\n\n if (validatedOptions.overrideConsoleMethods) {\n this.overrideConsoleMethods.init(this.stringFormatter);\n }\n\n this.printToConsole.init(validatedOptions.printToConsole ?? true);\n\n this.initialized = true;\n }\n }\n\n /**\n * @returns Bugfender dashboard URL for the device\n */\n public getDeviceURL(): Promise<string> {\n return RnBugfender.getDeviceUrl();\n }\n\n /**\n * @returns Bugfender dashboard URL for the current session\n */\n public getSessionURL(): Promise<string> {\n return RnBugfender.getSessionUrl();\n }\n\n /**\n * Show a modal which asks for feedback. Once the user closes the modal or sends the feedback\n * the returned promise resolves with the result.\n *\n * ```typescript\n * Bugfender.getUserFeedback().then((result) => {\n * if (result.isSent) {\n * // User sent the feedback\n * // `result.feedbackURL` contains the Bugfender feedback URL\n * } else {\n * // User closed the modal without sending the feedback\n * }\n * });\n * ```\n *\n * @param options Options object to configure modal strings\n * @returns Promise which resolves once the user closes the modal or sends the feedback\n */\n public async getUserFeedback(\n options?: UserFeedbackOptions\n ): Promise<UserFeedbackResult> {\n return new Promise<UserFeedbackResult>((resolve) => {\n options = {\n ...new DefaultUserFeedbackOptions(),\n ...(options ?? {}),\n };\n\n return RnBugfender.showUserFeedback(\n options.title,\n options.hint,\n options.subjectPlaceholder,\n options.feedbackPlaceholder,\n options.submitLabel,\n options.closeLabel\n ).then(\n (value: string) => {\n resolve({\n isSent: true,\n feedbackURL: value,\n });\n },\n (_: any) => {\n resolve({\n isSent: false,\n });\n }\n );\n });\n }\n\n /**\n * @param obj A JavaScript value to output\n * @param objs List of optional JavaScript values to output\n */\n public log(obj: unknown, ...objs: unknown[]): void;\n /**\n * String message with optional substitutions. This mimicks que the `window.console` template messages. [Learn more in MDN](https://developer.mozilla.org/en-US/docs/Web/API/console#Using_string_substitutions).\n *\n * @param msg Message with optional `%` placeholders\n * @param subst Optional substitutions list\n */\n public log(msg: string, ...subst: unknown[]): void;\n public log(...parameters: unknown[]): void {\n this.printToConsole.log(...parameters);\n\n let message = this.stringFormatter.format([...parameters]);\n RnBugfender.debug('', message);\n }\n\n /**\n * @param obj A JavaScript value to output\n * @param objs List of optional JavaScript values to output\n */\n public warn(obj: unknown, ...objs: unknown[]): void;\n /**\n * String message with optional substitutions. This mimicks que the `window.console` template messages. [Learn more in MDN](https://developer.mozilla.org/en-US/docs/Web/API/console#Using_string_substitutions).\n *\n * @param msg Message with optional `%` placeholders\n * @param subst Optional substitutions list\n */\n public warn(msg: string, ...subst: unknown[]): void;\n public warn(...parameters: unknown[]): void {\n this.printToConsole.warn(...parameters);\n\n let message = this.stringFormatter.format([...parameters]);\n RnBugfender.warning('', message);\n }\n\n /**\n * @param obj A JavaScript value to output\n * @param objs List of optional JavaScript values to output\n */\n public error(obj: unknown, ...objs: unknown[]): void;\n /**\n * String message with optional substitutions. This mimicks que the `window.console` template messages. [Learn more in MDN](https://developer.mozilla.org/en-US/docs/Web/API/console#Using_string_substitutions).\n *\n * @param msg Message with optional `%` placeholders\n * @param subst Optional substitutions list\n */\n public error(msg: string, ...subst: unknown[]): void;\n public error(...parameters: unknown[]): void {\n this.printToConsole.error(...parameters);\n\n let message = this.stringFormatter.format([...parameters]);\n RnBugfender.error('', message);\n }\n\n /**\n * @param obj A JavaScript value to output\n * @param objs List of optional JavaScript values to output\n */\n public trace(obj: unknown, ...objs: unknown[]): void;\n /**\n * String message with optional substitutions. This mimicks que the `window.console` template messages. [Learn more in MDN](https://developer.mozilla.org/en-US/docs/Web/API/console#Using_string_substitutions).\n *\n * @param msg Message with optional `%` placeholders\n * @param subst Optional substitutions list\n */\n public trace(msg: string, ...subst: unknown[]): void;\n public trace(...parameters: unknown[]): void {\n this.printToConsole.trace(...parameters);\n\n let message = this.stringFormatter.format([...parameters]);\n RnBugfender.trace('', message);\n }\n\n /**\n * @param obj A JavaScript value to output\n * @param objs List of optional JavaScript values to output\n */\n public info(obj: unknown, ...objs: unknown[]): void;\n /**\n * String message with optional substitutions. This mimicks que the `window.console` template messages. [Learn more in MDN](https://developer.mozilla.org/en-US/docs/Web/API/console#Using_string_substitutions).\n *\n * @param msg Message with optional `%` placeholders\n * @param subst Optional substitutions list\n */\n public info(msg: string, ...subst: unknown[]): void;\n public info(...parameters: unknown[]): void {\n this.printToConsole.info(...parameters);\n\n let message = this.stringFormatter.format([...parameters]);\n RnBugfender.info('', message);\n }\n\n /**\n * @param obj A JavaScript value to output\n * @param objs List of optional JavaScript values to output\n */\n public fatal(obj: unknown, ...objs: unknown[]): void;\n /**\n * String message with optional substitutions. This mimicks que the `window.console` template messages. [Learn more in MDN](https://developer.mozilla.org/en-US/docs/Web/API/console#Using_string_substitutions).\n *\n * @param msg Message with optional `%` placeholders\n * @param subst Optional substitutions list\n */\n public fatal(msg: string, ...subst: unknown[]): void;\n public fatal(...parameters: unknown[]): void {\n this.printToConsole.error(...parameters);\n\n let message = this.stringFormatter.format([...parameters]);\n RnBugfender.fatal('', message);\n }\n\n /**\n * Remove a device associated key-value pair. [Learn more](https://bugfender.com/blog/associated-device-information/).\n *\n * @param key Key identifier\n */\n public removeDeviceKey(key: string): void {\n RnBugfender.removeDeviceKey(key);\n this.printToConsole.info(`Device key \"${key}\" removed`);\n }\n\n /**\n * Use this method if you need more control over the data sent while logging. See `ILogEntry` interface reference to see all the accepted properties.\n *\n * @param log Log object that complies with `ILogEntry` interface.\n */\n public sendLog(log: ILogEntry): void {\n this.printToConsole.printLog(log);\n\n RnBugfender.log(\n log.line ?? 0,\n log.method ?? '',\n log.file ?? '',\n log.level ?? LogLevel.Debug,\n log.tag ?? '',\n log.text ?? ''\n );\n }\n\n /**\n * Send an issue.\n *\n * @param title - Title\n * @param text - Text content\n * @returns Bugfender dashboard URL for the issue.\n */\n public sendIssue(title: string, text: string): Promise<string> {\n this.printToConsole.warn(`Issue: ${title}.\\n${text}`);\n return RnBugfender.sendIssue(title, text);\n }\n\n /**\n * Send a crash report.\n *\n * @param title - Title\n * @param text - Text content\n * @returns Bugfender dashboard URL for the crash.\n */\n public sendCrash(title: string, text: string): Promise<string> {\n this.printToConsole.error(`Crash: ${title}.\\n${text}`);\n return RnBugfender.sendCrash(title, text);\n }\n\n /**\n * Send an user feedback.\n *\n * @param title - Title/Subject\n * @param text - Feedback text\n * @returns Bugfender dashboard URL for the feedback.\n */\n public sendUserFeedback(title: string, text: string): Promise<string> {\n this.printToConsole.info(`User Feedback: ${title}.\\n${text}`);\n return RnBugfender.sendUserFeedback(title, text);\n }\n\n /**\n * Set a device associated key-value pair. [Learn more](https://bugfender.com/blog/associated-device-information/).\n *\n * @param key Key identifier.\n * @param value Value.\n */\n public setDeviceKey(key: string, value: DeviceKeyValue): void {\n this.printToConsole.info(`Device key \"${key}\" set to \"${value}\"`);\n\n if (typeof value === 'boolean') {\n RnBugfender.setDeviceBoolean(key, value);\n } else if (typeof value === 'string') {\n RnBugfender.setDeviceString(key, value);\n } else {\n // typeof value === 'number'\n if (Number.isInteger(value)) {\n RnBugfender.setDeviceInteger(key, value);\n } else {\n RnBugfender.setDeviceFloat(key, value);\n }\n }\n }\n\n /**\n * Synchronizes all logs and issues with the server once, regardless if this device is enabled or not.\n *\n * Logs and issues are synchronized only once. After that, the logs are again sent according to the enabled flag\n * in the Bugfender Console.\n */\n public forceSendOnce(): void {\n this.printToConsole.info(`Force send once`);\n RnBugfender.forceSendOnce();\n }\n}\n\nexport {\n BugfenderClass, RnBugfender\n}\n"]}
1
+ {"version":3,"names":["LINKING_ERROR","Platform","select","ios","default","RnBugfender","NativeModules","Proxy","get","Error","BugfenderClass","require","OverrideConsoleMethods","window","PrintToConsole","global","console","SDKOptions","init","options","initialized","validatedOptions","sdkOptions","deviceName","overrideDeviceName","apiURL","setApiUrl","baseURL","setBaseUrl","OS","activateLogger","appKey","printToConsole","overrideConsoleMethods","enableLogcatLogging","logUIEvents","enableUIEventLogging","registerErrorHandler","enableCrashReporting","setMaximumLocalStorageSize","maximumLocalStorageSize","getDeviceURL","getDeviceUrl","getSessionURL","getSessionUrl","getUserFeedback","Promise","resolve","DefaultUserFeedbackOptions","showUserFeedback","title","hint","subjectPlaceholder","feedbackPlaceholder","submitLabel","closeLabel","then","value","isSent","feedbackURL","_","log","parameters","message","format","debug","warn","warning","error","trace","info","fatal","removeDeviceKey","key","sendLog","printLog","line","method","file","level","LogLevel","Debug","tag","text","sendIssue","sendCrash","sendUserFeedback","setDeviceKey","setDeviceBoolean","setDeviceString","Number","isInteger","setDeviceInteger","setDeviceFloat","forceSendOnce","setForceEnabled","enabled"],"sources":["bugfender.ts"],"sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport { BugfenderFacade, DeviceKeyValue, LogEntry, LogLevel, PrintToConsole, UserFeedbackResult, format } from '@bugfender/common';\nimport type { ISDKOptions } from './types/sdk-options';\nimport type { UserFeedbackOptions } from './user-feedback';\nimport { DefaultUserFeedbackOptions } from './user-feedback';\nimport { SDKOptions } from './sdk-options';\n\nconst LINKING_ERROR =\n `The package '@bugfender/rn-bugfender' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nconst RnBugfender = NativeModules.RnBugfender\n ? NativeModules.RnBugfender\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nclass BugfenderClass implements BugfenderFacade {\n private overrideConsoleMethods =\n new (require('./override-console-methods').OverrideConsoleMethods)(window);\n private printToConsole = new PrintToConsole(global.console);\n private sdkOptions: SDKOptions = new SDKOptions();\n private initialized = false;\n\n public async init(options: ISDKOptions): Promise<void> {\n if (!this.initialized) {\n const validatedOptions = this.sdkOptions.init(options);\n\n // region before init\n if (typeof options.deviceName !== 'undefined') {\n RnBugfender.overrideDeviceName(options.deviceName);\n }\n if (typeof validatedOptions.apiURL !== 'undefined') {\n RnBugfender.setApiUrl(validatedOptions.apiURL);\n }\n if (typeof validatedOptions.baseURL !== 'undefined') {\n RnBugfender.setBaseUrl(validatedOptions.baseURL);\n }\n // endregion before init\n\n // region init\n Platform.OS === 'ios'\n ? RnBugfender.activateLogger(validatedOptions.appKey)\n : RnBugfender.init(validatedOptions.appKey, validatedOptions.printToConsole ?? false);\n\n if (validatedOptions.overrideConsoleMethods) {\n this.overrideConsoleMethods.init();\n }\n\n this.printToConsole.init(validatedOptions.printToConsole ?? true);\n // endregion init\n\n // region after init\n if (validatedOptions.enableLogcatLogging) {\n RnBugfender.enableLogcatLogging();\n }\n if (validatedOptions.logUIEvents) {\n RnBugfender.enableUIEventLogging();\n }\n if (validatedOptions.registerErrorHandler) {\n RnBugfender.enableCrashReporting();\n }\n RnBugfender.setMaximumLocalStorageSize(\n validatedOptions.maximumLocalStorageSize\n );\n // endregion after init\n\n this.initialized = true;\n }\n }\n\n /**\n * @returns Bugfender dashboard URL for the device\n */\n public getDeviceURL(): Promise<string> {\n return RnBugfender.getDeviceUrl();\n }\n\n /**\n * @returns Bugfender dashboard URL for the current session\n */\n public getSessionURL(): Promise<string> {\n return RnBugfender.getSessionUrl();\n }\n\n /**\n * Show a modal which asks for feedback. Once the user closes the modal or sends the feedback\n * the returned promise resolves with the result.\n *\n * ```typescript\n * Bugfender.getUserFeedback().then((result) => {\n * if (result.isSent) {\n * // User sent the feedback\n * // `result.feedbackURL` contains the Bugfender feedback URL\n * } else {\n * // User closed the modal without sending the feedback\n * }\n * });\n * ```\n *\n * @param options Options object to configure modal strings\n * @returns Promise which resolves once the user closes the modal or sends the feedback\n */\n public async getUserFeedback(\n options?: UserFeedbackOptions\n ): Promise<UserFeedbackResult> {\n return new Promise<UserFeedbackResult>((resolve) => {\n options = {\n ...new DefaultUserFeedbackOptions(),\n ...(options ?? {}),\n };\n\n return RnBugfender.showUserFeedback(\n options.title,\n options.hint,\n options.subjectPlaceholder,\n options.feedbackPlaceholder,\n options.submitLabel,\n options.closeLabel\n ).then(\n (value: string) => {\n resolve({\n isSent: true,\n feedbackURL: value,\n });\n },\n (_: any) => {\n resolve({\n isSent: false,\n });\n }\n );\n });\n }\n\n /**\n * @param obj A JavaScript value to output\n * @param objs List of optional JavaScript values to output\n */\n public log(obj: unknown, ...objs: unknown[]): void;\n /**\n * String message with optional substitutions. This mimicks que the `window.console` template messages. [Learn more in MDN](https://developer.mozilla.org/en-US/docs/Web/API/console#Using_string_substitutions).\n *\n * @param msg Message with optional `%` placeholders\n * @param subst Optional substitutions list\n */\n public log(msg: string, ...subst: unknown[]): void;\n public log(...parameters: unknown[]): void {\n this.printToConsole.log(...parameters);\n\n let message = format([...parameters]);\n RnBugfender.debug('', message);\n }\n\n /**\n * @param obj A JavaScript value to output\n * @param objs List of optional JavaScript values to output\n */\n public warn(obj: unknown, ...objs: unknown[]): void;\n /**\n * String message with optional substitutions. This mimicks que the `window.console` template messages. [Learn more in MDN](https://developer.mozilla.org/en-US/docs/Web/API/console#Using_string_substitutions).\n *\n * @param msg Message with optional `%` placeholders\n * @param subst Optional substitutions list\n */\n public warn(msg: string, ...subst: unknown[]): void;\n public warn(...parameters: unknown[]): void {\n this.printToConsole.warn(...parameters);\n\n let message = format([...parameters]);\n RnBugfender.warning('', message);\n }\n\n /**\n * @param obj A JavaScript value to output\n * @param objs List of optional JavaScript values to output\n */\n public error(obj: unknown, ...objs: unknown[]): void;\n /**\n * String message with optional substitutions. This mimicks que the `window.console` template messages. [Learn more in MDN](https://developer.mozilla.org/en-US/docs/Web/API/console#Using_string_substitutions).\n *\n * @param msg Message with optional `%` placeholders\n * @param subst Optional substitutions list\n */\n public error(msg: string, ...subst: unknown[]): void;\n public error(...parameters: unknown[]): void {\n this.printToConsole.error(...parameters);\n\n let message = format([...parameters]);\n RnBugfender.error('', message);\n }\n\n /**\n * @param obj A JavaScript value to output\n * @param objs List of optional JavaScript values to output\n */\n public trace(obj: unknown, ...objs: unknown[]): void;\n /**\n * String message with optional substitutions. This mimicks que the `window.console` template messages. [Learn more in MDN](https://developer.mozilla.org/en-US/docs/Web/API/console#Using_string_substitutions).\n *\n * @param msg Message with optional `%` placeholders\n * @param subst Optional substitutions list\n */\n public trace(msg: string, ...subst: unknown[]): void;\n public trace(...parameters: unknown[]): void {\n this.printToConsole.trace(...parameters);\n\n let message = format([...parameters]);\n RnBugfender.trace('', message);\n }\n\n /**\n * @param obj A JavaScript value to output\n * @param objs List of optional JavaScript values to output\n */\n public info(obj: unknown, ...objs: unknown[]): void;\n /**\n * String message with optional substitutions. This mimicks que the `window.console` template messages. [Learn more in MDN](https://developer.mozilla.org/en-US/docs/Web/API/console#Using_string_substitutions).\n *\n * @param msg Message with optional `%` placeholders\n * @param subst Optional substitutions list\n */\n public info(msg: string, ...subst: unknown[]): void;\n public info(...parameters: unknown[]): void {\n this.printToConsole.info(...parameters);\n\n let message = format([...parameters]);\n RnBugfender.info('', message);\n }\n\n /**\n * @param obj A JavaScript value to output\n * @param objs List of optional JavaScript values to output\n */\n public fatal(obj: unknown, ...objs: unknown[]): void;\n /**\n * String message with optional substitutions. This mimicks que the `window.console` template messages. [Learn more in MDN](https://developer.mozilla.org/en-US/docs/Web/API/console#Using_string_substitutions).\n *\n * @param msg Message with optional `%` placeholders\n * @param subst Optional substitutions list\n */\n public fatal(msg: string, ...subst: unknown[]): void;\n public fatal(...parameters: unknown[]): void {\n this.printToConsole.error(...parameters);\n\n let message = format([...parameters]);\n RnBugfender.fatal('', message);\n }\n\n /**\n * Remove a device associated key-value pair. [Learn more](https://bugfender.com/blog/associated-device-information/).\n *\n * @param key Key identifier\n */\n public removeDeviceKey(key: string): void {\n RnBugfender.removeDeviceKey(key);\n this.printToConsole.info(`Device key \"${key}\" removed`);\n }\n\n /**\n * Use this method if you need more control over the data sent while logging. See `ILogEntry` interface reference to see all the accepted properties.\n *\n * @param log Log object that complies with `ILogEntry` interface.\n */\n public sendLog(log: LogEntry): void {\n this.printToConsole.printLog(log);\n\n RnBugfender.log(\n log.line ?? 0,\n log.method ?? '',\n log.file ?? '',\n log.level ?? LogLevel.Debug,\n log.tag ?? '',\n log.text ?? ''\n );\n }\n\n /**\n * Send an issue.\n *\n * @param title - Title\n * @param text - Text content\n * @returns Bugfender dashboard URL for the issue.\n */\n public sendIssue(title: string, text: string): Promise<string> {\n this.printToConsole.warn(`Issue: ${title}.\\n${text}`);\n return RnBugfender.sendIssue(title, text);\n }\n\n /**\n * Send a crash report.\n *\n * @param title - Title\n * @param text - Text content\n * @returns Bugfender dashboard URL for the crash.\n */\n public sendCrash(title: string, text: string): Promise<string> {\n this.printToConsole.error(`Crash: ${title}.\\n${text}`);\n return RnBugfender.sendCrash(title, text);\n }\n\n /**\n * Send an user feedback.\n *\n * @param title - Title/Subject\n * @param text - Feedback text\n * @returns Bugfender dashboard URL for the feedback.\n */\n public sendUserFeedback(title: string, text: string): Promise<string> {\n this.printToConsole.info(`User Feedback: ${title}.\\n${text}`);\n return RnBugfender.sendUserFeedback(title, text);\n }\n\n /**\n * Set a device associated key-value pair. [Learn more](https://bugfender.com/blog/associated-device-information/).\n *\n * @param key Key identifier.\n * @param value Value.\n */\n public setDeviceKey(key: string, value: DeviceKeyValue): void {\n this.printToConsole.info(`Device key \"${key}\" set to \"${value}\"`);\n\n if (typeof value === 'boolean') {\n RnBugfender.setDeviceBoolean(key, value);\n } else if (typeof value === 'string') {\n RnBugfender.setDeviceString(key, value);\n } else {\n // typeof value === 'number'\n if (Number.isInteger(value)) {\n RnBugfender.setDeviceInteger(key, value);\n } else {\n RnBugfender.setDeviceFloat(key, value);\n }\n }\n }\n\n /**\n * Synchronizes all logs and issues with the server once, regardless if this device is enabled or not.\n *\n * Logs and issues are synchronized only once. After that, the logs are again sent according to the enabled flag\n * in the Bugfender Console.\n */\n public forceSendOnce(): void {\n this.printToConsole.info(`Force send once`);\n RnBugfender.forceSendOnce();\n }\n\n public setForceEnabled(enabled: boolean): void {\n this.printToConsole.info(`Set force enabled set to ${enabled}`);\n RnBugfender.setForceEnabled(enabled);\n }\n}\n\nexport {\n BugfenderClass, RnBugfender\n}\n"],"mappings":"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"}
@@ -7,7 +7,7 @@ exports.Bugfender = void 0;
7
7
  Object.defineProperty(exports, "LogLevel", {
8
8
  enumerable: true,
9
9
  get: function () {
10
- return _log.LogLevel;
10
+ return _common.LogLevel;
11
11
  }
12
12
  });
13
13
  Object.defineProperty(exports, "SDKOptionsBuilder", {
@@ -17,7 +17,7 @@ Object.defineProperty(exports, "SDKOptionsBuilder", {
17
17
  }
18
18
  });
19
19
 
20
- var _log = require("./types/log");
20
+ var _common = require("@bugfender/common");
21
21
 
22
22
  var _sdkOptions = require("./types/sdk-options");
23
23
 
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":["Bugfender","BugfenderClass"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA,MAAMA,SAAS,GAAG,IAAIC,yBAAJ,EAAlB","sourcesContent":["import { LogLevel } from './types/log';\nimport { SDKOptionsBuilder } from './types/sdk-options';\nimport { BugfenderClass } from './bugfender';\n\nconst Bugfender = new BugfenderClass();\n\nexport { Bugfender, LogLevel, SDKOptionsBuilder };\n"]}
1
+ {"version":3,"names":["Bugfender","BugfenderClass"],"sources":["index.tsx"],"sourcesContent":["import { LogLevel } from '@bugfender/common';\nimport { SDKOptionsBuilder } from './types/sdk-options';\nimport { BugfenderClass } from './bugfender';\n\nconst Bugfender = new BugfenderClass();\n\nexport { Bugfender, LogLevel, SDKOptionsBuilder };\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA,MAAMA,SAAS,GAAG,IAAIC,yBAAJ,EAAlB"}
@@ -12,7 +12,7 @@ Object.defineProperty(exports, "Bugfender", {
12
12
  Object.defineProperty(exports, "LogLevel", {
13
13
  enumerable: true,
14
14
  get: function () {
15
- return _log.LogLevel;
15
+ return _common.LogLevel;
16
16
  }
17
17
  });
18
18
  Object.defineProperty(exports, "SDKOptionsBuilder", {
@@ -22,7 +22,7 @@ Object.defineProperty(exports, "SDKOptionsBuilder", {
22
22
  }
23
23
  });
24
24
 
25
- var _log = require("./types/log");
25
+ var _common = require("@bugfender/common");
26
26
 
27
27
  var _sdkOptions = require("./types/sdk-options");
28
28
 
@@ -1 +1 @@
1
- {"version":3,"sources":["index.web.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA","sourcesContent":["import { LogLevel } from './types/log';\nimport { SDKOptionsBuilder } from './types/sdk-options';\nimport { Bugfender } from '@bugfender/sdk';\n\nexport { Bugfender, LogLevel, SDKOptionsBuilder };\n"]}
1
+ {"version":3,"names":[],"sources":["index.web.tsx"],"sourcesContent":["import { LogLevel } from '@bugfender/common';\nimport { SDKOptionsBuilder } from './types/sdk-options';\nimport { Bugfender } from '@bugfender/sdk';\n\nexport { Bugfender, LogLevel, SDKOptionsBuilder };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA"}
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.OverrideConsoleMethods = void 0;
7
7
 
8
- var _bugfender = require("./bugfender");
8
+ var _common = require("@bugfender/common");
9
9
 
10
- /* eslint-disable @typescript-eslint/no-explicit-any */
10
+ var _bugfender = require("./bugfender");
11
11
 
12
12
  /**
13
13
  * Overrides the `window.console` methods in order to execute the Bugfender equivalent logging
@@ -18,7 +18,7 @@ class OverrideConsoleMethods {
18
18
  this.window = window;
19
19
  }
20
20
 
21
- init(stringFormatter) {
21
+ init() {
22
22
  this.window.console = function (console) {
23
23
  return { ...console,
24
24
  log: function () {
@@ -27,7 +27,7 @@ class OverrideConsoleMethods {
27
27
  }
28
28
 
29
29
  console.log(...parameters);
30
- let message = stringFormatter.format([...parameters]);
30
+ let message = (0, _common.format)([...parameters]);
31
31
 
32
32
  _bugfender.RnBugfender.debug('', message);
33
33
  },
@@ -37,7 +37,7 @@ class OverrideConsoleMethods {
37
37
  }
38
38
 
39
39
  console.debug(...parameters);
40
- let message = stringFormatter.format([...parameters]);
40
+ let message = (0, _common.format)([...parameters]);
41
41
 
42
42
  _bugfender.RnBugfender.debug('', message);
43
43
  },
@@ -47,7 +47,7 @@ class OverrideConsoleMethods {
47
47
  }
48
48
 
49
49
  console.trace(...parameters);
50
- let message = stringFormatter.format([...parameters]);
50
+ let message = (0, _common.format)([...parameters]);
51
51
 
52
52
  _bugfender.RnBugfender.trace('', message);
53
53
  },
@@ -57,7 +57,7 @@ class OverrideConsoleMethods {
57
57
  }
58
58
 
59
59
  console.info(...parameters);
60
- let message = stringFormatter.format([...parameters]);
60
+ let message = (0, _common.format)([...parameters]);
61
61
 
62
62
  _bugfender.RnBugfender.info('', message);
63
63
  },
@@ -67,7 +67,7 @@ class OverrideConsoleMethods {
67
67
  }
68
68
 
69
69
  console.warn(...parameters);
70
- let message = stringFormatter.format([...parameters]);
70
+ let message = (0, _common.format)([...parameters]);
71
71
 
72
72
  _bugfender.RnBugfender.warning('', message);
73
73
  },
@@ -77,7 +77,7 @@ class OverrideConsoleMethods {
77
77
  }
78
78
 
79
79
  console.error(...parameters);
80
- let message = stringFormatter.format([...parameters]);
80
+ let message = (0, _common.format)([...parameters]);
81
81
 
82
82
  _bugfender.RnBugfender.error('', message);
83
83
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["override-console-methods.ts"],"names":["OverrideConsoleMethods","constructor","window","init","stringFormatter","console","log","parameters","message","format","RnBugfender","debug","trace","info","warn","warning","error"],"mappings":";;;;;;;AACA;;AADA;;AAIA;AACA;AACA;AACA;AACO,MAAMA,sBAAN,CAA6B;AAClCC,EAAAA,WAAW,CACCC,MADD,EAET;AAAA,SADUA,MACV,GADUA,MACV;AACD;;AAEMC,EAAAA,IAAI,CAACC,eAAD,EAAyC;AAEjD,SAAKF,MAAN,CAAqBG,OAArB,GAA+B,UAAUA,OAAV,EAA4B;AACzD,aAAO,EACL,GAAGA,OADE;AAELC,QAAAA,GAAG,EAAE,YAAoC;AAAA,4CAAvBC,UAAuB;AAAvBA,YAAAA,UAAuB;AAAA;;AACvCF,UAAAA,OAAO,CAACC,GAAR,CAAY,GAAGC,UAAf;AACA,cAAIC,OAAO,GAAGJ,eAAe,CAACK,MAAhB,CAAuB,CAAC,GAAGF,UAAJ,CAAvB,CAAd;;AACAG,iCAAYC,KAAZ,CAAkB,EAAlB,EAAsBH,OAAtB;AACD,SANI;AAOLG,QAAAA,KAAK,EAAE,YAAoC;AAAA,6CAAvBJ,UAAuB;AAAvBA,YAAAA,UAAuB;AAAA;;AACzCF,UAAAA,OAAO,CAACM,KAAR,CAAc,GAAGJ,UAAjB;AACA,cAAIC,OAAO,GAAGJ,eAAe,CAACK,MAAhB,CAAuB,CAAC,GAAGF,UAAJ,CAAvB,CAAd;;AACAG,iCAAYC,KAAZ,CAAkB,EAAlB,EAAsBH,OAAtB;AACD,SAXI;AAYLI,QAAAA,KAAK,EAAE,YAAoC;AAAA,6CAAvBL,UAAuB;AAAvBA,YAAAA,UAAuB;AAAA;;AACzCF,UAAAA,OAAO,CAACO,KAAR,CAAc,GAAGL,UAAjB;AACA,cAAIC,OAAO,GAAGJ,eAAe,CAACK,MAAhB,CAAuB,CAAC,GAAGF,UAAJ,CAAvB,CAAd;;AACAG,iCAAYE,KAAZ,CAAkB,EAAlB,EAAsBJ,OAAtB;AACD,SAhBI;AAiBLK,QAAAA,IAAI,EAAE,YAAoC;AAAA,6CAAvBN,UAAuB;AAAvBA,YAAAA,UAAuB;AAAA;;AACxCF,UAAAA,OAAO,CAACQ,IAAR,CAAa,GAAGN,UAAhB;AACA,cAAIC,OAAO,GAAGJ,eAAe,CAACK,MAAhB,CAAuB,CAAC,GAAGF,UAAJ,CAAvB,CAAd;;AACAG,iCAAYG,IAAZ,CAAiB,EAAjB,EAAqBL,OAArB;AACD,SArBI;AAsBLM,QAAAA,IAAI,EAAE,YAAoC;AAAA,6CAAvBP,UAAuB;AAAvBA,YAAAA,UAAuB;AAAA;;AACxCF,UAAAA,OAAO,CAACS,IAAR,CAAa,GAAGP,UAAhB;AACA,cAAIC,OAAO,GAAGJ,eAAe,CAACK,MAAhB,CAAuB,CAAC,GAAGF,UAAJ,CAAvB,CAAd;;AACAG,iCAAYK,OAAZ,CAAoB,EAApB,EAAwBP,OAAxB;AACD,SA1BI;AA2BLQ,QAAAA,KAAK,EAAE,YAAoC;AAAA,6CAAvBT,UAAuB;AAAvBA,YAAAA,UAAuB;AAAA;;AACzCF,UAAAA,OAAO,CAACW,KAAR,CAAc,GAAGT,UAAjB;AACA,cAAIC,OAAO,GAAGJ,eAAe,CAACK,MAAhB,CAAuB,CAAC,GAAGF,UAAJ,CAAvB,CAAd;;AACAG,iCAAYM,KAAZ,CAAkB,EAAlB,EAAsBR,OAAtB;AACD;AA/BI,OAAP;AAiCD,KAlC8B,CAkC5B,KAAKN,MAAN,CAAqBG,OAlCQ,CAA/B;AAmCD;;AA3CiC","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {RnBugfender} from \"./bugfender\";\nimport type {StringFormatter} from \"./string-formatter\";\n\n/**\n * Overrides the `window.console` methods in order to execute the Bugfender equivalent logging\n * methods while keeping the original browser functionality.\n */\nexport class OverrideConsoleMethods {\n constructor(\n protected window: Window,\n ) {\n }\n\n public init(stringFormatter: StringFormatter): void {\n\n (this.window as any).console = function (console: Console) {\n return {\n ...console,\n log: function (...parameters: unknown[]) {\n console.log(...parameters);\n let message = stringFormatter.format([...parameters]);\n RnBugfender.debug('', message);\n },\n debug: function (...parameters: unknown[]) {\n console.debug(...parameters);\n let message = stringFormatter.format([...parameters]);\n RnBugfender.debug('', message);\n },\n trace: function (...parameters: unknown[]) {\n console.trace(...parameters);\n let message = stringFormatter.format([...parameters]);\n RnBugfender.trace('', message);\n },\n info: function (...parameters: unknown[]) {\n console.info(...parameters);\n let message = stringFormatter.format([...parameters]);\n RnBugfender.info('', message);\n },\n warn: function (...parameters: unknown[]) {\n console.warn(...parameters);\n let message = stringFormatter.format([...parameters]);\n RnBugfender.warning('', message);\n },\n error: function (...parameters: unknown[]) {\n console.error(...parameters);\n let message = stringFormatter.format([...parameters]);\n RnBugfender.error('', message);\n },\n };\n }((this.window as any).console);\n }\n}\n"]}
1
+ {"version":3,"names":["OverrideConsoleMethods","constructor","window","init","console","log","parameters","message","format","RnBugfender","debug","trace","info","warn","warning","error"],"sources":["override-console-methods.ts"],"sourcesContent":["import {format} from '@bugfender/common';\nimport {RnBugfender} from \"./bugfender\";\n\n/**\n * Overrides the `window.console` methods in order to execute the Bugfender equivalent logging\n * methods while keeping the original browser functionality.\n */\nexport class OverrideConsoleMethods {\n constructor(\n protected window: Window,\n ) {\n }\n\n public init(): void {\n\n (this.window as any).console = function (console: Console) {\n return {\n ...console,\n log: function (...parameters: unknown[]) {\n console.log(...parameters);\n let message = format([...parameters]);\n RnBugfender.debug('', message);\n },\n debug: function (...parameters: unknown[]) {\n console.debug(...parameters);\n let message = format([...parameters]);\n RnBugfender.debug('', message);\n },\n trace: function (...parameters: unknown[]) {\n console.trace(...parameters);\n let message = format([...parameters]);\n RnBugfender.trace('', message);\n },\n info: function (...parameters: unknown[]) {\n console.info(...parameters);\n let message = format([...parameters]);\n RnBugfender.info('', message);\n },\n warn: function (...parameters: unknown[]) {\n console.warn(...parameters);\n let message = format([...parameters]);\n RnBugfender.warning('', message);\n },\n error: function (...parameters: unknown[]) {\n console.error(...parameters);\n let message = format([...parameters]);\n RnBugfender.error('', message);\n },\n };\n }((this.window as any).console);\n }\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;AACA;AACA;AACA;AACO,MAAMA,sBAAN,CAA6B;EAClCC,WAAW,CACCC,MADD,EAET;IAAA,KADUA,MACV,GADUA,MACV;EACD;;EAEMC,IAAI,GAAS;IAEjB,KAAKD,MAAN,CAAqBE,OAArB,GAA+B,UAAUA,OAAV,EAA4B;MACzD,OAAO,EACL,GAAGA,OADE;QAELC,GAAG,EAAE,YAAoC;UAAA,kCAAvBC,UAAuB;YAAvBA,UAAuB;UAAA;;UACvCF,OAAO,CAACC,GAAR,CAAY,GAAGC,UAAf;UACA,IAAIC,OAAO,GAAG,IAAAC,cAAA,EAAO,CAAC,GAAGF,UAAJ,CAAP,CAAd;;UACAG,sBAAA,CAAYC,KAAZ,CAAkB,EAAlB,EAAsBH,OAAtB;QACD,CANI;QAOLG,KAAK,EAAE,YAAoC;UAAA,mCAAvBJ,UAAuB;YAAvBA,UAAuB;UAAA;;UACzCF,OAAO,CAACM,KAAR,CAAc,GAAGJ,UAAjB;UACA,IAAIC,OAAO,GAAG,IAAAC,cAAA,EAAO,CAAC,GAAGF,UAAJ,CAAP,CAAd;;UACAG,sBAAA,CAAYC,KAAZ,CAAkB,EAAlB,EAAsBH,OAAtB;QACD,CAXI;QAYLI,KAAK,EAAE,YAAoC;UAAA,mCAAvBL,UAAuB;YAAvBA,UAAuB;UAAA;;UACzCF,OAAO,CAACO,KAAR,CAAc,GAAGL,UAAjB;UACA,IAAIC,OAAO,GAAG,IAAAC,cAAA,EAAO,CAAC,GAAGF,UAAJ,CAAP,CAAd;;UACAG,sBAAA,CAAYE,KAAZ,CAAkB,EAAlB,EAAsBJ,OAAtB;QACD,CAhBI;QAiBLK,IAAI,EAAE,YAAoC;UAAA,mCAAvBN,UAAuB;YAAvBA,UAAuB;UAAA;;UACxCF,OAAO,CAACQ,IAAR,CAAa,GAAGN,UAAhB;UACA,IAAIC,OAAO,GAAG,IAAAC,cAAA,EAAO,CAAC,GAAGF,UAAJ,CAAP,CAAd;;UACAG,sBAAA,CAAYG,IAAZ,CAAiB,EAAjB,EAAqBL,OAArB;QACD,CArBI;QAsBLM,IAAI,EAAE,YAAoC;UAAA,mCAAvBP,UAAuB;YAAvBA,UAAuB;UAAA;;UACxCF,OAAO,CAACS,IAAR,CAAa,GAAGP,UAAhB;UACA,IAAIC,OAAO,GAAG,IAAAC,cAAA,EAAO,CAAC,GAAGF,UAAJ,CAAP,CAAd;;UACAG,sBAAA,CAAYK,OAAZ,CAAoB,EAApB,EAAwBP,OAAxB;QACD,CA1BI;QA2BLQ,KAAK,EAAE,YAAoC;UAAA,mCAAvBT,UAAuB;YAAvBA,UAAuB;UAAA;;UACzCF,OAAO,CAACW,KAAR,CAAc,GAAGT,UAAjB;UACA,IAAIC,OAAO,GAAG,IAAAC,cAAA,EAAO,CAAC,GAAGF,UAAJ,CAAP,CAAd;;UACAG,sBAAA,CAAYM,KAAZ,CAAkB,EAAlB,EAAsBR,OAAtB;QACD;MA/BI,CAAP;IAiCD,CAlC8B,CAkC5B,KAAKL,MAAN,CAAqBE,OAlCQ,CAA/B;EAmCD;;AA3CiC"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.SDKOptions = void 0;
7
7
 
8
- var _utilities = require("./utilities");
8
+ var _common = require("@bugfender/common");
9
9
 
10
10
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
11
 
@@ -25,11 +25,10 @@ class SDKOptions {
25
25
  }
26
26
 
27
27
  init(options) {
28
- // Validate user provided options
29
- this.validate(options);
30
- options = { ...options
31
- };
32
- (0, _utilities.removeUndefinedAttributes)(options); // Set default values if needed
28
+ // Prepare options
29
+ options = (0, _common.prepareOptions)(options); // Validate user provided options
30
+
31
+ (0, _common.validate)(options, this.rules); // Set default values if needed
33
32
 
34
33
  return {
35
34
  overrideConsoleMethods: true,
@@ -37,38 +36,11 @@ class SDKOptions {
37
36
  logUIEvents: true,
38
37
  registerErrorHandler: true,
39
38
  enableLogcatLogging: false,
39
+ maximumLocalStorageSize: 5 * 1024 * 1024,
40
40
  ...options
41
41
  };
42
42
  }
43
43
 
44
- validate(options) {
45
- const urlValidator = new RegExp(/^http(s)?:\/\//i);
46
- Object.entries(this.rules).forEach(_ref => {
47
- let [key, rules] = _ref;
48
- // @ts-ignore
49
- const value = options[key];
50
- rules.forEach(rule => {
51
- if (rule === 'required') {
52
- if (typeof value === 'undefined') {
53
- throw new Error(`Bugfender requires '${key}' option to initialize.`);
54
- }
55
- } else if (rule === 'string') {
56
- if (!['string', 'undefined'].includes(typeof value)) {
57
- throw new Error(`'${key}' option must be a string.`);
58
- }
59
- } else if (rule === 'url') {
60
- if (typeof value !== 'undefined' && !urlValidator.test(value)) {
61
- throw new Error(`'${key}' option must be a valid URL.`);
62
- }
63
- } else if (rule === 'boolean') {
64
- if (!['boolean', 'undefined'].includes(typeof value)) {
65
- throw new Error(`'${key}' option must be a boolean.`);
66
- }
67
- }
68
- });
69
- });
70
- }
71
-
72
44
  }
73
45
 
74
46
  exports.SDKOptions = SDKOptions;
@@ -1 +1 @@
1
- {"version":3,"sources":["sdk-options.ts"],"names":["SDKOptions","appKey","apiURL","baseURL","overrideConsoleMethods","printToConsole","logBrowserEvents","logUIEvents","registerErrorHandler","version","init","options","validate","enableLogcatLogging","urlValidator","RegExp","Object","entries","rules","forEach","key","value","rule","Error","includes","test"],"mappings":";;;;;;;AACA;;;;AAEO,MAAMA,UAAN,CAAiB;AAAA;AAAA,mCACJ;AAChBC,MAAAA,MAAM,EAAE,CAAC,UAAD,EAAa,QAAb,CADQ;AAEhBC,MAAAA,MAAM,EAAE,CAAC,QAAD,EAAW,KAAX,CAFQ;AAGhBC,MAAAA,OAAO,EAAE,CAAC,QAAD,EAAW,KAAX,CAHO;AAIhBC,MAAAA,sBAAsB,EAAE,CAAC,SAAD,CAJR;AAKhBC,MAAAA,cAAc,EAAE,CAAC,SAAD,CALA;AAMhBC,MAAAA,gBAAgB,EAAE,CAAC,SAAD,CANF;AAOhBC,MAAAA,WAAW,EAAE,CAAC,SAAD,CAPG;AAQhBC,MAAAA,oBAAoB,EAAE,CAAC,SAAD,CARN;AAShBC,MAAAA,OAAO,EAAE,CAAC,QAAD;AATO,KADI;AAAA;;AAafC,EAAAA,IAAI,CAACC,OAAD,EAAoC;AAC7C;AACA,SAAKC,QAAL,CAAcD,OAAd;AAEAA,IAAAA,OAAO,GAAG,EAAE,GAAGA;AAAL,KAAV;AACA,8CAA0BA,OAA1B,EAL6C,CAO7C;;AACA,WAAO;AACLP,MAAAA,sBAAsB,EAAE,IADnB;AAELC,MAAAA,cAAc,EAAE,IAFX;AAGLE,MAAAA,WAAW,EAAE,IAHR;AAILC,MAAAA,oBAAoB,EAAE,IAJjB;AAKLK,MAAAA,mBAAmB,EAAE,KALhB;AAML,SAAGF;AANE,KAAP;AAQD;;AAESC,EAAAA,QAAQ,CAACD,OAAD,EAA6B;AAC7C,UAAMG,YAAY,GAAG,IAAIC,MAAJ,CAAW,iBAAX,CAArB;AAEAC,IAAAA,MAAM,CAACC,OAAP,CAAe,KAAKC,KAApB,EAA2BC,OAA3B,CAAmC,QAAkB;AAAA,UAAjB,CAACC,GAAD,EAAMF,KAAN,CAAiB;AACnD;AACA,YAAMG,KAAK,GAAGV,OAAO,CAACS,GAAD,CAArB;AAEAF,MAAAA,KAAK,CAACC,OAAN,CAAcG,IAAI,IAAI;AACpB,YAAIA,IAAI,KAAK,UAAb,EAAyB;AACvB,cAAI,OAAOD,KAAP,KAAiB,WAArB,EAAkC;AAChC,kBAAM,IAAIE,KAAJ,CAAW,uBAAsBH,GAAI,yBAArC,CAAN;AACD;AACF,SAJD,MAIO,IAAIE,IAAI,KAAK,QAAb,EAAuB;AAC5B,cAAI,CAAC,CAAC,QAAD,EAAW,WAAX,EAAwBE,QAAxB,CAAiC,OAAOH,KAAxC,CAAL,EAAqD;AACnD,kBAAM,IAAIE,KAAJ,CAAW,IAAGH,GAAI,4BAAlB,CAAN;AACD;AACF,SAJM,MAIA,IAAIE,IAAI,KAAK,KAAb,EAAoB;AACzB,cAAI,OAAOD,KAAP,KAAiB,WAAjB,IAAgC,CAACP,YAAY,CAACW,IAAb,CAAkBJ,KAAlB,CAArC,EAA+D;AAC7D,kBAAM,IAAIE,KAAJ,CAAW,IAAGH,GAAI,+BAAlB,CAAN;AACD;AACF,SAJM,MAIA,IAAIE,IAAI,KAAK,SAAb,EAAwB;AAC7B,cAAI,CAAC,CAAC,SAAD,EAAY,WAAZ,EAAyBE,QAAzB,CAAkC,OAAOH,KAAzC,CAAL,EAAsD;AACpD,kBAAM,IAAIE,KAAJ,CAAW,IAAGH,GAAI,6BAAlB,CAAN;AACD;AACF;AACF,OAlBD;AAmBD,KAvBD;AAwBD;;AA1DqB","sourcesContent":["import type {ISDKOptions} from \"./types/sdk-options\";\nimport {removeUndefinedAttributes} from \"./utilities\";\n\nexport class SDKOptions {\n protected rules = {\n appKey: ['required', 'string'],\n apiURL: ['string', 'url'],\n baseURL: ['string', 'url'],\n overrideConsoleMethods: ['boolean'],\n printToConsole: ['boolean'],\n logBrowserEvents: ['boolean'],\n logUIEvents: ['boolean'],\n registerErrorHandler: ['boolean'],\n version: ['string'],\n };\n\n public init(options: ISDKOptions): ISDKOptions {\n // Validate user provided options\n this.validate(options);\n\n options = { ...options };\n removeUndefinedAttributes(options);\n\n // Set default values if needed\n return {\n overrideConsoleMethods: true,\n printToConsole: true,\n logUIEvents: true,\n registerErrorHandler: true,\n enableLogcatLogging: false,\n ...options,\n };\n }\n\n protected validate(options: ISDKOptions): void {\n const urlValidator = new RegExp(/^http(s)?:\\/\\//i);\n\n Object.entries(this.rules).forEach(([key, rules]) => {\n // @ts-ignore\n const value = options[key];\n\n rules.forEach(rule => {\n if (rule === 'required') {\n if (typeof value === 'undefined') {\n throw new Error(`Bugfender requires '${key}' option to initialize.`)\n }\n } else if (rule === 'string') {\n if (!['string', 'undefined'].includes(typeof value)) {\n throw new Error(`'${key}' option must be a string.`);\n }\n } else if (rule === 'url') {\n if (typeof value !== 'undefined' && !urlValidator.test(value)) {\n throw new Error(`'${key}' option must be a valid URL.`);\n }\n } else if (rule === 'boolean') {\n if (!['boolean', 'undefined'].includes(typeof value)) {\n throw new Error(`'${key}' option must be a boolean.`);\n }\n }\n })\n });\n }\n}\n"]}
1
+ {"version":3,"names":["SDKOptions","appKey","apiURL","baseURL","overrideConsoleMethods","printToConsole","logBrowserEvents","logUIEvents","registerErrorHandler","version","init","options","prepareOptions","validate","rules","enableLogcatLogging","maximumLocalStorageSize"],"sources":["sdk-options.ts"],"sourcesContent":["import type {ISDKOptions} from \"./types/sdk-options\";\nimport {prepareOptions, validate, ValidationRules} from \"@bugfender/common\";\n\nexport class SDKOptions {\n protected rules: ValidationRules = {\n appKey: ['required', 'string'],\n apiURL: ['string', 'url'],\n baseURL: ['string', 'url'],\n overrideConsoleMethods: ['boolean'],\n printToConsole: ['boolean'],\n logBrowserEvents: ['boolean'],\n logUIEvents: ['boolean'],\n registerErrorHandler: ['boolean'],\n version: ['string'],\n };\n\n public init(options: ISDKOptions): ISDKOptions {\n // Prepare options\n options = prepareOptions(options);\n\n // Validate user provided options\n validate(options, this.rules);\n\n // Set default values if needed\n return {\n overrideConsoleMethods: true,\n printToConsole: true,\n logUIEvents: true,\n registerErrorHandler: true,\n enableLogcatLogging: false,\n maximumLocalStorageSize: 5 * 1024 * 1024,\n ...options,\n };\n }\n}\n"],"mappings":";;;;;;;AACA;;;;AAEO,MAAMA,UAAN,CAAiB;EAAA;IAAA,+BACa;MACjCC,MAAM,EAAE,CAAC,UAAD,EAAa,QAAb,CADyB;MAEjCC,MAAM,EAAE,CAAC,QAAD,EAAW,KAAX,CAFyB;MAGjCC,OAAO,EAAE,CAAC,QAAD,EAAW,KAAX,CAHwB;MAIjCC,sBAAsB,EAAE,CAAC,SAAD,CAJS;MAKjCC,cAAc,EAAE,CAAC,SAAD,CALiB;MAMjCC,gBAAgB,EAAE,CAAC,SAAD,CANe;MAOjCC,WAAW,EAAE,CAAC,SAAD,CAPoB;MAQjCC,oBAAoB,EAAE,CAAC,SAAD,CARW;MASjCC,OAAO,EAAE,CAAC,QAAD;IATwB,CADb;EAAA;;EAafC,IAAI,CAACC,OAAD,EAAoC;IAC7C;IACAA,OAAO,GAAG,IAAAC,sBAAA,EAAeD,OAAf,CAAV,CAF6C,CAI7C;;IACA,IAAAE,gBAAA,EAASF,OAAT,EAAkB,KAAKG,KAAvB,EAL6C,CAO7C;;IACA,OAAO;MACLV,sBAAsB,EAAE,IADnB;MAELC,cAAc,EAAE,IAFX;MAGLE,WAAW,EAAE,IAHR;MAILC,oBAAoB,EAAE,IAJjB;MAKLO,mBAAmB,EAAE,KALhB;MAMLC,uBAAuB,EAAE,IAAI,IAAJ,GAAW,IAN/B;MAOL,GAAGL;IAPE,CAAP;EASD;;AA9BqB"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.SDKOptionsBuilder = void 0;
7
7
 
8
- var _utilities = require("../utilities");
8
+ var _common = require("@bugfender/common");
9
9
 
10
10
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
11
 
@@ -31,7 +31,7 @@ class SDKOptionsBuilder {
31
31
  }
32
32
 
33
33
  build() {
34
- var _this$webOptions, _this$webOptions2, _this$webOptions3, _this$nativeOptions;
34
+ var _this$webOptions, _this$webOptions2, _this$webOptions3, _this$nativeOptions, _this$nativeOptions2;
35
35
 
36
36
  const options = {
37
37
  appKey: this.commonOptions.appKey,
@@ -45,9 +45,10 @@ class SDKOptionsBuilder {
45
45
  logBrowserEvents: (_this$webOptions = this.webOptions) === null || _this$webOptions === void 0 ? void 0 : _this$webOptions.logBrowserEvents,
46
46
  build: (_this$webOptions2 = this.webOptions) === null || _this$webOptions2 === void 0 ? void 0 : _this$webOptions2.build,
47
47
  version: (_this$webOptions3 = this.webOptions) === null || _this$webOptions3 === void 0 ? void 0 : _this$webOptions3.version,
48
- enableLogcatLogging: (_this$nativeOptions = this.nativeOptions) === null || _this$nativeOptions === void 0 ? void 0 : _this$nativeOptions.enableLogcatLogging
48
+ enableLogcatLogging: (_this$nativeOptions = this.nativeOptions) === null || _this$nativeOptions === void 0 ? void 0 : _this$nativeOptions.enableLogcatLogging,
49
+ maximumLocalStorageSize: (_this$nativeOptions2 = this.nativeOptions) === null || _this$nativeOptions2 === void 0 ? void 0 : _this$nativeOptions2.maximumLocalStorageSize
49
50
  };
50
- (0, _utilities.removeUndefinedAttributes)(options);
51
+ (0, _common.removeUndefinedProperties)(options);
51
52
  return options;
52
53
  }
53
54
 
@@ -1 +1 @@
1
- {"version":3,"sources":["sdk-options.ts"],"names":["SDKOptionsBuilder","constructor","commonOptions","native","nativeOptions","web","webOptions","build","options","appKey","apiURL","baseURL","overrideConsoleMethods","printToConsole","logUIEvents","registerErrorHandler","deviceName","logBrowserEvents","version","enableLogcatLogging"],"mappings":";;;;;;;AAAA;;;;AAqCO,MAAMA,iBAAN,CAAwB;AAK7BC,EAAAA,WAAW,CAACC,aAAD,EAAmC;AAAA;;AAAA;;AAAA;;AAC5C,SAAKA,aAAL,GAAqBA,aAArB;AACD;;AAEMC,EAAAA,MAAM,CAACC,aAAD,EAAsD;AACjE,SAAKA,aAAL,GAAqBA,aAArB;AACA,WAAO,IAAP;AACD;;AAEMC,EAAAA,GAAG,CAACC,UAAD,EAAgD;AACxD,SAAKA,UAAL,GAAkBA,UAAlB;AACA,WAAO,IAAP;AACD;;AAEMC,EAAAA,KAAK,GAAgB;AAAA;;AAC1B,UAAMC,OAAoB,GAAG;AAC3BC,MAAAA,MAAM,EAAE,KAAKP,aAAL,CAAmBO,MADA;AAE3BC,MAAAA,MAAM,EAAE,KAAKR,aAAL,CAAmBQ,MAFA;AAG3BC,MAAAA,OAAO,EAAE,KAAKT,aAAL,CAAmBS,OAHD;AAI3BC,MAAAA,sBAAsB,EAAE,KAAKV,aAAL,CAAmBU,sBAJhB;AAK3BC,MAAAA,cAAc,EAAE,KAAKX,aAAL,CAAmBW,cALR;AAM3BC,MAAAA,WAAW,EAAE,KAAKZ,aAAL,CAAmBY,WANL;AAO3BC,MAAAA,oBAAoB,EAAE,KAAKb,aAAL,CAAmBa,oBAPd;AAQ3BC,MAAAA,UAAU,EAAE,KAAKd,aAAL,CAAmBc,UARJ;AAS3BC,MAAAA,gBAAgB,sBAAE,KAAKX,UAAP,qDAAE,iBAAiBW,gBATR;AAU3BV,MAAAA,KAAK,uBAAE,KAAKD,UAAP,sDAAE,kBAAiBC,KAVG;AAW3BW,MAAAA,OAAO,uBAAE,KAAKZ,UAAP,sDAAE,kBAAiBY,OAXC;AAY3BC,MAAAA,mBAAmB,yBAAE,KAAKf,aAAP,wDAAE,oBAAoBe;AAZd,KAA7B;AAeA,8CAA0BX,OAA1B;AAEA,WAAOA,OAAP;AACD;;AAtC4B","sourcesContent":["import {removeUndefinedAttributes} from \"../utilities\";\n\nexport interface ISDKCommonOptions {\n /** The app key to log into */\n appKey: string;\n /** Base URL to Bugfender API */\n apiURL?: string;\n /** Base URL to Bugfender web dashboard */\n baseURL?: string;\n /** Override default `window.console` so it also logs to Bugfender. Defaults to `true`. */\n overrideConsoleMethods?: boolean;\n /** Print also with `window.console` when Bugfender logging methods are called. Defaults to `true`. */\n printToConsole?: boolean;\n /** Register a handler for most common UI events to report them to Bugfender. Defaults to `true`. */\n logUIEvents?: boolean;\n /** Register error handler for uncaught errors that reports a crash to Bugfender. Defaults to `true`. */\n registerErrorHandler?: boolean;\n /** Sets the name for the device. If the Device Name is not set, then the platform standard device name will be automatically sent */\n deviceName?: string;\n}\n\nexport interface ISDKWebOptions {\n /** Register a handler for most common browser events to report them to Bugfender (Web specific). Defaults to `true`. */\n logBrowserEvents?: boolean;\n /** App build identifier (Web specific) */\n build?: string;\n /** App version identifier (Web specific) */\n version?: string;\n}\n\nexport interface ISDKNativeOptions {\n /** Logs all logs written via Logcat (Android specific). Defaults to `false`. */\n enableLogcatLogging?: boolean;\n}\n\nexport type ISDKOptions = ISDKCommonOptions & ISDKNativeOptions & ISDKWebOptions;\n\nexport class SDKOptionsBuilder {\n private commonOptions: ISDKCommonOptions;\n private nativeOptions?: ISDKNativeOptions;\n private webOptions?: ISDKWebOptions;\n\n constructor(commonOptions: ISDKCommonOptions) {\n this.commonOptions = commonOptions;\n }\n\n public native(nativeOptions: ISDKNativeOptions): SDKOptionsBuilder {\n this.nativeOptions = nativeOptions;\n return this;\n }\n\n public web(webOptions: ISDKWebOptions): SDKOptionsBuilder {\n this.webOptions = webOptions;\n return this;\n }\n\n public build(): ISDKOptions {\n const options: ISDKOptions = {\n appKey: this.commonOptions.appKey,\n apiURL: this.commonOptions.apiURL,\n baseURL: this.commonOptions.baseURL,\n overrideConsoleMethods: this.commonOptions.overrideConsoleMethods,\n printToConsole: this.commonOptions.printToConsole,\n logUIEvents: this.commonOptions.logUIEvents,\n registerErrorHandler: this.commonOptions.registerErrorHandler,\n deviceName: this.commonOptions.deviceName,\n logBrowserEvents: this.webOptions?.logBrowserEvents,\n build: this.webOptions?.build,\n version: this.webOptions?.version,\n enableLogcatLogging: this.nativeOptions?.enableLogcatLogging,\n };\n\n removeUndefinedAttributes(options);\n\n return options;\n }\n}\n"]}
1
+ {"version":3,"names":["SDKOptionsBuilder","constructor","commonOptions","native","nativeOptions","web","webOptions","build","options","appKey","apiURL","baseURL","overrideConsoleMethods","printToConsole","logUIEvents","registerErrorHandler","deviceName","logBrowserEvents","version","enableLogcatLogging","maximumLocalStorageSize","removeUndefinedProperties"],"sources":["sdk-options.ts"],"sourcesContent":["import {removeUndefinedProperties} from '@bugfender/common';\n\nexport interface ISDKCommonOptions {\n /** The app key to log into */\n appKey: string;\n /** Base URL to Bugfender API */\n apiURL?: string;\n /** Base URL to Bugfender web dashboard */\n baseURL?: string;\n /** Override default `window.console` so it also logs to Bugfender. Defaults to `true`. */\n overrideConsoleMethods?: boolean;\n /** Print also with `window.console` when Bugfender logging methods are called. Defaults to `true`. */\n printToConsole?: boolean;\n /** Register a handler for most common UI events to report them to Bugfender. Defaults to `true`. */\n logUIEvents?: boolean;\n /** Register error handler for uncaught errors that reports a crash to Bugfender. Defaults to `true`. */\n registerErrorHandler?: boolean;\n /** Sets the name for the device. If the Device Name is not set, then the platform standard device name will be automatically sent */\n deviceName?: string;\n}\n\nexport interface ISDKWebOptions {\n /** Register a handler for most common browser events to report them to Bugfender (Web specific). Defaults to `true`. */\n logBrowserEvents?: boolean;\n /** App build identifier (Web specific) */\n build?: string;\n /** App version identifier (Web specific) */\n version?: string;\n}\n\nexport interface ISDKNativeOptions {\n /** Set the maximum size to store local log files in bytes (Native specific). Range accepted is from 1 MB to 50 MB. Defaults to 5 MB. **/\n maximumLocalStorageSize?: number;\n /** Logs all logs written via Logcat (Android specific). Defaults to `false`. */\n enableLogcatLogging?: boolean;\n}\n\nexport type ISDKOptions = ISDKCommonOptions & ISDKNativeOptions & ISDKWebOptions;\n\nexport class SDKOptionsBuilder {\n private commonOptions: ISDKCommonOptions;\n private nativeOptions?: ISDKNativeOptions;\n private webOptions?: ISDKWebOptions;\n\n constructor(commonOptions: ISDKCommonOptions) {\n this.commonOptions = commonOptions;\n }\n\n public native(nativeOptions: ISDKNativeOptions): SDKOptionsBuilder {\n this.nativeOptions = nativeOptions;\n return this;\n }\n\n public web(webOptions: ISDKWebOptions): SDKOptionsBuilder {\n this.webOptions = webOptions;\n return this;\n }\n\n public build(): ISDKOptions {\n const options: ISDKOptions = {\n appKey: this.commonOptions.appKey,\n apiURL: this.commonOptions.apiURL,\n baseURL: this.commonOptions.baseURL,\n overrideConsoleMethods: this.commonOptions.overrideConsoleMethods,\n printToConsole: this.commonOptions.printToConsole,\n logUIEvents: this.commonOptions.logUIEvents,\n registerErrorHandler: this.commonOptions.registerErrorHandler,\n deviceName: this.commonOptions.deviceName,\n logBrowserEvents: this.webOptions?.logBrowserEvents,\n build: this.webOptions?.build,\n version: this.webOptions?.version,\n enableLogcatLogging: this.nativeOptions?.enableLogcatLogging,\n maximumLocalStorageSize: this.nativeOptions?.maximumLocalStorageSize,\n };\n\n removeUndefinedProperties(options);\n\n return options;\n }\n}\n"],"mappings":";;;;;;;AAAA;;;;AAuCO,MAAMA,iBAAN,CAAwB;EAK7BC,WAAW,CAACC,aAAD,EAAmC;IAAA;;IAAA;;IAAA;;IAC5C,KAAKA,aAAL,GAAqBA,aAArB;EACD;;EAEMC,MAAM,CAACC,aAAD,EAAsD;IACjE,KAAKA,aAAL,GAAqBA,aAArB;IACA,OAAO,IAAP;EACD;;EAEMC,GAAG,CAACC,UAAD,EAAgD;IACxD,KAAKA,UAAL,GAAkBA,UAAlB;IACA,OAAO,IAAP;EACD;;EAEMC,KAAK,GAAgB;IAAA;;IAC1B,MAAMC,OAAoB,GAAG;MAC3BC,MAAM,EAAE,KAAKP,aAAL,CAAmBO,MADA;MAE3BC,MAAM,EAAE,KAAKR,aAAL,CAAmBQ,MAFA;MAG3BC,OAAO,EAAE,KAAKT,aAAL,CAAmBS,OAHD;MAI3BC,sBAAsB,EAAE,KAAKV,aAAL,CAAmBU,sBAJhB;MAK3BC,cAAc,EAAE,KAAKX,aAAL,CAAmBW,cALR;MAM3BC,WAAW,EAAE,KAAKZ,aAAL,CAAmBY,WANL;MAO3BC,oBAAoB,EAAE,KAAKb,aAAL,CAAmBa,oBAPd;MAQ3BC,UAAU,EAAE,KAAKd,aAAL,CAAmBc,UARJ;MAS3BC,gBAAgB,sBAAE,KAAKX,UAAP,qDAAE,iBAAiBW,gBATR;MAU3BV,KAAK,uBAAE,KAAKD,UAAP,sDAAE,kBAAiBC,KAVG;MAW3BW,OAAO,uBAAE,KAAKZ,UAAP,sDAAE,kBAAiBY,OAXC;MAY3BC,mBAAmB,yBAAE,KAAKf,aAAP,wDAAE,oBAAoBe,mBAZd;MAa3BC,uBAAuB,0BAAE,KAAKhB,aAAP,yDAAE,qBAAoBgB;IAblB,CAA7B;IAgBA,IAAAC,iCAAA,EAA0Bb,OAA1B;IAEA,OAAOA,OAAP;EACD;;AAvC4B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["user-feedback.ts"],"names":["DefaultUserFeedbackOptions"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AAgBO,MAAMA,0BAAN,CAA0E;AAAA;AAAA,mCAChE,UADgE;;AAAA,kCAEjE,iDAFiE;;AAAA,gDAGnD,UAHmD;;AAAA,iDAIlD,gBAJkD;;AAAA,yCAK1D,MAL0D;;AAAA,wCAM3D,OAN2D;AAAA;;AAAA","sourcesContent":["/**\n * Options object for `Bugfender.getUserFeedback` with customised modal strings.\n */\nexport interface UserFeedbackOptions {\n /** Default: `Feedback`. */\n title?: string;\n /** Default `Please insert your feedback here and click send`. */\n hint?: string;\n /** Default: `Subject…`. */\n subjectPlaceholder?: string;\n /** Default: `Your feedback…`. */\n feedbackPlaceholder?: string;\n /** Default: `Send`. */\n submitLabel?: string;\n /** Default: `Close`. This attribute is only used on iOS */\n closeLabel?: string;\n}\n\nexport class DefaultUserFeedbackOptions implements Required<UserFeedbackOptions> {\n public title = 'Feedback';\n public hint = 'Please insert your feedback here and click send';\n public subjectPlaceholder = 'Subject…';\n public feedbackPlaceholder = 'Your feedback…';\n public submitLabel = 'Send';\n public closeLabel = 'Close';\n}\n\nexport interface UserFeedbackResult {\n /** `true` if the user has sent the feedback. `false` if she has closed the modal without sending it. */\n isSent: boolean;\n /** If the feedback was sent this will contain the Bugfender URL for the feedback. */\n feedbackURL?: string;\n}\n"]}
1
+ {"version":3,"names":["DefaultUserFeedbackOptions"],"sources":["user-feedback.ts"],"sourcesContent":["import type { UserFeedbackOptions as BaseUserFeebackOptions } from '@bugfender/common';\n\n/**\n * Options object for `Bugfender.getUserFeedback` with customised modal strings.\n */\nexport interface UserFeedbackOptions extends BaseUserFeebackOptions {\n /** Default `Please insert your feedback here and click send`. */\n hint?: string;\n /** Default: `Close`. This attribute is only used on iOS */\n closeLabel?: string;\n}\n\nexport class DefaultUserFeedbackOptions implements Required<UserFeedbackOptions> {\n public title = 'Feedback';\n public hint = 'Please insert your feedback here and click send';\n public subjectPlaceholder = 'Subject…';\n public feedbackPlaceholder = 'Your feedback…';\n public submitLabel = 'Send';\n public closeLabel = 'Close';\n}\n"],"mappings":";;;;;;;;;AAEA;AACA;AACA;AAQO,MAAMA,0BAAN,CAA0E;EAAA;IAAA,+BAChE,UADgE;;IAAA,8BAEjE,iDAFiE;;IAAA,4CAGnD,UAHmD;;IAAA,6CAIlD,gBAJkD;;IAAA,qCAK1D,MAL0D;;IAAA,oCAM3D,OAN2D;EAAA;;AAAA"}
@@ -1,12 +1,9 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
2
 
3
3
  import { NativeModules, Platform } from 'react-native';
4
+ import { LogLevel, PrintToConsole, format } from '@bugfender/common';
4
5
  import { DefaultUserFeedbackOptions } from './user-feedback';
5
- import { StringFormatter } from './string-formatter';
6
- import { LogLevel } from "./types/log";
7
- import { OverrideConsoleMethods } from "./override-console-methods";
8
- import { PrintToConsole } from "./print-to-console";
9
- import { SDKOptions } from "./sdk-options";
6
+ import { SDKOptions } from './sdk-options';
10
7
  const LINKING_ERROR = `The package '@bugfender/rn-bugfender' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
11
8
  ios: "- You have run 'pod install'\n",
12
9
  default: ''
@@ -20,9 +17,7 @@ const RnBugfender = NativeModules.RnBugfender ? NativeModules.RnBugfender : new
20
17
 
21
18
  class BugfenderClass {
22
19
  constructor() {
23
- _defineProperty(this, "stringFormatter", new StringFormatter());
24
-
25
- _defineProperty(this, "overrideConsoleMethods", new OverrideConsoleMethods(window));
20
+ _defineProperty(this, "overrideConsoleMethods", new (require('./override-console-methods').OverrideConsoleMethods)(window));
26
21
 
27
22
  _defineProperty(this, "printToConsole", new PrintToConsole(global.console));
28
23
 
@@ -33,16 +28,11 @@ class BugfenderClass {
33
28
 
34
29
  async init(options) {
35
30
  if (!this.initialized) {
36
- var _validatedOptions$pri;
37
-
38
- const validatedOptions = this.sdkOptions.init(options); // Needs to be executed prior initialization
31
+ const validatedOptions = this.sdkOptions.init(options); // region before init
39
32
 
40
33
  if (typeof options.deviceName !== 'undefined') {
41
34
  RnBugfender.overrideDeviceName(options.deviceName);
42
- } // Library initialization
43
-
44
-
45
- Platform.OS === 'ios' ? RnBugfender.activateLogger(validatedOptions.appKey) : RnBugfender.init(validatedOptions.appKey, false);
35
+ }
46
36
 
47
37
  if (typeof validatedOptions.apiURL !== 'undefined') {
48
38
  RnBugfender.setApiUrl(validatedOptions.apiURL);
@@ -50,8 +40,19 @@ class BugfenderClass {
50
40
 
51
41
  if (typeof validatedOptions.baseURL !== 'undefined') {
52
42
  RnBugfender.setBaseUrl(validatedOptions.baseURL);
43
+ } // endregion before init
44
+ // region init
45
+
46
+
47
+ Platform.OS === 'ios' ? RnBugfender.activateLogger(validatedOptions.appKey) : RnBugfender.init(validatedOptions.appKey, validatedOptions.printToConsole ?? false);
48
+
49
+ if (validatedOptions.overrideConsoleMethods) {
50
+ this.overrideConsoleMethods.init();
53
51
  }
54
52
 
53
+ this.printToConsole.init(validatedOptions.printToConsole ?? true); // endregion init
54
+ // region after init
55
+
55
56
  if (validatedOptions.enableLogcatLogging) {
56
57
  RnBugfender.enableLogcatLogging();
57
58
  }
@@ -64,11 +65,8 @@ class BugfenderClass {
64
65
  RnBugfender.enableCrashReporting();
65
66
  }
66
67
 
67
- if (validatedOptions.overrideConsoleMethods) {
68
- this.overrideConsoleMethods.init(this.stringFormatter);
69
- }
68
+ RnBugfender.setMaximumLocalStorageSize(validatedOptions.maximumLocalStorageSize); // endregion after init
70
69
 
71
- this.printToConsole.init((_validatedOptions$pri = validatedOptions.printToConsole) !== null && _validatedOptions$pri !== void 0 ? _validatedOptions$pri : true);
72
70
  this.initialized = true;
73
71
  }
74
72
  }
@@ -110,10 +108,8 @@ class BugfenderClass {
110
108
 
111
109
  async getUserFeedback(options) {
112
110
  return new Promise(resolve => {
113
- var _options;
114
-
115
111
  options = { ...new DefaultUserFeedbackOptions(),
116
- ...((_options = options) !== null && _options !== void 0 ? _options : {})
112
+ ...(options ?? {})
117
113
  };
118
114
  return RnBugfender.showUserFeedback(options.title, options.hint, options.subjectPlaceholder, options.feedbackPlaceholder, options.submitLabel, options.closeLabel).then(value => {
119
115
  resolve({
@@ -139,7 +135,7 @@ class BugfenderClass {
139
135
  }
140
136
 
141
137
  this.printToConsole.log(...parameters);
142
- let message = this.stringFormatter.format([...parameters]);
138
+ let message = format([...parameters]);
143
139
  RnBugfender.debug('', message);
144
140
  }
145
141
  /**
@@ -154,7 +150,7 @@ class BugfenderClass {
154
150
  }
155
151
 
156
152
  this.printToConsole.warn(...parameters);
157
- let message = this.stringFormatter.format([...parameters]);
153
+ let message = format([...parameters]);
158
154
  RnBugfender.warning('', message);
159
155
  }
160
156
  /**
@@ -169,7 +165,7 @@ class BugfenderClass {
169
165
  }
170
166
 
171
167
  this.printToConsole.error(...parameters);
172
- let message = this.stringFormatter.format([...parameters]);
168
+ let message = format([...parameters]);
173
169
  RnBugfender.error('', message);
174
170
  }
175
171
  /**
@@ -184,7 +180,7 @@ class BugfenderClass {
184
180
  }
185
181
 
186
182
  this.printToConsole.trace(...parameters);
187
- let message = this.stringFormatter.format([...parameters]);
183
+ let message = format([...parameters]);
188
184
  RnBugfender.trace('', message);
189
185
  }
190
186
  /**
@@ -199,7 +195,7 @@ class BugfenderClass {
199
195
  }
200
196
 
201
197
  this.printToConsole.info(...parameters);
202
- let message = this.stringFormatter.format([...parameters]);
198
+ let message = format([...parameters]);
203
199
  RnBugfender.info('', message);
204
200
  }
205
201
  /**
@@ -214,7 +210,7 @@ class BugfenderClass {
214
210
  }
215
211
 
216
212
  this.printToConsole.error(...parameters);
217
- let message = this.stringFormatter.format([...parameters]);
213
+ let message = format([...parameters]);
218
214
  RnBugfender.fatal('', message);
219
215
  }
220
216
  /**
@@ -236,10 +232,8 @@ class BugfenderClass {
236
232
 
237
233
 
238
234
  sendLog(log) {
239
- var _log$line, _log$method, _log$file, _log$level, _log$tag, _log$text;
240
-
241
235
  this.printToConsole.printLog(log);
242
- RnBugfender.log((_log$line = log.line) !== null && _log$line !== void 0 ? _log$line : 0, (_log$method = log.method) !== null && _log$method !== void 0 ? _log$method : '', (_log$file = log.file) !== null && _log$file !== void 0 ? _log$file : '', (_log$level = log.level) !== null && _log$level !== void 0 ? _log$level : LogLevel.Debug, (_log$tag = log.tag) !== null && _log$tag !== void 0 ? _log$tag : '', (_log$text = log.text) !== null && _log$text !== void 0 ? _log$text : '');
236
+ RnBugfender.log(log.line ?? 0, log.method ?? '', log.file ?? '', log.level ?? LogLevel.Debug, log.tag ?? '', log.text ?? '');
243
237
  }
244
238
  /**
245
239
  * Send an issue.
@@ -317,6 +311,11 @@ class BugfenderClass {
317
311
  RnBugfender.forceSendOnce();
318
312
  }
319
313
 
314
+ setForceEnabled(enabled) {
315
+ this.printToConsole.info(`Set force enabled set to ${enabled}`);
316
+ RnBugfender.setForceEnabled(enabled);
317
+ }
318
+
320
319
  }
321
320
 
322
321
  export { BugfenderClass, RnBugfender };