@aztec/foundation 0.1.0-alpha24 → 0.1.0-alpha26

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 (62) hide show
  1. package/.prettierrc.json +4 -7
  2. package/.tsbuildinfo +1 -1
  3. package/dest/fifo/bounded_serial_queue.d.ts +1 -1
  4. package/dest/fifo/bounded_serial_queue.d.ts.map +1 -1
  5. package/dest/fifo/bounded_serial_queue.js +3 -3
  6. package/dest/fifo/memory_fifo.d.ts +1 -1
  7. package/dest/fifo/memory_fifo.d.ts.map +1 -1
  8. package/dest/fifo/memory_fifo.js +3 -3
  9. package/dest/json-rpc/client/index.d.ts +1 -1
  10. package/dest/json-rpc/client/index.d.ts.map +1 -1
  11. package/dest/json-rpc/client/index.js +2 -2
  12. package/dest/json-rpc/client/json_rpc_client.d.ts.map +1 -1
  13. package/dest/json-rpc/client/json_rpc_client.js +8 -4
  14. package/dest/json-rpc/index.d.ts +1 -1
  15. package/dest/json-rpc/index.d.ts.map +1 -1
  16. package/dest/json-rpc/index.js +2 -2
  17. package/dest/json-rpc/server/json_proxy.d.ts.map +1 -1
  18. package/dest/json-rpc/server/json_proxy.js +3 -2
  19. package/dest/json-rpc/server/json_rpc_server.d.ts +1 -1
  20. package/dest/json-rpc/server/json_rpc_server.d.ts.map +1 -1
  21. package/dest/json-rpc/server/json_rpc_server.js +3 -3
  22. package/dest/log/console.d.ts +2 -7
  23. package/dest/log/console.d.ts.map +1 -1
  24. package/dest/log/console.js +2 -3
  25. package/dest/log/debug.d.ts +2 -5
  26. package/dest/log/debug.d.ts.map +1 -1
  27. package/dest/log/debug.js +2 -2
  28. package/dest/log/index.d.ts +5 -0
  29. package/dest/log/index.d.ts.map +1 -1
  30. package/dest/log/index.js +2 -1
  31. package/dest/log/log_history.test.js +4 -4
  32. package/dest/log/logger.d.ts +27 -0
  33. package/dest/log/logger.d.ts.map +1 -0
  34. package/dest/log/logger.js +66 -0
  35. package/dest/retry/index.d.ts +1 -1
  36. package/dest/retry/index.d.ts.map +1 -1
  37. package/dest/retry/index.js +3 -3
  38. package/dest/transport/dispatch/create_dispatch_fn.d.ts +1 -1
  39. package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +1 -1
  40. package/dest/transport/dispatch/create_dispatch_fn.js +1 -1
  41. package/dest/wasm/wasm/empty_wasi_sdk.d.ts +1 -1
  42. package/dest/wasm/wasm/empty_wasi_sdk.js +3 -3
  43. package/dest/wasm/wasm/wasm_module.d.ts +3 -3
  44. package/dest/wasm/wasm/wasm_module.d.ts.map +1 -1
  45. package/dest/wasm/wasm/wasm_module.js +3 -3
  46. package/package.json +1 -1
  47. package/src/fifo/bounded_serial_queue.ts +2 -2
  48. package/src/fifo/memory_fifo.ts +2 -2
  49. package/src/json-rpc/client/index.ts +1 -1
  50. package/src/json-rpc/client/json_rpc_client.ts +5 -4
  51. package/src/json-rpc/index.ts +1 -1
  52. package/src/json-rpc/server/json_proxy.ts +2 -1
  53. package/src/json-rpc/server/json_rpc_server.ts +2 -2
  54. package/src/log/console.ts +2 -8
  55. package/src/log/debug.ts +3 -6
  56. package/src/log/index.ts +6 -0
  57. package/src/log/log_history.test.ts +3 -3
  58. package/src/log/logger.ts +87 -0
  59. package/src/retry/index.ts +2 -2
  60. package/src/transport/dispatch/create_dispatch_fn.ts +1 -1
  61. package/src/wasm/wasm/empty_wasi_sdk.ts +2 -2
  62. package/src/wasm/wasm/wasm_module.ts +4 -4
