functype-log 0.1.0 → 0.2.0

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.
@@ -0,0 +1,21 @@
1
+ import { i as Logger, r as LogMetadata } from "./Logger-BFum_d5a.js";
2
+ import { t as ConsoleLoggerOptions } from "./ConsoleLogger-6gnkQctP.js";
3
+
4
+ //#region src/direct/DirectLogger.d.ts
5
+ type DirectLogger = {
6
+ readonly trace: (message: string, metadata?: LogMetadata) => void;
7
+ readonly debug: (message: string, metadata?: LogMetadata) => void;
8
+ readonly info: (message: string, metadata?: LogMetadata) => void;
9
+ readonly warn: (message: string, metadata?: LogMetadata) => void;
10
+ readonly error: (message: string, metadata?: LogMetadata) => void;
11
+ readonly fatal: (message: string, metadata?: LogMetadata) => void;
12
+ readonly withError: (error: Error) => DirectLogger;
13
+ readonly withContext: (context: LogMetadata) => DirectLogger;
14
+ readonly child: (context?: LogMetadata) => DirectLogger;
15
+ };
16
+ declare const toDirectLogger: (logger: Logger) => DirectLogger;
17
+ declare const createDirectConsoleLogger: (options?: ConsoleLoggerOptions) => DirectLogger;
18
+ declare const directSilentLogger: DirectLogger;
19
+ //#endregion
20
+ export { toDirectLogger as i, createDirectConsoleLogger as n, directSilentLogger as r, DirectLogger as t };
21
+ //# sourceMappingURL=DirectLogger-FOBJVc0B.d.ts.map
@@ -0,0 +1,15 @@
1
+ import { n as LogLevel, t as LogEntry } from "./Logger-BFum_d5a.js";
2
+ import { t as DirectLogger } from "./DirectLogger-FOBJVc0B.js";
3
+ import { List } from "functype";
4
+
5
+ //#region src/direct/DirectTestLogger.d.ts
6
+ type DirectTestLoggerHandle = {
7
+ readonly logger: DirectLogger;
8
+ readonly entries: () => List<LogEntry>;
9
+ readonly clear: () => void;
10
+ readonly hasEntry: (level: LogLevel, messagePattern: string | RegExp) => boolean;
11
+ };
12
+ declare const createDirectTestLogger: () => DirectTestLoggerHandle;
13
+ //#endregion
14
+ export { createDirectTestLogger as n, DirectTestLoggerHandle as t };
15
+ //# sourceMappingURL=DirectTestLogger-DJpLbGDA.d.ts.map
@@ -8,4 +8,4 @@ declare const withLogging: <R, E, A>(name: string, effect: IO<R, E, A>) => IO<R
8
8
  declare const tapLog: <A>(level: LogLevel, message: string | ((a: A) => string)) => <R, E>(effect: IO<R, E, A>) => IO<R | Logger, E, A>;
9
9
  //#endregion
10
10
  export { withLogging as n, tapLog as t };
11
- //# sourceMappingURL=LogMiddleware-Bv7EDRjF.d.ts.map
11
+ //# sourceMappingURL=LogMiddleware-BnzVIrlP.d.ts.map
@@ -11,4 +11,4 @@ declare const LoggerLive: {
11
11
  };
12
12
  //#endregion
13
13
  export { LoggerLive as t };
14
- //# sourceMappingURL=LoggerLayer-B-tD-_gO.d.ts.map
14
+ //# sourceMappingURL=LoggerLayer-Cux5g6TS.d.ts.map
@@ -4,4 +4,4 @@ import { i as Logger } from "./Logger-BFum_d5a.js";
4
4
  declare const silentLogger: Logger;
5
5
  //#endregion
6
6
  export { silentLogger as t };
