@metreeca/core - v0.9.17
    Preparing search index...

    Module report

    Error handling and execution reporting utilities.

    Provides utilities for error handling, message formatting, and execution timing to support error reporting and performance analysis.

    Error Throwing in Expressions

    Throw errors in expression contexts where statements aren't allowed:

    import { error } from '@metreeca/core/report';

    const value = map.get(key) ?? error("Missing required key");

    const result = isValid(input)
    ? processInput(input)
    : error(new ValidationError("Invalid input"));

    Message Formatting

    Extract readable messages from various value types:

    import { message } from '@metreeca/core/report';

    console.error(`Failed with: ${message(errorValue)}`);

    // Error objects -> message property
    // Numbers -> locale-formatted strings
    // Other values -> string representation

    Execution Timing

    Monitor timing for synchronous and asynchronous operations:

    import { time } from '@metreeca/core/report';

    const result = await time(
    async () => fetchData(url),
    (data, elapsed) => console.log(`Fetched in ${elapsed}ms`)
    );

    const computed = time(
    () => expensiveCalculation(),
    (result, elapsed) => logPerformance('calculation', elapsed)
    );

    Functions

    error

    Throws an error in expression contexts.

    message

    Extracts a readable message string from an unknown value.

    time

    Executes a task (sync or async) and monitors its execution time.