npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@alezhu/weex

v1.0.5

Published

npm package for getting week info

Downloads

23

Readme

@alezhu/weex

GitHub package.json dynamic GitHub Workflow Status GitHub commit activity (branch) npm NPM GitHub code size in bytes npm package minimized gzipped size (scoped version select exports)

npm package for getting week information.

Table of contents:

  1. Install
  2. Usage
  3. API

Install

Install with npm:

$ npm install --save @alezhu/weex

Usage

CommonJs (index.js)

const {Week} = require('@alezhu/weex');

const week = new Week(1, 2023);
const firstDate = week.FirstDate;
console.log(firstDate);
//=> 2023-01-01T21:00:00.000Z for Moscow
//=> 2023-01-02T00:00:00.000Z for UTC

ESModule (index.mjs or "type":"module" in package.json)

import {Week} from '@alezhu/weex';

const week = new Week(1, 2023);
const firstDate = week.FirstDate;
console.log(firstDate);
//=> 2023-01-01T21:00:00.000Z for Moscow
//=> 2023-01-02T00:00:00.000Z for UTC

TypeScript

import {Week} from '@alezhu/weex';

const week = new Week(1, 2023);
const firstDate = week.FirstDate;
console.log(firstDate);
//=> 2023-01-01T21:00:00.000Z for Moscow
//=> 2023-01-02T00:00:00.000Z for UTC

API

Constructor

Week(value:int, year ? : int)

Create instance of Week

Parameters:

  • value - week number per year [1..N], N = 53 for leap year, 52 is other cases. First week in year is week with first thursday
  • year - full year (e.g. 2023, 1978 etc.). Optional. If omitted then used current year

Usage example:

const week = new Week(1, 2020);

FirstDate

get FirstDate():Date

Returns first date (Date) of week (monday). Time in returned date is 00:00:00.000

Usage example:

const week = new Week(1, 2020);
const date = week.FirstDate;

LastDate

get LastDate():Date

Returns last date (Date) of week (sunday). Time in returned date is 23:59:59.999

Usage example:

const week = new Week(1, 2020);
const date = week.LastDate;

prev

prev():Week

Returns previous week

Usage example:

const week = Week.from('02-2020');
const result = week.prev(); //=> 2020.01

next

next():Week

Returns next week

Usage example:

const week = Week.from('02-2020');
const result = week.next(); //=> 2020.03

toString

toString():string;

Returns week string representation

Usage example:

const week = Week.from('02-2020');
const result = week.toString(); //=> 2020.01

Week.getWeekNumber

static getWeekNumber(dDate:Date):WeekInfo

Returns WeekInfo object {week:int,year:int} for passed date

Parameters:

  • dDate - Date object

Usage example:

const {week, year} = Week.getWeekNumber(new Date());

Week.getWeekStartDate

static getWeekStartDate(weekInfo:WeekInfo):Date
static getWeekStartDate(week:int, year:int):Date

Returns week start date for week and year

Parameters:

  • weekInfo - object WeekInfo-like {week:int,year:int}

or

  • week - week in year number (see constructor)
  • year - full year

Usage example:

const date = Week.getWeekStartDate(1, 2023);

Week.from

static from(week: string | Date): Week

Returns Week instance fo passed date or week

Parameters:

  • week
    • If passed Date object, use it for detect week.
    • If passed int value, use it as week number of current year
    • If passed string
      • If string length <= 2, use it as week number of current year
      • else try parse the string as WWdYYYY or YYYYdWW template where
        • W and Y digit
        • d - any non digit character, for example "-" or "." or "/" etc

Usage example:

const currentWeek = Week.from(new Date());
const week35 = Week.from(35);
const week3555 = Week.from('35');
const week55 = Week.from('2020-35');
const week = Week.from('10.2023');

Week.prev

static prev(value : number | string | Date | Week ):Week

Returns previous week for passed week Parameters:

  • week - week value for which need previous value (see Week.from)

Usage example:

const result = Week.prev('02-2020');//=> 01.2020

Week.next

static next(value:number | string | Date | Week):Week

Returns next week for passed week Parameters:

  • week - week value for which need next value (see Week.from)

Usage example:

const result = Week.next('02-2020');//=> 03.2020