@mjhls/mjh-framework 1.0.990-next-12-03 → 1.0.991
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 +1 -1
- package/dist/cjs/AD300x250.js +2 -1
- package/dist/cjs/AD300x250x600.js +2 -1
- package/dist/cjs/AD728x90.js +2 -1
- package/dist/cjs/ADFloatingFooter.js +2 -1
- package/dist/cjs/ADGutter.js +2 -1
- package/dist/cjs/ADSkyscraper.js +2 -1
- package/dist/cjs/ADSponsoredResources.js +2 -1
- package/dist/cjs/ADWebcast.js +2 -1
- package/dist/cjs/ADWelcome.js +2 -1
- package/dist/cjs/AdSlot.js +2 -1
- package/dist/cjs/AdSlotsProvider.js +2 -1
- package/dist/cjs/AlgoliaSearch.js +14165 -18
- package/dist/cjs/ArticleCarousel.js +1 -1
- package/dist/cjs/ArticleProgramLandingPage.js +7 -5
- package/dist/cjs/ArticleSeriesLandingPage.js +5 -4
- package/dist/cjs/ArticleSeriesListing.js +3 -2
- package/dist/cjs/Auth.js +3650 -0
- package/dist/cjs/AuthWrapper.js +1470 -294
- package/dist/cjs/{BlockContent-36e54d77.js → BlockContent-9ebd251f.js} +1 -1
- package/dist/cjs/CMEDeck.js +2 -1
- package/dist/cjs/Column3.js +2 -1
- package/dist/cjs/ConferenceArticleCard.js +16 -16
- package/dist/cjs/ContentCardPaginated.js +5 -4
- package/dist/cjs/DeckContent.js +13 -12
- package/dist/cjs/DeckQueue.js +4 -3
- package/dist/cjs/DeckQueuePaginated.js +4 -3
- package/dist/cjs/{Dfp-94f8ccdf.js → Dfp-9be904d5.js} +2 -1
- package/dist/cjs/EventsDeck.js +17 -17
- package/dist/cjs/ExternalResources.js +7 -5
- package/dist/cjs/Feature.js +1 -1
- package/dist/cjs/ForbesHero.js +1 -1
- package/dist/cjs/GridContent.js +7 -6
- package/dist/cjs/GridContentPaginated.js +7 -6
- package/dist/cjs/GridHero.js +2 -2
- package/dist/cjs/GroupDeck.js +1 -1
- package/dist/cjs/HamMagazine.js +9 -9
- package/dist/cjs/HealthCareProfessionalModal.js +1 -1
- package/dist/cjs/Hero.js +2 -2
- package/dist/cjs/HorizontalArticleListing.js +7 -5
- package/dist/cjs/HorizontalHero.js +1 -1
- package/dist/cjs/ImageSlider-6c00b878.js +2813 -0
- package/dist/cjs/IssueContentDeck.js +1 -1
- package/dist/cjs/IssueDeck.js +1 -1
- package/dist/cjs/IssueLanding.js +38 -36
- package/dist/cjs/KMTracker.js +15 -15
- package/dist/cjs/LeftNav.js +2 -1
- package/dist/cjs/MasterDeck.js +13 -12
- package/dist/cjs/MasterDeckPaginated.js +12 -11
- package/dist/cjs/{MediaSeriesCard-36eab8b7.js → MediaSeriesCard-c48c73c3.js} +394 -391
- package/dist/cjs/MediaSeriesLanding.js +17 -14
- package/dist/cjs/MediaSeriesLandingPaginated.js +17 -14
- package/dist/cjs/NavMagazine.js +10 -10
- package/dist/cjs/NavNative.js +9 -9
- package/dist/cjs/OncliveHero.js +1 -1
- package/dist/cjs/OncliveLargeHero.js +2 -2
- package/dist/cjs/PartnerDetailListing.js +13 -11
- package/dist/cjs/PartnerDetailListingPaginated.js +13 -11
- package/dist/cjs/PubSection.js +6 -5
- package/dist/cjs/PublicationDeck.js +1 -1
- package/dist/cjs/PublicationLanding.js +30 -26
- package/dist/cjs/QueueDeckExpanded.js +6 -5
- package/dist/cjs/QueueDeckExpandedPaginated.js +6 -5
- package/dist/cjs/RelatedContent.js +29 -29
- package/dist/cjs/RelatedTopicsDropdown.js +10 -10
- package/dist/cjs/Schema.js +1 -1
- package/dist/cjs/SeriesListingDeck.js +4 -3
- package/dist/cjs/{SeriesSlider-b94f1dd5.js → SeriesSlider-594b19eb.js} +4 -4
- package/dist/cjs/SideFooter.js +2 -2
- package/dist/cjs/TaxonomyCard.js +2 -2
- package/dist/cjs/TaxonomyDescription.js +7 -5
- package/dist/cjs/TemplateNormal.js +2 -1
- package/dist/cjs/ThumbnailCard.js +2 -2
- package/dist/cjs/VerticalHero.js +1 -1
- package/dist/cjs/VideoProgramLandingPage.js +7 -5
- package/dist/cjs/VideoSeriesCard.js +2 -2
- package/dist/cjs/VideoSeriesLandingPage.js +5 -4
- package/dist/cjs/VideoSeriesListing.js +3 -2
- package/dist/cjs/View.js +12 -9
- package/dist/cjs/YahooHero.js +2 -2
- package/dist/cjs/YoutubeGroup.js +5 -5
- package/dist/cjs/defineProperty-e0fb52c5.js +73 -0
- package/dist/cjs/{entities-3f9d0f2f.js → entities-df1aed86.js} +4 -0
- package/dist/cjs/events-1b438fe7.js +469 -0
- package/dist/cjs/faundadb.js +4 -321
- package/dist/cjs/getRelatedArticle.js +8 -213
- package/dist/cjs/getSerializers.js +7 -5
- package/dist/cjs/{getTargeting-4439c99d.js → getTargeting-ba942d9a.js} +9 -9
- package/dist/cjs/getTargeting.js +1 -1
- package/dist/cjs/{index-7361fa72.js → index-1d5a3c47.js} +17 -589
- package/dist/cjs/index-50be6759.js +105 -0
- package/dist/cjs/index-bd6c9f56.js +211 -0
- package/dist/cjs/{index-efca863c.js → index-d48b231c.js} +5 -5
- package/dist/cjs/{index-0e4427c8.js → index-fc2f1ca2.js} +2 -467
- package/dist/cjs/index.js +23 -13
- package/dist/cjs/md5-e1ca5797.js +323 -0
- package/dist/cjs/typeof-1358762e.js +33 -0
- package/dist/cjs/urlFor.js +1 -1
- package/dist/cjs/util-93a37fd0.js +587 -0
- package/dist/esm/AD.js +1 -1
- package/dist/esm/AD300x250.js +9 -8
- package/dist/esm/AD300x250x600.js +9 -8
- package/dist/esm/AD728x90.js +9 -8
- package/dist/esm/ADFloatingFooter.js +9 -8
- package/dist/esm/ADFooter.js +3 -3
- package/dist/esm/ADGutter.js +9 -8
- package/dist/esm/{ADInfeed-f684cac9.js → ADInfeed-6d1fc6bf.js} +1 -1
- package/dist/esm/ADSkyscraper.js +9 -8
- package/dist/esm/ADSponsoredResources.js +9 -8
- package/dist/esm/ADWebcast.js +9 -8
- package/dist/esm/ADWelcome.js +9 -8
- package/dist/esm/{ADlgInfeed-8c438cee.js → ADlgInfeed-dc36c928.js} +1 -1
- package/dist/esm/AccordionPanel.js +3 -3
- package/dist/esm/AdSlot.js +9 -8
- package/dist/esm/AdSlotsProvider.js +7 -6
- package/dist/esm/AlgoliaSearch.js +14165 -18
- package/dist/esm/AlphabeticList.js +6 -6
- package/dist/esm/ArticleCarousel.js +5 -5
- package/dist/esm/ArticleProgramLandingPage.js +22 -20
- package/dist/esm/ArticleSeriesLandingPage.js +18 -17
- package/dist/esm/ArticleSeriesListing.js +12 -11
- package/dist/esm/Auth.js +3630 -0
- package/dist/esm/AuthWrapper.js +1467 -291
- package/dist/esm/{AuthorComponent-defe68b6.js → AuthorComponent-11adff02.js} +1 -1
- package/dist/esm/Beam.js +5 -5
- package/dist/esm/{BlockContent-c99c9a8d.js → BlockContent-1e73bd2c.js} +1 -1
- package/dist/esm/Breadcrumbs.js +3 -3
- package/dist/esm/CMEDeck.js +9 -8
- package/dist/esm/Column2.js +6 -6
- package/dist/esm/Column3.js +11 -10
- package/dist/esm/ConferenceArticleCard.js +19 -19
- package/dist/esm/ContentCardPaginated.js +18 -17
- package/dist/esm/DeckContent.js +26 -25
- package/dist/esm/DeckQueue.js +15 -14
- package/dist/esm/DeckQueuePaginated.js +16 -15
- package/dist/esm/{Dfp-4b99f79d.js → Dfp-102f0beb.js} +5 -4
- package/dist/esm/EventsDeck.js +27 -27
- package/dist/esm/ExternalResources.js +22 -20
- package/dist/esm/Feature.js +4 -4
- package/dist/esm/ForbesHero.js +5 -5
- package/dist/esm/GridContent.js +21 -20
- package/dist/esm/GridContentPaginated.js +21 -20
- package/dist/esm/GridHero.js +6 -6
- package/dist/esm/GroupDeck.js +6 -6
- package/dist/esm/HamMagazine.js +15 -15
- package/dist/esm/HealthCareProfessionalModal.js +1 -1
- package/dist/esm/Hero.js +5 -5
- package/dist/esm/HorizontalArticleListing.js +22 -20
- package/dist/esm/HorizontalHero.js +4 -4
- package/dist/esm/ImageSlider-f84174cb.js +2804 -0
- package/dist/esm/IssueContentDeck.js +5 -5
- package/dist/esm/IssueDeck.js +7 -7
- package/dist/esm/IssueLanding.js +54 -52
- package/dist/esm/KMTracker.js +15 -15
- package/dist/esm/LeftNav.js +9 -8
- package/dist/esm/MasterDeck.js +26 -25
- package/dist/esm/MasterDeckPaginated.js +25 -24
- package/dist/esm/{MediaSeriesCard-99048e65.js → MediaSeriesCard-79ff1069.js} +110 -107
- package/dist/esm/MediaSeriesLanding.js +32 -29
- package/dist/esm/MediaSeriesLandingPaginated.js +32 -29
- package/dist/esm/NavDvm.js +5 -5
- package/dist/esm/NavMagazine.js +16 -16
- package/dist/esm/NavNative.js +14 -14
- package/dist/esm/OncliveHero.js +4 -4
- package/dist/esm/OncliveLargeHero.js +6 -6
- package/dist/esm/PageFilter.js +3 -3
- package/dist/esm/PartnerDetailListing.js +28 -26
- package/dist/esm/PartnerDetailListingPaginated.js +28 -26
- package/dist/esm/PixelTracking.js +3 -3
- package/dist/esm/PopUpModal.js +3 -3
- package/dist/esm/PtceDeck.js +7 -7
- package/dist/esm/PubSection.js +15 -14
- package/dist/esm/PubToc.js +5 -5
- package/dist/esm/PublicationDeck.js +4 -4
- package/dist/esm/PublicationLanding.js +39 -35
- package/dist/esm/QueueDeckExpanded.js +15 -14
- package/dist/esm/QueueDeckExpandedPaginated.js +15 -14
- package/dist/esm/RelatedContent.js +32 -32
- package/dist/esm/RelatedTopicsDropdown.js +10 -10
- package/dist/esm/Schema.js +8 -8
- package/dist/esm/Search.js +3 -3
- package/dist/esm/Segment.js +4 -4
- package/dist/esm/SeriesListingDeck.js +10 -9
- package/dist/esm/{SeriesSlider-609f9d94.js → SeriesSlider-f771e20d.js} +5 -5
- package/dist/esm/SideFooter.js +8 -8
- package/dist/esm/{SocialSearchComponent-1d8a9f59.js → SocialSearchComponent-4b56cd8c.js} +1 -1
- package/dist/esm/TaxonomyCard.js +6 -6
- package/dist/esm/TaxonomyDescription.js +22 -20
- package/dist/esm/TemplateNormal.js +12 -11
- package/dist/esm/ThumbnailCard.js +5 -5
- package/dist/esm/Ustream.js +6 -6
- package/dist/esm/VerticalHero.js +4 -4
- package/dist/esm/VideoProgramLandingPage.js +22 -20
- package/dist/esm/VideoSeriesCard.js +7 -7
- package/dist/esm/VideoSeriesFilter.js +5 -5
- package/dist/esm/VideoSeriesLandingPage.js +18 -17
- package/dist/esm/VideoSeriesListing.js +12 -11
- package/dist/esm/View.js +28 -25
- package/dist/esm/YahooHero.js +6 -6
- package/dist/esm/YoutubeGroup.js +8 -8
- package/dist/esm/{_is-array-893ab020.js → _is-array-8d21b9e3.js} +1 -1
- package/dist/esm/{_iter-detect-f089461c.js → _iter-detect-98db3b07.js} +1 -1
- package/dist/esm/{_object-sap-169d6272.js → _object-sap-7cee6f84.js} +1 -1
- package/dist/esm/{_object-to-array-50a6b9a3.js → _object-to-array-2300e51b.js} +1 -1
- package/dist/esm/{asyncToGenerator-9716ae8d.js → asyncToGenerator-958ef5fc.js} +3 -3
- package/dist/esm/{core.get-iterator-method-e903ff31.js → core.get-iterator-method-ea258bb1.js} +1 -1
- package/dist/esm/{define-property-99e66838.js → define-property-5f1bda73.js} +1 -1
- package/dist/esm/defineProperty-23a8f8cd.js +68 -0
- package/dist/esm/{defineProperty-8fa0bc8d.js → defineProperty-8c30428f.js} +1 -1
- package/dist/esm/{entities-932b50cf.js → entities-6d9154b4.js} +4 -0
- package/dist/esm/events-6c3a7a63.js +467 -0
- package/dist/esm/{extends-dc6a71fd.js → extends-6d8e3924.js} +1 -1
- package/dist/esm/faundadb.js +6 -323
- package/dist/esm/getPtceActivities.js +4 -4
- package/dist/esm/getRelatedArticle.js +8 -213
- package/dist/esm/getRootDocGroup.js +4 -4
- package/dist/esm/getSerializers.js +22 -20
- package/dist/esm/{getTargeting-db566006.js → getTargeting-9bd28724.js} +11 -11
- package/dist/esm/getTargeting.js +5 -5
- package/dist/esm/{index-c60f3bb6.js → index-03afef1c.js} +16 -588
- package/dist/esm/{index-0dbff1d1.js → index-3f5c03b2.js} +5 -5
- package/dist/esm/index-98ca9cec.js +100 -0
- package/dist/esm/index-db3bb315.js +207 -0
- package/dist/esm/{index-5cc7b406.js → index-f0fc23eb.js} +1 -466
- package/dist/esm/index.js +41 -32
- package/dist/esm/{inherits-8a801a18.js → inherits-a6ba2ec4.js} +4 -4
- package/dist/esm/{keys-425c8ab0.js → keys-31dcdb31.js} +2 -2
- package/dist/esm/md5-4e42248e.js +321 -0
- package/dist/esm/{slicedToArray-ca2c8b8d.js → slicedToArray-6ebcbfea.js} +2 -2
- package/dist/esm/{stringify-c21932b3.js → stringify-2b084bee.js} +1 -1
- package/dist/esm/{toConsumableArray-7b1c0e23.js → toConsumableArray-f7074d7c.js} +2 -2
- package/dist/esm/typeof-2f07d0e8.js +30 -0
- package/dist/esm/{typeof-83d9eb10.js → typeof-e9fc0c5d.js} +3 -3
- package/dist/esm/urlFor.js +4 -4
- package/dist/esm/{urlForFile-413f5ddb.js → urlForFile-b69adffc.js} +1 -1
- package/dist/esm/{ustream-api-41166338.js → ustream-api-d3714624.js} +4 -4
- package/dist/esm/util-8ed16d48.js +585 -0
- package/dist/esm/{web.dom.iterable-fdf034f5.js → web.dom.iterable-ab4dea5c.js} +1 -1
- package/package.json +115 -115
- package/dist/cjs/ImageSlider-a7fb6218.js +0 -182
- package/dist/esm/ImageSlider-eab2fe41.js +0 -176
- /package/dist/cjs/{ADInfeed-cf54cb8a.js → ADInfeed-81006615.js} +0 -0
- /package/dist/cjs/{ADlgInfeed-d06624d8.js → ADlgInfeed-0db07099.js} +0 -0
- /package/dist/cjs/{PublicationFeature-be5f3503.js → PublicationFeature-5ccf9b13.js} +0 -0
- /package/dist/esm/{PublicationFeature-03500094.js → PublicationFeature-d88e76b9.js} +0 -0
|
@@ -18,7 +18,7 @@ function parseAssetId(ref) {
|
|
|
18
18
|
return { id: id, width: width, height: height, format: format };
|
|
19
19
|
}
|
|
20
20
|
exports.default = parseAssetId;
|
|
21
|
-
|
|
21
|
+
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
unwrapExports(parseAssetId_1);
|
|
@@ -140,7 +140,7 @@ function applyDefaults(image) {
|
|
|
140
140
|
}
|
|
141
141
|
return result;
|
|
142
142
|
}
|
|
143
|
-
|
|
143
|
+
|
|
144
144
|
});
|
|
145
145
|
|
|
146
146
|
unwrapExports(parseSource_1);
|
|
@@ -326,7 +326,7 @@ function fit(source, spec) {
|
|
|
326
326
|
rect: cropRect,
|
|
327
327
|
};
|
|
328
328
|
}
|
|
329
|
-
|
|
329
|
+
|
|
330
330
|
});
|
|
331
331
|
|
|
332
332
|
unwrapExports(urlForImage_1);
|
|
@@ -533,7 +533,7 @@ var ImageUrlBuilder = /** @class */ (function () {
|
|
|
533
533
|
return ImageUrlBuilder;
|
|
534
534
|
}());
|
|
535
535
|
exports.ImageUrlBuilder = ImageUrlBuilder;
|
|
536
|
-
|
|
536
|
+
|
|
537
537
|
});
|
|
538
538
|
|
|
539
539
|
unwrapExports(builder);
|
|
@@ -545,7 +545,7 @@ var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || func
|
|
|
545
545
|
};
|
|
546
546
|
var builder_1 = __importDefault(builder);
|
|
547
547
|
module.exports = builder_1.default;
|
|
548
|
-
|
|
548
|
+
|
|
549
549
|
});
|
|
550
550
|
|
|
551
551
|
var imageUrlBuilder = unwrapExports(node);
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { c as createCommonjsModule } from './_commonjsHelpers-0c4b6f40.js';
|
|
2
|
+
|
|
3
|
+
function _extends() {
|
|
4
|
+
_extends = Object.assign || function (target) {
|
|
5
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
6
|
+
var source = arguments[i];
|
|
7
|
+
|
|
8
|
+
for (var key in source) {
|
|
9
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
10
|
+
target[key] = source[key];
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
return target;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
return _extends.apply(this, arguments);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
22
|
+
if (source == null) return {};
|
|
23
|
+
var target = {};
|
|
24
|
+
var sourceKeys = Object.keys(source);
|
|
25
|
+
var key, i;
|
|
26
|
+
|
|
27
|
+
for (i = 0; i < sourceKeys.length; i++) {
|
|
28
|
+
key = sourceKeys[i];
|
|
29
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
30
|
+
target[key] = source[key];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return target;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function _setPrototypeOf(o, p) {
|
|
37
|
+
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
38
|
+
o.__proto__ = p;
|
|
39
|
+
return o;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
return _setPrototypeOf(o, p);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
var classnames = createCommonjsModule(function (module) {
|
|
46
|
+
/*!
|
|
47
|
+
Copyright (c) 2018 Jed Watson.
|
|
48
|
+
Licensed under the MIT License (MIT), see
|
|
49
|
+
http://jedwatson.github.io/classnames
|
|
50
|
+
*/
|
|
51
|
+
/* global define */
|
|
52
|
+
|
|
53
|
+
(function () {
|
|
54
|
+
|
|
55
|
+
var hasOwn = {}.hasOwnProperty;
|
|
56
|
+
|
|
57
|
+
function classNames() {
|
|
58
|
+
var classes = [];
|
|
59
|
+
|
|
60
|
+
for (var i = 0; i < arguments.length; i++) {
|
|
61
|
+
var arg = arguments[i];
|
|
62
|
+
if (!arg) continue;
|
|
63
|
+
|
|
64
|
+
var argType = typeof arg;
|
|
65
|
+
|
|
66
|
+
if (argType === 'string' || argType === 'number') {
|
|
67
|
+
classes.push(arg);
|
|
68
|
+
} else if (Array.isArray(arg)) {
|
|
69
|
+
if (arg.length) {
|
|
70
|
+
var inner = classNames.apply(null, arg);
|
|
71
|
+
if (inner) {
|
|
72
|
+
classes.push(inner);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
} else if (argType === 'object') {
|
|
76
|
+
if (arg.toString === Object.prototype.toString) {
|
|
77
|
+
for (var key in arg) {
|
|
78
|
+
if (hasOwn.call(arg, key) && arg[key]) {
|
|
79
|
+
classes.push(key);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
} else {
|
|
83
|
+
classes.push(arg.toString());
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return classes.join(' ');
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (module.exports) {
|
|
92
|
+
classNames.default = classNames;
|
|
93
|
+
module.exports = classNames;
|
|
94
|
+
} else {
|
|
95
|
+
window.classNames = classNames;
|
|
96
|
+
}
|
|
97
|
+
}());
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
export { _objectWithoutPropertiesLoose as _, _setPrototypeOf as a, _extends as b, classnames as c };
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* cookie
|
|
3
|
+
* Copyright(c) 2012-2014 Roman Shtylman
|
|
4
|
+
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
5
|
+
* MIT Licensed
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Module exports.
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
var parse_1 = parse;
|
|
14
|
+
var serialize_1 = serialize;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Module variables.
|
|
18
|
+
* @private
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
var decode = decodeURIComponent;
|
|
22
|
+
var encode = encodeURIComponent;
|
|
23
|
+
var pairSplitRegExp = /; */;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* RegExp to match field-content in RFC 7230 sec 3.2
|
|
27
|
+
*
|
|
28
|
+
* field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]
|
|
29
|
+
* field-vchar = VCHAR / obs-text
|
|
30
|
+
* obs-text = %x80-FF
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Parse a cookie header.
|
|
37
|
+
*
|
|
38
|
+
* Parse the given cookie header string into an object
|
|
39
|
+
* The object has the various cookies as keys(names) => values
|
|
40
|
+
*
|
|
41
|
+
* @param {string} str
|
|
42
|
+
* @param {object} [options]
|
|
43
|
+
* @return {object}
|
|
44
|
+
* @public
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
function parse(str, options) {
|
|
48
|
+
if (typeof str !== 'string') {
|
|
49
|
+
throw new TypeError('argument str must be a string');
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
var obj = {};
|
|
53
|
+
var opt = options || {};
|
|
54
|
+
var pairs = str.split(pairSplitRegExp);
|
|
55
|
+
var dec = opt.decode || decode;
|
|
56
|
+
|
|
57
|
+
for (var i = 0; i < pairs.length; i++) {
|
|
58
|
+
var pair = pairs[i];
|
|
59
|
+
var eq_idx = pair.indexOf('=');
|
|
60
|
+
|
|
61
|
+
// skip things that don't look like key=value
|
|
62
|
+
if (eq_idx < 0) {
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
var key = pair.substr(0, eq_idx).trim();
|
|
67
|
+
var val = pair.substr(++eq_idx, pair.length).trim();
|
|
68
|
+
|
|
69
|
+
// quoted values
|
|
70
|
+
if ('"' == val[0]) {
|
|
71
|
+
val = val.slice(1, -1);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// only assign once
|
|
75
|
+
if (undefined == obj[key]) {
|
|
76
|
+
obj[key] = tryDecode(val, dec);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return obj;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Serialize data into a cookie header.
|
|
85
|
+
*
|
|
86
|
+
* Serialize the a name value pair into a cookie string suitable for
|
|
87
|
+
* http headers. An optional options object specified cookie parameters.
|
|
88
|
+
*
|
|
89
|
+
* serialize('foo', 'bar', { httpOnly: true })
|
|
90
|
+
* => "foo=bar; httpOnly"
|
|
91
|
+
*
|
|
92
|
+
* @param {string} name
|
|
93
|
+
* @param {string} val
|
|
94
|
+
* @param {object} [options]
|
|
95
|
+
* @return {string}
|
|
96
|
+
* @public
|
|
97
|
+
*/
|
|
98
|
+
|
|
99
|
+
function serialize(name, val, options) {
|
|
100
|
+
var opt = options || {};
|
|
101
|
+
var enc = opt.encode || encode;
|
|
102
|
+
|
|
103
|
+
if (typeof enc !== 'function') {
|
|
104
|
+
throw new TypeError('option encode is invalid');
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
if (!fieldContentRegExp.test(name)) {
|
|
108
|
+
throw new TypeError('argument name is invalid');
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
var value = enc(val);
|
|
112
|
+
|
|
113
|
+
if (value && !fieldContentRegExp.test(value)) {
|
|
114
|
+
throw new TypeError('argument val is invalid');
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
var str = name + '=' + value;
|
|
118
|
+
|
|
119
|
+
if (null != opt.maxAge) {
|
|
120
|
+
var maxAge = opt.maxAge - 0;
|
|
121
|
+
|
|
122
|
+
if (isNaN(maxAge) || !isFinite(maxAge)) {
|
|
123
|
+
throw new TypeError('option maxAge is invalid')
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
str += '; Max-Age=' + Math.floor(maxAge);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
if (opt.domain) {
|
|
130
|
+
if (!fieldContentRegExp.test(opt.domain)) {
|
|
131
|
+
throw new TypeError('option domain is invalid');
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
str += '; Domain=' + opt.domain;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
if (opt.path) {
|
|
138
|
+
if (!fieldContentRegExp.test(opt.path)) {
|
|
139
|
+
throw new TypeError('option path is invalid');
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
str += '; Path=' + opt.path;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
if (opt.expires) {
|
|
146
|
+
if (typeof opt.expires.toUTCString !== 'function') {
|
|
147
|
+
throw new TypeError('option expires is invalid');
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
str += '; Expires=' + opt.expires.toUTCString();
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
if (opt.httpOnly) {
|
|
154
|
+
str += '; HttpOnly';
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
if (opt.secure) {
|
|
158
|
+
str += '; Secure';
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
if (opt.sameSite) {
|
|
162
|
+
var sameSite = typeof opt.sameSite === 'string'
|
|
163
|
+
? opt.sameSite.toLowerCase() : opt.sameSite;
|
|
164
|
+
|
|
165
|
+
switch (sameSite) {
|
|
166
|
+
case true:
|
|
167
|
+
str += '; SameSite=Strict';
|
|
168
|
+
break;
|
|
169
|
+
case 'lax':
|
|
170
|
+
str += '; SameSite=Lax';
|
|
171
|
+
break;
|
|
172
|
+
case 'strict':
|
|
173
|
+
str += '; SameSite=Strict';
|
|
174
|
+
break;
|
|
175
|
+
case 'none':
|
|
176
|
+
str += '; SameSite=None';
|
|
177
|
+
break;
|
|
178
|
+
default:
|
|
179
|
+
throw new TypeError('option sameSite is invalid');
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
return str;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Try decoding a string using a decoding function.
|
|
188
|
+
*
|
|
189
|
+
* @param {string} str
|
|
190
|
+
* @param {function} decode
|
|
191
|
+
* @private
|
|
192
|
+
*/
|
|
193
|
+
|
|
194
|
+
function tryDecode(str, decode) {
|
|
195
|
+
try {
|
|
196
|
+
return decode(str);
|
|
197
|
+
} catch (e) {
|
|
198
|
+
return str;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
var cookie = {
|
|
203
|
+
parse: parse_1,
|
|
204
|
+
serialize: serialize_1
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
export { cookie as c, parse_1 as p, serialize_1 as s };
|