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

    Module error

    Error handling and execution reporting utilities.

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

    Type Guard Assertion

    Validate values against type guards with automatic error messages:

    import { assert } from '@metreeca/core/error';
    import { isString, isNumber } from '@metreeca/core';

    const name = assert(input, isString); // throws TypeError if not a string
    const count = assert(data, isNumber, "count must be numeric");

    Error Throwing in Expressions

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

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

    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/error';

    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/error';

    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

    assert

    Validates a value against a type guard and returns it.

    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.