@sb1/ffe-formatters 4.0.10 → 4.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,6 +12,8 @@ npm install --save @sb1/ffe-formatters
12
12
 
13
13
  ## Usage
14
14
 
15
+ Full documentation on formatter usage is available at https://design.sparebank1.no/komponenter/formatering/.
16
+
15
17
  Import the formatter(s) you need the following way:
16
18
 
17
19
  ```javascript
@@ -20,3 +22,17 @@ import formatPercentage from '@sb1/ffe-formatters/lib/formatPercentage';
20
22
  ```
21
23
 
22
24
  You'll find a full overview and documentation over all the available formatters [in src/](src).
25
+
26
+ ## Development
27
+
28
+ To start a local development server, run the following from the designsystem root folder:
29
+
30
+ ```bash
31
+ npm install
32
+ npm run build
33
+ npm start
34
+ ```
35
+
36
+ A local instance of `component-overview` with live reloading will run at http://localhost:1234/.
37
+
38
+ Example implementations using the latest versions of all components are also available at https://sparebank1.github.io/designsystem.
@@ -1,8 +1,17 @@
1
1
  import { NON_BREAKING_SPACE } from './internal/unicode';
2
2
  export default function formatAccountNumber(accountNumber) {
3
- if (!accountNumber || accountNumber.length !== 11) {
3
+ if (!accountNumber) {
4
4
  return accountNumber;
5
5
  }
6
-
7
- return [accountNumber.substring(0, 4), accountNumber.substring(4, 6), accountNumber.substring(6, 11)].join(NON_BREAKING_SPACE);
6
+ var formattedAccountNumber = '';
7
+ if (accountNumber.length > 0) {
8
+ formattedAccountNumber += accountNumber.substring(0, 4);
9
+ }
10
+ if (accountNumber.length > 4) {
11
+ formattedAccountNumber += NON_BREAKING_SPACE + accountNumber.substring(4, 6);
12
+ }
13
+ if (accountNumber.length > 6) {
14
+ formattedAccountNumber += NON_BREAKING_SPACE + accountNumber.substring(6);
15
+ }
16
+ return formattedAccountNumber;
8
17
  }
@@ -1,30 +1,28 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
1
2
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
-
3
3
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
-
5
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
-
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7
7
  import formatNumber from './formatNumber';
8
8
  import parseNumber from './internal/parseNumber';
9
9
  import { NON_BREAKING_SPACE } from './internal/unicode';
10
10
  export default function formatCurrency(amount) {
11
11
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
12
-
13
12
  var _prefix$postfix$opts = _objectSpread({
14
- prefix: "kr".concat(NON_BREAKING_SPACE),
15
- postfix: ',–'
16
- }, opts),
17
- prefix = _prefix$postfix$opts.prefix,
18
- postfix = _prefix$postfix$opts.postfix; // A ',-' postfix is not allowed for amounts with øre, see:
19
- // http://www.sprakradet.no/svardatabase/sporsmal-og-svar/kronebelop-rekkjefolgje-komma-og-strek/
20
-
13
+ prefix: "kr".concat(NON_BREAKING_SPACE),
14
+ postfix: ',–'
15
+ }, opts),
16
+ prefix = _prefix$postfix$opts.prefix,
17
+ postfix = _prefix$postfix$opts.postfix;
21
18
 
19
+ // A ',-' postfix is not allowed for amounts with øre, see:
20
+ // http://www.sprakradet.no/svardatabase/sporsmal-og-svar/kronebelop-rekkjefolgje-komma-og-strek/
22
21
  if (parseNumber(amount) % 1 !== 0) {
23
22
  var decimalPostfix = ![',–', ',-'].includes(postfix) ? postfix : '';
24
23
  return "".concat(prefix).concat(formatNumber(amount, {
25
24
  decimals: 2
26
25
  })).concat(decimalPostfix);
27
26
  }
28
-
29
27
  return "".concat(prefix).concat(formatNumber(amount)).concat(postfix);
