New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@builtwithjavascript/formatters

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@builtwithjavascript/formatters - npm Package Compare versions

Comparing version
0.9.7
to
1.0.1
+6
-6
dist/formatters.es.js

@@ -42,4 +42,4 @@ const defaultDateStyle = "short";

const items = [];
for (let i = 1; i < 8; i++) {
const date = new Date(1970, 1, i);
for (let i = 0; i < 7; i++) {
const date = new Date(1970, 2, i + 1);
const name = date.toLocaleString(_lcid, { weekday: format });

@@ -56,3 +56,3 @@ items.push({ id: i, name });

for (let i = 0; i < 12; i++) {
const date = new Date(1970, i, 1);
const date = new Date(1970, i + 1, 0);
const name = date.toLocaleString(_lcid, { month: format });

@@ -67,3 +67,3 @@ items.push({ id: i, name });

};
const defualtcurrencyDisplay = "symbol";
const defaultcurrencyDisplay = "symbol";
const getNumberFormattersCacheKey = (params) => {

@@ -80,3 +80,3 @@ let {

currency = (currency || "").trim();
currencyDisplay = (currencyDisplay || defualtcurrencyDisplay).trim();
currencyDisplay = (currencyDisplay || defaultcurrencyDisplay).trim();
let cacheKey = `${lcid}-${style}`;

@@ -105,3 +105,3 @@ if (currency.length > 0) {

currency = (currency || "").trim();
currencyDisplay = (currencyDisplay || defualtcurrencyDisplay).trim();
currencyDisplay = (currencyDisplay || defaultcurrencyDisplay).trim();
let cacheKey = getNumberFormattersCacheKey({

@@ -108,0 +108,0 @@ lcid: _lcid,

@@ -1,1 +0,1 @@

(function(a,l){typeof exports=="object"&&typeof module!="undefined"?l(exports):typeof define=="function"&&define.amd?define(["exports"],l):(a=typeof globalThis!="undefined"?globalThis:a||self,l(a.formatters={}))})(this,function(a){"use strict";const l="short",y=u=>{let{lcid:s,dateStyle:c,timeStyle:i}=u;c=(c||l).trim().toLowerCase(),i=(i||"").trim().toLowerCase();let n=`${s}-${c}`;return i.length&&(n=`${n}-${i}`),n.trim().toLowerCase()},p=u=>{const s=u,c=new Map,i=new Map,n=new Map;return{dateTime:(t,r)=>{t=(t||l).trim().toLowerCase(),r=(r||"").trim().toLowerCase();const e=y({lcid:s,dateStyle:t,timeStyle:r});if(!c.has(e)){let o={};t.length&&(o.dateStyle=t),r.length&&(o.timeStyle=r);const m=new Intl.DateTimeFormat(s,o);c.set(e,m)}return c.get(e)},dayNames:(t="long")=>{if(!i.has(t)){const r=[];for(let e=1;e<8;e++){const m=new Date(1970,1,e).toLocaleString(s,{weekday:t});r.push({id:e,name:m})}i.set(t,r)}return i.get(t)},monthNames:(t="long")=>{if(!n.has(t)){const r=[];for(let e=0;e<12;e++){const m=new Date(1970,e,1).toLocaleString(s,{month:t});r.push({id:e,name:m})}n.set(t,r)}return n.get(t)}}},g="symbol",f=u=>{let{lcid:s,style:c,currency:i,currencyDisplay:n,minimumFractionDigits:t,maximumFractionDigits:r}=u;c=(c||"decimal").trim().toLowerCase(),i=(i||"").trim(),n=(n||g).trim();let e=`${s}-${c}`;return i.length>0&&(e=`${e}-${i}`,n.length>0&&(e=`${e}-${n}`)),e=`${e}-${t}-${r}`.trim().toLowerCase(),e},D=u=>{const s=u,c=new Map,i=n=>{let{style:t,currency:r,currencyDisplay:e,minimumFractionDigits:o,maximumFractionDigits:m}=n;t=(t||"decimal").trim().toLowerCase(),r=(r||"").trim(),e=(e||g).trim();let h=f({lcid:s,style:t,currency:r,currencyDisplay:e,minimumFractionDigits:o,maximumFractionDigits:m});if(!c.has(h)){let d={style:t,minimumFractionDigits:o,maximumFractionDigits:m};r.length>0&&(d.currency=r,e.length>0&&(d.currencyDisplay=e));const w=new Intl.NumberFormat(s,d);c.set(h,w)}return c.get(h)};return{whole:()=>i({style:"decimal",minimumFractionDigits:0,maximumFractionDigits:0}),decimal:(n=0,t=2)=>i({style:"decimal",minimumFractionDigits:n,maximumFractionDigits:t}),currency:(n,t,r=0,e=2)=>i({style:"currency",currency:n,currencyDisplay:t,minimumFractionDigits:r,maximumFractionDigits:e}),percent:(n=0,t=2)=>i({style:"percent",minimumFractionDigits:n,maximumFractionDigits:t}),unescapeResult(n){return(n||"").replace(/\xa0/g," ").replace(/\u202f/g," ")}}};a.getDateTimeFormattersCacheKey=y,a.getNumberFormattersCacheKey=f,a.useDateTimeFormatters=p,a.useNumberFormatters=D,Object.defineProperties(a,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
(function(a,l){typeof exports=="object"&&typeof module!="undefined"?l(exports):typeof define=="function"&&define.amd?define(["exports"],l):(a=typeof globalThis!="undefined"?globalThis:a||self,l(a.formatters={}))})(this,function(a){"use strict";const l="short",y=u=>{let{lcid:s,dateStyle:c,timeStyle:i}=u;c=(c||l).trim().toLowerCase(),i=(i||"").trim().toLowerCase();let n=`${s}-${c}`;return i.length&&(n=`${n}-${i}`),n.trim().toLowerCase()},p=u=>{const s=u,c=new Map,i=new Map,n=new Map;return{dateTime:(t,r)=>{t=(t||l).trim().toLowerCase(),r=(r||"").trim().toLowerCase();const e=y({lcid:s,dateStyle:t,timeStyle:r});if(!c.has(e)){let o={};t.length&&(o.dateStyle=t),r.length&&(o.timeStyle=r);const m=new Intl.DateTimeFormat(s,o);c.set(e,m)}return c.get(e)},dayNames:(t="long")=>{if(!i.has(t)){const r=[];for(let e=0;e<7;e++){const m=new Date(1970,2,e+1).toLocaleString(s,{weekday:t});r.push({id:e,name:m})}i.set(t,r)}return i.get(t)},monthNames:(t="long")=>{if(!n.has(t)){const r=[];for(let e=0;e<12;e++){const m=new Date(1970,e+1,0).toLocaleString(s,{month:t});r.push({id:e,name:m})}n.set(t,r)}return n.get(t)}}},g="symbol",f=u=>{let{lcid:s,style:c,currency:i,currencyDisplay:n,minimumFractionDigits:t,maximumFractionDigits:r}=u;c=(c||"decimal").trim().toLowerCase(),i=(i||"").trim(),n=(n||g).trim();let e=`${s}-${c}`;return i.length>0&&(e=`${e}-${i}`,n.length>0&&(e=`${e}-${n}`)),e=`${e}-${t}-${r}`.trim().toLowerCase(),e},D=u=>{const s=u,c=new Map,i=n=>{let{style:t,currency:r,currencyDisplay:e,minimumFractionDigits:o,maximumFractionDigits:m}=n;t=(t||"decimal").trim().toLowerCase(),r=(r||"").trim(),e=(e||g).trim();let h=f({lcid:s,style:t,currency:r,currencyDisplay:e,minimumFractionDigits:o,maximumFractionDigits:m});if(!c.has(h)){let d={style:t,minimumFractionDigits:o,maximumFractionDigits:m};r.length>0&&(d.currency=r,e.length>0&&(d.currencyDisplay=e));const w=new Intl.NumberFormat(s,d);c.set(h,w)}return c.get(h)};return{whole:()=>i({style:"decimal",minimumFractionDigits:0,maximumFractionDigits:0}),decimal:(n=0,t=2)=>i({style:"decimal",minimumFractionDigits:n,maximumFractionDigits:t}),currency:(n,t,r=0,e=2)=>i({style:"currency",currency:n,currencyDisplay:t,minimumFractionDigits:r,maximumFractionDigits:e}),percent:(n=0,t=2)=>i({style:"percent",minimumFractionDigits:n,maximumFractionDigits:t}),unescapeResult(n){return(n||"").replace(/\xa0/g," ").replace(/\u202f/g," ")}}};a.getDateTimeFormattersCacheKey=y,a.getNumberFormattersCacheKey=f,a.useDateTimeFormatters=p,a.useNumberFormatters=D,Object.defineProperties(a,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
{
"name": "@builtwithjavascript/formatters",
"version": "0.9.7",
"version": "1.0.1",
"description": "DateTime and Number formatters based on Intl API",

@@ -5,0 +5,0 @@ "author": "Damiano Fusco",

+138
-2

@@ -1,2 +0,138 @@

# formatters
DateTime and Number formatters based on Intl API
# @builtwithjavascript/formatters
DateTime and Number formatters based on Intl API[^ref-1]
[![npm version](https://badge.fury.io/js/@builtwithjavascript%2Fformatters.svg)](https://badge.fury.io/js/@builtwithjavascript%2Fformatters)
## Description
Contains hooks:
- useDateTimeFormatters
- useNumberFormatters
These are wrappers around Intl API NumberFormat and DateTimeFormat that allow to access the formatting function in a more concise way and avoid code cluttering.
## How to use
### install:
```
npm isntall --save @builtwithjavascript/formatters
```
### Consume Number Formatters:
Note: these are just some of the possible parameter combinations:
```typescript
import { useNumberFormatters } from '@builtwithjavascript/formatters'
const lcid = 'en-US' // or return it from your i18n current locale
const numberFormatters = useNumberFormatters(lcid)
// whole number
const wholeNumberFormatter = numberFormatters.whole()
wholeNumberFormatter().format(123456789.321654) // outputs: 12,345,654,322
// decimal number (default options)
const decimalNumberFormatter = numberFormatters.decimal()
decimalNumberFormatter().format(123456789.321654) // outputs: 12,345,654,321.89
// decimal number (with min/max fraction digits parameters)
const decimalNumberFormatter = numberFormatters.decimal(3, 5) // params are (minimumFractionDigits, maximumFractionDigits)
decimalNumberFormatter().format(123456789.321654) // outputs 12,345,654,321.89235
// percent number (default options)
const percentNumberFormatter = numberFormatters.percent()
percentNumberFormatter().format(4.892345) // outputs: 489.23%
// decimal number (with min/max fraction digits parameters)
const percentNumberFormatter = numberFormatters.percent(3, 5) // params are (minimumFractionDigits, maximumFractionDigits)
percentNumberFormatter().format(4.892345) // outputs 489.2345%
// currency ('USD' with default options)
const currencyNumberFormatter = numberFormatters.currency('USD')
currencyNumberFormatter().format(12345654321.892345) // outputs: $12,345,654,321.89
// currency ('EUR' with default options)
const currencyNumberFormatter = numberFormatters.currency('EUR')
currencyNumberFormatter().format(12345654321.892345) // outputs: €12,345,654,321.89
// currency ('USD' with params currencyDisplay[^ref-2], minimumFractionDigits, maximumFractionDigits)
const currencyNumberFormatter = numberFormatters.currency('USD', 'code', 1, 3)
currencyNumberFormatter().format(12345654321.892345) // outputs: USD12,345,654,321.892
```
### Consume DateTime Formatters:
Note: these are just some of the possible parameter combinations:
```typescript
import { useDatetimeFormatters } from '@builtwithjavascript/formatters'
const lcid = 'en-US' // or return it from your i18n current locale
const datetimeFormatters = useDatetimeFormatters(lcid)
// datetime (default options)
datetimeFormatters.dateTime().format(inputValue) // outputs: "3/24/70"
// datetime (with dateStyle param)
datetimeFormatters.dateTime('long').format(inputValue) // outputs: "March 24, 1970"
// datetime (with dateStyle and timeStyle param)
datetimeFormatters.dateTime('short', 'short').format(inputValue) // outputs: "3/25/70, 12:11 AM"
```
### Consume DateTime Utils:
```typescript
import { useDatetimeFormatters } from '@builtwithjavascript/formatters'
const lcid = 'en-US' // or return it from your i18n current locale
const { dayNames, monthNames } = useDatetimeFormatters(lcid)
// dayNames
dayNames().map((o) => o.name)
// outputs: [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ]
// monthNames
monthNames().map((o) => o.name)
// outputs: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
// dayNames
dayNames()
/* outputs:
[
{ id: 0, name: 'Sunday' },
{ id: 1, name: 'Monday' },
{ id: 2, name: 'Tuesday' },
{ id: 3, name: 'Wednesday' },
{ id: 4, name: 'Thursday' },
{ id: 5, name: 'Friday' },
{ id: 6, name: 'Saturday' }
]
*/
// monthNames
monthNames()
/* outputs:
[
{ id: 0, name: 'January' },
{ id: 1, name: 'February' },
{ id: 2, name: 'March' },
{ id: 3, name: 'April' },
{ id: 4, name: 'May' },
{ id: 5, name: 'June' },
{ id: 6, name: 'July' },
{ id: 7, name: 'August' },
{ id: 8, name: 'September' },
{ id: 9, name: 'October' },
{ id: 10, name: 'November' },
{ id: 11, name: 'December' }
]
*/
```
#### References
[^ref-1] Intl API: [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl)
[^ref-2] for 'currencyDisplay' the options are 'symbol', 'narrowSymbol', 'code', 'name' - Reference: [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat)