@neon-rs/load 0.0.169 → 0.0.171

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.
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.__UNSTABLE_proxy = exports.__UNSTABLE_loader = exports.lazy = exports.bin = exports.currentTarget = void 0;
3
+ exports.__UNSTABLE_proxy = exports.proxy = exports.__UNSTABLE_loader = exports.lazy = exports.bin = exports.currentTarget = void 0;
4
4
  function currentTarget() {
5
5
  let os = null;
6
6
  switch (process.platform) {
@@ -150,8 +150,15 @@ function __UNSTABLE_loader(loaders) {
150
150
  };
151
151
  }
152
152
  exports.__UNSTABLE_loader = __UNSTABLE_loader;
153
- function __UNSTABLE_proxy(loaders) {
153
+ function isTargetTable(options) {
154
+ return !('targets' in options);
155
+ }
156
+ function proxy(options) {
157
+ if (isTargetTable(options)) {
158
+ options = { targets: options };
159
+ }
154
160
  const target = currentTarget();
161
+ const loaders = options.targets;
155
162
  if (!loaders.hasOwnProperty(target)) {
156
163
  throw new Error(`no precompiled module found for ${target}`);
157
164
  }
@@ -159,7 +166,17 @@ function __UNSTABLE_proxy(loaders) {
159
166
  let loaded = null;
160
167
  function load() {
161
168
  if (!loaded) {
162
- loaded = loader();
169
+ if (options.debug) {
170
+ try {
171
+ loaded = options.debug();
172
+ }
173
+ catch (_e) {
174
+ loaded = null;
175
+ }
176
+ }
177
+ if (!loaded) {
178
+ loaded = loader();
179
+ }
163
180
  }
164
181
  return loaded;
165
182
  }
@@ -200,4 +217,8 @@ function __UNSTABLE_proxy(loaders) {
200
217
  };
201
218
  return new Proxy({}, handler);
202
219
  }
220
+ exports.proxy = proxy;
221
+ function __UNSTABLE_proxy(options) {
222
+ return proxy(options);
223
+ }
203
224
  exports.__UNSTABLE_proxy = __UNSTABLE_proxy;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neon-rs/load",
3
- "version": "0.0.169",
3
+ "version": "0.0.171",
4
4
  "description": "Utilities for loading Neon modules.",
5
5
  "main": "dist/index.js",
6
6
  "types": "types/index.d.ts",
package/types/index.d.ts CHANGED
@@ -8,4 +8,11 @@ export type LazyOptions = {
8
8
  export declare function lazy(loaders: Record<string, () => any>, exports: string[]): any;
9
9
  export declare function lazy(options: LazyOptions): any;
10
10
  export declare function __UNSTABLE_loader(loaders: Record<string, () => Record<string, any>>): () => Record<string, any>;
11
- export declare function __UNSTABLE_proxy(loaders: Record<string, () => Record<string, any>>): any;
11
+ export type ModuleObject = Record<string, any>;
12
+ export type TargetTable = Record<string, () => ModuleObject>;
13
+ export type ProxyOptions = {
14
+ targets: TargetTable;
15
+ debug?: () => ModuleObject;
16
+ };
17
+ export declare function proxy(options: TargetTable | ProxyOptions): any;
18
+ export declare function __UNSTABLE_proxy(options: TargetTable | ProxyOptions): any;