blob: 98a5b0a713b81a1cb17f8d62f1297d09570bdf0c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
class NotImplementedError extends Error {
code: string;
constructor(feature: string, issue?: number) {
super(
feature +
" is not yet implemented in Bun." +
(issue ? " Track the status & thumbs up the issue: https://github.com/oven-sh/bun/issues/" + issue : ""),
);
this.name = "NotImplementedError";
this.code = "ERR_NOT_IMPLEMENTED";
// in the definition so that it isn't bundled unless used
hideFromStack(NotImplementedError);
}
}
function throwNotImplemented(feature: string, issue?: number): never {
// in the definition so that it isn't bundled unless used
hideFromStack(throwNotImplemented);
throw new NotImplementedError(feature, issue);
}
function hideFromStack(...fns) {
for (const fn of fns) {
Object.defineProperty(fn, "name", {
value: "::bunternal::",
});
}
}
export default {
NotImplementedError,
throwNotImplemented,
hideFromStack,
};
|