@featbit/react-client-sdk 1.0.1 → 1.0.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.
package/README.md CHANGED
@@ -53,7 +53,7 @@ function Game() {
53
53
  }
54
54
 
55
55
  function APP() {
56
- const { flags } = useFlags();
56
+ const flags = useFlags();
57
57
 
58
58
  const gameEnabled = flags['game-enabled'];
59
59
 
@@ -76,14 +76,14 @@ import getFlagsProxy from "./getFlagsProxy";
76
76
  */
77
77
  export default function asyncWithFbProvider(config) {
78
78
  return __awaiter(this, void 0, void 0, function () {
79
- var options, userReactOptions, reactOptions, _a, fetchedFlags, fbClient, bootstrapFlags, FbProvider;
79
+ var options, userReactOptions, platform, reactOptions, _a, fetchedFlags, fbClient, bootstrapFlags, FbProvider;
80
80
  var _this = this;
81
81
  return __generator(this, function (_b) {
82
82
  switch (_b.label) {
83
83
  case 0:
84
- options = config.options, userReactOptions = config.reactOptions;
84
+ options = config.options, userReactOptions = config.reactOptions, platform = config.platform;
85
85
  reactOptions = __assign(__assign({}, defaultReactOptions), userReactOptions);
86
- return [4 /*yield*/, initClient(reactOptions, options)];
86
+ return [4 /*yield*/, initClient(reactOptions, options, platform)];
87
87
  case 1:
88
88
  _a = _b.sent(), fetchedFlags = _a.flags, fbClient = _a.fbClient;
89
89
  bootstrapFlags = ((options === null || options === void 0 ? void 0 : options.bootstrap) || []).reduce(function (acc, flag) {
@@ -1 +1 @@
1
- {"version":3,"file":"asyncWithFbProvider.js","sourceRoot":"../src/","sources":["asyncWithFbProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAkB,mBAAmB,EAAY,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,OAAO,UAAgB,mBAAmB,CAAC,MAAsB;;;;;;;oBAC/D,OAAO,GAAoC,MAAM,QAA1C,EAAgB,gBAAgB,GAAI,MAAM,aAAV,CAAW;oBACnD,YAAY,yBAAO,mBAAmB,GAAK,gBAAgB,CAAC,CAAC;oBAC1B,qBAAM,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,EAAA;;oBAA1E,KAAmC,SAAuC,EAAjE,YAAY,WAAA,EAAE,QAAQ,cAAA;oBAE/B,cAAc,GAAG,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,KAAI,EAAE,CAAC,CAAC,MAAM,CAAC,UAAC,GAA4B,EAAE,IAAS;wBAC/F,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;wBAC9B,OAAO,GAAG,CAAC;oBACb,CAAC,EAAE,EAA6B,CAAC,CAAC;oBAE5B,UAAU,GAAG,UAAC,EAAmC;4BAAlC,QAAQ,cAAA;wBACrB,IAAA,KAAoB,QAAQ,CAAC,cAAM,OAAA,YACvC,cAAc,EAAE,YAAY,IACzB,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,CAAC,EACtE,EAHuC,CAGvC,CAAC,EAHI,KAAK,QAAA,EAAE,QAAQ,QAGnB,CAAC;wBAEJ,SAAS,CAAC;4BACR,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAC,WAAqB;gCAC1C,IAAM,OAAO,GAAa,WAAW,CAAC,MAAM,CAAC,UAAO,GAAG,EAAE,GAAG;;;;;gDAC1D,KAAA,GAAG,CAAA;gDAAC,KAAA,GAAG,CAAA;gDAAI,qBAAM,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,EAAA;;gDAA5C,MAAQ,GAAG,SAAiC,CAAC;gDAC7C,sBAAO,GAAG,EAAC;;;qCACZ,EAAE,EAAc,CAAC,CAAC;gCAEnB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oCACnC,QAAQ,CAAC,UAAC,EAAkB;4CAAhB,cAAc,oBAAA;wCACxB,IAAM,qBAAqB,yBAAQ,cAAc,GAAK,OAAO,CAAE,CAAC;wCAEhE,kBACE,cAAc,EAAE,qBAAqB,IAClC,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,qBAAqB,EAAE,YAAY,CAAC,EAC/E;oCACJ,CAAC,CAAC,CAAC;iCACJ;4BACH,CAAC,CAAC,CAAC;wBACL,CAAC,EAAE,EAAE,CAAC,CAAC;wBAEC,IAAA,KAAK,GAAiB,KAAK,MAAtB,EAAE,UAAU,GAAK,KAAK,WAAV,CAAW;wBACpC,OAAO,oBAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,OAAA,EAAE,UAAU,YAAA,EAAE,QAAQ,UAAA,EAAE,IAAI,QAAQ,CAAa,CAAC;oBACnF,CAAC,CAAC;oBAEF,sBAAO,UAAU,EAAC;;;;CACnB"}
1
+ {"version":3,"file":"asyncWithFbProvider.js","sourceRoot":"../src/","sources":["asyncWithFbProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAkB,mBAAmB,EAAY,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,OAAO,UAAgB,mBAAmB,CAAC,MAAsB;;;;;;;oBAC/D,OAAO,GAA8C,MAAM,QAApD,EAAgB,gBAAgB,GAAc,MAAM,aAApB,EAAE,QAAQ,GAAI,MAAM,SAAV,CAAW;oBAC7D,YAAY,yBAAO,mBAAmB,GAAK,gBAAgB,CAAC,CAAC;oBAC1B,qBAAM,UAAU,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAA;;oBAApF,KAAmC,SAAiD,EAA3E,YAAY,WAAA,EAAE,QAAQ,cAAA;oBAE/B,cAAc,GAAG,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,KAAI,EAAE,CAAC,CAAC,MAAM,CAAC,UAAC,GAA4B,EAAE,IAAS;wBAC/F,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;wBAC9B,OAAO,GAAG,CAAC;oBACb,CAAC,EAAE,EAA6B,CAAC,CAAC;oBAE5B,UAAU,GAAG,UAAC,EAAmC;4BAAlC,QAAQ,cAAA;wBACrB,IAAA,KAAoB,QAAQ,CAAC,cAAM,OAAA,YACvC,cAAc,EAAE,YAAY,IACzB,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,CAAC,EACtE,EAHuC,CAGvC,CAAC,EAHI,KAAK,QAAA,EAAE,QAAQ,QAGnB,CAAC;wBAEJ,SAAS,CAAC;4BACR,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAC,WAAqB;gCAC1C,IAAM,OAAO,GAAa,WAAW,CAAC,MAAM,CAAC,UAAO,GAAG,EAAE,GAAG;;;;;gDAC1D,KAAA,GAAG,CAAA;gDAAC,KAAA,GAAG,CAAA;gDAAI,qBAAM,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,EAAA;;gDAA5C,MAAQ,GAAG,SAAiC,CAAC;gDAC7C,sBAAO,GAAG,EAAC;;;qCACZ,EAAE,EAAc,CAAC,CAAC;gCAEnB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oCACnC,QAAQ,CAAC,UAAC,EAAkB;4CAAhB,cAAc,oBAAA;wCACxB,IAAM,qBAAqB,yBAAQ,cAAc,GAAK,OAAO,CAAE,CAAC;wCAEhE,kBACE,cAAc,EAAE,qBAAqB,IAClC,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,qBAAqB,EAAE,YAAY,CAAC,EAC/E;oCACJ,CAAC,CAAC,CAAC;iCACJ;4BACH,CAAC,CAAC,CAAC;wBACL,CAAC,EAAE,EAAE,CAAC,CAAC;wBAEC,IAAA,KAAK,GAAiB,KAAK,MAAtB,EAAE,UAAU,GAAK,KAAK,WAAV,CAAW;wBACpC,OAAO,oBAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,OAAA,EAAE,UAAU,YAAA,EAAE,QAAQ,UAAA,EAAE,IAAI,QAAQ,CAAa,CAAC;oBACnF,CAAC,CAAC;oBAEF,sBAAO,UAAU,EAAC;;;;CACnB"}
@@ -1,5 +1,5 @@
1
1
  import { AllFlagsFbClient, FbReactOptions } from './types';
2
- import { IOptions } from '@featbit/js-client-sdk';
2
+ import { IOptions, IPlatform } from '@featbit/js-client-sdk';
3
3
  /**
4
4
  * Internal function to initialize the `@featbit/js-client-sdk`.
5
5
  *
@@ -9,4 +9,4 @@ import { IOptions } from '@featbit/js-client-sdk';
9
9
  * @see `ProviderConfig` for more details about the parameters
10
10
  * @return An initialized client and flags
11
11
  */
12
- export declare const initClient: (reactOptions?: FbReactOptions, options?: IOptions) => Promise<AllFlagsFbClient>;
12
+ export declare const initClient: (reactOptions?: FbReactOptions, options?: IOptions, platform?: IPlatform | undefined) => Promise<AllFlagsFbClient>;
@@ -57,13 +57,16 @@ import { fetchFlags } from "./utils";
57
57
  * @see `ProviderConfig` for more details about the parameters
58
58
  * @return An initialized client and flags
59
59
  */
60
- export var initClient = function (reactOptions, options) {
60
+ export var initClient = function (reactOptions, options, platform) {
61
61
  if (reactOptions === void 0) { reactOptions = defaultReactOptions; }
62
62
  if (options === void 0) { options = {}; }
63
+ if (platform === void 0) { platform = undefined; }
63
64
  return __awaiter(void 0, void 0, void 0, function () {
64
65
  var fbClient;
65
66
  return __generator(this, function (_a) {
66
- fbClient = new FbClientBuilder(__assign({}, options)).build();
67
+ fbClient = new FbClientBuilder(__assign({}, options))
68
+ .platform(platform)
69
+ .build();
67
70
  return [2 /*return*/, new Promise(function (resolve) {
68
71
  fbClient.on('ready', function () { return __awaiter(void 0, void 0, void 0, function () {
69
72
  var flags;
@@ -1 +1 @@
1
- {"version":3,"file":"initClient.js","sourceRoot":"../src/","sources":["initClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAoB,mBAAmB,EAAkB,MAAM,SAAS,CAAC;AAChF,OAAO,EAAE,eAAe,EAAY,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC;;;;;;;;GAQG;AACH,MAAM,CAAC,IAAM,UAAU,GAAG,UACxB,YAAkD,EAClD,OAAsB;IADtB,6BAAA,EAAA,kCAAkD;IAClD,wBAAA,EAAA,YAAsB;;;;YAEhB,QAAQ,GAAG,IAAI,eAAe,cAAK,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC;YAE3D,sBAAO,IAAI,OAAO,CAAmB,UAAC,OAAO;oBAC3C,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE;;;;wCACL,qBAAM,UAAU,CAAC,QAAQ,CAAC,EAAA;;oCAAlC,KAAK,GAAG,SAA0B;oCACxC,OAAO,CAAC,EAAC,KAAK,OAAA,EAAE,QAAQ,UAAA,EAAC,CAAC,CAAC;;;;yBAC5B,CAAC,CAAC;gBACL,CAAC,CAAC,EAAC;;;CACJ,CAAC"}
1
+ {"version":3,"file":"initClient.js","sourceRoot":"../src/","sources":["initClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAoB,mBAAmB,EAAkB,MAAM,SAAS,CAAC;AAChF,OAAO,EAAE,eAAe,EAAuB,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC;;;;;;;;GAQG;AACH,MAAM,CAAC,IAAM,UAAU,GAAG,UACxB,YAAkD,EAClD,OAAsB,EACtB,QAA2C;IAF3C,6BAAA,EAAA,kCAAkD;IAClD,wBAAA,EAAA,YAAsB;IACtB,yBAAA,EAAA,oBAA2C;;;;YAErC,QAAQ,GAAG,IAAI,eAAe,cAAK,OAAO,EAAE;iBAC/C,QAAQ,CAAC,QAAQ,CAAC;iBAClB,KAAK,EAAE,CAAC;YAEX,sBAAO,IAAI,OAAO,CAAmB,UAAC,OAAO;oBAC3C,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE;;;;wCACL,qBAAM,UAAU,CAAC,QAAQ,CAAC,EAAA;;oCAAlC,KAAK,GAAG,SAA0B;oCACxC,OAAO,CAAC,EAAC,KAAK,OAAA,EAAE,QAAQ,UAAA,EAAC,CAAC,CAAC;;;;yBAC5B,CAAC,CAAC;gBACL,CAAC,CAAC,EAAC;;;CACJ,CAAC"}
package/dist/provider.js CHANGED
@@ -101,24 +101,24 @@ var FbProvider = /** @class */ (function (_super) {
101
101
  });
102
102
  };
103
103
  _this.init = function () { return __awaiter(_this, void 0, void 0, function () {
104
- var options, client, reactOptions, unproxiedFlags, initialisedOutput;
105
- return __generator(this, function (_a) {
106
- switch (_a.label) {
104
+ var _a, options, platform, client, reactOptions, unproxiedFlags, initialisedOutput;
105
+ return __generator(this, function (_b) {
106
+ switch (_b.label) {
107
107
  case 0:
108
- options = this.props.options;
108
+ _a = this.props, options = _a.options, platform = _a.platform;
109
109
  client = this.props.fbClient;
110
110
  reactOptions = this.getReactOptions();
111
111
  if (!client) return [3 /*break*/, 2];
112
112
  return [4 /*yield*/, fetchFlags(client)];
113
113
  case 1:
114
- unproxiedFlags = _a.sent();
114
+ unproxiedFlags = _b.sent();
115
115
  return [3 /*break*/, 4];
116
- case 2: return [4 /*yield*/, initClient(reactOptions, options)];
116
+ case 2: return [4 /*yield*/, initClient(reactOptions, options, platform)];
117
117
  case 3:
118
- initialisedOutput = _a.sent();
118
+ initialisedOutput = _b.sent();
119
119
  unproxiedFlags = initialisedOutput.flags;
120
120
  client = initialisedOutput.fbClient;
121
- _a.label = 4;
121
+ _b.label = 4;
122
122
  case 4:
123
123
  this.setState(__assign(__assign({ unproxiedFlags: unproxiedFlags }, getFlagsProxy(client, this.bootstrapFlags, unproxiedFlags, reactOptions)), { fbClient: client }));
124
124
  this.subscribeToChanges(client);
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"../src/","sources":["provider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"../src/","sources":["provider.tsx"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { IFbClient, IOptions, FlagValue } from '@featbit/js-client-sdk';
2
+ import { IFbClient, IOptions, FlagValue, IPlatform } from '@featbit/js-client-sdk';
3
3
  export interface IFlagSet {
4
4
  [key: string]: FlagValue;
5
5
  }
@@ -57,6 +57,7 @@ export interface ProviderConfig {
57
57
  * event, to ensure that the flags are properly set.
58
58
  */
59
59
  fbClient?: IFbClient;
60
+ platform?: IPlatform;
60
61
  }
61
62
  /**
62
63
  * The return type of withFbProvider HOC. Exported for testing purposes only.
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"../src/","sources":["types.ts"],"names":[],"mappings":"AA8BA;;GAEG;AACH,MAAM,CAAC,IAAM,mBAAmB,GAAG,EAAC,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAC,CAAC;AAqE7F,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"../src/","sources":["types.ts"],"names":[],"mappings":"AA8BA;;GAEG;AACH,MAAM,CAAC,IAAM,mBAAmB,GAAG,EAAC,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAC,CAAC;AAuE7F,cAAc,wBAAwB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@featbit/react-client-sdk",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "FeatBit client SDK for React",
5
5
  "keywords": [
6
6
  "FeatBit",
@@ -16,6 +16,7 @@
16
16
  "homepage": "https://github.com/featbit/featbit-react-client-sdk",
17
17
  "main": "dist/index.js",
18
18
  "types": "dist/index.d.ts",
19
+ "type": "module",
19
20
  "files": [
20
21
  "dist",
21
22
  "src"
@@ -46,7 +47,7 @@
46
47
  "typescript": "^4.5.3"
47
48
  },
48
49
  "dependencies": {
49
- "@featbit/js-client-sdk": "^3.0.0",
50
+ "@featbit/js-client-sdk": "^3.0.4",
50
51
  "hoist-non-react-statics": "^3.3.2",
51
52
  "lodash.camelcase": "^4.3.0"
52
53
  },
@@ -29,9 +29,9 @@ import getFlagsProxy from "./getFlagsProxy";
29
29
  * @param config - The configuration used to initialize FeatBit's JS SDK
30
30
  */
31
31
  export default async function asyncWithFbProvider(config: ProviderConfig) {
32
- const {options, reactOptions: userReactOptions} = config;
32
+ const {options, reactOptions: userReactOptions, platform} = config;
33
33
  const reactOptions = {...defaultReactOptions, ...userReactOptions};
34
- const { flags: fetchedFlags, fbClient} = await initClient(reactOptions, options);
34
+ const { flags: fetchedFlags, fbClient} = await initClient(reactOptions, options, platform);
35
35
 
36
36
  const bootstrapFlags = (options?.bootstrap || []).reduce((acc: {[key: string]: string}, flag: any) => {
37
37
  acc[flag.id] = flag.variation;
package/src/initClient.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { AllFlagsFbClient, defaultReactOptions, FbReactOptions } from './types';
2
- import { FbClientBuilder, IOptions } from '@featbit/js-client-sdk';
2
+ import { FbClientBuilder, IOptions, IPlatform } from '@featbit/js-client-sdk';
3
3
  import { fetchFlags } from "./utils";
4
4
 
5
5
  /**
@@ -13,9 +13,12 @@ import { fetchFlags } from "./utils";
13
13
  */
14
14
  export const initClient = async (
15
15
  reactOptions: FbReactOptions = defaultReactOptions,
16
- options: IOptions = {}
16
+ options: IOptions = {},
17
+ platform: IPlatform | undefined = undefined
17
18
  ): Promise<AllFlagsFbClient> => {
18
- const fbClient = new FbClientBuilder({...options}).build();
19
+ const fbClient = new FbClientBuilder({...options})
20
+ .platform(platform)
21
+ .build();
19
22
 
20
23
  return new Promise<AllFlagsFbClient>((resolve) => {
21
24
  fbClient.on('ready', async () => {
package/src/provider.tsx CHANGED
@@ -83,14 +83,14 @@ class FbProvider extends React.Component<ProviderConfig, FbHocState> implements
83
83
  };
84
84
 
85
85
  init = async () => {
86
- const {options} = this.props;
86
+ const {options, platform} = this.props;
87
87
  let client: IFbClient = this.props.fbClient!;
88
88
  const reactOptions = this.getReactOptions();
89
89
  let unproxiedFlags;
90
90
  if (client) {
91
91
  unproxiedFlags = await fetchFlags(client);
92
92
  } else {
93
- const initialisedOutput = await initClient(reactOptions, options);
93
+ const initialisedOutput = await initClient(reactOptions, options, platform);
94
94
  unproxiedFlags = initialisedOutput.flags;
95
95
  client = initialisedOutput.fbClient!;
96
96
  }
package/src/types.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { IFbClient, IOptions, FlagValue } from '@featbit/js-client-sdk';
1
+ import { IFbClient, IOptions, FlagValue, IPlatform } from '@featbit/js-client-sdk';
2
2
 
3
3
  export interface IFlagSet {
4
4
  [key: string]: FlagValue;
@@ -61,6 +61,8 @@ export interface ProviderConfig {
61
61
  * event, to ensure that the flags are properly set.
62
62
  */
63
63
  fbClient?: IFbClient;
64
+
65
+ platform?: IPlatform;
64
66
  }
65
67
 
66
68
  /**