@acrsolutions/chat-components
Version:
Un set di componenti per la creazione di un'applicazione di messaggistica
65 lines (64 loc) • 3.17 kB
TypeScript
/**
*
* @param templateSegments : array di stringhe, dove gli elementi sono i segnaposto delle variabili {{1}}, {{2}} e le stringhe di testo
* @param templateInsertedValues : oggetto con le chiavi dei segnaposto e i valori delle variabili {1: 'ciao'}
* @returns una stringa con il testo del template, con i segnaposto sostituiti dai valori delle variabili
*/
export declare function reconstructTemplateText(templateSegments: string[], templateInsertedValues: {
[key: string]: string;
}): string;
/**
*
* @param text : il testo del template base, con i segnaposto {{1}}, {{2}} dove l'utente inserisce le variabili
* @returns lo stesso testo diviso in un array di stringhe, dove gli elementi sono i segnaposto e le stringhe di testo
*/
export declare function toSplittedTemplatePlaceholders(text: string): string[];
/**
*
* @param variablesFromUser : array di oggetti con le chiavi key e value, dove key è il nome della variabile e value è il valore della variabile
* @returns oggetto con le chiavi 1, 2, 3... e i valori delle variabili
* Rende compatibile il template e le variabili inserite dall'utente
*/
export declare function getTemplateInsertedValues(variablesFromUser: {
key: string;
value: string;
}[]): {
[key: string]: string;
};
/**
* @param templateText il testo del template base, con i segnaposto {{1}}, {{2}} dove l'utente inserisce le variabili
* @param templateSectionKey la chiave della sezione del template, ad esempio BUTTONS, TEXT, ecc.
* E' la chiave con cui vengono salvati i valori delle variabili.
* @param variablesFromMessage array di oggetti con le chiavi key e value.
* Se valorizzato: ci si trova in un messaggio di tipo template
* @param values oggetto con le chiavi sectionkey_1, sectionkey_2... e i valori delle variabili.
* Se valorizzato: si sta creando un template nuovo.
* @description Questa funzione costruisce il testo del template con le variabili inserite dall'utente.
* Può prendere i valori delle variabili in forma di oggetto oppure in forma di array di oggetti.
* Questo perchè la preview in un invio di nuovo messaggio template riceve le variabili in forma differente
* dalla preview di un messaggio template nella conversazione.
* @returns il testo completo del template con le variabili inserite dall'utente
*/
export declare function buildTemplateTextWithInsertedValues({ templateText, templateSectionKey, variablesFromMessage, values, }: {
templateText: string;
variablesFromMessage?: {
key: string;
value: string;
}[];
values?: {
[key: string]: string;
};
templateSectionKey: string;
}): string;
export declare const extractFileDataFromFile: (file: File) => Promise<{
fileBytes: string;
fileName: string;
} | null>;
export declare function getUserInitials(userFullName: string): string;
/**
*
* @param sentDate data di invio del messaggio in formato ISOstring: YYYY-MM-DDTHH:mm:ss.sssZ
* @returns La data in formato "ieri", "giorno della settimana" o "giorno mese anno"
*/
export declare function buildPreviewDate(sentDate: string): string;
export declare function buildSentDate(sentDate: string): string;