Library to get first day of week.
getWeekStartByRegion('MAC'); // 0
getWeekStartByLocale('arq'); // 6
The library is based on the following data from Unicode (especially from Common Locale Data Repository) and from ISO:
- https://unicode-org.github.io/cldr-staging/charts/latest/supplemental/territory_information.html
- https://github.com/unicode-org/cldr-json/blob/main/cldr-json/cldr-core/supplemental/weekData.json
- 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/scripts_languages_and_territories.html
- http://www.unicode.org/reports/tr35/tr35.html#Unicode_Language_and_Locale_Identifiers
- https://www.iso.org/iso-3166-country-codes.html
There are 2 variants of the library having identical API:
main
- uses base mapping of language code to country code from langRegionMap.full
- uses full mapping of language code to country code from fullLangRegionMap.
langRegionMap contains only main language codes. It is data subset from fullLangRegionMap.
Installation ↑
npm install weekstart
bower install weekstart
Use dist/main.js
or dist/min/main.js
(minified version).
Use dist/full.js
or dist/min/full.js
(minified version) when you need full locale data.
Usage ↑
import {getWeekStartByLocale, getWeekStartByRegion} from 'weekstart';
If you need full data:
import {getWeekStartByLocale, getWeekStartByRegion} from 'weekstart/full';
const getWeekStartByLocale = require('weekstart').getWeekStartByLocale;
const getWeekStartByRegion = require('weekstart').getWeekStartByRegion;
If you need full data:
const getWeekStartByLocale = require('weekstart/full').getWeekStartByLocale;
const getWeekStartByRegion = require('weekstart/full').getWeekStartByRegion;
define(['path/to/dist/main.js'], function(weekstart) {
const getWeekStartByLocale = weekstart.getWeekStartByLocale;
const getWeekStartByRegion = weekstart.getWeekStartByRegion;
});
If you need full data:
define(['path/to/dist/full.js'], function(weekstart) {
const getWeekStartByLocale = weekstart.getWeekStartByLocale;
const getWeekStartByRegion = weekstart.getWeekStartByRegion;
});
<!-- Use bower_components/weekstart/dist/main.js and bower_components/weekstart/dist/full.js if the library was installed by Bower -->
<script type="text/javascript" src="path/to/dist/main.js"></script>
<script type="text/javascript">
// weekstart is available via weekstart field of window object
const getWeekStartByLocale = weekstart.getWeekStartByLocale;
const getWeekStartByRegion = weekstart.getWeekStartByRegion;
</script>
If you need full data use path/to/dist/full.js
instead of path/to/dist/main.js
.
Examples ↑
getWeekStartByRegion('dj'); // 6
getWeekStartByRegion('No'); // 1
getWeekStartByRegion('CAN'); // 0
getWeekStartByRegion(462); // 5
getWeekStartByLocale('Jam'); // 0
getWeekStartByLocale('Fa'); // 6
getWeekStartByLocale('vi'); // 1
getWeekStartByLocale('es_MX'); // 0
getWeekStartByLocale('az-Arab-IRN'); // 6
In the following examples results are given for the function from full.js
.
The same calls for the function from main.js
will return 1
.
getWeekStartByLocale('CCP'); // 0
getWeekStartByLocale('UZ-arab'); // 6
API ↑
Return first day of week for locale identifier: 0 - Sunday, 1 - Monday, 2 - Tuesday, 3 - Wednesday, 4 - Thursday, 5 - Friday, 6 - Saturday.
Return first day of week for country/region code: 0 - Sunday, 1 - Monday, 2 - Tuesday, 3 - Wednesday, 4 - Thursday, 5 - Friday, 6 - Saturday.
See docs
for details.
Contributing ↑
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code.
License ↑
Licensed under the MIT license.