@mjhls/mjh-framework 1.0.859-beta.4 → 1.0.859-d4d-374
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/README.md +168 -168
- package/dist/cjs/AD.js +10 -9
- package/dist/cjs/AD300x250.js +10 -9
- package/dist/cjs/AD300x250x600.js +10 -9
- package/dist/cjs/AD728x90.js +11 -10
- package/dist/cjs/ADFloatingFooter.js +12 -11
- package/dist/cjs/ADFooter.js +9 -8
- package/dist/cjs/ADGutter.js +12 -11
- package/dist/cjs/{ADInfeed-98c71bcd.js → ADInfeed-799275aa.js} +11 -9
- package/dist/cjs/ADSkyscraper.js +12 -11
- package/dist/cjs/ADSponsoredResources.js +12 -11
- package/dist/cjs/ADWebcast.js +12 -11
- package/dist/cjs/ADWelcome.js +16 -15
- package/dist/cjs/{ADlgInfeed-9de32585.js → ADlgInfeed-591d014e.js} +7 -6
- package/dist/cjs/AccordionPanel.js +24 -22
- package/dist/cjs/AdSlot.js +14 -13
- package/dist/cjs/AdSlotsProvider.js +11 -902
- package/dist/cjs/AlgoliaSearch.js +971 -843
- package/dist/cjs/AlphabeticList.js +16 -15
- package/dist/cjs/ArticleCarousel.js +11 -10
- package/dist/cjs/ArticleProgramLandingPage.js +28 -27
- package/dist/cjs/ArticleSeriesLandingPage.js +23 -22
- package/dist/cjs/ArticleSeriesListing.js +40 -39
- package/dist/cjs/Auth.js +197 -1192
- package/dist/cjs/AuthWrapper.js +301 -259
- package/dist/cjs/{AuthorComponent-bb831b74.js → AuthorComponent-ac8972ce.js} +13 -12
- package/dist/cjs/{BlockContent-091a991f.js → BlockContent-8b494587.js} +25 -24
- package/dist/cjs/Breadcrumbs.js +23 -21
- package/dist/cjs/CMEDeck.js +64 -64
- package/dist/cjs/Column1.js +14 -11
- package/dist/cjs/Column2.js +22 -19
- package/dist/cjs/Column3.js +35 -32
- package/dist/cjs/ConferenceArticleCard.js +33 -32
- package/dist/cjs/ConferenceBanner-6c9e718a.js +24 -0
- package/dist/cjs/DeckContent.js +84 -80
- package/dist/cjs/DeckQueue.js +72 -68
- package/dist/cjs/{Dfp-26baccf1.js → Dfp-391fd124.js} +23 -22
- package/dist/cjs/EventsDeck.js +140 -133
- package/dist/cjs/ExternalResources.js +47 -46
- package/dist/cjs/Feature.js +25 -23
- package/dist/cjs/ForbesHero.js +35 -34
- package/dist/cjs/GridContent.js +208 -203
- package/dist/cjs/GridHero.js +36 -35
- package/dist/cjs/GroupDeck.js +49 -48
- package/dist/cjs/HamMagazine.js +130 -125
- package/dist/cjs/Header.js +14 -12
- package/dist/cjs/Hero.js +10 -9
- package/dist/cjs/HighlightenVideo.js +17 -16
- package/dist/cjs/HorizontalArticleListing.js +37 -36
- package/dist/cjs/HorizontalHero.js +24 -23
- package/dist/cjs/IssueContentDeck.js +70 -65
- package/dist/cjs/IssueDeck.js +65 -60
- package/dist/cjs/IssueLanding.js +58 -57
- package/dist/cjs/KMTracker.js +15 -15
- package/dist/cjs/LeftNav.js +22 -20
- package/dist/cjs/MasterDeck.js +58 -57
- package/dist/cjs/MediaSeriesLanding.js +843 -852
- package/dist/cjs/NavDvm.js +68 -63
- package/dist/cjs/{NavFooter-76c913e3.js → NavFooter-3dcd99a8.js} +15 -14
- package/dist/cjs/NavMagazine.js +131 -126
- package/dist/cjs/NavNative.js +125 -117
- package/dist/cjs/OncliveHero.js +17 -17
- package/dist/cjs/OncliveLargeHero.js +64 -63
- package/dist/cjs/PageFilter.js +9 -8
- package/dist/cjs/PartnerDetailListing.js +131 -3950
- package/dist/cjs/PdfDownload.js +9 -8
- package/dist/cjs/PopUpModal.js +15 -13
- package/dist/cjs/PubSection.js +20 -19
- package/dist/cjs/PubToc.js +8 -7
- package/dist/cjs/PublicationDeck.js +64 -59
- package/dist/cjs/PublicationLanding.js +113 -109
- package/dist/cjs/QueueDeckExpanded.js +285 -285
- package/dist/cjs/RecentNews.js +20 -19
- package/dist/cjs/RelatedContent.js +51 -50
- package/dist/cjs/RelatedTopicsDropdown.js +32 -29
- package/dist/cjs/RolesDeck.js +32 -27
- package/dist/cjs/Search.js +16 -12
- package/dist/cjs/SeriesListingDeck.js +26 -26
- package/dist/cjs/{SeriesSlider-8bbc989f.js → SeriesSlider-d38767ae.js} +38 -37
- package/dist/cjs/SideFooter.js +26 -25
- package/dist/cjs/SocialIcons.js +10 -9
- package/dist/cjs/{SocialSearchComponent-cea213aa.js → SocialSearchComponent-9a9d6f8c.js} +38 -34
- package/dist/cjs/SocialShare.js +31 -29
- package/dist/cjs/TaxonomyCard.js +59 -54
- package/dist/cjs/TaxonomyDescription.js +22 -21
- package/dist/cjs/TemplateNormal.js +35 -34
- package/dist/cjs/ThumbnailCard.js +19 -17
- package/dist/cjs/Ustream.js +22 -21
- package/dist/cjs/VerticalHero.js +16 -15
- package/dist/cjs/VideoProgramLandingPage.js +47 -43
- package/dist/cjs/VideoSeriesCard.js +24 -23
- package/dist/cjs/VideoSeriesFilter.js +9 -9
- package/dist/cjs/VideoSeriesLandingPage.js +28 -27
- package/dist/cjs/VideoSeriesListing.js +57 -56
- package/dist/cjs/View.js +205 -201
- package/dist/cjs/YahooHero.js +31 -30
- package/dist/cjs/YoutubeGroup.js +55 -54
- package/dist/cjs/{brightcove-react-player-loader.es-156bd4d6.js → brightcove-react-player-loader.es-4ba0d3d5.js} +6 -5
- package/dist/cjs/faundadb.js +16 -16
- package/dist/cjs/getRelatedArticle.js +6 -6
- package/dist/cjs/getRootDocGroup.js +3 -3
- package/dist/cjs/getSerializers.js +11 -11
- package/dist/cjs/{getTargeting-f1821260.js → getTargeting-21103688.js} +11 -11
- package/dist/cjs/getTargeting.js +1 -1
- package/dist/cjs/iconBase-68959171.js +0 -3
- package/dist/cjs/{index-d79b659e.js → index-07e2d5de.js} +960 -934
- package/dist/cjs/{index-98e01cb9.js → index-2cf30c83.js} +9 -8
- package/dist/cjs/{index-3294d3bc.js → index-5be2866f.js} +1 -1
- package/dist/cjs/{index-96b3db50.js → index-9d365128.js} +12 -10
- package/dist/cjs/{index-be0c82be.js → index-b5eb3ff8.js} +20 -19
- package/dist/cjs/{index-e2e62963.js → index-f0677b9d.js} +10 -0
- package/dist/cjs/{index.es-9110add6.js → index.es-13533f24.js} +11 -8
- package/dist/cjs/{index.esm-ff47db6f.js → index.esm-05850a2f.js} +5 -12
- package/dist/cjs/{index.esm-4d410430.js → index.esm-3ffa049c.js} +20 -20
- package/dist/cjs/{index.esm-e32d3e8e.js → index.esm-44f3e2d0.js} +3 -6
- package/dist/cjs/{index.esm-90433435.js → index.esm-974f47d9.js} +6 -15
- package/dist/cjs/index.js +64 -59
- package/dist/cjs/{inherits-1f5a1c72.js → inherits-0c7830c5.js} +3 -3
- package/dist/cjs/{lodash-fc2922d0.js → lodash-7fd85bcf.js} +71 -22
- package/dist/cjs/{main-02daeefe.js → main-11ec04d2.js} +85 -53
- package/dist/cjs/{md5-5039b1a6.js → md5-e1ca5797.js} +1 -1
- package/dist/cjs/{moment-575fe24c.js → moment-66a6a284.js} +1 -1
- package/dist/cjs/{react-social-icons-f7f48f71.js → react-social-icons-07939b41.js} +12 -11
- package/dist/cjs/timeDifferenceCalc.js +1 -1
- package/dist/cjs/{typeof-725500bc.js → typeof-9d7f610f.js} +1 -1
- package/dist/cjs/urlFor.js +3 -3
- package/dist/cjs/{visibility-sensor-ad5e3116.js → visibility-sensor-eb2c5b69.js} +7 -5
- package/dist/esm/AD.js +7 -7
- package/dist/esm/AD300x250.js +7 -7
- package/dist/esm/AD300x250x600.js +7 -7
- package/dist/esm/AD728x90.js +8 -8
- package/dist/esm/ADFloatingFooter.js +9 -9
- package/dist/esm/ADFooter.js +6 -6
- package/dist/esm/ADGutter.js +9 -9
- package/dist/esm/{ADInfeed-1cc9d817.js → ADInfeed-4b8902ae.js} +7 -7
- package/dist/esm/ADSkyscraper.js +9 -9
- package/dist/esm/ADSponsoredResources.js +9 -9
- package/dist/esm/ADWebcast.js +9 -9
- package/dist/esm/ADWelcome.js +13 -13
- package/dist/esm/{ADlgInfeed-8c4f129e.js → ADlgInfeed-5193b48f.js} +4 -4
- package/dist/esm/AccordionPanel.js +17 -17
- package/dist/esm/AdSlot.js +5 -5
- package/dist/esm/AdSlotsProvider.js +10 -902
- package/dist/esm/AlgoliaSearch.js +369 -242
- package/dist/esm/AlphabeticList.js +13 -13
- package/dist/esm/ArticleCarousel.js +8 -8
- package/dist/esm/ArticleProgramLandingPage.js +20 -20
- package/dist/esm/ArticleSeriesLandingPage.js +17 -17
- package/dist/esm/ArticleSeriesListing.js +36 -36
- package/dist/esm/Auth.js +175 -1174
- package/dist/esm/AuthWrapper.js +298 -257
- package/dist/esm/{AuthorComponent-34b16174.js → AuthorComponent-8ffd4679.js} +10 -10
- package/dist/esm/{BlockContent-e9b4ddcf.js → BlockContent-d05b5b23.js} +4 -4
- package/dist/esm/Breadcrumbs.js +11 -11
- package/dist/esm/CMEDeck.js +61 -61
- package/dist/esm/Column1.js +9 -9
- package/dist/esm/Column2.js +17 -17
- package/dist/esm/Column3.js +30 -30
- package/dist/esm/ConferenceArticleCard.js +30 -30
- package/dist/esm/{ConferenceBanner-8792ebd2.js → ConferenceBanner-9162d0ca.js} +4 -4
- package/dist/esm/DeckContent.js +76 -76
- package/dist/esm/DeckQueue.js +64 -64
- package/dist/esm/{Dfp-b7236041.js → Dfp-2f9796e1.js} +10 -10
- package/dist/esm/EventsDeck.js +109 -109
- package/dist/esm/ExternalResources.js +41 -41
- package/dist/esm/Feature.js +17 -17
- package/dist/esm/ForbesHero.js +28 -28
- package/dist/esm/GridContent.js +172 -172
- package/dist/esm/GridHero.js +29 -29
- package/dist/esm/GroupDeck.js +36 -36
- package/dist/esm/HamMagazine.js +100 -100
- package/dist/esm/Header.js +8 -8
- package/dist/esm/Hero.js +7 -7
- package/dist/esm/HighlightenVideo.js +14 -14
- package/dist/esm/HorizontalArticleListing.js +34 -34
- package/dist/esm/HorizontalHero.js +21 -21
- package/dist/esm/IssueContentDeck.js +53 -53
- package/dist/esm/IssueDeck.js +54 -54
- package/dist/esm/IssueLanding.js +55 -55
- package/dist/esm/KMTracker.js +15 -15
- package/dist/esm/LeftNav.js +16 -16
- package/dist/esm/MasterDeck.js +54 -54
- package/dist/esm/MediaSeriesLanding.js +560 -572
- package/dist/esm/NavDvm.js +46 -46
- package/dist/esm/{NavFooter-e27bd93b.js → NavFooter-c29526b7.js} +12 -12
- package/dist/esm/NavMagazine.js +103 -103
- package/dist/esm/NavNative.js +92 -92
- package/dist/esm/OncliveHero.js +14 -15
- package/dist/esm/OncliveLargeHero.js +52 -52
- package/dist/esm/PageFilter.js +6 -6
- package/dist/esm/PartnerDetailListing.js +76 -3895
- package/dist/esm/PdfDownload.js +6 -6
- package/dist/esm/PopUpModal.js +8 -8
- package/dist/esm/PubSection.js +17 -17
- package/dist/esm/PubToc.js +5 -5
- package/dist/esm/PublicationDeck.js +51 -51
- package/dist/esm/PublicationLanding.js +95 -95
- package/dist/esm/QueueDeckExpanded.js +251 -251
- package/dist/esm/RecentNews.js +17 -17
- package/dist/esm/RelatedContent.js +45 -45
- package/dist/esm/RelatedTopicsDropdown.js +21 -21
- package/dist/esm/RolesDeck.js +25 -25
- package/dist/esm/Search.js +7 -7
- package/dist/esm/SeriesListingDeck.js +20 -20
- package/dist/esm/{SeriesSlider-a866bb21.js → SeriesSlider-b8cc1baa.js} +28 -28
- package/dist/esm/SideFooter.js +21 -21
- package/dist/esm/SocialIcons.js +7 -7
- package/dist/esm/{SocialSearchComponent-03c3e869.js → SocialSearchComponent-c54d43cb.js} +28 -28
- package/dist/esm/SocialShare.js +25 -25
- package/dist/esm/TaxonomyCard.js +50 -50
- package/dist/esm/TaxonomyDescription.js +16 -16
- package/dist/esm/TemplateNormal.js +31 -31
- package/dist/esm/ThumbnailCard.js +10 -10
- package/dist/esm/Ustream.js +18 -18
- package/dist/esm/VerticalHero.js +13 -13
- package/dist/esm/VideoProgramLandingPage.js +32 -32
- package/dist/esm/VideoSeriesCard.js +18 -18
- package/dist/esm/VideoSeriesFilter.js +6 -6
- package/dist/esm/VideoSeriesLandingPage.js +17 -17
- package/dist/esm/VideoSeriesListing.js +53 -53
- package/dist/esm/View.js +183 -183
- package/dist/esm/YahooHero.js +25 -25
- package/dist/esm/YoutubeGroup.js +39 -39
- package/dist/esm/{brightcove-react-player-loader.es-83f53e4e.js → brightcove-react-player-loader.es-e1c6b0f2.js} +3 -3
- package/dist/esm/faundadb.js +1 -1
- package/dist/esm/getSerializers.js +11 -11
- package/dist/esm/{getTargeting-bd800589.js → getTargeting-88d69971.js} +9 -9
- package/dist/esm/getTargeting.js +1 -1
- package/dist/esm/{index-2fccaa7f.js → index-207958e3.js} +903 -887
- package/dist/esm/{index-73819142.js → index-51a80699.js} +20 -19
- package/dist/esm/{index-5f7e79e7.js → index-6c12bdd5.js} +4 -4
- package/dist/esm/{index-aaa2dae0.js → index-b68072f5.js} +10 -1
- package/dist/esm/{index-ef6d5dcf.js → index-d2f90501.js} +1 -1
- package/dist/esm/{index-41a678ea.js → index-f7fb1e25.js} +3 -3
- package/dist/esm/{index.es-29c1cef5.js → index.es-7dda2f0a.js} +8 -6
- package/dist/esm/{index.esm-29e48d38.js → index.esm-3fdda599.js} +6 -15
- package/dist/esm/{index.esm-fd746768.js → index.esm-8ee5ff72.js} +17 -18
- package/dist/esm/{index.esm-cf08bf18.js → index.esm-a8ff922c.js} +5 -12
- package/dist/esm/{index.esm-f8aaeeeb.js → index.esm-c6715e80.js} +3 -6
- package/dist/esm/index.js +53 -51
- package/dist/esm/{inherits-cf8dde54.js → inherits-75d45541.js} +1 -1
- package/dist/esm/{lodash-17fdfebb.js → lodash-ec8c6b48.js} +71 -22
- package/dist/esm/{main-e4a934b2.js → main-aef58dbc.js} +81 -50
- package/dist/esm/{md5-9be0e905.js → md5-4e42248e.js} +1 -1
- package/dist/esm/{moment-e2f9b20c.js → moment-12415288.js} +1 -1
- package/dist/esm/{react-social-icons-a7d5c5c7.js → react-social-icons-3822f1ce.js} +5 -5
- package/dist/esm/timeDifferenceCalc.js +1 -1
- package/dist/esm/{typeof-6435ba1c.js → typeof-af9c50d8.js} +1 -1
- package/dist/esm/urlFor.js +1 -1
- package/dist/esm/{visibility-sensor-72fd8f8b.js → visibility-sensor-f40c2564.js} +2 -2
- package/package.json +110 -111
- package/dist/cjs/ConferenceBanner-4a16fddc.js +0 -23
- package/dist/cjs/inherits-8d29278d.js +0 -110
- package/dist/esm/inherits-77d5e4fc.js +0 -101
package/dist/cjs/Auth.js
CHANGED
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
6
|
-
|
|
7
5
|
var _commonjsHelpers = require('./_commonjsHelpers-06173234.js');
|
|
8
6
|
require('./_to-object-329a650b.js');
|
|
9
7
|
require('./es6.string.iterator-cc0bbaa4.js');
|
|
@@ -11,21 +9,28 @@ require('./_library-dd23b178.js');
|
|
|
11
9
|
require('./_iter-detect-60b2f026.js');
|
|
12
10
|
require('./core.get-iterator-method-f62321d4.js');
|
|
13
11
|
require('./_object-pie-68c5bcbc.js');
|
|
14
|
-
var _extends
|
|
12
|
+
var _extends = require('./extends-0a918631.js');
|
|
15
13
|
require('./web.dom.iterable-a0e279c1.js');
|
|
16
14
|
var React = require('react');
|
|
17
|
-
var React__default = _interopDefault(React);
|
|
18
15
|
var Router = require('next/router');
|
|
19
|
-
var Router__default = _interopDefault(Router);
|
|
20
16
|
var slicedToArray = require('./slicedToArray-8f385299.js');
|
|
21
17
|
var stringify = require('./stringify-7c5aff47.js');
|
|
22
18
|
var asyncToGenerator = require('./asyncToGenerator-140e5f89.js');
|
|
23
19
|
var reactBootstrap = require('react-bootstrap');
|
|
24
20
|
var util = require('./util-f2c1b65b.js');
|
|
25
|
-
var index
|
|
26
|
-
var
|
|
27
|
-
var
|
|
28
|
-
var
|
|
21
|
+
var index = require('./index-bd6c9f56.js');
|
|
22
|
+
var useSWR = require('swr');
|
|
23
|
+
var Local = require('passport-local');
|
|
24
|
+
var mysql = require('mysql');
|
|
25
|
+
var md5 = require('./md5-e1ca5797.js');
|
|
26
|
+
|
|
27
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
28
|
+
|
|
29
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
30
|
+
var Router__default = /*#__PURE__*/_interopDefaultLegacy(Router);
|
|
31
|
+
var useSWR__default = /*#__PURE__*/_interopDefaultLegacy(useSWR);
|
|
32
|
+
var Local__default = /*#__PURE__*/_interopDefaultLegacy(Local);
|
|
33
|
+
var mysql__default = /*#__PURE__*/_interopDefaultLegacy(mysql);
|
|
29
34
|
|
|
30
35
|
var returnFormField = function returnFormField(_ref) {
|
|
31
36
|
var name = _ref.name,
|
|
@@ -64,21 +69,21 @@ var returnFormField = function returnFormField(_ref) {
|
|
|
64
69
|
}
|
|
65
70
|
|
|
66
71
|
if (type == 'text' || type == 'email' || type == 'password' || type == 'number') {
|
|
67
|
-
return React__default.createElement(
|
|
72
|
+
return React__default['default'].createElement(
|
|
68
73
|
reactBootstrap.Form.Group,
|
|
69
|
-
_extends
|
|
70
|
-
React__default.createElement(
|
|
74
|
+
_extends._extends({}, opts, { controlId: name }),
|
|
75
|
+
React__default['default'].createElement(
|
|
71
76
|
reactBootstrap.Form.Label,
|
|
72
77
|
{ kye: name + '_label' },
|
|
73
78
|
label,
|
|
74
|
-
required && React__default.createElement(
|
|
79
|
+
required && React__default['default'].createElement(
|
|
75
80
|
'span',
|
|
76
81
|
{ style: { color: 'red' } },
|
|
77
82
|
'*'
|
|
78
83
|
)
|
|
79
84
|
),
|
|
80
|
-
React__default.createElement(reactBootstrap.Form.Control, { key: name + '_' + type, type: type, readOnly: readonly, name: name, placeholder: '', defaultValue: default_value, required: required }),
|
|
81
|
-
React__default.createElement(
|
|
85
|
+
React__default['default'].createElement(reactBootstrap.Form.Control, { key: name + '_' + type, type: type, readOnly: readonly, name: name, placeholder: '', defaultValue: default_value, required: required }),
|
|
86
|
+
React__default['default'].createElement(
|
|
82
87
|
reactBootstrap.Form.Control.Feedback,
|
|
83
88
|
{ key: name + '_feedback', type: 'invalid' },
|
|
84
89
|
errors[name]
|
|
@@ -86,28 +91,28 @@ var returnFormField = function returnFormField(_ref) {
|
|
|
86
91
|
);
|
|
87
92
|
}
|
|
88
93
|
if (type == 'select') {
|
|
89
|
-
return React__default.createElement(
|
|
94
|
+
return React__default['default'].createElement(
|
|
90
95
|
reactBootstrap.Form.Group,
|
|
91
|
-
_extends
|
|
92
|
-
React__default.createElement(
|
|
96
|
+
_extends._extends({}, opts, { key: name, controlId: name }),
|
|
97
|
+
React__default['default'].createElement(
|
|
93
98
|
reactBootstrap.Form.Label,
|
|
94
99
|
{ key: name + '_' + label },
|
|
95
100
|
label,
|
|
96
|
-
required && React__default.createElement(
|
|
101
|
+
required && React__default['default'].createElement(
|
|
97
102
|
'span',
|
|
98
103
|
{ key: name + '_required_span', style: { color: 'red' } },
|
|
99
104
|
'*'
|
|
100
105
|
)
|
|
101
106
|
),
|
|
102
|
-
React__default.createElement(
|
|
107
|
+
React__default['default'].createElement(
|
|
103
108
|
reactBootstrap.Form.Control,
|
|
104
109
|
{ key: name + '_select', as: 'select', name: name, required: required, defaultValue: default_value },
|
|
105
|
-
React__default.createElement('option', { value: '', key: name + '_options_empty' }),
|
|
110
|
+
React__default['default'].createElement('option', { value: '', key: name + '_options_empty' }),
|
|
106
111
|
options.map(function (option, index) {
|
|
107
112
|
var value = option.value ? option.value : option;
|
|
108
113
|
var label = option.label ? option.label : option;
|
|
109
114
|
var key = name + '_options_' + index;
|
|
110
|
-
return React__default.createElement(
|
|
115
|
+
return React__default['default'].createElement(
|
|
111
116
|
'option',
|
|
112
117
|
{ key: key, value: value },
|
|
113
118
|
label
|
|
@@ -118,1080 +123,31 @@ var returnFormField = function returnFormField(_ref) {
|
|
|
118
123
|
}
|
|
119
124
|
|
|
120
125
|
if (type == 'radio' || type == 'checkbox') {
|
|
121
|
-
return React__default.createElement(
|
|
126
|
+
return React__default['default'].createElement(
|
|
122
127
|
reactBootstrap.Form.Group,
|
|
123
128
|
opts,
|
|
124
|
-
React__default.createElement(
|
|
129
|
+
React__default['default'].createElement(
|
|
125
130
|
reactBootstrap.Form.Label,
|
|
126
131
|
null,
|
|
127
132
|
label,
|
|
128
|
-
required && React__default.createElement(
|
|
133
|
+
required && React__default['default'].createElement(
|
|
129
134
|
'span',
|
|
130
135
|
{ style: { color: 'red' } },
|
|
131
136
|
'*'
|
|
132
137
|
)
|
|
133
138
|
),
|
|
134
139
|
options.map(function (option, index) {
|
|
135
|
-
return React__default.createElement(
|
|
140
|
+
return React__default['default'].createElement(
|
|
136
141
|
reactBootstrap.Form.Check,
|
|
137
142
|
{ type: type, key: index, required: required },
|
|
138
|
-
React__default.createElement(reactBootstrap.Form.Check.Input, { type: type, key: type + '_' + index + '_input', defaultChecked: default_value ? default_value === option.value : false, name: name, id: name + '_' + index, value: option.value, required: required }),
|
|
139
|
-
React__default.createElement(reactBootstrap.Form.Check.Label, { style: { cursor: 'pointer' }, 'for': name + '_' + index, key: type + '_' + index + '_label', dangerouslySetInnerHTML: { __html: option.label } })
|
|
143
|
+
React__default['default'].createElement(reactBootstrap.Form.Check.Input, { type: type, key: type + '_' + index + '_input', defaultChecked: default_value ? default_value === option.value : false, name: name, id: name + '_' + index, value: option.value, required: required }),
|
|
144
|
+
React__default['default'].createElement(reactBootstrap.Form.Check.Label, { style: { cursor: 'pointer' }, 'for': name + '_' + index, key: type + '_' + index + '_label', dangerouslySetInnerHTML: { __html: option.label } })
|
|
140
145
|
);
|
|
141
146
|
})
|
|
142
147
|
);
|
|
143
148
|
}
|
|
144
149
|
};
|
|
145
150
|
|
|
146
|
-
var has = Object.prototype.hasOwnProperty;
|
|
147
|
-
|
|
148
|
-
function dequal(foo, bar) {
|
|
149
|
-
var ctor, len;
|
|
150
|
-
if (foo === bar) return true;
|
|
151
|
-
|
|
152
|
-
if (foo && bar && (ctor=foo.constructor) === bar.constructor) {
|
|
153
|
-
if (ctor === Date) return foo.getTime() === bar.getTime();
|
|
154
|
-
if (ctor === RegExp) return foo.toString() === bar.toString();
|
|
155
|
-
|
|
156
|
-
if (ctor === Array) {
|
|
157
|
-
if ((len=foo.length) === bar.length) {
|
|
158
|
-
while (len-- && dequal(foo[len], bar[len]));
|
|
159
|
-
}
|
|
160
|
-
return len === -1;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
if (!ctor || typeof foo === 'object') {
|
|
164
|
-
len = 0;
|
|
165
|
-
for (ctor in foo) {
|
|
166
|
-
if (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;
|
|
167
|
-
if (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;
|
|
168
|
-
}
|
|
169
|
-
return Object.keys(bar).length === len;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
return foo !== foo && bar !== bar;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
// use WeakMap to store the object->key mapping
|
|
177
|
-
// so the objects can be garbage collected.
|
|
178
|
-
// WeakMap uses a hashtable under the hood, so the lookup
|
|
179
|
-
// complexity is almost O(1).
|
|
180
|
-
var table = new WeakMap();
|
|
181
|
-
// counter of the key
|
|
182
|
-
var counter = 0;
|
|
183
|
-
// hashes an array of objects and returns a string
|
|
184
|
-
function hash(args) {
|
|
185
|
-
if (!args.length)
|
|
186
|
-
return '';
|
|
187
|
-
var key = 'arg';
|
|
188
|
-
for (var i = 0; i < args.length; ++i) {
|
|
189
|
-
if (args[i] === null) {
|
|
190
|
-
key += '@null';
|
|
191
|
-
continue;
|
|
192
|
-
}
|
|
193
|
-
var _hash = void 0;
|
|
194
|
-
if (typeof args[i] !== 'object' && typeof args[i] !== 'function') {
|
|
195
|
-
// need to consider the case that args[i] is a string:
|
|
196
|
-
// args[i] _hash
|
|
197
|
-
// "undefined" -> '"undefined"'
|
|
198
|
-
// undefined -> 'undefined'
|
|
199
|
-
// 123 -> '123'
|
|
200
|
-
// "null" -> '"null"'
|
|
201
|
-
if (typeof args[i] === 'string') {
|
|
202
|
-
_hash = '"' + args[i] + '"';
|
|
203
|
-
}
|
|
204
|
-
else {
|
|
205
|
-
_hash = String(args[i]);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
else {
|
|
209
|
-
if (!table.has(args[i])) {
|
|
210
|
-
_hash = counter;
|
|
211
|
-
table.set(args[i], counter++);
|
|
212
|
-
}
|
|
213
|
-
else {
|
|
214
|
-
_hash = table.get(args[i]);
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
key += '@' + _hash;
|
|
218
|
-
}
|
|
219
|
-
return key;
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
var Cache = /** @class */ (function () {
|
|
223
|
-
function Cache(initialData) {
|
|
224
|
-
if (initialData === void 0) { initialData = {}; }
|
|
225
|
-
this.cache = new Map(Object.entries(initialData));
|
|
226
|
-
this.subs = [];
|
|
227
|
-
}
|
|
228
|
-
Cache.prototype.get = function (key) {
|
|
229
|
-
var _key = this.serializeKey(key)[0];
|
|
230
|
-
return this.cache.get(_key);
|
|
231
|
-
};
|
|
232
|
-
Cache.prototype.set = function (key, value) {
|
|
233
|
-
var _key = this.serializeKey(key)[0];
|
|
234
|
-
this.cache.set(_key, value);
|
|
235
|
-
this.notify();
|
|
236
|
-
};
|
|
237
|
-
Cache.prototype.keys = function () {
|
|
238
|
-
return Array.from(this.cache.keys());
|
|
239
|
-
};
|
|
240
|
-
Cache.prototype.has = function (key) {
|
|
241
|
-
var _key = this.serializeKey(key)[0];
|
|
242
|
-
return this.cache.has(_key);
|
|
243
|
-
};
|
|
244
|
-
Cache.prototype.clear = function () {
|
|
245
|
-
this.cache.clear();
|
|
246
|
-
this.notify();
|
|
247
|
-
};
|
|
248
|
-
Cache.prototype.delete = function (key) {
|
|
249
|
-
var _key = this.serializeKey(key)[0];
|
|
250
|
-
this.cache.delete(_key);
|
|
251
|
-
this.notify();
|
|
252
|
-
};
|
|
253
|
-
// TODO: introduce namespace for the cache
|
|
254
|
-
Cache.prototype.serializeKey = function (key) {
|
|
255
|
-
var args = null;
|
|
256
|
-
if (typeof key === 'function') {
|
|
257
|
-
try {
|
|
258
|
-
key = key();
|
|
259
|
-
}
|
|
260
|
-
catch (err) {
|
|
261
|
-
// dependencies not ready
|
|
262
|
-
key = '';
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
if (Array.isArray(key)) {
|
|
266
|
-
// args array
|
|
267
|
-
args = key;
|
|
268
|
-
key = hash(key);
|
|
269
|
-
}
|
|
270
|
-
else {
|
|
271
|
-
// convert null to ''
|
|
272
|
-
key = String(key || '');
|
|
273
|
-
}
|
|
274
|
-
var errorKey = key ? 'err@' + key : '';
|
|
275
|
-
var isValidatingKey = key ? 'validating@' + key : '';
|
|
276
|
-
return [key, args, errorKey, isValidatingKey];
|
|
277
|
-
};
|
|
278
|
-
Cache.prototype.subscribe = function (listener) {
|
|
279
|
-
var _this = this;
|
|
280
|
-
if (typeof listener !== 'function') {
|
|
281
|
-
throw new Error('Expected the listener to be a function.');
|
|
282
|
-
}
|
|
283
|
-
var isSubscribed = true;
|
|
284
|
-
this.subs.push(listener);
|
|
285
|
-
return function () {
|
|
286
|
-
if (!isSubscribed)
|
|
287
|
-
return;
|
|
288
|
-
isSubscribed = false;
|
|
289
|
-
var index = _this.subs.indexOf(listener);
|
|
290
|
-
if (index > -1) {
|
|
291
|
-
_this.subs[index] = _this.subs[_this.subs.length - 1];
|
|
292
|
-
_this.subs.length--;
|
|
293
|
-
}
|
|
294
|
-
};
|
|
295
|
-
};
|
|
296
|
-
// Notify Cache subscribers about a change in the cache
|
|
297
|
-
Cache.prototype.notify = function () {
|
|
298
|
-
for (var _i = 0, _a = this.subs; _i < _a.length; _i++) {
|
|
299
|
-
var listener = _a[_i];
|
|
300
|
-
listener();
|
|
301
|
-
}
|
|
302
|
-
};
|
|
303
|
-
return Cache;
|
|
304
|
-
}());
|
|
305
|
-
|
|
306
|
-
/**
|
|
307
|
-
* Due to bug https://bugs.chromium.org/p/chromium/issues/detail?id=678075,
|
|
308
|
-
* it's not reliable to detect if the browser is currently online or offline
|
|
309
|
-
* based on `navigator.onLine`.
|
|
310
|
-
* As a work around, we always assume it's online on first load, and change
|
|
311
|
-
* the status upon `online` or `offline` events.
|
|
312
|
-
*/
|
|
313
|
-
var online = true;
|
|
314
|
-
var isOnline = function () { return online; };
|
|
315
|
-
var isDocumentVisible = function () {
|
|
316
|
-
if (typeof document !== 'undefined' &&
|
|
317
|
-
document.visibilityState !== undefined) {
|
|
318
|
-
return document.visibilityState !== 'hidden';
|
|
319
|
-
}
|
|
320
|
-
// always assume it's visible
|
|
321
|
-
return true;
|
|
322
|
-
};
|
|
323
|
-
var fetcher = function (url) { return fetch(url).then(function (res) { return res.json(); }); };
|
|
324
|
-
var registerOnFocus = function (cb) {
|
|
325
|
-
if (typeof window !== 'undefined' &&
|
|
326
|
-
window.addEventListener !== undefined &&
|
|
327
|
-
typeof document !== 'undefined' &&
|
|
328
|
-
document.addEventListener !== undefined) {
|
|
329
|
-
// focus revalidate
|
|
330
|
-
document.addEventListener('visibilitychange', function () { return cb(); }, false);
|
|
331
|
-
window.addEventListener('focus', function () { return cb(); }, false);
|
|
332
|
-
}
|
|
333
|
-
};
|
|
334
|
-
var registerOnReconnect = function (cb) {
|
|
335
|
-
if (typeof window !== 'undefined' && window.addEventListener !== undefined) {
|
|
336
|
-
// reconnect revalidate
|
|
337
|
-
window.addEventListener('online', function () {
|
|
338
|
-
online = true;
|
|
339
|
-
cb();
|
|
340
|
-
}, false);
|
|
341
|
-
// nothing to revalidate, just update the status
|
|
342
|
-
window.addEventListener('offline', function () { return (online = false); }, false);
|
|
343
|
-
}
|
|
344
|
-
};
|
|
345
|
-
var webPreset = {
|
|
346
|
-
isOnline: isOnline,
|
|
347
|
-
isDocumentVisible: isDocumentVisible,
|
|
348
|
-
fetcher: fetcher,
|
|
349
|
-
registerOnFocus: registerOnFocus,
|
|
350
|
-
registerOnReconnect: registerOnReconnect
|
|
351
|
-
};
|
|
352
|
-
|
|
353
|
-
var __assign = (undefined && undefined.__assign) || function () {
|
|
354
|
-
__assign = Object.assign || function(t) {
|
|
355
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
356
|
-
s = arguments[i];
|
|
357
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
358
|
-
t[p] = s[p];
|
|
359
|
-
}
|
|
360
|
-
return t;
|
|
361
|
-
};
|
|
362
|
-
return __assign.apply(this, arguments);
|
|
363
|
-
};
|
|
364
|
-
// cache
|
|
365
|
-
var cache = new Cache();
|
|
366
|
-
// error retry
|
|
367
|
-
function onErrorRetry(_, __, config, revalidate, opts) {
|
|
368
|
-
if (!config.isDocumentVisible()) {
|
|
369
|
-
// if it's hidden, stop
|
|
370
|
-
// it will auto revalidate when focus
|
|
371
|
-
return;
|
|
372
|
-
}
|
|
373
|
-
if (typeof config.errorRetryCount === 'number' &&
|
|
374
|
-
opts.retryCount > config.errorRetryCount) {
|
|
375
|
-
return;
|
|
376
|
-
}
|
|
377
|
-
// exponential backoff
|
|
378
|
-
var count = Math.min(opts.retryCount, 8);
|
|
379
|
-
var timeout = ~~((Math.random() + 0.5) * (1 << count)) * config.errorRetryInterval;
|
|
380
|
-
setTimeout(revalidate, timeout, opts);
|
|
381
|
-
}
|
|
382
|
-
// client side: need to adjust the config
|
|
383
|
-
// based on the browser status
|
|
384
|
-
// slow connection (<= 70Kbps)
|
|
385
|
-
var slowConnection = typeof window !== 'undefined' &&
|
|
386
|
-
// @ts-ignore
|
|
387
|
-
navigator['connection'] &&
|
|
388
|
-
// @ts-ignore
|
|
389
|
-
['slow-2g', '2g'].indexOf(navigator['connection'].effectiveType) !== -1;
|
|
390
|
-
// config
|
|
391
|
-
var defaultConfig = __assign({
|
|
392
|
-
// events
|
|
393
|
-
onLoadingSlow: function () { }, onSuccess: function () { }, onError: function () { }, onErrorRetry: onErrorRetry, errorRetryInterval: (slowConnection ? 10 : 5) * 1000, focusThrottleInterval: 5 * 1000, dedupingInterval: 2 * 1000, loadingTimeout: (slowConnection ? 5 : 3) * 1000, refreshInterval: 0, revalidateOnFocus: true, revalidateOnReconnect: true, refreshWhenHidden: false, refreshWhenOffline: false, shouldRetryOnError: true, suspense: false, compare: dequal, isPaused: function () { return false; } }, webPreset);
|
|
394
|
-
|
|
395
|
-
var IS_SERVER = typeof window === 'undefined' ||
|
|
396
|
-
// @ts-ignore
|
|
397
|
-
!!(typeof Deno !== 'undefined' && Deno && Deno.version && Deno.version.deno);
|
|
398
|
-
// polyfill for requestAnimationFrame
|
|
399
|
-
var rAF = IS_SERVER
|
|
400
|
-
? null
|
|
401
|
-
: window['requestAnimationFrame']
|
|
402
|
-
? function (f) { return window['requestAnimationFrame'](f); }
|
|
403
|
-
: function (f) { return setTimeout(f, 1); };
|
|
404
|
-
// React currently throws a warning when using useLayoutEffect on the server.
|
|
405
|
-
// To get around it, we can conditionally useEffect on the server (no-op) and
|
|
406
|
-
// useLayoutEffect in the browser.
|
|
407
|
-
var useIsomorphicLayoutEffect = IS_SERVER ? React.useEffect : React.useLayoutEffect;
|
|
408
|
-
|
|
409
|
-
var SWRConfigContext = React.createContext({});
|
|
410
|
-
SWRConfigContext.displayName = 'SWRConfigContext';
|
|
411
|
-
|
|
412
|
-
var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
413
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
414
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
415
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
416
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
417
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
418
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
419
|
-
});
|
|
420
|
-
};
|
|
421
|
-
var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
|
|
422
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
423
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
424
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
425
|
-
function step(op) {
|
|
426
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
427
|
-
while (_) try {
|
|
428
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
429
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
430
|
-
switch (op[0]) {
|
|
431
|
-
case 0: case 1: t = op; break;
|
|
432
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
433
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
434
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
435
|
-
default:
|
|
436
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
437
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
438
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
439
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
440
|
-
if (t[2]) _.ops.pop();
|
|
441
|
-
_.trys.pop(); continue;
|
|
442
|
-
}
|
|
443
|
-
op = body.call(thisArg, _);
|
|
444
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
445
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
446
|
-
}
|
|
447
|
-
};
|
|
448
|
-
// global state managers
|
|
449
|
-
var CONCURRENT_PROMISES = {};
|
|
450
|
-
var CONCURRENT_PROMISES_TS = {};
|
|
451
|
-
var FOCUS_REVALIDATORS = {};
|
|
452
|
-
var RECONNECT_REVALIDATORS = {};
|
|
453
|
-
var CACHE_REVALIDATORS = {};
|
|
454
|
-
var MUTATION_TS = {};
|
|
455
|
-
var MUTATION_END_TS = {};
|
|
456
|
-
// generate strictly increasing timestamps
|
|
457
|
-
var now = (function () {
|
|
458
|
-
var ts = 0;
|
|
459
|
-
return function () { return ++ts; };
|
|
460
|
-
})();
|
|
461
|
-
// setup DOM events listeners for `focus` and `reconnect` actions
|
|
462
|
-
if (!IS_SERVER) {
|
|
463
|
-
var revalidate_1 = function (revalidators) {
|
|
464
|
-
if (!defaultConfig.isDocumentVisible() || !defaultConfig.isOnline())
|
|
465
|
-
return;
|
|
466
|
-
for (var key in revalidators) {
|
|
467
|
-
if (revalidators[key][0])
|
|
468
|
-
revalidators[key][0]();
|
|
469
|
-
}
|
|
470
|
-
};
|
|
471
|
-
if (typeof defaultConfig.registerOnFocus === 'function') {
|
|
472
|
-
defaultConfig.registerOnFocus(function () { return revalidate_1(FOCUS_REVALIDATORS); });
|
|
473
|
-
}
|
|
474
|
-
if (typeof defaultConfig.registerOnReconnect === 'function') {
|
|
475
|
-
defaultConfig.registerOnReconnect(function () { return revalidate_1(RECONNECT_REVALIDATORS); });
|
|
476
|
-
}
|
|
477
|
-
}
|
|
478
|
-
var trigger = function (_key, shouldRevalidate) {
|
|
479
|
-
if (shouldRevalidate === void 0) { shouldRevalidate = true; }
|
|
480
|
-
// we are ignoring the second argument which correspond to the arguments
|
|
481
|
-
// the fetcher will receive when key is an array
|
|
482
|
-
var _a = cache.serializeKey(_key), key = _a[0], keyErr = _a[2], keyValidating = _a[3];
|
|
483
|
-
if (!key)
|
|
484
|
-
return Promise.resolve();
|
|
485
|
-
var updaters = CACHE_REVALIDATORS[key];
|
|
486
|
-
if (key && updaters) {
|
|
487
|
-
var currentData = cache.get(key);
|
|
488
|
-
var currentError = cache.get(keyErr);
|
|
489
|
-
var currentIsValidating = cache.get(keyValidating);
|
|
490
|
-
var promises = [];
|
|
491
|
-
for (var i = 0; i < updaters.length; ++i) {
|
|
492
|
-
promises.push(updaters[i](shouldRevalidate, currentData, currentError, currentIsValidating, i > 0));
|
|
493
|
-
}
|
|
494
|
-
// return new updated value
|
|
495
|
-
return Promise.all(promises).then(function () { return cache.get(key); });
|
|
496
|
-
}
|
|
497
|
-
return Promise.resolve(cache.get(key));
|
|
498
|
-
};
|
|
499
|
-
var broadcastState = function (key, data, error, isValidating) {
|
|
500
|
-
var updaters = CACHE_REVALIDATORS[key];
|
|
501
|
-
if (key && updaters) {
|
|
502
|
-
for (var i = 0; i < updaters.length; ++i) {
|
|
503
|
-
updaters[i](false, data, error, isValidating);
|
|
504
|
-
}
|
|
505
|
-
}
|
|
506
|
-
};
|
|
507
|
-
var mutate = function (_key, _data, shouldRevalidate) {
|
|
508
|
-
if (shouldRevalidate === void 0) { shouldRevalidate = true; }
|
|
509
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
510
|
-
var _a, key, keyErr, beforeMutationTs, beforeConcurrentPromisesTs, data, error, isAsyncMutation, err_1, shouldAbort, updaters, promises, i;
|
|
511
|
-
return __generator(this, function (_b) {
|
|
512
|
-
switch (_b.label) {
|
|
513
|
-
case 0:
|
|
514
|
-
_a = cache.serializeKey(_key), key = _a[0], keyErr = _a[2];
|
|
515
|
-
if (!key)
|
|
516
|
-
return [2 /*return*/];
|
|
517
|
-
// if there is no new data to update, let's just revalidate the key
|
|
518
|
-
if (typeof _data === 'undefined')
|
|
519
|
-
return [2 /*return*/, trigger(_key, shouldRevalidate)
|
|
520
|
-
// update global timestamps
|
|
521
|
-
];
|
|
522
|
-
// update global timestamps
|
|
523
|
-
MUTATION_TS[key] = now() - 1;
|
|
524
|
-
MUTATION_END_TS[key] = 0;
|
|
525
|
-
beforeMutationTs = MUTATION_TS[key];
|
|
526
|
-
beforeConcurrentPromisesTs = CONCURRENT_PROMISES_TS[key];
|
|
527
|
-
isAsyncMutation = false;
|
|
528
|
-
if (_data && typeof _data === 'function') {
|
|
529
|
-
// `_data` is a function, call it passing current cache value
|
|
530
|
-
try {
|
|
531
|
-
_data = _data(cache.get(key));
|
|
532
|
-
}
|
|
533
|
-
catch (err) {
|
|
534
|
-
// if `_data` function throws an error synchronously, it shouldn't be cached
|
|
535
|
-
_data = undefined;
|
|
536
|
-
error = err;
|
|
537
|
-
}
|
|
538
|
-
}
|
|
539
|
-
if (!(_data && typeof _data.then === 'function')) return [3 /*break*/, 5];
|
|
540
|
-
// `_data` is a promise
|
|
541
|
-
isAsyncMutation = true;
|
|
542
|
-
_b.label = 1;
|
|
543
|
-
case 1:
|
|
544
|
-
_b.trys.push([1, 3, , 4]);
|
|
545
|
-
return [4 /*yield*/, _data];
|
|
546
|
-
case 2:
|
|
547
|
-
data = _b.sent();
|
|
548
|
-
return [3 /*break*/, 4];
|
|
549
|
-
case 3:
|
|
550
|
-
err_1 = _b.sent();
|
|
551
|
-
error = err_1;
|
|
552
|
-
return [3 /*break*/, 4];
|
|
553
|
-
case 4: return [3 /*break*/, 6];
|
|
554
|
-
case 5:
|
|
555
|
-
data = _data;
|
|
556
|
-
_b.label = 6;
|
|
557
|
-
case 6:
|
|
558
|
-
shouldAbort = function () {
|
|
559
|
-
// check if other mutations have occurred since we've started this mutation
|
|
560
|
-
if (beforeMutationTs !== MUTATION_TS[key] ||
|
|
561
|
-
beforeConcurrentPromisesTs !== CONCURRENT_PROMISES_TS[key]) {
|
|
562
|
-
if (error)
|
|
563
|
-
throw error;
|
|
564
|
-
return true;
|
|
565
|
-
}
|
|
566
|
-
};
|
|
567
|
-
// if there's a race we don't update cache or broadcast change, just return the data
|
|
568
|
-
if (shouldAbort())
|
|
569
|
-
return [2 /*return*/, data];
|
|
570
|
-
if (typeof data !== 'undefined') {
|
|
571
|
-
// update cached data
|
|
572
|
-
cache.set(key, data);
|
|
573
|
-
}
|
|
574
|
-
// always update or reset the error
|
|
575
|
-
cache.set(keyErr, error);
|
|
576
|
-
// reset the timestamp to mark the mutation has ended
|
|
577
|
-
MUTATION_END_TS[key] = now() - 1;
|
|
578
|
-
if (!isAsyncMutation) {
|
|
579
|
-
// we skip broadcasting if there's another mutation happened synchronously
|
|
580
|
-
if (shouldAbort())
|
|
581
|
-
return [2 /*return*/, data];
|
|
582
|
-
}
|
|
583
|
-
updaters = CACHE_REVALIDATORS[key];
|
|
584
|
-
if (updaters) {
|
|
585
|
-
promises = [];
|
|
586
|
-
for (i = 0; i < updaters.length; ++i) {
|
|
587
|
-
promises.push(updaters[i](!!shouldRevalidate, data, error, undefined, i > 0));
|
|
588
|
-
}
|
|
589
|
-
// return new updated value
|
|
590
|
-
return [2 /*return*/, Promise.all(promises).then(function () {
|
|
591
|
-
if (error)
|
|
592
|
-
throw error;
|
|
593
|
-
return cache.get(key);
|
|
594
|
-
})];
|
|
595
|
-
}
|
|
596
|
-
// throw error or return data to be used by caller of mutate
|
|
597
|
-
if (error)
|
|
598
|
-
throw error;
|
|
599
|
-
return [2 /*return*/, data];
|
|
600
|
-
}
|
|
601
|
-
});
|
|
602
|
-
});
|
|
603
|
-
};
|
|
604
|
-
function useSWR() {
|
|
605
|
-
var _this = this;
|
|
606
|
-
var args = [];
|
|
607
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
608
|
-
args[_i] = arguments[_i];
|
|
609
|
-
}
|
|
610
|
-
var _key = args[0];
|
|
611
|
-
var config = Object.assign({}, defaultConfig, React.useContext(SWRConfigContext), args.length > 2
|
|
612
|
-
? args[2]
|
|
613
|
-
: args.length === 2 && typeof args[1] === 'object'
|
|
614
|
-
? args[1]
|
|
615
|
-
: {});
|
|
616
|
-
// in typescript args.length > 2 is not same as args.lenth === 3
|
|
617
|
-
// we do a safe type assertion here
|
|
618
|
-
// args.length === 3
|
|
619
|
-
var fn = (args.length > 2
|
|
620
|
-
? args[1]
|
|
621
|
-
: args.length === 2 && typeof args[1] === 'function'
|
|
622
|
-
? args[1]
|
|
623
|
-
: /**
|
|
624
|
-
pass fn as null will disable revalidate
|
|
625
|
-
https://paco.sh/blog/shared-hook-state-with-swr
|
|
626
|
-
*/
|
|
627
|
-
args[1] === null
|
|
628
|
-
? args[1]
|
|
629
|
-
: config.fetcher);
|
|
630
|
-
// we assume `key` as the identifier of the request
|
|
631
|
-
// `key` can change but `fn` shouldn't
|
|
632
|
-
// (because `revalidate` only depends on `key`)
|
|
633
|
-
// `keyErr` is the cache key for error objects
|
|
634
|
-
var _a = cache.serializeKey(_key), key = _a[0], fnArgs = _a[1], keyErr = _a[2], keyValidating = _a[3];
|
|
635
|
-
var configRef = React.useRef(config);
|
|
636
|
-
useIsomorphicLayoutEffect(function () {
|
|
637
|
-
configRef.current = config;
|
|
638
|
-
});
|
|
639
|
-
var willRevalidateOnMount = function () {
|
|
640
|
-
return (config.revalidateOnMount ||
|
|
641
|
-
(!config.initialData && config.revalidateOnMount === undefined));
|
|
642
|
-
};
|
|
643
|
-
var resolveData = function () {
|
|
644
|
-
var cachedData = cache.get(key);
|
|
645
|
-
return typeof cachedData === 'undefined' ? config.initialData : cachedData;
|
|
646
|
-
};
|
|
647
|
-
var resolveIsValidating = function () {
|
|
648
|
-
return !!cache.get(keyValidating) || (key && willRevalidateOnMount());
|
|
649
|
-
};
|
|
650
|
-
var initialData = resolveData();
|
|
651
|
-
var initialError = cache.get(keyErr);
|
|
652
|
-
var initialIsValidating = resolveIsValidating();
|
|
653
|
-
// if a state is accessed (data, error or isValidating),
|
|
654
|
-
// we add the state to dependencies so if the state is
|
|
655
|
-
// updated in the future, we can trigger a rerender
|
|
656
|
-
var stateDependencies = React.useRef({
|
|
657
|
-
data: false,
|
|
658
|
-
error: false,
|
|
659
|
-
isValidating: false
|
|
660
|
-
});
|
|
661
|
-
var stateRef = React.useRef({
|
|
662
|
-
data: initialData,
|
|
663
|
-
error: initialError,
|
|
664
|
-
isValidating: initialIsValidating
|
|
665
|
-
});
|
|
666
|
-
// display the data label in the React DevTools next to SWR hooks
|
|
667
|
-
React.useDebugValue(stateRef.current.data);
|
|
668
|
-
var rerender = React.useState({})[1];
|
|
669
|
-
var dispatch = React.useCallback(function (payload) {
|
|
670
|
-
var shouldUpdateState = false;
|
|
671
|
-
for (var k in payload) {
|
|
672
|
-
// @ts-ignore
|
|
673
|
-
if (stateRef.current[k] === payload[k]) {
|
|
674
|
-
continue;
|
|
675
|
-
}
|
|
676
|
-
// @ts-ignore
|
|
677
|
-
stateRef.current[k] = payload[k];
|
|
678
|
-
// @ts-ignore
|
|
679
|
-
if (stateDependencies.current[k]) {
|
|
680
|
-
shouldUpdateState = true;
|
|
681
|
-
}
|
|
682
|
-
}
|
|
683
|
-
if (shouldUpdateState) {
|
|
684
|
-
// if component is unmounted, should skip rerender
|
|
685
|
-
// if component is not mounted, should skip rerender
|
|
686
|
-
if (unmountedRef.current || !initialMountedRef.current)
|
|
687
|
-
return;
|
|
688
|
-
rerender({});
|
|
689
|
-
}
|
|
690
|
-
},
|
|
691
|
-
// config.suspense isn't allowed to change during the lifecycle
|
|
692
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
693
|
-
[]);
|
|
694
|
-
// error ref inside revalidate (is last request errored?)
|
|
695
|
-
var unmountedRef = React.useRef(false);
|
|
696
|
-
var keyRef = React.useRef(key);
|
|
697
|
-
// check if component is mounted in suspense mode
|
|
698
|
-
var initialMountedRef = React.useRef(false);
|
|
699
|
-
// do unmount check for callbacks
|
|
700
|
-
var eventsCallback = React.useCallback(function (event) {
|
|
701
|
-
var _a;
|
|
702
|
-
var params = [];
|
|
703
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
704
|
-
params[_i - 1] = arguments[_i];
|
|
705
|
-
}
|
|
706
|
-
if (unmountedRef.current)
|
|
707
|
-
return;
|
|
708
|
-
if (!initialMountedRef.current)
|
|
709
|
-
return;
|
|
710
|
-
if (key !== keyRef.current)
|
|
711
|
-
return;
|
|
712
|
-
// @ts-ignore
|
|
713
|
-
(_a = configRef.current)[event].apply(_a, params);
|
|
714
|
-
}, [key]);
|
|
715
|
-
var boundMutate = React.useCallback(function (data, shouldRevalidate) {
|
|
716
|
-
return mutate(keyRef.current, data, shouldRevalidate);
|
|
717
|
-
}, []);
|
|
718
|
-
var addRevalidator = function (revalidators, callback) {
|
|
719
|
-
if (!revalidators[key]) {
|
|
720
|
-
revalidators[key] = [callback];
|
|
721
|
-
}
|
|
722
|
-
else {
|
|
723
|
-
revalidators[key].push(callback);
|
|
724
|
-
}
|
|
725
|
-
return function () {
|
|
726
|
-
var keyedRevalidators = revalidators[key];
|
|
727
|
-
var index = keyedRevalidators.indexOf(callback);
|
|
728
|
-
if (index >= 0) {
|
|
729
|
-
// O(1): faster than splice
|
|
730
|
-
keyedRevalidators[index] =
|
|
731
|
-
keyedRevalidators[keyedRevalidators.length - 1];
|
|
732
|
-
keyedRevalidators.pop();
|
|
733
|
-
}
|
|
734
|
-
};
|
|
735
|
-
};
|
|
736
|
-
// start a revalidation
|
|
737
|
-
var revalidate = React.useCallback(function (revalidateOpts) {
|
|
738
|
-
if (revalidateOpts === void 0) { revalidateOpts = {}; }
|
|
739
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
740
|
-
var _a, retryCount, _b, dedupe, loading, shouldDeduping, newData, startAt, newState, err_2;
|
|
741
|
-
return __generator(this, function (_c) {
|
|
742
|
-
switch (_c.label) {
|
|
743
|
-
case 0:
|
|
744
|
-
if (!key || !fn)
|
|
745
|
-
return [2 /*return*/, false];
|
|
746
|
-
if (unmountedRef.current)
|
|
747
|
-
return [2 /*return*/, false];
|
|
748
|
-
if (configRef.current.isPaused())
|
|
749
|
-
return [2 /*return*/, false];
|
|
750
|
-
_a = revalidateOpts.retryCount, retryCount = _a === void 0 ? 0 : _a, _b = revalidateOpts.dedupe, dedupe = _b === void 0 ? false : _b;
|
|
751
|
-
loading = true;
|
|
752
|
-
shouldDeduping = typeof CONCURRENT_PROMISES[key] !== 'undefined' && dedupe;
|
|
753
|
-
_c.label = 1;
|
|
754
|
-
case 1:
|
|
755
|
-
_c.trys.push([1, 6, , 7]);
|
|
756
|
-
dispatch({
|
|
757
|
-
isValidating: true
|
|
758
|
-
});
|
|
759
|
-
cache.set(keyValidating, true);
|
|
760
|
-
if (!shouldDeduping) {
|
|
761
|
-
// also update other hooks
|
|
762
|
-
broadcastState(key, stateRef.current.data, stateRef.current.error, true);
|
|
763
|
-
}
|
|
764
|
-
newData = void 0;
|
|
765
|
-
startAt = void 0;
|
|
766
|
-
if (!shouldDeduping) return [3 /*break*/, 3];
|
|
767
|
-
// there's already an ongoing request,
|
|
768
|
-
// this one needs to be deduplicated.
|
|
769
|
-
startAt = CONCURRENT_PROMISES_TS[key];
|
|
770
|
-
return [4 /*yield*/, CONCURRENT_PROMISES[key]];
|
|
771
|
-
case 2:
|
|
772
|
-
newData = _c.sent();
|
|
773
|
-
return [3 /*break*/, 5];
|
|
774
|
-
case 3:
|
|
775
|
-
// if no cache being rendered currently (it shows a blank page),
|
|
776
|
-
// we trigger the loading slow event.
|
|
777
|
-
if (config.loadingTimeout && !cache.get(key)) {
|
|
778
|
-
setTimeout(function () {
|
|
779
|
-
if (loading)
|
|
780
|
-
eventsCallback('onLoadingSlow', key, config);
|
|
781
|
-
}, config.loadingTimeout);
|
|
782
|
-
}
|
|
783
|
-
if (fnArgs !== null) {
|
|
784
|
-
CONCURRENT_PROMISES[key] = fn.apply(void 0, fnArgs);
|
|
785
|
-
}
|
|
786
|
-
else {
|
|
787
|
-
CONCURRENT_PROMISES[key] = fn(key);
|
|
788
|
-
}
|
|
789
|
-
CONCURRENT_PROMISES_TS[key] = startAt = now();
|
|
790
|
-
return [4 /*yield*/, CONCURRENT_PROMISES[key]];
|
|
791
|
-
case 4:
|
|
792
|
-
newData = _c.sent();
|
|
793
|
-
setTimeout(function () {
|
|
794
|
-
delete CONCURRENT_PROMISES[key];
|
|
795
|
-
delete CONCURRENT_PROMISES_TS[key];
|
|
796
|
-
}, config.dedupingInterval);
|
|
797
|
-
// trigger the success event,
|
|
798
|
-
// only do this for the original request.
|
|
799
|
-
eventsCallback('onSuccess', newData, key, config);
|
|
800
|
-
_c.label = 5;
|
|
801
|
-
case 5:
|
|
802
|
-
// if there're other ongoing request(s), started after the current one,
|
|
803
|
-
// we need to ignore the current one to avoid possible race conditions:
|
|
804
|
-
// req1------------------>res1 (current one)
|
|
805
|
-
// req2---------------->res2
|
|
806
|
-
// the request that fired later will always be kept.
|
|
807
|
-
if (CONCURRENT_PROMISES_TS[key] > startAt) {
|
|
808
|
-
return [2 /*return*/, false];
|
|
809
|
-
}
|
|
810
|
-
// if there're other mutations(s), overlapped with the current revalidation:
|
|
811
|
-
// case 1:
|
|
812
|
-
// req------------------>res
|
|
813
|
-
// mutate------>end
|
|
814
|
-
// case 2:
|
|
815
|
-
// req------------>res
|
|
816
|
-
// mutate------>end
|
|
817
|
-
// case 3:
|
|
818
|
-
// req------------------>res
|
|
819
|
-
// mutate-------...---------->
|
|
820
|
-
// we have to ignore the revalidation result (res) because it's no longer fresh.
|
|
821
|
-
// meanwhile, a new revalidation should be triggered when the mutation ends.
|
|
822
|
-
if (MUTATION_TS[key] &&
|
|
823
|
-
// case 1
|
|
824
|
-
(startAt <= MUTATION_TS[key] ||
|
|
825
|
-
// case 2
|
|
826
|
-
startAt <= MUTATION_END_TS[key] ||
|
|
827
|
-
// case 3
|
|
828
|
-
MUTATION_END_TS[key] === 0)) {
|
|
829
|
-
dispatch({ isValidating: false });
|
|
830
|
-
return [2 /*return*/, false];
|
|
831
|
-
}
|
|
832
|
-
cache.set(keyErr, undefined);
|
|
833
|
-
cache.set(keyValidating, false);
|
|
834
|
-
newState = {
|
|
835
|
-
isValidating: false
|
|
836
|
-
};
|
|
837
|
-
if (typeof stateRef.current.error !== 'undefined') {
|
|
838
|
-
// we don't have an error
|
|
839
|
-
newState.error = undefined;
|
|
840
|
-
}
|
|
841
|
-
if (!config.compare(stateRef.current.data, newData)) {
|
|
842
|
-
// deep compare to avoid extra re-render
|
|
843
|
-
// data changed
|
|
844
|
-
newState.data = newData;
|
|
845
|
-
}
|
|
846
|
-
if (!config.compare(cache.get(key), newData)) {
|
|
847
|
-
cache.set(key, newData);
|
|
848
|
-
}
|
|
849
|
-
// merge the new state
|
|
850
|
-
dispatch(newState);
|
|
851
|
-
if (!shouldDeduping) {
|
|
852
|
-
// also update other hooks
|
|
853
|
-
broadcastState(key, newData, newState.error, false);
|
|
854
|
-
}
|
|
855
|
-
return [3 /*break*/, 7];
|
|
856
|
-
case 6:
|
|
857
|
-
err_2 = _c.sent();
|
|
858
|
-
delete CONCURRENT_PROMISES[key];
|
|
859
|
-
delete CONCURRENT_PROMISES_TS[key];
|
|
860
|
-
if (configRef.current.isPaused()) {
|
|
861
|
-
dispatch({
|
|
862
|
-
isValidating: false
|
|
863
|
-
});
|
|
864
|
-
return [2 /*return*/, false];
|
|
865
|
-
}
|
|
866
|
-
cache.set(keyErr, err_2);
|
|
867
|
-
// get a new error
|
|
868
|
-
// don't use deep equal for errors
|
|
869
|
-
if (stateRef.current.error !== err_2) {
|
|
870
|
-
// we keep the stale data
|
|
871
|
-
dispatch({
|
|
872
|
-
isValidating: false,
|
|
873
|
-
error: err_2
|
|
874
|
-
});
|
|
875
|
-
if (!shouldDeduping) {
|
|
876
|
-
// also broadcast to update other hooks
|
|
877
|
-
broadcastState(key, undefined, err_2, false);
|
|
878
|
-
}
|
|
879
|
-
}
|
|
880
|
-
// events and retry
|
|
881
|
-
eventsCallback('onError', err_2, key, config);
|
|
882
|
-
if (config.shouldRetryOnError) {
|
|
883
|
-
// when retrying, we always enable deduping
|
|
884
|
-
eventsCallback('onErrorRetry', err_2, key, config, revalidate, {
|
|
885
|
-
retryCount: retryCount + 1,
|
|
886
|
-
dedupe: true
|
|
887
|
-
});
|
|
888
|
-
}
|
|
889
|
-
return [3 /*break*/, 7];
|
|
890
|
-
case 7:
|
|
891
|
-
loading = false;
|
|
892
|
-
return [2 /*return*/, true];
|
|
893
|
-
}
|
|
894
|
-
});
|
|
895
|
-
});
|
|
896
|
-
},
|
|
897
|
-
// dispatch is immutable, and `eventsCallback`, `fnArgs`, `keyErr`, and `keyValidating` are based on `key`,
|
|
898
|
-
// so we can them from the deps array.
|
|
899
|
-
//
|
|
900
|
-
// FIXME:
|
|
901
|
-
// `fn` and `config` might be changed during the lifecycle,
|
|
902
|
-
// but they might be changed every render like this.
|
|
903
|
-
// useSWR('key', () => fetch('/api/'), { suspense: true })
|
|
904
|
-
// So we omit the values from the deps array
|
|
905
|
-
// even though it might cause unexpected behaviors.
|
|
906
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
907
|
-
[key]);
|
|
908
|
-
// mounted (client side rendering)
|
|
909
|
-
useIsomorphicLayoutEffect(function () {
|
|
910
|
-
if (!key)
|
|
911
|
-
return undefined;
|
|
912
|
-
// after `key` updates, we need to mark it as mounted
|
|
913
|
-
unmountedRef.current = false;
|
|
914
|
-
var isUpdating = initialMountedRef.current;
|
|
915
|
-
initialMountedRef.current = true;
|
|
916
|
-
// after the component is mounted (hydrated),
|
|
917
|
-
// we need to update the data from the cache
|
|
918
|
-
// and trigger a revalidation
|
|
919
|
-
var currentHookData = stateRef.current.data;
|
|
920
|
-
var latestKeyedData = resolveData();
|
|
921
|
-
// update the state if the key changed (not the inital render) or cache updated
|
|
922
|
-
keyRef.current = key;
|
|
923
|
-
if (!config.compare(currentHookData, latestKeyedData)) {
|
|
924
|
-
dispatch({ data: latestKeyedData });
|
|
925
|
-
}
|
|
926
|
-
// revalidate with deduping
|
|
927
|
-
var softRevalidate = function () { return revalidate({ dedupe: true }); };
|
|
928
|
-
// trigger a revalidation
|
|
929
|
-
if (isUpdating || willRevalidateOnMount()) {
|
|
930
|
-
if (typeof latestKeyedData !== 'undefined' && !IS_SERVER) {
|
|
931
|
-
// delay revalidate if there's cache
|
|
932
|
-
// to not block the rendering
|
|
933
|
-
// @ts-ignore it's safe to use requestAnimationFrame in browser
|
|
934
|
-
rAF(softRevalidate);
|
|
935
|
-
}
|
|
936
|
-
else {
|
|
937
|
-
softRevalidate();
|
|
938
|
-
}
|
|
939
|
-
}
|
|
940
|
-
var pending = false;
|
|
941
|
-
var onFocus = function () {
|
|
942
|
-
if (pending || !configRef.current.revalidateOnFocus)
|
|
943
|
-
return;
|
|
944
|
-
pending = true;
|
|
945
|
-
softRevalidate();
|
|
946
|
-
setTimeout(function () { return (pending = false); }, configRef.current.focusThrottleInterval);
|
|
947
|
-
};
|
|
948
|
-
var onReconnect = function () {
|
|
949
|
-
if (configRef.current.revalidateOnReconnect) {
|
|
950
|
-
softRevalidate();
|
|
951
|
-
}
|
|
952
|
-
};
|
|
953
|
-
// register global cache update listener
|
|
954
|
-
var onUpdate = function (shouldRevalidate, updatedData, updatedError, updatedIsValidating, dedupe) {
|
|
955
|
-
if (shouldRevalidate === void 0) { shouldRevalidate = true; }
|
|
956
|
-
if (dedupe === void 0) { dedupe = true; }
|
|
957
|
-
// update hook state
|
|
958
|
-
var newState = {};
|
|
959
|
-
var needUpdate = false;
|
|
960
|
-
if (typeof updatedData !== 'undefined' &&
|
|
961
|
-
!config.compare(stateRef.current.data, updatedData)) {
|
|
962
|
-
newState.data = updatedData;
|
|
963
|
-
needUpdate = true;
|
|
964
|
-
}
|
|
965
|
-
// always update error
|
|
966
|
-
// because it can be `undefined`
|
|
967
|
-
if (stateRef.current.error !== updatedError) {
|
|
968
|
-
newState.error = updatedError;
|
|
969
|
-
needUpdate = true;
|
|
970
|
-
}
|
|
971
|
-
if (typeof updatedIsValidating !== 'undefined' &&
|
|
972
|
-
stateRef.current.isValidating !== updatedIsValidating) {
|
|
973
|
-
newState.isValidating = updatedIsValidating;
|
|
974
|
-
needUpdate = true;
|
|
975
|
-
}
|
|
976
|
-
if (needUpdate) {
|
|
977
|
-
dispatch(newState);
|
|
978
|
-
}
|
|
979
|
-
if (shouldRevalidate) {
|
|
980
|
-
if (dedupe) {
|
|
981
|
-
return softRevalidate();
|
|
982
|
-
}
|
|
983
|
-
else {
|
|
984
|
-
return revalidate();
|
|
985
|
-
}
|
|
986
|
-
}
|
|
987
|
-
return false;
|
|
988
|
-
};
|
|
989
|
-
var unsubFocus = addRevalidator(FOCUS_REVALIDATORS, onFocus);
|
|
990
|
-
var unsubReconnect = addRevalidator(RECONNECT_REVALIDATORS, onReconnect);
|
|
991
|
-
var unsubUpdate = addRevalidator(CACHE_REVALIDATORS, onUpdate);
|
|
992
|
-
return function () {
|
|
993
|
-
// cleanup
|
|
994
|
-
dispatch = function () { return null; };
|
|
995
|
-
// mark it as unmounted
|
|
996
|
-
unmountedRef.current = true;
|
|
997
|
-
unsubFocus();
|
|
998
|
-
unsubReconnect();
|
|
999
|
-
unsubUpdate();
|
|
1000
|
-
};
|
|
1001
|
-
}, [key, revalidate]);
|
|
1002
|
-
useIsomorphicLayoutEffect(function () {
|
|
1003
|
-
var timer = null;
|
|
1004
|
-
var tick = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
1005
|
-
return __generator(this, function (_a) {
|
|
1006
|
-
switch (_a.label) {
|
|
1007
|
-
case 0:
|
|
1008
|
-
if (!(!stateRef.current.error &&
|
|
1009
|
-
(configRef.current.refreshWhenHidden ||
|
|
1010
|
-
configRef.current.isDocumentVisible()) &&
|
|
1011
|
-
(configRef.current.refreshWhenOffline || configRef.current.isOnline()))) return [3 /*break*/, 2];
|
|
1012
|
-
// only revalidate when the page is visible
|
|
1013
|
-
// if API request errored, we stop polling in this round
|
|
1014
|
-
// and let the error retry function handle it
|
|
1015
|
-
return [4 /*yield*/, revalidate({ dedupe: true })];
|
|
1016
|
-
case 1:
|
|
1017
|
-
// only revalidate when the page is visible
|
|
1018
|
-
// if API request errored, we stop polling in this round
|
|
1019
|
-
// and let the error retry function handle it
|
|
1020
|
-
_a.sent();
|
|
1021
|
-
_a.label = 2;
|
|
1022
|
-
case 2:
|
|
1023
|
-
// Read the latest refreshInterval
|
|
1024
|
-
if (configRef.current.refreshInterval && timer) {
|
|
1025
|
-
timer = setTimeout(tick, configRef.current.refreshInterval);
|
|
1026
|
-
}
|
|
1027
|
-
return [2 /*return*/];
|
|
1028
|
-
}
|
|
1029
|
-
});
|
|
1030
|
-
}); };
|
|
1031
|
-
if (configRef.current.refreshInterval) {
|
|
1032
|
-
timer = setTimeout(tick, configRef.current.refreshInterval);
|
|
1033
|
-
}
|
|
1034
|
-
return function () {
|
|
1035
|
-
if (timer) {
|
|
1036
|
-
clearTimeout(timer);
|
|
1037
|
-
timer = null;
|
|
1038
|
-
}
|
|
1039
|
-
};
|
|
1040
|
-
}, [
|
|
1041
|
-
config.refreshInterval,
|
|
1042
|
-
config.refreshWhenHidden,
|
|
1043
|
-
config.refreshWhenOffline,
|
|
1044
|
-
revalidate
|
|
1045
|
-
]);
|
|
1046
|
-
// suspense
|
|
1047
|
-
var latestData;
|
|
1048
|
-
var latestError;
|
|
1049
|
-
if (config.suspense) {
|
|
1050
|
-
// in suspense mode, we can't return empty state
|
|
1051
|
-
// (it should be suspended)
|
|
1052
|
-
// try to get data and error from cache
|
|
1053
|
-
latestData = cache.get(key);
|
|
1054
|
-
latestError = cache.get(keyErr);
|
|
1055
|
-
if (typeof latestData === 'undefined') {
|
|
1056
|
-
latestData = initialData;
|
|
1057
|
-
}
|
|
1058
|
-
if (typeof latestError === 'undefined') {
|
|
1059
|
-
latestError = initialError;
|
|
1060
|
-
}
|
|
1061
|
-
if (typeof latestData === 'undefined' &&
|
|
1062
|
-
typeof latestError === 'undefined') {
|
|
1063
|
-
// need to start the request if it hasn't
|
|
1064
|
-
if (!CONCURRENT_PROMISES[key]) {
|
|
1065
|
-
// trigger revalidate immediately
|
|
1066
|
-
// to get the promise
|
|
1067
|
-
// in this revalidate, should not rerender
|
|
1068
|
-
revalidate();
|
|
1069
|
-
}
|
|
1070
|
-
if (CONCURRENT_PROMISES[key] &&
|
|
1071
|
-
typeof CONCURRENT_PROMISES[key].then === 'function') {
|
|
1072
|
-
// if it is a promise
|
|
1073
|
-
throw CONCURRENT_PROMISES[key];
|
|
1074
|
-
}
|
|
1075
|
-
// it's a value, return it directly (override)
|
|
1076
|
-
latestData = CONCURRENT_PROMISES[key];
|
|
1077
|
-
}
|
|
1078
|
-
if (typeof latestData === 'undefined' && latestError) {
|
|
1079
|
-
// in suspense mode, throw error if there's no content
|
|
1080
|
-
throw latestError;
|
|
1081
|
-
}
|
|
1082
|
-
}
|
|
1083
|
-
// define returned state
|
|
1084
|
-
// can be memorized since the state is a ref
|
|
1085
|
-
var memoizedState = React.useMemo(function () {
|
|
1086
|
-
// revalidate will be deprecated in the 1.x release
|
|
1087
|
-
// because mutate() covers the same use case of revalidate().
|
|
1088
|
-
// This remains only for backward compatibility
|
|
1089
|
-
var state = { revalidate: revalidate, mutate: boundMutate };
|
|
1090
|
-
Object.defineProperties(state, {
|
|
1091
|
-
error: {
|
|
1092
|
-
// `key` might be changed in the upcoming hook re-render,
|
|
1093
|
-
// but the previous state will stay
|
|
1094
|
-
// so we need to match the latest key and data (fallback to `initialData`)
|
|
1095
|
-
get: function () {
|
|
1096
|
-
stateDependencies.current.error = true;
|
|
1097
|
-
if (config.suspense) {
|
|
1098
|
-
return latestError;
|
|
1099
|
-
}
|
|
1100
|
-
return keyRef.current === key ? stateRef.current.error : initialError;
|
|
1101
|
-
},
|
|
1102
|
-
enumerable: true
|
|
1103
|
-
},
|
|
1104
|
-
data: {
|
|
1105
|
-
get: function () {
|
|
1106
|
-
stateDependencies.current.data = true;
|
|
1107
|
-
if (config.suspense) {
|
|
1108
|
-
return latestData;
|
|
1109
|
-
}
|
|
1110
|
-
return keyRef.current === key ? stateRef.current.data : initialData;
|
|
1111
|
-
},
|
|
1112
|
-
enumerable: true
|
|
1113
|
-
},
|
|
1114
|
-
isValidating: {
|
|
1115
|
-
get: function () {
|
|
1116
|
-
stateDependencies.current.isValidating = true;
|
|
1117
|
-
return key ? stateRef.current.isValidating : false;
|
|
1118
|
-
},
|
|
1119
|
-
enumerable: true
|
|
1120
|
-
}
|
|
1121
|
-
});
|
|
1122
|
-
return state;
|
|
1123
|
-
// `config.suspense` isn't allowed to change during the lifecycle.
|
|
1124
|
-
// `boundMutate` is immutable, and the immutability of `revalidate` depends on `key`
|
|
1125
|
-
// so we can omit them from the deps array,
|
|
1126
|
-
// but we put it to enable react-hooks/exhaustive-deps rule.
|
|
1127
|
-
// `initialData` and `initialError` are not initial values
|
|
1128
|
-
// because they are changed during the lifecycle
|
|
1129
|
-
// so we should add them in the deps array.
|
|
1130
|
-
}, [
|
|
1131
|
-
revalidate,
|
|
1132
|
-
initialData,
|
|
1133
|
-
initialError,
|
|
1134
|
-
boundMutate,
|
|
1135
|
-
key,
|
|
1136
|
-
config.suspense,
|
|
1137
|
-
latestError,
|
|
1138
|
-
latestData
|
|
1139
|
-
]);
|
|
1140
|
-
return memoizedState;
|
|
1141
|
-
}
|
|
1142
|
-
Object.defineProperty(SWRConfigContext.Provider, 'default', {
|
|
1143
|
-
value: defaultConfig
|
|
1144
|
-
});
|
|
1145
|
-
var SWRConfig = SWRConfigContext.Provider;
|
|
1146
|
-
|
|
1147
|
-
var __awaiter$1 = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
1148
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
1149
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
1150
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
1151
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
1152
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
1153
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
1154
|
-
});
|
|
1155
|
-
};
|
|
1156
|
-
var __generator$1 = (undefined && undefined.__generator) || function (thisArg, body) {
|
|
1157
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
1158
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
1159
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
1160
|
-
function step(op) {
|
|
1161
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
1162
|
-
while (_) try {
|
|
1163
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
1164
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
1165
|
-
switch (op[0]) {
|
|
1166
|
-
case 0: case 1: t = op; break;
|
|
1167
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
1168
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
1169
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
1170
|
-
default:
|
|
1171
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
1172
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
1173
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
1174
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
1175
|
-
if (t[2]) _.ops.pop();
|
|
1176
|
-
_.trys.pop(); continue;
|
|
1177
|
-
}
|
|
1178
|
-
op = body.call(thisArg, _);
|
|
1179
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
1180
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
1181
|
-
}
|
|
1182
|
-
};
|
|
1183
|
-
var __rest = (undefined && undefined.__rest) || function (s, e) {
|
|
1184
|
-
var t = {};
|
|
1185
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
1186
|
-
t[p] = s[p];
|
|
1187
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
1188
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
1189
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
1190
|
-
t[p[i]] = s[p[i]];
|
|
1191
|
-
}
|
|
1192
|
-
return t;
|
|
1193
|
-
};
|
|
1194
|
-
|
|
1195
151
|
var _this = undefined;
|
|
1196
152
|
|
|
1197
153
|
var dataHandler = function () {
|
|
@@ -1271,7 +227,7 @@ function useUser() {
|
|
|
1271
227
|
redirectTo = _ref.redirectTo,
|
|
1272
228
|
redirectIfFound = _ref.redirectIfFound;
|
|
1273
229
|
|
|
1274
|
-
var _useSWR =
|
|
230
|
+
var _useSWR = useSWR__default['default']('/api/auth/user', dataHandler),
|
|
1275
231
|
data = _useSWR.data,
|
|
1276
232
|
error = _useSWR.error;
|
|
1277
233
|
|
|
@@ -1286,7 +242,7 @@ function useUser() {
|
|
|
1286
242
|
redirectTo && !redirectIfFound && !hasUser ||
|
|
1287
243
|
// If redirectIfFound is also set, redirect if the user was found
|
|
1288
244
|
redirectIfFound && hasUser) {
|
|
1289
|
-
Router__default.push(redirectTo);
|
|
245
|
+
Router__default['default'].push(redirectTo);
|
|
1290
246
|
}
|
|
1291
247
|
}, [redirectTo, redirectIfFound, finished, hasUser]);
|
|
1292
248
|
|
|
@@ -1392,43 +348,43 @@ var LoginForm = function LoginForm(props) {
|
|
|
1392
348
|
loading = _useState4[0],
|
|
1393
349
|
setLoading = _useState4[1];
|
|
1394
350
|
|
|
1395
|
-
return React__default.createElement(
|
|
351
|
+
return React__default['default'].createElement(
|
|
1396
352
|
reactBootstrap.Form,
|
|
1397
353
|
{ className: 'login', onSubmit: handleSubmit },
|
|
1398
|
-
React__default.createElement(
|
|
354
|
+
React__default['default'].createElement(
|
|
1399
355
|
'h1',
|
|
1400
356
|
null,
|
|
1401
357
|
'Login'
|
|
1402
358
|
),
|
|
1403
|
-
React__default.createElement('hr', null),
|
|
359
|
+
React__default['default'].createElement('hr', null),
|
|
1404
360
|
returnFormField({ name: 'email', label: 'Email', type: 'email', required: true }),
|
|
1405
361
|
returnFormField({ name: 'password', label: 'Password', type: 'password', required: true }),
|
|
1406
|
-
React__default.createElement('hr', null),
|
|
1407
|
-
React__default.createElement(
|
|
362
|
+
React__default['default'].createElement('hr', null),
|
|
363
|
+
React__default['default'].createElement(
|
|
1408
364
|
reactBootstrap.Form.Row,
|
|
1409
365
|
null,
|
|
1410
|
-
React__default.createElement(
|
|
366
|
+
React__default['default'].createElement(
|
|
1411
367
|
reactBootstrap.Form.Group,
|
|
1412
368
|
{ as: reactBootstrap.Col },
|
|
1413
|
-
React__default.createElement(
|
|
369
|
+
React__default['default'].createElement(
|
|
1414
370
|
'a',
|
|
1415
371
|
{ href: '/auth/signup' },
|
|
1416
372
|
'I don\'t have an account'
|
|
1417
373
|
)
|
|
1418
374
|
),
|
|
1419
|
-
React__default.createElement(
|
|
375
|
+
React__default['default'].createElement(
|
|
1420
376
|
reactBootstrap.Form.Group,
|
|
1421
377
|
{ as: reactBootstrap.Col, className: 'text-right' },
|
|
1422
|
-
!loading && React__default.createElement(
|
|
378
|
+
!loading && React__default['default'].createElement(
|
|
1423
379
|
reactBootstrap.Button,
|
|
1424
380
|
{ type: 'submit' },
|
|
1425
381
|
'Login'
|
|
1426
382
|
),
|
|
1427
|
-
loading && React__default.createElement(
|
|
383
|
+
loading && React__default['default'].createElement(
|
|
1428
384
|
reactBootstrap.Button,
|
|
1429
385
|
{ variant: 'primary', disabled: true },
|
|
1430
|
-
React__default.createElement(reactBootstrap.Spinner, { as: 'span', animation: 'border', role: 'status', 'aria-hidden': 'true', size: 'sm' }),
|
|
1431
|
-
React__default.createElement(
|
|
386
|
+
React__default['default'].createElement(reactBootstrap.Spinner, { as: 'span', animation: 'border', role: 'status', 'aria-hidden': 'true', size: 'sm' }),
|
|
387
|
+
React__default['default'].createElement(
|
|
1432
388
|
'span',
|
|
1433
389
|
{ className: 'sr-only' },
|
|
1434
390
|
'Loading...'
|
|
@@ -1436,12 +392,12 @@ var LoginForm = function LoginForm(props) {
|
|
|
1436
392
|
)
|
|
1437
393
|
)
|
|
1438
394
|
),
|
|
1439
|
-
errorMsg && React__default.createElement(
|
|
395
|
+
errorMsg && React__default['default'].createElement(
|
|
1440
396
|
'p',
|
|
1441
397
|
{ className: 'error' },
|
|
1442
398
|
errorMsg
|
|
1443
399
|
),
|
|
1444
|
-
React__default.createElement(
|
|
400
|
+
React__default['default'].createElement(
|
|
1445
401
|
'style',
|
|
1446
402
|
{ jsx: 'true'.toString() },
|
|
1447
403
|
'\n .login {\n margin: 0 auto;\n padding: 1rem;\n border: 1px solid #ccc;\n border-radius: 4px;\n }\n .error {\n color: red;\n margin: 1rem 0 0;\n }\n '
|
|
@@ -1697,29 +653,29 @@ var SignupForm = function SignupForm(props) {
|
|
|
1697
653
|
loading = _useState14[0],
|
|
1698
654
|
setLoading = _useState14[1];
|
|
1699
655
|
|
|
1700
|
-
return React__default.createElement(
|
|
656
|
+
return React__default['default'].createElement(
|
|
1701
657
|
reactBootstrap.Form,
|
|
1702
658
|
{ className: 'login', id: 'signupForm', onSubmit: handleSubmit },
|
|
1703
|
-
React__default.createElement(
|
|
659
|
+
React__default['default'].createElement(
|
|
1704
660
|
'h1',
|
|
1705
661
|
null,
|
|
1706
662
|
'Sign Up'
|
|
1707
663
|
),
|
|
1708
|
-
React__default.createElement('hr', null),
|
|
664
|
+
React__default['default'].createElement('hr', null),
|
|
1709
665
|
returnFormField({ name: 'email', label: 'Email', type: 'email', required: true }),
|
|
1710
|
-
React__default.createElement(
|
|
666
|
+
React__default['default'].createElement(
|
|
1711
667
|
reactBootstrap.Form.Row,
|
|
1712
668
|
null,
|
|
1713
669
|
returnFormField({ name: 'password', label: 'Password', type: 'password', groupType: reactBootstrap.Col, required: true }),
|
|
1714
670
|
returnFormField({ name: 'rpassword', label: 'Retype Password', type: 'password', groupType: reactBootstrap.Col, required: true })
|
|
1715
671
|
),
|
|
1716
|
-
React__default.createElement(
|
|
672
|
+
React__default['default'].createElement(
|
|
1717
673
|
reactBootstrap.Form.Row,
|
|
1718
674
|
null,
|
|
1719
675
|
returnFormField({ name: 'first_name', label: 'First Name', type: 'text', groupType: reactBootstrap.Col, required: true }),
|
|
1720
676
|
returnFormField({ name: 'last_name', label: 'Last Name', type: 'text', groupType: reactBootstrap.Col, required: true })
|
|
1721
677
|
),
|
|
1722
|
-
React__default.createElement(
|
|
678
|
+
React__default['default'].createElement(
|
|
1723
679
|
reactBootstrap.Form.Row,
|
|
1724
680
|
null,
|
|
1725
681
|
returnFormField({
|
|
@@ -1733,7 +689,7 @@ var SignupForm = function SignupForm(props) {
|
|
|
1733
689
|
}),
|
|
1734
690
|
countryUS && returnFormField({ name: 'state', label: 'State', type: 'select', required: true, groupType: reactBootstrap.Col, options: states })
|
|
1735
691
|
),
|
|
1736
|
-
React__default.createElement(
|
|
692
|
+
React__default['default'].createElement(
|
|
1737
693
|
reactBootstrap.Form.Row,
|
|
1738
694
|
null,
|
|
1739
695
|
countryUS && returnFormField({ name: 'zip', label: 'Working Zip Code', type: 'text', required: true, groupType: reactBootstrap.Col }),
|
|
@@ -1780,38 +736,38 @@ var SignupForm = function SignupForm(props) {
|
|
|
1780
736
|
required: true,
|
|
1781
737
|
options: [{ label: 'By registering you agree to our <a href="/terms" style="color:blue">Terms and Conditions</a> and <a href="/privacy" style="color:blue">Privacy Policy</a> and understand that you will be receiving email communications', value: 'Y' }]
|
|
1782
738
|
}),
|
|
1783
|
-
React__default.createElement('hr', null),
|
|
1784
|
-
React__default.createElement(
|
|
739
|
+
React__default['default'].createElement('hr', null),
|
|
740
|
+
React__default['default'].createElement(
|
|
1785
741
|
reactBootstrap.Form.Row,
|
|
1786
742
|
null,
|
|
1787
|
-
React__default.createElement(
|
|
743
|
+
React__default['default'].createElement(
|
|
1788
744
|
reactBootstrap.Form.Group,
|
|
1789
745
|
{ as: reactBootstrap.Col },
|
|
1790
|
-
React__default.createElement(
|
|
746
|
+
React__default['default'].createElement(
|
|
1791
747
|
'a',
|
|
1792
748
|
{ href: '/auth/login' },
|
|
1793
749
|
'I already have an account'
|
|
1794
750
|
)
|
|
1795
751
|
),
|
|
1796
|
-
React__default.createElement(
|
|
752
|
+
React__default['default'].createElement(
|
|
1797
753
|
reactBootstrap.Form.Group,
|
|
1798
754
|
{ as: reactBootstrap.Col, className: 'text-right' },
|
|
1799
|
-
!loading && React__default.createElement(
|
|
755
|
+
!loading && React__default['default'].createElement(
|
|
1800
756
|
reactBootstrap.Button,
|
|
1801
757
|
{ type: 'submit' },
|
|
1802
758
|
'Sign Up'
|
|
1803
759
|
),
|
|
1804
|
-
loading && React__default.createElement(
|
|
760
|
+
loading && React__default['default'].createElement(
|
|
1805
761
|
reactBootstrap.Button,
|
|
1806
762
|
{ variant: 'primary', disabled: true },
|
|
1807
|
-
React__default.createElement(reactBootstrap.Spinner, {
|
|
763
|
+
React__default['default'].createElement(reactBootstrap.Spinner, {
|
|
1808
764
|
as: 'span',
|
|
1809
765
|
animation: 'border',
|
|
1810
766
|
role: 'status',
|
|
1811
767
|
'aria-hidden': 'true',
|
|
1812
768
|
size: 'sm'
|
|
1813
769
|
}),
|
|
1814
|
-
React__default.createElement(
|
|
770
|
+
React__default['default'].createElement(
|
|
1815
771
|
'span',
|
|
1816
772
|
{ className: 'sr-only' },
|
|
1817
773
|
'Loading...'
|
|
@@ -1819,12 +775,12 @@ var SignupForm = function SignupForm(props) {
|
|
|
1819
775
|
)
|
|
1820
776
|
)
|
|
1821
777
|
),
|
|
1822
|
-
errorMsg && React__default.createElement(
|
|
778
|
+
errorMsg && React__default['default'].createElement(
|
|
1823
779
|
'p',
|
|
1824
780
|
{ className: 'error' },
|
|
1825
781
|
errorMsg
|
|
1826
782
|
),
|
|
1827
|
-
React__default.createElement(
|
|
783
|
+
React__default['default'].createElement(
|
|
1828
784
|
'style',
|
|
1829
785
|
{ jsx: 'true'.toString() },
|
|
1830
786
|
' \n .login {\n margin: 0 auto;\n padding: 1rem;\n border: 1px solid #ccc;\n border-radius: 4px;\n }\n .error {\n color: red;\n margin: 1rem 0 0;\n }\n '
|
|
@@ -2114,32 +1070,32 @@ var SignupForm$1 = function SignupForm(props) {
|
|
|
2114
1070
|
loading = _useState18[0],
|
|
2115
1071
|
setLoading = _useState18[1];
|
|
2116
1072
|
|
|
2117
|
-
return React__default.createElement(
|
|
1073
|
+
return React__default['default'].createElement(
|
|
2118
1074
|
reactBootstrap.Form,
|
|
2119
1075
|
{ className: 'login', id: 'signupForm', onSubmit: handleSubmit },
|
|
2120
|
-
React__default.createElement(
|
|
1076
|
+
React__default['default'].createElement(
|
|
2121
1077
|
'h1',
|
|
2122
1078
|
null,
|
|
2123
1079
|
'Profile'
|
|
2124
1080
|
),
|
|
2125
|
-
React__default.createElement('hr', null),
|
|
2126
|
-
userData ? React__default.createElement(
|
|
2127
|
-
React__default.Fragment,
|
|
1081
|
+
React__default['default'].createElement('hr', null),
|
|
1082
|
+
userData ? React__default['default'].createElement(
|
|
1083
|
+
React__default['default'].Fragment,
|
|
2128
1084
|
null,
|
|
2129
1085
|
returnFormField({ name: 'email', label: 'Email', type: 'email', required: true, readonly: true, default_value: userData.email }),
|
|
2130
|
-
React__default.createElement(
|
|
1086
|
+
React__default['default'].createElement(
|
|
2131
1087
|
reactBootstrap.Form.Row,
|
|
2132
1088
|
null,
|
|
2133
1089
|
returnFormField({ name: 'password', label: 'Password', type: 'password', groupType: reactBootstrap.Col, required: false }),
|
|
2134
1090
|
returnFormField({ name: 'rpassword', label: 'Retype Password', type: 'password', groupType: reactBootstrap.Col, required: false })
|
|
2135
1091
|
),
|
|
2136
|
-
React__default.createElement(
|
|
1092
|
+
React__default['default'].createElement(
|
|
2137
1093
|
reactBootstrap.Form.Row,
|
|
2138
1094
|
null,
|
|
2139
1095
|
returnFormField({ name: 'first_name', label: 'First Name', type: 'text', groupType: reactBootstrap.Col, required: true, default_value: userData.shared.first_name }),
|
|
2140
1096
|
returnFormField({ name: 'last_name', label: 'Last Name', type: 'text', groupType: reactBootstrap.Col, required: true, default_value: userData.shared.last_name })
|
|
2141
1097
|
),
|
|
2142
|
-
React__default.createElement(
|
|
1098
|
+
React__default['default'].createElement(
|
|
2143
1099
|
reactBootstrap.Form.Row,
|
|
2144
1100
|
null,
|
|
2145
1101
|
returnFormField({
|
|
@@ -2154,7 +1110,7 @@ var SignupForm$1 = function SignupForm(props) {
|
|
|
2154
1110
|
}),
|
|
2155
1111
|
countryUS && returnFormField({ name: 'state', label: 'State', type: 'select', required: true, groupType: reactBootstrap.Col, options: states, default_value: userData.shared.state })
|
|
2156
1112
|
),
|
|
2157
|
-
React__default.createElement(
|
|
1113
|
+
React__default['default'].createElement(
|
|
2158
1114
|
reactBootstrap.Form.Row,
|
|
2159
1115
|
null,
|
|
2160
1116
|
countryUS && returnFormField({ name: 'zip', label: 'Working Zip Code', type: 'text', required: true, groupType: reactBootstrap.Col, default_value: userData.shared.zip }),
|
|
@@ -2204,29 +1160,29 @@ var SignupForm$1 = function SignupForm(props) {
|
|
|
2204
1160
|
required: true,
|
|
2205
1161
|
options: [{ label: 'By registering you agree to our <a href="/terms">Terms and Conditions</a> and <a href="/privacy">Privacy Policy</a> and understand that you will be receiving email communications', value: 'Y' }]
|
|
2206
1162
|
}),
|
|
2207
|
-
React__default.createElement('hr', null),
|
|
2208
|
-
React__default.createElement(
|
|
1163
|
+
React__default['default'].createElement('hr', null),
|
|
1164
|
+
React__default['default'].createElement(
|
|
2209
1165
|
reactBootstrap.Form.Row,
|
|
2210
1166
|
null,
|
|
2211
|
-
React__default.createElement(
|
|
1167
|
+
React__default['default'].createElement(
|
|
2212
1168
|
reactBootstrap.Form.Group,
|
|
2213
1169
|
{ as: reactBootstrap.Col },
|
|
2214
|
-
!loading && React__default.createElement(
|
|
1170
|
+
!loading && React__default['default'].createElement(
|
|
2215
1171
|
reactBootstrap.Button,
|
|
2216
1172
|
{ type: 'submit' },
|
|
2217
1173
|
'Update'
|
|
2218
1174
|
),
|
|
2219
|
-
loading && React__default.createElement(
|
|
1175
|
+
loading && React__default['default'].createElement(
|
|
2220
1176
|
reactBootstrap.Button,
|
|
2221
1177
|
{ variant: 'primary', disabled: true },
|
|
2222
|
-
React__default.createElement(reactBootstrap.Spinner, {
|
|
1178
|
+
React__default['default'].createElement(reactBootstrap.Spinner, {
|
|
2223
1179
|
as: 'span',
|
|
2224
1180
|
animation: 'border',
|
|
2225
1181
|
role: 'status',
|
|
2226
1182
|
'aria-hidden': 'true',
|
|
2227
1183
|
size: 'sm'
|
|
2228
1184
|
}),
|
|
2229
|
-
React__default.createElement(
|
|
1185
|
+
React__default['default'].createElement(
|
|
2230
1186
|
'span',
|
|
2231
1187
|
{ className: 'sr-only' },
|
|
2232
1188
|
'Loading...'
|
|
@@ -2234,24 +1190,24 @@ var SignupForm$1 = function SignupForm(props) {
|
|
|
2234
1190
|
)
|
|
2235
1191
|
)
|
|
2236
1192
|
)
|
|
2237
|
-
) : React__default.createElement(reactBootstrap.Spinner, {
|
|
1193
|
+
) : React__default['default'].createElement(reactBootstrap.Spinner, {
|
|
2238
1194
|
as: 'span',
|
|
2239
1195
|
animation: 'border',
|
|
2240
1196
|
role: 'status',
|
|
2241
1197
|
'aria-hidden': 'true',
|
|
2242
1198
|
size: 'sm'
|
|
2243
1199
|
}),
|
|
2244
|
-
errorMsg && React__default.createElement(
|
|
1200
|
+
errorMsg && React__default['default'].createElement(
|
|
2245
1201
|
'p',
|
|
2246
1202
|
{ className: 'error' },
|
|
2247
1203
|
errorMsg
|
|
2248
1204
|
),
|
|
2249
|
-
successMsg && React__default.createElement(
|
|
1205
|
+
successMsg && React__default['default'].createElement(
|
|
2250
1206
|
'p',
|
|
2251
1207
|
{ className: 'success' },
|
|
2252
1208
|
successMsg
|
|
2253
1209
|
),
|
|
2254
|
-
React__default.createElement(
|
|
1210
|
+
React__default['default'].createElement(
|
|
2255
1211
|
'style',
|
|
2256
1212
|
{ jsx: 'true'.toString() },
|
|
2257
1213
|
' \n .login {\n margin: 0 auto;\n padding: 1rem;\n border: 1px solid #ccc;\n border-radius: 4px;\n }\n .error {\n color: red;\n margin: 1rem 0 0;\n }\n .success {\n color: green;\n margin: 1rem 0 0;\n }\n '
|
|
@@ -2264,7 +1220,7 @@ var MAX_AGE = 60 * 60 * 8; // 8 hours
|
|
|
2264
1220
|
|
|
2265
1221
|
function setTokenCookie(res, token, eKey) {
|
|
2266
1222
|
var cookies_serailized = [];
|
|
2267
|
-
cookies_serailized.push(index
|
|
1223
|
+
cookies_serailized.push(index.serialize_1(TOKEN_NAME, token, {
|
|
2268
1224
|
//maxAge: MAX_AGE, // we want login cookie to expire when browser
|
|
2269
1225
|
//expires: new Date(Date.now() + MAX_AGE * 1000),
|
|
2270
1226
|
//httpOnly: true,
|
|
@@ -2273,7 +1229,7 @@ function setTokenCookie(res, token, eKey) {
|
|
|
2273
1229
|
//sameSite: 'lax',
|
|
2274
1230
|
}));
|
|
2275
1231
|
|
|
2276
|
-
cookies_serailized.push(index
|
|
1232
|
+
cookies_serailized.push(index.serialize_1('eKey', eKey, {
|
|
2277
1233
|
//maxAge: MAX_AGE, // we want login cookie to expire when browser
|
|
2278
1234
|
//expires: new Date(Date.now() + MAX_AGE * 1000),
|
|
2279
1235
|
//httpOnly: true,
|
|
@@ -2287,12 +1243,12 @@ function setTokenCookie(res, token, eKey) {
|
|
|
2287
1243
|
|
|
2288
1244
|
function removeTokenCookie(res) {
|
|
2289
1245
|
var cookies_serailized = [];
|
|
2290
|
-
cookies_serailized.push(index
|
|
1246
|
+
cookies_serailized.push(index.serialize_1(TOKEN_NAME, '', {
|
|
2291
1247
|
maxAge: -1,
|
|
2292
1248
|
expires: new Date(Date.now() - MAX_AGE * 1000),
|
|
2293
1249
|
path: '/'
|
|
2294
1250
|
}));
|
|
2295
|
-
cookies_serailized.push(index
|
|
1251
|
+
cookies_serailized.push(index.serialize_1('eKey', '', {
|
|
2296
1252
|
maxAge: -1,
|
|
2297
1253
|
expires: new Date(Date.now() - MAX_AGE * 1000),
|
|
2298
1254
|
path: '/'
|
|
@@ -2307,7 +1263,7 @@ function parseCookies(req) {
|
|
|
2307
1263
|
|
|
2308
1264
|
// For pages we do need to parse the cookies.
|
|
2309
1265
|
var cookie = req.headers ? req.headers.cookie : null;
|
|
2310
|
-
return index
|
|
1266
|
+
return index.parse_1(cookie || '');
|
|
2311
1267
|
}
|
|
2312
1268
|
|
|
2313
1269
|
function getTokenCookie(req) {
|
|
@@ -2388,7 +1344,7 @@ var isArguments = function isArguments(value) {
|
|
|
2388
1344
|
var keysShim;
|
|
2389
1345
|
if (!Object.keys) {
|
|
2390
1346
|
// modified from https://github.com/es-shims/es5-shim
|
|
2391
|
-
var has
|
|
1347
|
+
var has = Object.prototype.hasOwnProperty;
|
|
2392
1348
|
var toStr$1 = Object.prototype.toString;
|
|
2393
1349
|
var isArgs = isArguments; // eslint-disable-line global-require
|
|
2394
1350
|
var isEnumerable = Object.prototype.propertyIsEnumerable;
|
|
@@ -2437,7 +1393,7 @@ if (!Object.keys) {
|
|
|
2437
1393
|
if (typeof window === 'undefined') { return false; }
|
|
2438
1394
|
for (var k in window) {
|
|
2439
1395
|
try {
|
|
2440
|
-
if (!excludedKeys['$' + k] && has
|
|
1396
|
+
if (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {
|
|
2441
1397
|
try {
|
|
2442
1398
|
equalsConstructorPrototype(window[k]);
|
|
2443
1399
|
} catch (e) {
|
|
@@ -2474,7 +1430,7 @@ if (!Object.keys) {
|
|
|
2474
1430
|
}
|
|
2475
1431
|
|
|
2476
1432
|
var skipProto = hasProtoEnumBug && isFunction;
|
|
2477
|
-
if (isString && object.length > 0 && !has
|
|
1433
|
+
if (isString && object.length > 0 && !has.call(object, 0)) {
|
|
2478
1434
|
for (var i = 0; i < object.length; ++i) {
|
|
2479
1435
|
theKeys.push(String(i));
|
|
2480
1436
|
}
|
|
@@ -2486,7 +1442,7 @@ if (!Object.keys) {
|
|
|
2486
1442
|
}
|
|
2487
1443
|
} else {
|
|
2488
1444
|
for (var name in object) {
|
|
2489
|
-
if (!(skipProto && name === 'prototype') && has
|
|
1445
|
+
if (!(skipProto && name === 'prototype') && has.call(object, name)) {
|
|
2490
1446
|
theKeys.push(String(name));
|
|
2491
1447
|
}
|
|
2492
1448
|
}
|
|
@@ -2496,7 +1452,7 @@ if (!Object.keys) {
|
|
|
2496
1452
|
var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);
|
|
2497
1453
|
|
|
2498
1454
|
for (var k = 0; k < dontEnums.length; ++k) {
|
|
2499
|
-
if (!(skipConstructor && dontEnums[k] === 'constructor') && has
|
|
1455
|
+
if (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {
|
|
2500
1456
|
theKeys.push(dontEnums[k]);
|
|
2501
1457
|
}
|
|
2502
1458
|
}
|
|
@@ -2911,16 +1867,16 @@ var GetIntrinsic = function GetIntrinsic(name, allowMissing) {
|
|
|
2911
1867
|
return value;
|
|
2912
1868
|
};
|
|
2913
1869
|
|
|
2914
|
-
var $
|
|
2915
|
-
var $
|
|
2916
|
-
var $
|
|
1870
|
+
var $apply = GetIntrinsic('%Function.prototype.apply%');
|
|
1871
|
+
var $call = GetIntrinsic('%Function.prototype.call%');
|
|
1872
|
+
var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || functionBind.call($call, $apply);
|
|
2917
1873
|
|
|
2918
1874
|
var callBind = function callBind() {
|
|
2919
|
-
return functionBind
|
|
1875
|
+
return $reflectApply(functionBind, $call, arguments);
|
|
2920
1876
|
};
|
|
2921
1877
|
|
|
2922
1878
|
var apply = function applyBind() {
|
|
2923
|
-
return functionBind
|
|
1879
|
+
return $reflectApply(functionBind, $apply, arguments);
|
|
2924
1880
|
};
|
|
2925
1881
|
callBind.apply = apply;
|
|
2926
1882
|
|
|
@@ -3046,7 +2002,7 @@ var Type = function Type(x) {
|
|
|
3046
2002
|
}
|
|
3047
2003
|
};
|
|
3048
2004
|
|
|
3049
|
-
// https://
|
|
2005
|
+
// https://ecma-international.org/ecma-262/6.0/#sec-ecmascript-data-types-and-values
|
|
3050
2006
|
|
|
3051
2007
|
var Type$1 = function Type$1(x) {
|
|
3052
2008
|
if (typeof x === 'symbol') {
|
|
@@ -3115,42 +2071,62 @@ var IsPropertyKey = function IsPropertyKey(argument) {
|
|
|
3115
2071
|
return typeof argument === 'string' || typeof argument === 'symbol';
|
|
3116
2072
|
};
|
|
3117
2073
|
|
|
3118
|
-
var
|
|
3119
|
-
var
|
|
3120
|
-
|
|
3121
|
-
var
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
2074
|
+
var hasSymbols$3 = hasSymbols$1();
|
|
2075
|
+
var hasToStringTag = hasSymbols$3 && typeof Symbol.toStringTag === 'symbol';
|
|
2076
|
+
var hasOwnProperty;
|
|
2077
|
+
var regexExec;
|
|
2078
|
+
var isRegexMarker;
|
|
2079
|
+
var badStringifier;
|
|
2080
|
+
|
|
2081
|
+
if (hasToStringTag) {
|
|
2082
|
+
hasOwnProperty = Function.call.bind(Object.prototype.hasOwnProperty);
|
|
2083
|
+
regexExec = Function.call.bind(RegExp.prototype.exec);
|
|
2084
|
+
isRegexMarker = {};
|
|
2085
|
+
|
|
2086
|
+
var throwRegexMarker = function () {
|
|
2087
|
+
throw isRegexMarker;
|
|
2088
|
+
};
|
|
2089
|
+
badStringifier = {
|
|
2090
|
+
toString: throwRegexMarker,
|
|
2091
|
+
valueOf: throwRegexMarker
|
|
2092
|
+
};
|
|
3125
2093
|
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
} catch (e) {
|
|
3129
|
-
return false;
|
|
3130
|
-
} finally {
|
|
3131
|
-
value.lastIndex = lastIndex; // eslint-disable-line no-param-reassign
|
|
2094
|
+
if (typeof Symbol.toPrimitive === 'symbol') {
|
|
2095
|
+
badStringifier[Symbol.toPrimitive] = throwRegexMarker;
|
|
3132
2096
|
}
|
|
3133
|
-
}
|
|
2097
|
+
}
|
|
2098
|
+
|
|
3134
2099
|
var toStr$5 = Object.prototype.toString;
|
|
2100
|
+
var gOPD = Object.getOwnPropertyDescriptor;
|
|
3135
2101
|
var regexClass = '[object RegExp]';
|
|
3136
|
-
var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
|
|
3137
2102
|
|
|
3138
|
-
var isRegex =
|
|
3139
|
-
|
|
3140
|
-
|
|
3141
|
-
|
|
3142
|
-
|
|
3143
|
-
|
|
3144
|
-
}
|
|
2103
|
+
var isRegex = hasToStringTag
|
|
2104
|
+
// eslint-disable-next-line consistent-return
|
|
2105
|
+
? function isRegex(value) {
|
|
2106
|
+
if (!value || typeof value !== 'object') {
|
|
2107
|
+
return false;
|
|
2108
|
+
}
|
|
3145
2109
|
|
|
3146
|
-
|
|
3147
|
-
|
|
3148
|
-
|
|
3149
|
-
|
|
2110
|
+
var descriptor = gOPD(value, 'lastIndex');
|
|
2111
|
+
var hasLastIndexDataProperty = descriptor && hasOwnProperty(descriptor, 'value');
|
|
2112
|
+
if (!hasLastIndexDataProperty) {
|
|
2113
|
+
return false;
|
|
2114
|
+
}
|
|
2115
|
+
|
|
2116
|
+
try {
|
|
2117
|
+
regexExec(value, badStringifier);
|
|
2118
|
+
} catch (e) {
|
|
2119
|
+
return e === isRegexMarker;
|
|
2120
|
+
}
|
|
3150
2121
|
}
|
|
2122
|
+
: function isRegex(value) {
|
|
2123
|
+
// In older browsers, typeof regex incorrectly returns 'function'
|
|
2124
|
+
if (!value || (typeof value !== 'object' && typeof value !== 'function')) {
|
|
2125
|
+
return false;
|
|
2126
|
+
}
|
|
3151
2127
|
|
|
3152
|
-
|
|
3153
|
-
};
|
|
2128
|
+
return toStr$5.call(value) === regexClass;
|
|
2129
|
+
};
|
|
3154
2130
|
|
|
3155
2131
|
// http://www.ecma-international.org/ecma-262/5.1/#sec-9.2
|
|
3156
2132
|
|
|
@@ -3178,6 +2154,23 @@ var IsRegExp = function IsRegExp(argument) {
|
|
|
3178
2154
|
};
|
|
3179
2155
|
|
|
3180
2156
|
var fnToStr = Function.prototype.toString;
|
|
2157
|
+
var reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;
|
|
2158
|
+
var badArrayLike;
|
|
2159
|
+
var isCallableMarker;
|
|
2160
|
+
if (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {
|
|
2161
|
+
try {
|
|
2162
|
+
badArrayLike = Object.defineProperty({}, 'length', {
|
|
2163
|
+
get: function () {
|
|
2164
|
+
throw isCallableMarker;
|
|
2165
|
+
}
|
|
2166
|
+
});
|
|
2167
|
+
isCallableMarker = {};
|
|
2168
|
+
} catch (_) {
|
|
2169
|
+
reflectApply = null;
|
|
2170
|
+
}
|
|
2171
|
+
} else {
|
|
2172
|
+
reflectApply = null;
|
|
2173
|
+
}
|
|
3181
2174
|
|
|
3182
2175
|
var constructorRegex = /^\s*class\b/;
|
|
3183
2176
|
var isES6ClassFn = function isES6ClassFunction(value) {
|
|
@@ -3203,15 +2196,27 @@ var fnClass = '[object Function]';
|
|
|
3203
2196
|
var genClass = '[object GeneratorFunction]';
|
|
3204
2197
|
var hasToStringTag$1 = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
|
|
3205
2198
|
|
|
3206
|
-
var isCallable =
|
|
3207
|
-
|
|
3208
|
-
|
|
3209
|
-
|
|
3210
|
-
|
|
3211
|
-
|
|
3212
|
-
|
|
3213
|
-
|
|
3214
|
-
}
|
|
2199
|
+
var isCallable = reflectApply
|
|
2200
|
+
? function isCallable(value) {
|
|
2201
|
+
if (!value) { return false; }
|
|
2202
|
+
if (typeof value !== 'function' && typeof value !== 'object') { return false; }
|
|
2203
|
+
if (typeof value === 'function' && !value.prototype) { return true; }
|
|
2204
|
+
try {
|
|
2205
|
+
reflectApply(value, null, badArrayLike);
|
|
2206
|
+
} catch (e) {
|
|
2207
|
+
if (e !== isCallableMarker) { return false; }
|
|
2208
|
+
}
|
|
2209
|
+
return !isES6ClassFn(value);
|
|
2210
|
+
}
|
|
2211
|
+
: function isCallable(value) {
|
|
2212
|
+
if (!value) { return false; }
|
|
2213
|
+
if (typeof value !== 'function' && typeof value !== 'object') { return false; }
|
|
2214
|
+
if (typeof value === 'function' && !value.prototype) { return true; }
|
|
2215
|
+
if (hasToStringTag$1) { return tryFunctionObject(value); }
|
|
2216
|
+
if (isES6ClassFn(value)) { return false; }
|
|
2217
|
+
var strClass = toStr$6.call(value);
|
|
2218
|
+
return strClass === fnClass || strClass === genClass;
|
|
2219
|
+
};
|
|
3215
2220
|
|
|
3216
2221
|
// http://www.ecma-international.org/ecma-262/5.1/#sec-9.11
|
|
3217
2222
|
|
|
@@ -3377,8 +2382,8 @@ var CreateDataProperty = function CreateDataProperty(O, P, V) {
|
|
|
3377
2382
|
throw new $TypeError$4('Assertion failed: IsPropertyKey(P) is not true');
|
|
3378
2383
|
}
|
|
3379
2384
|
var oldDesc = OrdinaryGetOwnProperty(O, P);
|
|
3380
|
-
var extensible = oldDesc || IsExtensible(O);
|
|
3381
|
-
var immutable = oldDesc && (!oldDesc
|
|
2385
|
+
var extensible = !oldDesc || IsExtensible(O);
|
|
2386
|
+
var immutable = oldDesc && (!oldDesc['[[Writable]]'] || !oldDesc['[[Configurable]]']);
|
|
3382
2387
|
if (immutable || !extensible) {
|
|
3383
2388
|
return false;
|
|
3384
2389
|
}
|
|
@@ -3495,10 +2500,10 @@ var $slice = callBound('Array.prototype.slice');
|
|
|
3495
2500
|
var $concat$1 = callBound('Array.prototype.concat');
|
|
3496
2501
|
var $forEach = callBound('Array.prototype.forEach');
|
|
3497
2502
|
|
|
3498
|
-
var hasSymbols$
|
|
2503
|
+
var hasSymbols$4 = hasSymbols$1();
|
|
3499
2504
|
|
|
3500
|
-
var kCustomPromisifiedSymbol = hasSymbols$
|
|
3501
|
-
var kCustomPromisifyArgsSymbol = hasSymbols$
|
|
2505
|
+
var kCustomPromisifiedSymbol = hasSymbols$4 ? Symbol('util.promisify.custom') : null;
|
|
2506
|
+
var kCustomPromisifyArgsSymbol = hasSymbols$4 ? Symbol('customPromisifyArgs') : null;
|
|
3502
2507
|
|
|
3503
2508
|
var implementation$3 = function promisify(orig) {
|
|
3504
2509
|
if (typeof orig !== 'function') {
|
|
@@ -3508,7 +2513,7 @@ var implementation$3 = function promisify(orig) {
|
|
|
3508
2513
|
throw error;
|
|
3509
2514
|
}
|
|
3510
2515
|
|
|
3511
|
-
if (hasSymbols$
|
|
2516
|
+
if (hasSymbols$4 && orig[kCustomPromisifiedSymbol]) {
|
|
3512
2517
|
var customFunction = orig[kCustomPromisifiedSymbol];
|
|
3513
2518
|
if (typeof customFunction !== 'function') {
|
|
3514
2519
|
throw new TypeError('The [util.promisify.custom] property must be a function');
|
|
@@ -3615,7 +2620,7 @@ function connect() {
|
|
|
3615
2620
|
};
|
|
3616
2621
|
}
|
|
3617
2622
|
|
|
3618
|
-
var connection =
|
|
2623
|
+
var connection = mysql__default['default'].createConnection(config);
|
|
3619
2624
|
return {
|
|
3620
2625
|
query: function query(sql, args) {
|
|
3621
2626
|
return util.util.promisify(connection.query).call(connection, sql, args);
|
|
@@ -4258,7 +3263,7 @@ var user = /*#__PURE__*/Object.freeze({
|
|
|
4258
3263
|
findUser: findUser$1
|
|
4259
3264
|
});
|
|
4260
3265
|
|
|
4261
|
-
var localStrategy = new
|
|
3266
|
+
var localStrategy = new Local__default['default'].Strategy({
|
|
4262
3267
|
usernameField: 'email',
|
|
4263
3268
|
passwordField: 'password'
|
|
4264
3269
|
}, function (email, password, done) {
|