@mjhls/mjh-framework 1.0.700 → 1.0.702-beta-v1

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.
Files changed (152) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/AD.js +1 -1
  3. package/dist/cjs/AD300x250.js +5 -3
  4. package/dist/cjs/AD300x250x600.js +5 -3
  5. package/dist/cjs/AD728x90.js +6 -4
  6. package/dist/cjs/ADFloatingFooter.js +4 -2
  7. package/dist/cjs/ADGutter.js +4 -2
  8. package/dist/cjs/ADSkyscraper.js +4 -2
  9. package/dist/cjs/ADSponsoredResources.js +4 -2
  10. package/dist/cjs/ADWebcast.js +4 -2
  11. package/dist/cjs/ADWelcome.js +4 -2
  12. package/dist/cjs/AdSlot.js +14 -3
  13. package/dist/cjs/AdSlotsProvider.js +2 -2
  14. package/dist/cjs/ArticleCarousel.js +1 -1
  15. package/dist/cjs/ArticleSeriesListing.js +4 -4
  16. package/dist/cjs/Auth.js +455 -306
  17. package/dist/cjs/{BlockContent-88f69acd.js → BlockContent-80b15fac.js} +1 -1
  18. package/dist/cjs/BrowseVideosListing.js +1 -1
  19. package/dist/cjs/CMEDeck.js +5 -5
  20. package/dist/cjs/Column3.js +6 -4
  21. package/dist/cjs/ConferenceArticleCard.js +2 -2
  22. package/dist/cjs/DeckContent.js +7 -7
  23. package/dist/cjs/DeckQueue.js +6 -6
  24. package/dist/cjs/{Dfp-b2bc3b97.js → Dfp-390337bf.js} +1 -1
  25. package/dist/cjs/EventsDeck.js +4 -4
  26. package/dist/cjs/ExternalResources.js +7 -7
  27. package/dist/cjs/Feature.js +3 -3
  28. package/dist/cjs/ForbesHero.js +2 -2
  29. package/dist/cjs/GridContent.js +11 -11
  30. package/dist/cjs/GridHero.js +2 -2
  31. package/dist/cjs/GroupDeck.js +1 -1
  32. package/dist/cjs/HamMagazine.js +4 -4
  33. package/dist/cjs/Hero.js +1 -1
  34. package/dist/cjs/HorizontalHero.js +2 -2
  35. package/dist/cjs/IssueContentDeck.js +2 -2
  36. package/dist/cjs/IssueDeck.js +2 -2
  37. package/dist/cjs/IssueLanding.js +8 -8
  38. package/dist/cjs/LeftNav.js +4 -2
  39. package/dist/cjs/MasterDeck.js +8 -8
  40. package/dist/cjs/NavMagazine.js +4 -4
  41. package/dist/cjs/NavNative.js +3 -3
  42. package/dist/cjs/OncliveHero.js +2 -2
  43. package/dist/cjs/OncliveLargeHero.js +2 -2
  44. package/dist/cjs/PartnerDetailListing.js +10 -10
  45. package/dist/cjs/PublicationDeck.js +2 -2
  46. package/dist/cjs/QueueDeckExpanded.js +10 -10
  47. package/dist/cjs/RecentNews.js +2 -2
  48. package/dist/cjs/RelatedContent.js +2 -2
  49. package/dist/cjs/{SocialSearchComponent-75c51b47.js → SocialSearchComponent-56d49a1a.js} +5 -5
  50. package/dist/cjs/TaxonomyCard.js +2 -2
  51. package/dist/cjs/TemplateNormal.js +5 -3
  52. package/dist/cjs/ThumbnailCard.js +1 -1
  53. package/dist/cjs/Ustream.js +2 -2
  54. package/dist/cjs/VerticalHero.js +2 -2
  55. package/dist/cjs/VideoSeriesCard.js +2 -2
  56. package/dist/cjs/VideoSeriesListing.js +4 -4
  57. package/dist/cjs/View.js +155 -190
  58. package/dist/cjs/YahooHero.js +2 -2
  59. package/dist/cjs/YoutubeGroup.js +1 -1
  60. package/dist/cjs/getQuery.js +2 -2
  61. package/dist/cjs/getRelatedArticle.js +65 -447
  62. package/dist/cjs/getSerializers.js +6 -6
  63. package/dist/cjs/{index-2d0a4911.js → index-099d45ae.js} +6 -4
  64. package/dist/cjs/{index-5be2866f.js → index-3294d3bc.js} +1 -1
  65. package/dist/cjs/{index-b5eb3ff8.js → index-39beccb3.js} +18 -18
  66. package/dist/cjs/{index-ec02006c.js → index-58dae365.js} +12 -12
  67. package/dist/cjs/{index.es-ab3f2690.js → index.es-9110add6.js} +1 -3
  68. package/dist/cjs/index.js +15 -15
  69. package/dist/cjs/{lodash-fc2922d0.js → lodash-7fd85bcf.js} +71 -22
  70. package/dist/cjs/{main-99536bdc.js → main-03ffa84c.js} +36 -67
  71. package/dist/cjs/{moment-66a6a284.js → moment-575fe24c.js} +1 -1
  72. package/dist/cjs/timeDifferenceCalc.js +1 -1
  73. package/dist/cjs/urlFor.js +1 -1
  74. package/dist/esm/AD.js +1 -1
  75. package/dist/esm/AD300x250.js +5 -3
  76. package/dist/esm/AD300x250x600.js +5 -3
  77. package/dist/esm/AD728x90.js +6 -4
  78. package/dist/esm/ADFloatingFooter.js +4 -2
  79. package/dist/esm/ADGutter.js +4 -2
  80. package/dist/esm/ADSkyscraper.js +4 -2
  81. package/dist/esm/ADSponsoredResources.js +4 -2
  82. package/dist/esm/ADWebcast.js +4 -2
  83. package/dist/esm/ADWelcome.js +4 -2
  84. package/dist/esm/AdSlot.js +15 -4
  85. package/dist/esm/AdSlotsProvider.js +2 -2
  86. package/dist/esm/ArticleCarousel.js +1 -1
  87. package/dist/esm/ArticleSeriesListing.js +4 -4
  88. package/dist/esm/Auth.js +450 -301
  89. package/dist/esm/{BlockContent-a614acdf.js → BlockContent-c409aca5.js} +1 -1
  90. package/dist/esm/BrowseVideosListing.js +1 -1
  91. package/dist/esm/CMEDeck.js +5 -5
  92. package/dist/esm/Column3.js +6 -4
  93. package/dist/esm/ConferenceArticleCard.js +2 -2
  94. package/dist/esm/DeckContent.js +7 -7
  95. package/dist/esm/DeckQueue.js +6 -6
  96. package/dist/esm/{Dfp-8a8fca18.js → Dfp-741c01be.js} +1 -1
  97. package/dist/esm/EventsDeck.js +4 -4
  98. package/dist/esm/ExternalResources.js +7 -7
  99. package/dist/esm/Feature.js +3 -3
  100. package/dist/esm/ForbesHero.js +2 -2
  101. package/dist/esm/GridContent.js +11 -11
  102. package/dist/esm/GridHero.js +2 -2
  103. package/dist/esm/GroupDeck.js +1 -1
  104. package/dist/esm/HamMagazine.js +4 -4
  105. package/dist/esm/Hero.js +1 -1
  106. package/dist/esm/HorizontalHero.js +2 -2
  107. package/dist/esm/IssueContentDeck.js +2 -2
  108. package/dist/esm/IssueDeck.js +2 -2
  109. package/dist/esm/IssueLanding.js +8 -8
  110. package/dist/esm/LeftNav.js +4 -2
  111. package/dist/esm/MasterDeck.js +8 -8
  112. package/dist/esm/NavMagazine.js +4 -4
  113. package/dist/esm/NavNative.js +3 -3
  114. package/dist/esm/OncliveHero.js +2 -2
  115. package/dist/esm/OncliveLargeHero.js +2 -2
  116. package/dist/esm/PartnerDetailListing.js +10 -10
  117. package/dist/esm/PublicationDeck.js +2 -2
  118. package/dist/esm/QueueDeckExpanded.js +10 -10
  119. package/dist/esm/RecentNews.js +2 -2
  120. package/dist/esm/RelatedContent.js +2 -2
  121. package/dist/esm/{SocialSearchComponent-5a9c4628.js → SocialSearchComponent-677ed3bd.js} +5 -5
  122. package/dist/esm/TaxonomyCard.js +2 -2
  123. package/dist/esm/TemplateNormal.js +5 -3
  124. package/dist/esm/ThumbnailCard.js +1 -1
  125. package/dist/esm/Ustream.js +2 -2
  126. package/dist/esm/VerticalHero.js +2 -2
  127. package/dist/esm/VideoSeriesCard.js +2 -2
  128. package/dist/esm/VideoSeriesListing.js +4 -4
  129. package/dist/esm/View.js +155 -190
  130. package/dist/esm/YahooHero.js +2 -2
  131. package/dist/esm/YoutubeGroup.js +1 -1
  132. package/dist/esm/getQuery.js +2 -2
  133. package/dist/esm/getRelatedArticle.js +65 -447
  134. package/dist/esm/getSerializers.js +6 -6
  135. package/dist/esm/{index-51a80699.js → index-3849e3fe.js} +18 -18
  136. package/dist/esm/{index-93ec3c59.js → index-3f4dd6f2.js} +6 -4
  137. package/dist/esm/{index-50d0fbc7.js → index-7779a6df.js} +12 -12
  138. package/dist/esm/{index-d2f90501.js → index-ef6d5dcf.js} +1 -1
  139. package/dist/esm/{index.es-938a3a58.js → index.es-29c1cef5.js} +1 -3
  140. package/dist/esm/index.js +14 -14
  141. package/dist/esm/{lodash-17fdfebb.js → lodash-ec8c6b48.js} +71 -22
  142. package/dist/esm/{main-e2627831.js → main-35ff7b4f.js} +34 -65
  143. package/dist/esm/{moment-12415288.js → moment-e2f9b20c.js} +1 -1
  144. package/dist/esm/timeDifferenceCalc.js +1 -1
  145. package/dist/esm/urlFor.js +1 -1
  146. package/package.json +3 -3
  147. package/dist/cjs/index-bd6c9f56.js +0 -211
  148. package/dist/esm/index-db3bb315.js +0 -207
  149. /package/dist/cjs/{ADInfeed-f60d8625.js → ADInfeed-38066a36.js} +0 -0
  150. /package/dist/cjs/{ADlgInfeed-a08f8a4b.js → ADlgInfeed-d95c9027.js} +0 -0
  151. /package/dist/esm/{ADInfeed-c7e745f1.js → ADInfeed-7b1b2fcb.js} +0 -0
  152. /package/dist/esm/{ADlgInfeed-6fedd79b.js → ADlgInfeed-2afe92e6.js} +0 -0
