Skip to content

Commit e9f0d81

Browse files
committed
Use momentjs to calculate time diff
1 parent e334b5d commit e9f0d81

File tree

3 files changed

+32
-45
lines changed

3 files changed

+32
-45
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,9 @@
4848
"@jupyterlab/application": "^3.0.6",
4949
"@jupyterlab/notebook": "^3.1.0-beta.1",
5050
"@jupyterlab/settingregistry": "^3.0.3",
51+
"@types/lru-cache": "^5.1.1",
5152
"lru-cache": "^6.0.0",
52-
"@types/lru-cache": "^5.1.1"
53+
"moment": "^2.29.1"
5354
},
5455
"devDependencies": {
5556
"@jupyterlab/builder": "^3.0.0",

src/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { Cell } from '@jupyterlab/cells';
77
import { ISettingRegistry } from '@jupyterlab/settingregistry';
88
import { ICodeCellModel } from '@jupyterlab/cells';
99
import LRU from 'lru-cache';
10+
import moment from 'moment';
1011
import { checkBrowserNotificationSettings } from './settings';
1112

1213
interface ICellExecutionMetadata {
@@ -70,10 +71,9 @@ function triggerNotification(
7071
const nonEmptyCell = cell.model.value.text.length > 0;
7172
if (codeCell && nonEmptyCell) {
7273
const codeCellModel = cell.model as ICodeCellModel;
73-
const diff = new Date(<any>endTime - <any>startTime);
74-
const diffSeconds = Math.floor(diff.getTime() / 1000);
74+
const cellDuration = moment.utc(moment(endTime).diff(startTime)).format("HH:mm:ss");
75+
const diffSeconds = moment.duration(cellDuration).asSeconds();
7576
if (diffSeconds >= minimumCellExecutionTime) {
76-
const cellDuration = diff.toISOString().substr(11, 8);
7777
const cellNumber =
7878
cellNumberType === 'cell_index'
7979
? cellIndex

yarn.lock

Lines changed: 27 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1565,15 +1565,15 @@
15651565
"fill-range" "^7.0.1"
15661566

15671567
"browserslist@^4.14.5":
1568-
"integrity" "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw=="
1569-
"resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz"
1570-
"version" "4.16.3"
1568+
"integrity" "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ=="
1569+
"resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz"
1570+
"version" "4.16.6"
15711571
dependencies:
1572-
"caniuse-lite" "^1.0.30001181"
1573-
"colorette" "^1.2.1"
1574-
"electron-to-chromium" "^1.3.649"
1572+
"caniuse-lite" "^1.0.30001219"
1573+
"colorette" "^1.2.2"
1574+
"electron-to-chromium" "^1.3.723"
15751575
"escalade" "^3.1.1"
1576-
"node-releases" "^1.1.70"
1576+
"node-releases" "^1.1.71"
15771577

15781578
"buffer-from@^1.0.0":
15791579
"integrity" "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
@@ -1642,10 +1642,10 @@
16421642
"resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz"
16431643
"version" "6.2.0"
16441644

1645-
"caniuse-lite@^1.0.30001181":
1646-
"integrity" "sha512-r5GGgESqOPZzwvdLVER374FpQu2WluCF1Z2DSiFJ89KSmGjT0LVKjgv4NcAqHmGWF9ihNpqRI9KXO9Ex4sKsgA=="
1647-
"resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001198.tgz"
1648-
"version" "1.0.30001198"
1645+
"caniuse-lite@^1.0.30001219":
1646+
"integrity" "sha512-NwlQbJkxUFJ8nMErnGtT0QTM2TJ33xgz4KXJSMIrjXIbDVdaYueGyjOrLKRtJC+rTiWfi6j5cnZN1NBiSBJGNw=="
1647+
"resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001248.tgz"
1648+
"version" "1.0.30001248"
16491649

16501650
"chalk@^2.0.0", "chalk@^2.3.0", "chalk@^2.4.1":
16511651
"integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="
@@ -2013,10 +2013,10 @@
20132013
"lodash" "^4.17.4"
20142014
"semver" "^5.4.1"
20152015

2016-
"electron-to-chromium@^1.3.649":
2017-
"integrity" "sha512-C3oFZNkJ8lz85ADqr3hzpjBc2ciejMRN2SCd/D0hwcqpr6MGxfdN/j89VN6l+ERTuCUvhg0VYsf40Q4qTz4bhQ=="
2018-
"resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.685.tgz"
2019-
"version" "1.3.685"
2016+
"electron-to-chromium@^1.3.723":
2017+
"integrity" "sha512-RM2O2xrNarM7Cs+XF/OE2qX/aBROyOZqqgP+8FXMXSuWuUqCfUUzg7NytQrzZU3aSqk1Qq6zqnVkJsbfMkIatg=="
2018+
"resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.792.tgz"
2019+
"version" "1.3.792"
20202020

20212021
"emoji-regex@^8.0.0":
20222022
"integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
@@ -2584,9 +2584,9 @@
25842584
"function-bind" "^1.1.1"
25852585

25862586
"hosted-git-info@^2.1.4":
2587-
"integrity" "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg=="
2588-
"resolved" "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz"
2589-
"version" "2.8.8"
2587+
"integrity" "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw=="
2588+
"resolved" "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz"
2589+
"version" "2.8.9"
25902590

25912591
"htmlparser2@^6.0.0":
25922592
"integrity" "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A=="
@@ -3240,7 +3240,7 @@
32403240
"resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz"
32413241
"version" "1.0.4"
32423242

3243-
"moment@^2.24.0":
3243+
"moment@^2.24.0", "moment@^2.29.1":
32443244
"integrity" "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ=="
32453245
"resolved" "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz"
32463246
"version" "2.29.1"
@@ -3255,11 +3255,6 @@
32553255
"resolved" "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz"
32563256
"version" "0.0.8"
32573257

3258-
"nanoid@^3.1.20":
3259-
"integrity" "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw=="
3260-
"resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz"
3261-
"version" "3.1.20"
3262-
32633258
"nanoid@^3.1.23":
32643259
"integrity" "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw=="
32653260
"resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz"
@@ -3295,7 +3290,7 @@
32953290
"resolved" "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.1.1.tgz"
32963291
"version" "4.1.1"
32973292

3298-
"node-releases@^1.1.70":
3293+
"node-releases@^1.1.71":
32993294
"integrity" "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg=="
33003295
"resolved" "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz"
33013296
"version" "1.1.71"
@@ -3311,9 +3306,9 @@
33113306
"validate-npm-package-license" "^3.0.1"
33123307

33133308
"normalize-url@^4.1.0":
3314-
"integrity" "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ=="
3315-
"resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz"
3316-
"version" "4.5.0"
3309+
"integrity" "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA=="
3310+
"resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz"
3311+
"version" "4.5.1"
33173312

33183313
"normalize.css@^8.0.1":
33193314
"integrity" "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg=="
@@ -3586,24 +3581,15 @@
35863581
"resolved" "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz"
35873582
"version" "4.1.0"
35883583

3589-
"postcss@^8.0.2":
3590-
"integrity" "sha512-NxTuJocUhYGsMiMFHDUkmjSKT3EdH4/WbGF6GCi1NDGk+vbcUTun4fpbOqaPtD8IIsztA2ilZm2DhYCuyN58gA=="
3591-
"resolved" "https://registry.npmjs.org/postcss/-/postcss-8.3.5.tgz"
3592-
"version" "8.3.5"
3584+
"postcss@^8.0.2", "postcss@^8.1.0", "postcss@^8.2.8":
3585+
"integrity" "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A=="
3586+
"resolved" "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz"
3587+
"version" "8.3.6"
35933588
dependencies:
35943589
"colorette" "^1.2.2"
35953590
"nanoid" "^3.1.23"
35963591
"source-map-js" "^0.6.2"
35973592

3598-
"postcss@^8.1.0", "postcss@^8.2.8":
3599-
"integrity" "sha512-1F0Xb2T21xET7oQV9eKuctbM9S7BC0fetoHCc4H13z0PT6haiRLP4T0ZY4XWh7iLP0usgqykT6p9B2RtOf4FPw=="
3600-
"resolved" "https://registry.npmjs.org/postcss/-/postcss-8.2.8.tgz"
3601-
"version" "8.2.8"
3602-
dependencies:
3603-
"colorette" "^1.2.2"
3604-
"nanoid" "^3.1.20"
3605-
"source-map" "^0.6.1"
3606-
36073593
"prelude-ls@^1.2.1":
36083594
"integrity" "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="
36093595
"resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz"

0 commit comments

Comments
 (0)