From e4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Sat, 28 Jun 2025 17:26:46 -0700 Subject: initial commit: scaffolding --- .../rxjs/src/internal/util/createErrorClass.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 node_modules/rxjs/src/internal/util/createErrorClass.ts (limited to 'node_modules/rxjs/src/internal/util/createErrorClass.ts') diff --git a/node_modules/rxjs/src/internal/util/createErrorClass.ts b/node_modules/rxjs/src/internal/util/createErrorClass.ts new file mode 100644 index 0000000..e354fd3 --- /dev/null +++ b/node_modules/rxjs/src/internal/util/createErrorClass.ts @@ -0,0 +1,20 @@ +/** + * Used to create Error subclasses until the community moves away from ES5. + * + * This is because compiling from TypeScript down to ES5 has issues with subclassing Errors + * as well as other built-in types: https://github.com/Microsoft/TypeScript/issues/12123 + * + * @param createImpl A factory function to create the actual constructor implementation. The returned + * function should be a named function that calls `_super` internally. + */ +export function createErrorClass(createImpl: (_super: any) => any): T { + const _super = (instance: any) => { + Error.call(instance); + instance.stack = new Error().stack; + }; + + const ctorFunc = createImpl(_super); + ctorFunc.prototype = Object.create(Error.prototype); + ctorFunc.prototype.constructor = ctorFunc; + return ctorFunc; +} -- cgit v1.2.3