mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Add function to write extension fields to character cards.
This commit is contained in:
@ -1226,3 +1226,27 @@ export async function extractTextFromMarkdown(blob) {
|
||||
const text = postProcessText(document.body.textContent, false);
|
||||
return text;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a value in an object by a path.
|
||||
* @param {object} obj Object to set value in
|
||||
* @param {string} path Key path
|
||||
* @param {any} value Value to set
|
||||
* @returns {void}
|
||||
*/
|
||||
export function setValueByPath(obj, path, value) {
|
||||
const keyParts = path.split('.');
|
||||
let currentObject = obj;
|
||||
|
||||
for (let i = 0; i < keyParts.length - 1; i++) {
|
||||
const part = keyParts[i];
|
||||
|
||||
if (!Object.hasOwn(currentObject, part)) {
|
||||
currentObject[part] = {};
|
||||
}
|
||||
|
||||
currentObject = currentObject[part];
|
||||
}
|
||||
|
||||
currentObject[keyParts[keyParts.length - 1]] = value;
|
||||
}
|
||||
|
Reference in New Issue
Block a user