@8ms/helpers 1.1.18 → 1.1.21

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.
@@ -1,9 +1,5 @@
1
- /**
2
- * Encrypt a string using sha256
3
- * Library: crypto-js
4
- */
5
1
  declare const getSha256: ({ CryptoLib, input }: {
6
2
  CryptoLib: any;
7
- input: string;
3
+ input: any;
8
4
  }) => string;
9
5
  export default getSha256;
@@ -4,10 +4,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  * Encrypt a string using sha256
5
5
  * Library: crypto-js
6
6
  */
7
+ var string_1 = require("../string");
7
8
  var getSha256 = function (_a) {
8
9
  var CryptoLib = _a.CryptoLib, input = _a.input;
9
10
  var SHA256 = CryptoLib.SHA256;
10
- return SHA256(input)
11
+ var inputString = (0, string_1.getString)({ input: input });
12
+ return SHA256(inputString)
11
13
  .toString();
12
14
  };
13
15
  exports.default = getSha256;
@@ -1,8 +1,10 @@
1
1
  import { DateType } from './date';
2
+ declare type GetDateType = {
3
+ input: DateType;
4
+ setMidnight?: boolean;
5
+ };
2
6
  /**
3
7
  * Convert a (number | string | Date) into a Date object.
4
8
  */
5
- declare const getDate: ({ input }: {
6
- input: DateType;
7
- }) => Date;
9
+ declare const getDate: ({ input, setMidnight }: GetDateType) => Date;
8
10
  export default getDate;
@@ -3,36 +3,47 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- var addHours_1 = __importDefault(require("date-fns/addHours"));
7
6
  var parse_1 = __importDefault(require("date-fns/parse"));
8
- var subHours_1 = __importDefault(require("date-fns/subHours"));
9
7
  /**
10
8
  * Convert a (number | string | Date) into a Date object.
11
9
  */
