dce-commonkit 5.0.0 → 5.0.2
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/lib/helpers/getMondayOfWeek.d.ts +10 -0
- package/lib/helpers/getMondayOfWeek.js +39 -0
- package/lib/helpers/getMondayOfWeek.js.map +1 -0
- package/lib/helpers/spaceAtCapitals.d.ts +8 -0
- package/lib/helpers/spaceAtCapitals.js +13 -0
- package/lib/helpers/spaceAtCapitals.js.map +1 -0
- package/lib/index.d.ts +3 -1
- package/lib/index.js +6 -2
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
- package/src/helpers/getMondayOfWeek.ts +41 -0
- package/src/helpers/spaceAtCapitals.ts +11 -0
- package/src/index.ts +4 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get the start of the week (Monday) in string form given a specific timestamp.
|
|
3
|
+
* The format is MM/DD/YYYY.
|
|
4
|
+
* @author Allison Zhang
|
|
5
|
+
* @param timestamp the timestamp of a date within a week
|
|
6
|
+
* @returns string with format 'MM/DD/YYYY' of the Monday that starts the week
|
|
7
|
+
* that contains the timestamp
|
|
8
|
+
*/
|
|
9
|
+
declare const getMondayOfTimestamp: (timestamp: number) => string;
|
|
10
|
+
export default getMondayOfTimestamp;
|
|
@@ -0,0 +1,39 @@
|
|
|
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 getTimeInfoInET_1 = __importDefault(require("./getTimeInfoInET"));
|
|
7
|
+
/**
|
|
8
|
+
* Get the start of the week (Monday) in string form given a specific timestamp.
|
|
9
|
+
* The format is MM/DD/YYYY.
|
|
10
|
+
* @author Allison Zhang
|
|
11
|
+
* @param timestamp the timestamp of a date within a week
|
|
12
|
+
* @returns string with format 'MM/DD/YYYY' of the Monday that starts the week
|
|
13
|
+
* that contains the timestamp
|
|
14
|
+
*/
|
|
15
|
+
var getMondayOfTimestamp = function (timestamp) {
|
|
16
|
+
// Get the date in ET!
|
|
17
|
+
var _a = (0, getTimeInfoInET_1.default)(timestamp), month = _a.month, day = _a.day, year = _a.year;
|
|
18
|
+
var date = new Date("".concat(month, "/").concat(day, "/").concat(year));
|
|
19
|
+
var dayOfTheWeek = date.getDay();
|
|
20
|
+
// Get the offset to the previous Monday
|
|
21
|
+
// If the day of the week is Sunda, we want the offset to be the Monday of
|
|
22
|
+
// the previous week
|
|
23
|
+
var daysPastPrevMonday = 0;
|
|
24
|
+
if (dayOfTheWeek === 0) {
|
|
25
|
+
// Handle Sunday separately: Sunday is 6 days past Monday
|
|
26
|
+
daysPastPrevMonday = 6;
|
|
27
|
+
}
|
|
28
|
+
else if (dayOfTheWeek > 1) {
|
|
29
|
+
// Tuesday - Saturday: just subtract 1 from the day of the week
|
|
30
|
+
// (dayOfTheWeek: 1 = Monday, 2 = Tuesday)
|
|
31
|
+
daysPastPrevMonday = dayOfTheWeek - 1;
|
|
32
|
+
}
|
|
33
|
+
var dayOfTheMonth = date.getDate();
|
|
34
|
+
// Get the day of the month of the previous Monday
|
|
35
|
+
date.setDate(dayOfTheMonth - daysPastPrevMonday);
|
|
36
|
+
return "".concat(date.getMonth() + 1, "/").concat(date.getDate(), "/").concat(date.getFullYear());
|
|
37
|
+
};
|
|
38
|
+
exports.default = getMondayOfTimestamp;
|
|
39
|
+
//# sourceMappingURL=getMondayOfWeek.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMondayOfWeek.js","sourceRoot":"","sources":["../../src/helpers/getMondayOfWeek.ts"],"names":[],"mappings":";;;;;AAAA,sEAAgD;AAEhD;;;;;;;GAOG;AACH,IAAM,oBAAoB,GAAG,UAAC,SAAiB;IAC7C,sBAAsB;IAChB,IAAA,KAIF,IAAA,yBAAe,EAAC,SAAS,CAAC,EAH5B,KAAK,WAAA,EACL,GAAG,SAAA,EACH,IAAI,UACwB,CAAC;IAC/B,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAG,KAAK,cAAI,GAAG,cAAI,IAAI,CAAE,CAAC,CAAC;IAEjD,IAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IACnC,wCAAwC;IAExC,0EAA0E;IAC1E,oBAAoB;IACpB,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,yDAAyD;QACzD,kBAAkB,GAAG,CAAC,CAAC;IACzB,CAAC;SAAM,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QAC5B,+DAA+D;QAC/D,0CAA0C;QAC1C,kBAAkB,GAAG,YAAY,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,IAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IACrC,kDAAkD;IAClD,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,kBAAkB,CAAC,CAAC;IACjD,OAAO,UAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,cAAI,IAAI,CAAC,OAAO,EAAE,cAAI,IAAI,CAAC,WAAW,EAAE,CAAE,CAAC;AAC1E,CAAC,CAAC;AAEF,kBAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Insert spaces before capital letters in a string.
|
|
3
|
+
* @author Gabe Abrams
|
|
4
|
+
* @param str - The string to insert spaces into
|
|
5
|
+
* @returns The string with spaces before capital letters
|
|
6
|
+
*/
|
|
7
|
+
declare const spaceAtCapitals: (str: string) => string;
|
|
8
|
+
export default spaceAtCapitals;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Insert spaces before capital letters in a string.
|
|
5
|
+
* @author Gabe Abrams
|
|
6
|
+
* @param str - The string to insert spaces into
|
|
7
|
+
* @returns The string with spaces before capital letters
|
|
8
|
+
*/
|
|
9
|
+
var spaceAtCapitals = function (str) {
|
|
10
|
+
return str.replace(/([A-Z])/g, ' $1').trim();
|
|
11
|
+
};
|
|
12
|
+
exports.default = spaceAtCapitals;
|
|
13
|
+
//# sourceMappingURL=spaceAtCapitals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spaceAtCapitals.js","sourceRoot":"","sources":["../../src/helpers/spaceAtCapitals.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,IAAM,eAAe,GAAG,UAAC,GAAW;IAClC,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/C,CAAC,CAAC;AAEF,kBAAe,eAAe,CAAC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ import getPartOfDay from './helpers/getPartOfDay';
|
|
|
25
25
|
import stringsToHumanReadableList from './helpers/stringsToHumanReadableList';
|
|
26
26
|
import onlyKeepLetters from './helpers/onlyKeepLetters';
|
|
27
27
|
import parallelLimit from './helpers/parallelLimit';
|
|
28
|
+
import getMondayOfTimestamp from './helpers/getMondayOfWeek';
|
|
28
29
|
import getMonthName from './helpers/getMonthName';
|
|
29
30
|
import genCSV from './helpers/genCSV';
|
|
30
31
|
import extractProp from './helpers/extractProp';
|
|
@@ -46,6 +47,7 @@ import shuffleArray from './helpers/shuffleArray';
|
|
|
46
47
|
import getWordCount from './helpers/getWordCount';
|
|
47
48
|
import cloneDeep from './helpers/cloneDeep';
|
|
48
49
|
import getTimestampFromTimeInfoInET from './helpers/getTimestampFromTimeInfoInET';
|
|
50
|
+
import spaceAtCapitals from './helpers/spaceAtCapitals';
|
|
49
51
|
import ParamType from './types/ParamType';
|
|
50
52
|
import DayOfWeek from './types/DayOfWeek';
|
|
51
53
|
import Log from './types/Log';
|
|
@@ -68,4 +70,4 @@ import ContextFilterState from './types/LogReviewerFilterState/ContextFilterStat
|
|
|
68
70
|
import TagFilterState from './types/LogReviewerFilterState/TagFilterState';
|
|
69
71
|
import ActionErrorFilterState from './types/LogReviewerFilterState/ActionErrorFilterState';
|
|
70
72
|
import AdvancedFilterState from './types/LogReviewerFilterState/AdvancedFilterState';
|
|
71
|
-
export { ErrorWithCode, MINUTE_IN_MS, HOUR_IN_MS, DAY_IN_MS, LOG_REVIEW_ROUTE_PATH_PREFIX, LOG_ROUTE_PATH, LOG_REVIEW_STATUS_ROUTE, LOG_REVIEW_GET_LOGS_ROUTE, SELECT_ADMIN_CHECK_ROUTE, CommonKitErrorCode, ParamType, DayOfWeek, Log, LogType, LogSource, LogAction, LogBuiltInMetadata, LogMetadataType, LogFunction, LogTypeSpecificInfo, LogMainInfo, LogSourceSpecificInfo, LogLevel, LogMetadataContextMap, LogMetadataTargetMap, LogReviewerFilterState, DateFilterState, ContextFilterState, TagFilterState, ActionErrorFilterState, AdvancedFilterState, abbreviate, avg, ceilToNumDecimals, floorToNumDecimals, forceNumIntoBounds, padDecimalZeros, padZerosLeft, roundToNumDecimals, sum, waitMs, getOrdinal, getTimeInfoInET, startMinWait, getHumanReadableDate, getPartOfDay, stringsToHumanReadableList, onlyKeepLetters, parallelLimit, getMonthName, genCSV, extractProp, compareArraysByProp, genCommaList, validateEmail, validatePhoneNumber, validateString, getLocalTimeInfo, idify, prefixWithAOrAn, everyAsync, filterAsync, forEachAsync, mapAsync, someAsync, capitalize, shuffleArray, getWordCount, cloneDeep, getTimestampFromTimeInfoInET, };
|
|
73
|
+
export { ErrorWithCode, MINUTE_IN_MS, HOUR_IN_MS, DAY_IN_MS, LOG_REVIEW_ROUTE_PATH_PREFIX, LOG_ROUTE_PATH, LOG_REVIEW_STATUS_ROUTE, LOG_REVIEW_GET_LOGS_ROUTE, SELECT_ADMIN_CHECK_ROUTE, CommonKitErrorCode, ParamType, DayOfWeek, Log, LogType, LogSource, LogAction, LogBuiltInMetadata, LogMetadataType, LogFunction, LogTypeSpecificInfo, LogMainInfo, LogSourceSpecificInfo, LogLevel, LogMetadataContextMap, LogMetadataTargetMap, LogReviewerFilterState, DateFilterState, ContextFilterState, TagFilterState, ActionErrorFilterState, AdvancedFilterState, abbreviate, avg, ceilToNumDecimals, floorToNumDecimals, forceNumIntoBounds, padDecimalZeros, padZerosLeft, roundToNumDecimals, sum, waitMs, getOrdinal, getTimeInfoInET, startMinWait, getHumanReadableDate, getPartOfDay, stringsToHumanReadableList, onlyKeepLetters, parallelLimit, getMondayOfTimestamp, getMonthName, genCSV, extractProp, compareArraysByProp, genCommaList, validateEmail, validatePhoneNumber, validateString, getLocalTimeInfo, idify, prefixWithAOrAn, everyAsync, filterAsync, forEachAsync, mapAsync, someAsync, capitalize, shuffleArray, getWordCount, cloneDeep, getTimestampFromTimeInfoInET, spaceAtCapitals, };
|
package/lib/index.js
CHANGED
|
@@ -3,8 +3,8 @@ 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.
|
|
7
|
-
exports.getTimestampFromTimeInfoInET = exports.cloneDeep = exports.getWordCount = exports.shuffleArray = exports.capitalize = exports.someAsync = void 0;
|
|
6
|
+
exports.forEachAsync = exports.filterAsync = exports.everyAsync = exports.prefixWithAOrAn = exports.idify = exports.getLocalTimeInfo = exports.validateString = exports.validatePhoneNumber = exports.validateEmail = exports.genCommaList = exports.compareArraysByProp = exports.extractProp = exports.genCSV = exports.getMonthName = exports.getMondayOfTimestamp = exports.parallelLimit = exports.onlyKeepLetters = exports.stringsToHumanReadableList = exports.getPartOfDay = exports.getHumanReadableDate = exports.startMinWait = exports.getTimeInfoInET = exports.getOrdinal = exports.waitMs = exports.sum = exports.roundToNumDecimals = exports.padZerosLeft = exports.padDecimalZeros = exports.forceNumIntoBounds = exports.floorToNumDecimals = exports.ceilToNumDecimals = exports.avg = exports.abbreviate = exports.LogLevel = exports.LogBuiltInMetadata = exports.LogAction = exports.LogSource = exports.LogType = exports.DayOfWeek = exports.ParamType = exports.CommonKitErrorCode = exports.SELECT_ADMIN_CHECK_ROUTE = exports.LOG_REVIEW_GET_LOGS_ROUTE = exports.LOG_REVIEW_STATUS_ROUTE = exports.LOG_ROUTE_PATH = exports.LOG_REVIEW_ROUTE_PATH_PREFIX = exports.DAY_IN_MS = exports.HOUR_IN_MS = exports.MINUTE_IN_MS = exports.ErrorWithCode = void 0;
|
|
7
|
+
exports.spaceAtCapitals = exports.getTimestampFromTimeInfoInET = exports.cloneDeep = exports.getWordCount = exports.shuffleArray = exports.capitalize = exports.someAsync = exports.mapAsync = void 0;
|
|
8
8
|
// Import errors
|
|
9
9
|
var ErrorWithCode_1 = __importDefault(require("./errors/ErrorWithCode"));
|
|
10
10
|
exports.ErrorWithCode = ErrorWithCode_1.default;
|
|
@@ -62,6 +62,8 @@ var onlyKeepLetters_1 = __importDefault(require("./helpers/onlyKeepLetters"));
|
|
|
62
62
|
exports.onlyKeepLetters = onlyKeepLetters_1.default;
|
|
63
63
|
var parallelLimit_1 = __importDefault(require("./helpers/parallelLimit"));
|
|
64
64
|
exports.parallelLimit = parallelLimit_1.default;
|
|
65
|
+
var getMondayOfWeek_1 = __importDefault(require("./helpers/getMondayOfWeek"));
|
|
66
|
+
exports.getMondayOfTimestamp = getMondayOfWeek_1.default;
|
|
65
67
|
var getMonthName_1 = __importDefault(require("./helpers/getMonthName"));
|
|
66
68
|
exports.getMonthName = getMonthName_1.default;
|
|
67
69
|
var genCSV_1 = __importDefault(require("./helpers/genCSV"));
|
|
@@ -104,6 +106,8 @@ var cloneDeep_1 = __importDefault(require("./helpers/cloneDeep"));
|
|
|
104
106
|
exports.cloneDeep = cloneDeep_1.default;
|
|
105
107
|
var getTimestampFromTimeInfoInET_1 = __importDefault(require("./helpers/getTimestampFromTimeInfoInET"));
|
|
106
108
|
exports.getTimestampFromTimeInfoInET = getTimestampFromTimeInfoInET_1.default;
|
|
109
|
+
var spaceAtCapitals_1 = __importDefault(require("./helpers/spaceAtCapitals"));
|
|
110
|
+
exports.spaceAtCapitals = spaceAtCapitals_1.default;
|
|
107
111
|
// Import types
|
|
108
112
|
var ParamType_1 = __importDefault(require("./types/ParamType"));
|
|
109
113
|
exports.ParamType = ParamType_1.default;
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;AAAA,gBAAgB;AAChB,yEAAmD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import getTimeInfoInET from './getTimeInfoInET';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Get the start of the week (Monday) in string form given a specific timestamp.
|
|
5
|
+
* The format is MM/DD/YYYY.
|
|
6
|
+
* @author Allison Zhang
|
|
7
|
+
* @param timestamp the timestamp of a date within a week
|
|
8
|
+
* @returns string with format 'MM/DD/YYYY' of the Monday that starts the week
|
|
9
|
+
* that contains the timestamp
|
|
10
|
+
*/
|
|
11
|
+
const getMondayOfTimestamp = (timestamp: number): string => {
|
|
12
|
+
// Get the date in ET!
|
|
13
|
+
const {
|
|
14
|
+
month,
|
|
15
|
+
day,
|
|
16
|
+
year,
|
|
17
|
+
} = getTimeInfoInET(timestamp);
|
|
18
|
+
const date = new Date(`${month}/${day}/${year}`);
|
|
19
|
+
|
|
20
|
+
const dayOfTheWeek = date.getDay();
|
|
21
|
+
// Get the offset to the previous Monday
|
|
22
|
+
|
|
23
|
+
// If the day of the week is Sunda, we want the offset to be the Monday of
|
|
24
|
+
// the previous week
|
|
25
|
+
let daysPastPrevMonday = 0;
|
|
26
|
+
if (dayOfTheWeek === 0) {
|
|
27
|
+
// Handle Sunday separately: Sunday is 6 days past Monday
|
|
28
|
+
daysPastPrevMonday = 6;
|
|
29
|
+
} else if (dayOfTheWeek > 1) {
|
|
30
|
+
// Tuesday - Saturday: just subtract 1 from the day of the week
|
|
31
|
+
// (dayOfTheWeek: 1 = Monday, 2 = Tuesday)
|
|
32
|
+
daysPastPrevMonday = dayOfTheWeek - 1;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const dayOfTheMonth = date.getDate();
|
|
36
|
+
// Get the day of the month of the previous Monday
|
|
37
|
+
date.setDate(dayOfTheMonth - daysPastPrevMonday);
|
|
38
|
+
return `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()}`;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export default getMondayOfTimestamp;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Insert spaces before capital letters in a string.
|
|
3
|
+
* @author Gabe Abrams
|
|
4
|
+
* @param str - The string to insert spaces into
|
|
5
|
+
* @returns The string with spaces before capital letters
|
|
6
|
+
*/
|
|
7
|
+
const spaceAtCapitals = (str: string): string => {
|
|
8
|
+
return str.replace(/([A-Z])/g, ' $1').trim();
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export default spaceAtCapitals;
|
package/src/index.ts
CHANGED
|
@@ -30,6 +30,7 @@ import getPartOfDay from './helpers/getPartOfDay';
|
|
|
30
30
|
import stringsToHumanReadableList from './helpers/stringsToHumanReadableList';
|
|
31
31
|
import onlyKeepLetters from './helpers/onlyKeepLetters';
|
|
32
32
|
import parallelLimit from './helpers/parallelLimit';
|
|
33
|
+
import getMondayOfTimestamp from './helpers/getMondayOfWeek';
|
|
33
34
|
import getMonthName from './helpers/getMonthName';
|
|
34
35
|
import genCSV from './helpers/genCSV';
|
|
35
36
|
import extractProp from './helpers/extractProp';
|
|
@@ -51,6 +52,7 @@ import shuffleArray from './helpers/shuffleArray';
|
|
|
51
52
|
import getWordCount from './helpers/getWordCount';
|
|
52
53
|
import cloneDeep from './helpers/cloneDeep';
|
|
53
54
|
import getTimestampFromTimeInfoInET from './helpers/getTimestampFromTimeInfoInET';
|
|
55
|
+
import spaceAtCapitals from './helpers/spaceAtCapitals';
|
|
54
56
|
|
|
55
57
|
// Import types
|
|
56
58
|
import ParamType from './types/ParamType';
|
|
@@ -131,6 +133,7 @@ export {
|
|
|
131
133
|
stringsToHumanReadableList,
|
|
132
134
|
onlyKeepLetters,
|
|
133
135
|
parallelLimit,
|
|
136
|
+
getMondayOfTimestamp,
|
|
134
137
|
getMonthName,
|
|
135
138
|
genCSV,
|
|
136
139
|
extractProp,
|
|
@@ -152,4 +155,5 @@ export {
|
|
|
152
155
|
getWordCount,
|
|
153
156
|
cloneDeep,
|
|
154
157
|
getTimestampFromTimeInfoInET,
|
|
158
|
+
spaceAtCapitals,
|
|
155
159
|
};
|