UNPKG

623 BJavaScriptView Raw
1"use strict";
2
3const getSeason = require('./getSeason');
4const strftime = require('mout/date/strftime');
5const startOf = require('mout/date/startOf');
6
7module.exports = function(date, format) {
8 format = strftime.apply(null, arguments);
9 var reToken = /%([a-z%])/gi;
10
11 function convertToken(date, token) {
12 switch(token) {
13 case 'E':
14 return getSeason(date);
15 case 'v':
16 return startOf(date, 'week');
17 default:
18 // keep unrecognized tokens
19 return '%' + token;
20 }
21 }
22
23 return format.replace(reToken, function(match, token) { return convertToken(date, token); });
24};