12
10
  var getDate = function (_a) {
13
- var input = _a.input;
11
+ var input = _a.input, _b = _a.setMidnight, setMidnight = _b === void 0 ? true : _b;
14
12
  var date;
15
13
  if (input instanceof Date) {
16
14
  date = new Date(input.valueOf());
17
15
  }
18
- else if ('string' === typeof input) {
19
- var dateString = input.toString() + ' 00:00:00';
20
- date = (0, parse_1.default)(dateString, 'yyyy-MM-dd HH:mm:ss', new Date());
16
+ else if ('string' === typeof input || 'number' === typeof input) {
17
+ // Convert the input into string
18
+ var dateString = input.toString();
19
+ // 20220412
20
+ if (8 === dateString.length) {
21
+ var year = Number(dateString.substring(0, 4));
22
+ var month = Number(dateString.substring(4, 6));
23
+ var day = Number(dateString.substring(6, 8));
24
+ if (year > 999 && month < 13 && day < 32) {
25
+ date = new Date();
26
+ date.setUTCFullYear(year);
27
+ date.setUTCMonth(month - 1);
28
+ date.setUTCDate(day);
29
+ }
30
+ }
31
+ // 2022-04-12
32
+ else if (10 === dateString.length) {
33
+ var dateTimeString = dateString + ' 00:00:00s';
34
+ date = (0, parse_1.default)(dateTimeString, 'yyyy-MM-dd HH:mm:ss', new Date());
35
+ }
36
+ // 2022-04-12 01:01:01
37
+ else if (19 === dateString.length) {
38
+ date = (0, parse_1.default)(dateString, 'yyyy-MM-dd HH:mm:ss', new Date());
39
+ }
40
+ // Unsure date format, try anything
41
+ else {
42
+ date = new Date(dateString);
43
+ }
21
44
  }
22
- else if ('number' === typeof input) {
23
- var dateString = input.toString() + ' 00:00:00';
24
- date = (0, parse_1.default)(dateString, 'yyyyMMdd HH:mm:ss', new Date());
25
- }
26
- // Behind an hour (going back to DST)
27
- if (date.getTimezoneOffset() < 0) {
28
- date = (0, addHours_1.default)(date, 1);
29
- }
30
- // Forward an hour (going into BST)
31
- else if (date.getTimezoneOffset() > 0) {
32
- date = (0, subHours_1.default)(date, 1);
33
- }
34
- // Otherwise set to UTC hours
35
- else {
45
+ // Reset to UTC hours
46
+ if (setMidnight) {
36
47
  date.setHours(0, 0, 0, 0);
37
48
  }
38
49
  return date;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Convert into string.
3
+ */
4
+ declare const getString: ({ input }: {
5
+ input: any;
6
+ }) => string;
7
+ export default getString;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var isArray_1 = __importDefault(require("lodash/isArray"));
7
+ var isDate_1 = __importDefault(require("lodash/isDate"));
8
+ var isNumber_1 = __importDefault(require("lodash/isNumber"));
9
+ var isObject_1 = __importDefault(require("lodash/isObject"));
10
+ var isString_1 = __importDefault(require("lodash/isString"));
11
+ var date_1 = require("../date");
12
+ /**
13
+ * Convert into string.
14
+ */
15
+ var getString = function (_a) {
16
+ var input = _a.input;
17
+ var string = '';
18
+ // Already a string
19
+ if ((0, isString_1.default)(input)) {
20
+ string = input;
21
+ }
22
+ // Convert a number into a date
23
+ else if ((0, isNumber_1.default)(input)) {
24
+ string = input.toString();
25
+ }
26
+ // Object or array to JSON
27
+ else if ((0, isObject_1.default)(input) || (0, isArray_1.default)(input)) {
28
+ string = JSON.stringify(input);
29
+ }
30
+ // Date
31
+ else if ((0, isDate_1.default)(input)) {
32
+ string = (0, date_1.getNumber)({ input: input })
33
+ .toString();
34
+ }
35
+ return string;
36
+ };
37
+ exports.default = getString;
@@ -1,5 +1,6 @@
1
1
  import formatCapitalise from './formatCapitalise';
2
2
  import getCleanFolder from './getCleanFolder';
3
+ import getString from './getString';
3
4
  import getStringFromStream from './getStringFromStream';
4
5
  export type {};
5
- export { formatCapitalise, getCleanFolder, getStringFromStream, };
6
+ export { formatCapitalise, getCleanFolder, getString, getStringFromStream, };
@@ -3,10 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getStringFromStream = exports.getCleanFolder = exports.formatCapitalise = void 0;
6
+ exports.getStringFromStream = exports.getString = exports.getCleanFolder = exports.formatCapitalise = void 0;
7
7
  var formatCapitalise_1 = __importDefault(require("./formatCapitalise"));
8
8
  exports.formatCapitalise = formatCapitalise_1.default;
9
9
  var getCleanFolder_1 = __importDefault(require("./getCleanFolder"));
10
10
  exports.getCleanFolder = getCleanFolder_1.default;
11
+ var getString_1 = __importDefault(require("./getString"));
12
+ exports.getString = getString_1.default;
11
13
  var getStringFromStream_1 = __importDefault(require("./getStringFromStream"));
12
14
  exports.getStringFromStream = getStringFromStream_1.default;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Return a string "With Proper Casing".
3
+ */
4
+ declare const toProperCase: ({ input }: {
5
+ input: any;
6
+ }) => string;
7
+ export default toProperCase;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var getString_1 = __importDefault(require("./getString"));
7
+ /**
8
+ * Return a string "With Proper Casing".
9
+ */
10
+ var toProperCase = function (_a) {
11
+ var input = _a.input;
12
+ var preparedInput = (0, getString_1.default)({ input: input });
13
+ var clean = preparedInput.split('_')
14
+ .join(' ');
15
+ return clean.replace(/\w\S*/g, function (word) { return word.charAt(0)
16
+ .toUpperCase() + word.substr(1)
17
+ .toLowerCase(); });
18
+ };
19
+ exports.default = toProperCase;
package/package.json CHANGED
@@ -1,33 +1,35 @@
1
1
  {
2
- "name": "@8ms/helpers",
3
- "version": "1.1.18",
4
- "repository": {
5
- "type": "git",
6
- "url": "git+https://github.com/8millionstories-organisation/8ms-helpers-ts.git"
2
+ "name": "@8ms/helpers",
3
+ "sideEffects": false,
4
+ "version": "1.1.21",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/8millionstories-organisation/8ms-helpers-ts.git"
7
8
  },
8
- "main": "dist/index.js",
9
- "types": "dist/index.d.ts",
10
- "scripts": {
11
- "build": "rimraf dist && tsc",
12
- "jest": "jest --watch"
9
+ "main": "dist/index.js",
10
+ "types": "dist/index.d.ts",
11
+ "scripts": {
12
+ "build": "rimraf dist && tsc",
13
+ "jest": "jest --watch"
13
14
  },
14
- "dependencies": {
15
- "axios": "0.26.1",
16
- "date-fns": "2.28.0",
17
- "lodash": "4.17.21"
15
+ "dependencies": {
16
+ "axios": "0.27.1",
17
+ "date-fns": "2.28.0",
18
+ "lodash": "4.17.21"
18
19
  },
19
20
  "devDependencies": {
20
- "@babel/preset-env": "7.16.11",
21
- "@babel/preset-flow": "7.16.7",
22
- "@babel/preset-typescript": "7.16.7",
23
- "@types/jest": "27.4.1",
24
- "@types/lodash": "4.14.181",
25
- "@types/node": "17.0.23",
26
- "babel-jest": "27.5.1",
27
- "crypto-js": "4.1.1",
28
- "jest": "27.5.1",
29
- "ts-node": "10.7.0",
30
- "tslib": "2.3.1",
31
- "typescript": "4.6.3"
21
+ "@babel/preset-env": "7.16.11",
22
+ "@babel/preset-flow": "7.16.7",
23
+ "@babel/preset-typescript": "7.16.7",
24
+ "@types/jest": "27.4.1",
25
+ "@types/lodash": "4.14.182",
26
+ "@types/node": "17.0.27",
27
+ "babel-jest": "28.0.0",
28
+ "crypto-js": "4.1.1",
29
+ "date-fns-tz": "1.3.3",
30
+ "jest": "28.0.0",
31
+ "ts-node": "10.7.0",
32
+ "tslib": "2.4.0",
33
+ "typescript": "4.6.3"
32
34
  }
33
35
  }