@8ms/helpers 1.0.11 → 1.0.15

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.
Files changed (48) hide show
  1. package/dist/Class/BaseClass.js +2 -2
  2. package/dist/array/tests/getArray.test.d.ts +1 -0
  3. package/dist/array/tests/getArray.test.js +15 -0
  4. package/dist/boolean/tests/getBoolean.test.d.ts +1 -0
  5. package/dist/boolean/tests/getBoolean.test.js +23 -0
  6. package/dist/date/getMax.d.ts +3 -2
  7. package/dist/date/getMax.js +5 -7
  8. package/dist/date/getMin.d.ts +9 -0
  9. package/dist/date/getMin.js +17 -0
  10. package/dist/date/index.d.ts +2 -1
  11. package/dist/date/index.js +3 -1
  12. package/dist/date/tests/format.test.d.ts +1 -0
  13. package/dist/date/tests/format.test.js +10 -0
  14. package/dist/date/tests/getDate.test.d.ts +1 -0
  15. package/dist/date/tests/getDate.test.js +9 -0
  16. package/dist/date/tests/getNumber.test.d.ts +1 -0
  17. package/dist/date/tests/getNumber.test.js +9 -0
  18. package/dist/nextJs/getIp.d.ts +7 -0
  19. package/dist/nextJs/getIp.js +14 -0
  20. package/dist/nextJs/getUserAgent.d.ts +7 -0
  21. package/dist/nextJs/getUserAgent.js +10 -0
  22. package/dist/nextJs/index.d.ts +4 -0
  23. package/dist/nextJs/index.js +10 -0
  24. package/dist/nextJs/tests/getIp.d.ts +1 -0
  25. package/dist/nextJs/tests/getIp.js +19 -0
  26. package/dist/nextJs/tests/getUserAgent.test.d.ts +1 -0
  27. package/dist/nextJs/tests/getUserAgent.test.js +19 -0
  28. package/dist/string/tests/getCleanFolder.test.d.ts +1 -0
  29. package/dist/string/tests/getCleanFolder.test.js +9 -0
  30. package/dist/swr/isAllData.d.ts +3 -1
  31. package/dist/swr/isAllData.js +3 -2
  32. package/dist/swr/isAnyError.d.ts +3 -1
  33. package/dist/swr/isAnyError.js +3 -2
  34. package/dist/swr/isAnyLoading.d.ts +3 -1
  35. package/dist/swr/isAnyLoading.js +3 -2
  36. package/dist/swr/isData.d.ts +3 -1
  37. package/dist/swr/isData.js +4 -1
  38. package/dist/swr/isError.d.ts +3 -1
  39. package/dist/swr/isError.js +4 -1
  40. package/dist/swr/isLoading.d.ts +3 -1
  41. package/dist/swr/isLoading.js +4 -1
  42. package/dist/url/tests/isAbsolute.test.d.ts +1 -0
  43. package/dist/url/tests/isAbsolute.test.js +11 -0
  44. package/dist/url/tests/isRelative.test.d.ts +1 -0
  45. package/dist/url/tests/isRelative.test.js +11 -0
  46. package/dist/util/defaultTo.d.ts +5 -4
  47. package/dist/util/defaultTo.js +5 -6
  48. package/package.json +27 -19
@@ -12,9 +12,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- var defaultTo_1 = __importDefault(require("../util/defaultTo"));
16
15
  var isArray_1 = __importDefault(require("lodash/isArray"));
17
16
  var set_1 = __importDefault(require("lodash/set"));
