@featbit/js-client-sdk 2.0.1 → 3.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.
Files changed (564) hide show
  1. package/LICENSE +21 -201
  2. package/README.md +162 -150
  3. package/dist/esm/Configuration.d.ts +35 -0
  4. package/dist/esm/Configuration.d.ts.map +1 -0
  5. package/dist/esm/Configuration.js +179 -0
  6. package/dist/esm/Configuration.js.map +1 -0
  7. package/dist/esm/Context.d.ts +23 -0
  8. package/dist/esm/Context.d.ts.map +1 -0
  9. package/dist/esm/Context.js +49 -0
  10. package/dist/esm/Context.js.map +1 -0
  11. package/dist/esm/FbClientBuilder.d.ts +90 -0
  12. package/dist/esm/FbClientBuilder.d.ts.map +1 -0
  13. package/dist/esm/FbClientBuilder.js +133 -0
  14. package/dist/esm/FbClientBuilder.js.map +1 -0
  15. package/dist/esm/FbClientCore.d.ts +56 -0
  16. package/dist/esm/FbClientCore.d.ts.map +1 -0
  17. package/dist/esm/FbClientCore.js +283 -0
  18. package/dist/esm/FbClientCore.js.map +1 -0
  19. package/dist/esm/IContextProperty.d.ts +5 -0
  20. package/dist/esm/IContextProperty.d.ts.map +1 -0
  21. package/dist/esm/IContextProperty.js +3 -0
  22. package/dist/esm/IContextProperty.js.map +1 -0
  23. package/dist/esm/IDataKind.d.ts +12 -0
  24. package/dist/esm/IDataKind.d.ts.map +1 -0
  25. package/dist/esm/IDataKind.js +3 -0
  26. package/dist/esm/IDataKind.js.map +1 -0
  27. package/dist/esm/IFbClient.d.ts +30 -0
  28. package/dist/esm/IFbClient.d.ts.map +1 -0
  29. package/dist/esm/IFbClient.js +3 -0
  30. package/dist/esm/IFbClient.js.map +1 -0
  31. package/dist/esm/IFbClientCore.d.ts +240 -0
  32. package/dist/esm/IFbClientCore.d.ts.map +1 -0
  33. package/dist/esm/IFbClientCore.js +3 -0
  34. package/dist/esm/IFbClientCore.js.map +1 -0
  35. package/dist/esm/IVersionedData.d.ts +18 -0
  36. package/dist/esm/IVersionedData.d.ts.map +1 -0
  37. package/dist/esm/IVersionedData.js +3 -0
  38. package/dist/esm/IVersionedData.js.map +1 -0
  39. package/dist/esm/bootstrap/IBootstrapProvider.d.ts +5 -0
  40. package/dist/esm/bootstrap/IBootstrapProvider.d.ts.map +1 -0
  41. package/dist/esm/bootstrap/IBootstrapProvider.js +3 -0
  42. package/dist/esm/bootstrap/IBootstrapProvider.js.map +1 -0
  43. package/dist/esm/bootstrap/JsonBootstrapProvider.d.ts +9 -0
  44. package/dist/esm/bootstrap/JsonBootstrapProvider.d.ts.map +1 -0
  45. package/dist/esm/bootstrap/JsonBootstrapProvider.js +29 -0
  46. package/dist/esm/bootstrap/JsonBootstrapProvider.js.map +1 -0
  47. package/dist/esm/bootstrap/NullBootstrapProvider.d.ts +8 -0
  48. package/dist/esm/bootstrap/NullBootstrapProvider.d.ts.map +1 -0
  49. package/dist/esm/bootstrap/NullBootstrapProvider.js +19 -0
  50. package/dist/esm/bootstrap/NullBootstrapProvider.js.map +1 -0
  51. package/dist/esm/bootstrap/index.d.ts +4 -0
  52. package/dist/esm/bootstrap/index.d.ts.map +1 -0
  53. package/dist/esm/bootstrap/index.js +20 -0
  54. package/dist/esm/bootstrap/index.js.map +1 -0
  55. package/dist/esm/constants.d.ts +3 -0
  56. package/dist/esm/constants.d.ts.map +1 -0
  57. package/dist/esm/constants.js +6 -0
  58. package/dist/esm/constants.js.map +1 -0
  59. package/dist/esm/data-sources/DataSourceUpdates.d.ts +17 -0
  60. package/dist/esm/data-sources/DataSourceUpdates.d.ts.map +1 -0
  61. package/dist/esm/data-sources/DataSourceUpdates.js +84 -0
  62. package/dist/esm/data-sources/DataSourceUpdates.js.map +1 -0
  63. package/dist/esm/data-sources/createStreamListeners.d.ts +19 -0
  64. package/dist/esm/data-sources/createStreamListeners.d.ts.map +1 -0
  65. package/dist/esm/data-sources/createStreamListeners.js +49 -0
  66. package/dist/esm/data-sources/createStreamListeners.js.map +1 -0
  67. package/dist/esm/data-sources/index.d.ts +3 -0
  68. package/dist/esm/data-sources/index.d.ts.map +1 -0
  69. package/dist/esm/data-sources/index.js +19 -0
  70. package/dist/esm/data-sources/index.js.map +1 -0
  71. package/dist/esm/data-sync/DataSyncMode.d.ts +5 -0
  72. package/dist/esm/data-sync/DataSyncMode.d.ts.map +1 -0
  73. package/dist/esm/data-sync/DataSyncMode.js +9 -0
  74. package/dist/esm/data-sync/DataSyncMode.js.map +1 -0
  75. package/dist/esm/data-sync/IDataSynchronizer.d.ts +15 -0
  76. package/dist/esm/data-sync/IDataSynchronizer.d.ts.map +1 -0
  77. package/dist/esm/data-sync/IDataSynchronizer.js +3 -0
  78. package/dist/esm/data-sync/IDataSynchronizer.js.map +1 -0
  79. package/dist/esm/data-sync/IRequestor.d.ts +11 -0
  80. package/dist/esm/data-sync/IRequestor.d.ts.map +1 -0
  81. package/dist/esm/data-sync/IRequestor.js +3 -0
  82. package/dist/esm/data-sync/IRequestor.js.map +1 -0
  83. package/dist/esm/data-sync/NullDataSynchronizer.d.ts +8 -0
  84. package/dist/esm/data-sync/NullDataSynchronizer.d.ts.map +1 -0
  85. package/dist/esm/data-sync/NullDataSynchronizer.js +15 -0
  86. package/dist/esm/data-sync/NullDataSynchronizer.js.map +1 -0
  87. package/dist/esm/data-sync/PollingDataSynchronizer.d.ts +23 -0
  88. package/dist/esm/data-sync/PollingDataSynchronizer.d.ts.map +1 -0
  89. package/dist/esm/data-sync/PollingDataSynchronizer.js +87 -0
  90. package/dist/esm/data-sync/PollingDataSynchronizer.js.map +1 -0
  91. package/dist/esm/data-sync/Requestor.d.ts +20 -0
  92. package/dist/esm/data-sync/Requestor.d.ts.map +1 -0
  93. package/dist/esm/data-sync/Requestor.js +56 -0
  94. package/dist/esm/data-sync/Requestor.js.map +1 -0
  95. package/dist/esm/data-sync/WebSocketDataSynchronizer.d.ts +20 -0
  96. package/dist/esm/data-sync/WebSocketDataSynchronizer.d.ts.map +1 -0
  97. package/dist/esm/data-sync/WebSocketDataSynchronizer.js +55 -0
  98. package/dist/esm/data-sync/WebSocketDataSynchronizer.js.map +1 -0
  99. package/dist/esm/data-sync/index.d.ts +10 -0
  100. package/dist/esm/data-sync/index.d.ts.map +1 -0
  101. package/dist/esm/data-sync/index.js +26 -0
  102. package/dist/esm/data-sync/index.js.map +1 -0
  103. package/dist/esm/data-sync/types.d.ts +17 -0
  104. package/dist/esm/data-sync/types.d.ts.map +1 -0
  105. package/dist/esm/data-sync/types.js +9 -0
  106. package/dist/esm/data-sync/types.js.map +1 -0
  107. package/dist/esm/data-sync/utils.d.ts +3 -0
  108. package/dist/esm/data-sync/utils.d.ts.map +1 -0
  109. package/dist/esm/data-sync/utils.js +33 -0
  110. package/dist/esm/data-sync/utils.js.map +1 -0
  111. package/dist/esm/errors.d.ts +16 -0
  112. package/dist/esm/errors.d.ts.map +1 -0
  113. package/dist/esm/errors.js +41 -0
  114. package/dist/esm/errors.js.map +1 -0
  115. package/dist/esm/evaluation/EvalResult.d.ts +20 -0
  116. package/dist/esm/evaluation/EvalResult.d.ts.map +1 -0
  117. package/dist/esm/evaluation/EvalResult.js +33 -0
  118. package/dist/esm/evaluation/EvalResult.js.map +1 -0
  119. package/dist/esm/evaluation/Evaluator.d.ts +15 -0
  120. package/dist/esm/evaluation/Evaluator.d.ts.map +1 -0
  121. package/dist/esm/evaluation/Evaluator.js +28 -0
  122. package/dist/esm/evaluation/Evaluator.js.map +1 -0
  123. package/dist/esm/evaluation/IEvalDetail.d.ts +21 -0
  124. package/dist/esm/evaluation/IEvalDetail.d.ts.map +1 -0
  125. package/dist/esm/evaluation/IEvalDetail.js +3 -0
  126. package/dist/esm/evaluation/IEvalDetail.js.map +1 -0
  127. package/dist/esm/evaluation/ReasonKinds.d.ts +11 -0
  128. package/dist/esm/evaluation/ReasonKinds.d.ts.map +1 -0
  129. package/dist/esm/evaluation/ReasonKinds.js +15 -0
  130. package/dist/esm/evaluation/ReasonKinds.js.map +1 -0
  131. package/dist/esm/evaluation/data/IFlag.d.ts +26 -0
  132. package/dist/esm/evaluation/data/IFlag.d.ts.map +1 -0
  133. package/dist/esm/evaluation/data/IFlag.js +12 -0
  134. package/dist/esm/evaluation/data/IFlag.js.map +1 -0
  135. package/dist/esm/evaluation/data/index.d.ts +2 -0
  136. package/dist/esm/evaluation/data/index.d.ts.map +1 -0
  137. package/dist/esm/evaluation/data/index.js +18 -0
  138. package/dist/esm/evaluation/data/index.js.map +1 -0
  139. package/dist/esm/evaluation/index.d.ts +6 -0
  140. package/dist/esm/evaluation/index.d.ts.map +1 -0
  141. package/dist/esm/evaluation/index.js +22 -0
  142. package/dist/esm/evaluation/index.js.map +1 -0
  143. package/dist/esm/events/DefaultEventProcessor.d.ts +16 -0
  144. package/dist/esm/events/DefaultEventProcessor.d.ts.map +1 -0
  145. package/dist/esm/events/DefaultEventProcessor.js +79 -0
  146. package/dist/esm/events/DefaultEventProcessor.js.map +1 -0
  147. package/dist/esm/events/DefaultEventQueue.d.ts +18 -0
  148. package/dist/esm/events/DefaultEventQueue.d.ts.map +1 -0
  149. package/dist/esm/events/DefaultEventQueue.js +42 -0
  150. package/dist/esm/events/DefaultEventQueue.js.map +1 -0
  151. package/dist/esm/events/DefaultEventSender.d.ts +10 -0
  152. package/dist/esm/events/DefaultEventSender.d.ts.map +1 -0
  153. package/dist/esm/events/DefaultEventSender.js +67 -0
  154. package/dist/esm/events/DefaultEventSender.js.map +1 -0
  155. package/dist/esm/events/DefaultEventSerializer.d.ts +6 -0
  156. package/dist/esm/events/DefaultEventSerializer.d.ts.map +1 -0
  157. package/dist/esm/events/DefaultEventSerializer.js +14 -0
  158. package/dist/esm/events/DefaultEventSerializer.js.map +1 -0
  159. package/dist/esm/events/EventDispatcher.d.ts +17 -0
  160. package/dist/esm/events/EventDispatcher.d.ts.map +1 -0
  161. package/dist/esm/events/EventDispatcher.js +127 -0
  162. package/dist/esm/events/EventDispatcher.js.map +1 -0
  163. package/dist/esm/events/EventSerializer.d.ts +5 -0
  164. package/dist/esm/events/EventSerializer.d.ts.map +1 -0
  165. package/dist/esm/events/EventSerializer.js +3 -0
  166. package/dist/esm/events/EventSerializer.js.map +1 -0
  167. package/dist/esm/events/IEventProcessor.d.ts +7 -0
  168. package/dist/esm/events/IEventProcessor.d.ts.map +1 -0
  169. package/dist/esm/events/IEventProcessor.js +3 -0
  170. package/dist/esm/events/IEventProcessor.js.map +1 -0
  171. package/dist/esm/events/IEventQueue.d.ts +11 -0
  172. package/dist/esm/events/IEventQueue.d.ts.map +1 -0
  173. package/dist/esm/events/IEventQueue.js +3 -0
  174. package/dist/esm/events/IEventQueue.js.map +1 -0
  175. package/dist/esm/events/IEventSender.d.ts +13 -0
  176. package/dist/esm/events/IEventSender.d.ts.map +1 -0
  177. package/dist/esm/events/IEventSender.js +10 -0
  178. package/dist/esm/events/IEventSender.js.map +1 -0
  179. package/dist/esm/events/NullEventProcessor.d.ts +8 -0
  180. package/dist/esm/events/NullEventProcessor.d.ts.map +1 -0
  181. package/dist/esm/events/NullEventProcessor.js +16 -0
  182. package/dist/esm/events/NullEventProcessor.js.map +1 -0
  183. package/dist/esm/events/event.d.ts +44 -0
  184. package/dist/esm/events/event.d.ts.map +1 -0
  185. package/dist/esm/events/event.js +115 -0
  186. package/dist/esm/events/event.js.map +1 -0
  187. package/dist/esm/events/index.d.ts +12 -0
  188. package/dist/esm/events/index.d.ts.map +1 -0
  189. package/dist/esm/events/index.js +28 -0
  190. package/dist/esm/events/index.js.map +1 -0
  191. package/dist/esm/index.d.ts +20 -0
  192. package/dist/esm/index.d.ts.map +1 -0
  193. package/dist/esm/index.js +36 -0
  194. package/dist/esm/index.js.map +1 -0
  195. package/dist/esm/integrations/TestLogger.d.ts +10 -0
  196. package/dist/esm/integrations/TestLogger.d.ts.map +1 -0
  197. package/dist/esm/integrations/TestLogger.js +25 -0
  198. package/dist/esm/integrations/TestLogger.js.map +1 -0
  199. package/dist/esm/integrations/index.d.ts +3 -0
  200. package/dist/esm/integrations/index.d.ts.map +1 -0
  201. package/dist/esm/integrations/index.js +21 -0
  202. package/dist/esm/integrations/index.js.map +1 -0
  203. package/dist/esm/integrations/test_data/FlagBuilder.d.ts +19 -0
  204. package/dist/esm/integrations/test_data/FlagBuilder.d.ts.map +1 -0
  205. package/dist/esm/integrations/test_data/FlagBuilder.js +56 -0
  206. package/dist/esm/integrations/test_data/FlagBuilder.js.map +1 -0
  207. package/dist/esm/integrations/test_data/TestData.d.ts +18 -0
  208. package/dist/esm/integrations/test_data/TestData.d.ts.map +1 -0
  209. package/dist/esm/integrations/test_data/TestData.js +38 -0
  210. package/dist/esm/integrations/test_data/TestData.js.map +1 -0
  211. package/dist/esm/integrations/test_data/TestDataSynchronizer.d.ts +21 -0
  212. package/dist/esm/integrations/test_data/TestDataSynchronizer.d.ts.map +1 -0
  213. package/dist/esm/integrations/test_data/TestDataSynchronizer.js +50 -0
  214. package/dist/esm/integrations/test_data/TestDataSynchronizer.js.map +1 -0
  215. package/dist/esm/integrations/test_data/index.d.ts +5 -0
  216. package/dist/esm/integrations/test_data/index.d.ts.map +1 -0
  217. package/dist/esm/integrations/test_data/index.js +13 -0
  218. package/dist/esm/integrations/test_data/index.js.map +1 -0
  219. package/dist/esm/logging/BasicLogger.d.ts +34 -0
  220. package/dist/esm/logging/BasicLogger.d.ts.map +1 -0
  221. package/dist/esm/logging/BasicLogger.js +101 -0
  222. package/dist/esm/logging/BasicLogger.js.map +1 -0
  223. package/dist/esm/logging/IBasicLoggerOptions.d.ts +43 -0
  224. package/dist/esm/logging/IBasicLoggerOptions.d.ts.map +1 -0
  225. package/dist/esm/logging/IBasicLoggerOptions.js +3 -0
  226. package/dist/esm/logging/IBasicLoggerOptions.js.map +1 -0
  227. package/dist/esm/logging/ILogger.d.ts +47 -0
  228. package/dist/esm/logging/ILogger.d.ts.map +1 -0
  229. package/dist/esm/logging/ILogger.js +3 -0
  230. package/dist/esm/logging/ILogger.js.map +1 -0
  231. package/dist/esm/logging/LogLevel.d.ts +10 -0
  232. package/dist/esm/logging/LogLevel.d.ts.map +1 -0
  233. package/dist/esm/logging/LogLevel.js +3 -0
  234. package/dist/esm/logging/LogLevel.js.map +1 -0
  235. package/dist/esm/logging/SafeLogger.d.ts +28 -0
  236. package/dist/esm/logging/SafeLogger.d.ts.map +1 -0
  237. package/dist/esm/logging/SafeLogger.js +63 -0
  238. package/dist/esm/logging/SafeLogger.js.map +1 -0
  239. package/dist/esm/logging/format.d.ts +12 -0
  240. package/dist/esm/logging/format.d.ts.map +1 -0
  241. package/dist/esm/logging/format.js +156 -0
  242. package/dist/esm/logging/format.js.map +1 -0
  243. package/dist/esm/logging/index.d.ts +7 -0
  244. package/dist/esm/logging/index.d.ts.map +1 -0
  245. package/dist/esm/logging/index.js +23 -0
  246. package/dist/esm/logging/index.js.map +1 -0
  247. package/dist/esm/options/ClientContext.d.ts +28 -0
  248. package/dist/esm/options/ClientContext.d.ts.map +1 -0
  249. package/dist/esm/options/ClientContext.js +21 -0
  250. package/dist/esm/options/ClientContext.js.map +1 -0
  251. package/dist/esm/options/IClientContext.d.ts +45 -0
  252. package/dist/esm/options/IClientContext.d.ts.map +1 -0
  253. package/dist/esm/options/IClientContext.js +3 -0
  254. package/dist/esm/options/IClientContext.js.map +1 -0
  255. package/dist/esm/options/IOptions.d.ts +101 -0
  256. package/dist/esm/options/IOptions.d.ts.map +1 -0
  257. package/dist/esm/options/IOptions.js +3 -0
  258. package/dist/esm/options/IOptions.js.map +1 -0
  259. package/dist/esm/options/IUser.d.ts +7 -0
  260. package/dist/esm/options/IUser.d.ts.map +1 -0
  261. package/dist/esm/options/IUser.js +3 -0
  262. package/dist/esm/options/IUser.js.map +1 -0
  263. package/dist/esm/options/IValidatedOptions.d.ts +27 -0
  264. package/dist/esm/options/IValidatedOptions.d.ts.map +1 -0
  265. package/dist/esm/options/IValidatedOptions.js +3 -0
  266. package/dist/esm/options/IValidatedOptions.js.map +1 -0
  267. package/dist/esm/options/OptionMessages.d.ts +14 -0
  268. package/dist/esm/options/OptionMessages.d.ts.map +1 -0
  269. package/dist/esm/options/OptionMessages.js +33 -0
  270. package/dist/esm/options/OptionMessages.js.map +1 -0
  271. package/dist/esm/options/UserBuilder.d.ts +17 -0
  272. package/dist/esm/options/UserBuilder.d.ts.map +1 -0
  273. package/dist/esm/options/UserBuilder.js +35 -0
  274. package/dist/esm/options/UserBuilder.js.map +1 -0
  275. package/dist/esm/options/Validators.d.ts +111 -0
  276. package/dist/esm/options/Validators.d.ts.map +1 -0
  277. package/dist/esm/options/Validators.js +247 -0
  278. package/dist/esm/options/Validators.js.map +1 -0
  279. package/dist/esm/options/index.d.ts +9 -0
  280. package/dist/esm/options/index.d.ts.map +1 -0
  281. package/dist/esm/options/index.js +25 -0
  282. package/dist/esm/options/index.js.map +1 -0
  283. package/dist/esm/platform/IInfo.d.ts +73 -0
  284. package/dist/esm/platform/IInfo.d.ts.map +1 -0
  285. package/dist/esm/platform/IInfo.js +3 -0
  286. package/dist/esm/platform/IInfo.js.map +1 -0
  287. package/dist/esm/platform/IPlatform.d.ts +19 -0
  288. package/dist/esm/platform/IPlatform.d.ts.map +1 -0
  289. package/dist/esm/platform/IPlatform.js +3 -0
  290. package/dist/esm/platform/IPlatform.js.map +1 -0
  291. package/dist/esm/platform/IStore.d.ts +110 -0
  292. package/dist/esm/platform/IStore.d.ts.map +1 -0
  293. package/dist/esm/platform/IStore.js +3 -0
  294. package/dist/esm/platform/IStore.js.map +1 -0
  295. package/dist/esm/platform/IWebSocket.d.ts +21 -0
  296. package/dist/esm/platform/IWebSocket.d.ts.map +1 -0
  297. package/dist/esm/platform/IWebSocket.js +3 -0
  298. package/dist/esm/platform/IWebSocket.js.map +1 -0
  299. package/dist/esm/platform/browser/BrowserInfo.d.ts +7 -0
  300. package/dist/esm/platform/browser/BrowserInfo.d.ts.map +1 -0
  301. package/dist/esm/platform/browser/BrowserInfo.js +24 -0
  302. package/dist/esm/platform/browser/BrowserInfo.js.map +1 -0
  303. package/dist/esm/platform/browser/BrowserPlatform.d.ts +12 -0
  304. package/dist/esm/platform/browser/BrowserPlatform.d.ts.map +1 -0
  305. package/dist/esm/platform/browser/BrowserPlatform.js +17 -0
  306. package/dist/esm/platform/browser/BrowserPlatform.js.map +1 -0
  307. package/dist/esm/platform/browser/BrowserRequests.d.ts +5 -0
  308. package/dist/esm/platform/browser/BrowserRequests.d.ts.map +1 -0
  309. package/dist/esm/platform/browser/BrowserRequests.js +9 -0
  310. package/dist/esm/platform/browser/BrowserRequests.js.map +1 -0
  311. package/dist/esm/platform/browser/BrowserWebSocket.d.ts +38 -0
  312. package/dist/esm/platform/browser/BrowserWebSocket.d.ts.map +1 -0
  313. package/dist/esm/platform/browser/BrowserWebSocket.js +129 -0
  314. package/dist/esm/platform/browser/BrowserWebSocket.js.map +1 -0
  315. package/dist/esm/platform/browser/FbClient.d.ts +30 -0
  316. package/dist/esm/platform/browser/FbClient.d.ts.map +1 -0
  317. package/dist/esm/platform/browser/FbClient.js +47 -0
  318. package/dist/esm/platform/browser/FbClient.js.map +1 -0
  319. package/dist/esm/platform/browser/LocalStorageStore.d.ts +26 -0
  320. package/dist/esm/platform/browser/LocalStorageStore.d.ts.map +1 -0
  321. package/dist/esm/platform/browser/LocalStorageStore.js +122 -0
  322. package/dist/esm/platform/browser/LocalStorageStore.js.map +1 -0
  323. package/dist/esm/platform/index.d.ts +5 -0
  324. package/dist/esm/platform/index.d.ts.map +1 -0
  325. package/dist/esm/platform/index.js +21 -0
  326. package/dist/esm/platform/index.js.map +1 -0
  327. package/dist/esm/platform/requests.d.ts +64 -0
  328. package/dist/esm/platform/requests.d.ts.map +1 -0
  329. package/dist/esm/platform/requests.js +7 -0
  330. package/dist/esm/platform/requests.js.map +1 -0
  331. package/dist/esm/store/DataKinds.d.ts +5 -0
  332. package/dist/esm/store/DataKinds.d.ts.map +1 -0
  333. package/dist/esm/store/DataKinds.js +9 -0
  334. package/dist/esm/store/DataKinds.js.map +1 -0
  335. package/dist/esm/store/IDataSourceUpdates.d.ts +48 -0
  336. package/dist/esm/store/IDataSourceUpdates.d.ts.map +1 -0
  337. package/dist/esm/store/IDataSourceUpdates.js +3 -0
  338. package/dist/esm/store/IDataSourceUpdates.js.map +1 -0
  339. package/dist/esm/store/InMemoryStore.d.ts +24 -0
  340. package/dist/esm/store/InMemoryStore.d.ts.map +1 -0
  341. package/dist/esm/store/InMemoryStore.js +96 -0
  342. package/dist/esm/store/InMemoryStore.js.map +1 -0
  343. package/dist/esm/store/index.d.ts +6 -0
  344. package/dist/esm/store/index.d.ts.map +1 -0
  345. package/dist/esm/store/index.js +22 -0
  346. package/dist/esm/store/index.js.map +1 -0
  347. package/dist/esm/store/serialization.d.ts +23 -0
  348. package/dist/esm/store/serialization.d.ts.map +1 -0
  349. package/dist/esm/store/serialization.js +37 -0
  350. package/dist/esm/store/serialization.js.map +1 -0
  351. package/dist/esm/store/store.d.ts +30 -0
  352. package/dist/esm/store/store.d.ts.map +1 -0
  353. package/dist/esm/store/store.js +6 -0
  354. package/dist/esm/store/store.js.map +1 -0
  355. package/dist/esm/utils/Emits.d.ts +30 -0
  356. package/dist/esm/utils/Emits.d.ts.map +1 -0
  357. package/dist/esm/utils/Emits.js +64 -0
  358. package/dist/esm/utils/Emits.js.map +1 -0
  359. package/dist/esm/utils/EventEmitter.d.ts +22 -0
  360. package/dist/esm/utils/EventEmitter.d.ts.map +1 -0
  361. package/dist/esm/utils/EventEmitter.js +108 -0
  362. package/dist/esm/utils/EventEmitter.js.map +1 -0
  363. package/dist/esm/utils/IEventEmitter.d.ts +16 -0
  364. package/dist/esm/utils/IEventEmitter.d.ts.map +1 -0
  365. package/dist/esm/utils/IEventEmitter.js +3 -0
  366. package/dist/esm/utils/IEventEmitter.js.map +1 -0
  367. package/dist/esm/utils/Regex.d.ts +7 -0
  368. package/dist/esm/utils/Regex.d.ts.map +1 -0
  369. package/dist/esm/utils/Regex.js +22 -0
  370. package/dist/esm/utils/Regex.js.map +1 -0
  371. package/dist/esm/utils/ValueConverters.d.ts +13 -0
  372. package/dist/esm/utils/ValueConverters.d.ts.map +1 -0
  373. package/dist/esm/utils/ValueConverters.js +46 -0
  374. package/dist/esm/utils/ValueConverters.js.map +1 -0
  375. package/dist/esm/utils/VoidFunction.d.ts +2 -0
  376. package/dist/esm/utils/VoidFunction.d.ts.map +1 -0
  377. package/dist/esm/utils/VoidFunction.js +3 -0
  378. package/dist/esm/utils/VoidFunction.js.map +1 -0
  379. package/dist/esm/utils/canonicalizeUri.d.ts +2 -0
  380. package/dist/esm/utils/canonicalizeUri.d.ts.map +1 -0
  381. package/dist/esm/utils/canonicalizeUri.js +9 -0
  382. package/dist/esm/utils/canonicalizeUri.js.map +1 -0
  383. package/dist/esm/utils/http.d.ts +12 -0
  384. package/dist/esm/utils/http.d.ts.map +1 -0
  385. package/dist/esm/utils/http.js +26 -0
  386. package/dist/esm/utils/http.js.map +1 -0
  387. package/dist/esm/utils/index.d.ts +5 -0
  388. package/dist/esm/utils/index.d.ts.map +1 -0
  389. package/dist/esm/utils/index.js +21 -0
  390. package/dist/esm/utils/index.js.map +1 -0
  391. package/dist/esm/utils/isNullOrUndefined.d.ts +2 -0
  392. package/dist/esm/utils/isNullOrUndefined.d.ts.map +1 -0
  393. package/dist/esm/utils/isNullOrUndefined.js +8 -0
  394. package/dist/esm/utils/isNullOrUndefined.js.map +1 -0
  395. package/dist/esm/utils/serializeUser.d.ts +3 -0
  396. package/dist/esm/utils/serializeUser.d.ts.map +1 -0
  397. package/dist/esm/utils/serializeUser.js +24 -0
  398. package/dist/esm/utils/serializeUser.js.map +1 -0
  399. package/dist/esm/utils/sleep.d.ts +3 -0
  400. package/dist/esm/utils/sleep.d.ts.map +1 -0
  401. package/dist/esm/utils/sleep.js +18 -0
  402. package/dist/esm/utils/sleep.js.map +1 -0
  403. package/dist/esm/version.d.ts +3 -0
  404. package/dist/esm/version.d.ts.map +1 -0
  405. package/dist/esm/version.js +6 -0
  406. package/dist/esm/version.js.map +1 -0
  407. package/dist/umd/featbit-js-client-sdk-3.0.0.js +2 -0
  408. package/dist/umd/featbit-js-client-sdk-3.0.0.js.map +1 -0
  409. package/dist/umd/featbit-js-client-sdk.js +2 -0
  410. package/dist/umd/featbit-js-client-sdk.js.map +1 -0
  411. package/package.json +22 -24
  412. package/src/Configuration.ts +234 -0
  413. package/src/Context.ts +62 -0
  414. package/src/FbClientBuilder.ts +161 -0
  415. package/src/FbClientCore.ts +389 -0
  416. package/src/IContextProperty.ts +4 -0
  417. package/src/IDataKind.ts +11 -0
  418. package/src/IFbClient.ts +30 -0
  419. package/src/IFbClientCore.ts +291 -0
  420. package/src/IVersionedData.ts +18 -0
  421. package/src/bootstrap/IBootstrapProvider.ts +5 -0
  422. package/src/bootstrap/JsonBootstrapProvider.ts +35 -0
  423. package/src/bootstrap/NullBootstrapProvider.ts +21 -0
  424. package/src/bootstrap/index.ts +3 -0
  425. package/src/constants.ts +2 -6
  426. package/src/data-sources/DataSourceUpdates.ts +93 -0
  427. package/src/data-sources/createStreamListeners.ts +66 -0
  428. package/src/data-sources/index.ts +2 -0
  429. package/src/data-sync/DataSyncMode.ts +4 -0
  430. package/src/data-sync/IDataSynchronizer.ts +15 -0
  431. package/src/data-sync/IRequestor.ts +10 -0
  432. package/src/data-sync/NullDataSynchronizer.ts +15 -0
  433. package/src/data-sync/PollingDataSynchronizer.ts +111 -0
  434. package/src/data-sync/Requestor.ts +61 -0
  435. package/src/data-sync/WebSocketDataSynchronizer.ts +74 -0
  436. package/src/data-sync/index.ts +9 -0
  437. package/src/data-sync/types.ts +20 -0
  438. package/src/data-sync/utils.ts +32 -0
  439. package/src/errors.ts +41 -0
  440. package/src/evaluation/EvalResult.ts +36 -0
  441. package/src/evaluation/Evaluator.ts +27 -0
  442. package/src/evaluation/IEvalDetail.ts +24 -0
  443. package/src/evaluation/ReasonKinds.ts +10 -0
  444. package/src/evaluation/data/IFlag.ts +29 -0
  445. package/src/evaluation/data/index.ts +1 -0
  446. package/src/evaluation/index.ts +5 -0
  447. package/src/events/DefaultEventProcessor.ts +84 -0
  448. package/src/events/DefaultEventQueue.ts +50 -0
  449. package/src/events/DefaultEventSender.ts +75 -0
  450. package/src/events/DefaultEventSerializer.ts +12 -0
  451. package/src/events/EventDispatcher.ts +128 -0
  452. package/src/events/EventSerializer.ts +5 -0
  453. package/src/events/IEventProcessor.ts +9 -0
  454. package/src/events/IEventQueue.ts +17 -0
  455. package/src/events/IEventSender.ts +14 -0
  456. package/src/events/NullEventProcessor.ts +16 -0
  457. package/src/events/event.ts +130 -0
  458. package/src/events/index.ts +11 -0
  459. package/src/index.ts +19 -4
  460. package/src/integrations/TestLogger.ts +25 -0
  461. package/src/integrations/index.ts +2 -0
  462. package/src/integrations/test_data/FlagBuilder.ts +60 -0
  463. package/src/integrations/test_data/TestData.ts +58 -0
  464. package/src/integrations/test_data/TestDataSynchronizer.ts +50 -0
  465. package/src/integrations/test_data/index.ts +5 -0
  466. package/src/logging/BasicLogger.ts +108 -0
  467. package/src/logging/IBasicLoggerOptions.ts +46 -0
  468. package/src/logging/ILogger.ts +49 -0
  469. package/src/logging/LogLevel.ts +9 -0
  470. package/src/logging/SafeLogger.ts +70 -0
  471. package/src/logging/format.ts +154 -0
  472. package/src/logging/index.ts +6 -0
  473. package/src/options/ClientContext.ts +40 -0
  474. package/src/options/IClientContext.ts +54 -0
  475. package/src/options/IOptions.ts +124 -0
  476. package/src/options/IUser.ts +7 -0
  477. package/src/options/IValidatedOptions.ts +30 -0
  478. package/src/options/OptionMessages.ts +36 -0
  479. package/src/options/UserBuilder.ts +36 -0
  480. package/src/options/Validators.ts +301 -0
  481. package/src/options/index.ts +8 -0
  482. package/src/platform/IInfo.ts +82 -0
  483. package/src/platform/IPlatform.ts +21 -0
  484. package/src/platform/IStore.ts +119 -0
  485. package/src/platform/IWebSocket.ts +23 -0
  486. package/src/platform/browser/BrowserInfo.ts +25 -0
  487. package/src/platform/browser/BrowserPlatform.ts +20 -0
  488. package/src/platform/browser/BrowserRequests.ts +7 -0
  489. package/src/platform/browser/BrowserWebSocket.ts +143 -0
  490. package/src/platform/browser/FbClient.ts +59 -0
  491. package/src/platform/browser/LocalStorageStore.ts +153 -0
  492. package/src/platform/index.ts +4 -0
  493. package/src/platform/requests.ts +77 -0
  494. package/src/store/DataKinds.ts +7 -0
  495. package/src/store/IDataSourceUpdates.ts +49 -0
  496. package/src/store/InMemoryStore.ts +115 -0
  497. package/src/store/index.ts +5 -0
  498. package/src/store/serialization.ts +52 -0
  499. package/src/store/store.ts +38 -0
  500. package/src/utils/Emits.ts +76 -0
  501. package/src/utils/EventEmitter.ts +129 -0
  502. package/src/utils/IEventEmitter.ts +15 -0
  503. package/src/utils/Regex.ts +22 -0
  504. package/src/utils/ValueConverters.ts +56 -0
  505. package/src/utils/VoidFunction.ts +1 -0
  506. package/src/utils/canonicalizeUri.ts +4 -0
  507. package/src/utils/http.ts +40 -0
  508. package/src/utils/index.ts +4 -0
  509. package/src/utils/isNullOrUndefined.ts +3 -0
  510. package/src/utils/serializeUser.ts +28 -0
  511. package/src/utils/sleep.ts +6 -0
  512. package/src/version.ts +1 -0
  513. package/esm/constants.d.ts +0 -6
  514. package/esm/constants.js +0 -7
  515. package/esm/constants.js.map +0 -1
  516. package/esm/events.d.ts +0 -14
  517. package/esm/events.js +0 -27
  518. package/esm/events.js.map +0 -1
  519. package/esm/featbit.d.ts +0 -34
  520. package/esm/featbit.js +0 -382
  521. package/esm/featbit.js.map +0 -1
  522. package/esm/index.d.ts +0 -4
  523. package/esm/index.js +0 -5
  524. package/esm/index.js.map +0 -1
  525. package/esm/logger.d.ts +0 -4
  526. package/esm/logger.js +0 -20
  527. package/esm/logger.js.map +0 -1
  528. package/esm/network.service.d.ts +0 -27
  529. package/esm/network.service.js +0 -288
  530. package/esm/network.service.js.map +0 -1
  531. package/esm/optionMessages.d.ts +0 -5
  532. package/esm/optionMessages.js +0 -16
  533. package/esm/optionMessages.js.map +0 -1
  534. package/esm/queue.d.ts +0 -8
  535. package/esm/queue.js +0 -35
  536. package/esm/queue.js.map +0 -1
  537. package/esm/store.d.ts +0 -20
  538. package/esm/store.js +0 -143
  539. package/esm/store.js.map +0 -1
  540. package/esm/throttleutil.d.ts +0 -9
  541. package/esm/throttleutil.js +0 -133
  542. package/esm/throttleutil.js.map +0 -1
  543. package/esm/types.d.ts +0 -94
  544. package/esm/types.js +0 -24
  545. package/esm/types.js.map +0 -1
  546. package/esm/umd.d.ts +0 -2
  547. package/esm/utils.d.ts +0 -11
  548. package/esm/utils.js +0 -142
  549. package/esm/utils.js.map +0 -1
  550. package/src/events.ts +0 -29
  551. package/src/featbit.ts +0 -343
  552. package/src/logger.ts +0 -13
  553. package/src/network.service.ts +0 -223
  554. package/src/optionMessages.ts +0 -13
  555. package/src/queue.ts +0 -23
  556. package/src/store.ts +0 -169
  557. package/src/throttleutil.ts +0 -72
  558. package/src/types.ts +0 -113
  559. package/src/umd.ts +0 -15
  560. package/src/utils.ts +0 -173
  561. package/umd/featbit-js-client-sdk-2.0.1.js +0 -2
  562. package/umd/featbit-js-client-sdk-2.0.1.js.map +0 -1
  563. package/umd/featbit-js-client-sdk.js +0 -2
  564. package/umd/featbit-js-client-sdk.js.map +0 -1
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Validators_1 = require("../options/Validators");
4
+ /**
5
+ * Attempt to produce a string representation of a value.
6
+ * The format should be roughly comparable to `util.format`
7
+ * aside from object which will be JSON versus the `util.inspect`
8
+ * format.
9
+ * @param val
10
+ * @returns A string representation of the value if possible.
11
+ */
12
+ function tryStringify(val) {
13
+ if (typeof val === 'string') {
14
+ return val;
15
+ }
16
+ if (val === undefined) {
17
+ return 'undefined';
18
+ }
19
+ if (val === null) {
20
+ return 'null';
21
+ }
22
+ if (Object.prototype.hasOwnProperty.call(val, 'toString')) {
23
+ try {
24
+ return val.toString();
25
+ }
26
+ catch (_a) {
27
+ /* Keep going */
28
+ }
29
+ }
30
+ if (typeof val === 'bigint') {
31
+ return `${val}n`;
32
+ }
33
+ try {
34
+ return JSON.stringify(val);
35
+ }
36
+ catch (error) {
37
+ if (error instanceof TypeError && error.message.indexOf('circular') >= 0) {
38
+ return '[Circular]';
39
+ }
40
+ return '[Not Stringifiable]';
41
+ }
42
+ }
43
+ /**
44
+ * Attempt to produce a numeric representation.
45
+ * BigInts have an `n` suffix.
46
+ * @param val
47
+ * @returns The numeric representation or 'NaN' if not numeric.
48
+ */
49
+ function toNumber(val) {
50
+ // Symbol has to be treated special because it will
51
+ // throw an exception if an attempt is made to convert it.
52
+ if (typeof val === 'symbol') {
53
+ return 'NaN';
54
+ }
55
+ if (typeof val === 'bigint') {
56
+ return `${val}n`;
57
+ }
58
+ return String(Number(val));
59
+ }
60
+ /**
61
+ * Attempt to produce an integer representation.
62
+ * BigInts have an `n` suffix.
63
+ * @param val
64
+ * @returns The integer representation or 'NaN' if not numeric.
65
+ */
66
+ function toInt(val) {
67
+ if (typeof val === 'symbol') {
68
+ return 'NaN';
69
+ }
70
+ if (typeof val === 'bigint') {
71
+ return `${val}n`;
72
+ }
73
+ return String(parseInt(val, 10));
74
+ }
75
+ /**
76
+ * Attempt to produce a float representation.
77
+ * BigInts have an `n` suffix.
78
+ * @param val
79
+ * @returns The integer representation or 'NaN' if not numeric.
80
+ */
81
+ function toFloat(val) {
82
+ if (typeof val === 'symbol') {
83
+ return 'NaN';
84
+ }
85
+ return String(parseFloat(val));
86
+ }
87
+ // Based on:
88
+ // https://nodejs.org/api/util.html#utilformatformat-args
89
+ // The result will not match browser exactly, but it should get the
90
+ // right information through.
91
+ const escapes = {
92
+ s: (val) => tryStringify(val),
93
+ d: (val) => toNumber(val),
94
+ i: (val) => toInt(val),
95
+ f: (val) => toFloat(val),
96
+ j: (val) => tryStringify(val),
97
+ o: (val) => tryStringify(val),
98
+ O: (val) => tryStringify(val),
99
+ c: () => '',
100
+ };
101
+ /**
102
+ * A basic formatted for use where `util.format` is not available.
103
+ * This will not be as performant, but it will produce formatted
104
+ * messages.
105
+ *
106
+ * @internal
107
+ *
108
+ * @param args
109
+ * @returns Formatted string.
110
+ */
111
+ function format(...args) {
112
+ var _a;
113
+ const formatString = args.shift();
114
+ if (Validators_1.TypeValidators.String.is(formatString)) {
115
+ let out = '';
116
+ let i = 0;
117
+ while (i < formatString.length) {
118
+ const char = formatString.charAt(i);
119
+ if (char === '%') {
120
+ const nextIndex = i + 1;
121
+ if (nextIndex < formatString.length) {
122
+ const nextChar = formatString.charAt(i + 1);
123
+ if (nextChar in escapes && args.length) {
124
+ const value = args.shift();
125
+ // This rule is for math.
126
+ // eslint-disable-next-line no-unsafe-optional-chaining
127
+ out += (_a = escapes[nextChar]) === null || _a === void 0 ? void 0 : _a.call(escapes, value);
128
+ }
129
+ else if (nextChar === '%') {
130
+ out += '%';
131
+ }
132
+ else {
133
+ out += `%${nextChar}`;
134
+ }
135
+ i += 2;
136
+ }
137
+ }
138
+ else {
139
+ out += char;
140
+ i += 1;
141
+ }
142
+ }
143
+ // If there are any args left after we exhaust the format string
144
+ // then just stick those on the end.
145
+ if (args.length) {
146
+ if (out.length) {
147
+ out += ' ';
148
+ }
149
+ out += args.map(tryStringify).join(' ');
150
+ }
151
+ return out;
152
+ }
153
+ return args.map(tryStringify).join(' ');
154
+ }
155
+ exports.default = format;
156
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/logging/format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export * from './BasicLogger';
2
+ export * from './format';
3
+ export * from './IBasicLoggerOptions';
4
+ export * from './ILogger';
5
+ export * from './LogLevel';
6
+ export * from './SafeLogger';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/logging/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./BasicLogger"), exports);
18
+ __exportStar(require("./format"), exports);
19
+ __exportStar(require("./IBasicLoggerOptions"), exports);
20
+ __exportStar(require("./ILogger"), exports);
21
+ __exportStar(require("./LogLevel"), exports);
22
+ __exportStar(require("./SafeLogger"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/logging/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,2CAAyB;AACzB,wDAAsC;AACtC,4CAA0B;AAC1B,6CAA2B;AAC3B,+CAA6B"}
@@ -0,0 +1,28 @@
1
+ import { ILogger } from "../logging/ILogger";
2
+ import { IPlatform } from "../platform/IPlatform";
3
+ import { IClientContext } from "./IClientContext";
4
+ /**
5
+ * The client context provides basic configuration and platform support which are required
6
+ * when building SDK components.
7
+ */
8
+ export default class ClientContext implements IClientContext {
9
+ readonly sdkKey: string;
10
+ readonly platform: IPlatform;
11
+ flushInterval: number;
12
+ maxEventsInQueue: number;
13
+ offline: boolean;
14
+ logger: ILogger;
15
+ eventsUri: string;
16
+ pollingUri: string;
17
+ streamingUri: string;
18
+ constructor(sdkKey: string, configuration: {
19
+ logger?: ILogger;
20
+ offline?: boolean;
21
+ flushInterval: number;
22
+ maxEventsInQueue: number;
23
+ streamingUri: string;
24
+ pollingUri: string;
25
+ eventsUri: string;
26
+ }, platform: IPlatform);
27
+ }
28
+ //# sourceMappingURL=ClientContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientContext.d.ts","sourceRoot":"","sources":["../../../src/options/ClientContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,cAAc;aAUxC,MAAM,EAAE,MAAM;aAUd,QAAQ,EAAE,SAAS;IAnBrC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;gBAGH,MAAM,EAAE,MAAM,EAC9B,aAAa,EAAE;QACb,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,EACe,QAAQ,EAAE,SAAS;CAUtC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * The client context provides basic configuration and platform support which are required
5
+ * when building SDK components.
6
+ */
7
+ class ClientContext {
8
+ constructor(sdkKey, configuration, platform) {
9
+ this.sdkKey = sdkKey;
10
+ this.platform = platform;
11
+ this.logger = configuration.logger;
12
+ this.offline = configuration.offline;
13
+ this.flushInterval = configuration.flushInterval;
14
+ this.maxEventsInQueue = configuration.maxEventsInQueue;
15
+ this.streamingUri = configuration.streamingUri;
16
+ this.pollingUri = configuration.pollingUri;
17
+ this.eventsUri = configuration.eventsUri;
18
+ }
19
+ }
20
+ exports.default = ClientContext;
21
+ //# sourceMappingURL=ClientContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientContext.js","sourceRoot":"","sources":["../../../src/options/ClientContext.ts"],"names":[],"mappings":";;AAKA;;;GAGG;AACH,MAAqB,aAAa;IAShC,YACkB,MAAc,EAC9B,aAQC,EACe,QAAmB;QAVnB,WAAM,GAAN,MAAM,CAAQ;QAUd,aAAQ,GAAR,QAAQ,CAAW;QAEnC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,MAAO,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,OAAQ,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC,gBAAgB,CAAC;QACvD,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;IAC3C,CAAC;CACF;AA9BD,gCA8BC"}
@@ -0,0 +1,45 @@
1
+ import { ILogger } from "../logging/ILogger";
2
+ import { IPlatform } from "../platform/IPlatform";
3
+ /**
4
+ * Factory methods receive this class as a parameter.
5
+ *
6
+ * Its public properties provide information about the SDK configuration and environment. The SDK
7
+ * may also include non-public properties that are relevant only when creating one of the built-in
8
+ * component types and are not accessible to custom components.
9
+ */
10
+ export interface IClientContext {
11
+ logger?: ILogger;
12
+ /**
13
+ * True if the SDK was configured to be completely offline.
14
+ */
15
+ offline?: boolean;
16
+ /**
17
+ * The configured SDK key.
18
+ */
19
+ sdkKey: string;
20
+ /**
21
+ * The base URI of the data-sync service
22
+ */
23
+ streamingUri: string;
24
+ /**
25
+ * The base URI of the polling service
26
+ */
27
+ pollingUri: string;
28
+ /**
29
+ * The base URI of the event service
30
+ */
31
+ eventsUri: string;
32
+ /**
33
+ * The interval in between flushes of events queue, in milliseconds.
34
+ */
35
+ flushInterval: number;
36
+ /**
37
+ * The max number of events in the events queue.
38
+ */
39
+ maxEventsInQueue: number;
40
+ /**
41
+ * Interfaces providing platform specific information and functionality.
42
+ */
43
+ platform: IPlatform;
44
+ }
45
+ //# sourceMappingURL=IClientContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IClientContext.d.ts","sourceRoot":"","sources":["../../../src/options/IClientContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAE7B,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IClientContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IClientContext.js","sourceRoot":"","sources":["../../../src/options/IClientContext.ts"],"names":[],"mappings":""}
@@ -0,0 +1,101 @@
1
+ import { ILogger } from "../logging/ILogger";
2
+ import { IDataSynchronizer } from "../data-sync/IDataSynchronizer";
3
+ import { IClientContext } from "./IClientContext";
4
+ import { IDataSourceUpdates } from "../store/IDataSourceUpdates";
5
+ import { VoidFunction } from "../utils/VoidFunction";
6
+ import { IStore } from "../platform/IStore";
7
+ import { DataSyncModeEnum } from "../data-sync/DataSyncMode";
8
+ import { IUser } from "./IUser";
9
+ import { IFlagBase } from "../evaluation";
10
+ export interface IOptions {
11
+ /**
12
+ * The user for whom you are evaluating feature flags.
13
+ */
14
+ user?: IUser;
15
+ /**
16
+ * How long the client constructor will block awaiting a successful connection to FeatBit, in milliseconds.
17
+ *
18
+ * Defaults to 5000 milliseconds.
19
+ */
20
+ startWaitTime?: number;
21
+ /**
22
+ * The SDK key for your FeatBit environment.
23
+ */
24
+ sdkKey?: string;
25
+ /**
26
+ * The mode to sync flag end segment data with the FeatBit server. See {@link DataSyncModeEnum} for possible values.
27
+ *
28
+ * Defaults to {@link DataSyncModeEnum.STREAMING}.
29
+ */
30
+ dataSyncMode?: DataSyncModeEnum;
31
+ /**
32
+ * The base URI of the data-sync service, mandatory if the {@link dataSyncMode} is set to {@link DataSyncModeEnum.STREAMING}.
33
+ */
34
+ streamingUri?: string;
35
+ /**
36
+ * The base URI of the polling service, mandatory if the {@link dataSyncMode} option is set to {@link DataSyncModeEnum.POLLING}.
37
+ */
38
+ pollingUri?: string;
39
+ /**
40
+ * The base URI of the event service
41
+ */
42
+ eventsUri?: string;
43
+ /**
44
+ * Whether this client is offline. If true, no calls to FeatBit will be made.
45
+ *
46
+ * Defaults to false
47
+ */
48
+ offline?: boolean;
49
+ /**
50
+ * The time between polling requests, in milliseconds. Ignored in data-sync mode.
51
+ *
52
+ * Defaults to 30 000 milliseconds.
53
+ */
54
+ pollingInterval?: number;
55
+ /**
56
+ * The interval in between flushes of events queue, in milliseconds.
57
+ *
58
+ * The default value is 2 000 milliseconds.
59
+ */
60
+ flushInterval?: number;
61
+ /**
62
+ * The max number of events in the events queue.
63
+ * defaults to 10 000
64
+ */
65
+ maxEventsInQueue?: number;
66
+ /**
67
+ * Configures a logger for warnings and errors generated by the SDK.
68
+ *
69
+ * The logger can be any object that conforms to the {@link ILogger} interface.
70
+ * For a simple implementation that lets you filter by log level, see
71
+ * {@link BasicLogger}. You can also use an instance of `winston.Logger` from
72
+ * the Winston logging package.
73
+ *
74
+ * If you do not set this property, the SDK uses {@link BasicLogger} with a
75
+ * minimum level of `info`.
76
+ */
77
+ logger?: ILogger;
78
+ /**
79
+ * The interval in between sending WebSocket ping messages to evaluation server, in milliseconds.
80
+
81
+ * Defaults to 18 000 milliseconds.
82
+ */
83
+ webSocketPingInterval?: number;
84
+ /**
85
+ * The flags to bootstrap the client, which should be the string representation of type {@link IFlagBase[]}.
86
+ */
87
+ bootstrap?: IFlagBase[];
88
+ /**
89
+ * The store to use for caching feature flag data.
90
+ *
91
+ * Defaults to {@link InMemoryStore}.
92
+ */
93
+ store?: IStore | ((options: IOptions) => IStore);
94
+ /**
95
+ * A component that obtains feature flag data and puts it in the store.
96
+ *
97
+ * Defaults to {@link WebSocketDataSynchronizer}.
98
+ */
99
+ dataSynchronizer?: object | ((clientContext: IClientContext, store: IStore, dataSourceUpdates: IDataSourceUpdates, initSuccessHandler: VoidFunction, errorHandler?: (e: Error) => void) => IDataSynchronizer);
100
+ }
101
+ //# sourceMappingURL=IOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IOptions.d.ts","sourceRoot":"","sources":["../../../src/options/IOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;IAEb;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAEhC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;IAExB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC;IAEjD;;;;OAIG;IACH,gBAAgB,CAAC,EACb,MAAM,GACN,CAAC,CACH,aAAa,EAAE,cAAc,EAC7B,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,kBAAkB,EACrC,kBAAkB,EAAE,YAAY,EAChC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,KAC9B,iBAAiB,CAAC,CAAC;CACzB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IOptions.js","sourceRoot":"","sources":["../../../src/options/IOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { IContextProperty } from "../IContextProperty";
2
+ export interface IUser {
3
+ keyId: string;
4
+ name?: string;
5
+ customizedProperties?: IContextProperty[];
6
+ }
7
+ //# sourceMappingURL=IUser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IUser.d.ts","sourceRoot":"","sources":["../../../src/options/IUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC3C"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IUser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IUser.js","sourceRoot":"","sources":["../../../src/options/IUser.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import { ILogger } from "../logging/ILogger";
2
+ import { IStore } from "../platform/IStore";
3
+ import { IOptions } from "./IOptions";
4
+ import { IDataSynchronizer } from "../data-sync/IDataSynchronizer";
5
+ import { DataSyncModeEnum } from "../data-sync/DataSyncMode";
6
+ import { IUser } from "./IUser";
7
+ import { IFlagBase } from "../evaluation";
8
+ export interface IValidatedOptions {
9
+ startWaitTime: number;
10
+ sdkKey: string;
11
+ pollingUri: string;
12
+ streamingUri: string;
13
+ eventsUri: string;
14
+ dataSyncMode: DataSyncModeEnum;
15
+ webSocketPingInterval?: number;
16
+ flushInterval: number;
17
+ maxEventsInQueue: number;
18
+ pollingInterval: number;
19
+ offline: boolean;
20
+ store: IStore | ((options: IOptions) => IStore);
21
+ dataSynchronizer?: IDataSynchronizer;
22
+ logger?: ILogger;
23
+ user?: IUser;
24
+ bootstrap?: IFlagBase[];
25
+ [index: string]: any;
26
+ }
27
+ //# sourceMappingURL=IValidatedOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IValidatedOptions.d.ts","sourceRoot":"","sources":["../../../src/options/IValidatedOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,gBAAgB,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC;IAChD,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;IAGxB,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IValidatedOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IValidatedOptions.js","sourceRoot":"","sources":["../../../src/options/IValidatedOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Messages for issues which can be encountered from processing the configuration options.
3
+ */
4
+ export default class OptionMessages {
5
+ static optionBelowMinimum(name: string, value: number, min: number): string;
6
+ static unknownOption(name: string): string;
7
+ static wrongOptionType(name: string, expectedType: string, actualType: string): string;
8
+ static wrongOptionTypeBoolean(name: string, actualType: string): string;
9
+ static partialEndpoint(name: string): string;
10
+ static mandatory(name: string): string;
11
+ static invalidOptionValue(name: string): string;
12
+ static missingKeyInBootstrapValue(key: string): string;
13
+ }
14
+ //# sourceMappingURL=OptionMessages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptionMessages.d.ts","sourceRoot":"","sources":["../../../src/options/OptionMessages.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAI3E,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI1C,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAItF,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAIvE,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI5C,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAItC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI/C,MAAM,CAAC,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAGvD"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Messages for issues which can be encountered from processing the configuration options.
5
+ */
6
+ class OptionMessages {
7
+ static optionBelowMinimum(name, value, min) {
8
+ return `Config option "${name}" had invalid value of ${value}, using minimum of ${min} instead`;
9
+ }
10
+ static unknownOption(name) {
11
+ return `Ignoring unknown config option "${name}"`;
12
+ }
13
+ static wrongOptionType(name, expectedType, actualType) {
14
+ return `Config option "${name}" should be of type ${expectedType}, got ${actualType}, using default value`;
15
+ }
16
+ static wrongOptionTypeBoolean(name, actualType) {
17
+ return `Config option "${name}" should be a boolean, got ${actualType}, converting to boolean`;
18
+ }
19
+ static partialEndpoint(name) {
20
+ return `You have set custom uris without specifying the ${name} URI; connections may not work properly`;
21
+ }
22
+ static mandatory(name) {
23
+ return `${name} is mandatory`;
24
+ }
25
+ static invalidOptionValue(name) {
26
+ return `Invalid option value: ${name}`;
27
+ }
28
+ static missingKeyInBootstrapValue(key) {
29
+ return `Missing key "${key}" in bootstrap value`;
30
+ }
31
+ }
32
+ exports.default = OptionMessages;
33
+ //# sourceMappingURL=OptionMessages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptionMessages.js","sourceRoot":"","sources":["../../../src/options/OptionMessages.ts"],"names":[],"mappings":";;AAAA;;GAEG;AACH,MAAqB,cAAc;IACjC,MAAM,CAAC,kBAAkB,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW;QAChE,OAAO,kBAAmB,IAAK,0BAA2B,KAAM,sBAAuB,GAAI,UAAU,CAAC;IACxG,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,IAAY;QAC/B,OAAO,mCAAoC,IAAK,GAAG,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,IAAY,EAAE,YAAoB,EAAE,UAAkB;QAC3E,OAAO,kBAAmB,IAAK,uBAAwB,YAAa,SAAU,UAAW,uBAAuB,CAAC;IACnH,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,IAAY,EAAE,UAAkB;QAC5D,OAAO,kBAAmB,IAAK,8BAA+B,UAAW,yBAAyB,CAAC;IACrG,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,IAAY;QACjC,OAAO,mDAAoD,IAAK,yCAAyC,CAAC;IAC5G,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,IAAY;QAC3B,OAAO,GAAI,IAAK,eAAe,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,IAAY;QACpC,OAAO,yBAA0B,IAAK,EAAE,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,0BAA0B,CAAC,GAAW;QAC3C,OAAO,gBAAiB,GAAI,sBAAsB,CAAC;IACrD,CAAC;CACF;AAhCD,iCAgCC"}
@@ -0,0 +1,17 @@
1
+ import { IUser } from "./IUser";
2
+ /**
3
+ * Creates an instance of the FeatBit user.
4
+ *
5
+ * @return
6
+ * The new {@link IUser} instance.
7
+ */
8
+ export declare class UserBuilder {
9
+ private _keyId;
10
+ private _name;
11
+ private _custom;
12
+ constructor(keyId: string);
13
+ name(name: string): UserBuilder;
14
+ custom(propertyName: string, value: string): UserBuilder;
15
+ build(): IUser;
16
+ }
17
+ //# sourceMappingURL=UserBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserBuilder.d.ts","sourceRoot":"","sources":["../../../src/options/UserBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,OAAO,CAA0B;gBAE7B,KAAK,EAAE,MAAM;IAIzB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW;IAK/B,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW;IAKxD,KAAK,IAAI,KAAK;CAOf"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserBuilder = void 0;
4
+ /**
5
+ * Creates an instance of the FeatBit user.
6
+ *
7
+ * @return
8
+ * The new {@link IUser} instance.
9
+ */
10
+ class UserBuilder {
11
+ constructor(keyId) {
12
+ this._keyId = '';
13
+ this._name = '';
14
+ this._custom = [];
15
+ this._keyId = keyId;
16
+ }
17
+ name(name) {
18
+ this._name = name;
19
+ return this;
20
+ }
21
+ custom(propertyName, value) {
22
+ var _a;
23
+ (_a = this._custom) === null || _a === void 0 ? void 0 : _a.push({ name: propertyName, value: value });
24
+ return this;
25
+ }
26
+ build() {
27
+ return {
28
+ name: this._name,
29
+ keyId: this._keyId,
30
+ customizedProperties: this._custom
31
+ };
32
+ }
33
+ }
34
+ exports.UserBuilder = UserBuilder;
35
+ //# sourceMappingURL=UserBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserBuilder.js","sourceRoot":"","sources":["../../../src/options/UserBuilder.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AACH,MAAa,WAAW;IAKtB,YAAY,KAAa;QAJjB,WAAM,GAAW,EAAE,CAAC;QACpB,UAAK,GAAW,EAAE,CAAC;QACnB,YAAO,GAAuB,EAAE,CAAC;QAGvC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,YAAoB,EAAE,KAAa;;QACxC,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,oBAAoB,EAAE,IAAI,CAAC,OAAO;SACnC,CAAC;IACJ,CAAC;CACF;AA1BD,kCA0BC"}