unleash-server 4.14.2 → 4.14.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/dist/lib/db/event-store.d.ts +2 -3
  2. package/dist/lib/db/event-store.js +26 -36
  3. package/dist/lib/db/event-store.js.map +1 -1
  4. package/dist/lib/db/event-store.test.js +1 -1
  5. package/dist/lib/db/event-store.test.js.map +1 -1
  6. package/dist/lib/db/feature-strategy-store.js +3 -3
  7. package/dist/lib/db/feature-strategy-store.js.map +1 -1
  8. package/dist/lib/db/feature-toggle-client-store.d.ts +1 -1
  9. package/dist/lib/db/feature-toggle-client-store.js +6 -6
  10. package/dist/lib/db/feature-toggle-client-store.js.map +1 -1
  11. package/dist/lib/db/group-store.d.ts +0 -1
  12. package/dist/lib/db/group-store.js +1 -14
  13. package/dist/lib/db/group-store.js.map +1 -1
  14. package/dist/lib/db/user-store.js +8 -1
  15. package/dist/lib/db/user-store.js.map +1 -1
  16. package/dist/lib/openapi/index.d.ts +2388 -952
  17. package/dist/lib/openapi/index.js +8 -4
  18. package/dist/lib/openapi/index.js.map +1 -1
  19. package/dist/lib/openapi/spec/client-feature-schema.d.ts +72 -7
  20. package/dist/lib/openapi/spec/client-feature-schema.js +5 -3
  21. package/dist/lib/openapi/spec/client-feature-schema.js.map +1 -1
  22. package/dist/lib/openapi/spec/client-features-schema.d.ts +138 -16
  23. package/dist/lib/openapi/spec/client-features-schema.js +2 -2
  24. package/dist/lib/openapi/spec/client-features-schema.js.map +1 -1
  25. package/dist/lib/openapi/spec/client-features-schema.test.js +10 -0
  26. package/dist/lib/openapi/spec/client-features-schema.test.js.map +1 -1
  27. package/dist/lib/openapi/spec/constraint-schema.d.ts +51 -2
  28. package/dist/lib/openapi/spec/constraint-schema.js +17 -4
  29. package/dist/lib/openapi/spec/constraint-schema.js.map +1 -1
  30. package/dist/lib/openapi/spec/context-field-schema.test.js +5 -1
  31. package/dist/lib/openapi/spec/context-field-schema.test.js.map +1 -1
  32. package/dist/lib/openapi/spec/create-feature-strategy-schema.d.ts +12 -2
  33. package/dist/lib/openapi/spec/feature-environment-schema.d.ts +12 -2
  34. package/dist/lib/openapi/spec/feature-events-schema.d.ts +1 -1
  35. package/dist/lib/openapi/spec/feature-events-schema.js +1 -1
  36. package/dist/lib/openapi/spec/feature-events-schema.js.map +1 -1
  37. package/dist/lib/openapi/spec/feature-schema.d.ts +25 -5
  38. package/dist/lib/openapi/spec/feature-schema.test.js +13 -1
  39. package/dist/lib/openapi/spec/feature-schema.test.js.map +1 -1
  40. package/dist/lib/openapi/spec/feature-strategy-schema.d.ts +12 -2
  41. package/dist/lib/openapi/spec/feature-variants-schema.d.ts +1 -1
  42. package/dist/lib/openapi/spec/features-schema.d.ts +50 -10
  43. package/dist/lib/openapi/spec/group-schema.d.ts +1 -4
  44. package/dist/lib/openapi/spec/group-user-model-schema.d.ts +1 -4
  45. package/dist/lib/openapi/spec/group-user-model-schema.js +1 -4
  46. package/dist/lib/openapi/spec/group-user-model-schema.js.map +1 -1
  47. package/dist/lib/openapi/spec/groups-schema.d.ts +2 -8
  48. package/dist/lib/openapi/spec/groups-schema.test.js +0 -1
  49. package/dist/lib/openapi/spec/groups-schema.test.js.map +1 -1
  50. package/dist/lib/openapi/spec/health-overview-schema.d.ts +50 -10
  51. package/dist/lib/openapi/spec/health-report-schema.d.ts +50 -10
  52. package/dist/lib/openapi/spec/playground-constraint-schema.d.ts +47 -0
  53. package/dist/lib/openapi/spec/playground-constraint-schema.js +18 -0
  54. package/dist/lib/openapi/spec/playground-constraint-schema.js.map +1 -0
  55. package/dist/lib/openapi/spec/playground-feature-schema.d.ts +388 -2
  56. package/dist/lib/openapi/spec/playground-feature-schema.js +95 -9
  57. package/dist/lib/openapi/spec/playground-feature-schema.js.map +1 -1
  58. package/dist/lib/openapi/spec/playground-feature-schema.test.js +64 -3
  59. package/dist/lib/openapi/spec/playground-feature-schema.test.js.map +1 -1
  60. package/dist/lib/openapi/spec/playground-request-schema.d.ts +2 -0
  61. package/dist/lib/openapi/spec/playground-request-schema.js +6 -1
  62. package/dist/lib/openapi/spec/playground-request-schema.js.map +1 -1
  63. package/dist/lib/openapi/spec/playground-response-schema.d.ts +774 -3
  64. package/dist/lib/openapi/spec/playground-response-schema.js +15 -1
  65. package/dist/lib/openapi/spec/playground-response-schema.js.map +1 -1
  66. package/dist/lib/openapi/spec/playground-segment-schema.d.ts +79 -0
  67. package/dist/lib/openapi/spec/playground-segment-schema.js +36 -0
  68. package/dist/lib/openapi/spec/playground-segment-schema.js.map +1 -0
  69. package/dist/lib/openapi/spec/playground-strategy-schema.d.ts +257 -0
  70. package/dist/lib/openapi/spec/playground-strategy-schema.js +102 -0
  71. package/dist/lib/openapi/spec/playground-strategy-schema.js.map +1 -0
  72. package/dist/lib/openapi/spec/{bootstrap-ui-schema.test.d.ts → project-schema.test.d.ts} +0 -0
  73. package/dist/lib/openapi/spec/project-schema.test.js +17 -0
  74. package/dist/lib/openapi/spec/project-schema.test.js.map +1 -0
  75. package/dist/lib/openapi/spec/search-events-schema.d.ts +37 -0
  76. package/dist/lib/openapi/spec/search-events-schema.js +47 -0
  77. package/dist/lib/openapi/spec/search-events-schema.js.map +1 -0
  78. package/dist/lib/openapi/spec/segment-schema.d.ts +12 -2
  79. package/dist/lib/openapi/spec/state-schema.d.ts +61 -11
  80. package/dist/lib/{routes/admin-api/bootstrap-ui.test.d.ts → openapi/spec/tag-types-schema.test.d.ts} +0 -0
  81. package/dist/lib/openapi/spec/tag-types-schema.test.js +23 -0
  82. package/dist/lib/openapi/spec/tag-types-schema.test.js.map +1 -0
  83. package/dist/lib/openapi/spec/ui-config-schema.d.ts +3 -0
  84. package/dist/lib/openapi/spec/ui-config-schema.js +3 -0
  85. package/dist/lib/openapi/spec/ui-config-schema.js.map +1 -1
  86. package/dist/lib/openapi/spec/update-feature-schema.d.ts +12 -2
  87. package/dist/lib/openapi/spec/update-feature-strategy-schema.d.ts +12 -2
  88. package/dist/{test/e2e/api/admin/bootstrap.test.d.ts → lib/openapi/spec/user-schema.test.d.ts} +0 -0
  89. package/dist/lib/openapi/spec/user-schema.test.js +17 -0
  90. package/dist/lib/openapi/spec/user-schema.test.js.map +1 -0
  91. package/dist/lib/openapi/spec/users-groups-base-schema.d.ts +2 -8
  92. package/dist/lib/openapi/spec/variant-schema.d.ts +1 -1
  93. package/dist/lib/openapi/spec/variant-schema.js +1 -1
  94. package/dist/lib/openapi/spec/variant-schema.js.map +1 -1
  95. package/dist/lib/openapi/spec/variants-schema.d.ts +1 -1
  96. package/dist/lib/openapi/util/standard-responses.d.ts +6 -0
  97. package/dist/lib/openapi/util/standard-responses.js +10 -2
  98. package/dist/lib/openapi/util/standard-responses.js.map +1 -1
  99. package/dist/lib/routes/admin-api/config.d.ts +2 -1
  100. package/dist/lib/routes/admin-api/config.js +3 -1
  101. package/dist/lib/routes/admin-api/config.js.map +1 -1
  102. package/dist/lib/routes/admin-api/event.d.ts +3 -1
  103. package/dist/lib/routes/admin-api/event.js +30 -7
  104. package/dist/lib/routes/admin-api/event.js.map +1 -1
  105. package/dist/lib/routes/admin-api/index.js +0 -2
  106. package/dist/lib/routes/admin-api/index.js.map +1 -1
  107. package/dist/lib/routes/admin-api/playground.js.map +1 -1
  108. package/dist/lib/services/event-service.d.ts +2 -2
  109. package/dist/lib/services/event-service.js +2 -5
  110. package/dist/lib/services/event-service.js.map +1 -1
  111. package/dist/lib/services/feature-toggle-service.d.ts +1 -1
  112. package/dist/lib/services/feature-toggle-service.js +2 -2
  113. package/dist/lib/services/feature-toggle-service.js.map +1 -1
  114. package/dist/lib/services/group-service.d.ts +1 -1
  115. package/dist/lib/services/group-service.js +1 -5
  116. package/dist/lib/services/group-service.js.map +1 -1
  117. package/dist/lib/services/index.js +1 -0
  118. package/dist/lib/services/index.js.map +1 -1
  119. package/dist/lib/services/openapi-service.js +1 -1
  120. package/dist/lib/services/openapi-service.js.map +1 -1
  121. package/dist/lib/services/playground-service.d.ts +2 -1
  122. package/dist/lib/services/playground-service.js +30 -11
  123. package/dist/lib/services/playground-service.js.map +1 -1
  124. package/dist/lib/types/group.d.ts +1 -2
  125. package/dist/lib/types/group.js.map +1 -1
  126. package/dist/lib/types/stores/event-store.d.ts +2 -3
  127. package/dist/lib/types/stores/feature-toggle-client-store.d.ts +1 -1
  128. package/dist/lib/types/stores/group-store.d.ts +0 -1
  129. package/dist/lib/util/feature-evaluator/client.d.ts +25 -0
  130. package/dist/lib/util/feature-evaluator/client.js +135 -0
  131. package/dist/lib/util/feature-evaluator/client.js.map +1 -0
  132. package/dist/lib/util/feature-evaluator/constraint.d.ts +28 -0
  133. package/dist/lib/util/feature-evaluator/constraint.js +129 -0
  134. package/dist/lib/util/feature-evaluator/constraint.js.map +1 -0
  135. package/dist/lib/util/feature-evaluator/context.d.ts +13 -0
  136. package/dist/lib/util/feature-evaluator/context.js +3 -0
  137. package/dist/lib/util/feature-evaluator/context.js.map +1 -0
  138. package/dist/lib/util/feature-evaluator/feature-evaluator.d.ts +36 -0
  139. package/dist/lib/util/feature-evaluator/feature-evaluator.js +55 -0
  140. package/dist/lib/util/feature-evaluator/feature-evaluator.js.map +1 -0
  141. package/dist/lib/util/feature-evaluator/feature.d.ts +19 -0
  142. package/dist/lib/util/feature-evaluator/feature.js +3 -0
  143. package/dist/lib/util/feature-evaluator/feature.js.map +1 -0
  144. package/dist/lib/util/feature-evaluator/helpers.d.ts +6 -0
  145. package/dist/lib/util/feature-evaluator/helpers.js +32 -0
  146. package/dist/lib/util/feature-evaluator/helpers.js.map +1 -0
  147. package/dist/lib/util/feature-evaluator/index.d.ts +8 -0
  148. package/dist/lib/util/feature-evaluator/index.js +14 -0
  149. package/dist/lib/util/feature-evaluator/index.js.map +1 -0
  150. package/dist/lib/util/feature-evaluator/repository/bootstrap-provider.d.ts +16 -0
  151. package/dist/lib/util/feature-evaluator/repository/bootstrap-provider.js +25 -0
  152. package/dist/lib/util/feature-evaluator/repository/bootstrap-provider.js.map +1 -0
  153. package/dist/lib/util/feature-evaluator/repository/index.d.ts +35 -0
  154. package/dist/lib/util/feature-evaluator/repository/index.js +63 -0
  155. package/dist/lib/util/feature-evaluator/repository/index.js.map +1 -0
  156. package/dist/lib/util/feature-evaluator/repository/storage-provider-in-mem.d.ts +6 -0
  157. package/dist/lib/util/feature-evaluator/repository/storage-provider-in-mem.js +16 -0
  158. package/dist/lib/util/feature-evaluator/repository/storage-provider-in-mem.js.map +1 -0
  159. package/dist/lib/util/feature-evaluator/repository/storage-provider.d.ts +14 -0
  160. package/dist/lib/util/feature-evaluator/repository/storage-provider.js +50 -0
  161. package/dist/lib/util/feature-evaluator/repository/storage-provider.js.map +1 -0
  162. package/dist/lib/util/feature-evaluator/strategy/application-hostname-strategy.d.ts +8 -0
  163. package/dist/lib/util/feature-evaluator/strategy/application-hostname-strategy.js +23 -0
  164. package/dist/lib/util/feature-evaluator/strategy/application-hostname-strategy.js.map +1 -0
  165. package/dist/lib/util/feature-evaluator/strategy/default-strategy.d.ts +5 -0
  166. package/dist/lib/util/feature-evaluator/strategy/default-strategy.js +13 -0
  167. package/dist/lib/util/feature-evaluator/strategy/default-strategy.js.map +1 -0
  168. package/dist/lib/util/feature-evaluator/strategy/flexible-rollout-strategy.d.ts +12 -0
  169. package/dist/lib/util/feature-evaluator/strategy/flexible-rollout-strategy.js +49 -0
  170. package/dist/lib/util/feature-evaluator/strategy/flexible-rollout-strategy.js.map +1 -0
  171. package/dist/lib/util/feature-evaluator/strategy/gradual-rollout-random.d.ts +9 -0
  172. package/dist/lib/util/feature-evaluator/strategy/gradual-rollout-random.js +19 -0
  173. package/dist/lib/util/feature-evaluator/strategy/gradual-rollout-random.js.map +1 -0
  174. package/dist/lib/util/feature-evaluator/strategy/gradual-rollout-session-id.d.ts +9 -0
  175. package/dist/lib/util/feature-evaluator/strategy/gradual-rollout-session-id.js +24 -0
  176. package/dist/lib/util/feature-evaluator/strategy/gradual-rollout-session-id.js.map +1 -0
  177. package/dist/lib/util/feature-evaluator/strategy/gradual-rollout-user-id.d.ts +9 -0
  178. package/dist/lib/util/feature-evaluator/strategy/gradual-rollout-user-id.js +24 -0
  179. package/dist/lib/util/feature-evaluator/strategy/gradual-rollout-user-id.js.map +1 -0
  180. package/dist/lib/util/feature-evaluator/strategy/index.d.ts +4 -0
  181. package/dist/lib/util/feature-evaluator/strategy/index.js +29 -0
  182. package/dist/lib/util/feature-evaluator/strategy/index.js.map +1 -0
  183. package/dist/lib/util/feature-evaluator/strategy/remote-address-strategy.d.ts +8 -0
  184. package/dist/lib/util/feature-evaluator/strategy/remote-address-strategy.js +35 -0
  185. package/dist/lib/util/feature-evaluator/strategy/remote-address-strategy.js.map +1 -0
  186. package/dist/lib/util/feature-evaluator/strategy/strategy.d.ts +41 -0
  187. package/dist/lib/util/feature-evaluator/strategy/strategy.js +75 -0
  188. package/dist/lib/util/feature-evaluator/strategy/strategy.js.map +1 -0
  189. package/dist/lib/util/feature-evaluator/strategy/unknown-strategy.d.ts +9 -0
  190. package/dist/lib/util/feature-evaluator/strategy/unknown-strategy.js +29 -0
  191. package/dist/lib/util/feature-evaluator/strategy/unknown-strategy.js.map +1 -0
  192. package/dist/lib/util/feature-evaluator/strategy/user-with-id-strategy.d.ts +8 -0
  193. package/dist/lib/util/feature-evaluator/strategy/user-with-id-strategy.js +16 -0
  194. package/dist/lib/util/feature-evaluator/strategy/user-with-id-strategy.js.map +1 -0
  195. package/dist/lib/util/feature-evaluator/strategy/util.d.ts +1 -0
  196. package/dist/lib/util/feature-evaluator/strategy/util.js +31 -0
  197. package/dist/lib/util/feature-evaluator/strategy/util.js.map +1 -0
  198. package/dist/lib/util/feature-evaluator/variant.d.ts +28 -0
  199. package/dist/lib/util/feature-evaluator/variant.js +73 -0
  200. package/dist/lib/util/feature-evaluator/variant.js.map +1 -0
  201. package/dist/lib/util/offline-unleash-client.d.ts +13 -2
  202. package/dist/lib/util/offline-unleash-client.js +20 -20
  203. package/dist/lib/util/offline-unleash-client.js.map +1 -1
  204. package/dist/lib/util/offline-unleash-client.test.d.ts +3 -1
  205. package/dist/lib/util/offline-unleash-client.test.js +349 -139
  206. package/dist/lib/util/offline-unleash-client.test.js.map +1 -1
  207. package/dist/migrations/20220808084524-add-group-permissions.d.ts +2 -0
  208. package/dist/migrations/20220808084524-add-group-permissions.js +12 -0
  209. package/dist/migrations/20220808084524-add-group-permissions.js.map +1 -0
  210. package/dist/migrations/20220808110415-add-projects-foreign-key.d.ts +2 -0
  211. package/dist/migrations/20220808110415-add-projects-foreign-key.js +14 -0
  212. package/dist/migrations/20220808110415-add-projects-foreign-key.js.map +1 -0
  213. package/dist/test/arbitraries.test.d.ts +12 -2
  214. package/dist/test/arbitraries.test.js +67 -9
  215. package/dist/test/arbitraries.test.js.map +1 -1
  216. package/dist/test/e2e/api/admin/config.e2e.test.js +2 -1
  217. package/dist/test/e2e/api/admin/config.e2e.test.js.map +1 -1
  218. package/dist/test/e2e/api/admin/event.e2e.test.js +57 -0
  219. package/dist/test/e2e/api/admin/event.e2e.test.js.map +1 -1
  220. package/dist/test/e2e/api/admin/feature.e2e.test.js +8 -7
  221. package/dist/test/e2e/api/admin/feature.e2e.test.js.map +1 -1
  222. package/dist/test/e2e/api/admin/playground.e2e.test.js +22 -0
  223. package/dist/test/e2e/api/admin/playground.e2e.test.js.map +1 -1
  224. package/dist/test/e2e/services/access-service.e2e.test.js +38 -20
  225. package/dist/test/e2e/services/access-service.e2e.test.js.map +1 -1
  226. package/dist/test/e2e/services/playground-service.test.d.ts +5 -1
  227. package/dist/test/e2e/services/playground-service.test.js +725 -37
  228. package/dist/test/e2e/services/playground-service.test.js.map +1 -1
  229. package/dist/test/e2e/services/project-service.e2e.test.js +12 -4
  230. package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
  231. package/dist/test/e2e/services/setting-service.test.js +9 -3
  232. package/dist/test/e2e/services/setting-service.test.js.map +1 -1
  233. package/dist/test/e2e/stores/event-store.e2e.test.js +6 -2
  234. package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
  235. package/dist/test/fixtures/fake-event-store.d.ts +1 -3
  236. package/dist/test/fixtures/fake-event-store.js +2 -8
  237. package/dist/test/fixtures/fake-event-store.js.map +1 -1
  238. package/dist/test/fixtures/fake-group-store.d.ts +0 -1
  239. package/dist/test/fixtures/fake-group-store.js +0 -3
  240. package/dist/test/fixtures/fake-group-store.js.map +1 -1
  241. package/package.json +15 -13
  242. package/dist/lib/openapi/spec/bootstrap-ui-schema.d.ts +0 -491
  243. package/dist/lib/openapi/spec/bootstrap-ui-schema.js +0 -94
  244. package/dist/lib/openapi/spec/bootstrap-ui-schema.js.map +0 -1
  245. package/dist/lib/openapi/spec/bootstrap-ui-schema.test.js +0 -145
  246. package/dist/lib/openapi/spec/bootstrap-ui-schema.test.js.map +0 -1
  247. package/dist/lib/openapi/spec/client-variant-schema.d.ts +0 -35
  248. package/dist/lib/openapi/spec/client-variant-schema.js +0 -37
  249. package/dist/lib/openapi/spec/client-variant-schema.js.map +0 -1
  250. package/dist/lib/routes/admin-api/bootstrap-ui.d.ts +0 -25
  251. package/dist/lib/routes/admin-api/bootstrap-ui.js +0 -82
  252. package/dist/lib/routes/admin-api/bootstrap-ui.js.map +0 -1
  253. package/dist/lib/routes/admin-api/bootstrap-ui.test.js +0 -60
  254. package/dist/lib/routes/admin-api/bootstrap-ui.test.js.map +0 -1
  255. package/dist/test/e2e/api/admin/bootstrap.test.js +0 -43
  256. package/dist/test/e2e/api/admin/bootstrap.test.js.map +0 -1