@@ -1,7 +1,7 @@
1
1
  import { Buffer } from 'buffer';
2
2
  import { randomBytes } from 'crypto';
3
3
  import { MemoryFifo } from '../../fifo/index.js';
4
- import { createDebugLogger } from '../../log/index.js';
4
+ import { createDebugOnlyLogger } from '../../log/index.js';
5
5
  import { getEmptyWasiSdk } from './empty_wasi_sdk.js';
6
6
  /**
7
7
  * WasmModule:
@@ -22,7 +22,7 @@ export class WasmModule {
22
22
  this.module = module;
23
23
  this.importFn = importFn;
24
24
  this.mutexQ = new MemoryFifo();
25
- this.debug = createDebugLogger(loggerName);
25
+ this.debug = createDebugOnlyLogger(loggerName);
26
26
  this.mutexQ.put(true);
27
27
  }
28
28
  /**
@@ -202,4 +202,4 @@ export class WasmModule {
202
202
  this.mutexQ.put(true);
203
203
  }
204
204
  }
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FzbV9tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd2FzbS93YXNtL3dhc21fbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFlLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBZ0N0RDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFPckI7Ozs7O09BS0c7SUFDSCxZQUNVLE1BQW1DLEVBQ25DLFFBQXFDLEVBQzdDLFVBQVUsR0FBRyxNQUFNO1FBRlgsV0FBTSxHQUFOLE1BQU0sQ0FBNkI7UUFDbkMsYUFBUSxHQUFSLFFBQVEsQ0FBNkI7UUFYdkMsV0FBTSxHQUFHLElBQUksVUFBVSxFQUFXLENBQUM7UUFjekMsSUFBSSxDQUFDLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0Q7Ozs7OztPQU1HO0lBQ0ksS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxFQUFFLE9BQU8sR0FBRyxJQUFJLEVBQUUsYUFBNEIsYUFBYTtRQUN2RixJQUFJLENBQUMsS0FBSyxDQUNSLGdCQUFnQixPQUFPLFdBQVcsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLElB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
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FzbV9tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd2FzbS93YXNtL3dhc21fbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFTLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBZ0N0RDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFPckI7Ozs7O09BS0c7SUFDSCxZQUNVLE1BQW1DLEVBQ25DLFFBQXFDLEVBQzdDLFVBQVUsR0FBRyxNQUFNO1FBRlgsV0FBTSxHQUFOLE1BQU0sQ0FBNkI7UUFDbkMsYUFBUSxHQUFSLFFBQVEsQ0FBNkI7UUFYdkMsV0FBTSxHQUFHLElBQUksVUFBVSxFQUFXLENBQUM7UUFjekMsSUFBSSxDQUFDLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0Q7Ozs7OztPQU1HO0lBQ0ksS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxFQUFFLE9BQU8sR0FBRyxJQUFJLEVBQUUsYUFBNEIsYUFBYTtRQUN2RixJQUFJLENBQUMsS0FBSyxDQUNSLGdCQUFnQixPQUFPLFdBQVcsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLElB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/foundation",
3
- "version": "0.1.0-alpha24",
3
+ "version": "0.1.0-alpha26",
4
4
  "exports": {
5
5
  "./eslint": "./.eslintrc.cjs",
6
6
  "./prettier": "./.prettierrc.json",
@@ -1,4 +1,4 @@
1
- import { createLogger } from '../log/console.js';
1
+ import { createDebugLogger } from '../log/index.js';
2
2
  import { Semaphore } from './semaphore.js';
3
3
  import { SerialQueue } from './serial_queue.js';
4
4
 
@@ -10,7 +10,7 @@ export class BoundedSerialQueue {
10
10
  private readonly queue = new SerialQueue();
11
11
  private semaphore: Semaphore;
12
12
 
13
- constructor(maxQueueSize: number, private log = createLogger('aztec:foundation:bounded_serial_queue')) {
13
+ constructor(maxQueueSize: number, private log = createDebugLogger('aztec:foundation:bounded_serial_queue')) {
14
14
  this.semaphore = new Semaphore(maxQueueSize);
15
15
  }
16
16
 
@@ -1,4 +1,4 @@
1
- import { createLogger } from '../log/console.js';
1
+ import { createDebugLogger } from '../log/index.js';
2
2
 
3
3
  /**
4
4
  * A simple fifo queue. It can grow unbounded. It can have multiple producers and consumers.
@@ -10,7 +10,7 @@ export class MemoryFifo<T> {
10
10
  private items: T[] = [];
11
11
  private flushing = false;
12
12
 
13
- constructor(private log = createLogger('aztec:foundation:memory_fifo')) {}
13
+ constructor(private log = createDebugLogger('aztec:foundation:memory_fifo')) {}
14
14
 
15
15
  /**
16
16
  * Returns the current number of items in the queue.
@@ -1 +1 @@
1
- export { createJsonRpcClient, JsonStringify } from './json_rpc_client.js';
1
+ export { createJsonRpcClient, JsonStringify, mustSucceedFetch, defaultFetch } from './json_rpc_client.js';
@@ -92,12 +92,13 @@ export function createJsonRpcClient<T extends object>(
92
92
  return new Proxy(
93
93
  {},
94
94
  {
95
- get:
96
- (_, rpcMethod: string) =>
97
- (...params: any[]) => {
95
+ get: (target, rpcMethod: string) => {
96
+ if (['then', 'catch'].includes(rpcMethod)) return Reflect.get(target, rpcMethod);
97
+ return (...params: any[]) => {
98
98
  debug(`JsonRpcClient.constructor`, 'proxy', rpcMethod, '<-', params);
99
99
  return request(rpcMethod, params);
100
- },
100
+ };
101
+ },
101
102
  },
102
103
  ) as RemoteObject<T>;
103
104
  }
@@ -5,4 +5,4 @@ export {
5
5
  ClassConverter,
6
6
  } from './class_converter.js';
7
7
  export { JsonRpcServer, JsonProxy } from './server/index.js';
8
- export { createJsonRpcClient, JsonStringify } from './client/index.js';
8
+ export { createJsonRpcClient, JsonStringify, mustSucceedFetch, defaultFetch } from './client/index.js';
@@ -25,9 +25,10 @@ export class JsonProxy {
25
25
  * @returns The remote result.
26
26
  */
