UNPKG

@itwin/presentation-shared

Version:

The package contains types and utilities used across different iTwin.js Presentation packages.

46 lines 1.87 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Bentley Systems, Incorporated. All rights reserved. * See LICENSE.md in the project root for license terms and full copyright notice. *--------------------------------------------------------------------------------------------*/ /** @public */ // eslint-disable-next-line @typescript-eslint/no-redeclare export var ConcatenatedValuePart; (function (ConcatenatedValuePart) { /** @public */ function isString(part) { return typeof part === "string"; } ConcatenatedValuePart.isString = isString; /** @public */ function isPrimitive(part) { return !!part.type; } ConcatenatedValuePart.isPrimitive = isPrimitive; /** @public */ function isConcatenatedValue(part) { return Array.isArray(part); } ConcatenatedValuePart.isConcatenatedValue = isConcatenatedValue; })(ConcatenatedValuePart || (ConcatenatedValuePart = {})); /** @public */ // eslint-disable-next-line @typescript-eslint/no-redeclare export var ConcatenatedValue; (function (ConcatenatedValue) { /** * Serialize given `ConcatenatedValue` to string using a formatter function. The parts are * each formatted individually and then joined together. * * @public */ async function serialize(props) { const { parts, partFormatter, separator } = props; return (await Promise.all(parts.map(async (part) => { if (ConcatenatedValuePart.isConcatenatedValue(part)) { return serialize({ parts: part, partFormatter, separator }); } return partFormatter(part); }))).join(separator ?? ""); } ConcatenatedValue.serialize = serialize; })(ConcatenatedValue || (ConcatenatedValue = {})); //# sourceMappingURL=ConcatenatedValue.js.map