bare-module 1.9.1 → 1.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/binding.c +27 -20
  2. package/index.js +1 -1
  3. package/package.json +1 -1
package/binding.c CHANGED
@@ -9,6 +9,7 @@
9
9
  #include <uv.h>
10
10
 
11
11
  typedef struct {
12
+ js_ref_t *ctx;
12
13
  js_ref_t *on_import;
13
14
  js_ref_t *on_evaluate;
14
15
  } bare_module_context_t;
@@ -19,12 +20,12 @@ on_static_import (js_env_t *env, js_value_t *specifier, js_value_t *assertions,
19
20
 
20
21
  int err;
21
22
 
22
- js_value_t *on_import;
23
- err = js_get_reference_value(env, context->on_import, &on_import);
23
+ js_value_t *ctx;
24
+ err = js_get_reference_value(env, context->ctx, &ctx);
24
25
  assert(err == 0);
25
26
 
26
- js_value_t *global;
27
- err = js_get_global(env, &global);
27
+ js_value_t *on_import;
28
+ err = js_get_reference_value(env, context->on_import, &on_import);
28
29
  assert(err == 0);
29
30
 
30
31
  const char *name;
@@ -40,7 +41,7 @@ on_static_import (js_env_t *env, js_value_t *specifier, js_value_t *assertions,
40
41
  assert(err == 0);
41
42
 
42
43
  js_value_t *result;
43
- err = js_call_function(env, global, on_import, 4, args, &result);
44
+ err = js_call_function(env, ctx, on_import, 4, args, &result);
44
45
  if (err < 0) return NULL;
45
46
 
46
47
  js_module_t *module;
@@ -56,12 +57,12 @@ on_dynamic_import (js_env_t *env, js_value_t *specifier, js_value_t *assertions,
56
57
 
57
58
  int err;
58
59
 
59
- js_value_t *on_import;
60
- err = js_get_reference_value(env, context->on_import, &on_import);
60
+ js_value_t *ctx;
61
+ err = js_get_reference_value(env, context->ctx, &ctx);
61
62
  assert(err == 0);
62
63
 
63
- js_value_t *global;
64
- err = js_get_global(env, &global);
64
+ js_value_t *on_import;
65
+ err = js_get_reference_value(env, context->on_import, &on_import);
65
66
  assert(err == 0);
66
67
 
67
68
  js_value_t *args[4] = {specifier, assertions, referrer};
@@ -70,7 +71,7 @@ on_dynamic_import (js_env_t *env, js_value_t *specifier, js_value_t *assertions,
70
71
  assert(err == 0);
71
72
 
72
73
  js_value_t *result;
73
- err = js_call_function(env, global, on_import, 4, args, &result);
74
+ err = js_call_function(env, ctx, on_import, 4, args, &result);
74
75
  if (err < 0) return NULL;
75
76
 
76
77
  js_module_t *module;
@@ -86,12 +87,12 @@ on_evaluate (js_env_t *env, js_module_t *module, void *data) {
86
87
 
87
88
  int err;
88
89
 
89
- js_value_t *on_evaluate;
90
- err = js_get_reference_value(env, context->on_evaluate, &on_evaluate);
90
+ js_value_t *ctx;
91
+ err = js_get_reference_value(env, context->ctx, &ctx);
91
92
  assert(err == 0);
92
93
 
93
- js_value_t *global;
94
- err = js_get_global(env, &global);
94
+ js_value_t *on_evaluate;
95
+ err = js_get_reference_value(env, context->on_evaluate, &on_evaluate);
95
96
  assert(err == 0);
96
97
 
97
98
  const char *name;
@@ -104,7 +105,7 @@ on_evaluate (js_env_t *env, js_module_t *module, void *data) {
104
105
  if (err < 0) return;
105
106
 
106
107
  js_value_t *result;
107
- err = js_call_function(env, global, on_evaluate, 1, args, &result);
108
+ err = js_call_function(env, ctx, on_evaluate, 1, args, &result);
108
109
  if (err < 0) return;
109
110
  }
110
111
 
@@ -112,13 +113,13 @@ static js_value_t *
112
113
  bare_module_init (js_env_t *env, js_callback_info_t *info) {
113
114
  int err;
114
115
 
115
- size_t argc = 2;
116
- js_value_t *argv[2];
116
+ size_t argc = 3;
117
+ js_value_t *argv[3];
117
118
 
118
119
  err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
119
120
  assert(err == 0);
120
121
 
121
- assert(argc == 2);
122
+ assert(argc == 3);
122
123
 
123
124
  bare_module_context_t *context;
124
125
 
@@ -126,10 +127,13 @@ bare_module_init (js_env_t *env, js_callback_info_t *info) {
126
127
  err = js_create_unsafe_arraybuffer(env, sizeof(bare_module_context_t), (void **) &context, &result);
127
128
  if (err < 0) return NULL;
128
129
 
129
- err = js_create_reference(env, argv[0], 1, &context->on_import);
130
+ err = js_create_reference(env, argv[0], 1, &context->ctx);
131
+ assert(err == 0);
132
+
133
+ err = js_create_reference(env, argv[1], 1, &context->on_import);
130
134
  assert(err == 0);
131
135
 
132
- err = js_create_reference(env, argv[1], 1, &context->on_evaluate);
136
+ err = js_create_reference(env, argv[2], 1, &context->on_evaluate);
133
137
  assert(err == 0);
134
138
 
135
139
  err = js_on_dynamic_import(env, on_dynamic_import, (void *) context);
@@ -160,6 +164,9 @@ bare_module_destroy (js_env_t *env, js_callback_info_t *info) {
160
164
  err = js_delete_reference(env, context->on_evaluate);
161
165
  assert(err == 0);
162
166
 
167
+ err = js_delete_reference(env, context->ctx);
168
+ assert(err == 0);
169
+
163
170
  return NULL;
164
171
  }
165
172
 
package/index.js CHANGED
@@ -22,7 +22,7 @@ const Module = module.exports = class Module {
22
22
  return path.dirname(this.filename)
23
23
  }
24
24
 
25
- static _context = binding.init(this._onimport.bind(this), this._onevaluate.bind(this))
25
+ static _context = binding.init(this, this._onimport, this._onevaluate)
26
26
 
27
27
  static _extensions = Object.create(null)
28
28
  static _protocols = Object.create(null)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bare-module",
3
- "version": "1.9.1",
3
+ "version": "1.9.2",
4
4
  "description": "Module support for JavaScript",
5
5
  "main": "index.js",
6
6
  "files": [