File tree Expand file tree Collapse file tree 2 files changed +20
-11
lines changed
Expand file tree Collapse file tree 2 files changed +20
-11
lines changed Original file line number Diff line number Diff line change @@ -9,6 +9,22 @@ const c = @cImport({
99 @cInclude ("node_api.h" );
1010});
1111
12+ const Strong = if (@hasField (std .builtin .GlobalLinkage , "strong" )) .strong else .Strong ;
13+
14+ pub fn exports () type {
15+ @export (napi_register_module_v1 , .{ .name = "napi_register_module_v1" , .linkage = Strong });
16+
17+ return struct {};
18+ }
19+
20+ pub fn napi_register_module_v1 (env : c.napi_env , exports_ : c.napi_value ) callconv (.C ) c.napi_value {
21+ const properties = [_ ]c.napi_property_descriptor {
22+ js .Property .init ("engine" , .{ .value = register (env ) }),
23+ };
24+ assert (c .napi_define_properties (env , exports_ , properties .len , & properties ) == c .napi_ok );
25+ return exports_ ;
26+ }
27+
1228pub fn register (env : c.napi_env ) c.napi_value {
1329 const object = js .Object .init (env );
1430 const properties = [_ ]c.napi_property_descriptor {
Original file line number Diff line number Diff line change @@ -4,15 +4,8 @@ const std = @import("std");
44
55const assert = std .debug .assert ;
66
7- const c = @cImport ({
8- @cDefine ("NAPI_VERSION" , "8" );
9- @cInclude ("node_api.h" );
10- });
7+ const exportable = @hasDecl (std .zig , "Zir" ) and ! @hasField (std .zig .Zir .Inst .Tag , "export_value" );
118
12- export fn napi_register_module_v1 (env : c.napi_env , exports : c.napi_value ) c.napi_value {
13- const properties = [_ ]c.napi_property_descriptor {
14- js .Property .init ("engine" , .{ .value = node .register (env ) }),
15- };
16- assert (c .napi_define_properties (env , exports , properties .len , & properties ) == c .napi_ok );
17- return exports ;
18- }
9+ usingnamespace if (exportable ) struct {
10+ export const napi_register_module_v1 = node .napi_register_module_v1 ;
11+ } else node .exports ();
You can’t perform that action at this time.
0 commit comments