From 95ac45b5aaa7fbbe3432105f5b18cba6ff65cfd9 Mon Sep 17 00:00:00 2001 From: JOLIMAITRE Matthieu Date: Sat, 15 Jun 2024 01:20:14 +0200 Subject: [PATCH] add logging function --- README.md | 9 +++++++++ src/lib/utils.ts | 16 ++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/README.md b/README.md index 6ab48ac..32d1315 100644 --- a/README.md +++ b/README.md @@ -3,3 +3,12 @@ A collection of utility functions and classes extending base JavaScript. Intended for the Deno runtime. + +## Usage + +```ts +import { log_from, range } from "https://git.barnulf.net/mb/barnulf_ts/raw/branch/master/mod.ts" +const log = log_from(import.meta) + +for (const item of range(0, 10)) log(item) +``` diff --git a/src/lib/utils.ts b/src/lib/utils.ts index 8cc8631..0119f50 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -21,3 +21,19 @@ export function next(iterator: Iterator) { export function* range(from: number, to: number) { while (from < to) yield from++; } + +/** + * usage: + * ```ts + * const log = log_from(import.meta) + * + * const a = 4 + * log("a", a) + * // [module.ts] a 4 + * ``` + */ +export function log_from(meta: ImportMeta, logging_function = console.log) { + const path = new URL(meta.url).pathname; + const prefix = `[${path}]`; + return (...args: unknown[]) => logging_function(prefix, ...args); +}