Skip to content

gamtiq/weekstart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1143307 · Feb 24, 2023

History

20 Commits
Feb 24, 2023
Feb 24, 2023
Feb 24, 2023
Sep 7, 2017
Mar 15, 2021
Sep 7, 2017
Oct 19, 2019
Feb 24, 2023
Oct 19, 2019
Feb 24, 2023
Oct 19, 2019
Feb 24, 2023
Feb 24, 2023
Oct 19, 2019
Jan 20, 2018
Feb 24, 2023
Mar 15, 2021
Feb 24, 2023
Feb 24, 2023

Repository files navigation

weekstart

NPM version

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:

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.

Table of contents

Installation

Node

npm install weekstart
bower install weekstart

AMD/UMD, <script>

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

ECMAScript 6

import {getWeekStartByLocale, getWeekStartByRegion} from 'weekstart';

If you need full data:

import {getWeekStartByLocale, getWeekStartByRegion} from 'weekstart/full';

Node

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;

AMD/UMD

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;
});

Bower, <script>

<!-- 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

getWeekStartByLocale(locale): number

Return first day of week for locale identifier: 0 - Sunday, 1 - Monday, 2 - Tuesday, 3 - Wednesday, 4 - Thursday, 5 - Friday, 6 - Saturday.

getWeekStartByRegion(regionCode): number

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.