@itwin/presentation-shared
Version:
The package contains types and utilities used across different iTwin.js Presentation packages.
46 lines • 1.85 kB
TypeScript
import { TypedPrimitiveValue } from "./Values.js";
/**
* A part of a `ConcatenatedValue`, describing one piece of the value. Possible types:
* - `ConcatenatedValue` describes a nested concatenated value.
* - `TypedPrimitiveValue` describes a value with its type. Generally the value is formatted
* according to its type information before concatenating with other parts.
* - `string` is just concatenated to other parts as-is.
*
* @see `ConcatenatedValue`
* @public
*/
export type ConcatenatedValuePart = ConcatenatedValue | TypedPrimitiveValue | string;
/** @public */
export declare namespace ConcatenatedValuePart {
/** @public */
function isString(part: ConcatenatedValuePart): part is string;
/** @public */
function isPrimitive(part: ConcatenatedValuePart): part is TypedPrimitiveValue;
/** @public */
function isConcatenatedValue(part: ConcatenatedValuePart): part is ConcatenatedValue;
}
/**
* A data structure that contains `ConcatenatedValuePart` objects describing
* pieces that may be formatted and concatenated together.
*
* @public
*/
export type ConcatenatedValue = ConcatenatedValuePart[];
/** @public */
export declare namespace ConcatenatedValue {
/**
* Serialize given `ConcatenatedValue` to string using a formatter function. The parts are
* each formatted individually and then joined together.
*
* @public
*/
function serialize(props: {
/** The parts to join. */
parts: ConcatenatedValue;
/** Parts formatter to convert each part to string */
partFormatter: (part: Exclude<ConcatenatedValuePart, ConcatenatedValue>) => Promise<string>;
/** Optional separator for joining the parts. Defaults to an empty string. */
separator?: string;
}): Promise<string>;
}
//# sourceMappingURL=ConcatenatedValue.d.ts.map