PreParsePostFormat
Pre-parse / Post-format te permite procesar la entrada antes del análisis sintáctico (parsing) y procesar la cadena de salida después del formateo. Basado en un comportamiento similar para las configuraciones regionales en moment.js.
NOTA: Este plugin requiere que el plugin localeData
se importe previamente, ya que depende de su funcionalidad.
NOTA: Este plugin también afecta al plugin de tiempo relativo por diseño (imita el comportamiento de implementación de moment.js).
Ejemplo de uso
Por ejemplo, en la configuración regional árabe (AR) específicamente, se utiliza para soportar números arábigos.
// Arabic [ar] // Árabe [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, '،');
},
// ...
};
// ...
Las pruebas también deberían darte una buena idea de cómo usar el plugin si no queda suficientemente claro.