@@ -8,12 +8,69 @@ const fast_check_1 = __importDefault(require("fast-check"));
8
8
  const arbitraries_test_1 = require("../../../test/arbitraries.test");
9
9
  const validate_1 = require("../validate");
10
10
  const playground_feature_schema_1 = require("./playground-feature-schema");
11
+ const playground_strategy_schema_1 = require("./playground-strategy-schema");
12
+ const playgroundStrategyConstraint = () => fast_check_1.default
13
+ .tuple(fast_check_1.default.boolean(), (0, arbitraries_test_1.strategyConstraint)())
14
+ .map(([result, constraint]) => ({
15
+ ...constraint,
16
+ result,
17
+ }));
18
+ const playgroundStrategyConstraints = () => fast_check_1.default.array(playgroundStrategyConstraint());
19
+ const playgroundSegment = () => fast_check_1.default.record({
20
+ name: fast_check_1.default.string({ minLength: 1 }),
21
+ id: fast_check_1.default.nat(),
22
+ result: fast_check_1.default.boolean(),
23
+ constraints: playgroundStrategyConstraints(),
24
+ });
25
+ const playgroundStrategy = (name, parameters) => fast_check_1.default.record({
26
+ id: fast_check_1.default.uuid(),
27
+ name: fast_check_1.default.constant(name),
28
+ result: fast_check_1.default.oneof(fast_check_1.default.record({
29
+ evaluationStatus: fast_check_1.default.constant(playground_strategy_schema_1.playgroundStrategyEvaluation.evaluationComplete),
30
+ enabled: fast_check_1.default.boolean(),
31
+ }), fast_check_1.default.record({
32
+ evaluationStatus: fast_check_1.default.constant(playground_strategy_schema_1.playgroundStrategyEvaluation.evaluationIncomplete),
33
+ enabled: fast_check_1.default.constantFrom(playground_strategy_schema_1.playgroundStrategyEvaluation.unknownResult, false),
34
+ })),
35
+ parameters,
36
+ constraints: playgroundStrategyConstraints(),
37
+ segments: fast_check_1.default.array(playgroundSegment()),
38
+ });
39
+ const playgroundStrategies = () => fast_check_1.default.array(fast_check_1.default.oneof(playgroundStrategy('default', fast_check_1.default.constant({})), playgroundStrategy('flexibleRollout', fast_check_1.default.record({
40
+ groupId: fast_check_1.default.lorem({ maxCount: 1 }),
41
+ rollout: fast_check_1.default.nat({ max: 100 }).map(String),
42
+ stickiness: fast_check_1.default.constantFrom('default', 'userId', 'sessionId'),
43
+ })), playgroundStrategy('applicationHostname', fast_check_1.default.record({
44
+ hostNames: fast_check_1.default
45
+ .uniqueArray(fast_check_1.default.domain())
46
+ .map((domains) => domains.join(',')),
47
+ })), playgroundStrategy('userWithId', fast_check_1.default.record({
48
+ userIds: fast_check_1.default
49
+ .uniqueArray(fast_check_1.default.emailAddress())
50
+ .map((ids) => ids.join(',')),
51
+ })), playgroundStrategy('remoteAddress', fast_check_1.default.record({
52
+ IPs: fast_check_1.default.uniqueArray(fast_check_1.default.ipV4()).map((ips) => ips.join(',')),
53
+ }))));
11
54
  const generate = () => fast_check_1.default
