diff --git a/src/internal/config.ts b/src/internal/config.ts index 45b30a0dd0..31de7e244c 100644 --- a/src/internal/config.ts +++ b/src/internal/config.ts @@ -1,3 +1,5 @@ +let _enable_super_gross_mode_that_will_cause_bad_things = false; + /** * The global configuration object for RxJS, used to configure things * like what Promise contructor should used to create Promises @@ -17,5 +19,17 @@ export const config = { * an unhandled error. DO NOT USE THIS FLAG UNLESS IT'S NEEDED TO BY TIME * FOR MIGRATION REASONS. */ - useDeprecatedSynchronousErrorHandling: false, + set useDeprecatedSynchronousErrorHandling(value: boolean) { + if (value) { + const error = new Error(); + console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n' + error.stack); + } else if (_enable_super_gross_mode_that_will_cause_bad_things) { + console.log('RxJS: Back to a better error behavior. Thank you. <3'); + } + _enable_super_gross_mode_that_will_cause_bad_things = value; + }, + + get useDeprecatedSynchronousErrorHandling() { + return _enable_super_gross_mode_that_will_cause_bad_things; + } };