Pre-análisis de formato
Pre-parse / Post-format le permite procesar la entrada antes del parser y procesar la salida de cadena después del formato. Basado en un comportamiento similar para localización en moment.js.
NOTA: este plugin requiere que el plugin localeData sea importado antes (ya que depende de su funcionalidad).
NOTA: este plugin también afecta al plugin de tiempo relativo, también por diseño (imita el comportamiento de implementaiton de moment.js).
Uso simple
por ejemplo, En la configuración regional AR específicamente, se utiliza para soportar números árabes.
// Arabic [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, '،')
},
// ...
}
// ...
Los test también deberían darte una buena idea sobre cómo usar el plugin si esto no está suficientemente claro ;).