@atlaskit/tmp-editor-statsig 148.0.0 → 149.0.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/CHANGELOG.md +47 -0
- package/dist/cjs/create-boolean-experiment.js +20 -0
- package/dist/cjs/{experiment-builders.js → create-multivariate-experiment.js} +2 -13
- package/dist/cjs/editor-experiment.js +107 -0
- package/dist/cjs/exp-val-no-exposure.js +15 -0
- package/dist/cjs/exp-val.js +31 -0
- package/dist/cjs/expVal.js +29 -49
- package/dist/cjs/experiments-config.js +298 -306
- package/dist/cjs/experiments.js +12 -127
- package/dist/cjs/is-boolean.js +9 -0
- package/dist/cjs/one-of.js +20 -0
- package/dist/cjs/type-guards.js +1 -27
- package/dist/cjs/unstable-editor-experiment-param.js +37 -0
- package/dist/es2019/create-boolean-experiment.js +11 -0
- package/dist/es2019/{experiment-builders.js → create-multivariate-experiment.js} +1 -12
- package/dist/es2019/editor-experiment.js +100 -0
- package/dist/es2019/exp-val-no-exposure.js +9 -0
- package/dist/es2019/exp-val.js +26 -0
- package/dist/es2019/expVal.js +11 -44
- package/dist/es2019/experiments-config.js +3 -11
- package/dist/es2019/experiments.js +5 -119
- package/dist/es2019/is-boolean.js +3 -0
- package/dist/es2019/one-of.js +14 -0
- package/dist/es2019/type-guards.js +0 -20
- package/dist/es2019/unstable-editor-experiment-param.js +31 -0
- package/dist/esm/create-boolean-experiment.js +13 -0
- package/dist/esm/{experiment-builders.js → create-multivariate-experiment.js} +1 -11
- package/dist/esm/editor-experiment.js +101 -0
- package/dist/esm/exp-val-no-exposure.js +9 -0
- package/dist/esm/exp-val.js +26 -0
- package/dist/esm/expVal.js +11 -44
- package/dist/esm/experiments-config.js +3 -11
- package/dist/esm/experiments.js +5 -120
- package/dist/esm/is-boolean.js +3 -0
- package/dist/esm/one-of.js +14 -0
- package/dist/esm/type-guards.js +0 -20
- package/dist/esm/unstable-editor-experiment-param.js +31 -0
- package/dist/types/create-boolean-experiment.d.ts +11 -0
- package/dist/types/create-multivariate-experiment.d.ts +11 -0
- package/dist/types/editor-experiment.d.ts +52 -0
- package/dist/types/exp-val-no-exposure.d.ts +2 -0
- package/dist/types/exp-val.d.ts +18 -0
- package/dist/types/expVal.d.ts +11 -26
- package/dist/types/experiments-config.d.ts +1 -7
- package/dist/types/experiments.d.ts +4 -63
- package/dist/types/is-boolean.d.ts +1 -0
- package/dist/types/one-of.d.ts +1 -0
- package/dist/types/type-guards.d.ts +8 -2
- package/dist/types/unstable-editor-experiment-param.d.ts +15 -0
- package/package.json +1 -1
- package/dist/types/experiment-builders.d.ts +0 -21
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,52 @@
|
|
|
1
1
|
# @atlaskit/editor-statsig-tmp
|
|
2
2
|
|
|
3
|
+
## 149.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- [`76e9f6152bf16`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/76e9f6152bf16) -
|
|
8
|
+
Enable launched synced block integrations and remove obsolete experiment scaffolding.
|
|
9
|
+
|
|
10
|
+
BREAKING: `@atlaskit/tmp-editor-statsig` no longer defines the `platform_synced_block` editor
|
|
11
|
+
experiment. Consumers that use `editorExperiment('platform_synced_block', ...)` to conditionally
|
|
12
|
+
enable synced-block integrations will no longer be able to look up that experiment; synced-block
|
|
13
|
+
integrations are now enabled by default. Remove each lookup and its conditional branch:
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
// Before
|
|
17
|
+
if (editorExperiment('platform_synced_block', true)) {
|
|
18
|
+
enableSyncedBlocks();
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// After
|
|
22
|
+
enableSyncedBlocks();
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## 148.1.0
|
|
26
|
+
|
|
27
|
+
### Minor Changes
|
|
28
|
+
|
|
29
|
+
- [`72434f514923a`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/72434f514923a) -
|
|
30
|
+
Split multi-export modules into one export per file to meet the Volt package standard. The
|
|
31
|
+
`exports` map is unchanged — all 10 public subpaths keep their existing targets — and every symbol
|
|
32
|
+
that moved is still re-exported from the subpath that previously exposed it, now marked
|
|
33
|
+
`@deprecated`:
|
|
34
|
+
- `@atlaskit/tmp-editor-statsig/expVal` — `expVal` and `expValNoExposure` now live in
|
|
35
|
+
`src/exp-val.ts` and `src/exp-val-no-exposure.ts`.
|
|
36
|
+
- `@atlaskit/tmp-editor-statsig/experiments` — `editorExperiment` and
|
|
37
|
+
`unstable_editorExperimentParam` now live in `src/editor-experiment.ts` and
|
|
38
|
+
`src/unstable-editor-experiment-param.ts`.
|
|
39
|
+
|
|
40
|
+
`expValInternal` is now exported from `@atlaskit/tmp-editor-statsig/expVal`. It was previously a
|
|
41
|
+
module-private helper and is only public so the split `expVal`/`expValNoExposure` modules can
|
|
42
|
+
share it — it is not intended for consumer use and will be removed once the deprecated shims go
|
|
43
|
+
(VOLTC-139).
|
|
44
|
+
|
|
45
|
+
Internal-only modules were also split out (`create-boolean-experiment`,
|
|
46
|
+
`create-multivariate-experiment`, `is-boolean`, `one-of`), and barrel imports of
|
|
47
|
+
`@atlaskit/feature-gate-js-client` and `@atlaskit/platform-feature-flags` were replaced with their
|
|
48
|
+
subpath equivalents. No behaviour change.
|
|
49
|
+
|
|
3
50
|
## 148.0.0
|
|
4
51
|
|
|
5
52
|
### Major Changes
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createBooleanExperiment = createBooleanExperiment;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _isBoolean = require("./is-boolean");
|
|
10
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
+
/**
|
|
13
|
+
* Helper to create a boolean experiment configuration
|
|
14
|
+
*/
|
|
15
|
+
function createBooleanExperiment(config) {
|
|
16
|
+
return _objectSpread(_objectSpread({}, config), {}, {
|
|
17
|
+
typeGuard: _isBoolean.isBoolean,
|
|
18
|
+
defaultValue: config.defaultValue
|
|
19
|
+
});
|
|
20
|
+
}
|
|
@@ -4,23 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.createBooleanExperiment = createBooleanExperiment;
|
|
8
7
|
exports.createMultivariateExperiment = createMultivariateExperiment;
|
|
9
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
var
|
|
10
|
+
var _oneOf = require("./one-of");
|
|
12
11
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
12
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14
|
-
/**
|
|
15
|
-
* Helper to create a boolean experiment configuration
|
|
16
|
-
*/
|
|
17
|
-
function createBooleanExperiment(config) {
|
|
18
|
-
return _objectSpread(_objectSpread({}, config), {}, {
|
|
19
|
-
typeGuard: _typeGuards.isBoolean,
|
|
20
|
-
defaultValue: config.defaultValue
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
|
|
24
13
|
/**
|
|
25
14
|
* Helper to create a multivariate experiment configuration
|
|
26
15
|
*/
|
|
@@ -29,7 +18,7 @@ function createMultivariateExperiment(config) {
|
|
|
29
18
|
return _objectSpread(_objectSpread({}, config), {}, {
|
|
30
19
|
values: (0, _toConsumableArray2.default)(values),
|
|
31
20
|
// Maintains the tuple
|
|
32
|
-
typeGuard: (0,
|
|
21
|
+
typeGuard: (0, _oneOf.oneOf)(config.values),
|
|
33
22
|
defaultValue: config.defaultValue
|
|
34
23
|
});
|
|
35
24
|
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.editorExperiment = editorExperiment;
|
|
8
|
+
var _featureGates = _interopRequireDefault(require("@atlaskit/feature-gate-js-client/feature-gates"));
|
|
9
|
+
var _featureFlagsAccessed = require("@atlaskit/react-ufo/feature-flags-accessed");
|
|
10
|
+
var _experimentsConfig = require("./experiments-config");
|
|
11
|
+
var _setup = require("./setup");
|
|
12
|
+
/* eslint-disable @atlaskit/editor/no-re-export */
|
|
13
|
+
// Entry file in package.json
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Check the value of an editor experiment.
|
|
17
|
+
*
|
|
18
|
+
* Note: By default this will not fire an [exposure event](https://hello.atlassian.net/wiki/spaces/~732385844/pages/3187295823/Exposure+Events+101).
|
|
19
|
+
*
|
|
20
|
+
* You need explicitly call it using the exposure property when you need an exposure event to be fired (all experiments should fire exposure events).
|
|
21
|
+
*
|
|
22
|
+
* @example Boolean experiment
|
|
23
|
+
* ```ts
|
|
24
|
+
* if (editorExperiment('example-boolean', true)) {
|
|
25
|
+
* // Run code for on variant
|
|
26
|
+
* } else {
|
|
27
|
+
* // Run code for off variant
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @example Multivariate experiment
|
|
32
|
+
* ```ts
|
|
33
|
+
* switch (true) {
|
|
34
|
+
* case editorExperiment('example-multivariate', 'one'):
|
|
35
|
+
* // Run code for variant one
|
|
36
|
+
* break;
|
|
37
|
+
* case editorExperiment('example-multivariate', 'two'):
|
|
38
|
+
* // Run code for variant two
|
|
39
|
+
* break;
|
|
40
|
+
* case editorExperiment('example-multivariate', 'three'):
|
|
41
|
+
* // Run code for variant three
|
|
42
|
+
* break;
|
|
43
|
+
* }
|
|
44
|
+
* }
|
|
45
|
+
*```
|
|
46
|
+
|
|
47
|
+
@example Experiment with exposure event
|
|
48
|
+
* ```ts
|
|
49
|
+
* // Inside feature surface where either the control or variant should be shown
|
|
50
|
+
* if (editorExperiment('example-boolean', true, { exposure: true })) {
|
|
51
|
+
* // Run code for on variant
|
|
52
|
+
* } else {
|
|
53
|
+
* // Run code for off variant
|
|
54
|
+
* }
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
* @private
|
|
58
|
+
* @deprecated This utility is deprecated in favour of using `expValEquals` from `@atlaskit/tmp-editor-statsig/exp-val-equals`.
|
|
59
|
+
* ExpValEquals fires exposure events by default preventing cases when consumers of exitorExperiment forget to pass the `exposure` option.
|
|
60
|
+
* It also closely aligns with similar utilities in other Atlassian products.
|
|
61
|
+
* For no exposure option use `expValEqualsNoExposure` from `@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure`.
|
|
62
|
+
*/
|
|
63
|
+
function editorExperiment(experimentName, expectedExperimentValue) {
|
|
64
|
+
var _experimentConfig$pro;
|
|
65
|
+
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
|
|
66
|
+
exposure: false
|
|
67
|
+
};
|
|
68
|
+
var experimentConfig = _experimentsConfig.editorExperimentsConfig[experimentName];
|
|
69
|
+
if (_setup._overrides[experimentName] !== undefined) {
|
|
70
|
+
// This will be hit in the case of a test setting an override
|
|
71
|
+
return _setup._overrides[experimentName] === expectedExperimentValue;
|
|
72
|
+
}
|
|
73
|
+
if (experimentConfig === undefined) {
|
|
74
|
+
// Warning! If a product is improperly configured (ie. their editor packages are misaligned)
|
|
75
|
+
// it can cause the editor to crash here or if the experiment does not exist.
|
|
76
|
+
// We will definitely crash via any code path later in this function - this just makes the error explicit and clear.
|
|
77
|
+
throw new Error("Editor experiment configuration is not defined ".concat(experimentName, ". Likely the experiment does not exist or editor package versions are misaligned"));
|
|
78
|
+
}
|
|
79
|
+
if (!_setup._product) {
|
|
80
|
+
// This will be hit in the case of a product not having setup the editor experiment tooling
|
|
81
|
+
return experimentConfig.defaultValue === expectedExperimentValue;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// Typescript is complaining here about accessing the productKeys property
|
|
85
|
+
// Ignored via go/ees005
|
|
86
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
87
|
+
var experimentKey = experimentConfig === null || experimentConfig === void 0 || (_experimentConfig$pro = experimentConfig.productKeys) === null || _experimentConfig$pro === void 0 ? void 0 : _experimentConfig$pro[_setup._product];
|
|
88
|
+
if (!experimentKey) {
|
|
89
|
+
var _editorExperimentsCon;
|
|
90
|
+
// This will be hit in the case of an experiment not being set up for the product
|
|
91
|
+
return ((_editorExperimentsCon = _experimentsConfig.editorExperimentsConfig[experimentName]) === null || _editorExperimentsCon === void 0 ? void 0 : _editorExperimentsCon.defaultValue) === expectedExperimentValue;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
95
|
+
var experimentValue = _featureGates.default.getExperimentValue(experimentKey, experimentConfig.param, experimentConfig.defaultValue, {
|
|
96
|
+
typeGuard: experimentConfig.typeGuard,
|
|
97
|
+
fireExperimentExposure: options.exposure
|
|
98
|
+
});
|
|
99
|
+
if (
|
|
100
|
+
// When cleaning this gate up -- `calling where the experiments have the product key set`
|
|
101
|
+
// in __tests__/experiments should be updated (as it's had the count bumped to include these).
|
|
102
|
+
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
103
|
+
_featureGates.default.getExperimentValue('cc_editor_experiments_ufo_gate_reporting', 'isEnabled', false)) {
|
|
104
|
+
(0, _featureFlagsAccessed.addFeatureFlagAccessed)("".concat(experimentName, ":").concat(experimentConfig.param), experimentValue);
|
|
105
|
+
}
|
|
106
|
+
return expectedExperimentValue === experimentValue;
|
|
107
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.expValNoExposure = expValNoExposure;
|
|
7
|
+
var _expVal = require("./expVal");
|
|
8
|
+
function expValNoExposure(experimentName, experimentParam, defaultValue) {
|
|
9
|
+
return (0, _expVal.expValInternal)({
|
|
10
|
+
experimentName: experimentName,
|
|
11
|
+
experimentParam: experimentParam,
|
|
12
|
+
defaultValue: defaultValue,
|
|
13
|
+
fireExperimentExposure: false
|
|
14
|
+
});
|
|
15
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.expVal = expVal;
|
|
7
|
+
var _expVal = require("./expVal");
|
|
8
|
+
/**
|
|
9
|
+
* Use to check a any param value for an experiment
|
|
10
|
+
*
|
|
11
|
+
* **Note**: this will return the default value when the experiment;
|
|
12
|
+
* - is not being served to the client (ie. pre start)
|
|
13
|
+
* - or is not configured in experiments-config
|
|
14
|
+
*
|
|
15
|
+
* If you need to check a param value without an exposure check see
|
|
16
|
+
* {@link import('./exp-val-no-exposure').expValNoExposure}
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* const delay = expVal('experiment-name', 'param-name', defaultValue)
|
|
21
|
+
* await new Promise(res => setTimeout(res, delay)
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
function expVal(experimentName, experimentParam, defaultValue) {
|
|
25
|
+
return (0, _expVal.expValInternal)({
|
|
26
|
+
experimentName: experimentName,
|
|
27
|
+
experimentParam: experimentParam,
|
|
28
|
+
defaultValue: defaultValue,
|
|
29
|
+
fireExperimentExposure: true
|
|
30
|
+
});
|
|
31
|
+
}
|
package/dist/cjs/expVal.js
CHANGED
|
@@ -4,13 +4,29 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
Object.defineProperty(exports, "expVal", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _expVal.expVal;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
exports.expValInternal = expValInternal;
|
|
14
|
+
Object.defineProperty(exports, "expValNoExposure", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _expValNoExposure.expValNoExposure;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
var _featureGates = _interopRequireDefault(require("@atlaskit/feature-gate-js-client/feature-gates"));
|
|
21
|
+
var _fg = require("@atlaskit/platform-feature-flags/fg");
|
|
11
22
|
var _featureFlagsAccessed = require("@atlaskit/react-ufo/feature-flags-accessed");
|
|
12
23
|
var _experimentsConfig = require("./experiments-config");
|
|
13
24
|
var _setup = require("./setup");
|
|
25
|
+
var _expVal = require("./exp-val");
|
|
26
|
+
var _expValNoExposure = require("./exp-val-no-exposure");
|
|
27
|
+
/* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
|
|
28
|
+
/* eslint-disable @atlaskit/editor/no-re-export -- deprecated shims re-exporting the split `expVal`/`expValNoExposure` modules for backwards compatibility (VOLTC-139). */
|
|
29
|
+
|
|
14
30
|
function expValInternal(_ref) {
|
|
15
31
|
var _paramOverrides2, _experimentConfig$pro;
|
|
16
32
|
var experimentName = _ref.experimentName,
|
|
@@ -37,7 +53,7 @@ function expValInternal(_ref) {
|
|
|
37
53
|
}
|
|
38
54
|
|
|
39
55
|
// If client is not initialized, we return the default value
|
|
40
|
-
if (!
|
|
56
|
+
if (!_featureGates.default.initializeCompleted()) {
|
|
41
57
|
return defaultValue;
|
|
42
58
|
}
|
|
43
59
|
if (!_setup._product) {
|
|
@@ -53,15 +69,15 @@ function expValInternal(_ref) {
|
|
|
53
69
|
// This will be hit in the case of an experiment not being set up for the product
|
|
54
70
|
return defaultValue;
|
|
55
71
|
}
|
|
56
|
-
var resolvedExperimentKey = !_experimentsConfig.disallowsProductKeys.includes(experimentName) && (0,
|
|
72
|
+
var resolvedExperimentKey = !_experimentsConfig.disallowsProductKeys.includes(experimentName) && (0, _fg.fg)('platform_editor_experiments_use_product_keys') ? experimentKey : experimentName;
|
|
57
73
|
|
|
58
74
|
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
59
|
-
var experimentValue =
|
|
75
|
+
var experimentValue = _featureGates.default.getExperimentValue(resolvedExperimentKey, experimentParam, defaultValue, {
|
|
60
76
|
fireExperimentExposure: fireExperimentExposure
|
|
61
77
|
});
|
|
62
78
|
if (
|
|
63
79
|
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
64
|
-
|
|
80
|
+
_featureGates.default.getExperimentValue('cc_editor_experiments_ufo_gate_reporting_expval', 'isEnabled', false)) {
|
|
65
81
|
// Duplicated from /confluence/next/packages/feature-experiments/src/index.ts
|
|
66
82
|
(0, _featureFlagsAccessed.addFeatureFlagAccessed)("".concat(resolvedExperimentKey, ":").concat(experimentParam), experimentValue);
|
|
67
83
|
}
|
|
@@ -69,45 +85,9 @@ function expValInternal(_ref) {
|
|
|
69
85
|
}
|
|
70
86
|
|
|
71
87
|
/**
|
|
72
|
-
* Use
|
|
73
|
-
*
|
|
74
|
-
* **Note**: this will return the default value when the experiment;
|
|
75
|
-
* - is not being served to the client (ie. pre start)
|
|
76
|
-
* - or is not configured in experiments-config
|
|
77
|
-
*
|
|
78
|
-
* If you need to check a param value without an exposure check see {@link expValNoExposure}
|
|
79
|
-
*
|
|
80
|
-
* @example
|
|
81
|
-
* ```ts
|
|
82
|
-
* const delay = expVal('experiment-name', 'param-name', defaultValue)
|
|
83
|
-
* await new Promise(res => setTimeout(res, delay)
|
|
84
|
-
* ```
|
|
88
|
+
* @deprecated Use `import { expVal } from '@atlaskit/tmp-editor-statsig/expVal'` instead.
|
|
85
89
|
*/
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
defaultValue: defaultValue,
|
|
91
|
-
fireExperimentExposure: true
|
|
92
|
-
});
|
|
93
|
-
} /**
|
|
94
|
-
* Use to check a any param value for an experiment without firing an exposure event
|
|
95
|
-
*
|
|
96
|
-
* **Note**: this will return the default value when the experiment;
|
|
97
|
-
* - is not being served to the client (ie. pre start)
|
|
98
|
-
* - or is not configured in experiments-config
|
|
99
|
-
*
|
|
100
|
-
* @example
|
|
101
|
-
* ```ts
|
|
102
|
-
* const delay = expParamEqualsNoExposure('experiment-name', 'param-name', defaultValue)
|
|
103
|
-
* await new Promise(res => setTimeout(res, delay)
|
|
104
|
-
* ```
|
|
105
|
-
*/
|
|
106
|
-
function expValNoExposure(experimentName, experimentParam, defaultValue) {
|
|
107
|
-
return expValInternal({
|
|
108
|
-
experimentName: experimentName,
|
|
109
|
-
experimentParam: experimentParam,
|
|
110
|
-
defaultValue: defaultValue,
|
|
111
|
-
fireExperimentExposure: false
|
|
112
|
-
});
|
|
113
|
-
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* @deprecated Use `import { expValNoExposure } from '@atlaskit/tmp-editor-statsig/expVal'` instead.
|
|
93
|
+
*/
|