@sb1/ffe-formatters 4.0.11 → 4.1.0
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 +16 -0
- package/es/formatAccountNumber.js +29 -2
- package/es/formatCurrency.js +6 -3
- package/es/formatNumber.js +6 -3
- package/lib/formatAccountNumber.js +29 -2
- package/lib/formatCurrency.js +6 -3
- package/lib/formatNumber.js +6 -3
- package/package.json +2 -2
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,7 +1,34 @@
|
|
|
1
1
|
import { NON_BREAKING_SPACE } from './internal/unicode';
|
|
2
|
+
function foreignAccountNumber(accountNumber) {
|
|
3
|
+
var formattedAccountNumber = '';
|
|
4
|
+
for (var i = 0; i < accountNumber.length; i++) {
|
|
5
|
+
var isFourthIteration = (i + 1) % 4 === 0;
|
|
6
|
+
formattedAccountNumber += accountNumber[i].valueOf();
|
|
7
|
+
if (isFourthIteration && i + 1 < accountNumber.length) {
|
|
8
|
+
formattedAccountNumber += NON_BREAKING_SPACE;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
return formattedAccountNumber;
|
|
12
|
+
}
|
|
13
|
+
function domesticAccountNumber(accountNumber) {
|
|
14
|
+
var formattedAccountNumber = '';
|
|
15
|
+
if (accountNumber.length > 0) {
|
|
16
|
+
formattedAccountNumber += accountNumber.substring(0, 4);
|
|
17
|
+
}
|
|
18
|
+
if (accountNumber.length > 4) {
|
|
19
|
+
formattedAccountNumber += NON_BREAKING_SPACE + accountNumber.substring(4, 6);
|
|
20
|
+
}
|
|
21
|
+
if (accountNumber.length > 6) {
|
|
22
|
+
formattedAccountNumber += NON_BREAKING_SPACE + accountNumber.substring(6);
|
|
23
|
+
}
|
|
24
|
+
return formattedAccountNumber;
|
|
25
|
+
}
|
|
2
26
|
export default function formatAccountNumber(accountNumber) {
|
|
3
|
-
if (!accountNumber
|
|
27
|
+
if (!accountNumber) {
|
|
4
28
|
return accountNumber;
|
|
5
29
|
}
|
|
6
|
-
|
|
30
|
+
if (accountNumber.length <= 11) {
|
|
31
|
+
return domesticAccountNumber(accountNumber);
|
|
32
|
+
}
|
|
33
|
+
return foreignAccountNumber(accountNumber);
|
|
7
34
|
}
|
package/es/formatCurrency.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
function
|
|
2
|
-
function
|
|
3
|
-
function
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
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); }
|
|
4
7
|
import formatNumber from './formatNumber';
|
|
5
8
|
import parseNumber from './internal/parseNumber';
|
|
6
9
|
import { NON_BREAKING_SPACE } from './internal/unicode';
|
package/es/formatNumber.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
function
|
|
2
|
-
function
|
|
3
|
-
function
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
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); }
|
|
4
7
|
import numberFormat from 'underscore.string/numberFormat';
|
|
5
8
|
import { NON_BREAKING_SPACE } from './internal/unicode';
|
|
6
9
|
import parseNumber from './internal/parseNumber';
|
|
@@ -5,9 +5,36 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = formatAccountNumber;
|
|
7
7
|
var _unicode = require("./internal/unicode");
|
|
8
|
+
function foreignAccountNumber(accountNumber) {
|
|
9
|
+
var formattedAccountNumber = '';
|
|
10
|
+
for (var i = 0; i < accountNumber.length; i++) {
|
|
11
|
+
var isFourthIteration = (i + 1) % 4 === 0;
|
|
12
|
+
formattedAccountNumber += accountNumber[i].valueOf();
|
|
13
|
+
if (isFourthIteration && i + 1 < accountNumber.length) {
|
|
14
|
+
formattedAccountNumber += _unicode.NON_BREAKING_SPACE;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return formattedAccountNumber;
|
|
18
|
+
}
|
|
19
|
+
function domesticAccountNumber(accountNumber) {
|
|
20
|
+
var formattedAccountNumber = '';
|
|
21
|
+
if (accountNumber.length > 0) {
|
|
22
|
+
formattedAccountNumber += accountNumber.substring(0, 4);
|
|
23
|
+
}
|
|
24
|
+
if (accountNumber.length > 4) {
|
|
25
|
+
formattedAccountNumber += _unicode.NON_BREAKING_SPACE + accountNumber.substring(4, 6);
|
|
26
|
+
}
|
|
27
|
+
if (accountNumber.length > 6) {
|
|
28
|
+
formattedAccountNumber += _unicode.NON_BREAKING_SPACE + accountNumber.substring(6);
|
|
29
|
+
}
|
|
30
|
+
return formattedAccountNumber;
|
|
31
|
+
}
|
|
8
32
|
function formatAccountNumber(accountNumber) {
|
|
9
|
-
if (!accountNumber
|
|
33
|
+
if (!accountNumber) {
|
|
10
34
|
return accountNumber;
|
|
11
35
|
}
|
|
12
|
-
|
|
36
|
+
if (accountNumber.length <= 11) {
|
|
37
|
+
return domesticAccountNumber(accountNumber);
|
|
38
|
+
}
|
|
39
|
+
return foreignAccountNumber(accountNumber);
|
|
13
40
|
}
|
package/lib/formatCurrency.js
CHANGED
|
@@ -8,9 +8,12 @@ var _formatNumber = _interopRequireDefault(require("./formatNumber"));
|
|
|
8
8
|
var _parseNumber = _interopRequireDefault(require("./internal/parseNumber"));
|
|
9
9
|
var _unicode = require("./internal/unicode");
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
function
|
|
12
|
-
function
|
|
13
|
-
function
|
|
11
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
12
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
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); }
|
|
14
17
|
function formatCurrency(amount) {
|
|
15
18
|
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
16
19
|
var _prefix$postfix$opts = _objectSpread({
|
package/lib/formatNumber.js
CHANGED
|
@@ -8,9 +8,12 @@ var _numberFormat = _interopRequireDefault(require("underscore.string/numberForm
|
|
|
8
8
|
var _unicode = require("./internal/unicode");
|
|
9
9
|
var _parseNumber = _interopRequireDefault(require("./internal/parseNumber"));
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
function
|
|
12
|
-
function
|
|
13
|
-
function
|
|
11
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
12
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
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); }
|
|
14
17
|
function formatNumber(number) {
|
|
15
18
|
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
16
19
|
var _decimals$thousandSep = _objectSpread({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sb1/ffe-formatters",
|
|
3
|
-
"version": "4.0
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "JavaScript general use string formatters",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ffe"
|
|
@@ -37,5 +37,5 @@
|
|
|
37
37
|
"publishConfig": {
|
|
38
38
|
"access": "public"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "d5ef51887ba2bc226ffe364c10abc3972b271105"
|
|
41
41
|
}
|