aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/resolve_message.classes.ts
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-05-17 18:51:50 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-05-17 18:51:50 -0700
commit25447426f19702a0fff808b3d426d66f4d8e558d (patch)
treeaa98cd928a6ee0db015b98bee9041cbf4575167d /src/bun.js/resolve_message.classes.ts
parent67f543daa79c142cf6ea1451fa0c5d691b468c40 (diff)
downloadbun-25447426f19702a0fff808b3d426d66f4d8e558d.tar.gz
bun-25447426f19702a0fff808b3d426d66f4d8e558d.tar.zst
bun-25447426f19702a0fff808b3d426d66f4d8e558d.zip
Make `BuildError` and `ResolveError` use C++ instead of JSC C API
Fixes memory leak with private data never being cleared Fixes a case where a ResolveError could actually be a BuildError
Diffstat (limited to 'src/bun.js/resolve_message.classes.ts')
-rw-r--r--src/bun.js/resolve_message.classes.ts94
1 files changed, 94 insertions, 0 deletions
diff --git a/src/bun.js/resolve_message.classes.ts b/src/bun.js/resolve_message.classes.ts
new file mode 100644
index 000000000..734e766ba
--- /dev/null
+++ b/src/bun.js/resolve_message.classes.ts
@@ -0,0 +1,94 @@
+import { define } from "./scripts/class-definitions";
+
+export default [
+ define({
+ name: "ResolveMessage",
+ construct: true,
+ finalize: true,
+ configurable: false,
+ klass: {},
+ JSType: "0b11101110",
+ proto: {
+ message: {
+ getter: "getMessage",
+ cache: true,
+ },
+ name: {
+ value: "ResolveMessage",
+ },
+ level: {
+ getter: "getLevel",
+ cache: true,
+ },
+ referrer: {
+ getter: "getReferrer",
+ cache: true,
+ },
+ specifier: {
+ getter: "getSpecifier",
+ cache: true,
+ },
+ importKind: {
+ getter: "getImportKind",
+ cache: true,
+ },
+ code: {
+ value: "ERR_MODULE_NOT_FOUND",
+ },
+ position: {
+ getter: "getPosition",
+ cache: true,
+ },
+ ["@@toPrimitive"]: {
+ fn: "toPrimitive",
+ length: 1,
+ },
+ ["toString"]: {
+ fn: "toString",
+ length: 0,
+ },
+ ["toJSON"]: {
+ fn: "toJSON",
+ length: 0,
+ },
+ },
+ }),
+
+ define({
+ name: "BuildMessage",
+ construct: true,
+ finalize: true,
+ configurable: false,
+ klass: {},
+ JSType: "0b11101110",
+ proto: {
+ message: {
+ getter: "getMessage",
+ cache: true,
+ },
+ name: {
+ value: "BuildMessage",
+ },
+ level: {
+ getter: "getLevel",
+ cache: true,
+ },
+ position: {
+ getter: "getPosition",
+ cache: true,
+ },
+ ["@@toPrimitive"]: {
+ fn: "toPrimitive",
+ length: 1,
+ },
+ ["toString"]: {
+ fn: "toString",
+ length: 0,
+ },
+ ["toJSON"]: {
+ fn: "toJSON",
+ length: 0,
+ },
+ },
+ }),
+];