@times-components/user-state 0.1.69 → 0.3.1
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 +30 -0
- package/README.md +0 -3
- package/dist/matchers.js +1 -1
- package/dist/user-state.js +1 -1
- package/package.json +4 -4
- package/rnw.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,36 @@
|
|
|
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.3.1](https://github.com/newsuk/times-components/compare/@times-components/user-state@0.3.0...@times-components/user-state@0.3.1) (2022-04-11)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @times-components/user-state
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [0.3.0](https://github.com/newsuk/times-components/compare/@times-components/user-state@0.2.0...@times-components/user-state@0.3.0) (2022-03-30)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* **TDP-1413:** removed react native from some components ([#2891](https://github.com/newsuk/times-components/issues/2891)) ([3130586](https://github.com/newsuk/times-components/commit/313058621ff0c6eb5f0ca0bf0d605a8fb1522251))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# [0.2.0](https://github.com/newsuk/times-components/compare/@times-components/user-state@0.1.69...@times-components/user-state@0.2.0) (2022-02-16)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Features
|
|
29
|
+
|
|
30
|
+
* **TDP-1329:** Unlock related articles to users with access to full articles ([#2855](https://github.com/newsuk/times-components/issues/2855)) ([741b04d](https://github.com/newsuk/times-components/commit/741b04d055350897bad80c97535f189d9ea6eb14))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
6
36
|
## [0.1.69](https://github.com/newsuk/times-components/compare/@times-components/user-state@0.1.68...@times-components/user-state@0.1.69) (2022-02-10)
|
|
7
37
|
|
|
8
38
|
**Note:** Version bump only for package @times-components/user-state
|
package/README.md
CHANGED
|
@@ -48,9 +48,6 @@ the fallback.
|
|
|
48
48
|
- `subscriber`: Is the user a subscriber
|
|
49
49
|
- `loggedInOrShared`: Is the user logged in or on a share token (subscriber, RA, RA Expired, share token)
|
|
50
50
|
|
|
51
|
-
There is a companion tool inside the `@times-components/mocks` for mocking
|
|
52
|
-
the `UserState` package and rendering with a specific user state.
|
|
53
|
-
|
|
54
51
|
```js
|
|
55
52
|
// In the test file
|
|
56
53
|
import { mockUserState } from "@times-components/user-state";
|
package/dist/matchers.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:true});exports.isLoggedInOrShared=exports.shouldShowFullArticle=exports.isNonMeteredExpiredUser=exports.isSubscriber=exports.isMetered=exports.isShared=exports.isMeteredExpired=exports.isLoggedIn=void 0;var isLoggedIn=function isLoggedIn(userState){return userState.isLoggedIn;};exports.isLoggedIn=isLoggedIn;var isMeteredExpired=function isMeteredExpired(userState){return isLoggedIn(userState)&&userState.isMeteredExpired;};exports.isMeteredExpired=isMeteredExpired;var isShared=function isShared(userState){return userState.isShared;};exports.isShared=isShared;var isMetered=function isMetered(userState){return isLoggedIn(userState)&&userState.isMetered;};exports.isMetered=isMetered;var isSubscriber=function isSubscriber(userState){return isLoggedIn(userState)&&!userState.isMetered&&!userState.isMeteredExpired;};exports.isSubscriber=isSubscriber;var isNonMeteredExpiredUser=function isNonMeteredExpiredUser(user){return isLoggedIn(user)&&!isMeteredExpired(user);};exports.isNonMeteredExpiredUser=isNonMeteredExpiredUser;var shouldShowFullArticle=function shouldShowFullArticle(user){return isShared(user)||isNonMeteredExpiredUser(user);};exports.shouldShowFullArticle=shouldShowFullArticle;var isLoggedInOrShared=function isLoggedInOrShared(user){return isShared(user)||isLoggedIn(user);};exports.isLoggedInOrShared=isLoggedInOrShared;
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:true});exports.isLoggedInOrShared=exports.shouldShowFullArticle=exports.isNonMeteredExpiredUser=exports.isSubscriber=exports.isMetered=exports.isShared=exports.isMeteredExpired=exports.hasAccess=exports.isLoggedIn=void 0;var isLoggedIn=function isLoggedIn(userState){return userState.isLoggedIn;};exports.isLoggedIn=isLoggedIn;var hasAccess=function hasAccess(userState){return userState.hasAccess;};exports.hasAccess=hasAccess;var isMeteredExpired=function isMeteredExpired(userState){return isLoggedIn(userState)&&userState.isMeteredExpired;};exports.isMeteredExpired=isMeteredExpired;var isShared=function isShared(userState){return userState.isShared;};exports.isShared=isShared;var isMetered=function isMetered(userState){return isLoggedIn(userState)&&userState.isMetered;};exports.isMetered=isMetered;var isSubscriber=function isSubscriber(userState){return isLoggedIn(userState)&&!userState.isMetered&&!userState.isMeteredExpired;};exports.isSubscriber=isSubscriber;var isNonMeteredExpiredUser=function isNonMeteredExpiredUser(user){return isLoggedIn(user)&&!isMeteredExpired(user);};exports.isNonMeteredExpiredUser=isNonMeteredExpiredUser;var shouldShowFullArticle=function shouldShowFullArticle(user){return isShared(user)||isNonMeteredExpiredUser(user)||hasAccess(user);};exports.shouldShowFullArticle=shouldShowFullArticle;var isLoggedInOrShared=function isLoggedInOrShared(user){return isShared(user)||isLoggedIn(user);};exports.isLoggedInOrShared=isLoggedInOrShared;
|
package/dist/user-state.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"mockUserState",{enumerable:true,get:function get(){return _mockUserState.default;}});Object.defineProperty(exports,"USER_STATES",{enumerable:true,get:function get(){return _states.default;}});Object.defineProperty(exports,"addUserStateKnobs",{enumerable:true,get:function get(){return _storybookHelper.default;}});exports.default=void 0;var _react=_interopRequireDefault(require("react"));var _propTypes=_interopRequireDefault(require("prop-types"));var _clientUserStateConsumer=_interopRequireDefault(require("./client-user-state-consumer"));var _matchers=require("./matchers");var _mockUserState=_interopRequireDefault(require("./mock-user-state"));var _states=_interopRequireDefault(require("./states"));var _storybookHelper=_interopRequireDefault(require("./storybook-helper"));var _jsxFileName="/home/circleci/project/packages/user-state/src/user-state.js";function UserState(_ref){var shouldRenderInCurrentUserState=_ref.state,children=_ref.children,fallback=_ref.fallback,serverRender=_ref.serverRender;return _react.default.createElement(_clientUserStateConsumer.default,{serverRender:serverRender,__source:{fileName:_jsxFileName,lineNumber:
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"mockUserState",{enumerable:true,get:function get(){return _mockUserState.default;}});Object.defineProperty(exports,"USER_STATES",{enumerable:true,get:function get(){return _states.default;}});Object.defineProperty(exports,"addUserStateKnobs",{enumerable:true,get:function get(){return _storybookHelper.default;}});exports.default=void 0;var _react=_interopRequireDefault(require("react"));var _propTypes=_interopRequireDefault(require("prop-types"));var _clientUserStateConsumer=_interopRequireDefault(require("./client-user-state-consumer"));var _matchers=require("./matchers");var _mockUserState=_interopRequireDefault(require("./mock-user-state"));var _states=_interopRequireDefault(require("./states"));var _storybookHelper=_interopRequireDefault(require("./storybook-helper"));var _jsxFileName="/home/circleci/project/packages/user-state/src/user-state.js";function UserState(_ref){var shouldRenderInCurrentUserState=_ref.state,children=_ref.children,fallback=_ref.fallback,serverRender=_ref.serverRender;return _react.default.createElement(_clientUserStateConsumer.default,{serverRender:serverRender,__source:{fileName:_jsxFileName,lineNumber:34,columnNumber:5}},function(_ref2){var user=_ref2.user;return shouldRenderInCurrentUserState(user)?children:fallback;});}UserState.loggedIn=_matchers.isLoggedIn;UserState.meteredExpired=_matchers.isMeteredExpired;UserState.metered=_matchers.isMetered;UserState.shared=_matchers.isShared;UserState.nonMeteredExpiredUser=_matchers.isNonMeteredExpiredUser;UserState.fullArticle=_matchers.shouldShowFullArticle;UserState.subscriber=_matchers.isSubscriber;UserState.loggedInOrShared=_matchers.isLoggedInOrShared;UserState.hasAccess=_matchers.hasAccess;UserState.propTypes={state:_propTypes.default.func.isRequired,children:_propTypes.default.node,fallback:_propTypes.default.node,serverRender:_propTypes.default.bool};UserState.defaultProps={children:null,serverRender:true,fallback:null};var _default=UserState;exports.default=_default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@times-components/user-state",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Selectively render react components based on current user state",
|
|
5
5
|
"main": "dist/user-state",
|
|
6
6
|
"dev": "src/user-state",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"homepage": "https://github.com/newsuk/times-components#readme",
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@storybook/addon-knobs": "5.3.18",
|
|
38
|
-
"@times-components/context": "1.2.
|
|
39
|
-
"@times-components/utils": "6.
|
|
38
|
+
"@times-components/context": "1.2.34",
|
|
39
|
+
"@times-components/utils": "6.7.0",
|
|
40
40
|
"prop-types": "15.7.2"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
@@ -70,5 +70,5 @@
|
|
|
70
70
|
"publishConfig": {
|
|
71
71
|
"access": "public"
|
|
72
72
|
},
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "676b642157efc0d07a81903a0a2d449e5cbf902e"
|
|
74
74
|
}
|
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=5)}([function(e,r){e.exports=require("@babel/runtime/helpers/interopRequireDefault")},function(e,r){e.exports=require("react")},function(e,r){e.exports=require("prop-types")},function(e,r){e.exports=require("@babel/runtime/helpers/defineProperty")},function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.default=r.GUEST=r.RA_EXPIRED=r.RA=r.SUBSCRIBER=void 0;r.SUBSCRIBER="Subscriber";var t="Registered Access";r.RA=t;r.RA_EXPIRED="Registered Access (Expired)";r.GUEST="Guest";var n={SUBSCRIBER:"Subscriber",RA:t,RA_EXPIRED:"Registered Access (Expired)",GUEST:"Guest"};r.default=n},function(e,r,t){var n=t(0);Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"mockUserState",{enumerable:!0,get:function(){return
|
|
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=5)}([function(e,r){e.exports=require("@babel/runtime/helpers/interopRequireDefault")},function(e,r){e.exports=require("react")},function(e,r){e.exports=require("prop-types")},function(e,r){e.exports=require("@babel/runtime/helpers/defineProperty")},function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.default=r.GUEST=r.RA_EXPIRED=r.RA=r.SUBSCRIBER=void 0;r.SUBSCRIBER="Subscriber";var t="Registered Access";r.RA=t;r.RA_EXPIRED="Registered Access (Expired)";r.GUEST="Guest";var n={SUBSCRIBER:"Subscriber",RA:t,RA_EXPIRED:"Registered Access (Expired)",GUEST:"Guest"};r.default=n},function(e,r,t){var n=t(0);Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"mockUserState",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(r,"USER_STATES",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(r,"addUserStateKnobs",{enumerable:!0,get:function(){return d.default}}),r.default=void 0;var o=n(t(1)),u=(n(t(2)),n(t(6))),i=t(9),s=n(t(10)),c=n(t(4)),d=n(t(13));function a(e){var r=e.state,t=e.children,n=e.fallback,i=e.serverRender;return o.default.createElement(u.default,{serverRender:i},(function(e){var o=e.user;return r(o)?t:n}))}a.loggedIn=i.isLoggedIn,a.meteredExpired=i.isMeteredExpired,a.metered=i.isMetered,a.shared=i.isShared,a.nonMeteredExpiredUser=i.isNonMeteredExpiredUser,a.fullArticle=i.shouldShowFullArticle,a.subscriber=i.isSubscriber,a.loggedInOrShared=i.isLoggedInOrShared,a.hasAccess=i.hasAccess,a.defaultProps={children:null,serverRender:!0,fallback:null};var l=a;r.default=l},function(e,r,t){var n=t(0);Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var o=n(t(3)),u=n(t(1)),i=(n(t(2)),n(t(7))),s=t(8);function c(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 d(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?c(Object(t),!0).forEach((function(r){(0,o.default)(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):c(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var a=function(e){var r=e.children,t=e.serverRender,n=void 0===t||t;return u.default.createElement(i.default.Consumer,null,(function(e){var t=e.user;return u.default.createElement(s.ServerClientRender,{client:function(){var e=window.nuk,n=(void 0===e?{}:e).user||{};return r({user:d(d({},t),n)})},server:n?function(){return r({user:t})}:null})}))};r.default=a},function(e,r){e.exports=require("@times-components/context/rnw")},function(e,r){e.exports=require("@times-components/utils/rnw")},function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.isLoggedInOrShared=r.shouldShowFullArticle=r.isNonMeteredExpiredUser=r.isSubscriber=r.isMetered=r.isShared=r.isMeteredExpired=r.hasAccess=r.isLoggedIn=void 0;var t=function(e){return e.isLoggedIn};r.isLoggedIn=t;var n=function(e){return e.hasAccess};r.hasAccess=n;var o=function(e){return t(e)&&e.isMeteredExpired};r.isMeteredExpired=o;var u=function(e){return e.isShared};r.isShared=u;r.isMetered=function(e){return t(e)&&e.isMetered};r.isSubscriber=function(e){return t(e)&&!e.isMetered&&!e.isMeteredExpired};var i=function(e){return t(e)&&!o(e)};r.isNonMeteredExpiredUser=i;r.shouldShowFullArticle=function(e){return u(e)||i(e)||n(e)};r.isLoggedInOrShared=function(e){return u(e)||t(e)}},function(e,r,t){Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var n=function(){jest.mock("@times-components/user-state",(function(){var e=t(11).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.fullArticle,e.loggedIn,e.loggedInOrShared,e.subscriber]},r.mockReset(),r}));var e=t(12);return beforeEach((function(){e.mockReset()})),e};r.default=n},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=11},function(e,r){e.exports=require("@times-components/user-state/rnw")},function(e,r,t){var n=t(0);Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var o,u=n(t(3)),i=t(14),s=t(4);function c(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 d(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?c(Object(t),!0).forEach((function(r){(0,u.default)(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):c(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var a=(o={},(0,u.default)(o,s.SUBSCRIBER,["isLoggedIn"]),(0,u.default)(o,s.RA,["isLoggedIn","isMetered"]),(0,u.default)(o,s.RA_EXPIRED,["isLoggedIn","isMetered","isMeteredExpired"]),(0,u.default)(o,s.GUEST,[]),o),l=[s.SUBSCRIBER,s.RA,s.RA_EXPIRED,s.GUEST];var f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s.SUBSCRIBER;window.nuk=window.nuk||{},Object.defineProperty(window.nuk,"user",{enumerable:!0,configurable:!0,get:function(){var r=(0,i.select)("Current User State",l,e,"User State"),t=(0,i.boolean)("Is Shared",!1,"User State"),n=a[r].reduce((function(e,r){return d(d({},e),{},(0,u.default)({},r,!0))}),{});return d({isLoggedIn:!1,isMetered:!1,isMeteredExpired:!1,isShared:t},n)}})};r.default=f},function(e,r){e.exports=require("@storybook/addon-knobs/react")}]);
|