@parischap/pretty-print
Version:
A functional library to pretty-print and treeify objects
82 lines • 2.14 kB
TypeScript
/**
* This module implements a map of the different marks that appear in a value to stringify.
*
* With the make function, you can define your own instances if the provided ones don't suit your
* needs.
*/
import { MInspectable, MTypes } from '@parischap/effect-lib';
import { Equal, Equivalence, HashMap, Pipeable } from 'effect';
/**
* Module tag
*
* @category Models
*/
export declare const moduleTag = "@parischap/pretty-print/MarkMap/";
declare const _TypeId: unique symbol;
type _TypeId = typeof _TypeId;
declare namespace Mark {
interface Type {
/** The text to be displayed for this mark */
readonly text: string;
/**
* The name of the part that this mark belongs to. It will be used to determine the style to
* apply (see StyleMap.ts).
*/
readonly partName: string;
}
}
declare namespace Marks {
interface Type extends HashMap.HashMap<string, Mark.Type> {
}
}
/**
* Interface that represents a MarkMap
*
* @category Models
*/
export interface Type extends Equal.Equal, MInspectable.Inspectable, Pipeable.Pipeable {
/** Id of this MarkMap instance. Useful for equality and debugging. */
readonly id: string;
/** Map of the different marks that appear in a value to stringify */
readonly marks: Marks.Type;
/** @internal */
readonly [_TypeId]: _TypeId;
}
/**
* Type guard
*
* @category Guards
*/
export declare const has: (u: unknown) => u is Type;
/**
* Equivalence
*
* @category Equivalences
*/
export declare const equivalence: Equivalence.Equivalence<Type>;
/**
* Constructor
*
* @category Constructors
*/
export declare const make: (params: MTypes.Data<Type>) => Type;
/**
* Returns the `id` property of `self`
*
* @category Destructors
*/
export declare const id: MTypes.OneArgFunction<Type, string>;
/**
* Returns the `marks` property of `self`
*
* @category Destructors
*/
export declare const marks: MTypes.OneArgFunction<Type, Marks.Type>;
/**
* Default MarkMap instance
*
* @category Instances
*/
export declare const utilInspectLike: Type;
export {};
//# sourceMappingURL=MarkMap.d.ts.map