@8ms/helpers 1.0.1
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/dist/Class/BaseClass.d.ts +19 -0
- package/dist/Class/BaseClass.js +78 -0
- package/dist/Class/index.d.ts +3 -0
- package/dist/Class/index.js +8 -0
- package/dist/api/constants.d.ts +13 -0
- package/dist/api/constants.js +16 -0
- package/dist/api/index.d.ts +4 -0
- package/dist/api/index.js +7 -0
- package/dist/api/types.d.ts +6 -0
- package/dist/api/types.js +2 -0
- package/dist/array/getArray.d.ts +7 -0
- package/dist/array/getArray.js +14 -0
- package/dist/array/index.d.ts +3 -0
- package/dist/array/index.js +8 -0
- package/dist/atInternet/index.d.ts +3 -0
- package/dist/atInternet/index.js +2 -0
- package/dist/atInternet/types.d.ts +30 -0
- package/dist/atInternet/types.js +2 -0
- package/dist/aws/athenaExpress/getClient.d.ts +13 -0
- package/dist/aws/athenaExpress/getClient.js +23 -0
- package/dist/aws/athenaExpress/index.d.ts +4 -0
- package/dist/aws/athenaExpress/index.js +10 -0
- package/dist/aws/athenaExpress/request.d.ts +8 -0
- package/dist/aws/athenaExpress/request.js +54 -0
- package/dist/aws/glue/getClient.d.ts +10 -0
- package/dist/aws/glue/getClient.js +16 -0
- package/dist/aws/glue/index.d.ts +4 -0
- package/dist/aws/glue/index.js +10 -0
- package/dist/aws/glue/invoke.d.ts +10 -0
- package/dist/aws/glue/invoke.js +71 -0
- package/dist/aws/index.d.ts +4 -0
- package/dist/aws/index.js +8 -0
- package/dist/aws/isResponse200.d.ts +7 -0
- package/dist/aws/isResponse200.js +16 -0
- package/dist/aws/lambda/getClient.d.ts +10 -0
- package/dist/aws/lambda/getClient.js +16 -0
- package/dist/aws/lambda/index.d.ts +4 -0
- package/dist/aws/lambda/index.js +10 -0
- package/dist/aws/lambda/invoke.d.ts +20 -0
- package/dist/aws/lambda/invoke.js +91 -0
- package/dist/aws/s3/deleteDirectory.d.ts +10 -0
- package/dist/aws/s3/deleteDirectory.js +83 -0
- package/dist/aws/s3/deleteFile.d.ts +10 -0
- package/dist/aws/s3/deleteFile.js +61 -0
- package/dist/aws/s3/deleteFiles.d.ts +10 -0
- package/dist/aws/s3/deleteFiles.js +65 -0
- package/dist/aws/s3/getClient.d.ts +10 -0
- package/dist/aws/s3/getClient.js +16 -0
- package/dist/aws/s3/getPresignedPost.d.ts +21 -0
- package/dist/aws/s3/getPresignedPost.js +66 -0
- package/dist/aws/s3/getSignedUrl.d.ts +15 -0
- package/dist/aws/s3/getSignedUrl.js +70 -0
- package/dist/aws/s3/index.d.ts +15 -0
- package/dist/aws/s3/index.js +30 -0
- package/dist/aws/s3/listFiles.d.ts +10 -0
- package/dist/aws/s3/listFiles.js +77 -0
- package/dist/aws/s3/listFolders.d.ts +10 -0
- package/dist/aws/s3/listFolders.js +76 -0
- package/dist/aws/s3/readBuffer.d.ts +11 -0
- package/dist/aws/s3/readBuffer.js +100 -0
- package/dist/aws/s3/readFile.d.ts +12 -0
- package/dist/aws/s3/readFile.js +114 -0
- package/dist/aws/s3/types.d.ts +22 -0
- package/dist/aws/s3/types.js +2 -0
- package/dist/aws/s3/writeFile.d.ts +11 -0
- package/dist/aws/s3/writeFile.js +64 -0
- package/dist/aws/s3/writeGlueJsonFile.d.ts +13 -0
- package/dist/aws/s3/writeGlueJsonFile.js +64 -0
- package/dist/aws/s3/writePresignedPost.d.ts +15 -0
- package/dist/aws/s3/writePresignedPost.js +87 -0
- package/dist/aws/s3cache/getCache.d.ts +17 -0
- package/dist/aws/s3cache/getCache.js +62 -0
- package/dist/aws/s3cache/getKey.d.ts +12 -0
- package/dist/aws/s3cache/getKey.js +19 -0
- package/dist/aws/s3cache/index.d.ts +7 -0
- package/dist/aws/s3cache/index.js +14 -0
- package/dist/aws/s3cache/saveCache.d.ts +12 -0
- package/dist/aws/s3cache/saveCache.js +59 -0
- package/dist/aws/s3cache/types.d.ts +6 -0
- package/dist/aws/s3cache/types.js +2 -0
- package/dist/aws/s3cache/updateCache.d.ts +12 -0
- package/dist/aws/s3cache/updateCache.js +66 -0
- package/dist/aws/ses/SimpleEmail.d.ts +53 -0
- package/dist/aws/ses/SimpleEmail.js +209 -0
- package/dist/aws/ses/getClient.d.ts +10 -0
- package/dist/aws/ses/getClient.js +16 -0
- package/dist/aws/ses/index.d.ts +4 -0
- package/dist/aws/ses/index.js +10 -0
- package/dist/aws/ssm/getClient.d.ts +10 -0
- package/dist/aws/ssm/getClient.js +16 -0
- package/dist/aws/ssm/getParameter.d.ts +12 -0
- package/dist/aws/ssm/getParameter.js +85 -0
- package/dist/aws/ssm/index.d.ts +4 -0
- package/dist/aws/ssm/index.js +10 -0
- package/dist/aws/types.d.ts +5 -0
- package/dist/aws/types.js +2 -0
- package/dist/boolean/getBoolean.d.ts +5 -0
- package/dist/boolean/getBoolean.js +16 -0
- package/dist/boolean/index.d.ts +3 -0
- package/dist/boolean/index.js +8 -0
- package/dist/crud/constants.d.ts +6 -0
- package/dist/crud/constants.js +9 -0
- package/dist/crud/index.d.ts +4 -0
- package/dist/crud/index.js +5 -0
- package/dist/crud/types.d.ts +2 -0
- package/dist/crud/types.js +2 -0
- package/dist/crypto/getDecrypt.d.ts +11 -0
- package/dist/crypto/getDecrypt.js +13 -0
- package/dist/crypto/getEncrypt.d.ts +11 -0
- package/dist/crypto/getEncrypt.js +13 -0
- package/dist/crypto/getRandom.d.ts +7 -0
- package/dist/crypto/getRandom.js +12 -0
- package/dist/crypto/getSha256.d.ts +8 -0
- package/dist/crypto/getSha256.js +12 -0
- package/dist/crypto/index.d.ts +6 -0
- package/dist/crypto/index.js +14 -0
- package/dist/date/constants.d.ts +21 -0
- package/dist/date/constants.js +24 -0
- package/dist/date/format.d.ts +9 -0
- package/dist/date/format.js +15 -0
- package/dist/date/getDate.d.ts +8 -0
- package/dist/date/getDate.js +40 -0
- package/dist/date/getDurationHours.d.ts +8 -0
- package/dist/date/getDurationHours.js +28 -0
- package/dist/date/getDurationMinutes.d.ts +8 -0
- package/dist/date/getDurationMinutes.js +27 -0
- package/dist/date/getFinancialYear.d.ts +8 -0
- package/dist/date/getFinancialYear.js +48 -0
- package/dist/date/getFinancialYearToDate.d.ts +6 -0
- package/dist/date/getFinancialYearToDate.js +15 -0
- package/dist/date/getFinancialYearWeeks.d.ts +8 -0
- package/dist/date/getFinancialYearWeeks.js +26 -0
- package/dist/date/getLastWeek.d.ts +6 -0
- package/dist/date/getLastWeek.js +16 -0
- package/dist/date/getMax.d.ts +8 -0
- package/dist/date/getMax.js +19 -0
- package/dist/date/getMonday.d.ts +11 -0
- package/dist/date/getMonday.js +29 -0
- package/dist/date/getNumber.d.ts +8 -0
- package/dist/date/getNumber.js +16 -0
- package/dist/date/getPredefinedTimeframe.d.ts +8 -0
- package/dist/date/getPredefinedTimeframe.js +25 -0
- package/dist/date/getSunday.d.ts +11 -0
- package/dist/date/getSunday.js +29 -0
- package/dist/date/getThisWeek.d.ts +6 -0
- package/dist/date/getThisWeek.js +16 -0
- package/dist/date/getToday.d.ts +6 -0
- package/dist/date/getToday.js +12 -0
- package/dist/date/getTwoWeeksAgo.d.ts +6 -0
- package/dist/date/getTwoWeeksAgo.js +16 -0
- package/dist/date/getWeeksAgo.d.ts +6 -0
- package/dist/date/getWeeksAgo.js +17 -0
- package/dist/date/getYesterday.d.ts +5 -0
- package/dist/date/getYesterday.js +12 -0
- package/dist/date/index.d.ts +24 -0
- package/dist/date/index.js +51 -0
- package/dist/date/isDateValid.d.ts +7 -0
- package/dist/date/isDateValid.js +24 -0
- package/dist/date/isLastWeek.d.ts +6 -0
- package/dist/date/isLastWeek.js +15 -0
- package/dist/date/isThisWeek.d.ts +6 -0
- package/dist/date/isThisWeek.js +15 -0
- package/dist/date/parseExcelDate.d.ts +8 -0
- package/dist/date/parseExcelDate.js +20 -0
- package/dist/date/types.d.ts +28 -0
- package/dist/date/types.js +2 -0
- package/dist/environment/constants.d.ts +9 -0
- package/dist/environment/constants.js +12 -0
- package/dist/environment/getEnvironment.d.ts +8 -0
- package/dist/environment/getEnvironment.js +31 -0
- package/dist/environment/index.d.ts +11 -0
- package/dist/environment/index.js +23 -0
- package/dist/environment/isAws.d.ts +8 -0
- package/dist/environment/isAws.js +11 -0
- package/dist/environment/isDevelopment.d.ts +5 -0
- package/dist/environment/isDevelopment.js +12 -0
- package/dist/environment/isLocalhost.d.ts +8 -0
- package/dist/environment/isLocalhost.js +23 -0
- package/dist/environment/isProduction.d.ts +5 -0
- package/dist/environment/isProduction.js +12 -0
- package/dist/environment/isStaging.d.ts +5 -0
- package/dist/environment/isStaging.js +12 -0
- package/dist/environment/isVercel.d.ts +8 -0
- package/dist/environment/isVercel.js +11 -0
- package/dist/environment/types.d.ts +3 -0
- package/dist/environment/types.js +2 -0
- package/dist/google/getCredentials.d.ts +11 -0
- package/dist/google/getCredentials.js +77 -0
- package/dist/google/index.d.ts +4 -0
- package/dist/google/index.js +8 -0
- package/dist/google/types.d.ts +12 -0
- package/dist/google/types.js +2 -0
- package/dist/googleAds/getClient.d.ts +14 -0
- package/dist/googleAds/getClient.js +80 -0
- package/dist/googleAds/getCustomer.d.ts +8 -0
- package/dist/googleAds/getCustomer.js +56 -0
- package/dist/googleAds/index.d.ts +5 -0
- package/dist/googleAds/index.js +10 -0
- package/dist/googleAds/types.d.ts +5 -0
- package/dist/googleAds/types.js +2 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.js +72 -0
- package/dist/nextAuth/constants.d.ts +5 -0
- package/dist/nextAuth/constants.js +8 -0
- package/dist/nextAuth/index.d.ts +3 -0
- package/dist/nextAuth/index.js +5 -0
- package/dist/prisma/getClient.d.ts +6 -0
- package/dist/prisma/getClient.js +41 -0
- package/dist/prisma/index.d.ts +3 -0
- package/dist/prisma/index.js +8 -0
- package/dist/string/getCleanFolder.d.ts +5 -0
- package/dist/string/getCleanFolder.js +12 -0
- package/dist/string/getStringFromStream.d.ts +6 -0
- package/dist/string/getStringFromStream.js +16 -0
- package/dist/string/index.d.ts +4 -0
- package/dist/string/index.js +10 -0
- package/dist/swr/index.d.ts +8 -0
- package/dist/swr/index.js +18 -0
- package/dist/swr/isAllData.d.ts +5 -0
- package/dist/swr/isAllData.js +19 -0
- package/dist/swr/isAnyError.d.ts +5 -0
- package/dist/swr/isAnyError.js +19 -0
- package/dist/swr/isAnyLoading.d.ts +5 -0
- package/dist/swr/isAnyLoading.js +21 -0
- package/dist/swr/isData.d.ts +5 -0
- package/dist/swr/isData.js +7 -0
- package/dist/swr/isError.d.ts +5 -0
- package/dist/swr/isError.js +7 -0
- package/dist/swr/isLoading.d.ts +5 -0
- package/dist/swr/isLoading.js +12 -0
- package/dist/url/buildParameters.d.ts +8 -0
- package/dist/url/buildParameters.js +23 -0
- package/dist/url/buildRelative.d.ts +8 -0
- package/dist/url/buildRelative.js +14 -0
- package/dist/url/buildUrl.d.ts +12 -0
- package/dist/url/buildUrl.js +30 -0
- package/dist/url/index.d.ts +8 -0
- package/dist/url/index.js +16 -0
- package/dist/url/isAbsolute.d.ts +7 -0
- package/dist/url/isAbsolute.js +16 -0
- package/dist/url/isRelative.d.ts +7 -0
- package/dist/url/isRelative.js +11 -0
- package/dist/url/types.d.ts +6 -0
- package/dist/url/types.js +2 -0
- package/dist/util/defaultTo.d.ts +5 -0
- package/dist/util/defaultTo.js +34 -0
- package/dist/util/index.d.ts +4 -0
- package/dist/util/index.js +10 -0
- package/dist/util/sleep.d.ts +4 -0
- package/dist/util/sleep.js +7 -0
- package/package.json +27 -0
|
@@ -0,0 +1,48 @@
|
|
|
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 isMonday_1 = __importDefault(require("date-fns/isMonday"));
|
|
7
|
+
var isSunday_1 = __importDefault(require("date-fns/isSunday"));
|
|
8
|
+
var nextSunday_1 = __importDefault(require("date-fns/nextSunday"));
|
|
9
|
+
var previousMonday_1 = __importDefault(require("date-fns/previousMonday"));
|
|
10
|
+
var getToday_1 = __importDefault(require("./getToday"));
|
|
11
|
+
/**
|
|
12
|
+
* Get the current financial year.
|
|
13
|
+
*/
|
|
14
|
+
var getFinancialYear = function (_a) {
|
|
15
|
+
var year = _a.year;
|
|
16
|
+
// Either use the current year or a specified year
|
|
17
|
+
var financialYear = year;
|
|
18
|
+
if (undefined === year) {
|
|
19
|
+
var today = (0, getToday_1.default)();
|
|
20
|
+
// If today is before 1st of April, then use last year
|
|
21
|
+
if (today < new Date(today.getUTCFullYear(), 3, 1)) {
|
|
22
|
+
financialYear = today.getUTCFullYear() - 1;
|
|
23
|
+
}
|
|
24
|
+
// On or after 1st of April, use this year
|
|
25
|
+
else {
|
|
26
|
+
financialYear = today.getUTCFullYear();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
// The year-end needs to be 31st March next year
|
|
30
|
+
var yearEnd = new Date("".concat(financialYear + 1, "-03-31"));
|
|
31
|
+
yearEnd.setUTCHours(0, 0, 0, 0);
|
|
32
|
+
// The year start needs to be 1st April this year
|
|
33
|
+
var yearStart = new Date("".concat(financialYear, "-04-01"));
|
|
34
|
+
yearStart.setUTCHours(0, 0, 0, 0);
|
|
35
|
+
// Get the previous Monday if the 1st of April isn't a Monday
|
|
36
|
+
if (!(0, isMonday_1.default)(yearStart)) {
|
|
37
|
+
yearStart = (0, previousMonday_1.default)(yearStart);
|
|
38
|
+
}
|
|
39
|
+
// Get the next Sunday if the 31st of March isn't a Sunday
|
|
40
|
+
if (!(0, isSunday_1.default)(yearEnd)) {
|
|
41
|
+
yearEnd = (0, nextSunday_1.default)(yearEnd);
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
end: yearEnd,
|
|
45
|
+
start: yearStart,
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
exports.default = getFinancialYear;
|
|
@@ -0,0 +1,15 @@
|
|
|
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 getFinancialYear_1 = __importDefault(require("./getFinancialYear"));
|
|
7
|
+
var getToday_1 = __importDefault(require("./getToday"));
|
|
8
|
+
/**
|
|
9
|
+
* Return the current financial year up to today.
|
|
10
|
+
*/
|
|
11
|
+
var getFinancialYearToDate = function () { return ({
|
|
12
|
+
end: (0, getToday_1.default)(),
|
|
13
|
+
start: (0, getFinancialYear_1.default)({ year: undefined }).start,
|
|
14
|
+
}); };
|
|
15
|
+
exports.default = getFinancialYearToDate;
|
|
@@ -0,0 +1,26 @@
|
|
|
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 addDays_1 = __importDefault(require("date-fns/addDays"));
|
|
7
|
+
var eachWeekOfInterval_1 = __importDefault(require("date-fns/eachWeekOfInterval"));
|
|
8
|
+
var getFinancialYear_1 = __importDefault(require("./getFinancialYear"));
|
|
9
|
+
/**
|
|
10
|
+
* Get the current financial year.
|
|
11
|
+
*/
|
|
12
|
+
var getFinancialYearWeeks = function (_a) {
|
|
13
|
+
var year = _a.year;
|
|
14
|
+
var weeks = (0, eachWeekOfInterval_1.default)((0, getFinancialYear_1.default)({ year: year }), { weekStartsOn: 1 });
|
|
15
|
+
var response = weeks.map(function (week, index) {
|
|
16
|
+
var weekEnd = new Date(week.getTime());
|
|
17
|
+
return {
|
|
18
|
+
start: week,
|
|
19
|
+
end: (0, addDays_1.default)(weekEnd, 6),
|
|
20
|
+
financialWeek: (index + 1),
|
|
21
|
+
financialYear: year,
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
return response;
|
|
25
|
+
};
|
|
26
|
+
exports.default = getFinancialYearWeeks;
|
|
@@ -0,0 +1,16 @@
|
|
|
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 getMonday_1 = __importDefault(require("./getMonday"));
|
|
7
|
+
var getNumber_1 = __importDefault(require("./getNumber"));
|
|
8
|
+
var getSunday_1 = __importDefault(require("./getSunday"));
|
|
9
|
+
/**
|
|
10
|
+
* Return an object of start/end predefined date of Last Week.
|
|
11
|
+
*/
|
|
12
|
+
var getLastWeek = function () { return ({
|
|
13
|
+
end: (0, getNumber_1.default)({ input: (0, getSunday_1.default)({ weeksAgo: 0 }) }),
|
|
14
|
+
start: (0, getNumber_1.default)({ input: (0, getMonday_1.default)({ weeksAgo: 1 }) }),
|
|
15
|
+
}); };
|
|
16
|
+
exports.default = getLastWeek;
|
|
@@ -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 isAfter_1 = __importDefault(require("date-fns/isAfter"));
|
|
7
|
+
var getDate_1 = __importDefault(require("./getDate"));
|
|
8
|
+
var getYesterday_1 = __importDefault(require("./getYesterday"));
|
|
9
|
+
/**
|
|
10
|
+
* Return the maximum date (up to Yesterday) as a formatted string.
|
|
11
|
+
*/
|
|
12
|
+
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;
|
|
18
|
+
};
|
|
19
|
+
exports.default = getMax;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DateType } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Retrieve the closest last Monday relative to the input or today.
|
|
4
|
+
* 0 weeksAgo - Tuesday (10th), return Monday (8th)
|
|
5
|
+
* 1 weeksAgo - Tuesday (10th), return Monday (1st)
|
|
6
|
+
*/
|
|
7
|
+
declare const getMonday: ({ weeksAgo, input }: {
|
|
8
|
+
weeksAgo: number;
|
|
9
|
+
input?: DateType;
|
|
10
|
+
}) => Date;
|
|
11
|
+
export default getMonday;
|
|
@@ -0,0 +1,29 @@
|
|
|
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 getISODay_1 = __importDefault(require("date-fns/getISODay"));
|
|
7
|
+
var isMonday_1 = __importDefault(require("date-fns/isMonday"));
|
|
8
|
+
var subDays_1 = __importDefault(require("date-fns/subDays"));
|
|
9
|
+
var getDate_1 = __importDefault(require("./getDate"));
|
|
10
|
+
var getToday_1 = __importDefault(require("./getToday"));
|
|
11
|
+
/**
|
|
12
|
+
* Retrieve the closest last Monday relative to the input or today.
|
|
13
|
+
* 0 weeksAgo - Tuesday (10th), return Monday (8th)
|
|
14
|
+
* 1 weeksAgo - Tuesday (10th), return Monday (1st)
|
|
15
|
+
*/
|
|
16
|
+
var getMonday = function (_a) {
|
|
17
|
+
var weeksAgo = _a.weeksAgo, input = _a.input;
|
|
18
|
+
var date = input ? (0, getDate_1.default)({ input: input }) : (0, getToday_1.default)();
|
|
19
|
+
if (!(0, isMonday_1.default)(date)) {
|
|
20
|
+
// Get the ISO Day of week (Monday - 1 to Sunday - 7)
|
|
21
|
+
var isoDay = (0, getISODay_1.default)(date);
|
|
22
|
+
// Move back to Monday
|
|
23
|
+
date = (0, subDays_1.default)(date, isoDay - 1);
|
|
24
|
+
}
|
|
25
|
+
// Move it back a given number of weeks
|
|
26
|
+
date = (0, subDays_1.default)(date, 7 * weeksAgo);
|
|
27
|
+
return date;
|
|
28
|
+
};
|
|
29
|
+
exports.default = getMonday;
|
|
@@ -0,0 +1,16 @@
|
|
|
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 format_1 = __importDefault(require("date-fns/format"));
|
|
7
|
+
var getDate_1 = __importDefault(require("./getDate"));
|
|
8
|
+
/**
|
|
9
|
+
* Convert a (number | string | Date) into a YYYYMMDD number.
|
|
10
|
+
*/
|
|
11
|
+
var getNumber = function (_a) {
|
|
12
|
+
var input = _a.input;
|
|
13
|
+
var date = (0, getDate_1.default)({ input: input });
|
|
14
|
+
return Number((0, format_1.default)(date, 'yyyyMMdd'));
|
|
15
|
+
};
|
|
16
|
+
exports.default = getNumber;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TimeframePredefinedType, TimeframeType } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Check to see the date matches a predefined time frame
|
|
4
|
+
*/
|
|
5
|
+
declare const getPredefinedTimeframe: ({ timeframe }: {
|
|
6
|
+
timeframe: TimeframeType;
|
|
7
|
+
}) => TimeframePredefinedType;
|
|
8
|
+
export default getPredefinedTimeframe;
|
|
@@ -0,0 +1,25 @@
|
|
|
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 constants_1 = require("./constants");
|
|
7
|
+
var isLastWeek_1 = __importDefault(require("./isLastWeek"));
|
|
8
|
+
var isThisWeek_1 = __importDefault(require("./isThisWeek"));
|
|
9
|
+
/**
|
|
10
|
+
* Check to see the date matches a predefined time frame
|
|
11
|
+
*/
|
|
12
|
+
var getPredefinedTimeframe = function (_a) {
|
|
13
|
+
var timeframe = _a.timeframe;
|
|
14
|
+
var response = constants_1.TimeframePredefined.CUSTOM;
|
|
15
|
+
// If the selected date matches last week
|
|
16
|
+
if ((0, isLastWeek_1.default)(timeframe)) {
|
|
17
|
+
response = constants_1.TimeframePredefined.LAST_WEEK;
|
|
18
|
+
}
|
|
19
|
+
// If the selected date matches this week
|
|
20
|
+
else if ((0, isThisWeek_1.default)(timeframe)) {
|
|
21
|
+
response = constants_1.TimeframePredefined.THIS_WEEK;
|
|
22
|
+
}
|
|
23
|
+
return response;
|
|
24
|
+
};
|
|
25
|
+
exports.default = getPredefinedTimeframe;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DateType } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Retrieve the closest last Sunday relative to the input or today.
|
|
4
|
+
* 0 weeksAgo - Tuesday (17th), return Sunday (14th)
|
|
5
|
+
* 1 weeksAgo - Tuesday (17th), return Monday (7th)
|
|
6
|
+
*/
|
|
7
|
+
declare const getSunday: ({ weeksAgo, input }: {
|
|
8
|
+
weeksAgo: number;
|
|
9
|
+
input?: DateType;
|
|
10
|
+
}) => Date;
|
|
11
|
+
export default getSunday;
|
|
@@ -0,0 +1,29 @@
|
|
|
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 getISODay_1 = __importDefault(require("date-fns/getISODay"));
|
|
7
|
+
var isSunday_1 = __importDefault(require("date-fns/isSunday"));
|
|
8
|
+
var subDays_1 = __importDefault(require("date-fns/subDays"));
|
|
9
|
+
var getDate_1 = __importDefault(require("./getDate"));
|
|
10
|
+
var getToday_1 = __importDefault(require("./getToday"));
|
|
11
|
+
/**
|
|
12
|
+
* Retrieve the closest last Sunday relative to the input or today.
|
|
13
|
+
* 0 weeksAgo - Tuesday (17th), return Sunday (14th)
|
|
14
|
+
* 1 weeksAgo - Tuesday (17th), return Monday (7th)
|
|
15
|
+
*/
|
|
16
|
+
var getSunday = function (_a) {
|
|
17
|
+
var weeksAgo = _a.weeksAgo, input = _a.input;
|
|
18
|
+
var date = input ? (0, getDate_1.default)({ input: input }) : (0, getToday_1.default)();
|
|
19
|
+
if (!(0, isSunday_1.default)(date)) {
|
|
20
|
+
// Get the ISO Day of week (Monday - 1 to Sunday - 7)
|
|
21
|
+
var isoDay = (0, getISODay_1.default)(date);
|
|
22
|
+
// Move back to Monday
|
|
23
|
+
date = (0, subDays_1.default)(date, isoDay);
|
|
24
|
+
}
|
|
25
|
+
// Move it back a given number of weeks
|
|
26
|
+
date = (0, subDays_1.default)(date, 7 * weeksAgo);
|
|
27
|
+
return date;
|
|
28
|
+
};
|
|
29
|
+
exports.default = getSunday;
|
|
@@ -0,0 +1,16 @@
|
|
|
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 getMonday_1 = __importDefault(require("./getMonday"));
|
|
7
|
+
var getNumber_1 = __importDefault(require("./getNumber"));
|
|
8
|
+
var getSunday_1 = __importDefault(require("./getSunday"));
|
|
9
|
+
/**
|
|
10
|
+
* Return an object of start/end predefined date of This Week.
|
|
11
|
+
*/
|
|
12
|
+
var getThisWeek = function () { return ({
|
|
13
|
+
end: (0, getNumber_1.default)({ input: (0, getSunday_1.default)({ weeksAgo: -1 }) }),
|
|
14
|
+
start: (0, getNumber_1.default)({ input: (0, getMonday_1.default)({ weeksAgo: 0 }) }),
|
|
15
|
+
}); };
|
|
16
|
+
exports.default = getThisWeek;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Shortcut to get today's date.
|
|
5
|
+
* Set to 1am to prevent daylight savings causing issues
|
|
6
|
+
*/
|
|
7
|
+
var getToday = function () {
|
|
8
|
+
var today = new Date();
|
|
9
|
+
today.setUTCHours(0, 0, 0, 0);
|
|
10
|
+
return today;
|
|
11
|
+
};
|
|
12
|
+
exports.default = getToday;
|
|
@@ -0,0 +1,16 @@
|
|
|
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 getMonday_1 = __importDefault(require("./getMonday"));
|
|
7
|
+
var getNumber_1 = __importDefault(require("./getNumber"));
|
|
8
|
+
var getSunday_1 = __importDefault(require("./getSunday"));
|
|
9
|
+
/**
|
|
10
|
+
* Return an object of start/end predefined date of Two Weeks Ago.
|
|
11
|
+
*/
|
|
12
|
+
var getTwoWeeksAgo = function () { return ({
|
|
13
|
+
end: (0, getNumber_1.default)({ input: (0, getSunday_1.default)({ weeksAgo: 1 }) }),
|
|
14
|
+
start: (0, getNumber_1.default)({ input: (0, getMonday_1.default)({ weeksAgo: 2 }) }),
|
|
15
|
+
}); };
|
|
16
|
+
exports.default = getTwoWeeksAgo;
|
|
@@ -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 sub_1 = __importDefault(require("date-fns/sub"));
|
|
7
|
+
var getDate_1 = __importDefault(require("./getDate"));
|
|
8
|
+
var getNumber_1 = __importDefault(require("./getNumber"));
|
|
9
|
+
/**
|
|
10
|
+
* From a given input, move the date back X weeksAgo
|
|
11
|
+
*/
|
|
12
|
+
var getWeeksAgo = function (input, weeksAgo) {
|
|
13
|
+
if (weeksAgo === void 0) { weeksAgo = 0; }
|
|
14
|
+
var response = (0, sub_1.default)((0, getDate_1.default)({ input: input }), { weeks: weeksAgo });
|
|
15
|
+
return (0, getNumber_1.default)({ input: response });
|
|
16
|
+
};
|
|
17
|
+
exports.default = getWeeksAgo;
|
|
@@ -0,0 +1,12 @@
|
|
|
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 subDays_1 = __importDefault(require("date-fns/subDays"));
|
|
7
|
+
var getToday_1 = __importDefault(require("./getToday"));
|
|
8
|
+
/**
|
|
9
|
+
* Shortcut to get yesterday's date.
|
|
10
|
+
*/
|
|
11
|
+
var getYesterday = function () { return (0, subDays_1.default)((0, getToday_1.default)(), 1); };
|
|
12
|
+
exports.default = getYesterday;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Duration, DurationComparison, Timeframe, TimeframePredefined } from './constants';
|
|
2
|
+
import format from './format';
|
|
3
|
+
import getDate from './getDate';
|
|
4
|
+
import getDurationHours from './getDurationHours';
|
|
5
|
+
import getDurationMinutes from './getDurationMinutes';
|
|
6
|
+
import getFinancialYear from './getFinancialYear';
|
|
7
|
+
import getFinancialYearToDate from './getFinancialYearToDate';
|
|
8
|
+
import getLastWeek from './getLastWeek';
|
|
9
|
+
import getMax from './getMax';
|
|
10
|
+
import getMonday from './getMonday';
|
|
11
|
+
import getNumber from './getNumber';
|
|
12
|
+
import getPredefinedTimeframe from './getPredefinedTimeframe';
|
|
13
|
+
import getSunday from './getSunday';
|
|
14
|
+
import getThisWeek from './getThisWeek';
|
|
15
|
+
import getToday from './getToday';
|
|
16
|
+
import getTwoWeeksAgo from './getTwoWeeksAgo';
|
|
17
|
+
import getYesterday from './getYesterday';
|
|
18
|
+
import isDateValid from './isDateValid';
|
|
19
|
+
import isLastWeek from './isLastWeek';
|
|
20
|
+
import isThisWeek from './isThisWeek';
|
|
21
|
+
import parseExcelDate from './parseExcelDate';
|
|
22
|
+
import { DateType, FinancialYearType, FinancialYearWeekType, TimeframePredefinedType, TimeframeType } from './types';
|
|
23
|
+
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, };
|
|
@@ -0,0 +1,51 @@
|
|
|
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.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;
|
|
7
|
+
var constants_1 = require("./constants");
|
|
8
|
+
Object.defineProperty(exports, "Duration", { enumerable: true, get: function () { return constants_1.Duration; } });
|
|
9
|
+
Object.defineProperty(exports, "DurationComparison", { enumerable: true, get: function () { return constants_1.DurationComparison; } });
|
|
10
|
+
Object.defineProperty(exports, "Timeframe", { enumerable: true, get: function () { return constants_1.Timeframe; } });
|
|
11
|
+
Object.defineProperty(exports, "TimeframePredefined", { enumerable: true, get: function () { return constants_1.TimeframePredefined; } });
|
|
12
|
+
var format_1 = __importDefault(require("./format"));
|
|
13
|
+
exports.format = format_1.default;
|
|
14
|
+
var getDate_1 = __importDefault(require("./getDate"));
|
|
15
|
+
exports.getDate = getDate_1.default;
|
|
16
|
+
var getDurationHours_1 = __importDefault(require("./getDurationHours"));
|
|
17
|
+
exports.getDurationHours = getDurationHours_1.default;
|
|
18
|
+
var getDurationMinutes_1 = __importDefault(require("./getDurationMinutes"));
|
|
19
|
+
exports.getDurationMinutes = getDurationMinutes_1.default;
|
|
20
|
+
var getFinancialYear_1 = __importDefault(require("./getFinancialYear"));
|
|
21
|
+
exports.getFinancialYear = getFinancialYear_1.default;
|
|
22
|
+
var getFinancialYearToDate_1 = __importDefault(require("./getFinancialYearToDate"));
|
|
23
|
+
exports.getFinancialYearToDate = getFinancialYearToDate_1.default;
|
|
24
|
+
var getLastWeek_1 = __importDefault(require("./getLastWeek"));
|
|
25
|
+
exports.getLastWeek = getLastWeek_1.default;
|
|
26
|
+
var getMax_1 = __importDefault(require("./getMax"));
|
|
27
|
+
exports.getMax = getMax_1.default;
|
|
28
|
+
var getMonday_1 = __importDefault(require("./getMonday"));
|
|
29
|
+
exports.getMonday = getMonday_1.default;
|
|
30
|
+
var getNumber_1 = __importDefault(require("./getNumber"));
|
|
31
|
+
exports.getNumber = getNumber_1.default;
|
|
32
|
+
var getPredefinedTimeframe_1 = __importDefault(require("./getPredefinedTimeframe"));
|
|
33
|
+
exports.getPredefinedTimeframe = getPredefinedTimeframe_1.default;
|
|
34
|
+
var getSunday_1 = __importDefault(require("./getSunday"));
|
|
35
|
+
exports.getSunday = getSunday_1.default;
|
|
36
|
+
var getThisWeek_1 = __importDefault(require("./getThisWeek"));
|
|
37
|
+
exports.getThisWeek = getThisWeek_1.default;
|
|
38
|
+
var getToday_1 = __importDefault(require("./getToday"));
|
|
39
|
+
exports.getToday = getToday_1.default;
|
|
40
|
+
var getTwoWeeksAgo_1 = __importDefault(require("./getTwoWeeksAgo"));
|
|
41
|
+
exports.getTwoWeeksAgo = getTwoWeeksAgo_1.default;
|
|
42
|
+
var getYesterday_1 = __importDefault(require("./getYesterday"));
|
|
43
|
+
exports.getYesterday = getYesterday_1.default;
|
|
44
|
+
var isDateValid_1 = __importDefault(require("./isDateValid"));
|
|
45
|
+
exports.isDateValid = isDateValid_1.default;
|
|
46
|
+
var isLastWeek_1 = __importDefault(require("./isLastWeek"));
|
|
47
|
+
exports.isLastWeek = isLastWeek_1.default;
|
|
48
|
+
var isThisWeek_1 = __importDefault(require("./isThisWeek"));
|
|
49
|
+
exports.isThisWeek = isThisWeek_1.default;
|
|
50
|
+
var parseExcelDate_1 = __importDefault(require("./parseExcelDate"));
|
|
51
|
+
exports.parseExcelDate = parseExcelDate_1.default;
|
|
@@ -0,0 +1,24 @@
|
|
|
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 isValid_1 = __importDefault(require("date-fns/isValid"));
|
|
7
|
+
var parseISO_1 = __importDefault(require("date-fns/parseISO"));
|
|
8
|
+
/**
|
|
9
|
+
* Ensure the date string provided is in YYYY-MM-DD format and is a valid date.
|
|
10
|
+
*/
|
|
11
|
+
var isDateValid = function (_a) {
|
|
12
|
+
var input = _a.input;
|
|
13
|
+
var cleanInput = input.trim();
|
|
14
|
+
var parsedInput = (0, parseISO_1.default)(cleanInput);
|
|
15
|
+
if ((0, isValid_1.default)(parsedInput)) {
|
|
16
|
+
var matches = cleanInput.match(/^([0-9]{4}-[0-9]{2}-[0-9]{2})$/);
|
|
17
|
+
if (matches) {
|
|
18
|
+
return matches.length ? true : false;
|
|
19
|
+
}
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
return false;
|
|
23
|
+
};
|
|
24
|
+
exports.default = isDateValid;
|
|
@@ -0,0 +1,15 @@
|
|
|
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 getLastWeek_1 = __importDefault(require("./getLastWeek"));
|
|
7
|
+
/**
|
|
8
|
+
* Check to see if a given timeframe is Last Week.
|
|
9
|
+
*/
|
|
10
|
+
var isLastWeek = function (_a) {
|
|
11
|
+
var end = _a.end, start = _a.start;
|
|
12
|
+
var lastWeek = (0, getLastWeek_1.default)();
|
|
13
|
+
return start === lastWeek.start && end === lastWeek.end;
|
|
14
|
+
};
|
|
15
|
+
exports.default = isLastWeek;
|
|
@@ -0,0 +1,15 @@
|
|
|
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 getThisWeek_1 = __importDefault(require("./getThisWeek"));
|
|
7
|
+
/**
|
|
8
|
+
* Check to see if a given timeframe is Last Week.
|
|
9
|
+
*/
|
|
10
|
+
var isThisWeek = function (_a) {
|
|
11
|
+
var end = _a.end, start = _a.start;
|
|
12
|
+
var thisWeek = (0, getThisWeek_1.default)();
|
|
13
|
+
return start === thisWeek.start && end === thisWeek.end;
|
|
14
|
+
};
|
|
15
|
+
exports.default = isThisWeek;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert an excel date "e.g. 44216" into a JavaScript date object.
|
|
3
|
+
* https://stackoverflow.com/questions/16229494/converting-excel-date-serial-number-to-date-using-javascript
|
|
4
|
+
*/
|
|
5
|
+
declare const parseExcelDate: ({ serial }: {
|
|
6
|
+
serial: number;
|
|
7
|
+
}) => Date;
|
|
8
|
+
export default parseExcelDate;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Convert an excel date "e.g. 44216" into a JavaScript date object.
|
|
5
|
+
* https://stackoverflow.com/questions/16229494/converting-excel-date-serial-number-to-date-using-javascript
|
|
6
|
+
*/
|
|
7
|
+
var parseExcelDate = function (_a) {
|
|
8
|
+
var serial = _a.serial;
|
|
9
|
+
var utcDates = Math.floor(serial - 25569);
|
|
10
|
+
var utcValue = utcDates * 86400;
|
|
11
|
+
var dateInfo = new Date(utcValue * 1000);
|
|
12
|
+
var fractionalDay = serial - Math.floor(serial) + 0.0000001;
|
|
13
|
+
var totalSeconds = Math.floor(86400 * fractionalDay);
|
|
14
|
+
var seconds = totalSeconds % 60;
|
|
15
|
+
totalSeconds -= seconds;
|
|
16
|
+
var hours = Math.floor(totalSeconds / (60 * 60));
|
|
17
|
+
var minutes = Math.floor(totalSeconds / 60) % 60;
|
|
18
|
+
return new Date(dateInfo.getFullYear(), dateInfo.getMonth(), dateInfo.getDate(), hours, minutes, seconds);
|
|
19
|
+
};
|
|
20
|
+
exports.default = parseExcelDate;
|