PreParsePostFormat
Pre-parse / Post-format, ayrıştırıcıdan önce girdiyi ve biçimlendiriciden sonra dize çıktısını işlemenizi sağlar. moment.js'deki yerel ayarlar için benzer bir davranışa dayanır.
NOT: Bu eklenti, işlevselliği localeData
eklentisine bağlı olduğundan, ondan önce içe aktarılmalıdır.
NOT: Bu eklenti aynı zamanda göreli zaman eklentisini de etkiler. Bu davranış, moment.js uygulamasının bir taklididir ve tasarımın bir parçasıdır.
Kullanım Örneği
Örn. Özellikle AR yerel ayarında, Arap rakamlarını desteklemek amacıyla kullanılır.
javascript
// Arapça [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, '،');
},
// ...
};
// ...
Eğer yeterince açık değilse, Testler eklentinin nasıl kullanılacağı konusunda size yardımcı olabilir.