aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/rxjs/src/internal/config.ts
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/rxjs/src/internal/config.ts')
-rw-r--r--node_modules/rxjs/src/internal/config.ts84
1 files changed, 84 insertions, 0 deletions
diff --git a/node_modules/rxjs/src/internal/config.ts b/node_modules/rxjs/src/internal/config.ts
new file mode 100644
index 0000000..99461db
--- /dev/null
+++ b/node_modules/rxjs/src/internal/config.ts
@@ -0,0 +1,84 @@
+import { Subscriber } from './Subscriber';
+import { ObservableNotification } from './types';
+
+/**
+ * The {@link GlobalConfig} object for RxJS. It is used to configure things
+ * like how to react on unhandled errors.
+ */
+export const config: GlobalConfig = {
+ onUnhandledError: null,
+ onStoppedNotification: null,
+ Promise: undefined,
+ useDeprecatedSynchronousErrorHandling: false,
+ useDeprecatedNextContext: false,
+};
+
+/**
+ * The global configuration object for RxJS, used to configure things
+ * like how to react on unhandled errors. Accessible via {@link config}
+ * object.
+ */
+export interface GlobalConfig {
+ /**
+ * A registration point for unhandled errors from RxJS. These are errors that
+ * cannot were not handled by consuming code in the usual subscription path. For
+ * example, if you have this configured, and you subscribe to an observable without
+ * providing an error handler, errors from that subscription will end up here. This
+ * will _always_ be called asynchronously on another job in the runtime. This is because
+ * we do not want errors thrown in this user-configured handler to interfere with the
+ * behavior of the library.
+ */
+ onUnhandledError: ((err: any) => void) | null;
+
+ /**
+ * A registration point for notifications that cannot be sent to subscribers because they
+ * have completed, errored or have been explicitly unsubscribed. By default, next, complete
+ * and error notifications sent to stopped subscribers are noops. However, sometimes callers
+ * might want a different behavior. For example, with sources that attempt to report errors
+ * to stopped subscribers, a caller can configure RxJS to throw an unhandled error instead.
+ * This will _always_ be called asynchronously on another job in the runtime. This is because
+ * we do not want errors thrown in this user-configured handler to interfere with the
+ * behavior of the library.
+ */
+ onStoppedNotification: ((notification: ObservableNotification<any>, subscriber: Subscriber<any>) => void) | null;
+
+ /**
+ * The promise constructor used by default for {@link Observable#toPromise toPromise} and {@link Observable#forEach forEach}
+ * methods.
+ *
+ * @deprecated As of version 8, RxJS will no longer support this sort of injection of a
+ * Promise constructor. If you need a Promise implementation other than native promises,
+ * please polyfill/patch Promise as you see appropriate. Will be removed in v8.
+ */
+ Promise?: PromiseConstructorLike;
+
+ /**
+ * If true, turns on synchronous error rethrowing, which is a deprecated behavior
+ * in v6 and higher. This behavior enables bad patterns like wrapping a subscribe
+ * call in a try/catch block. It also enables producer interference, a nasty bug
+ * where a multicast can be broken for all observers by a downstream consumer with
+ * an unhandled error. DO NOT USE THIS FLAG UNLESS IT'S NEEDED TO BUY TIME
+ * FOR MIGRATION REASONS.
+ *
+ * @deprecated As of version 8, RxJS will no longer support synchronous throwing
+ * of unhandled errors. All errors will be thrown on a separate call stack to prevent bad
+ * behaviors described above. Will be removed in v8.
+ */
+ useDeprecatedSynchronousErrorHandling: boolean;
+
+ /**
+ * If true, enables an as-of-yet undocumented feature from v5: The ability to access
+ * `unsubscribe()` via `this` context in `next` functions created in observers passed
+ * to `subscribe`.
+ *
+ * This is being removed because the performance was severely problematic, and it could also cause
+ * issues when types other than POJOs are passed to subscribe as subscribers, as they will likely have
+ * their `this` context overwritten.
+ *
+ * @deprecated As of version 8, RxJS will no longer support altering the
+ * context of next functions provided as part of an observer to Subscribe. Instead,
+ * you will have access to a subscription or a signal or token that will allow you to do things like
+ * unsubscribe and test closed status. Will be removed in v8.
+ */
+ useDeprecatedNextContext: boolean;
+}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage