Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
services
/
node_modules
/
rxjs
/
src
/
internal
/
util
:
createErrorClass.ts
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
/** * 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<T>(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; }