@@ -48,7 +48,7 @@ var getNavigatorInstance = function getNavigatorInstance() {
48
48
  };
49
49
  var isIOS13Check = function isIOS13Check(type) {
50
50
  var nav = getNavigatorInstance();
51
- return nav && nav.platform && (nav.platform.indexOf(type) !== -1 || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1 && !window.MSStream);
51
+ return nav && (nav.platform.includes(type) || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1 && !window.MSStream);
52
52
  };
53
53
 
54
54
  function _typeof(obj) {
@@ -219,15 +219,12 @@ var BROWSER_TYPES = {
219
219
  EDGE: "Edge",
220
220
  CHROMIUM: "Chromium",
221
221
  IE: 'IE',
222
- MOBILE_SAFARI: "Mobile Safari",
223
- EDGE_CHROMIUM: "Edge Chromium"
222
+ MOBILE_SAFARI: "Mobile Safari"
224
223
  };
225
224
  var OS_TYPES = {
226
225
  IOS: 'iOS',
227
226
  ANDROID: "Android",
228
- WINDOWS_PHONE: "Windows Phone",
229
- WINDOWS: 'Windows',
230
- MAC_OS: 'Mac OS'
227
+ WINDOWS_PHONE: "Windows Phone"
231
228
  };
232
229
  var initialData = {
233
230
  isMobile: false,
@@ -380,14 +377,6 @@ var isMobileAndTabletType = function isMobileAndTabletType() {
380
377
  }
381
378
  };
382
379
 
383
- var isEdgeChromiumType = function isEdgeChromiumType() {
384
- if (os.name === OS_TYPES.WINDOWS && os.version === '10') {
385
- return typeof ua === 'string' && ua.indexOf('Edg/') !== -1;
386
- }
387
-
388
- return false;
389
- };
390
-
391
380
  var isSmartTVType = function isSmartTVType() {
392
381
  return device.type === DEVICE_TYPES.SMART_TV;
393
382
  };
@@ -408,14 +397,6 @@ var isAndroidType = function isAndroidType() {
408
397
  return os.name === OS_TYPES.ANDROID;
409
398
  };
410
399
 
411
- var isWindowsType = function isWindowsType() {
412
- return os.name === OS_TYPES.WINDOWS;
413
- };
414
-
415
- var isMacOsType = function isMacOsType() {
416
- return os.name === OS_TYPES.MAC_OS;
417
- };
418
-
419
400
  var isWinPhoneType = function isWinPhoneType() {
420
401
  return os.name === OS_TYPES.WINDOWS_PHONE;
421
402
  };
@@ -463,7 +444,7 @@ var isIEType = function isIEType() {
463
444
  var isElectronType = function isElectronType() {
464
445
  var nav = getNavigatorInstance();
465
446
  var ua = nav && nav.userAgent.toLowerCase();
466
- return typeof ua === 'string' ? /electron/.test(ua) : false;
447
+ return typeof ua === 'string' ? ua.includes('electron') : false;
467
448
  };
468
449
 
469
450
  var getIOS13 = function getIOS13() {
@@ -530,15 +511,15 @@ var getDeviceType = function getDeviceType() {
530
511
  var isSmartTV = isSmartTVType();
531
512
  var isConsole = isConsoleType();
532
513
  var isWearable = isWearableType();
533
- var isMobileSafari = isMobileSafariType() || getIPad13();
514
+ var isMobileSafari = isMobileSafariType();
534
515
  var isChromium = isChromiumType();
535
- var isMobile = isMobileAndTabletType() || getIPad13();
516
+ var isMobile = isMobileAndTabletType();
536
517
  var isMobileOnly = isMobileType();
537
- var isTablet = isTabletType() || getIPad13();
518
+ var isTablet = isTabletType();
538
519
  var isBrowser = isBrowserType();
539
520
  var isAndroid = isAndroidType();
540
521
  var isWinPhone = isWinPhoneType();
541
- var isIOS = isIOSType() || getIPad13();
522
+ var isIOS = isIOSType();
542
523
  var isChrome = isChromeType();
543
524
  var isFirefox = isFirefoxType();
544
525
  var isSafari = isSafariType();
@@ -554,7 +535,7 @@ var mobileModel = getMobileModel();
554
535
  var engineName = getEngineName();
555
536
  var engineVersion = getEngineVersion();
556
537
  var getUA = getUseragent();
557
- var isEdge = isEdgeType() || isEdgeChromiumType();
538
+ var isEdge = isEdgeType();
558
539
  var isYandex = isYandexType();
559
540
  var deviceType = getDeviceType();
560
541
  var isIOS13 = getIOS13();
@@ -562,10 +543,6 @@ var isIPad13 = getIPad13();
562
543
  var isIPhone13 = getIphone13();
563
544
  var isIPod13 = getIPod13();
564
545
  var isElectron = isElectronType();
565
- var isEdgeChromium = isEdgeChromiumType();
566
- var isLegacyEdge = isEdgeType();
567
- var isWindows = isWindowsType();
568
- var isMacOs = isMacOsType();
569
546
 
570
547
  var AndroidView = function AndroidView(_ref) {
571
548
  var renderWithFragment = _ref.renderWithFragment,
@@ -795,7 +772,6 @@ exports.isChrome = isChrome;
795
772
  exports.isChromium = isChromium;
796
773
  exports.isConsole = isConsole;
797
774
  exports.isEdge = isEdge;
798
- exports.isEdgeChromium = isEdgeChromium;
799
775
  exports.isElectron = isElectron;
800
776
  exports.isFirefox = isFirefox;
801
777
  exports.isIE = isIE;
@@ -804,8 +780,6 @@ exports.isIOS13 = isIOS13;
804
780
  exports.isIPad13 = isIPad13;
805
781
  exports.isIPhone13 = isIPhone13;
806
782
  exports.isIPod13 = isIPod13;
807
- exports.isLegacyEdge = isLegacyEdge;
808
- exports.isMacOs = isMacOs;
809
783
  exports.isMobile = isMobile;
810
784
  exports.isMobileOnly = isMobileOnly;
811
785
  exports.isMobileSafari = isMobileSafari;
@@ -815,7 +789,6 @@ exports.isSmartTV = isSmartTV;
815
789
  exports.isTablet = isTablet;
816
790
  exports.isWearable = isWearable;
817
791
  exports.isWinPhone = isWinPhone;
818
- exports.isWindows = isWindows;
819
792
  exports.isYandex = isYandex;
820
793
  exports.mobileModel = mobileModel;
821
794
  exports.mobileVendor = mobileVendor;
@@ -851,32 +824,28 @@ var main_23 = main.isChrome;
851
824
  var main_24 = main.isChromium;
852
825
  var main_25 = main.isConsole;
853
826
  var main_26 = main.isEdge;
854
- var main_27 = main.isEdgeChromium;
855
- var main_28 = main.isElectron;
856
- var main_29 = main.isFirefox;
857
- var main_30 = main.isIE;
858
- var main_31 = main.isIOS;
859
- var main_32 = main.isIOS13;
860
- var main_33 = main.isIPad13;
861
- var main_34 = main.isIPhone13;
862
- var main_35 = main.isIPod13;
863
- var main_36 = main.isLegacyEdge;
864
- var main_37 = main.isMacOs;
865
- var main_38 = main.isMobile;
866
- var main_39 = main.isMobileOnly;
867
- var main_40 = main.isMobileSafari;
868
- var main_41 = main.isOpera;
869
- var main_42 = main.isSafari;
870
- var main_43 = main.isSmartTV;
871
- var main_44 = main.isTablet;
872
- var main_45 = main.isWearable;
873
- var main_46 = main.isWinPhone;
874
- var main_47 = main.isWindows;
875
- var main_48 = main.isYandex;
876
- var main_49 = main.mobileModel;
877
- var main_50 = main.mobileVendor;
878
- var main_51 = main.osName;
879
- var main_52 = main.osVersion;
880
- var main_53 = main.withOrientationChange;
881
-
882
- export { main_40 as a, main_16 as b, main_22 as c, main_38 as d, main_31 as e, main_39 as m };
827
+ var main_27 = main.isElectron;
828
+ var main_28 = main.isFirefox;
829
+ var main_29 = main.isIE;
830
+ var main_30 = main.isIOS;
831
+ var main_31 = main.isIOS13;
832
+ var main_32 = main.isIPad13;
833
+ var main_33 = main.isIPhone13;
834
+ var main_34 = main.isIPod13;
835
+ var main_35 = main.isMobile;
836
+ var main_36 = main.isMobileOnly;
837
+ var main_37 = main.isMobileSafari;
838
+ var main_38 = main.isOpera;
839
+ var main_39 = main.isSafari;
840
+ var main_40 = main.isSmartTV;
841
+ var main_41 = main.isTablet;
842
+ var main_42 = main.isWearable;
843
+ var main_43 = main.isWinPhone;
844
+ var main_44 = main.isYandex;
845
+ var main_45 = main.mobileModel;
846
+ var main_46 = main.mobileVendor;
847
+ var main_47 = main.osName;
848
+ var main_48 = main.osVersion;
849
+ var main_49 = main.withOrientationChange;
850
+
851
+ export { main_37 as a, main_16 as b, main_22 as c, main_35 as d, main_30 as e, main_36 as m };
@@ -5612,7 +5612,7 @@ var moment = createCommonjsModule(function (module, exports) {
5612
5612
 
5613
5613
  //! moment.js
5614
5614
 
5615
- hooks.version = '2.27.0';
5615
+ hooks.version = '2.26.0';
5616
5616
 
5617
5617
  setHookCallback(createLocal);
5618
5618
 
@@ -1,5 +1,5 @@
1
1
  import './_commonjsHelpers-0c4b6f40.js';
2
- import { m as moment } from './moment-12415288.js';
2
+ import { m as moment } from './moment-e2f9b20c.js';
3
3
 
4
4
  var timeDifferenceCalc = function timeDifferenceCalc(articlePublishedDate) {
5
5
  var dateNow = new Date();
@@ -1,5 +1,5 @@
1
1
  import './_commonjsHelpers-0c4b6f40.js';
2
- import { i as imageUrlBuilder } from './index-51a80699.js';
2
+ import { i as imageUrlBuilder } from './index-3849e3fe.js';
3
3
 
4
4
  // Sanity image auto formating
5
5
  function urlFor(client, source) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mjhls/mjh-framework",
3
- "version": "1.0.700",
3
+ "version": "1.0.702-beta-v1",
4
4
  "description": "Foundation Framework",
5
5
  "author": "mjh-framework",
6
6
  "license": "MIT",
@@ -20,8 +20,8 @@
20
20
  "test:watch": "react-scripts test --env=jsdom",
21
21
  "build": "npm run clean && rollup -c",
22
22
  "start": "npm run clean && rollup -c -w",
23
- "prepare": "yarn run build",
24
- "predeploy": "cd example && yarn install && yarn run build",
23
+ "prepare": "npm run build",
24
+ "predeploy": "cd example && npm install && npm run build",
25
25
  "deploy": "gh-pages -d example/build"
26
26
  },
27
27
  "peerDependencies": {
@@ -1,211 +0,0 @@
1
- 'use strict';
2
-
3
- /*!
4
- * cookie
5
- * Copyright(c) 2012-2014 Roman Shtylman
6
- * Copyright(c) 2015 Douglas Christopher Wilson
7
- * MIT Licensed
8
- */
9
-
10
- /**
11
- * Module exports.
12
- * @public
13
- */
14
-
15
- var parse_1 = parse;
16
- var serialize_1 = serialize;
17
-
18
- /**
19
- * Module variables.
20
- * @private
21
- */
22
-
23
- var decode = decodeURIComponent;
24
- var encode = encodeURIComponent;
25
- var pairSplitRegExp = /; */;
26
-
27
- /**
28
- * RegExp to match field-content in RFC 7230 sec 3.2
29
- *
30
- * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]
31
- * field-vchar = VCHAR / obs-text
32
- * obs-text = %x80-FF
33
- */
34
-
35
- var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;
36
-
37
- /**
38
- * Parse a cookie header.
39
- *
40
- * Parse the given cookie header string into an object
41
- * The object has the various cookies as keys(names) => values
42
- *
43
- * @param {string} str
44
- * @param {object} [options]
45
- * @return {object}
46
- * @public
47
- */
48
-
49
- function parse(str, options) {
50
- if (typeof str !== 'string') {
51
- throw new TypeError('argument str must be a string');
52
- }
53
-
54
- var obj = {};
55
- var opt = options || {};
56
- var pairs = str.split(pairSplitRegExp);
57
- var dec = opt.decode || decode;
58
-
59
- for (var i = 0; i < pairs.length; i++) {
60
- var pair = pairs[i];
61
- var eq_idx = pair.indexOf('=');
62
-
63
- // skip things that don't look like key=value
64
- if (eq_idx < 0) {
65
- continue;
66
- }
67
-
68
- var key = pair.substr(0, eq_idx).trim();
69
- var val = pair.substr(++eq_idx, pair.length).trim();
70
-
71
- // quoted values
72
- if ('"' == val[0]) {
73
- val = val.slice(1, -1);
74
- }
75
-
76
- // only assign once
77
- if (undefined == obj[key]) {
78
- obj[key] = tryDecode(val, dec);
79
- }
80
- }
81
-
82
- return obj;
83
- }
84
-
85
- /**
86
- * Serialize data into a cookie header.
87
- *
88
- * Serialize the a name value pair into a cookie string suitable for
89
- * http headers. An optional options object specified cookie parameters.
90
- *
91
- * serialize('foo', 'bar', { httpOnly: true })
92
- * => "foo=bar; httpOnly"
93
- *
94
- * @param {string} name
95
- * @param {string} val
96
- * @param {object} [options]
97
- * @return {string}
98
- * @public
99
- */
100
-
101
- function serialize(name, val, options) {
102
- var opt = options || {};
103
- var enc = opt.encode || encode;
104
-
105
- if (typeof enc !== 'function') {
106
- throw new TypeError('option encode is invalid');
107
- }
108
-
109
- if (!fieldContentRegExp.test(name)) {
110
- throw new TypeError('argument name is invalid');
111
- }
112
-
113
- var value = enc(val);
114
-
115
- if (value && !fieldContentRegExp.test(value)) {
116
- throw new TypeError('argument val is invalid');
117
- }
118
-
119
- var str = name + '=' + value;
120
-
121
- if (null != opt.maxAge) {
122
- var maxAge = opt.maxAge - 0;
123
-
124
- if (isNaN(maxAge) || !isFinite(maxAge)) {
125
- throw new TypeError('option maxAge is invalid')
126
- }
127
-
128
- str += '; Max-Age=' + Math.floor(maxAge);
129
- }
130
-
131
- if (opt.domain) {
132
- if (!fieldContentRegExp.test(opt.domain)) {
133
- throw new TypeError('option domain is invalid');
134
- }
135
-
136
- str += '; Domain=' + opt.domain;
137
- }
138
-
139
- if (opt.path) {
140
- if (!fieldContentRegExp.test(opt.path)) {
141
- throw new TypeError('option path is invalid');
142
- }
143
-
144
- str += '; Path=' + opt.path;
145
- }
146
-
147
- if (opt.expires) {
148
- if (typeof opt.expires.toUTCString !== 'function') {
149
- throw new TypeError('option expires is invalid');
150
- }
151
-
152
- str += '; Expires=' + opt.expires.toUTCString();
153
- }
154
-
155
- if (opt.httpOnly) {
156
- str += '; HttpOnly';
157
- }
158
-
159
- if (opt.secure) {
160
- str += '; Secure';
161
- }
162
-
163
- if (opt.sameSite) {
164
- var sameSite = typeof opt.sameSite === 'string'
165
- ? opt.sameSite.toLowerCase() : opt.sameSite;
166
-
167
- switch (sameSite) {
168
- case true:
169
- str += '; SameSite=Strict';
170
- break;
171
- case 'lax':
172
- str += '; SameSite=Lax';
173
- break;
174
- case 'strict':
175
- str += '; SameSite=Strict';
176
- break;
177
- case 'none':
178
- str += '; SameSite=None';
179
- break;
180
- default:
181
- throw new TypeError('option sameSite is invalid');
182
- }
183
- }
184
-
185
- return str;
186
- }
187
-
188
- /**
189
- * Try decoding a string using a decoding function.
190
- *
191
- * @param {string} str
192
- * @param {function} decode
193
- * @private
194
- */
195
-
196
- function tryDecode(str, decode) {
197
- try {
198
- return decode(str);
199
- } catch (e) {
200
- return str;
201
- }
202
- }
203
-
204
- var cookie = {
205
- parse: parse_1,
206
- serialize: serialize_1
207
- };
208
-
209
- exports.cookie = cookie;
210
- exports.parse_1 = parse_1;
211
- exports.serialize_1 = serialize_1;
@@ -1,207 +0,0 @@
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 };