12
- .tuple(fast_check_1.default.boolean(), (0, arbitraries_test_1.variants)(), fast_check_1.default.nat(), fast_check_1.default.record({
55
+ .tuple((0, arbitraries_test_1.variants)(), fast_check_1.default.nat(), fast_check_1.default.record({
56
+ isEnabledInCurrentEnvironment: fast_check_1.default.boolean(),
13
57
  projectId: (0, arbitraries_test_1.urlFriendlyString)(),
14
58
  name: (0, arbitraries_test_1.urlFriendlyString)(),
59
+ strategies: playgroundStrategies(),
15
60
  }))
16
- .map(([isEnabled, generatedVariants, activeVariantIndex, feature]) => {
61
+ .map(([generatedVariants, activeVariantIndex, feature]) => {
62
+ const strategyResult = () => {
63
+ const { strategies } = feature;
64
+ if (strategies.some((strategy) => strategy.result.enabled === true)) {
65
+ return true;
66
+ }
67
+ if (strategies.some((strategy) => strategy.result.enabled === 'unknown')) {
68
+ return 'unknown';
69
+ }
70
+ return false;
71
+ };
72
+ const isEnabled = feature.isEnabledInCurrentEnvironment &&
73
+ strategyResult() === true;
17
74
  // the active variant is the disabled variant if the feature is
18
75
  // disabled or has no variants.
19
76
  let activeVariant = { name: 'disabled', enabled: false };
@@ -23,7 +80,7 @@ const generate = () => fast_check_1.default
23
80
  ? targetVariant.payload
24
81
  : undefined;
25
82
  activeVariant = {
26
- enabled: isEnabled,
83
+ enabled: true,
27
84
  name: targetVariant.name,
28
85
  payload: targetPayload,
29
86
  };
@@ -31,6 +88,10 @@ const generate = () => fast_check_1.default
31
88
  return {
32
89
  ...feature,
33
90
  isEnabled,
91
+ strategies: {
92
+ result: strategyResult(),
93
+ data: feature.strategies,
94
+ },
34
95
  variants: generatedVariants,
35
96
  variant: activeVariant,
36
97
  };
@@ -1 +1 @@
1
- {"version":3,"file":"playground-feature-schema.test.js","sourceRoot":"","sources":["../../../../src/lib/openapi/spec/playground-feature-schema.test.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA2C;AAC3C,qEAA6E;AAC7E,0CAA6C;AAC7C,2EAGqC;AAE9B,MAAM,QAAQ,GAAG,GAAuC,EAAE,CAC7D,oBAAE;KACG,KAAK,CACF,oBAAE,CAAC,OAAO,EAAE,EACZ,IAAA,2BAAQ,GAAE,EACV,oBAAE,CAAC,GAAG,EAAE,EACR,oBAAE,CAAC,MAAM,CAAC;IACN,SAAS,EAAE,IAAA,oCAAiB,GAAE;IAC9B,IAAI,EAAE,IAAA,oCAAiB,GAAE;CAC5B,CAAC,CACL;KACA,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,EAAE;IACjE,+DAA+D;IAC/D,+BAA+B;IAC/B,IAAI,aAAa,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAOrD,CAAC;IAEF,IAAI,iBAAiB,CAAC,MAAM,IAAI,SAAS,EAAE;QACvC,MAAM,aAAa,GACf,iBAAiB,CACb,kBAAkB,GAAG,iBAAiB,CAAC,MAAM,CAChD,CAAC;QACN,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO;YACvC,CAAC,CAAE,aAAa,CAAC,OAGb;YACJ,CAAC,CAAC,SAAS,CAAC;QAEhB,aAAa,GAAG;YACZ,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,aAAa,CAAC,IAAI;YACxB,OAAO,EAAE,aAAa;SACzB,CAAC;KACL;IAED,OAAO;QACH,GAAG,OAAO;QACV,SAAS;QACT,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE,aAAa;KACzB,CAAC;AACN,CAAC,CAAC,CAAC;AAhDE,QAAA,QAAQ,YAgDV;AAEX,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE,CACjC,oBAAE,CAAC,MAAM,CACL,oBAAE,CAAC,QAAQ,CACP,IAAA,gBAAQ,GAAE,EACV,oBAAE,CAAC,OAAO,EAAE,EACZ,CAAC,IAA6B,EAAE,GAAG,EAAE,EAAE;IACnC,MAAM,OAAO,GAAG,IAAA,yBAAc,EAC1B,mDAAuB,CAAC,GAAG,EAC3B,IAAI,CACP,CAAC;IACF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACjC,OAAO,OAAO,KAAK,SAAS,CAAC;AACjC,CAAC,CACJ,CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"playground-feature-schema.test.js","sourceRoot":"","sources":["../../../../src/lib/openapi/spec/playground-feature-schema.test.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export declare const playgroundRequestSchema: {
8
8
  readonly environment: {
9
9
  readonly type: "string";
10
10
  readonly example: "development";
11
+ readonly description: "The environment to evaluate toggles in.";
11
12
  };
12
13
  readonly projects: {
13
14
  readonly oneOf: readonly [{
@@ -24,6 +25,7 @@ export declare const playgroundRequestSchema: {
24
25
  }];
25
26
  };
26
27
  readonly context: {
28
+ readonly description: "The context to use when evaluating toggles";
27
29
  readonly $ref: "#/components/schemas/sdkContextSchema";
28
30
  };
29
31
  };
@@ -9,7 +9,11 @@ exports.playgroundRequestSchema = {
9
9
  type: 'object',
10
10
  required: ['environment', 'context'],
11
11
  properties: {
12
- environment: { type: 'string', example: 'development' },
12
+ environment: {
13
+ type: 'string',
14
+ example: 'development',
15
+ description: 'The environment to evaluate toggles in.',
16
+ },
13
17
  projects: {
14
18
  oneOf: [
15
19
  {
@@ -26,6 +30,7 @@ exports.playgroundRequestSchema = {
26
30
  ],
27
31
  },
28
32
  context: {
33
+ description: 'The context to use when evaluating toggles',
29
34
  $ref: sdk_context_schema_1.sdkContextSchema.$id,
30
35
  },
31
36
  },
@@ -1 +1 @@
1
- {"version":3,"file":"playground-request-schema.js","sourceRoot":"","sources":["../../../../src/lib/openapi/spec/playground-request-schema.ts"],"names":[],"mappings":";;;AACA,4DAAmD;AACnD,6DAAwD;AAE3C,QAAA,uBAAuB,GAAG;IACnC,GAAG,EAAE,8CAA8C;IACnD,WAAW,EAAE,iDAAiD;IAC9D,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;IACpC,UAAU,EAAE;QACR,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE;QACvD,QAAQ,EAAE;YACN,KAAK,EAAE;gBACH;oBACI,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,WAAW,EAAE,6CAA6C;iBAC7D;gBACD;oBACI,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,eAAG,CAAC;oBACX,WAAW,EAAE,gCAAgC;iBAChD;aACJ;SACJ;QACD,OAAO,EAAE;YACL,IAAI,EAAE,qCAAgB,CAAC,GAAG;SAC7B;KACJ;IACD,UAAU,EAAE;QACR,OAAO,EAAE;YACL,gBAAgB,EAAhB,qCAAgB;SACnB;KACJ;CACK,CAAC"}
1
+ {"version":3,"file":"playground-request-schema.js","sourceRoot":"","sources":["../../../../src/lib/openapi/spec/playground-request-schema.ts"],"names":[],"mappings":";;;AACA,4DAAmD;AACnD,6DAAwD;AAE3C,QAAA,uBAAuB,GAAG;IACnC,GAAG,EAAE,8CAA8C;IACnD,WAAW,EAAE,iDAAiD;IAC9D,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;IACpC,UAAU,EAAE;QACR,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,yCAAyC;SACzD;QACD,QAAQ,EAAE;YACN,KAAK,EAAE;gBACH;oBACI,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,WAAW,EAAE,6CAA6C;iBAC7D;gBACD;oBACI,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,eAAG,CAAC;oBACX,WAAW,EAAE,gCAAgC;iBAChD;aACJ;SACJ;QACD,OAAO,EAAE;YACL,WAAW,EAAE,4CAA4C;YACzD,IAAI,EAAE,qCAAgB,CAAC,GAAG;SAC7B;KACJ;IACD,UAAU,EAAE;QACR,OAAO,EAAE;YACL,gBAAgB,EAAhB,qCAAgB;SACnB;KACJ;CACK,CAAC"}