async-playfab-web-sdk 1.192.250526

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 (71) hide show
  1. package/dist/Addon.d.mts +591 -0
  2. package/dist/Addon.js.map +1 -0
  3. package/dist/Addon.mjs +452 -0
  4. package/dist/Addon.mjs.map +1 -0
  5. package/dist/Admin.d.mts +3484 -0
  6. package/dist/Admin.js.map +1 -0
  7. package/dist/Admin.mjs +1112 -0
  8. package/dist/Admin.mjs.map +1 -0
  9. package/dist/Authentication.d.mts +109 -0
  10. package/dist/Authentication.js.map +1 -0
  11. package/dist/Authentication.mjs +290 -0
  12. package/dist/Authentication.mjs.map +1 -0
  13. package/dist/Client.d.mts +4482 -0
  14. package/dist/Client.js.map +1 -0
  15. package/dist/Client.mjs +1893 -0
  16. package/dist/Client.mjs.map +1 -0
  17. package/dist/CloudScript.d.mts +511 -0
  18. package/dist/CloudScript.js.map +1 -0
  19. package/dist/CloudScript.mjs +349 -0
  20. package/dist/CloudScript.mjs.map +1 -0
  21. package/dist/Data.d.mts +228 -0
  22. package/dist/Data.js.map +1 -0
  23. package/dist/Data.mjs +291 -0
  24. package/dist/Data.mjs.map +1 -0
  25. package/dist/Economy.d.mts +1865 -0
  26. package/dist/Economy.js.map +1 -0
  27. package/dist/Economy.mjs +614 -0
  28. package/dist/Economy.mjs.map +1 -0
  29. package/dist/Events.d.mts +307 -0
  30. package/dist/Events.js.map +1 -0
  31. package/dist/Events.mjs +327 -0
  32. package/dist/Events.mjs.map +1 -0
  33. package/dist/Experimentation.d.mts +357 -0
  34. package/dist/Experimentation.js.map +1 -0
  35. package/dist/Experimentation.mjs +333 -0
  36. package/dist/Experimentation.mjs.map +1 -0
  37. package/dist/Groups.d.mts +546 -0
  38. package/dist/Groups.js.map +1 -0
  39. package/dist/Groups.mjs +417 -0
  40. package/dist/Groups.mjs.map +1 -0
  41. package/dist/Insights.d.mts +141 -0
  42. package/dist/Insights.js.map +1 -0
  43. package/dist/Insights.mjs +286 -0
  44. package/dist/Insights.mjs.map +1 -0
  45. package/dist/Localization.d.mts +20 -0
  46. package/dist/Localization.js.map +1 -0
  47. package/dist/Localization.mjs +249 -0
  48. package/dist/Localization.mjs.map +1 -0
  49. package/dist/Multiplayer.d.mts +3059 -0
  50. package/dist/Multiplayer.js.map +1 -0
  51. package/dist/Multiplayer.mjs +862 -0
  52. package/dist/Multiplayer.mjs.map +1 -0
  53. package/dist/PlayFabCommon-BUv4zqXf.d.mts +72 -0
  54. package/dist/Profiles.d.mts +278 -0
  55. package/dist/Profiles.js.map +1 -0
  56. package/dist/Profiles.mjs +306 -0
  57. package/dist/Profiles.mjs.map +1 -0
  58. package/dist/Progression.d.mts +598 -0
  59. package/dist/Progression.js.map +1 -0
  60. package/dist/Progression.mjs +404 -0
  61. package/dist/Progression.mjs.map +1 -0
  62. package/dist/Server.d.mts +3889 -0
  63. package/dist/Server.js.map +1 -0
  64. package/dist/Server.mjs +1377 -0
  65. package/dist/Server.mjs.map +1 -0
  66. package/dist/index.d.mts +17 -0
  67. package/dist/index.js.map +1 -0
  68. package/dist/index.mjs +6007 -0
  69. package/dist/index.mjs.map +1 -0
  70. package/package.json +22 -0
  71. package/readme.md +25 -0
