@convo-lang/convo-lang
Version:
The language of AI
62 lines • 2.53 kB
JavaScript
;
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