aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/base.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/base.zig')
-rw-r--r--src/bun.js/base.zig73
1 files changed, 1 insertions, 72 deletions
diff --git a/src/bun.js/base.zig b/src/bun.js/base.zig
index 579a0975a..c964c1d95 100644
--- a/src/bun.js/base.zig
+++ b/src/bun.js/base.zig
@@ -3967,78 +3967,7 @@ pub const FilePoll = struct {
}
};
-pub const Strong = extern struct {
- ref: ?*JSC.napi.Ref = null,
-
- pub fn init() Strong {
- return .{};
- }
-
- pub fn create(
- value: JSC.JSValue,
- globalThis: *JSC.JSGlobalObject,
- ) Strong {
- var str = Strong.init();
- if (value != .zero)
- str.set(globalThis, value);
- return str;
- }
-
- pub fn get(this: *Strong) ?JSValue {
- var ref = this.ref orelse return null;
- const result = ref.get();
- if (result == .zero) {
- return null;
- }
-
- return result;
- }
-
- pub fn swap(this: *Strong) JSValue {
- var ref = this.ref orelse return .zero;
- const result = ref.get();
- if (result == .zero) {
- return .zero;
- }
-
- ref.set(.zero);
- return result;
- }
-
- pub fn has(this: *Strong) bool {
- var ref = this.ref orelse return false;
- return ref.get() != .zero;
- }
-
- pub fn trySwap(this: *Strong) ?JSValue {
- const result = this.swap();
- if (result == .zero) {
- return null;
- }
-
- return result;
- }
-
- pub fn set(this: *Strong, globalThis: *JSC.JSGlobalObject, value: JSValue) void {
- var ref: *JSC.napi.Ref = this.ref orelse {
- if (value == .zero) return;
- this.ref = JSC.napi.Ref.create(globalThis, value);
- return;
- };
- ref.set(value);
- }
-
- pub fn clear(this: *Strong) void {
- var ref: *JSC.napi.Ref = this.ref orelse return;
- ref.set(JSC.JSValue.zero);
- }
-
- pub fn deinit(this: *Strong) void {
- var ref: *JSC.napi.Ref = this.ref orelse return;
- this.ref = null;
- ref.destroy();
- }
-};
+pub const Strong = @import("./Strong.zig").Strong;
pub const BinaryType = enum {
Buffer,