27
27
  public async call(methodName: string, jsonParams: any[] = []) {
28
+ debug(`JsonProxy:call`, methodName, jsonParams);
28
29
  // Get access to our class members
29
30
  const proto = Object.getPrototypeOf(this.handler);
30
- assert(hasOwnProperty(proto, methodName), 'JsonProxy: Method not found!');
31
+ assert(hasOwnProperty(proto, methodName), `JsonProxy: Method ${methodName} not found!`);
31
32
  assert(Array.isArray(jsonParams), 'JsonProxy: Params not an array!');
32
33
  // convert the params from json representation to classes
33
34
  const convertedParams = jsonParams.map(param => convertFromJsonObj(this.classConverter, param));
@@ -5,7 +5,7 @@ import bodyParser from 'koa-bodyparser';
5
5
  import compress from 'koa-compress';
6
6
  import Router from 'koa-router';
7
7
 
8
- import { createLogger } from '../../log/index.js';
8
+ import { createDebugLogger } from '../../log/index.js';
9
9
  import { JsonClassConverterInput, StringClassConverterInput } from '../class_converter.js';
10
10
  import { convertBigintsInObj } from '../convert.js';
11
11
  import { JsonProxy } from './json_proxy.js';
@@ -22,7 +22,7 @@ export class JsonRpcServer {
22
22
  objectClassMap: JsonClassConverterInput,
23
23
  private createApi: boolean,
24
24
  private disallowedMethods: string[] = [],
25
- private log = createLogger('aztec:foundation:json-rpc:server'),
25
+ private log = createDebugLogger('aztec:foundation:json-rpc:server'),
26
26
  ) {
27
27
  this.proxy = new JsonProxy(handler, stringClassMap, objectClassMap);
28
28
  }
@@ -1,11 +1,5 @@
1
1
  /* eslint-disable no-console */
2
-
3
- /**
4
- * Logger is a utility type that represents a logging function that accepts any number of arguments.
5
- * It is used to provide customizable logging functionality, allowing developers to easily log messages
6
- * with optional prefixes and custom formatting or output destinations.
7
- */
8
- export type Logger = (...args: any[]) => void;
2
+ import { LogFn } from './index.js';
9
3
 
10
4
  /**
11
5
  * ConsoleLogger is a utility class that provides customizable console logging functionality.
@@ -36,7 +30,7 @@ class ConsoleLogger {
36
30
  * @param prefix - The optional string to prepend to each log message.
37
31
  * @returns A Logger function that accepts any number of arguments and logs them with the specified prefix.
38
32
  */
39
- export function createLogger(prefix?: string): Logger {
33
+ export function createConsoleLogger(prefix?: string): LogFn {
40
34
  if (prefix) {
41
35
  const logger = new ConsoleLogger(prefix, console.log);
42
36
  return (...args: any[]) => logger.log(...args);
package/src/log/debug.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import debug from 'debug';
2
2
 
3
+ import { LogFn } from './index.js';
4
+
3
5
  let preLogHook: ((...args: any[]) => void) | undefined;
4
6
  let postLogHook: ((...args: any[]) => void) | undefined;
5
7
 
@@ -23,17 +25,12 @@ function theFunctionThroughWhichAllLogsPass(logger: any, ...args: any[]) {
23
25
  }
24
26
  }
25
27
 
26
- /**
27
- * A debug logger.
28
- */
29
- export type DebugLogger = (...args: any[]) => void;
30
-
31
28
  /**
32
29
  * Return a logger, meant to be silent by default and verbose during debugging.
33
30
  * @param name - The module name of the logger.
34
31
  * @returns A callable log function.
35
32
  */
36
- export function createDebugLogger(name: string): DebugLogger {
33
+ export function createDebugOnlyLogger(name: string): LogFn {
37
34
  const logger = debug(name);
38
35
  return (...args: any[]) => theFunctionThroughWhichAllLogsPass(logger, ...args);
39
36
  }
package/src/log/index.ts CHANGED
@@ -1,3 +1,9 @@
1
+ /**
2
+ * A callable logger instance.
3
+ */
4
+ export type LogFn = (...args: any[]) => void;
5
+
1
6
  export * from './console.js';
2
7
  export * from './debug.js';
8
+ export * from './logger.js';
3
9
  export * from './log_history.js';
@@ -1,6 +1,6 @@
1
1
  import { jest } from '@jest/globals';
2
2
 
3
- import { createDebugLogger, enableLogs } from './debug.js';
3
+ import { createDebugOnlyLogger, enableLogs } from './debug.js';
4
4
  import { LogHistory } from './log_history.js';
5
5
 
6
6
  jest.useFakeTimers({ doNotFake: ['performance'] });
@@ -12,7 +12,7 @@ describe('log history', () => {
12
12
  const name = 'test:a';
13
13
 
14
14
  beforeEach(() => {
15
- debug = createDebugLogger(name);
15
+ debug = createDebugOnlyLogger(name);
16
16
  enableLogs(name);
17
17
  logHistory = new LogHistory();
18
18
  });
@@ -53,7 +53,7 @@ describe('log history', () => {
53
53
  it('only keeps logs with enabled namespace', () => {
54
54
  logHistory.enable();
55
55
  const name2 = 'test:b';
56
- const debug2 = createDebugLogger(name2);
56
+ const debug2 = createDebugOnlyLogger(name2);
57
57
  debug('0');
58
58
  debug2('zero');
59
59
  expect(logHistory.getLogs()).toEqual([[timestemp, name, '0']]);
@@ -0,0 +1,87 @@
1
+ import debug from 'debug';
2
+ import isNode from 'detect-node';
3
+ import { isatty } from 'tty';
4
+
5
+ import { LogFn } from './index.js';
6
+
7
+ const LogLevels = ['silent', 'fatal', 'error', 'warn', 'info', 'debug'] as const;
8
+ const DefaultLogLevel = 'info' as const;
9
+
10
+ /**
11
+ * A valid log severity level.
12
+ */
13
+ type LogLevel = (typeof LogLevels)[number];
14
+
15
+ const envLogLevel = process.env.LOG_LEVEL?.toLowerCase() as LogLevel;
16
+ const currentLevel = LogLevels.includes(envLogLevel) ? envLogLevel : DefaultLogLevel;
17
+
18
+ /**
19
+ * Logger that supports multiple severity levels.
20
+ */
21
+ export type Logger = { [K in LogLevel]: LogFn };
22
+
23
+ /**
24
+ * Logger that supports multiple severity levels and can be called directly to issue a debug statement.
25
+ * Intended as a drop-in replacement for the debug module.
26
+ */
27
+ export type DebugLogger = LogFn & Logger;
28
+
29
+ /**
30
+ * Creates a new DebugLogger for the current module, defaulting to the LOG_LEVEL env var.
31
+ * If DEBUG="[module]" env is set, will enable debug logging if the module matches.
32
+ * Uses npm debug for debug level and console.error for other levels.
33
+ * @param name - Name of the module.
34
+ * @returns A debug logger.
35
+ */
36
+ export function createDebugLogger(name: string): DebugLogger {
37
+ const debugLogger = debug(name);
38
+ if (currentLevel === 'debug') debugLogger.enabled = true;
39
+
40
+ const logger = {
41
+ silent: () => {},
42
+ fatal: (...args: any[]) => logWithDebug(debugLogger, 'fatal', args),
43
+ error: (...args: any[]) => logWithDebug(debugLogger, 'error', args),
44
+ warn: (...args: any[]) => logWithDebug(debugLogger, 'warn', args),
45
+ info: (...args: any[]) => logWithDebug(debugLogger, 'info', args),
46
+ debug: (...args: any[]) => logWithDebug(debugLogger, 'debug', args),
47
+ };
48
+ return Object.assign(debugLogger, logger);
49
+ }
50
+
51
+ /**
52
+ * Logs args to npm debug if enabled or log level is debug, console.error otherwise.
53
+ * @param debug - Instance of npm debug.
54
+ * @param level - Intended log level.
55
+ * @param args - Args to log.
56
+ */
57
+ function logWithDebug(debug: debug.Debugger, level: LogLevel, args: any[]) {
58
+ if (debug.enabled) {
59
+ debug(args[0], ...args.slice(1));
60
+ } else if (LogLevels.indexOf(level) <= LogLevels.indexOf(currentLevel)) {
61
+ printLog([getPrefix(debug, level), ...args]);
62
+ }
63
+ }
64
+
65
+ /**
66
+ * Returns a log prefix that emulates that of npm debug. Uses colors if in node and in a tty.
67
+ * @param debugLogger - Instance of npm debug logger.
68
+ * @param level - Intended log level (printed out if strictly above current log level).
69
+ * @returns Log prefix.
70
+ */
71
+ function getPrefix(debugLogger: debug.Debugger, level: LogLevel) {
72
+ const levelLabel = currentLevel !== level ? ` ${level.toUpperCase}` : '';
73
+ const prefix = `${debugLogger.namespace.replace(/^aztec:/, '')}${levelLabel}`;
74
+ if (!isNode || !isatty(process.stderr.fd)) return prefix;
75
+ const colorIndex = debug.selectColor(debugLogger.namespace) as number;
76
+ const colorCode = '\u001B[3' + (colorIndex < 8 ? colorIndex : '8;5;' + colorIndex);
77
+ return ` ${colorCode};1m${prefix}\u001B[0m`;
78
+ }
79
+
80
+ /**
81
+ * Outputs to console error.
82
+ * @param args - Args to log.
83
+ */
84
+ function printLog(args: any[]) {
85
+ // eslint-disable-next-line no-console
86
+ console.error(...args);
87
+ }
@@ -1,4 +1,4 @@
1
- import { createLogger } from '../log/index.js';
1
+ import { createDebugLogger } from '../log/index.js';
2
2
  import { sleep } from '../sleep/index.js';
3
3
  import { Timer } from '../timer/index.js';
4
4
 
@@ -32,7 +32,7 @@ export async function retry<Result>(
32
32
  fn: () => Promise<Result>,
33
33
  name = 'Operation',
34
34
  backoff = backoffGenerator(),
35
- log = createLogger('aztec:foundation:retry'),
35
+ log = createDebugLogger('aztec:foundation:retry'),
36
36
  ) {
37
37
  while (true) {
38
38
  try {
@@ -1,4 +1,4 @@
1
- import { createDebugLogger } from '../../log/debug.js';
1
+ import { createDebugLogger } from '../../log/index.js';
2
2
 
3
3
  /**
4
4
  * Represents a message object for dispatching function calls.
@@ -1,4 +1,4 @@
1
- import { createDebugLogger } from '../../log/index.js';
1
+ import { createDebugOnlyLogger } from '../../log/index.js';
2
2
 
3
3
  /**
4
4
  * Dummy implementation of a necessary part of the wasi api:
@@ -7,7 +7,7 @@ import { createDebugLogger } from '../../log/index.js';
7
7
  * TODO find a way to update off of wasi 12.
8
8
  */
9
9
  /* eslint-disable camelcase */
10
- export const getEmptyWasiSdk = (debug = createDebugLogger('wasm:empty_wasi_sdk')) => ({
10
+ export const getEmptyWasiSdk = (debug = createDebugOnlyLogger('wasm:empty_wasi_sdk')) => ({
11
11
  /**
12
12
  * Retrieves the current time from the system clock.
13
13
  * This function is a dummy implementation of the WASI API's `clock_time_get` method,
@@ -2,7 +2,7 @@ import { Buffer } from 'buffer';
2
2
  import { randomBytes } from 'crypto';
3
3
 
4
4
  import { MemoryFifo } from '../../fifo/index.js';
5
- import { DebugLogger, createDebugLogger } from '../../log/index.js';
5
+ import { LogFn, createDebugOnlyLogger } from '../../log/index.js';
6
6
  import { getEmptyWasiSdk } from './empty_wasi_sdk.js';
7
7
 
8
8
  /**
@@ -48,7 +48,7 @@ export class WasmModule implements IWasmModule {
48
48
  private heap!: Uint8Array;
49
49
  private instance?: WebAssembly.Instance;
50
50
  private mutexQ = new MemoryFifo<boolean>();
51
- private debug: DebugLogger;
51
+ private debug: LogFn;
52
52
 
53
53
  /**
54
54
  * Create a wasm module. Should be followed by await init();.
@@ -61,7 +61,7 @@ export class WasmModule implements IWasmModule {
61
61
  private importFn: (module: WasmModule) => any,
62
62
  loggerName = 'wasm',
63
63
  ) {
64
- this.debug = createDebugLogger(loggerName);
64
+ this.debug = createDebugOnlyLogger(loggerName);
65
65
  this.mutexQ.put(true);
66
66
  }
67
67
 
@@ -147,7 +147,7 @@ export class WasmModule implements IWasmModule {
147
147
  * Add a logger.
148
148
  * @param logger - Function to call when logging.
149
149
  */
150
- public addLogger(logger: DebugLogger) {
150
+ public addLogger(logger: LogFn) {
151
151
  const oldDebug = this.debug;
152
152
  this.debug = (...args: any[]) => {
153
153
  logger(...args);