PreParsePostFormat
Le plugin PreParsePostFormat permet de traiter les données d'entrée avant l'analyse et de gérer la chaîne de sortie après le formatage. Basé sur un comportement similaire pour les paramètres régionaux dans moment.js.
REMARQUE : Ce plugin nécessite l'importation préalable du plugin localeData, car il dépend de ses fonctionnalités.
REMARQUE : Ce plugin affecte également le plugin de temps relatif, et ce, de par sa conception (il imite le comportement d'implémentation de moment.js).
Exemple d'utilisation
Par exemple, dans les paramètres régionaux AR, il est spécifiquement utilisé pour prendre en charge les chiffres arabes.
// Arabe [ar]
import dayjs from 'dayjs';
import preParsePostFormat from 'dayjs/plugin/preParsePostFormat';
dayjs.extend(preParsePostFormat);
const months =
'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
'_'
);
const symbolMap = {
1: '١',
2: '٢',
3: '٣',
4: '٤',
5: '٥',
6: '٦',
7: '٧',
8: '٨',
9: '٩',
0: '٠',
};
const numberMap = {
'١': '1',
'٢': '2',
'٣': '3',
'٤': '4',
'٥': '5',
'٦': '6',
'٧': '7',
'٨': '8',
'٩': '9',
'٠': '0',
};
const locale = {
name: 'ar',
// ...
preparse(string) {
return string
.replace(/[١٢٣٤٥٦٧٨٩٠]/g, match => numberMap[match])
.replace(/،/g, ',');
},
postformat(string) {
return string.replace(/\d/g, match => symbolMap[match]).replace(/,/g, '،');
},
// ...
};
// ...
Les tests devraient vous donner une meilleure idée de l'utilisation du plugin si l'explication ci-dessus n'est pas suffisante.