@times-components/user-state 0.4.3 → 0.4.4
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/CHANGELOG.md +11 -0
- package/dist/matchers.js +17 -17
- package/dist/mock-user-state.js +1 -1
- package/package.json +4 -4
- package/rnw.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.4.4](https://github.com/newsuk/times-components/compare/@times-components/user-state@0.4.3...@times-components/user-state@0.4.4) (2022-10-19)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **TDP-2612:** UserState refactor ([#3169](https://github.com/newsuk/times-components/issues/3169)) ([a0ba83a](https://github.com/newsuk/times-components/commit/a0ba83a3f4c8d2b0dcc2a6dbf3f126b8870de83a))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [0.4.3](https://github.com/newsuk/times-components/compare/@times-components/user-state@0.4.2...@times-components/user-state@0.4.3) (2022-10-18)
|
|
7
18
|
|
|
8
19
|
|
package/dist/matchers.js
CHANGED
|
@@ -6,66 +6,66 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.showJoinTheConversationDialog = exports.showCommentingModule = exports.showTokenisedEmailShare = exports.showArticleSaveButton = exports.showTopicTags = exports.showArticleExtras = exports.showSaveAndShareBar = void 0;
|
|
7
7
|
|
|
8
8
|
/* User states */
|
|
9
|
-
var
|
|
10
|
-
return userState.
|
|
9
|
+
var hasAccessLoggedInOrSharedUser = function hasAccessLoggedInOrSharedUser(userState) {
|
|
10
|
+
return userState.hasAccess && (userState.isLoggedIn || userState.isShared);
|
|
11
11
|
};
|
|
12
12
|
|
|
13
|
-
var
|
|
14
|
-
return userState.
|
|
13
|
+
var hasAccessLoggedInUser = function hasAccessLoggedInUser(userState) {
|
|
14
|
+
return userState.hasAccess && userState.isLoggedIn;
|
|
15
15
|
};
|
|
16
16
|
|
|
17
|
-
var
|
|
18
|
-
return userState.
|
|
17
|
+
var isMeteredUser = function isMeteredUser(userState) {
|
|
18
|
+
return userState.isMetered || userState.isLightPackUser;
|
|
19
19
|
};
|
|
20
20
|
|
|
21
|
-
var
|
|
22
|
-
return userState
|
|
21
|
+
var hasAccessLoggedInNonMeteredUser = function hasAccessLoggedInNonMeteredUser(userState) {
|
|
22
|
+
return hasAccessLoggedInUser(userState) && !isMeteredUser(userState);
|
|
23
23
|
};
|
|
24
24
|
|
|
25
|
-
var
|
|
26
|
-
return userState
|
|
25
|
+
var hasAccessLoggedInMeteredUser = function hasAccessLoggedInMeteredUser(userState) {
|
|
26
|
+
return hasAccessLoggedInUser(userState) && isMeteredUser(userState);
|
|
27
27
|
};
|
|
28
28
|
/* Entitlements */
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
var showSaveAndShareBar = function showSaveAndShareBar(userState) {
|
|
32
|
-
return userState
|
|
32
|
+
return hasAccessLoggedInOrSharedUser(userState);
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
exports.showSaveAndShareBar = showSaveAndShareBar;
|
|
36
36
|
|
|
37
37
|
var showArticleExtras = function showArticleExtras(userState) {
|
|
38
|
-
return
|
|
38
|
+
return hasAccessLoggedInOrSharedUser(userState);
|
|
39
39
|
};
|
|
40
40
|
|
|
41
41
|
exports.showArticleExtras = showArticleExtras;
|
|
42
42
|
|
|
43
43
|
var showTopicTags = function showTopicTags(userState) {
|
|
44
|
-
return userState
|
|
44
|
+
return hasAccessLoggedInOrSharedUser(userState);
|
|
45
45
|
};
|
|
46
46
|
|
|
47
47
|
exports.showTopicTags = showTopicTags;
|
|
48
48
|
|
|
49
49
|
var showArticleSaveButton = function showArticleSaveButton(userState) {
|
|
50
|
-
return userState
|
|
50
|
+
return hasAccessLoggedInUser(userState);
|
|
51
51
|
};
|
|
52
52
|
|
|
53
53
|
exports.showArticleSaveButton = showArticleSaveButton;
|
|
54
54
|
|
|
55
55
|
var showTokenisedEmailShare = function showTokenisedEmailShare(userState) {
|
|
56
|
-
return
|
|
56
|
+
return hasAccessLoggedInNonMeteredUser(userState);
|
|
57
57
|
};
|
|
58
58
|
|
|
59
59
|
exports.showTokenisedEmailShare = showTokenisedEmailShare;
|
|
60
60
|
|
|
61
61
|
var showCommentingModule = function showCommentingModule(userState) {
|
|
62
|
-
return
|
|
62
|
+
return hasAccessLoggedInNonMeteredUser(userState);
|
|
63
63
|
};
|
|
64
64
|
|
|
65
65
|
exports.showCommentingModule = showCommentingModule;
|
|
66
66
|
|
|
67
67
|
var showJoinTheConversationDialog = function showJoinTheConversationDialog(userState) {
|
|
68
|
-
return
|
|
68
|
+
return hasAccessLoggedInMeteredUser(userState);
|
|
69
69
|
};
|
|
70
70
|
|
|
71
71
|
exports.showJoinTheConversationDialog = showJoinTheConversationDialog;
|
package/dist/mock-user-state.js
CHANGED
|
@@ -27,7 +27,7 @@ function mockUserState() {
|
|
|
27
27
|
}, MockUserState);
|
|
28
28
|
|
|
29
29
|
MockUserState.mockReset = function () {
|
|
30
|
-
MockUserState.mockStates = [RealUserState.showSaveAndShareBar, RealUserState.showArticleExtras, RealUserState.showArticleSaveButton, RealUserState.showCommentingModule];
|
|
30
|
+
MockUserState.mockStates = [RealUserState.showSaveAndShareBar, RealUserState.showArticleExtras, RealUserState.showTopicTags, RealUserState.showArticleSaveButton, RealUserState.showTokenisedEmailShare, RealUserState.showCommentingModule];
|
|
31
31
|
};
|
|
32
32
|
|
|
33
33
|
MockUserState.mockReset();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@times-components/user-state",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.4",
|
|
4
4
|
"description": "Selectively render react components based on current user state",
|
|
5
5
|
"main": "dist/user-state",
|
|
6
6
|
"dev": "src/user-state",
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
"homepage": "https://github.com/newsuk/times-components#readme",
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@storybook/addon-knobs": "5.3.18",
|
|
35
|
-
"@times-components/context": "1.10.
|
|
36
|
-
"@times-components/utils": "6.15.
|
|
35
|
+
"@times-components/context": "1.10.3",
|
|
36
|
+
"@times-components/utils": "6.15.3",
|
|
37
37
|
"prop-types": "15.7.2"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
"publishConfig": {
|
|
64
64
|
"access": "public"
|
|
65
65
|
},
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "58b5291488bfda9ca99aa22348d6ecbc9ef50bf9"
|
|
67
67
|
}
|
package/rnw.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
module.exports=function(e){var r={};function t(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var o in e)t.d(n,o,function(r){return e[r]}.bind(null,o));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=7)}([function(e,r){e.exports=require("react")},function(e,r){e.exports=require("@storybook/addon-knobs/react")},function(e,r){e.exports=require("prop-types")},function(e,r){e.exports=require("@times-components/context/rnw")},function(e,r){e.exports=require("@times-components/utils/rnw")},function(e,r){function t(e){var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}t.keys=function(){return[]},t.resolve=t,e.exports=t,t.id=5},function(e,r){e.exports=require("@times-components/user-state/rnw")},function(e,r,t){"use strict";t.r(r);var n=t(0),o=t.n(n),
|
|
1
|
+
module.exports=function(e){var r={};function t(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var o in e)t.d(n,o,function(r){return e[r]}.bind(null,o));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=7)}([function(e,r){e.exports=require("react")},function(e,r){e.exports=require("@storybook/addon-knobs/react")},function(e,r){e.exports=require("prop-types")},function(e,r){e.exports=require("@times-components/context/rnw")},function(e,r){e.exports=require("@times-components/utils/rnw")},function(e,r){function t(e){var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}t.keys=function(){return[]},t.resolve=t,e.exports=t,t.id=5},function(e,r){e.exports=require("@times-components/user-state/rnw")},function(e,r,t){"use strict";t.r(r);var n=t(0),o=t.n(n),u=(t(2),t(3)),i=t.n(u),c=t(4);function s(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function a(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?s(Object(t),!0).forEach((function(r){f(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function f(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}var l=function(e){var r=e.children,t=e.serverRender,n=void 0===t||t;return o.a.createElement(i.a.Consumer,null,(function(e){var t=e.user;return o.a.createElement(c.ServerClientRender,{client:function(){var e=window.nuk,n=(void 0===e?{}:e).user||{};return r({user:a(a({},t),n)})},server:n?function(){return r({user:t})}:null})}))},d=function(e){return e.hasAccess&&(e.isLoggedIn||e.isShared)},b=function(e){return e.hasAccess&&e.isLoggedIn},p=function(e){return e.isMetered||e.isLightPackUser},v=function(e){return b(e)&&!p(e)};var O,g=function(){jest.mock("@times-components/user-state",(function(){var e=t(5).requireActual("@times-components/user-state").default;function r(e){var t=e.state,n=e.children,o=void 0===n?null:n,u=e.fallback,i=void 0===u?null:u;return r.mockStates.find((function(e){return e===t}))?o:i}return Object.keys(e).reduce((function(r,t){return r[t]=e[t],r}),r),r.mockReset=function(){r.mockStates=[e.showSaveAndShareBar,e.showArticleExtras,e.showTopicTags,e.showArticleSaveButton,e.showTokenisedEmailShare,e.showCommentingModule]},r.mockReset(),r}));var e=t(6);return beforeEach((function(){e.mockReset()})),e},m="Registered Access",w="Registered Access (Expired)",y={SUBSCRIBER:"Subscriber",RA:m,RA_EXPIRED:w,GUEST:"Guest"},h=t(1);function S(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function j(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?S(Object(t),!0).forEach((function(r){P(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):S(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function P(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}var k=(P(O={},"Subscriber",["isLoggedIn"]),P(O,m,["isLoggedIn","isMetered"]),P(O,w,["isLoggedIn","isMetered","isMeteredExpired"]),P(O,"Guest",[]),O),E=["Subscriber",m,w,"Guest"];var x=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Subscriber";window.nuk=window.nuk||{},Object.defineProperty(window.nuk,"user",{enumerable:!0,configurable:!0,get:function(){var r=Object(h.select)("Current User State",E,e,"User State"),t=Object(h.boolean)("Is Shared",!1,"User State"),n=k[r].reduce((function(e,r){return j(j({},e),{},P({},r,!0))}),{});return j({isLoggedIn:!1,isMetered:!1,isMeteredExpired:!1,isShared:t},n)}})};function R(e){var r=e.state,t=e.children,n=e.fallback,u=e.serverRender;return o.a.createElement(l,{serverRender:u},(function(e){var o=e.user;return r(o)?t:n}))}t.d(r,"mockUserState",(function(){return g})),t.d(r,"USER_STATES",(function(){return y})),t.d(r,"addUserStateKnobs",(function(){return x})),R.showSaveAndShareBar=function(e){return d(e)},R.showArticleExtras=function(e){return d(e)},R.showTopicTags=function(e){return d(e)},R.showArticleSaveButton=function(e){return b(e)},R.showTokenisedEmailShare=function(e){return v(e)},R.showCommentingModule=function(e){return v(e)},R.showJoinTheConversationDialog=function(e){return function(e){return b(e)&&p(e)}(e)},R.defaultProps={children:null,serverRender:!0,fallback:null};r.default=R}]);
|