30
28
  }
package/es/formatDate.js CHANGED
@@ -1,12 +1,10 @@
1
1
  var ensureTwoDigits = function ensureTwoDigits(d) {
2
2
  return "00".concat(d).slice(-2);
3
3
  };
4
-
5
4
  export default function formatDate(timestamp) {
6
5
  if (!(Number.isInteger(timestamp) || timestamp instanceof Date)) {
7
6
  return null;
8
7
  }
9
-
10
8
  var date = timestamp instanceof Date ? timestamp : new Date(timestamp);
11
9
  var dd = ensureTwoDigits(date.getDate());
12
10
  var mm = ensureTwoDigits(date.getMonth() + 1);
@@ -7,10 +7,8 @@ var defaults = {
7
7
  export default function formatDistance(distance) {
8
8
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaults;
9
9
  var toFormat = parseNumber(distance);
10
-
11
10
  if (toFormat !== 0 && !toFormat) {
12
11
  return '';
13
12
  }
14
-
15
13
  return "".concat(formatNumber(toFormat)).concat(NON_BREAKING_SPACE).concat(opts.unit);
16
14
  }
@@ -3,6 +3,5 @@ export default function formatFodselsnummer(ssn) {
3
3
  if (!ssn || ssn.length !== 11) {
4
4
  return ssn;
5
5
  }
6
-
7
6
  return "".concat(ssn.substring(0, 6)).concat(NON_BREAKING_SPACE).concat(ssn.substring(6, 11));
8
7
  }
@@ -1,29 +1,25 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
1
2
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
-
3
3
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
-
5
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
-
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7
7
  import numberFormat from 'underscore.string/numberFormat';
8
8
  import { NON_BREAKING_SPACE } from './internal/unicode';
9
9
  import parseNumber from './internal/parseNumber';
10
10
  export default function formatNumber(number) {
11
11
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
12
-
13
12
  var _decimals$thousandSep = _objectSpread({
14
- decimals: 0,
15
- thousandSeparator: NON_BREAKING_SPACE,
16
- decimalMark: ','
17
- }, opts),
18
- decimals = _decimals$thousandSep.decimals,
19
- thousandSeparator = _decimals$thousandSep.thousandSeparator,
20
- decimalMark = _decimals$thousandSep.decimalMark;
21
-
13
+ decimals: 0,
14
+ thousandSeparator: NON_BREAKING_SPACE,
15
+ decimalMark: ','
16
+ }, opts),
17
+ decimals = _decimals$thousandSep.decimals,
18
+ thousandSeparator = _decimals$thousandSep.thousandSeparator,
19
+ decimalMark = _decimals$thousandSep.decimalMark;
22
20
  var toFormat = parseNumber(number);
23
-
24
21
  if (typeof toFormat !== 'number') {
25
22
  return number;
26
23
  }
27
-
28
24
  return "".concat(numberFormat(toFormat, decimals, decimalMark, thousandSeparator));
29
25
  }
@@ -5,11 +5,9 @@ var defaults = {
5
5
  };
