This commit is contained in:
		
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -3,3 +3,4 @@
 | 
				
			|||||||
/.nyc_output/
 | 
					/.nyc_output/
 | 
				
			||||||
/coverage/
 | 
					/coverage/
 | 
				
			||||||
*.log
 | 
					*.log
 | 
				
			||||||
 | 
					*.d.ts
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,9 @@
 | 
				
			|||||||
# Changelog
 | 
					# Changelog
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 1.2.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- added timing constants
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 1.1.0
 | 
					## 1.1.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- added all documented http status codes
 | 
					- added all documented http status codes
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										29
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								README.md
									
									
									
									
									
								
							@@ -1,6 +1,6 @@
 | 
				
			|||||||
# @sapphirecode/consts
 | 
					# @sapphirecode/consts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
version: 1.1.x
 | 
					version: 1.2.x
 | 
				
			||||||
 | 
					
 | 
				
			||||||
useful constant values that are used in many applications
 | 
					useful constant values that are used in many applications
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -19,10 +19,35 @@ yarn:
 | 
				
			|||||||
there are many constants, too many to document by hand so I suggest you use
 | 
					there are many constants, too many to document by hand so I suggest you use
 | 
				
			||||||
autocomplete or look into the source.
 | 
					autocomplete or look into the source.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Http status codes:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```js
 | 
					```js
 | 
				
			||||||
const {http} = require('@sapphirecode/consts');
 | 
					const {http} = require('@sapphirecode/consts');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
console.log(http.status_ok) // 200
 | 
					console.log(http.status_ok); // 200
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Time
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```js
 | 
				
			||||||
 | 
					const {time} = require('@sapphirecode/consts');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					console.log(time.base_ms.minute); // 60000
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The time module contains a few precalculated bases like base_s, base_ms, base_us
 | 
				
			||||||
 | 
					and base_ns. Those allow you to use timers without calculating everything
 | 
				
			||||||
 | 
					first.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> timer(base_ms.week) instead of timer(1000 x 60 x 60 x 24 x 7) or
 | 
				
			||||||
 | 
					> timer(base_us.week) if your timer counts in microseconds
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					time intervals above one week are functions, because they require additional
 | 
				
			||||||
 | 
					information to be calculated
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```js
 | 
				
			||||||
 | 
					console.log(time.base_ms.year(2020));
 | 
				
			||||||
 | 
					console.log(time.base_ms.year(12, 2020));
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## License
 | 
					## License
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								index.js
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								index.js
									
									
									
									
									
								
							@@ -9,11 +9,13 @@
 | 
				
			|||||||
'use strict';
 | 
					'use strict';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const http = require ('./http_status_codes');
 | 
					const http = require ('./http_status_codes');
 | 
				
			||||||
 | 
					const time = require ('./time');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
module.exports = {
 | 
					module.exports = {
 | 
				
			||||||
  http: {
 | 
					  http: {
 | 
				
			||||||
    ...http.status_codes,
 | 
					    ...http.status_codes,
 | 
				
			||||||
    ...http
 | 
					    ...http
 | 
				
			||||||
  }
 | 
					  },
 | 
				
			||||||
 | 
					  time
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "@sapphirecode/consts",
 | 
					  "name": "@sapphirecode/consts",
 | 
				
			||||||
  "version": "1.1.28",
 | 
					  "version": "1.2.0",
 | 
				
			||||||
  "main": "index.js",
 | 
					  "main": "index.js",
 | 
				
			||||||
  "author": {
 | 
					  "author": {
 | 
				
			||||||
    "name": "Timo Hocker",
 | 
					    "name": "Timo Hocker",
 | 
				
			||||||
@@ -28,8 +28,7 @@
 | 
				
			|||||||
  "files": [
 | 
					  "files": [
 | 
				
			||||||
    "LICENSE",
 | 
					    "LICENSE",
 | 
				
			||||||
    "index.d.ts",
 | 
					    "index.d.ts",
 | 
				
			||||||
    "index.js",
 | 
					    "*.js"
 | 
				
			||||||
    "http_status_codes.js"
 | 
					 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
  "keywords": [
 | 
					  "keywords": [
 | 
				
			||||||
    "constants",
 | 
					    "constants",
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										61
									
								
								time.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								time.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,61 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Copyright (C) Sapphirecode - All Rights Reserved
 | 
				
			||||||
 | 
					 * This file is part of consts which is released under MIT.
 | 
				
			||||||
 | 
					 * See file 'LICENSE' for full license details.
 | 
				
			||||||
 | 
					 * Created by Timo Hocker <timo@scode.ovh>, December 2020
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* eslint-disable sort-keys */
 | 
				
			||||||
 | 
					'use strict';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function is_leap (year) {
 | 
				
			||||||
 | 
					  return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function base (second = 1) {
 | 
				
			||||||
 | 
					  const ms = second / 1000;
 | 
				
			||||||
 | 
					  const us = ms / 1000;
 | 
				
			||||||
 | 
					  const ns = us / 1000;
 | 
				
			||||||
 | 
					  const minute = second * 60;
 | 
				
			||||||
 | 
					  const hour = minute * 60;
 | 
				
			||||||
 | 
					  const day = hour * 24;
 | 
				
			||||||
 | 
					  const week = day * 7;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  const year = (y) => {
 | 
				
			||||||
 | 
					    const days = is_leap (y) ? 366 : 365;
 | 
				
			||||||
 | 
					    return days * day;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  const month = (m, y) => {
 | 
				
			||||||
 | 
					    let days = 0;
 | 
				
			||||||
 | 
					    if (m === 2)
 | 
				
			||||||
 | 
					      days = is_leap (y) ? 29 : 28;
 | 
				
			||||||
 | 
					    else if (m < 8)
 | 
				
			||||||
 | 
					      days = 30 + (m % 2);
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      days = 31 - (m % 2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return days * day;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return {
 | 
				
			||||||
 | 
					    ns,
 | 
				
			||||||
 | 
					    us,
 | 
				
			||||||
 | 
					    ms,
 | 
				
			||||||
 | 
					    second,
 | 
				
			||||||
 | 
					    minute,
 | 
				
			||||||
 | 
					    hour,
 | 
				
			||||||
 | 
					    day,
 | 
				
			||||||
 | 
					    week,
 | 
				
			||||||
 | 
					    month,
 | 
				
			||||||
 | 
					    year
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = {
 | 
				
			||||||
 | 
					  base_s:  base (1),
 | 
				
			||||||
 | 
					  base_ms: base (1e3),
 | 
				
			||||||
 | 
					  base_us: base (1e6),
 | 
				
			||||||
 | 
					  base_ns: base (1e9),
 | 
				
			||||||
 | 
					  base
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
		Reference in New Issue
	
	Block a user