reactor-feature-toggle 7.0.0 → 8.1.0
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/LICENSE +1 -1
- package/README.md +62 -4
- package/dist/cjs/feature-toggle-provider.d.ts +2 -2
- package/dist/cjs/feature-toggle-provider.js +12 -7
- package/dist/cjs/feature-toggle-provider.js.map +1 -1
- package/dist/cjs/feature-toggle.d.ts +2 -2
- package/dist/cjs/feature-toggle.js.map +1 -1
- package/dist/esm/feature-toggle-provider.d.ts +2 -2
- package/dist/esm/feature-toggle-provider.js +12 -7
- package/dist/esm/feature-toggle.d.ts +2 -2
- package/dist/umd/reactor-feature-toggle.js +1 -1
- package/dist/umd/reactor-feature-toggle.min.js +1 -1
- package/dist/umd/reactor-feature-toggle.min.js.gz +0 -0
- package/package.json +11 -5
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2025 Wilson Mendes <willmendesneto@gmail.com>
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
package/README.md
CHANGED
|
@@ -38,8 +38,6 @@ You can get it on NPM installing `reactor-feature-toggle` module as a project de
|
|
|
38
38
|
|
|
39
39
|
```shell
|
|
40
40
|
npm install reactor-feature-toggle --save
|
|
41
|
-
# or
|
|
42
|
-
yarn add reactor-feature-toggle
|
|
43
41
|
```
|
|
44
42
|
|
|
45
43
|
You can also use the standalone UMD build by including `dist/reactor-feature-toggle.js` in your page. If you do this you'll also need to include the dependencies. For example:
|
|
@@ -52,6 +50,8 @@ You can also use the standalone UMD build by including `dist/reactor-feature-tog
|
|
|
52
50
|
|
|
53
51
|
## Setup
|
|
54
52
|
|
|
53
|
+
### Client-side
|
|
54
|
+
|
|
55
55
|
You'll need to import `FeatureToggleProvider` and add it into the root component of your application. So that you can enable/disable features via `FeatureToggle` component any place in your application.
|
|
56
56
|
|
|
57
57
|
Also, multiple `FeatureToggleProvider` are allowed, which gives more flexibility for your application.
|
|
@@ -119,7 +119,66 @@ const AppWrapper = () => {
|
|
|
119
119
|
export default AppWrapper;
|
|
120
120
|
```
|
|
121
121
|
|
|
122
|
-
|
|
122
|
+
### Using `useFeatureToggle()`
|
|
123
|
+
|
|
124
|
+
```javascript
|
|
125
|
+
import { useFeatureToggle } from 'reactor-feature-toggle';
|
|
126
|
+
|
|
127
|
+
function Dashboard() {
|
|
128
|
+
const { isOn } = useFeatureToggle();
|
|
129
|
+
|
|
130
|
+
// {
|
|
131
|
+
// enableNewDashboard: true,
|
|
132
|
+
// enableProPlan: true,
|
|
133
|
+
// enableBetaFeatures: false,
|
|
134
|
+
// }
|
|
135
|
+
//
|
|
136
|
+
const canAccessNewDashboard = isOn('enableNewDashboard') && isOn('enableProPlan');
|
|
137
|
+
const showBetaFeatures = isOn('enableBetaFeatures');
|
|
138
|
+
|
|
139
|
+
if (canAccessNewDashboard) {
|
|
140
|
+
return <div>New Dashboard</div>;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (showBetaFeatures) {
|
|
144
|
+
return <div>Beta Feature!</div>;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
return <div>Current Dashboard</div>;
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Server-Side Usage
|
|
152
|
+
|
|
153
|
+
For Server-Side Rendering or React Server Components, initialize `feature-toggle-service` directly without the Provider:
|
|
154
|
+
|
|
155
|
+
```javascript
|
|
156
|
+
import { set, FeatureToggle } from 'reactor-feature-toggle';
|
|
157
|
+
|
|
158
|
+
// Initialize feature flags (typically in your root server component)
|
|
159
|
+
const featureFlags = {
|
|
160
|
+
enableMainContent: true,
|
|
161
|
+
enableServerSideFeature: true,
|
|
162
|
+
enableNewAPI: false,
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
set(featureFlags);
|
|
166
|
+
|
|
167
|
+
// Use FeatureToggle component in any Server Component
|
|
168
|
+
export default function ServerPage() {
|
|
169
|
+
return
|
|
170
|
+
(
|
|
171
|
+
<div>
|
|
172
|
+
<h1>ServerPage</h1>
|
|
173
|
+
<FeatureToggle featureName={['enableMainContent']}>
|
|
174
|
+
<div>Main Content visible!</div>
|
|
175
|
+
</FeatureToggle>
|
|
176
|
+
</div>
|
|
177
|
+
);
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Demo
|
|
123
182
|
|
|
124
183
|
Try out the [demo](https://stackblitz.com/edit/reactor-feature-toggle-sample)!
|
|
125
184
|
|
|
@@ -132,5 +191,4 @@ this project is using `np` package to publish, which makes things straightforwar
|
|
|
132
191
|
## Author
|
|
133
192
|
|
|
134
193
|
**Wilson Mendes (willmendesneto)**
|
|
135
|
-
|
|
136
194
|
- <http://github.com/willmendesneto>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
2
|
import { FeatureToggleServiceConfig } from 'feature-toggle-service';
|
|
3
3
|
export interface ReactorFeatureToggleProviderProps {
|
|
4
4
|
children: ReactNode;
|
|
@@ -8,6 +8,6 @@ interface FeatureToggleContextType {
|
|
|
8
8
|
isOn: (featureName: string) => boolean;
|
|
9
9
|
toggles: FeatureToggleServiceConfig | null;
|
|
10
10
|
}
|
|
11
|
-
export declare const FeatureToggleProvider: ({ children, featureToggleService, }: ReactorFeatureToggleProviderProps) =>
|
|
11
|
+
export declare const FeatureToggleProvider: ({ children, featureToggleService, }: ReactorFeatureToggleProviderProps) => JSX.Element;
|
|
12
12
|
export declare function useFeatureToggle(): FeatureToggleContextType;
|
|
13
13
|
export {};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
// More details about `use client` directive in https://react.dev/reference/rsc/use-client
|
|
3
|
+
'use client';
|
|
2
4
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
5
|
if (k2 === undefined) k2 = k;
|
|
4
6
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -37,20 +39,23 @@ exports.FeatureToggleProvider = void 0;
|
|
|
37
39
|
exports.useFeatureToggle = useFeatureToggle;
|
|
38
40
|
var react_1 = __importStar(require("react"));
|
|
39
41
|
var feature_toggle_service_1 = require("feature-toggle-service");
|
|
40
|
-
var FeatureToggleContext = (0, react_1.createContext)(
|
|
41
|
-
isOn: feature_toggle_service_1.isOn,
|
|
42
|
-
toggles: null,
|
|
43
|
-
});
|
|
42
|
+
var FeatureToggleContext = (0, react_1.createContext)(null);
|
|
44
43
|
var FeatureToggleProvider = function (_a) {
|
|
45
44
|
var children = _a.children, featureToggleService = _a.featureToggleService;
|
|
46
|
-
(0,
|
|
47
|
-
|
|
45
|
+
(0, react_1.useMemo)(function () {
|
|
46
|
+
(0, feature_toggle_service_1.set)(featureToggleService);
|
|
47
|
+
}, [featureToggleService]);
|
|
48
|
+
var value = (0, react_1.useMemo)(function () { return ({
|
|
49
|
+
isOn: feature_toggle_service_1.isOn,
|
|
50
|
+
toggles: featureToggleService,
|
|
51
|
+
}); }, [featureToggleService]);
|
|
52
|
+
return (react_1.default.createElement(FeatureToggleContext.Provider, { value: value }, children));
|
|
48
53
|
};
|
|
49
54
|
exports.FeatureToggleProvider = FeatureToggleProvider;
|
|
50
55
|
function useFeatureToggle() {
|
|
51
56
|
var context = (0, react_1.useContext)(FeatureToggleContext);
|
|
52
57
|
if (!context) {
|
|
53
|
-
throw new Error('useFeatureToggle must be used within
|
|
58
|
+
throw new Error('useFeatureToggle must be used within FeatureToggleProvider');
|
|
54
59
|
}
|
|
55
60
|
return context;
|
|
56
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-toggle-provider.js","sourceRoot":"","sources":["../../src/feature-toggle-provider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"feature-toggle-provider.js","sourceRoot":"","sources":["../../src/feature-toggle-provider.tsx"],"names":[],"mappings":";AAAA,0FAA0F;AAC1F,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCb,4CASC;AAhDD,6CAA6E;AAC7E,iEAA+E;AAY/E,IAAM,oBAAoB,GAAG,IAAA,qBAAa,EACxC,IAAI,CACL,CAAC;AAEK,IAAM,qBAAqB,GAAG,UAAC,EAGF;QAFlC,QAAQ,cAAA,EACR,oBAAoB,0BAAA;IAEpB,IAAA,eAAO,EAAC;QACN,IAAA,4BAAG,EAAC,oBAAoB,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC3B,IAAM,KAAK,GAAG,IAAA,eAAO,EACnB,cAAM,OAAA,CAAC;QACL,IAAI,+BAAA;QACJ,OAAO,EAAE,oBAAoB;KAC9B,CAAC,EAHI,CAGJ,EACF,CAAC,oBAAoB,CAAC,CACvB,CAAC;IAEF,OAAO,CACL,8BAAC,oBAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IACxC,QAAQ,CACqB,CACjC,CAAC;AACJ,CAAC,CAAC;AApBW,QAAA,qBAAqB,yBAoBhC;AAEF,SAAgB,gBAAgB;IAC9B,IAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,oBAAoB,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ReactNode,
|
|
1
|
+
import { ReactNode, ReactElement } from 'react';
|
|
2
2
|
export interface FeatureToggleProps {
|
|
3
3
|
children?: ReactNode;
|
|
4
4
|
featureName: string[] | string;
|
|
5
5
|
showWhenDisabled?: boolean;
|
|
6
6
|
}
|
|
7
|
-
export declare const FeatureToggle:
|
|
7
|
+
export declare const FeatureToggle: (props: FeatureToggleProps) => ReactElement | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-toggle.js","sourceRoot":"","sources":["../../src/feature-toggle.tsx"],"names":[],"mappings":";;;AAEA,iEAA8C;AAQ9C;;;;;;GAMG;AAEH;;;;;;GAMG;AACH,IAAM,SAAS,GAAG,UAAC,WAA8B;IAC/C,IAAM,iBAAiB,GAAG,UAAC,MAAc;QACvC,OAAA,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,6BAAI,EAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,6BAAI,EAAC,MAAM,CAAC;IAAjE,CAAiE,CAAC;IAEpE,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,iBAAiB,CAAC,WAAqB,CAAC,CAAC;IAClD,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,OAAQ,WAAwB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEK,IAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"feature-toggle.js","sourceRoot":"","sources":["../../src/feature-toggle.tsx"],"names":[],"mappings":";;;AAEA,iEAA8C;AAQ9C;;;;;;GAMG;AAEH;;;;;;GAMG;AACH,IAAM,SAAS,GAAG,UAAC,WAA8B;IAC/C,IAAM,iBAAiB,GAAG,UAAC,MAAc;QACvC,OAAA,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,6BAAI,EAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,6BAAI,EAAC,MAAM,CAAC;IAAjE,CAAiE,CAAC;IAEpE,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,iBAAiB,CAAC,WAAqB,CAAC,CAAC;IAClD,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,OAAQ,WAAwB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEK,IAAM,aAAa,GAAG,UAC3B,KAAyB;IAEzB,IAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAEjD,OAAO,WAAW,CAAC,CAAC,CAAE,KAAK,CAAC,QAAyB,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/D,CAAC,CAAC;AANW,QAAA,aAAa,iBAMxB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
2
|
import { FeatureToggleServiceConfig } from 'feature-toggle-service';
|
|
3
3
|
export interface ReactorFeatureToggleProviderProps {
|
|
4
4
|
children: ReactNode;
|
|
@@ -8,6 +8,6 @@ interface FeatureToggleContextType {
|
|
|
8
8
|
isOn: (featureName: string) => boolean;
|
|
9
9
|
toggles: FeatureToggleServiceConfig | null;
|
|
10
10
|
}
|
|
11
|
-
export declare const FeatureToggleProvider: ({ children, featureToggleService, }: ReactorFeatureToggleProviderProps) =>
|
|
11
|
+
export declare const FeatureToggleProvider: ({ children, featureToggleService, }: ReactorFeatureToggleProviderProps) => JSX.Element;
|
|
12
12
|
export declare function useFeatureToggle(): FeatureToggleContextType;
|
|
13
13
|
export {};
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// More details about `use client` directive in https://react.dev/reference/rsc/use-client
|
|
2
|
+
'use client';
|
|
1
3
|
"use strict";
|
|
2
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
5
|
exports.FeatureToggleProvider = void 0;
|
|
@@ -5,20 +7,23 @@ exports.useFeatureToggle = useFeatureToggle;
|
|
|
5
7
|
var tslib_1 = require("tslib");
|
|
6
8
|
var react_1 = tslib_1.__importStar(require("react"));
|
|
7
9
|
var feature_toggle_service_1 = require("feature-toggle-service");
|
|
8
|
-
var FeatureToggleContext = (0, react_1.createContext)(
|
|
9
|
-
isOn: feature_toggle_service_1.isOn,
|
|
10
|
-
toggles: null,
|
|
11
|
-
});
|
|
10
|
+
var FeatureToggleContext = (0, react_1.createContext)(null);
|
|
12
11
|
var FeatureToggleProvider = function (_a) {
|
|
13
12
|
var children = _a.children, featureToggleService = _a.featureToggleService;
|
|
14
|
-
(0,
|
|
15
|
-
|
|
13
|
+
(0, react_1.useMemo)(function () {
|
|
14
|
+
(0, feature_toggle_service_1.set)(featureToggleService);
|
|
15
|
+
}, [featureToggleService]);
|
|
16
|
+
var value = (0, react_1.useMemo)(function () { return ({
|
|
17
|
+
isOn: feature_toggle_service_1.isOn,
|
|
18
|
+
toggles: featureToggleService,
|
|
19
|
+
}); }, [featureToggleService]);
|
|
20
|
+
return (react_1.default.createElement(FeatureToggleContext.Provider, { value: value }, children));
|
|
16
21
|
};
|
|
17
22
|
exports.FeatureToggleProvider = FeatureToggleProvider;
|
|
18
23
|
function useFeatureToggle() {
|
|
19
24
|
var context = (0, react_1.useContext)(FeatureToggleContext);
|
|
20
25
|
if (!context) {
|
|
21
|
-
throw new Error('useFeatureToggle must be used within
|
|
26
|
+
throw new Error('useFeatureToggle must be used within FeatureToggleProvider');
|
|
22
27
|
}
|
|
23
28
|
return context;
|
|
24
29
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ReactNode,
|
|
1
|
+
import { ReactNode, ReactElement } from 'react';
|
|
2
2
|
export interface FeatureToggleProps {
|
|
3
3
|
children?: ReactNode;
|
|
4
4
|
featureName: string[] | string;
|
|
5
5
|
showWhenDisabled?: boolean;
|
|
6
6
|
}
|
|
7
|
-
export declare const FeatureToggle:
|
|
7
|
+
export declare const FeatureToggle: (props: FeatureToggleProps) => ReactElement | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).ReactorFeatureToggle=t(e.react)}(this,function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=t(e);function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function o(e,t){return e(t={exports:{}},t.exports),t.exports}var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},i(e,t)};var a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)};var c=Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]};function u(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function s(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function f(e){return this instanceof f?(this.v=e,this):new f(e)}var l=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},p=function(e){return p=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},p(e)};var y="function"==typeof SuppressedError?SuppressedError:function(e,t,r){var n=new Error(r);return n.name="SuppressedError",n.error=e,n.suppressed=t,n};var d,v={__extends:function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},__assign:a,__rest:function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r},__decorate:function(e,t,r,n){var o,i=arguments.length,a=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(i<3?o(a):i>3?o(t,r,a):o(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},__param:function(e,t){return function(r,n){t(r,n,e)}},__esDecorate:function(e,t,r,n,o,i){function a(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var c,u=n.kind,s="getter"===u?"get":"setter"===u?"set":"value",f=!t&&e?n.static?e:e.prototype:null,l=t||(f?Object.getOwnPropertyDescriptor(f,n.name):{}),p=!1,y=r.length-1;y>=0;y--){var d={};for(var v in n)d[v]="access"===v?{}:n[v];for(var v in n.access)d.access[v]=n.access[v];d.addInitializer=function(e){if(p)throw new TypeError("Cannot add initializers after decoration has completed");i.push(a(e||null))};var h=(0,r[y])("accessor"===u?{get:l.get,set:l.set}:l[s],d);if("accessor"===u){if(void 0===h)continue;if(null===h||"object"!=typeof h)throw new TypeError("Object expected");(c=a(h.get))&&(l.get=c),(c=a(h.set))&&(l.set=c),(c=a(h.init))&&o.unshift(c)}else(c=a(h))&&("field"===u?o.unshift(c):l[s]=c)}f&&Object.defineProperty(f,n.name,l),p=!0},__runInitializers:function(e,t,r){for(var n=arguments.length>2,o=0;o<t.length;o++)r=n?t[o].call(e,r):t[o].call(e);return n?r:void 0},__propKey:function(e){return"symbol"==typeof e?e:"".concat(e)},__setFunctionName:function(e,t,r){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:r?"".concat(r," ",t):t})},__metadata:function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter:function(e,t,r,n){return new(r||(r=Promise))(function(o,i){function a(e){try{u(n.next(e))}catch(e){i(e)}}function c(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(a,c)}u((n=n.apply(e,t||[])).next())})},__generator:function(e,t){var r,n,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=c(0),a.throw=c(1),a.return=c(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(u){return function(c){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,n=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}},__createBinding:c,__exportStar:function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||c(t,e,r)},__values:u,__read:s,__spread:function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(s(arguments[t]));return e},__spreadArrays:function(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var n=Array(e),o=0;for(t=0;t<r;t++)for(var i=arguments[t],a=0,c=i.length;a<c;a++,o++)n[o]=i[a];return n},__spreadArray:function(e,t,r){if(r||2===arguments.length)for(var n,o=0,i=t.length;o<i;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))},__await:f,__asyncGenerator:function(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,o=r.apply(e,t||[]),i=[];return n=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",function(e){return function(t){return Promise.resolve(t).then(e,s)}}),n[Symbol.asyncIterator]=function(){return this},n;function a(e,t){o[e]&&(n[e]=function(t){return new Promise(function(r,n){i.push([e,t,r,n])>1||c(e,t)})},t&&(n[e]=t(n[e])))}function c(e,t){try{(r=o[e](t)).value instanceof f?Promise.resolve(r.value.v).then(u,s):l(i[0][2],r)}catch(e){l(i[0][3],e)}var r}function u(e){c("next",e)}function s(e){c("throw",e)}function l(e,t){e(t),i.shift(),i.length&&c(i[0][0],i[0][1])}},__asyncDelegator:function(e){var t,r;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:f(e[n](t)),done:!1}:o?o(t):t}:o}},__asyncValues:function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=u(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise(function(n,o){(function(e,t,r,n){Promise.resolve(n).then(function(t){e({value:t,done:r})},t)})(n,o,(t=e[r](t)).done,t.value)})}}},__makeTemplateObject:function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},__importStar:function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=p(e),n=0;n<r.length;n++)"default"!==r[n]&&c(t,e,r[n]);return l(t,e),t},__importDefault:function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet:function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},__classPrivateFieldSet:function(e,t,r,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,r):o?o.value=r:t.set(e,r),r},__classPrivateFieldIn:function(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)},__addDisposableResource:function(e,t,r){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var n,o;if(r){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");n=t[Symbol.asyncDispose]}if(void 0===n){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");n=t[Symbol.dispose],r&&(o=n)}if("function"!=typeof n)throw new TypeError("Object not disposable.");o&&(n=function(){try{o.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:n,async:r})}else r&&e.stack.push({async:!0});return t},__disposeResources:function(e){function t(t){e.error=e.hasError?new y(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}var r,n=0;return function o(){for(;r=e.stack.pop();)try{if(!r.async&&1===n)return n=0,e.stack.push(r),Promise.resolve().then(o);if(r.dispose){var i=r.dispose.call(r.value);if(r.async)return n|=2,Promise.resolve(i).then(o,function(e){return t(e),o()})}else n|=1}catch(e){t(e)}if(1===n)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}()},__rewriteRelativeImportExtension:function(e,t){return"string"==typeof e&&/^\.\.?\//.test(e)?e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(e,r,n,o,i){return r?t?".jsx":".js":!n||o&&i?n+o+"."+i.toLowerCase()+"js":e}):e}},h="6.1.0",b=((d={})[h]={},d),_=Object.freeze({__proto__:null,isOn:function(e,t){return t&&console.log("\n[DEBUG] Execution Time in milliseconds: ".concat(Date.now(),' version: "').concat(h,'" key: "').concat(e,'" settings: ').concat(JSON.stringify(b),"\n")),"string"==typeof e&&!!b[h][e]},set:function(e){b[h]=Object.assign({},b[h],e)}}),w=o(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.FeatureToggle=void 0;t.FeatureToggle=function(e){var t,r;return(t=e.featureName,r=function(e){return"!"===e[0]?!(0,_.isOn)(e.replace("!","")):(0,_.isOn)(e)},"string"==typeof t?r(t):!!Array.isArray(t)&&t.every(r))?e.children:null}});n(w),w.FeatureToggle;var g=o(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.FeatureToggleProvider=void 0,t.useFeatureToggle=function(){var e=(0,n.useContext)(o);if(!e)throw new Error("useFeatureToggle must be used within FeatureToggleClientProvider");return e};var n=v.__importStar(r.default),o=(0,n.createContext)({isOn:_.isOn,toggles:null});t.FeatureToggleProvider=function(e){var t=e.children,r=e.featureToggleService;return(0,_.set)(r),n.default.createElement(o.Provider,{value:{isOn:_.isOn,toggles:r}},t)}});n(g),g.FeatureToggleProvider,g.useFeatureToggle;var m=w,O=g;return n(o(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),v.__exportStar(m,t),v.__exportStar(O,t)}))});
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).ReactorFeatureToggle=t(e.react)}(this,function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=t(e);function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function o(e,t){return e(t={exports:{}},t.exports),t.exports}var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},i(e,t)};var a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)};var c=Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]};function u(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function f(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function s(e){return this instanceof s?(this.v=e,this):new s(e)}var l=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},p=function(e){return p=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},p(e)};var y="function"==typeof SuppressedError?SuppressedError:function(e,t,r){var n=new Error(r);return n.name="SuppressedError",n.error=e,n.suppressed=t,n};var d,v={__extends:function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},__assign:a,__rest:function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r},__decorate:function(e,t,r,n){var o,i=arguments.length,a=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(i<3?o(a):i>3?o(t,r,a):o(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},__param:function(e,t){return function(r,n){t(r,n,e)}},__esDecorate:function(e,t,r,n,o,i){function a(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var c,u=n.kind,f="getter"===u?"get":"setter"===u?"set":"value",s=!t&&e?n.static?e:e.prototype:null,l=t||(s?Object.getOwnPropertyDescriptor(s,n.name):{}),p=!1,y=r.length-1;y>=0;y--){var d={};for(var v in n)d[v]="access"===v?{}:n[v];for(var v in n.access)d.access[v]=n.access[v];d.addInitializer=function(e){if(p)throw new TypeError("Cannot add initializers after decoration has completed");i.push(a(e||null))};var h=(0,r[y])("accessor"===u?{get:l.get,set:l.set}:l[f],d);if("accessor"===u){if(void 0===h)continue;if(null===h||"object"!=typeof h)throw new TypeError("Object expected");(c=a(h.get))&&(l.get=c),(c=a(h.set))&&(l.set=c),(c=a(h.init))&&o.unshift(c)}else(c=a(h))&&("field"===u?o.unshift(c):l[f]=c)}s&&Object.defineProperty(s,n.name,l),p=!0},__runInitializers:function(e,t,r){for(var n=arguments.length>2,o=0;o<t.length;o++)r=n?t[o].call(e,r):t[o].call(e);return n?r:void 0},__propKey:function(e){return"symbol"==typeof e?e:"".concat(e)},__setFunctionName:function(e,t,r){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:r?"".concat(r," ",t):t})},__metadata:function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter:function(e,t,r,n){return new(r||(r=Promise))(function(o,i){function a(e){try{u(n.next(e))}catch(e){i(e)}}function c(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(a,c)}u((n=n.apply(e,t||[])).next())})},__generator:function(e,t){var r,n,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=c(0),a.throw=c(1),a.return=c(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(u){return function(c){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,n=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}},__createBinding:c,__exportStar:function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||c(t,e,r)},__values:u,__read:f,__spread:function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(f(arguments[t]));return e},__spreadArrays:function(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var n=Array(e),o=0;for(t=0;t<r;t++)for(var i=arguments[t],a=0,c=i.length;a<c;a++,o++)n[o]=i[a];return n},__spreadArray:function(e,t,r){if(r||2===arguments.length)for(var n,o=0,i=t.length;o<i;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))},__await:s,__asyncGenerator:function(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,o=r.apply(e,t||[]),i=[];return n=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",function(e){return function(t){return Promise.resolve(t).then(e,f)}}),n[Symbol.asyncIterator]=function(){return this},n;function a(e,t){o[e]&&(n[e]=function(t){return new Promise(function(r,n){i.push([e,t,r,n])>1||c(e,t)})},t&&(n[e]=t(n[e])))}function c(e,t){try{(r=o[e](t)).value instanceof s?Promise.resolve(r.value.v).then(u,f):l(i[0][2],r)}catch(e){l(i[0][3],e)}var r}function u(e){c("next",e)}function f(e){c("throw",e)}function l(e,t){e(t),i.shift(),i.length&&c(i[0][0],i[0][1])}},__asyncDelegator:function(e){var t,r;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:s(e[n](t)),done:!1}:o?o(t):t}:o}},__asyncValues:function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=u(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise(function(n,o){(function(e,t,r,n){Promise.resolve(n).then(function(t){e({value:t,done:r})},t)})(n,o,(t=e[r](t)).done,t.value)})}}},__makeTemplateObject:function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},__importStar:function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=p(e),n=0;n<r.length;n++)"default"!==r[n]&&c(t,e,r[n]);return l(t,e),t},__importDefault:function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet:function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},__classPrivateFieldSet:function(e,t,r,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,r):o?o.value=r:t.set(e,r),r},__classPrivateFieldIn:function(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)},__addDisposableResource:function(e,t,r){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var n,o;if(r){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");n=t[Symbol.asyncDispose]}if(void 0===n){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");n=t[Symbol.dispose],r&&(o=n)}if("function"!=typeof n)throw new TypeError("Object not disposable.");o&&(n=function(){try{o.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:n,async:r})}else r&&e.stack.push({async:!0});return t},__disposeResources:function(e){function t(t){e.error=e.hasError?new y(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}var r,n=0;return function o(){for(;r=e.stack.pop();)try{if(!r.async&&1===n)return n=0,e.stack.push(r),Promise.resolve().then(o);if(r.dispose){var i=r.dispose.call(r.value);if(r.async)return n|=2,Promise.resolve(i).then(o,function(e){return t(e),o()})}else n|=1}catch(e){t(e)}if(1===n)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}()},__rewriteRelativeImportExtension:function(e,t){return"string"==typeof e&&/^\.\.?\//.test(e)?e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(e,r,n,o,i){return r?t?".jsx":".js":!n||o&&i?n+o+"."+i.toLowerCase()+"js":e}):e}},h="6.1.0",b=((d={})[h]={},d),_=Object.freeze({__proto__:null,isOn:function(e,t){return t&&console.log("\n[DEBUG] Execution Time in milliseconds: ".concat(Date.now(),' version: "').concat(h,'" key: "').concat(e,'" settings: ').concat(JSON.stringify(b),"\n")),"string"==typeof e&&!!b[h][e]},set:function(e){b[h]=Object.assign({},b[h],e)}}),w=o(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.FeatureToggle=void 0;t.FeatureToggle=function(e){var t,r;return(t=e.featureName,r=function(e){return"!"===e[0]?!(0,_.isOn)(e.replace("!","")):(0,_.isOn)(e)},"string"==typeof t?r(t):!!Array.isArray(t)&&t.every(r))?e.children:null}});n(w),w.FeatureToggle;var g=o(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.FeatureToggleProvider=void 0,t.useFeatureToggle=function(){var e=(0,n.useContext)(o);if(!e)throw new Error("useFeatureToggle must be used within FeatureToggleProvider");return e};var n=v.__importStar(r.default),o=(0,n.createContext)(null);t.FeatureToggleProvider=function(e){var t=e.children,r=e.featureToggleService;(0,n.useMemo)(function(){(0,_.set)(r)},[r]);var i=(0,n.useMemo)(function(){return{isOn:_.isOn,toggles:r}},[r]);return n.default.createElement(o.Provider,{value:i},t)}});n(g),g.FeatureToggleProvider,g.useFeatureToggle;var m=w,O=g;return n(o(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),v.__exportStar(m,t),v.__exportStar(O,t)}))});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).ReactorFeatureToggle=t(e.react)}(this,function(e){"use strict";var t,r=(t=e)&&"object"==typeof t&&"default"in t?t:{default:t};function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function o(e,t){return e(t={exports:{}},t.exports),t.exports}var u=Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]};var i,a=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).ReactorFeatureToggle=t(e.react)}(this,function(e){"use strict";var t,r=(t=e)&&"object"==typeof t&&"default"in t?t:{default:t};function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function o(e,t){return e(t={exports:{}},t.exports),t.exports}var u=Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]};var i,a=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},c=function(e){return(c=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t})(e)},l=function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||u(t,e,r)},f=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=c(e),n=0;n<r.length;n++)"default"!==r[n]&&u(t,e,r[n]);return a(t,e),t},s="6.1.0",d=((i={})[s]={},i),g=Object.freeze({__proto__:null,isOn:function(e,t){return t&&console.log("\n[DEBUG] Execution Time in milliseconds: ".concat(Date.now(),' version: "').concat(s,'" key: "').concat(e,'" settings: ').concat(JSON.stringify(d),"\n")),"string"==typeof e&&!!d[s][e]},set:function(e){d[s]=Object.assign({},d[s],e)}}),v=o(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.FeatureToggle=void 0,t.FeatureToggle=function(e){var t=e.featureName,r=function(e){return"!"===e[0]?!(0,g.isOn)(e.replace("!","")):(0,g.isOn)(e)};return("string"==typeof t?r(t):Array.isArray(t)&&t.every(r))?e.children:null}});n(v),v.FeatureToggle;var p=o(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.FeatureToggleProvider=void 0,t.useFeatureToggle=function(){var e=(0,o.useContext)(u);if(!e)throw new Error("useFeatureToggle must be used within FeatureToggleProvider");return e};var o=f(r.default),u=(0,o.createContext)(null);t.FeatureToggleProvider=function(e){var t=e.children,r=e.featureToggleService;(0,o.useMemo)(function(){(0,g.set)(r)},[r]);var n=(0,o.useMemo)(function(){return{isOn:g.isOn,toggles:r}},[r]);return o.default.createElement(u.Provider,{value:n},t)}});n(p),p.FeatureToggleProvider,p.useFeatureToggle;var y=v,O=p;return n(o(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),l(y,t),l(O,t)}))});
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "reactor-feature-toggle",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.1.0",
|
|
4
4
|
"description": "Your module to handle with feature toggles in ReactJS applications easier",
|
|
5
5
|
"author": "Will Mendes <willmendesneto@gmail.com> (http://github.com/willmendesneto)",
|
|
6
6
|
"keywords": [
|
|
@@ -31,6 +31,13 @@
|
|
|
31
31
|
"browser": "dist/umd/reactor-feature-toggle.js",
|
|
32
32
|
"jsnext:main": "dist/esm/index.js",
|
|
33
33
|
"cjs": "dist/cjs/index.js",
|
|
34
|
+
"exports": {
|
|
35
|
+
".": {
|
|
36
|
+
"types": "./dist/cjs/index.d.ts",
|
|
37
|
+
"import": "./dist/esm/index.js",
|
|
38
|
+
"require": "./dist/cjs/index.js"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
34
41
|
"scripts": {
|
|
35
42
|
"build": "npm run build:clean && npm run build:cjs && npm run build:esm && npm run build:umd",
|
|
36
43
|
"build:cjs": "tsc --project ./tsconfig.cjs.json --declaration --module commonjs --target es5 --outDir dist/cjs",
|
|
@@ -71,9 +78,8 @@
|
|
|
71
78
|
"@babel/preset-react": "^7.9.4",
|
|
72
79
|
"@babel/preset-typescript": "^7.9.0",
|
|
73
80
|
"@babel/runtime": "^7.28.4",
|
|
74
|
-
"@testing-library/jest-dom": "^
|
|
75
|
-
"@testing-library/react": "^
|
|
76
|
-
"@types/enzyme": "^3.10.5",
|
|
81
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
82
|
+
"@testing-library/react": "^14.3.1",
|
|
77
83
|
"@types/react": "^16.9.35",
|
|
78
84
|
"@types/react-dom": "^16.9.8",
|
|
79
85
|
"@typescript-eslint/eslint-plugin": "^3.1.0",
|
|
@@ -115,7 +121,7 @@
|
|
|
115
121
|
"bundlesize": [
|
|
116
122
|
{
|
|
117
123
|
"path": "./dist/umd/reactor-feature-toggle.min.js",
|
|
118
|
-
"maxSize": "
|
|
124
|
+
"maxSize": "1.1KB"
|
|
119
125
|
}
|
|
120
126
|
],
|
|
121
127
|
"engines": {
|