const bun = @import("root").bun; const logger = bun.logger; const std = @import("std"); const Fs = bun.fs; const string = bun.string; const Resolver = @import("../resolver//resolver.zig").Resolver; const JSC = bun.JSC; const JSGlobalObject = JSC.JSGlobalObject; const strings = bun.strings; const default_allocator = bun.default_allocator; const ZigString = JSC.ZigString; const JSValue = JSC.JSValue; pub const BuildMessage = struct { msg: logger.Msg, // resolve_result: Resolver.Result, allocator: std.mem.Allocator, logged: bool = false, pub usingnamespace JSC.Codegen.JSBuildMessage; pub fn constructor( globalThis: *JSC.JSGlobalObject, _: *JSC.CallFrame, ) callconv(.C) ?*BuildMessage { globalThis.throw("BuildMessage is not constructable", .{}); return null; } pub fn toStringFn(this: *BuildMessage, globalThis: *JSC.JSGlobalObject) JSC.JSValue { var text = std.fmt.allocPrint(default_allocator, "BuildMessage: {s}", .{this.msg.data.text}) catch { globalThis.throwOutOfMemory(); return .zero; }; var str = ZigString.init(text); str.setOutputEncoding(); if (str.isUTF8()) { const out = str.toValueGC(globalThis); default_allocator.free(text); return out; } return str.toExternalValue(globalThis); } pub fn create( globalThis: *JSC.JSGlobalObject, allocator: std.mem.Allocator, msg: logger.Msg, // resolve_result: *const Resolver.Result, ) JSC.JSValue { var build_error = allocator.create(BuildMessage) catch unreachable; build_error.* = BuildMessage{ .msg = msg.clone(allocator) catch unreachable, // .resolve_result = resolve_result.*, .allocator = allocator, }; return build_error.toJS(globalThis); } pub fn toString( this: *BuildMessage, globalThis: *JSC.JSGlobalObject, _: *JSC.CallFrame, ) callconv(.C) JSC.JSValue { return this.toStringFn(globalThis); } pub fn toPrimitive( this: *BuildMessage, globalThis: *JSC.JSGlobalObject, callframe: *JSC.CallFrame, ) callconv(.C) JSC.JSValue { const args_ = callframe.arguments(1); const args = args_.ptr[0..args_.len]; if (args.len > 0) { if (!args[0].isString()) { return JSC.JSValue.jsNull(); } const str = args[0].getZigString(globalThis); if (str.eqlComptime("default") or str.eqlComptime("string")) { return this.toStringFn(globalThis); } } return JSC.JSValue.jsNull(); } pub fn toJSON( this: *BuildMessage, globalThis: *JSC.JSGlobalObject, _: *JSC.CallFrame, ) callconv(.C) JSC.JSValue { var object = JSC.JSValue.createEmptyObject(globalThis, 4); object.put(globalThis, ZigString.static("name"), ZigString.init("BuildMessage").toValueGC(globalThis)); object.put(globalThis, ZigString.static("position"), this.getPosition(globalThis)); object.put(globalThis, ZigString.static("message"), this.getMessage(globalThis)); object.put(globalThis, ZigString.static("level"), this.getLevel(globalThis)); return object; } pub fn generatePositionObject(msg: logger.Msg, globalThis: *JSC.JSGlobalObject) JSC.JSValue { const location = msg.data.location orelse return JSC.JSValue.jsNull(); var object = JSC.JSValue.createEmptyObject(globalThis, 7); object.put( globalThis, ZigString.static("lineText"), ZigString.init(location.line_text orelse "").toValueGC(globalThis), ); object.put( globalThis, ZigString.static("file"), ZigString.init(location.file).toValueGC(globalThis), ); object.put( globalThis, ZigString.static("namespace"), ZigString.init(location.namespace).toValueGC(globalThis), ); object.put( globalThis, ZigString.static("line"), JSValue.jsNumber(location.line), ); object.put( globalThis, ZigString.static("column"), JSValue.jsNumber(location.column), ); object.put( globalThis, ZigString.static("length"), JSValue.jsNumber(location.length), ); object.put( globalThis, ZigString.static("offset"), JSValue.jsNumber(location.offset), ); return object; } pub fn getPosition( this: *BuildMessage, globalThis: *JSC.JSGlobalObject, ) callconv(.C) JSC.JSValue { return BuildMessage.generatePositionObject(this.msg, globalThis); } pub fn getMessage( this: *BuildMessage, globalThis: *JSC.JSGlobalObject, ) callconv(.C) JSC.JSValue { return ZigString.init(this.msg.data.text).toValueGC(globalThis); } pub fn getLevel( this: *BuildMessage, globalThis: *JSC.JSGlobalObject, ) callconv(.C) JSC.JSValue { return ZigString.init(this.msg.kind.string()).toValueGC(globalThis); } pub fn finalize(this: *BuildMessage) callconv(.C) void { this.msg.deinit(bun.default_allocator); } }; ption> Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/bench/snippets/arraybuffersink.mjs (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2023-02-17Fix #2005 (#2096)Gravatar Justin Whear 2-1/+60
2023-02-17allow `bun add` of packages with capital letters (#2095)Gravatar Alex Lam S.L 3-2/+53
2023-02-16faster Buffer.byteLength("latin1")Gravatar Jarred Sumner 1-36/+28
2023-02-16Support yarn-like `"workspaces"."packages": string[]` (#2086)Gravatar Jarred Sumner 2-97/+253
2023-02-16Implement `machine` for Linux (#2088)Gravatar Justin Whear 3-0/+19
2023-02-16Fix #1516 (#2089)Gravatar Justin Whear 3-7/+14
2023-02-16Update globals.d.tsGravatar Jarred Sumner 1-0/+15
2023-02-16Add missing type definitionGravatar Jarred Sumner 1-0/+2
2023-02-16[napi] Fix crash in creating arrays > 8 elements longGravatar Jarred Sumner 1-10/+9
2023-02-16Clarify and clean up macOS build process (#2087)Gravatar Luke Deen Taylor 2-4/+4
2023-02-15Don't crash on null version stringGravatar Jarred Sumner 1-1/+1
2023-02-15Add disabled optimizationGravatar Jarred Sumner 1-0/+51
2023-02-15Add more logging to napiGravatar Jarred Sumner 1-30/+150
2023-02-15Incorrect implementation of `napi_create_threadsafe_function`Gravatar Jarred Sumner 1-21/+43
2023-02-15feat(fetch) AbortSignal (#2019)Gravatar Ciro Spaciari 17-58/+443
2023-02-15fix(webcrypto): fix ed25519 CryptoKey.algorithm (#2082)Gravatar Derrick Farris 2-9/+28
2023-02-15Fix 2063 (#2079)Gravatar Justin Whear 2-2/+11
2023-02-15Make sure we test * in tesconfigGravatar Jarred Sumner 2-1/+3
2023-02-15don't return an error thereGravatar Jarred Sumner 2-1/+3
2023-02-15Fix castGravatar Jarred Sumner 1-15/+17
2023-02-15ensure we allocate for > 6 argumentsGravatar Jarred Sumner 1-6/+13
2023-02-15Update async_hooks.exports.jsGravatar Jarred Sumner 1-2/+2
2023-02-15workaround prisma's usage of `eval("__dirname")`Gravatar Jarred Sumner 1-1/+23
2023-02-15some cleanupGravatar Jarred Sumner 2-15/+9
2023-02-15ED25519 WebCrypto (#1971)Gravatar Jarred Sumner 12-11/+1167
2023-02-14Fix up async_hooks polyfillGravatar Jarred Sumner 2-8/+63
2023-02-14Add temporary polyfill for async_hooksGravatar Jarred Sumner 5-108/+324
2023-02-14:mask: async_hooksGravatar Jarred Sumner 1-0/+4
2023-02-14[install] link network-delayed `.bin` scripts correctly (#2076)Gravatar Alex Lam S.L 3-16/+21
2023-02-14don't break esbuildGravatar Jarred Sumner 7-75/+50
2023-02-14Add workaround for `tls` and `worker_threads`Gravatar Jarred Sumner 3-1/+64
2023-02-14[install] improve `package.json` validation (#2074)Gravatar Alex Lam S.L 6-104/+342
2023-02-14[WIP] fix(node:fs): export `fs.ReadStream` and `fs.WriteStream` (#1798)Gravatar Derrick Farris 4-72/+326
2023-02-14Reject with error when invalid fetch() body (#2047)Gravatar Eric Zhang 2-12/+44
2023-02-13fix(FormData): make String explicit, thanks @dylan-conway (#2065)Gravatar Derrick Farris 1-1/+1
2023-02-13fix(FormData): add string literal operator (#2064)Gravatar Derrick Farris 1-2/+2
2023-02-13Add pretty printer for FormDataGravatar Jarred Sumner 5-1/+101
2023-02-13Add dynamic port assigning to Bun.serve (#2062)Gravatar MichaƂ Warda 3-5/+40
2023-02-13feat(napi): add `napi_get_value_bigint_words` (#2061)Gravatar Derrick Farris 3-0/+44
2023-02-13Fixes https://github.com/oven-sh/bun/issues/1456Gravatar Jarred Sumner 8-1/+148