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.
@@ -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.mapAsync = 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.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.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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dce-commonkit",
3
- "version": "5.0.0",
3
+ "version": "5.0.2",
4
4
  "description": "Common helpers, constants, and other resources that are shared between dce-reactkit and dce-expresskit",
5
5
  "keywords": [
6
6
  "DCE",
@@ -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
  };