17
+ var defaultTo_1 = __importDefault(require("../util/defaultTo"));
18
18
  var BaseClass = /** @class */ (function () {
19
19
  function BaseClass() {
20
20
  }
@@ -71,7 +71,7 @@ var BaseClass = /** @class */ (function () {
71
71
  for (var _i = 1; _i < arguments.length; _i++) {
72
72
  fields[_i - 1] = arguments[_i];
73
73
  }
74
- return defaultTo_1.default.apply(void 0, __spreadArray([defaultValue, this], fields, false));
74
+ return (0, defaultTo_1.default)({ defaultValue: defaultValue, instance: this, keys: fields });
75
75
  };
76
76
  return BaseClass;
77
77
  }());
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var index_1 = require("../index");
4
+ test('getArray - string', function () {
5
+ var inputString = 'some-input';
6
+ var expected = ['some-input'];
7
+ expect((0, index_1.getArray)({ input: inputString }))
8
+ .toStrictEqual(expected);
9
+ });
10
+ test('getArray - string[]', function () {
11
+ var inputArray = ['some-input'];
12
+ var expected = ['some-input'];
13
+ expect((0, index_1.getArray)({ input: inputArray }))
14
+ .toStrictEqual(expected);
15
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var index_1 = require("../index");
4
+ test('getBoolean - True', function () {
5
+ expect((0, index_1.getBoolean)(true))
6
+ .toBeTruthy();
7
+ expect((0, index_1.getBoolean)(1))
8
+ .toBeTruthy();
9
+ expect((0, index_1.getBoolean)('1'))
10
+ .toBeTruthy();
11
+ });
12
+ test('getBoolean - False', function () {
13
+ expect((0, index_1.getBoolean)(false))
14
+ .toBeFalsy();
15
+ expect((0, index_1.getBoolean)(0))
16
+ .toBeFalsy();
17
+ expect((0, index_1.getBoolean)('0'))
18
+ .toBeFalsy();
19
+ });
20
+ test('getBoolean - Unexpected', function () {
21
+ expect((0, index_1.getBoolean)('test'))
22
+ .toBeFalsy();
23
+ });
@@ -1,8 +1,9 @@
1
1
  import { DateType } from './types';
2
2
  /**
3
- * Return the maximum date (up to Yesterday) as a formatted string.
3
+ * If a given date is beyond the maximum, return the maximum.
4
4
  */
5
- declare const getMax: ({ input }: {
5
+ declare const getMax: ({ input, max }: {
6
6
  input: DateType;
7
+ max: DateType;
7
8
  }) => Date;
8
9
  export default getMax;
@@ -5,15 +5,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var isAfter_1 = __importDefault(require("date-fns/isAfter"));
7
7
  var getDate_1 = __importDefault(require("./getDate"));
8
- var getYesterday_1 = __importDefault(require("./getYesterday"));
9
8
  /**
10
- * Return the maximum date (up to Yesterday) as a formatted string.
9
+ * If a given date is beyond the maximum, return the maximum.
11
10
  */
12
11
  var getMax = function (_a) {
13
- var input = _a.input;
14
- var yesterday = (0, getYesterday_1.default)();
15
- var parsed = (0, getDate_1.default)({ input: input });
16
- var max = (0, isAfter_1.default)(parsed, yesterday) ? yesterday : parsed;
17
- return max;
12
+ var input = _a.input, max = _a.max;
13
+ var parsedMax = (0, getDate_1.default)({ input: max });
14
+ var parsedInput = (0, getDate_1.default)({ input: input });
15
+ return (0, isAfter_1.default)(parsedInput, parsedMax) ? parsedMax : parsedInput;
18
16
  };
19
17
  exports.default = getMax;
@@ -0,0 +1,9 @@
1
+ import { DateType } from './types';
2
+ /**
3
+ * If a given date is before the minimum, return the minimum.
4
+ */
5
+ declare const getMin: ({ input, min }: {
6
+ input: DateType;
7
+ min: DateType;
8
+ }) => Date;
9
+ export default getMin;
@@ -0,0 +1,17 @@
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 isBefore_1 = __importDefault(require("date-fns/isBefore"));
7
+ var getDate_1 = __importDefault(require("./getDate"));
8
+ /**
9
+ * If a given date is before the minimum, return the minimum.
10
+ */
11
+ var getMin = function (_a) {
12
+ var input = _a.input, min = _a.min;
13
+ var parsedMin = (0, getDate_1.default)({ input: min });
14
+ var parsedInput = (0, getDate_1.default)({ input: input });
15
+ return (0, isBefore_1.default)(parsedInput, parsedMin) ? parsedMin : parsedInput;
16
+ };
17
+ exports.default = getMin;
@@ -7,6 +7,7 @@ import getFinancialYear from './getFinancialYear';
7
7
  import getFinancialYearToDate from './getFinancialYearToDate';
8
8
  import getLastWeek from './getLastWeek';
9
9
  import getMax from './getMax';
10
+ import getMin from './getMin';
10
11
  import getMonday from './getMonday';
11
12
  import getNumber from './getNumber';
12
13
  import getPredefinedTimeframe from './getPredefinedTimeframe';
@@ -21,4 +22,4 @@ import isThisWeek from './isThisWeek';
21
22
  import parseExcelDate from './parseExcelDate';
22
23
  import { DateType, FinancialYearType, FinancialYearWeekType, TimeframePredefinedType, TimeframeType } from './types';
23
24
  export type { DateType, FinancialYearType, FinancialYearWeekType, TimeframeType, TimeframePredefinedType, };
24
- export { Duration, DurationComparison, Timeframe, TimeframePredefined, format, getDate, getDurationHours, getDurationMinutes, getFinancialYear, getFinancialYearToDate, getLastWeek, getMax, getMonday, getNumber, getPredefinedTimeframe, getSunday, getThisWeek, getToday, getTwoWeeksAgo, getYesterday, isDateValid, isLastWeek, isThisWeek, parseExcelDate, };
25
+ export { Duration, DurationComparison, Timeframe, TimeframePredefined, format, getDate, getDurationHours, getDurationMinutes, getFinancialYear, getFinancialYearToDate, getLastWeek, getMax, getMin, getMonday, getNumber, getPredefinedTimeframe, getSunday, getThisWeek, getToday, getTwoWeeksAgo, getYesterday, isDateValid, isLastWeek, isThisWeek, parseExcelDate, };
@@ -3,7 +3,7 @@ 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.parseExcelDate = exports.isThisWeek = exports.isLastWeek = exports.isDateValid = exports.getYesterday = exports.getTwoWeeksAgo = exports.getToday = exports.getThisWeek = exports.getSunday = exports.getPredefinedTimeframe = exports.getNumber = exports.getMonday = exports.getMax = exports.getLastWeek = exports.getFinancialYearToDate = exports.getFinancialYear = exports.getDurationMinutes = exports.getDurationHours = exports.getDate = exports.format = exports.TimeframePredefined = exports.Timeframe = exports.DurationComparison = exports.Duration = void 0;
6
+ exports.parseExcelDate = exports.isThisWeek = exports.isLastWeek = exports.isDateValid = exports.getYesterday = exports.getTwoWeeksAgo = exports.getToday = exports.getThisWeek = exports.getSunday = exports.getPredefinedTimeframe = exports.getNumber = exports.getMonday = exports.getMin = exports.getMax = exports.getLastWeek = exports.getFinancialYearToDate = exports.getFinancialYear = exports.getDurationMinutes = exports.getDurationHours = exports.getDate = exports.format = exports.TimeframePredefined = exports.Timeframe = exports.DurationComparison = exports.Duration = void 0;
7
7
  var constants_1 = require("./constants");
8
8
  Object.defineProperty(exports, "Duration", { enumerable: true, get: function () { return constants_1.Duration; } });
9
9
  Object.defineProperty(exports, "DurationComparison", { enumerable: true, get: function () { return constants_1.DurationComparison; } });
@@ -25,6 +25,8 @@ var getLastWeek_1 = __importDefault(require("./getLastWeek"));
25
25
  exports.getLastWeek = getLastWeek_1.default;
26
26
  var getMax_1 = __importDefault(require("./getMax"));
27
27
  exports.getMax = getMax_1.default;
28
+ var getMin_1 = __importDefault(require("./getMin"));
29
+ exports.getMin = getMin_1.default;
28
30
  var getMonday_1 = __importDefault(require("./getMonday"));
29
31
  exports.getMonday = getMonday_1.default;
30
32
  var getNumber_1 = __importDefault(require("./getNumber"));
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var index_1 = require("../index");
4
+ test('format', function () {
5
+ var expected = '01/02/2021';
6
+ var dateFormat = 'dd/MM/yyyy';
7
+ var dateNumber = 20210201;
8
+ expect((0, index_1.format)({ input: dateNumber, dateFormat: dateFormat }))
9
+ .toBe(expected);
10
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var index_1 = require("../index");
4
+ test('getDate', function () {
5
+ var expected = new Date('2021-02-01 00:00:00');
6
+ var parsed = (0, index_1.getDate)({ input: 20210201 });
7
+ expect(parsed)
8
+ .toMatchObject(expected);
9
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var index_1 = require("../index");
4
+ test('getNumber', function () {
5
+ var expected = 20210201;
6
+ var parsed = (0, index_1.getNumber)({ input: new Date('2021-02-01 00:00:00') });
7
+ expect(parsed)
8
+ .toBe(expected);
9
+ });
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Get the user's remote IP Address
3
+ */
4
+ declare const getIp: ({ req }: {
5
+ req: any;
6
+ }) => string;
7
+ export default getIp;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Get the user's remote IP Address
5
+ */
6
+ var getIp = function (_a) {
7
+ var req = _a.req;
8
+ var response = 'unset';
9
+ if (undefined !== req.headers['x-real-ip']) {
10
+ response = String(req.headers['x-real-ip']);
11
+ }
12
+ return response;
13
+ };
14
+ exports.default = getIp;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Get the user's User Agent
3
+ */
4
+ declare const getUserAgent: ({ req }: {
5
+ req: any;
6
+ }) => string;
7
+ export default getUserAgent;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Get the user's User Agent
5
+ */
6
+ var getUserAgent = function (_a) {
7
+ var req = _a.req;
8
+ return req.headers['user-agent'] || 'unset';
9
+ };
10
+ exports.default = getUserAgent;
@@ -0,0 +1,4 @@
1
+ import getIp from './getIp';
2
+ import getUserAgent from './getUserAgent';
3
+ export type {};
4
+ export { getIp, getUserAgent, };
@@ -0,0 +1,10 @@
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
+ exports.getUserAgent = exports.getIp = void 0;
7
+ var getIp_1 = __importDefault(require("./getIp"));
8
+ exports.getIp = getIp_1.default;
9
+ var getUserAgent_1 = __importDefault(require("./getUserAgent"));
10
+ exports.getUserAgent = getUserAgent_1.default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var index_1 = require("../index");
4
+ test('getIp - Exists', function () {
5
+ var request = {
6
+ headers: {
7
+ 'x-real-ip': 'value',
8
+ }
9
+ };
10
+ expect((0, index_1.getIp)({ req: request }))
11
+ .toBe('value');
12
+ });
13
+ test('getIp - Undefined', function () {
14
+ var request = {
15
+ headers: {}
16
+ };
17
+ expect((0, index_1.getIp)({ req: request }))
18
+ .toBe('unset');
19
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var index_1 = require("../index");
4
+ test('getUserAgent - Exists', function () {
5
+ var request = {
6
+ headers: {
7
+ 'user-agent': 'value',
8
+ },
9
+ };
10
+ expect((0, index_1.getUserAgent)({ req: request }))
11
+ .toBe('value');
12
+ });
13
+ test('getUserAgent - Undefined', function () {
14
+ var request = {
15
+ headers: {},
16
+ };
17
+ expect((0, index_1.getUserAgent)({ req: request }))
18
+ .toBe('unset');
19
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var index_1 = require("../index");
4
+ test('getCleanFolder', function () {
5
+ var input = ' /some-folder/ ';
6
+ var expected = '/some-folder/';
7
+ expect((0, index_1.getCleanFolder)(input))
8
+ .toBe(expected);
9
+ });
@@ -1,5 +1,7 @@
1
1
  /**
2
2
  * Are all SWRs data ready.
3
3
  */
4
- declare const isAllData: (swrs: any) => boolean;
4
+ declare const isAllData: ({ swrs }: {
5
+ swrs: any;
6
+ }) => boolean;
5
7
  export default isAllData;
@@ -7,10 +7,11 @@ var isData_1 = __importDefault(require("./isData"));
7
7
  /**
8
8
  * Are all SWRs data ready.
9
9
  */
10
- var isAllData = function (swrs) {
10
+ var isAllData = function (_a) {
11
+ var swrs = _a.swrs;
11
12
  var fetcherWithData = 0;
12
13
  for (var swr in swrs) {
13
- if ((0, isData_1.default)(swrs[swr])) {
14
+ if ((0, isData_1.default)({ swr: swrs[swr] })) {
14
15
  fetcherWithData++;
15
16
  }
16
17
  }
@@ -1,5 +1,7 @@
1
1
  /**
2
2
  * Are any of the SWRs marked as an error.
3
3
  */
4
- declare const isAnyError: (swrs: any) => boolean;
4
+ declare const isAnyError: ({ swrs }: {
5
+ swrs: any;
6
+ }) => boolean;
5
7
  export default isAnyError;
@@ -7,10 +7,11 @@ var isError_1 = __importDefault(require("./isError"));
7
7
  /**
8
8
  * Are any of the SWRs marked as an error.
9
9
  */
10
- var isAnyError = function (swrs) {
10
+ var isAnyError = function (_a) {
11
+ var swrs = _a.swrs;
11
12
  var fetcherError = 0;
12
13
  for (var swr in swrs) {
13
- if ((0, isError_1.default)(swrs[swr])) {
14
+ if ((0, isError_1.default)({ swr: swrs[swr] })) {
14
15
  fetcherError++;
15
16
  }
16
17
  }
@@ -1,5 +1,7 @@
1
1
  /**
2
2
  * Are any of SWRs loading
3
3
  */
4
- export declare const isAnyLoading: (swrs: any) => boolean;
4
+ export declare const isAnyLoading: ({ swrs }: {
5
+ swrs: any;
6
+ }) => boolean;
5
7
  export default isAnyLoading;
@@ -8,10 +8,11 @@ var isLoading_1 = __importDefault(require("./isLoading"));
8
8
  /**
9
9
  * Are any of SWRs loading
10
10
  */
11
- var isAnyLoading = function (swrs) {
11
+ var isAnyLoading = function (_a) {
12
+ var swrs = _a.swrs;
12
13
  var fetcherLoading = 0;
13
14
  for (var swr in swrs) {
14
- if ((0, isLoading_1.default)(swrs[swr])) {
15
+ if ((0, isLoading_1.default)({ swr: swrs[swr] })) {
15
16
  fetcherLoading++;
16
17
  }
17
18
  }
@@ -1,5 +1,7 @@
1
1
  /**
2
2
  * Check to see if a single SWR has an error.
3
3
  */
4
- declare const isData: (swr: any) => boolean;
4
+ declare const isData: ({ swr }: {
5
+ swr: any;
6
+ }) => boolean;
5
7
  export default isData;
@@ -3,5 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  /**
4
4
  * Check to see if a single SWR has an error.
5
5
  */
6
- var isData = function (swr) { return undefined !== swr.fetcher.data && 'undefined' !== swr.fetcher.data; };
6
+ var isData = function (_a) {
7
+ var swr = _a.swr;
8
+ return undefined !== swr.fetcher.data && 'undefined' !== swr.fetcher.data;
9
+ };
7
10
  exports.default = isData;
@@ -1,5 +1,7 @@
1
1
  /**
2
2
  * Check to see if a single SWR has an error.
3
3
  */
4
- declare const isError: (swr: any) => boolean;
4
+ declare const isError: ({ swr }: {
5
+ swr: any;
6
+ }) => boolean;
5
7
  export default isError;
@@ -3,5 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  /**
4
4
  * Check to see if a single SWR has an error.
5
5
  */
6
- var isError = function (swr) { return undefined !== swr.fetcher.error; };
6
+ var isError = function (_a) {
7
+ var swr = _a.swr;
8
+ return undefined !== swr.fetcher.error;
9
+ };
7
10
  exports.default = isError;
@@ -1,5 +1,7 @@
1
1
  /**
2
2
  * Check to see if a single SWR is loading.
3
3
  */
4
- declare const isLoading: (swr: any) => boolean;
4
+ declare const isLoading: ({ swr }: {
5
+ swr: any;
6
+ }) => boolean;
5
7
  export default isLoading;
@@ -8,5 +8,8 @@ var isError_1 = __importDefault(require("./isError"));
8
8
  /**
9
9
  * Check to see if a single SWR is loading.
10
10
  */
11
- var isLoading = function (swr) { return !(0, isError_1.default)(swr) && !(0, isData_1.default)(swr); };
11
+ var isLoading = function (_a) {
12
+ var swr = _a.swr;
13
+ return !(0, isError_1.default)({ swr: swr }) && !(0, isData_1.default)({ swr: swr });
14
+ };
12
15
  exports.default = isLoading;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var index_1 = require("../index");
4
+ test('isAbsolute', function () {
5
+ var absolute = 'https://www.google.com';
6
+ var relative = '/something';
7
+ expect((0, index_1.isAbsolute)({ input: absolute }))
8
+ .toBeTruthy();
9
+ expect((0, index_1.isAbsolute)({ input: relative }))
10
+ .toBeFalsy();
11
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var index_1 = require("../index");
4
+ test('isRelative', function () {
5
+ var absolute = 'https://www.google.com';
6
+ var relative = '/something';
7
+ expect((0, index_1.isRelative)({ input: absolute }))
8
+ .toBeFalsy();
9
+ expect((0, index_1.isRelative)({ input: relative }))
10
+ .toBeTruthy();
11
+ });
@@ -1,5 +1,6 @@
1
- /**
2
- * Function to default to a value, whilst filtering through an instance
3
- */
4
- declare const defaultTo: (defaultValue: any, instance: any, ...keys: any[]) => any;
1
+ declare const defaultTo: ({ defaultValue, instance, keys }: {
2
+ defaultValue: any;
3
+ instance: any;
4
+ keys: string | string[];
5
+ }) => any;
5
6
  export default defaultTo;
@@ -3,11 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  /**
4
4
  * Function to default to a value, whilst filtering through an instance
5
5
  */
6
- var defaultTo = function (defaultValue, instance) {
7
- var keys = [];
8
- for (var _i = 2; _i < arguments.length; _i++) {
9
- keys[_i - 2] = arguments[_i];
10
- }
6
+ var array_1 = require("../array");
7
+ var defaultTo = function (_a) {
8
+ var defaultValue = _a.defaultValue, instance = _a.instance, keys = _a.keys;
9
+ var keysArray = (0, array_1.getArray)({ input: keys });
11
10
  var found = true;
12
11
  var pointer = instance;
13
12
  // Instance is undefined
@@ -16,7 +15,7 @@ var defaultTo = function (defaultValue, instance) {
16
15
  }
17
16
  // Instance exists
18
17
  else {
19
- keys.forEach(function (key) {
18
+ keysArray.forEach(function (key) {
20
19
  if (found) {
21
20
  // Sub key doesn't exist
22
21
  if (undefined === pointer[key]) {
package/package.json CHANGED
@@ -1,27 +1,35 @@
1
1
  {
2
- "name": "@8ms/helpers",
3
- "version": "1.0.11",
4
- "repository": {
5
- "type": "git",
6
- "url": "git+https://github.com/8millionstories-organisation/8ms-helpers-ts.git"
2
+ "name": "@8ms/helpers",
3
+ "version": "1.0.15",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "git+https://github.com/8millionstories-organisation/8ms-helpers-ts.git"
7
7
  },
8
- "main": "dist/index.js",
9
- "types": "dist/index.d.ts",
10
- "files": [
11
- "dist/**/*"
8
+ "main": "dist/index.js",
9
+ "types": "dist/index.d.ts",
10
+ "files": [
11
+ "dist/**/*"
12
12
  ],
13
- "scripts": {
14
- "build": "rimraf dist && tsc"
13
+ "scripts": {
14
+ "build": "rimraf dist && tsc",
15
+ "jest": "jest --watch"
15
16
  },
16
- "dependencies": {
17
- "axios": "0.25.0",
18
- "date-fns": "2.28.0",
19
- "lodash": "4.17.21"
17
+ "dependencies": {
18
+ "axios": "0.25.0",
19
+ "date-fns": "2.28.0",
20
+ "lodash": "4.17.21"
20
21
  },
21
22
  "devDependencies": {
22
- "@types/lodash": "4.14.178",
23
- "@types/node": "17.0.12",
24
- "tslib": "2.3.1",
25
- "typescript": "4.5.5"
23
+ "@babel/preset-env": "7.16.11",
24
+ "@babel/preset-flow": "7.16.7",
25
+ "@babel/preset-typescript": "7.16.7",
26
+ "@types/jest": "27.4.0",
27
+ "@types/lodash": "4.14.178",
28
+ "@types/node": "17.0.14",
29
+ "babel-jest": "27.4.6",
30
+ "jest": "27.4.7",
31
+ "ts-node": "10.4.0",
32
+ "tslib": "2.3.1",
33
+ "typescript": "4.5.5"
26
34
  }
27
35
  }