UNPKG

@itwin/presentation-shared

Version:

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

49 lines 2.06 kB
"use strict"; /*--------------------------------------------------------------------------------------------- * Copyright (c) Bentley Systems, Incorporated. All rights reserved. * See LICENSE.md in the project root for license terms and full copyright notice. *--------------------------------------------------------------------------------------------*/ Object.defineProperty(exports, "__esModule", { value: true }); exports.ConcatenatedValue = exports.ConcatenatedValuePart = void 0; /** @public */ // eslint-disable-next-line @typescript-eslint/no-redeclare 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 || (exports.ConcatenatedValuePart = ConcatenatedValuePart = {})); /** @public */ // eslint-disable-next-line @typescript-eslint/no-redeclare 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 || (exports.ConcatenatedValue = ConcatenatedValue = {})); //# sourceMappingURL=ConcatenatedValue.js.map