@@ -0,0 +1,357 @@
1
+ import { I as IPlayFabRequestCommon, a as IPlayFabResultCommon, P as PlayFabCommon, E as EmptyResponse } from './PlayFabCommon-BUv4zqXf.mjs';
2
+
3
+ interface CreateExclusionGroupRequest extends IPlayFabRequestCommon {
4
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
5
+ CustomTags?: Record<string, string | null>;
6
+ /** Description of the exclusion group. */
7
+ Description?: string;
8
+ /** Friendly name of the exclusion group. */
9
+ Name: string;
10
+ }
11
+ interface CreateExclusionGroupResult extends IPlayFabResultCommon {
12
+ /** Identifier of the exclusion group. */
13
+ ExclusionGroupId?: string;
14
+ }
15
+ interface CreateExperimentRequest extends IPlayFabRequestCommon {
16
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
17
+ CustomTags?: Record<string, string | null>;
18
+ /** Description of the experiment. */
19
+ Description?: string;
20
+ /** When experiment should end. */
21
+ EndDate?: string;
22
+ /** Id of the exclusion group. */
23
+ ExclusionGroupId?: string;
24
+ /** Percentage of exclusion group traffic that will see this experiment. */
25
+ ExclusionGroupTrafficAllocation?: number;
26
+ /** Type of experiment. */
27
+ ExperimentType?: string;
28
+ /** Friendly name of the experiment. */
29
+ Name: string;
30
+ /** Id of the segment to which this experiment applies. Defaults to the 'All Players' segment. */
31
+ SegmentId?: string;
32
+ /** When experiment should start. */
33
+ StartDate: string;
34
+ /**
35
+ * List of title player account IDs that automatically receive treatments in the experiment, but are not included when
36
+ * calculating experiment metrics.
37
+ */
38
+ TitlePlayerAccountTestIds?: string[];
39
+ /** List of variants for the experiment. */
40
+ Variants: Variant[];
41
+ }
42
+ interface CreateExperimentResult extends IPlayFabResultCommon {
43
+ /** The ID of the new experiment. */
44
+ ExperimentId?: string;
45
+ }
46
+ interface DeleteExclusionGroupRequest extends IPlayFabRequestCommon {
47
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
48
+ CustomTags?: Record<string, string | null>;
49
+ /** The ID of the exclusion group to delete. */
50
+ ExclusionGroupId: string;
51
+ }
52
+ interface DeleteExperimentRequest extends IPlayFabRequestCommon {
53
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
54
+ CustomTags?: Record<string, string | null>;
55
+ /** The ID of the experiment to delete. */
56
+ ExperimentId: string;
57
+ }
58
+ interface EntityKey {
59
+ /** Unique ID of the entity. */
60
+ Id: string;
61
+ /** Entity type. See https://docs.microsoft.com/gaming/playfab/features/data/entities/available-built-in-entity-types */
62
+ Type?: string;
63
+ }
64
+ interface ExclusionGroupTrafficAllocation {
65
+ /** Id of the experiment. */
66
+ ExperimentId?: string;
67
+ /** Percentage of exclusion group traffic that will see this experiment. */
68
+ TrafficAllocation: number;
69
+ }
70
+ interface Experiment {
71
+ /** Description of the experiment. */
72
+ Description?: string;
73
+ /** When experiment should end/was ended. */
74
+ EndDate?: string;
75
+ /** Id of the exclusion group for this experiment. */
76
+ ExclusionGroupId?: string;
77
+ /** Percentage of exclusion group traffic that will see this experiment. */
78
+ ExclusionGroupTrafficAllocation?: number;
79
+ /** Type of experiment. */
80
+ ExperimentType?: string;
81
+ /** Id of the experiment. */
82
+ Id?: string;
83
+ /** Friendly name of the experiment. */
84
+ Name?: string;
85
+ /** Id of the segment to which this experiment applies. Defaults to the 'All Players' segment. */
86
+ SegmentId?: string;
87
+ /** When experiment should start/was started. */
88
+ StartDate: string;
89
+ /** State experiment is currently in. */
90
+ State?: string;
91
+ /**
92
+ * List of title player account IDs that automatically receive treatments in the experiment, but are not included when
93
+ * calculating experiment metrics.
94
+ */
95
+ TitlePlayerAccountTestIds?: string[];
96
+ /** List of variants for the experiment. */
97
+ Variants?: Variant[];
98
+ }
99
+ interface ExperimentExclusionGroup {
100
+ /** Description of the exclusion group. */
101
+ Description?: string;
102
+ /** Id of the exclusion group. */
103
+ ExclusionGroupId?: string;
104
+ /** Friendly name of the exclusion group. */
105
+ Name?: string;
106
+ }
107
+ interface GetExclusionGroupsRequest extends IPlayFabRequestCommon {
108
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
109
+ CustomTags?: Record<string, string | null>;
110
+ }
111
+ interface GetExclusionGroupsResult extends IPlayFabResultCommon {
112
+ /** List of exclusion groups for the title. */
113
+ ExclusionGroups?: ExperimentExclusionGroup[];
114
+ }
115
+ interface GetExclusionGroupTrafficRequest extends IPlayFabRequestCommon {
116
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
117
+ CustomTags?: Record<string, string | null>;
118
+ /** The ID of the exclusion group. */
119
+ ExclusionGroupId: string;
120
+ }
121
+ interface GetExclusionGroupTrafficResult extends IPlayFabResultCommon {
122
+ /** List of traffic allocations for the exclusion group. */
123
+ TrafficAllocations?: ExclusionGroupTrafficAllocation[];
124
+ }
125
+ interface GetExperimentsRequest extends IPlayFabRequestCommon {
126
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
127
+ CustomTags?: Record<string, string | null>;
128
+ }
129
+ interface GetExperimentsResult extends IPlayFabResultCommon {
130
+ /** List of experiments for the title. */
131
+ Experiments?: Experiment[];
132
+ }
133
+ interface GetLatestScorecardRequest extends IPlayFabRequestCommon {
134
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
135
+ CustomTags?: Record<string, string | null>;
136
+ /** The ID of the experiment. */
137
+ ExperimentId?: string;
138
+ }
139
+ interface GetLatestScorecardResult extends IPlayFabResultCommon {
140
+ /** Scorecard for the experiment of the title. */
141
+ Scorecard?: Scorecard;
142
+ }
143
+ interface GetTreatmentAssignmentRequest extends IPlayFabRequestCommon {
144
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
145
+ CustomTags?: Record<string, string | null>;
146
+ /** The optional entity to perform this action on. Defaults to the currently logged in entity. */
147
+ Entity?: EntityKey;
148
+ }
149
+ interface GetTreatmentAssignmentResult extends IPlayFabResultCommon {
150
+ /** Treatment assignment for the entity. */
151
+ TreatmentAssignment?: TreatmentAssignment;
152
+ }
153
+ interface MetricData {
154
+ /** The upper bound of the confidence interval for the relative delta (Delta.RelativeValue). */
155
+ ConfidenceIntervalEnd: number;
156
+ /** The lower bound of the confidence interval for the relative delta (Delta.RelativeValue). */
157
+ ConfidenceIntervalStart: number;
158
+ /** The absolute delta between TreatmentStats.Average and ControlStats.Average. */
159
+ DeltaAbsoluteChange: number;
160
+ /** The relative delta ratio between TreatmentStats.Average and ControlStats.Average. */
161
+ DeltaRelativeChange: number;
162
+ /** The machine name of the metric. */
163
+ InternalName?: string;
164
+ /** Indicates if a movement was detected on that metric. */
165
+ Movement?: string;
166
+ /** The readable name of the metric. */
167
+ Name?: string;
168
+ /** The expectation that a movement is real */
169
+ PMove: number;
170
+ /** The p-value resulting from the statistical test run for this metric */
171
+ PValue: number;
172
+ /** The threshold for observing sample ratio mismatch. */
173
+ PValueThreshold: number;
174
+ /** Indicates if the movement is statistically significant. */
175
+ StatSigLevel?: string;
176
+ /** Observed standard deviation value of the metric. */
177
+ StdDev: number;
178
+ /** Observed average value of the metric. */
179
+ Value: number;
180
+ }
181
+ interface Scorecard {
182
+ /** Represents the date the scorecard was generated. */
183
+ DateGenerated?: string;
184
+ /** Represents the duration of scorecard analysis. */
185
+ Duration?: string;
186
+ /** Represents the number of events processed for the generation of this scorecard */
187
+ EventsProcessed: number;
188
+ /** Id of the experiment. */
189
+ ExperimentId?: string;
190
+ /** Friendly name of the experiment. */
191
+ ExperimentName?: string;
192
+ /** Represents the latest compute job status. */
193
+ LatestJobStatus?: string;
194
+ /** Represents the presence of a sample ratio mismatch in the scorecard data. */
195
+ SampleRatioMismatch: boolean;
196
+ /** Scorecard containing list of analysis. */
197
+ ScorecardDataRows?: ScorecardDataRow[];
198
+ }
199
+ interface ScorecardDataRow {
200
+ /** Represents whether the variant is control or not. */
201
+ IsControl: boolean;
202
+ /** Data of the analysis with the internal name of the metric as the key and an object of metric data as value. */
203
+ MetricDataRows?: Record<string, MetricData>;
204
+ /** Represents the player count in the variant. */
205
+ PlayerCount: number;
206
+ /** Name of the variant of analysis. */
207
+ VariantName?: string;
208
+ }
209
+ interface StartExperimentRequest extends IPlayFabRequestCommon {
210
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
211
+ CustomTags?: Record<string, string | null>;
212
+ /** The ID of the experiment to start. */
213
+ ExperimentId: string;
214
+ }
215
+ interface StopExperimentRequest extends IPlayFabRequestCommon {
216
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
217
+ CustomTags?: Record<string, string | null>;
218
+ /** The ID of the experiment to stop. */
219
+ ExperimentId: string;
220
+ }
221
+ interface TreatmentAssignment {
222
+ /** List of the experiment variables. */
223
+ Variables?: Variable[];
224
+ /** List of the experiment variants. */
225
+ Variants?: string[];
226
+ }
227
+ interface UpdateExclusionGroupRequest extends IPlayFabRequestCommon {
228
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
229
+ CustomTags?: Record<string, string | null>;
230
+ /** Description of the exclusion group. */
231
+ Description?: string;
232
+ /** The ID of the exclusion group to update. */
233
+ ExclusionGroupId: string;
234
+ /** Friendly name of the exclusion group. */
235
+ Name: string;
236
+ }
237
+ interface UpdateExperimentRequest extends IPlayFabRequestCommon {
238
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
239
+ CustomTags?: Record<string, string | null>;
240
+ /** Description of the experiment. */
241
+ Description?: string;
242
+ /** When experiment should end. */
243
+ EndDate?: string;
244
+ /** Id of the exclusion group. */
245
+ ExclusionGroupId?: string;
246
+ /** Percentage of exclusion group traffic that will see this experiment. */
247
+ ExclusionGroupTrafficAllocation?: number;
248
+ /** Type of experiment. */
249
+ ExperimentType?: string;
250
+ /** Id of the experiment. */
251
+ Id: string;
252
+ /** Friendly name of the experiment. */
253
+ Name: string;
254
+ /** Id of the segment to which this experiment applies. Defaults to the 'All Players' segment. */
255
+ SegmentId?: string;
256
+ /** When experiment should start. */
257
+ StartDate: string;
258
+ /**
259
+ * List of title player account IDs that automatically receive treatments in the experiment, but are not included when
260
+ * calculating experiment metrics.
261
+ */
262
+ TitlePlayerAccountTestIds?: string[];
263
+ /** List of variants for the experiment. */
264
+ Variants: Variant[];
265
+ }
266
+ interface Variable {
267
+ /** Name of the variable. */
268
+ Name: string;
269
+ /** Value of the variable. */
270
+ Value?: string;
271
+ }
272
+ interface Variant {
273
+ /** Description of the variant. */
274
+ Description?: string;
275
+ /** Id of the variant. */
276
+ Id?: string;
277
+ /** Specifies if variant is control for experiment. */
278
+ IsControl: boolean;
279
+ /** Name of the variant. */
280
+ Name: string;
281
+ /** Id of the TitleDataOverride to use with this variant. */
282
+ TitleDataOverrideLabel?: string;
283
+ /** Percentage of target audience traffic that will see this variant. */
284
+ TrafficPercentage: number;
285
+ /** Variables returned by this variant. */
286
+ Variables?: Variable[];
287
+ }
288
+
289
+ declare class PlayFabExperimentationApi extends PlayFabCommon {
290
+ /**
291
+ * Creates a new experiment exclusion group for a title.
292
+ * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/createexclusiongroup
293
+ */
294
+ CreateExclusionGroup(request: CreateExclusionGroupRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<CreateExclusionGroupResult>;
295
+ /**
296
+ * Creates a new experiment for a title.
297
+ * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/createexperiment
298
+ */
299
+ CreateExperiment(request: CreateExperimentRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<CreateExperimentResult>;
300
+ /**
301
+ * Deletes an existing exclusion group for a title.
302
+ * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/deleteexclusiongroup
303
+ */
304
+ DeleteExclusionGroup(request: DeleteExclusionGroupRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<EmptyResponse>;
305
+ /**
306
+ * Deletes an existing experiment for a title.
307
+ * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/deleteexperiment
308
+ */
309
+ DeleteExperiment(request: DeleteExperimentRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<EmptyResponse>;
310
+ /**
311
+ * Gets the details of all exclusion groups for a title.
312
+ * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/getexclusiongroups
313
+ */
314
+ GetExclusionGroups(request: GetExclusionGroupsRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<GetExclusionGroupsResult>;
315
+ /**
316
+ * Gets the details of all exclusion groups for a title.
317
+ * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/getexclusiongrouptraffic
318
+ */
319
+ GetExclusionGroupTraffic(request: GetExclusionGroupTrafficRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<GetExclusionGroupTrafficResult>;
320
+ /**
321
+ * Gets the details of all experiments for a title.
322
+ * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/getexperiments
323
+ */
324
+ GetExperiments(request: GetExperimentsRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<GetExperimentsResult>;
325
+ /**
326
+ * Gets the latest scorecard of the experiment for the title.
327
+ * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/getlatestscorecard
328
+ */
329
+ GetLatestScorecard(request: GetLatestScorecardRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<GetLatestScorecardResult>;
330
+ /**
331
+ * Gets the treatment assignments for a player for every running experiment in the title.
332
+ * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/gettreatmentassignment
333
+ */
334
+ GetTreatmentAssignment(request: GetTreatmentAssignmentRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<GetTreatmentAssignmentResult>;
335
+ /**
336
+ * Starts an existing experiment for a title.
337
+ * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/startexperiment
338
+ */
339
+ StartExperiment(request: StartExperimentRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<EmptyResponse>;
340
+ /**
341
+ * Stops an existing experiment for a title.
342
+ * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/stopexperiment
343
+ */
344
+ StopExperiment(request: StopExperimentRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<EmptyResponse>;
345
+ /**
346
+ * Updates an existing exclusion group for a title.
347
+ * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/updateexclusiongroup
348
+ */
349
+ UpdateExclusionGroup(request: UpdateExclusionGroupRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<EmptyResponse>;
350
+ /**
351
+ * Updates an existing experiment for a title.
352
+ * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/updateexperiment
353
+ */
354
+ UpdateExperiment(request: UpdateExperimentRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<EmptyResponse>;
355
+ }
356
+
357
+ export { PlayFabExperimentationApi as default };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/apis/PlayFabExperimentationApi.ts","../src/constants.ts","../src/PlayFabContext.ts","../src/PlayFabCommon.ts"],"sourcesContent":["import type { EmptyResponse } from \"../types/PlayFab\";\nimport type {\n\n CreateExclusionGroupRequest,\n CreateExperimentRequest,\n DeleteExclusionGroupRequest,\n DeleteExperimentRequest,\n GetExclusionGroupsRequest,\n GetExclusionGroupTrafficRequest,\n GetExperimentsRequest,\n GetLatestScorecardRequest,\n GetTreatmentAssignmentRequest,\n StartExperimentRequest,\n StopExperimentRequest,\n UpdateExclusionGroupRequest,\n UpdateExperimentRequest,\n CreateExclusionGroupResult,\n CreateExperimentResult,\n GetExclusionGroupsResult,\n GetExclusionGroupTrafficResult,\n GetExperimentsResult,\n GetLatestScorecardResult,\n GetTreatmentAssignmentResult,\n} from \"../types/PlayFabExperimentationApi\";\nimport { PlayFabCommon } from \"../PlayFabCommon\";\n\nexport default class PlayFabExperimentationApi extends PlayFabCommon {\n\n /**\n * Creates a new experiment exclusion group for a title.\n * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/createexclusiongroup\n */\n CreateExclusionGroup (request: CreateExclusionGroupRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<CreateExclusionGroupResult>(\"/Experimentation/CreateExclusionGroup\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Creates a new experiment for a title.\n * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/createexperiment\n */\n CreateExperiment (request: CreateExperimentRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<CreateExperimentResult>(\"/Experimentation/CreateExperiment\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Deletes an existing exclusion group for a title.\n * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/deleteexclusiongroup\n */\n DeleteExclusionGroup (request: DeleteExclusionGroupRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EmptyResponse>(\"/Experimentation/DeleteExclusionGroup\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Deletes an existing experiment for a title.\n * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/deleteexperiment\n */\n DeleteExperiment (request: DeleteExperimentRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EmptyResponse>(\"/Experimentation/DeleteExperiment\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Gets the details of all exclusion groups for a title.\n * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/getexclusiongroups\n */\n GetExclusionGroups (request: GetExclusionGroupsRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetExclusionGroupsResult>(\"/Experimentation/GetExclusionGroups\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Gets the details of all exclusion groups for a title.\n * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/getexclusiongrouptraffic\n */\n GetExclusionGroupTraffic (request: GetExclusionGroupTrafficRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetExclusionGroupTrafficResult>(\"/Experimentation/GetExclusionGroupTraffic\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Gets the details of all experiments for a title.\n * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/getexperiments\n */\n GetExperiments (request: GetExperimentsRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetExperimentsResult>(\"/Experimentation/GetExperiments\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Gets the latest scorecard of the experiment for the title.\n * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/getlatestscorecard\n */\n GetLatestScorecard (request: GetLatestScorecardRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetLatestScorecardResult>(\"/Experimentation/GetLatestScorecard\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Gets the treatment assignments for a player for every running experiment in the title.\n * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/gettreatmentassignment\n */\n GetTreatmentAssignment (request: GetTreatmentAssignmentRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetTreatmentAssignmentResult>(\"/Experimentation/GetTreatmentAssignment\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Starts an existing experiment for a title.\n * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/startexperiment\n */\n StartExperiment (request: StartExperimentRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EmptyResponse>(\"/Experimentation/StartExperiment\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Stops an existing experiment for a title.\n * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/stopexperiment\n */\n StopExperiment (request: StopExperimentRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EmptyResponse>(\"/Experimentation/StopExperiment\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Updates an existing exclusion group for a title.\n * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/updateexclusiongroup\n */\n UpdateExclusionGroup (request: UpdateExclusionGroupRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EmptyResponse>(\"/Experimentation/UpdateExclusionGroup\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Updates an existing experiment for a title.\n * https://docs.microsoft.com/rest/api/playfab/experimentation/experimentation/updateexperiment\n */\n UpdateExperiment (request: UpdateExperimentRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EmptyResponse>(\"/Experimentation/UpdateExperiment\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n};\n","export interface ISettings {\n /** You must set this value for PlayFabSdk to work properly (Found in the Game Manager for your title, at the PlayFab Website) */\n titleId: string;\n /** For security reasons you must never expose this value to the client or players - You must set this value for Server-APIs to work properly (Found in the Game Manager for your title, at the PlayFab Website) */\n developerSecretKey: string;\n productionServerUrl: string;\n GlobalHeaderInjection?: { [key: string]: string };\n /** The name of a customer vertical. This is only for customers running a private cluster. Generally you shouldn't touch this */\n verticalName?: string | null;\n}\n\nexport const AuthInfoMap = {\n \"X-EntityToken\": {\n authAttr: \"entityToken\",\n authError: \"errorEntityToken\",\n },\n \"X-Authorization\": {\n authAttr: \"sessionTicket\",\n authError: \"errorLoggedIn\",\n },\n \"X-SecretKey\": {\n authAttr: \"developerSecretKey\",\n authError: \"errorSecretKey\",\n },\n};\n\nexport default {\n sdkVersion: \"1.192.250526\",\n sdkFingerprint: \"JavaScriptSDK-1.192.250526\",\n buildIdentifier: \"custom_async-javascriptsdk\",\n defaultSettings: {\n titleId: \"\",\n developerSecretKey: \"\",\n GlobalHeaderInjection: {},\n productionServerUrl: \".playfabapi.com\",\n verticalName: null\n } as ISettings\n};\n","import constants, { type ISettings } from \"./constants\";\n\nexport type AuthContext = {\n PlayFabId: string | null;\n EntityId: string | null;\n EntityType: string | null;\n SessionTicket: string | null;\n EntityToken: string | null;\n};\n\nexport class PlayFabContext {\n private static _instance: PlayFabContext;\n\n settings: ISettings = constants.defaultSettings;\n\n authenticationContext: AuthContext = {\n PlayFabId: null,\n EntityId: null,\n EntityType: null,\n SessionTicket: null,\n EntityToken: null,\n };\n\n sessionTicket: string | null = null;\n\n entityToken: string | null = null;\n\n private constructor() {}\n\n public static get instance(): PlayFabContext {\n if (!PlayFabContext._instance) {\n PlayFabContext._instance = new PlayFabContext();\n }\n\n return PlayFabContext._instance;\n }\n}\n","import constants, { ISettings, AuthInfoMap } from \"./constants\";\nimport { AuthContext, PlayFabContext } from \"./PlayFabContext\";\nimport { IPlayFabError, IPlayFabResultCommon } from \"./types/PlayFab\";\n\nexport class PlayFabCommon {\n buildIdentifier: string = constants.buildIdentifier;\n requestGetParams = {\n sdk: constants.sdkFingerprint,\n } as const;\n errorTitleId = \"Must be have settings.titleId set to call this method\";\n errorLoggedIn = \"Must be logged in to call this method\";\n errorEntityToken =\n \"You must successfully call GetEntityToken before calling this\";\n errorSecretKey =\n \"Must have settings.developerSecretKey set to call this method\";\n private _context = PlayFabContext.instance;\n\n constructor(settings: Partial<ISettings> | undefined = undefined) {\n if (settings) {\n Object.assign(this._context.settings, settings);\n }\n }\n\n get settings() {\n return this._context.settings;\n }\n\n get authenticationContext() {\n return this._context.authenticationContext;\n }\n\n get sessionTicket() {\n return this._context.sessionTicket;\n }\n\n set sessionTicket(value: string | null) {\n this._context.sessionTicket = value;\n }\n\n get entityToken() {\n return this._context.entityToken;\n }\n\n set entityToken(value: string | null) {\n this._context.entityToken = value;\n }\n\n GetServerUrl() {\n if (!(this.settings.productionServerUrl.substring(0, 4) === \"http\")) {\n return `https://${this.settings.verticalName || this.settings.titleId}${\n this.settings.productionServerUrl\n }`;\n } else {\n return this.settings.productionServerUrl;\n }\n }\n\n InjectHeaders(\n xhr: XMLHttpRequest,\n headersObj: Record<string, string> | undefined\n ) {\n if (!headersObj) return;\n\n for (const headerKey in headersObj) {\n try {\n xhr.setRequestHeader(headerKey, headersObj[headerKey]);\n } catch (e) {\n console.log(\n `Failed to append header: ${headerKey} = ${headersObj[headerKey]} Error: ${e}`\n );\n }\n }\n }\n\n ExecuteRequest<T extends IPlayFabResultCommon>(\n url: string,\n body: any,\n authkey: string | null,\n authValue: string | null,\n customData: any,\n extraHeaders?: Record<string, string>\n ): Promise<T> {\n return new Promise((resolve, reject) => {\n if (body == null) body = {};\n\n var startTime = new Date().getTime();\n var requestBody = JSON.stringify(body);\n\n var urlArr = [url];\n var getParams = this.requestGetParams;\n if (getParams != null) {\n var firstParam = true;\n for (var key in getParams) {\n if (firstParam) {\n urlArr.push(\"?\");\n firstParam = false;\n } else {\n urlArr.push(\"&\");\n }\n urlArr.push(key);\n urlArr.push(\"=\");\n urlArr.push(getParams[key as keyof typeof getParams]);\n }\n }\n\n var completeUrl = urlArr.join(\"\");\n\n var xhr = new XMLHttpRequest();\n xhr.open(\"POST\", completeUrl, true);\n\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\n \"X-PlayFabSDK\",\n \"JavaScriptSDK-\" + constants.sdkVersion\n );\n if (authkey != null) {\n xhr.setRequestHeader(authkey, authValue!);\n }\n this.InjectHeaders(xhr, this.settings.GlobalHeaderInjection);\n this.InjectHeaders(xhr, extraHeaders);\n\n xhr.onloadend = () => {\n var result = this.GetPlayFabResponse(body, xhr, startTime, customData);\n if (result.code === 200) {\n resolve(result.data || result);\n } else {\n reject(result);\n }\n };\n\n xhr.onerror = () => {\n var result = this.GetPlayFabResponse(body, xhr, startTime, customData);\n reject(result);\n };\n\n xhr.send(requestBody);\n });\n }\n\n GetPlayFabResponse(\n request: any,\n xhr: XMLHttpRequest,\n startTime: number,\n customData: any\n ) {\n var result = null as any;\n try {\n // window.console.log(\"parsing json result: \" + xhr.responseText);\n result = JSON.parse(xhr.responseText);\n } catch (e) {\n result = {\n code: 503, // Service Unavailable\n status: \"Service Unavailable\",\n error: \"Connection error\",\n errorCode: 2, // PlayFabErrorCode.ConnectionError\n errorMessage: xhr.responseText,\n };\n }\n\n result.CallBackTimeMS = new Date().getTime() - startTime;\n result.Request = request;\n result.CustomData = customData;\n return result;\n }\n\n UpdateAuthenticationContext(currentAuthContext: AuthContext, result: any) {\n var authenticationContextUpdates = {} as AuthContext;\n if (result?.PlayFabId) {\n authenticationContextUpdates.PlayFabId = result.PlayFabId;\n }\n if (result?.SessionTicket) {\n authenticationContextUpdates.SessionTicket = result.SessionTicket;\n }\n if (result?.EntityToken) {\n authenticationContextUpdates.EntityId = result.EntityToken.Entity.Id;\n authenticationContextUpdates.EntityType = result.EntityToken.Entity.Type;\n authenticationContextUpdates.EntityToken = result.EntityToken.EntityToken;\n }\n // Update the authenticationContext with values from the result\n currentAuthContext = Object.assign(\n currentAuthContext,\n authenticationContextUpdates\n );\n\n this._context.authenticationContext = currentAuthContext;\n\n return currentAuthContext;\n }\n\n GetAuthInfo(request: any, authKey: string) {\n // Use the most-recently saved authKey, unless one was provided in the request via the AuthenticationContext\n var authError = AuthInfoMap[authKey as keyof typeof AuthInfoMap].authError;\n var authAttr = AuthInfoMap[authKey as keyof typeof AuthInfoMap].authAttr;\n var defaultAuthValue: string | null = null;\n if (authAttr === \"entityToken\") defaultAuthValue = this.entityToken;\n else if (authAttr === \"sessionTicket\")\n defaultAuthValue = this.sessionTicket;\n else if (authAttr === \"developerSecretKey\")\n defaultAuthValue = this.settings.developerSecretKey;\n var authValue = request.AuthenticationContext\n ? request.AuthenticationContext[authAttr]\n : defaultAuthValue;\n return { authKey, authValue, authError };\n }\n\n ExecuteRequestWrapper<T extends IPlayFabResultCommon>(\n apiURL: string,\n request: any,\n authKey: string | null,\n customData: any,\n extraHeaders?: Record<string, string>\n ) {\n var authValue = null;\n if (authKey !== null) {\n const { authError, ...authInfo } = this.GetAuthInfo(request, authKey);\n authKey = authInfo.authKey;\n authValue = authInfo.authValue;\n if (!authValue) throw authError;\n }\n return this.ExecuteRequest<T>(\n this.GetServerUrl() + apiURL,\n request,\n authKey,\n authValue,\n customData,\n extraHeaders\n );\n }\n\n GenerateErrorReport(error: IPlayFabError | null): string {\n if (error == null) return \"\";\n var fullErrors = error.errorMessage;\n for (var paramName in error.errorDetails)\n for (var msgIdx in error.errorDetails[paramName])\n fullErrors +=\n \"\\n\" + paramName + \": \" + error.errorDetails[paramName][msgIdx];\n return fullErrors;\n }\n\n ForgetAllCredentials() {\n this._context.sessionTicket = null;\n this._context.entityToken = null;\n }\n}\n"],"mappings":"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","names":[]}