6
6
  export default function formatPercentage(amount) {
7
7
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaults;
8
-
9
8
  if (typeof amount !== 'number') {
10
9
  return '';
11
10
  }
12
-
13
11
  var percentage = amount.toLocaleString('nb-NO', {
14
12
  minimumFractionDigits: opts.minDecimals,
15
13
  maximumFractionDigits: opts.maxDecimals
@@ -2,16 +2,12 @@ export default function parseNumber(number) {
2
2
  if (!number || typeof number === 'number') {
3
3
  return number;
4
4
  }
5
-
6
5
  var parsed = number;
7
-
8
6
  if (typeof number === 'string') {
9
7
  parsed = parseFloat(number.replace(/[^\d,.-]/g, '').replace(/,/g, '.'));
10
8
  }
11
-
12
9
  if (Number.isNaN(parsed) || typeof parsed !== 'number') {
13
10
  return null;
14
11
  }
15
-
16
12
  return parsed;
17
13
  }
@@ -4,13 +4,20 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = formatAccountNumber;
7
-
8
7
  var _unicode = require("./internal/unicode");
9
-
10
8
  function formatAccountNumber(accountNumber) {
11
- if (!accountNumber || accountNumber.length !== 11) {
9
+ if (!accountNumber) {
12
10
  return accountNumber;
13
11
  }
14
-
15
- return [accountNumber.substring(0, 4), accountNumber.substring(4, 6), accountNumber.substring(6, 11)].join(_unicode.NON_BREAKING_SPACE);
12
+ var formattedAccountNumber = '';
13
+ if (accountNumber.length > 0) {
14
+ formattedAccountNumber += accountNumber.substring(0, 4);
15
+ }
16
+ if (accountNumber.length > 4) {
17
+ formattedAccountNumber += _unicode.NON_BREAKING_SPACE + accountNumber.substring(4, 6);
18
+ }
19
+ if (accountNumber.length > 6) {
20
+ formattedAccountNumber += _unicode.NON_BREAKING_SPACE + accountNumber.substring(6);
21
+ }
22
+ return formattedAccountNumber;
16
23
  }
@@ -4,39 +4,32 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = formatCurrency;
7
-
8
7
  var _formatNumber = _interopRequireDefault(require("./formatNumber"));
9
-
10
8
  var _parseNumber = _interopRequireDefault(require("./internal/parseNumber"));
11
-
12
9
  var _unicode = require("./internal/unicode");
13
-
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
11
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
16
12
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
-
18
13
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
-
20
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
-
14
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
16
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
22
17
  function formatCurrency(amount) {
23
18
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
24
-
25
19
  var _prefix$postfix$opts = _objectSpread({
26
- prefix: "kr".concat(_unicode.NON_BREAKING_SPACE),
27
- postfix: ',–'
28
- }, opts),
29
- prefix = _prefix$postfix$opts.prefix,
30
- postfix = _prefix$postfix$opts.postfix; // A ',-' postfix is not allowed for amounts with øre, see:
31
- // http://www.sprakradet.no/svardatabase/sporsmal-og-svar/kronebelop-rekkjefolgje-komma-og-strek/
32
-
20
+ prefix: "kr".concat(_unicode.NON_BREAKING_SPACE),
21
+ postfix: ',–'
22
+ }, opts),
23
+ prefix = _prefix$postfix$opts.prefix,
24
+ postfix = _prefix$postfix$opts.postfix;
33
25
 
26
+ // A ',-' postfix is not allowed for amounts with øre, see:
27
+ // http://www.sprakradet.no/svardatabase/sporsmal-og-svar/kronebelop-rekkjefolgje-komma-og-strek/
34
28
  if ((0, _parseNumber.default)(amount) % 1 !== 0) {
35
29
  var decimalPostfix = ![',–', ',-'].includes(postfix) ? postfix : '';
36
30
  return "".concat(prefix).concat((0, _formatNumber.default)(amount, {
37
31
  decimals: 2
38
32
  })).concat(decimalPostfix);
39
33
  }
40
-
41
34
  return "".concat(prefix).concat((0, _formatNumber.default)(amount)).concat(postfix);
42
35
  }
package/lib/formatDate.js CHANGED
@@ -4,16 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = formatDate;
7
-
8
7
  var ensureTwoDigits = function ensureTwoDigits(d) {
9
8
  return "00".concat(d).slice(-2);
10
9
  };
11
-
12
10
  function formatDate(timestamp) {
13
11
  if (!(Number.isInteger(timestamp) || timestamp instanceof Date)) {
14
12
  return null;
15
13
  }
16
-
17
14
  var date = timestamp instanceof Date ? timestamp : new Date(timestamp);
18
15
  var dd = ensureTwoDigits(date.getDate());
19
16
  var mm = ensureTwoDigits(date.getMonth() + 1);
@@ -4,26 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = formatDistance;
7
-
8
7
  var _formatNumber = _interopRequireDefault(require("./formatNumber"));
9
-
10
8
  var _parseNumber = _interopRequireDefault(require("./internal/parseNumber"));
11
-
12
9
  var _unicode = require("./internal/unicode");
13
-
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
11
  var defaults = {
17
12
  unit: 'km'
18
13
  };
19
-
20
14
  function formatDistance(distance) {
21
15
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaults;
22
16
  var toFormat = (0, _parseNumber.default)(distance);
23
-
24
17
  if (toFormat !== 0 && !toFormat) {
25
18
  return '';
26
19
  }
27
-
28
20
  return "".concat((0, _formatNumber.default)(toFormat)).concat(_unicode.NON_BREAKING_SPACE).concat(opts.unit);
29
21
  }
@@ -4,13 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = formatFodselsnummer;
7
-
8
7
  var _unicode = require("./internal/unicode");
9
-
10
8
  function formatFodselsnummer(ssn) {
11
9
  if (!ssn || ssn.length !== 11) {
12
10
  return ssn;
13
11
  }
14
-
15
12
  return "".concat(ssn.substring(0, 6)).concat(_unicode.NON_BREAKING_SPACE).concat(ssn.substring(6, 11));
16
13
  }
@@ -4,38 +4,29 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = formatNumber;
7
-
8
7
  var _numberFormat = _interopRequireDefault(require("underscore.string/numberFormat"));
9
-
10
8
  var _unicode = require("./internal/unicode");
11
-
12
9
  var _parseNumber = _interopRequireDefault(require("./internal/parseNumber"));
13
-
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
11
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
16
12
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
-
18
13
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
-
20
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
-
14
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
16
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
22
17
  function formatNumber(number) {
23
18
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
24
-
25
19
  var _decimals$thousandSep = _objectSpread({
26
- decimals: 0,
27
- thousandSeparator: _unicode.NON_BREAKING_SPACE,
28
- decimalMark: ','
29
- }, opts),
30
- decimals = _decimals$thousandSep.decimals,
31
- thousandSeparator = _decimals$thousandSep.thousandSeparator,
32
- decimalMark = _decimals$thousandSep.decimalMark;
33
-
20
+ decimals: 0,
21
+ thousandSeparator: _unicode.NON_BREAKING_SPACE,
22
+ decimalMark: ','
23
+ }, opts),
24
+ decimals = _decimals$thousandSep.decimals,
25
+ thousandSeparator = _decimals$thousandSep.thousandSeparator,
26
+ decimalMark = _decimals$thousandSep.decimalMark;
34
27
  var toFormat = (0, _parseNumber.default)(number);
35
-
36
28
  if (typeof toFormat !== 'number') {
37
29
  return number;
38
30
  }
39
-
40
31
  return "".concat((0, _numberFormat.default)(toFormat, decimals, decimalMark, thousandSeparator));
41
32
  }
@@ -4,21 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = formatPercentage;
7
-
8
7
  var _unicode = require("./internal/unicode");
9
-
10
8
  var defaults = {
11
9
  minDecimals: 0,
12
10
  maxDecimals: 2
13
11
  };
14
-
15
12
  function formatPercentage(amount) {
16
13
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaults;
17
-
18
14
  if (typeof amount !== 'number') {
19
15
  return '';
20
16
  }
21
-
22
17
  var percentage = amount.toLocaleString('nb-NO', {
23
18
  minimumFractionDigits: opts.minDecimals,
24
19
  maximumFractionDigits: opts.maxDecimals
package/lib/index.js CHANGED
@@ -45,19 +45,11 @@ Object.defineProperty(exports, "formatPercentage", {
45
45
  return _formatPercentage.default;
46
46
  }
47
47
  });
48
-
49
48
  var _formatAccountNumber = _interopRequireDefault(require("./formatAccountNumber"));
50
-
51
49
  var _formatCurrency = _interopRequireDefault(require("./formatCurrency"));
52
-
53
50
  var _formatDate = _interopRequireDefault(require("./formatDate"));
54
-
55
51
  var _formatDistance = _interopRequireDefault(require("./formatDistance"));
56
-
57
52
  var _formatNumber = _interopRequireDefault(require("./formatNumber"));
58
-
59
53
  var _formatPercentage = _interopRequireDefault(require("./formatPercentage"));
60
-
61
54
  var _formatFodselsnummer = _interopRequireDefault(require("./formatFodselsnummer"));
62
-
63
55
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -4,21 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = parseNumber;
7
-
8
7
  function parseNumber(number) {
9
8
  if (!number || typeof number === 'number') {
10
9
  return number;
11
10
  }
12
-
13
11
  var parsed = number;
14
-
15
12
  if (typeof number === 'string') {
16
13
  parsed = parseFloat(number.replace(/[^\d,.-]/g, '').replace(/,/g, '.'));
17
14
  }
18
-
19
15
  if (Number.isNaN(parsed) || typeof parsed !== 'number') {
20
16
  return null;
21
17
  }
22
-
23
18
  return parsed;
24
19
  }
package/package.json CHANGED
@@ -1,41 +1,41 @@
1
1
  {
2
- "name": "@sb1/ffe-formatters",
3
- "version": "4.0.10",
4
- "description": "JavaScript general use string formatters",
5
- "keywords": [
6
- "ffe"
7
- ],
8
- "license": "MIT",
9
- "author": "SpareBank 1",
10
- "files": [
11
- "lib",
12
- "es",
13
- "types"
14
- ],
15
- "main": "lib/index.js",
16
- "module": "es/index.js",
17
- "types": "types/index.d.ts",
18
- "sideEffects": false,
19
- "repository": {
20
- "type": "git",
21
- "url": "ssh://git@github.com:SpareBank1/designsystem.git"
22
- },
23
- "scripts": {
24
- "build": "ffe-buildtool babel",
25
- "watch": "ffe-buildtool babel-watch",
26
- "lint": "eslint src",
27
- "test": "jest",
28
- "test:watch": "jest --watch"
29
- },
30
- "dependencies": {
31
- "underscore.string": "^3.3.4"
32
- },
33
- "devDependencies": {
34
- "@sb1/ffe-buildtool": "^0.4.1",
35
- "eslint": "^5.9.0"
36
- },
37
- "publishConfig": {
38
- "access": "public"
39
- },
40
- "gitHead": "20645a84ff31b513ef2568a7eefbed950f7e1c40"
2
+ "name": "@sb1/ffe-formatters",
3
+ "version": "4.0.12",
4
+ "description": "JavaScript general use string formatters",
5
+ "keywords": [
6
+ "ffe"
7
+ ],
8
+ "license": "MIT",
9
+ "author": "SpareBank 1",
10
+ "files": [
11
+ "lib",
12
+ "es",
13
+ "types"
14
+ ],
15
+ "main": "lib/index.js",
16
+ "module": "es/index.js",
17
+ "types": "types/index.d.ts",
18
+ "sideEffects": false,
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "ssh://git@github.com:SpareBank1/designsystem.git"
22
+ },
23
+ "scripts": {
24
+ "build": "ffe-buildtool babel",
25
+ "watch": "ffe-buildtool babel-watch",
26
+ "lint": "eslint src",
27
+ "test": "jest",
28
+ "test:watch": "jest --watch"
29
+ },
30
+ "dependencies": {
31
+ "underscore.string": "^3.3.4"
32
+ },
33
+ "devDependencies": {
34
+ "@sb1/ffe-buildtool": "^0.5.0",
35
+ "eslint": "^5.9.0"
36
+ },
37
+ "publishConfig": {
38
+ "access": "public"
39
+ },
40
+ "gitHead": "265088ea4389fe1327a4a28758acf50b55dc64cb"
41
41
  }