UNPKG

@convo-lang/convo-lang

Version:
62 lines 2.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.rawConvo = exports.getRawConvoValueAsString = exports.isRawConvoValue = void 0; const common_1 = require("@iyio/common"); const convo_lib_1 = require("./convo-lib"); const convo_zod_1 = require("./convo-zod"); const isRawConvoValue = (value) => { return typeof value?.rawConvoValue === 'string'; }; exports.isRawConvoValue = isRawConvoValue; const getRawConvoValueAsString = (value, escape = false) => { switch (typeof value) { case 'string': return escape ? (0, convo_lib_1.escapeConvoMessageContent)(value) : value; case 'object': if (!value) { return ''; } if ((0, exports.isRawConvoValue)(value)) { return value.rawConvoValue; } else if ((0, common_1.valueIsZodType)(value)) { return (0, convo_zod_1.zodSchemeToConvoTypeString)(value); } else { try { return escape ? (0, convo_lib_1.escapeConvoMessageContent)(JSON.stringify(value, null, 4)) : JSON.stringify(value, null, 4); } catch { try { return escape ? (0, convo_lib_1.escapeConvoMessageContent)(JSON.stringify(value, (0, common_1.createJsonRefReplacer)(), 4)) : JSON.stringify(value, (0, common_1.createJsonRefReplacer)(), 4); } catch (ex) { const err = { stringifyError: (0, common_1.getErrorMessage)(ex) }; return escape ? (0, convo_lib_1.escapeConvoMessageContent)(JSON.stringify(err, null, 4)) : JSON.stringify(err, null, 4); } } } case 'undefined': return ''; default: return escape ? (0, convo_lib_1.escapeConvoMessageContent)(value?.toString() ?? 'undefined') : (value?.toString() ?? 'undefined'); } }; exports.getRawConvoValueAsString = getRawConvoValueAsString; const rawConvo = (value) => { return { rawConvoValue: (0, exports.getRawConvoValueAsString)(value, false), }; }; exports.rawConvo = rawConvo; //# sourceMappingURL=convo-template-types.js.map