weekstart
Version:
Library to get first day of week.
68 lines (63 loc) • 2.86 kB
JavaScript
/*
* weekstart
* https://github.com/gamtiq/weekstart
*/
/**
* Library to get first day of week.
*
* Uses data from {@link module:langRegionMap langRegionMap.js} and
* {@link module:regionDayMap regionDayMap.js}.
*
* @module main
*/
import * as api from './api';
import langRegionMap from './langRegionMap';
import regionDayMap from './regionDayMap';
/**
* Return first day of week for country/region code.
*
* Based on data from:
* - [https://unicode-org.github.io/cldr-staging/charts/latest/supplemental/territory_information.html](https://unicode-org.github.io/cldr-staging/charts/latest/supplemental/territory_information.html)
* - [https://www.iso.org/iso-3166-country-codes.html](https://www.iso.org/iso-3166-country-codes.html)
*
* @example
* getWeekStartByRegion('PNG'); // 1
* getWeekStartByRegion('qa'); // 6
* getWeekStartByRegion(462); // 5
*
* @param {number | string} regionCode
* ISO 3166 Alpha-2, Alpha-3 or numeric code.
* @return {number}
* Code of first day of week for the given country/region code:
* 0 - Sunday, 1 - Monday, 2 - Tuesday, 3 - Wednesday, 4 - Thursday, 5 - Friday, 6 - Saturday.
* @alias module:main.getWeekStartByRegion
* @see module:api.getWeekStartByRegion
*/
export function getWeekStartByRegion(regionCode) {
return api.getWeekStartByRegion(regionCode, regionDayMap);
}
/**
* Return first day of week for locale identifier.
*
* Based on data from:
* - [https://unicode-org.github.io/cldr-staging/charts/latest/supplemental/territory_language_information.html](https://unicode-org.github.io/cldr-staging/charts/latest/supplemental/territory_language_information.html)
* - [https://unicode-org.github.io/cldr-staging/charts/latest/supplemental/language_territory_information.html](https://unicode-org.github.io/cldr-staging/charts/latest/supplemental/language_territory_information.html)
* - [https://unicode-org.github.io/cldr-staging/charts/latest/supplemental/territory_information.html](https://unicode-org.github.io/cldr-staging/charts/latest/supplemental/territory_information.html)
* - [http://www.unicode.org/reports/tr35/tr35.html#Unicode_Language_and_Locale_Identifiers](http://www.unicode.org/reports/tr35/tr35.html#Unicode_Language_and_Locale_Identifiers)
*
* @example
* getWeekStartByLocale('no'); // 1
* getWeekStartByLocale('Pa_Guru'); // 0
* getWeekStartByLocale('fr-DZ'); // 6
*
* @param {string} locale
* Locale identifier.
* @return {number}
* Code of first day of week for the given locale identifier:
* 0 - Sunday, 1 - Monday, 2 - Tuesday, 3 - Wednesday, 4 - Thursday, 5 - Friday, 6 - Saturday.
* @alias module:main.getWeekStartByLocale
* @see module:api.getWeekStartByLocale
*/
export function getWeekStartByLocale(locale) {
return api.getWeekStartByLocale(locale, langRegionMap, regionDayMap);
}