7
- //# sourceMappingURL=SilentLogger-BWfCzQqB.d.ts.map
7
+ //# sourceMappingURL=SilentLogger-PgPGwnY-.d.ts.map
@@ -11,4 +11,4 @@ type TestLoggerHandle = {
11
11
  declare const createTestLogger: () => TestLoggerHandle;
12
12
  //#endregion
13
13
  export { createTestLogger as n, TestLoggerHandle as t };
14
- //# sourceMappingURL=TestLogger-4s7rQHxR.d.ts.map
14
+ //# sourceMappingURL=TestLogger-DHKTZAWG.d.ts.map
@@ -0,0 +1,2 @@
1
+ import { i as toDirectLogger, n as createDirectConsoleLogger, r as directSilentLogger, t as DirectLogger } from "../DirectLogger-FOBJVc0B.js";
2
+ export { DirectLogger, createDirectConsoleLogger, directSilentLogger, toDirectLogger };
@@ -0,0 +1,2 @@
1
+ import{createConsoleLogger as e}from"../layers/ConsoleLogger.js";import{silentLogger as t}from"../layers/SilentLogger.js";const n=e=>({trace:(t,n)=>e.trace(t,n).runSyncOrThrow(),debug:(t,n)=>e.debug(t,n).runSyncOrThrow(),info:(t,n)=>e.info(t,n).runSyncOrThrow(),warn:(t,n)=>e.warn(t,n).runSyncOrThrow(),error:(t,n)=>e.error(t,n).runSyncOrThrow(),fatal:(t,n)=>e.fatal(t,n).runSyncOrThrow(),withError:t=>n(e.withError(t)),withContext:t=>n(e.withContext(t)),child:t=>n(e.child(t))}),r=t=>n(e(t)),i=n(t);export{r as createDirectConsoleLogger,i as directSilentLogger,n as toDirectLogger};
2
+ //# sourceMappingURL=DirectLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DirectLogger.js","names":[],"sources":["../../src/direct/DirectLogger.ts"],"sourcesContent":["import type { ConsoleLoggerOptions } from \"../layers/ConsoleLogger\"\nimport { createConsoleLogger } from \"../layers/ConsoleLogger\"\nimport { silentLogger } from \"../layers/SilentLogger\"\nimport type { Logger, LogMetadata } from \"../logger/Logger\"\n\nexport type DirectLogger = {\n readonly trace: (message: string, metadata?: LogMetadata) => void\n readonly debug: (message: string, metadata?: LogMetadata) => void\n readonly info: (message: string, metadata?: LogMetadata) => void\n readonly warn: (message: string, metadata?: LogMetadata) => void\n readonly error: (message: string, metadata?: LogMetadata) => void\n readonly fatal: (message: string, metadata?: LogMetadata) => void\n readonly withError: (error: Error) => DirectLogger\n readonly withContext: (context: LogMetadata) => DirectLogger\n readonly child: (context?: LogMetadata) => DirectLogger\n}\n\nexport const toDirectLogger = (logger: Logger): DirectLogger => ({\n trace: (msg, meta) => logger.trace(msg, meta).runSyncOrThrow(),\n debug: (msg, meta) => logger.debug(msg, meta).runSyncOrThrow(),\n info: (msg, meta) => logger.info(msg, meta).runSyncOrThrow(),\n warn: (msg, meta) => logger.warn(msg, meta).runSyncOrThrow(),\n error: (msg, meta) => logger.error(msg, meta).runSyncOrThrow(),\n fatal: (msg, meta) => logger.fatal(msg, meta).runSyncOrThrow(),\n withError: (err) => toDirectLogger(logger.withError(err)),\n withContext: (ctx) => toDirectLogger(logger.withContext(ctx)),\n child: (ctx) => toDirectLogger(logger.child(ctx)),\n})\n\nexport const createDirectConsoleLogger = (options?: ConsoleLoggerOptions): DirectLogger =>\n toDirectLogger(createConsoleLogger(options))\n\nexport const directSilentLogger: DirectLogger = toDirectLogger(silentLogger)\n"],"mappings":"0HAiBA,MAAa,EAAkB,IAAkC,CAC/D,OAAQ,EAAK,IAAS,EAAO,MAAM,EAAK,EAAK,CAAC,gBAAgB,CAC9D,OAAQ,EAAK,IAAS,EAAO,MAAM,EAAK,EAAK,CAAC,gBAAgB,CAC9D,MAAO,EAAK,IAAS,EAAO,KAAK,EAAK,EAAK,CAAC,gBAAgB,CAC5D,MAAO,EAAK,IAAS,EAAO,KAAK,EAAK,EAAK,CAAC,gBAAgB,CAC5D,OAAQ,EAAK,IAAS,EAAO,MAAM,EAAK,EAAK,CAAC,gBAAgB,CAC9D,OAAQ,EAAK,IAAS,EAAO,MAAM,EAAK,EAAK,CAAC,gBAAgB,CAC9D,UAAY,GAAQ,EAAe,EAAO,UAAU,EAAI,CAAC,CACzD,YAAc,GAAQ,EAAe,EAAO,YAAY,EAAI,CAAC,CAC7D,MAAQ,GAAQ,EAAe,EAAO,MAAM,EAAI,CAAC,CAClD,EAEY,EAA6B,GACxC,EAAe,EAAoB,EAAQ,CAAC,CAEjC,EAAmC,EAAe,EAAa"}
@@ -0,0 +1,2 @@
1
+ import { n as createDirectTestLogger, t as DirectTestLoggerHandle } from "../DirectTestLogger-DJpLbGDA.js";
2
+ export { DirectTestLoggerHandle, createDirectTestLogger };
@@ -0,0 +1,2 @@
1
+ import{List as e}from"functype";const t=(e,n,r)=>{let i=t=>(i,a)=>{e.push({level:t,message:i,metadata:Object.keys(n).length>0||a?{...n,...a}:void 0,error:r,timestamp:new Date})};return{trace:i(`trace`),debug:i(`debug`),info:i(`info`),warn:i(`warn`),error:i(`error`),fatal:i(`fatal`),withError:r=>t(e,n,r),withContext:i=>t(e,{...n,...i},r),child:r=>t(e,{...n,...r},void 0)}},n=()=>{let n=[];return{logger:t(n,{}),entries:()=>e(n),clear:()=>{n.length=0},hasEntry:(e,t)=>n.some(n=>n.level===e&&(typeof t==`string`?n.message.includes(t):t.test(n.message)))}};export{n as createDirectTestLogger};
2
+ //# sourceMappingURL=DirectTestLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DirectTestLogger.js","names":[],"sources":["../../src/direct/DirectTestLogger.ts"],"sourcesContent":["import { List } from \"functype\"\n\nimport type { LogEntry, LogLevel, LogMetadata } from \"../logger/Logger\"\nimport type { DirectLogger } from \"./DirectLogger\"\n\nexport type DirectTestLoggerHandle = {\n readonly logger: DirectLogger\n readonly entries: () => List<LogEntry>\n readonly clear: () => void\n readonly hasEntry: (level: LogLevel, messagePattern: string | RegExp) => boolean\n}\n\nconst createLoggerFromStore = (store: LogEntry[], baseContext: LogMetadata, baseError?: Error): DirectLogger => {\n const makeMethod =\n (level: LogLevel) =>\n (message: string, metadata?: LogMetadata): void => {\n store.push({\n level,\n message,\n metadata: Object.keys(baseContext).length > 0 || metadata ? { ...baseContext, ...metadata } : undefined,\n error: baseError,\n timestamp: new Date(),\n })\n }\n\n return {\n trace: makeMethod(\"trace\"),\n debug: makeMethod(\"debug\"),\n info: makeMethod(\"info\"),\n warn: makeMethod(\"warn\"),\n error: makeMethod(\"error\"),\n fatal: makeMethod(\"fatal\"),\n withError: (err: Error) => createLoggerFromStore(store, baseContext, err),\n withContext: (ctx: LogMetadata) => createLoggerFromStore(store, { ...baseContext, ...ctx }, baseError),\n child: (ctx?: LogMetadata) => createLoggerFromStore(store, { ...baseContext, ...ctx }, undefined),\n }\n}\n\nexport const createDirectTestLogger = (): DirectTestLoggerHandle => {\n const store: LogEntry[] = []\n\n return {\n logger: createLoggerFromStore(store, {}),\n entries: () => List(store),\n clear: () => {\n store.length = 0\n },\n hasEntry: (level: LogLevel, messagePattern: string | RegExp) =>\n store.some(\n (e) =>\n e.level === level &&\n (typeof messagePattern === \"string\" ? e.message.includes(messagePattern) : messagePattern.test(e.message)),\n ),\n }\n}\n"],"mappings":"gCAYA,MAAM,GAAyB,EAAmB,EAA0B,IAAoC,CAC9G,IAAM,EACH,IACA,EAAiB,IAAiC,CACjD,EAAM,KAAK,CACT,QACA,UACA,SAAU,OAAO,KAAK,EAAY,CAAC,OAAS,GAAK,EAAW,CAAE,GAAG,EAAa,GAAG,EAAU,CAAG,IAAA,GAC9F,MAAO,EACP,UAAW,IAAI,KAChB,CAAC,EAGN,MAAO,CACL,MAAO,EAAW,QAAQ,CAC1B,MAAO,EAAW,QAAQ,CAC1B,KAAM,EAAW,OAAO,CACxB,KAAM,EAAW,OAAO,CACxB,MAAO,EAAW,QAAQ,CAC1B,MAAO,EAAW,QAAQ,CAC1B,UAAY,GAAe,EAAsB,EAAO,EAAa,EAAI,CACzE,YAAc,GAAqB,EAAsB,EAAO,CAAE,GAAG,EAAa,GAAG,EAAK,CAAE,EAAU,CACtG,MAAQ,GAAsB,EAAsB,EAAO,CAAE,GAAG,EAAa,GAAG,EAAK,CAAE,IAAA,GAAU,CAClG,EAGU,MAAuD,CAClE,IAAM,EAAoB,EAAE,CAE5B,MAAO,CACL,OAAQ,EAAsB,EAAO,EAAE,CAAC,CACxC,YAAe,EAAK,EAAM,CAC1B,UAAa,CACX,EAAM,OAAS,GAEjB,UAAW,EAAiB,IAC1B,EAAM,KACH,GACC,EAAE,QAAU,IACX,OAAO,GAAmB,SAAW,EAAE,QAAQ,SAAS,EAAe,CAAG,EAAe,KAAK,EAAE,QAAQ,EAC5G,CACJ"}
@@ -0,0 +1,3 @@
1
+ import { i as toDirectLogger, n as createDirectConsoleLogger, r as directSilentLogger, t as DirectLogger } from "../DirectLogger-FOBJVc0B.js";
2
+ import { n as createDirectTestLogger, t as DirectTestLoggerHandle } from "../DirectTestLogger-DJpLbGDA.js";
3
+ export { type DirectLogger, type DirectTestLoggerHandle, createDirectConsoleLogger, createDirectTestLogger, directSilentLogger, toDirectLogger };
@@ -0,0 +1 @@
1
+ import{createDirectConsoleLogger as e,directSilentLogger as t,toDirectLogger as n}from"./DirectLogger.js";import{createDirectTestLogger as r}from"./DirectTestLogger.js";export{e as createDirectConsoleLogger,r as createDirectTestLogger,t as directSilentLogger,n as toDirectLogger};
package/dist/index.d.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  import { i as Logger, n as LogLevel, r as LogMetadata, t as LogEntry } from "./Logger-BFum_d5a.js";
2
2
  import { t as logLayerAdapter } from "./LogLayerAdapter-CtytCNjQ.js";
3
3
  import { n as createConsoleLogger, t as ConsoleLoggerOptions } from "./ConsoleLogger-6gnkQctP.js";
4
- import { t as LoggerLive } from "./LoggerLayer-B-tD-_gO.js";
5
- import { t as silentLogger } from "./SilentLogger-BWfCzQqB.js";
6
- import { n as createTestLogger, t as TestLoggerHandle } from "./TestLogger-4s7rQHxR.js";
7
- import { n as withLogging, t as tapLog } from "./LogMiddleware-Bv7EDRjF.js";
8
- export { type ConsoleLoggerOptions, type LogEntry, type LogLevel, type LogMetadata, Logger, LoggerLive, type TestLoggerHandle, createConsoleLogger, createTestLogger, logLayerAdapter, silentLogger, tapLog, withLogging };
4
+ import { i as toDirectLogger, n as createDirectConsoleLogger, r as directSilentLogger, t as DirectLogger } from "./DirectLogger-FOBJVc0B.js";
5
+ import { n as createDirectTestLogger, t as DirectTestLoggerHandle } from "./DirectTestLogger-DJpLbGDA.js";
6
+ import { t as LoggerLive } from "./LoggerLayer-Cux5g6TS.js";
7
+ import { t as silentLogger } from "./SilentLogger-PgPGwnY-.js";
8
+ import { n as createTestLogger, t as TestLoggerHandle } from "./TestLogger-DHKTZAWG.js";
9
+ import { n as withLogging, t as tapLog } from "./LogMiddleware-BnzVIrlP.js";
10
+ export { type ConsoleLoggerOptions, type DirectLogger, type DirectTestLoggerHandle, type LogEntry, type LogLevel, type LogMetadata, Logger, LoggerLive, type TestLoggerHandle, createConsoleLogger, createDirectConsoleLogger, createDirectTestLogger, createTestLogger, directSilentLogger, logLayerAdapter, silentLogger, tapLog, toDirectLogger, withLogging };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{Logger as e}from"./logger/Logger.js";import"./logger/index.js";import{logLayerAdapter as t}from"./adapter/LogLayerAdapter.js";import{createConsoleLogger as n}from"./layers/ConsoleLogger.js";import{silentLogger as r}from"./layers/SilentLogger.js";import{LoggerLive as i}from"./layers/LoggerLayer.js";import"./layers/index.js";import"./adapter/index.js";import{createTestLogger as a}from"./testing/TestLogger.js";import"./testing/index.js";import{tapLog as o,withLogging as s}from"./middleware/LogMiddleware.js";import"./middleware/index.js";export{e as Logger,i as LoggerLive,n as createConsoleLogger,a as createTestLogger,t as logLayerAdapter,r as silentLogger,o as tapLog,s as withLogging};
1
+ import{Logger as e}from"./logger/Logger.js";import"./logger/index.js";import{logLayerAdapter as t}from"./adapter/LogLayerAdapter.js";import{createConsoleLogger as n}from"./layers/ConsoleLogger.js";import{silentLogger as r}from"./layers/SilentLogger.js";import{LoggerLive as i}from"./layers/LoggerLayer.js";import"./layers/index.js";import"./adapter/index.js";import{createTestLogger as a}from"./testing/TestLogger.js";import"./testing/index.js";import{tapLog as o,withLogging as s}from"./middleware/LogMiddleware.js";import"./middleware/index.js";import{createDirectConsoleLogger as c,directSilentLogger as l,toDirectLogger as u}from"./direct/DirectLogger.js";import{createDirectTestLogger as d}from"./direct/DirectTestLogger.js";import"./direct/index.js";export{e as Logger,i as LoggerLive,n as createConsoleLogger,c as createDirectConsoleLogger,d as createDirectTestLogger,a as createTestLogger,l as directSilentLogger,t as logLayerAdapter,r as silentLogger,o as tapLog,u as toDirectLogger,s as withLogging};
@@ -1,2 +1,2 @@
1
- import { t as LoggerLive } from "../LoggerLayer-B-tD-_gO.js";
1
+ import { t as LoggerLive } from "../LoggerLayer-Cux5g6TS.js";
2
2
  export { LoggerLive };
@@ -1,2 +1,2 @@
1
- import { t as silentLogger } from "../SilentLogger-BWfCzQqB.js";
1
+ import { t as silentLogger } from "../SilentLogger-PgPGwnY-.js";
2
2
  export { silentLogger };
@@ -1,4 +1,4 @@
1
1
  import { n as createConsoleLogger, t as ConsoleLoggerOptions } from "../ConsoleLogger-6gnkQctP.js";
2
- import { t as LoggerLive } from "../LoggerLayer-B-tD-_gO.js";
3
- import { t as silentLogger } from "../SilentLogger-BWfCzQqB.js";
2
+ import { t as LoggerLive } from "../LoggerLayer-Cux5g6TS.js";
3
+ import { t as silentLogger } from "../SilentLogger-PgPGwnY-.js";
4
4
  export { type ConsoleLoggerOptions, LoggerLive, createConsoleLogger, silentLogger };
@@ -1,2 +1,2 @@
1
- import { n as withLogging, t as tapLog } from "../LogMiddleware-Bv7EDRjF.js";
1
+ import { n as withLogging, t as tapLog } from "../LogMiddleware-BnzVIrlP.js";
2
2
  export { tapLog, withLogging };
@@ -1,2 +1,2 @@
1
- import { n as withLogging, t as tapLog } from "../LogMiddleware-Bv7EDRjF.js";
1
+ import { n as withLogging, t as tapLog } from "../LogMiddleware-BnzVIrlP.js";
2
2
  export { tapLog, withLogging };
@@ -1,2 +1,2 @@
1
- import { n as createTestLogger, t as TestLoggerHandle } from "../TestLogger-4s7rQHxR.js";
1
+ import { n as createTestLogger, t as TestLoggerHandle } from "../TestLogger-DHKTZAWG.js";
2
2
  export { TestLoggerHandle, createTestLogger };
@@ -1,2 +1,2 @@
1
- import { n as createTestLogger, t as TestLoggerHandle } from "../TestLogger-4s7rQHxR.js";
1
+ import { n as createTestLogger, t as TestLoggerHandle } from "../TestLogger-DHKTZAWG.js";
2
2
  export { type TestLoggerHandle, createTestLogger };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "functype-log",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "IO-native logging for functype — wraps LogLayer with Tag/Layer DI, structured logging, and test utilities",
5
5
  "keywords": [
6
6
  "functype",
@@ -59,6 +59,11 @@
59
59
  "types": "./dist/middleware/index.d.ts",
60
60
  "import": "./dist/middleware/index.js",
61
61
  "default": "./dist/middleware/index.js"
62
+ },
63
+ "./direct": {
64
+ "types": "./dist/direct/index.d.ts",
65
+ "import": "./dist/direct/index.js",
66
+ "default": "./dist/direct/index.js"
62
67
  }
63
68
  },
64
69
  "files": [