gs2 1.4.127 → 1.4.129

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 (45) hide show
  1. package/core/index.d.ts +2 -2
  2. package/core/index.js +2 -1
  3. package/core/index.js.map +1 -1
  4. package/core/model.d.ts +20 -1
  5. package/core/model.js +182 -42
  6. package/core/model.js.map +1 -1
  7. package/distributor/model/UserDataEntry.d.ts +25 -0
  8. package/distributor/model/UserDataEntry.js +90 -0
  9. package/distributor/model/UserDataEntry.js.map +1 -0
  10. package/distributor/model/index.d.ts +2 -1
  11. package/distributor/model/index.js +3 -1
  12. package/distributor/model/index.js.map +1 -1
  13. package/distributor/request/DescribeUserDataByUserIdRequest.d.ts +33 -0
  14. package/distributor/request/DescribeUserDataByUserIdRequest.js +111 -0
  15. package/distributor/request/DescribeUserDataByUserIdRequest.js.map +1 -0
  16. package/distributor/request/DescribeUserDataRequest.d.ts +29 -0
  17. package/distributor/request/DescribeUserDataRequest.js +97 -0
  18. package/distributor/request/DescribeUserDataRequest.js.map +1 -0
  19. package/distributor/request/index.d.ts +3 -1
  20. package/distributor/request/index.js +5 -1
  21. package/distributor/request/index.js.map +1 -1
  22. package/distributor/rest.d.ts +2 -0
  23. package/distributor/rest.js +43 -0
  24. package/distributor/rest.js.map +1 -1
  25. package/distributor/result/DescribeUserDataByUserIdResult.d.ts +18 -0
  26. package/distributor/result/DescribeUserDataByUserIdResult.js +67 -0
  27. package/distributor/result/DescribeUserDataByUserIdResult.js.map +1 -0
  28. package/distributor/result/DescribeUserDataResult.d.ts +18 -0
  29. package/distributor/result/DescribeUserDataResult.js +67 -0
  30. package/distributor/result/DescribeUserDataResult.js.map +1 -0
  31. package/distributor/result/index.d.ts +3 -1
  32. package/distributor/result/index.js +5 -1
  33. package/distributor/result/index.js.map +1 -1
  34. package/guild/model/SendMemberRequest.d.ts +4 -0
  35. package/guild/model/SendMemberRequest.js +14 -0
  36. package/guild/model/SendMemberRequest.js.map +1 -1
  37. package/package.json +1 -1
  38. package/project/model/Project.d.ts +4 -0
  39. package/project/model/Project.js +14 -0
  40. package/project/model/Project.js.map +1 -1
  41. package/project/request/CreateProjectRequest.d.ts +4 -0
  42. package/project/request/CreateProjectRequest.js +15 -1
  43. package/project/request/CreateProjectRequest.js.map +1 -1
  44. package/project/rest.js +2 -1
  45. package/project/rest.js.map +1 -1
package/core/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import AbstractGs2Client from './AbstractGs2RestClient';
2
- import { Gs2RestSession, Gs2RestSessionOptions, Gs2WebSocketSession, Gs2WebSocketSessionOptions, BasicGs2Credential, ProjectTokenGs2Credential, Region, STEADY_CONNECT_TIMEOUT_MS, isConnectFailure } from './model';
2
+ import { Gs2RestSession, Gs2RestSessionOptions, Gs2WebSocketSession, Gs2WebSocketSessionOptions, BasicGs2Credential, ProjectTokenGs2Credential, Region, STEADY_CONNECT_TIMEOUT_MS, isConnectFailure, ConnectionBrokenError } from './model';
3
3
  import AcquireActionResult from "./AcquireActionResult";
4
4
  import ConsumeActionResult from "./ConsumeActionResult";
5
5
  import VerifyActionResult from "./VerifyActionResult";
6
6
  import TransactionResult from "./TransactionResult";
7
- export { AbstractGs2Client, Gs2RestSession, Gs2RestSessionOptions, Gs2WebSocketSession, Gs2WebSocketSessionOptions, BasicGs2Credential, ProjectTokenGs2Credential, Region, STEADY_CONNECT_TIMEOUT_MS, isConnectFailure, AcquireActionResult, ConsumeActionResult, VerifyActionResult, TransactionResult, };
7
+ export { AbstractGs2Client, Gs2RestSession, Gs2RestSessionOptions, Gs2WebSocketSession, Gs2WebSocketSessionOptions, BasicGs2Credential, ProjectTokenGs2Credential, Region, STEADY_CONNECT_TIMEOUT_MS, isConnectFailure, ConnectionBrokenError, AcquireActionResult, ConsumeActionResult, VerifyActionResult, TransactionResult, };
package/core/index.js CHANGED
@@ -15,7 +15,7 @@ express or implied. See the License for the specific language governing
15
15
  permissions and limitations under the License.
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.TransactionResult = exports.VerifyActionResult = exports.ConsumeActionResult = exports.AcquireActionResult = exports.isConnectFailure = exports.STEADY_CONNECT_TIMEOUT_MS = exports.Region = exports.ProjectTokenGs2Credential = exports.BasicGs2Credential = exports.Gs2WebSocketSession = exports.Gs2RestSession = exports.AbstractGs2Client = void 0;
18
+ exports.TransactionResult = exports.VerifyActionResult = exports.ConsumeActionResult = exports.AcquireActionResult = exports.ConnectionBrokenError = exports.isConnectFailure = exports.STEADY_CONNECT_TIMEOUT_MS = exports.Region = exports.ProjectTokenGs2Credential = exports.BasicGs2Credential = exports.Gs2WebSocketSession = exports.Gs2RestSession = exports.AbstractGs2Client = void 0;
19
19
  var tslib_1 = require("tslib");
20
20
  var AbstractGs2RestClient_1 = tslib_1.__importDefault(require("./AbstractGs2RestClient"));
21
21
  exports.AbstractGs2Client = AbstractGs2RestClient_1.default;
@@ -27,6 +27,7 @@ Object.defineProperty(exports, "ProjectTokenGs2Credential", { enumerable: true,
27
27
  Object.defineProperty(exports, "Region", { enumerable: true, get: function () { return model_1.Region; } });
28
28
  Object.defineProperty(exports, "STEADY_CONNECT_TIMEOUT_MS", { enumerable: true, get: function () { return model_1.STEADY_CONNECT_TIMEOUT_MS; } });
29
29
  Object.defineProperty(exports, "isConnectFailure", { enumerable: true, get: function () { return model_1.isConnectFailure; } });
30
+ Object.defineProperty(exports, "ConnectionBrokenError", { enumerable: true, get: function () { return model_1.ConnectionBrokenError; } });
30
31
  var AcquireActionResult_1 = tslib_1.__importDefault(require("./AcquireActionResult"));
31
32
  exports.AcquireActionResult = AcquireActionResult_1.default;
32
33
  var ConsumeActionResult_1 = tslib_1.__importDefault(require("./ConsumeActionResult"));
package/core/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;AAEH,0FAAwD;AAkBtD,4BAlBK,+BAAiB,CAkBL;AAjBnB,iCAUiB;AAQf,+FAjBA,sBAAc,OAiBA;AAEd,oGAjBA,2BAAmB,OAiBA;AAEnB,mGAjBA,0BAAkB,OAiBA;AAClB,0GAjBA,iCAAyB,OAiBA;AACzB,uFAjBA,cAAM,OAiBA;AACN,0GAjBA,iCAAyB,OAiBA;AACzB,iGAjBA,wBAAgB,OAiBA;AAflB,sFAAwD;AAgBtD,8BAhBK,6BAAmB,CAgBL;AAfrB,sFAAwD;AAgBtD,8BAhBK,6BAAmB,CAgBL;AAfrB,oFAAsD;AAgBpD,6BAhBK,4BAAkB,CAgBL;AAfpB,kFAAoD;AAgBlD,4BAhBK,2BAAiB,CAgBL"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;AAEH,0FAAwD;AAmBtD,4BAnBK,+BAAiB,CAmBL;AAlBnB,iCAWiB;AAQf,+FAlBA,sBAAc,OAkBA;AAEd,oGAlBA,2BAAmB,OAkBA;AAEnB,mGAlBA,0BAAkB,OAkBA;AAClB,0GAlBA,iCAAyB,OAkBA;AACzB,uFAlBA,cAAM,OAkBA;AACN,0GAlBA,iCAAyB,OAkBA;AACzB,iGAlBA,wBAAgB,OAkBA;AAChB,sGAlBA,6BAAqB,OAkBA;AAhBvB,sFAAwD;AAiBtD,8BAjBK,6BAAmB,CAiBL;AAhBrB,sFAAwD;AAiBtD,8BAjBK,6BAAmB,CAiBL;AAhBrB,oFAAsD;AAiBpD,6BAjBK,4BAAkB,CAiBL;AAhBpB,kFAAoD;AAiBlD,4BAjBK,2BAAiB,CAiBL"}
package/core/model.d.ts CHANGED
@@ -88,6 +88,9 @@ export declare class Gs2RestSession {
88
88
  connect(): Promise<LoginResult> | undefined;
89
89
  disconnect(): void;
90
90
  }
91
+ export declare class ConnectionBrokenError extends Error {
92
+ constructor(detail?: string);
93
+ }
91
94
  export interface Gs2WebSocketSessionOptions {
92
95
  /**
93
96
  * Steady(専用フリート)の基点 `https://<host>`。接続先は `wss://<host>/`(基点が `http://` なら
@@ -107,7 +110,12 @@ export declare class Gs2WebSocketSession {
107
110
  steadyEndpoint: string;
108
111
  /** Steady の handshake タイムアウト(ms) */
109
112
  steadyConnectTimeoutMs: number;
110
- private inflightRequest;
113
+ /**
114
+ * 応答待ちの要求(requestId → Promise の決着口)。
115
+ * ★応答が来たもの・接続が切れたものは必ず取り除く。以前は応答の無い要求が残り続け、
116
+ * 呼び手は「応答も誤りも来ない」まま待っていた(送信の成否も見ていなかった)。
117
+ */
118
+ private pendingRequests;
111
119
  private onOpenHandlers;
112
120
  private onErrorHandlers;
113
121
  private onCloseHandlers;
@@ -126,6 +134,16 @@ export declare class Gs2WebSocketSession {
126
134
  /** ログイン(identifier)の REST 接続先。steady があれば `<steady>/identifier`、無ければ従来 */
127
135
  endpointHost(service: string): string;
128
136
  connect(): Promise<any>;
137
+ /** requestId の要求を待ち行列から外して返す(無ければ null) */
138
+ private takePending;
139
+ /** 待ち中の要求すべてを ConnectionBrokenError で決着させ、待ち行列を空にする */
140
+ private failPending;
141
+ /**
142
+ * 切れた接続を捨て、待ち中の要求すべてを ConnectionBrokenError で決着させる。
143
+ * ★既に別の接続へ差し替わっていたら(disconnect → connect の後の古い接続)何もしない。
144
+ * ★同じ接続に二度呼ばれても 2 回目は待ち行列が空なので無害(close と error の両方から来る)。
145
+ */
146
+ private dropConnection;
129
147
  send(service: string, component: string, func: string, payload: any): Promise<any>;
130
148
  onOpen(func: (ev: Event) => any): void;
131
149
  onError(func: (ev: Event) => any): void;
@@ -135,6 +153,7 @@ export declare class Gs2WebSocketSession {
135
153
  issuer: string;
136
154
  payload: any;
137
155
  }) => any): void;
156
+ /** 接続を閉じる。★待ち中の要求には ConnectionBrokenError が返る(close を待たずに決着させる) */
138
157
  disconnect(): Promise<any>;
139
158
  }
140
159
  declare class LoginResult {
package/core/model.js CHANGED
@@ -16,7 +16,7 @@ permissions and limitations under the License.
16
16
  */
17
17
  var _a;
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.Region = exports.Gs2Constant = exports.ProjectTokenGs2Credential = exports.ProjectToken = exports.Gs2WebSocketSession = exports.Gs2RestSession = exports.steadyAgents = exports.isConnectFailure = exports.steadyRestUrl = exports.isSteadyUrl = exports.steadyWebSocketUrl = exports.steadyRestTemplate = exports.normalizeSteadyEndpoint = exports.STEADY_CONNECT_TIMEOUT_CODE = exports.STEADY_CONNECT_TIMEOUT_MS = exports.BasicGs2Credential = void 0;
19
+ exports.Region = exports.Gs2Constant = exports.ProjectTokenGs2Credential = exports.ProjectToken = exports.Gs2WebSocketSession = exports.ConnectionBrokenError = exports.Gs2RestSession = exports.steadyAgents = exports.isConnectFailure = exports.steadyRestUrl = exports.isSteadyUrl = exports.steadyWebSocketUrl = exports.steadyRestTemplate = exports.normalizeSteadyEndpoint = exports.STEADY_CONNECT_TIMEOUT_CODE = exports.STEADY_CONNECT_TIMEOUT_MS = exports.BasicGs2Credential = void 0;
20
20
  var tslib_1 = require("tslib");
21
21
  var axios_1 = tslib_1.__importDefault(require("axios"));
22
22
  var async_wait_until_1 = tslib_1.__importDefault(require("async-wait-until"));
@@ -318,11 +318,65 @@ var Gs2RestSession = /** @class */ (function () {
318
318
  return Gs2RestSession;
319
319
  }());
320
320
  exports.Gs2RestSession = Gs2RestSession;
321
+ // ---------------------------------------------------------------- WebSocket が切れたときの誤り
322
+ //
323
+ // ★サーバーは応答を返す前に接続を閉じることがある
324
+ // (gateway の setUserId を force=true で呼ぶと呼び手自身の接続が切られる/ノードの停止/
325
+ // ネットワーク断)。そのとき待ち中の要求を決着させないと、呼び手は永久に await したままになる。
326
+ // 切れたら待ち中の要求すべてをこの誤りで落とし、繋ぎ直すまで以後の send も即座にこの誤りで落とす。
327
+ var ConnectionBrokenError = /** @class */ (function (_super) {
328
+ tslib_1.__extends(ConnectionBrokenError, _super);
329
+ function ConnectionBrokenError(detail) {
330
+ var _this = _super.call(this, detail == null ? 'connection broken' : 'connection broken (' + detail + ')') || this;
331
+ _this.name = 'ConnectionBrokenError';
332
+ // ★target: es5 では Error を継承すると prototype が失われ instanceof が偽になるので繋ぎ直す。
333
+ Object.setPrototypeOf(_this, ConnectionBrokenError.prototype);
334
+ return _this;
335
+ }
336
+ return ConnectionBrokenError;
337
+ }(Error));
338
+ exports.ConnectionBrokenError = ConnectionBrokenError;
339
+ /** readyState(Node の `ws` もブラウザの WebSocket も同じ値) */
340
+ var WS_OPEN = 1;
341
+ var WS_CLOSED = 3;
342
+ /** 閉じる挨拶を送る(既に閉じている接続でも安全。例外は握る) */
343
+ function closeQuietly(client) {
344
+ try {
345
+ if (client != null && client.readyState !== WS_CLOSED) {
346
+ client.close();
347
+ }
348
+ }
349
+ catch (e) {
350
+ // 既に閉じている / 閉じ途中 ―― 何もしない。
351
+ }
352
+ }
353
+ /**
354
+ * 接続を叩き落とす(★相手がもう居ない接続に close() を送ると、`ws` は閉じる挨拶の返事を
355
+ * 30 秒待つタイマーを置くので、socket もタイマーも残さないようにこちらを使う)。
356
+ * terminate を持たないブラウザの WebSocket では close() に落とす。
357
+ */
358
+ function terminateQuietly(client) {
359
+ try {
360
+ if (client != null && typeof client.terminate === 'function') {
361
+ client.terminate();
362
+ return;
363
+ }
364
+ }
365
+ catch (e) {
366
+ // 何もしない。
367
+ }
368
+ closeQuietly(client);
369
+ }
321
370
  var Gs2WebSocketSession = /** @class */ (function () {
322
371
  function Gs2WebSocketSession(credential, region, options) {
323
372
  var _a;
324
373
  this.client = null;
325
- this.inflightRequest = {};
374
+ /**
375
+ * 応答待ちの要求(requestId → Promise の決着口)。
376
+ * ★応答が来たもの・接続が切れたものは必ず取り除く。以前は応答の無い要求が残り続け、
377
+ * 呼び手は「応答も誤りも来ない」まま待っていた(送信の成否も見ていなかった)。
378
+ */
379
+ this.pendingRequests = {};
326
380
  this.onOpenHandlers = [];
327
381
  this.onErrorHandlers = [];
328
382
  this.onCloseHandlers = [];
@@ -362,11 +416,17 @@ var Gs2WebSocketSession = /** @class */ (function () {
362
416
  };
363
417
  Gs2WebSocketSession.prototype.connect = function () {
364
418
  return tslib_1.__awaiter(this, void 0, void 0, function () {
365
- var url, data, response, result, wsUrl;
419
+ var url, data, response, result, wsUrl, client;
366
420
  var _this = this;
367
421
  return tslib_1.__generator(this, function (_a) {
368
422
  switch (_a.label) {
369
423
  case 0:
424
+ // ★繋ぎ直す前に古い接続を片付ける(そこに残した要求が決着しないまま忘れられないように)。
425
+ // ログインより前に済ませる ―― dropConnection は projectToken も捨てるので、
426
+ // この後で取り直したトークンを消させない。
427
+ if (this.client != null) {
428
+ this.dropConnection(this.client, 'reconnect');
429
+ }
370
430
  url = this.endpointHost('identifier') + '/projectToken/login';
371
431
  if (!(this.credential instanceof BasicGs2Credential)) return [3 /*break*/, 2];
372
432
  data = {
@@ -388,62 +448,113 @@ var Gs2WebSocketSession = /** @class */ (function () {
388
448
  case 3:
389
449
  wsUrl = this.webSocketUrl();
390
450
  if (typeof window === 'undefined') {
391
- this.client = new NodeWebSocket(wsUrl, this.webSocketOptions());
451
+ client = new NodeWebSocket(wsUrl, this.webSocketOptions());
392
452
  }
393
453
  else {
394
- this.client = new WebSocket(wsUrl);
454
+ client = new WebSocket(wsUrl);
395
455
  }
396
- this.client.onopen = function (event) {
456
+ this.client = client;
457
+ client.onopen = function (event) {
397
458
  for (var i = 0; i < _this.onOpenHandlers.length; i++) {
398
459
  _this.onOpenHandlers[i]();
399
460
  }
400
461
  };
401
- this.client.onmessage = function (message) {
462
+ client.onmessage = function (message) {
402
463
  var payload = JSON.parse(message.data);
403
464
  if (payload.type == 'notification') {
404
465
  for (var i = 0; i < _this.onNotificationHandlers.length; i++) {
405
466
  _this.onNotificationHandlers[i](payload.body);
406
467
  }
468
+ return;
407
469
  }
408
- else {
409
- _this.inflightRequest[payload.requestId] = payload;
470
+ var pending = _this.takePending(payload.requestId);
471
+ // ★待ち行列に無い requestId(既に決着した要求への応答など)は捨てる。
472
+ if (pending != null) {
473
+ pending.resolve(payload);
410
474
  }
411
475
  };
412
- this.client.onerror = function (error) {
476
+ client.onerror = function (error) {
477
+ // ★close が来ないまま error だけ来ることがある(TCP が黙って切れた・handshake が失敗した)。
478
+ // ここでも待ち中の要求を決着させる(dropConnection は同じ接続に何度呼んでも無害)。
479
+ _this.dropConnection(client, 'error');
413
480
  for (var i = 0; i < _this.onErrorHandlers.length; i++) {
414
481
  _this.onErrorHandlers[i](error);
415
482
  }
416
483
  };
417
- this.client.onclose = function () {
484
+ client.onclose = function () {
485
+ // ★応答を返す前にサーバーが閉じても、待ち中の要求は必ず ConnectionBrokenError で決着させる。
486
+ _this.dropConnection(client, 'closed by peer');
418
487
  for (var i = 0; i < _this.onCloseHandlers.length; i++) {
419
488
  _this.onCloseHandlers[i]();
420
489
  }
421
490
  };
422
- if (!(typeof window === 'undefined')) return [3 /*break*/, 5];
423
- return [4 /*yield*/, (0, async_wait_until_1.default)(function () { return _this.client == null || _this.client.readyState == NodeWebSocket.CLOSED || _this.client.readyState == NodeWebSocket.OPEN; })];
491
+ // 開くか閉じるまで待つ(this.client が差し替わった・捨てられた場合も抜ける)。
492
+ return [4 /*yield*/, (0, async_wait_until_1.default)(function () { return _this.client !== client || client.readyState == WS_CLOSED || client.readyState == WS_OPEN; })];
424
493
  case 4:
494
+ // 開くか閉じるまで待つ(this.client が差し替わった・捨てられた場合も抜ける)。
425
495
  _a.sent();
426
- return [3 /*break*/, 7];
427
- case 5: return [4 /*yield*/, (0, async_wait_until_1.default)(function () { return _this.client == null || _this.client.readyState == WebSocket.CLOSED || _this.client.readyState == WebSocket.OPEN; })];
428
- case 6:
429
- _a.sent();
430
- _a.label = 7;
431
- case 7: return [2 /*return*/];
496
+ return [2 /*return*/];
432
497
  }
433
498
  });
434
499
  });
435
500
  };
501
+ /** requestId の要求を待ち行列から外して返す(無ければ null) */
502
+ Gs2WebSocketSession.prototype.takePending = function (requestId) {
503
+ if (requestId == null) {
504
+ return null;
505
+ }
506
+ var pending = this.pendingRequests[requestId];
507
+ if (pending == null) {
508
+ return null;
509
+ }
510
+ delete this.pendingRequests[requestId];
511
+ return pending;
512
+ };
513
+ /** 待ち中の要求すべてを ConnectionBrokenError で決着させ、待ち行列を空にする */
514
+ Gs2WebSocketSession.prototype.failPending = function (detail) {
515
+ var pendingRequests = this.pendingRequests;
516
+ this.pendingRequests = {};
517
+ var error = new ConnectionBrokenError(detail);
518
+ // ★先に待ち行列を空にしてから落とす(reject の先で send が呼ばれても混ざらない)。
519
+ Object.keys(pendingRequests).forEach(function (requestId) {
520
+ pendingRequests[requestId].reject(error);
521
+ });
522
+ };
523
+ /**
524
+ * 切れた接続を捨て、待ち中の要求すべてを ConnectionBrokenError で決着させる。
525
+ * ★既に別の接続へ差し替わっていたら(disconnect → connect の後の古い接続)何もしない。
526
+ * ★同じ接続に二度呼ばれても 2 回目は待ち行列が空なので無害(close と error の両方から来る)。
527
+ */
528
+ Gs2WebSocketSession.prototype.dropConnection = function (client, detail) {
529
+ if (this.client !== client) {
530
+ terminateQuietly(client);
531
+ return;
532
+ }
533
+ this.client = null;
534
+ this.projectToken = null;
535
+ this.expiresAt = null;
536
+ this.failPending(detail);
537
+ // ★相手はもう居ないので閉じる挨拶はしない(socket もタイマーも残さない)。
538
+ terminateQuietly(client);
539
+ };
436
540
  Gs2WebSocketSession.prototype.send = function (service, component, func, payload) {
437
- var _a;
438
541
  return tslib_1.__awaiter(this, void 0, void 0, function () {
439
- var requestId, result;
542
+ var client, requestId, body, result;
440
543
  var _this = this;
441
- return tslib_1.__generator(this, function (_b) {
442
- switch (_b.label) {
544
+ return tslib_1.__generator(this, function (_a) {
545
+ switch (_a.label) {
443
546
  case 0:
547
+ client = this.client;
548
+ // ★接続が無い/閉じかけ・閉じた接続への送信は、待たずにその場で落とす
549
+ // (以前は送ったつもりになって応答を待ち続けていた)。
550
+ if (client == null) {
551
+ throw new ConnectionBrokenError('not connected');
552
+ }
553
+ if (client.readyState !== WS_OPEN) {
554
+ throw new ConnectionBrokenError('readyState=' + client.readyState);
555
+ }
444
556
  requestId = (0, uuid_1.v4)();
445
- this.inflightRequest[requestId] = null;
446
- (_a = this.client) === null || _a === void 0 ? void 0 : _a.send(JSON.stringify(Object.assign({}, payload, {
557
+ body = JSON.stringify(Object.assign({}, payload, {
447
558
  xGs2ClientId: this.credential.clientId,
448
559
  xGs2ProjectToken: this.projectToken,
449
560
  x_gs2: {
@@ -453,12 +564,32 @@ var Gs2WebSocketSession = /** @class */ (function () {
453
564
  contentType: "application/json",
454
565
  requestId: requestId,
455
566
  },
456
- })));
457
- return [4 /*yield*/, (0, async_wait_until_1.default)(function () { return _this.inflightRequest[requestId] != null; })];
567
+ }));
568
+ return [4 /*yield*/, new Promise(function (resolve, reject) {
569
+ // ★送信の前に待ち行列へ載せる(応答が先に届いても取り落とさない)。
570
+ _this.pendingRequests[requestId] = { resolve: resolve, reject: reject };
571
+ try {
572
+ // ★Node の `ws` は第 2 引数に書き込みの結果を受ける口を取る(ブラウザの WebSocket は
573
+ // 余分な引数を無視する)。送れなかった要求は届いていないので、その場で落とす。
574
+ client.send(body, function (error) {
575
+ if (error == null) {
576
+ return;
577
+ }
578
+ var pending = _this.takePending(requestId);
579
+ if (pending != null) {
580
+ pending.reject(new ConnectionBrokenError(error.message));
581
+ }
582
+ });
583
+ }
584
+ catch (error) {
585
+ var pending_1 = _this.takePending(requestId);
586
+ if (pending_1 != null) {
587
+ pending_1.reject(error);
588
+ }
589
+ }
590
+ })];
458
591
  case 1:
459
- _b.sent();
460
- result = this.inflightRequest[requestId];
461
- delete this.inflightRequest[requestId];
592
+ result = _a.sent();
462
593
  if (result.status != 200) {
463
594
  throw result.body;
464
595
  }
@@ -479,29 +610,38 @@ var Gs2WebSocketSession = /** @class */ (function () {
479
610
  Gs2WebSocketSession.prototype.onNotification = function (func) {
480
611
  this.onNotificationHandlers.push(func);
481
612
  };
613
+ /** 接続を閉じる。★待ち中の要求には ConnectionBrokenError が返る(close を待たずに決着させる) */
482
614
  Gs2WebSocketSession.prototype.disconnect = function () {
483
615
  return tslib_1.__awaiter(this, void 0, void 0, function () {
484
- var _this = this;
616
+ var client, e_1;
485
617
  return tslib_1.__generator(this, function (_a) {
486
618
  switch (_a.label) {
487
619
  case 0:
488
- if (!(this.client != null)) return [3 /*break*/, 5];
489
- this.client.close();
490
- if (!(typeof window === 'undefined')) return [3 /*break*/, 2];
491
- return [4 /*yield*/, (0, async_wait_until_1.default)(function () { return _this.client == null || _this.client.readyState == NodeWebSocket.CLOSED; })];
620
+ client = this.client;
621
+ this.client = null;
622
+ this.projectToken = null;
623
+ this.expiresAt = null;
624
+ // ★close イベントを待たない(来ないこともある)。
625
+ this.failPending('disconnected');
626
+ if (!(client != null)) return [3 /*break*/, 5];
627
+ closeQuietly(client);
628
+ _a.label = 1;
492
629
  case 1:
630
+ _a.trys.push([1, 3, , 4]);
631
+ return [4 /*yield*/, (0, async_wait_until_1.default)(function () { return client.readyState == WS_CLOSED; }, { timeout: 1000 })];
632
+ case 2:
493
633
  _a.sent();
494
634
  return [3 /*break*/, 4];
495
- case 2: return [4 /*yield*/, (0, async_wait_until_1.default)(function () { return _this.client == null || _this.client.readyState == WebSocket.CLOSED; })];
496
635
  case 3:
497
- _a.sent();
498
- _a.label = 4;
636
+ e_1 = _a.sent();
637
+ return [3 /*break*/, 4];
499
638
  case 4:
500
- this.client = null;
639
+ if (client.readyState !== WS_CLOSED) {
640
+ // ★閉じ切らないまま抜けると socket とタイマーが残るので叩き落とす。
641
+ terminateQuietly(client);
642
+ }
501
643
  _a.label = 5;
502
- case 5:
503
- this.projectToken = null;
504
- return [2 /*return*/];
644
+ case 5: return [2 /*return*/];
505
645
  }
506
646
  });
507
647
  });
package/core/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/core/model.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;AAIH,wDAA0B;AAC1B,8EAAyC;AACzC,6BAAkC;AAClC,IAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpC;IAKE,4BACI,QAAgB,EAChB,YAAoB;QAEtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IACH,yBAAC;AAAD,CAAC,AAZD,IAYC;AAZY,gDAAkB;AAe/B,qFAAqF;AACrF,EAAE;AACF,sFAAsF;AACtF,6EAA6E;AAC7E,qDAAqD;AACrD,8DAA8D;AAC9D,oDAAoD;AACpD,4BAA4B;AAE5B;;;;;GAKG;AACU,QAAA,yBAAyB,GAAG,IAAI,CAAC;AAE9C,gDAAgD;AACnC,QAAA,2BAA2B,GAAG,4BAA4B,CAAC;AAExE,6BAA6B;AAC7B,SAAgB,uBAAuB,CAAC,KAAqB;IAC3D,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,OAAO,EAAE,CAAC;KACX;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC1C,CAAC;AALD,0DAKC;AAED,kEAAkE;AAClE,SAAgB,kBAAkB,CAAC,cAA8B;IAC/D,IAAM,MAAM,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACvD,IAAI,MAAM,KAAK,EAAE,EAAE;QACjB,OAAO,EAAE,CAAC;KACX;IACD,OAAO,MAAM,GAAG,YAAY,CAAC;AAC/B,CAAC;AAND,gDAMC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,cAA8B;IAC/D,IAAM,IAAI,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACrD,IAAI,IAAI,KAAK,EAAE,EAAE;QACf,OAAO,EAAE,CAAC;KACX;IACD,mDAAmD;IACnD,IAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,OAAO,EAAE,CAAC;KACX;IACD,IAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAChE,OAAO,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AACzC,CAAC;AAZD,gDAYC;AAED,4BAA4B;AAC5B,SAAgB,WAAW,CAAC,cAAyC,EAAE,GAAW;IAChF,IAAM,IAAI,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACrD,IAAI,IAAI,KAAK,EAAE,EAAE;QACf,OAAO,KAAK,CAAC;KACd;IACD,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC;AAND,kCAMC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,aAAa,CAAC,cAAyC,EAAE,MAAc,EAAE,GAAW;IAClG,IAAM,MAAM,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACvD,IAAI,MAAM,KAAK,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;QAC7C,OAAO,GAAG,CAAC;KACZ;IACD,IAAM,QAAQ,GAAG,mBAAW,CAAC,aAAa,CAAC;IAC3C,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;QACrC,OAAO,GAAG,CAAC;KACZ;IACD,IAAM,OAAO,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC;SAClD,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC;SACnC,OAAO,CAAC,cAAc,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAChE,IAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,0CAA0C;QAC1C,OAAO,GAAG,CAAC;KACZ;IACD,OAAO,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAClE,CAAC;AAlBD,sCAkBC;AAED;;;;GAIG;AACH,IAAM,qBAAqB;QACzB,cAAc,EAAE,IAAI;QACpB,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;;IACjB,GAAC,mCAA2B,IAAG,IAAI;IACnC,sBAAkB,GAAE,IAAI;IACxB,qCAAiC,GAAE,IAAI;IACvC,kCAA8B,GAAE,IAAI;IACpC,iCAA6B,GAAE,IAAI;IACnC,+BAA2B,GAAE,IAAI;OAClC,CAAC;AAEF;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,KAAU;;IACzC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE;QACnC,OAAO,KAAK,CAAC;KACd;IACD,IAAM,IAAI,GAAG,MAAA,KAAK,CAAC,IAAI,mCAAI,MAAA,KAAK,CAAC,KAAK,0CAAE,IAAI,CAAC;IAC7C,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AAC1E,CAAC;AAND,4CAMC;AAQD,IAAM,gBAAgB,GAA0C,EAAE,CAAC;AAEnE,SAAS,kBAAkB,CAAC,MAAW,EAAE,SAAiB,EAAE,cAAsB;IAChF,IAAM,KAAK,GAAG,UAAU,CAAC;QACvB,IAAM,KAAK,GAAQ,IAAI,KAAK,CAAC,mBAAmB,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC;QACtE,KAAK,CAAC,IAAI,GAAG,mCAA2B,CAAC;QACzC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,EAAE,SAAS,CAAC,CAAC;IACd,IAAM,KAAK,GAAG,cAAM,OAAA,YAAY,CAAC,KAAK,CAAC,EAAnB,CAAmB,CAAC;IACxC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACnC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAAC,SAAiB;IAC5C,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;QAClE,OAAO,IAAI,CAAC;KACb;IACD,IAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,MAAM,IAAI,IAAI,EAAE;QAClB,OAAO,MAAM,CAAC;KACf;IACD,IAAI,IAAS,CAAC;IACd,IAAI,KAAU,CAAC;IACf,IAAI;QACF,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QACvB,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KAC1B;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,IAAI,CAAC;KACb;IACD,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,IAAI,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,KAAI,IAAI,EAAE;QAC/C,OAAO,IAAI,CAAC;KACb;IACD;QAA8B,2CAAU;QAAxC;;QAIA,CAAC;QAHC,0CAAgB,GAAhB,UAAiB,OAAY,EAAE,QAAa;YAC1C,OAAO,kBAAkB,CAAC,iBAAM,gBAAgB,YAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC7F,CAAC;QACH,sBAAC;IAAD,CAAC,AAJD,CAA8B,IAAI,CAAC,KAAK,GAIvC;IACD;QAA+B,4CAAW;QAA1C;;QAIA,CAAC;QAHC,2CAAgB,GAAhB,UAAiB,OAAY,EAAE,QAAa;YAC1C,OAAO,kBAAkB,CAAC,iBAAM,gBAAgB,YAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QACnG,CAAC;QACH,uBAAC;IAAD,CAAC,AAJD,CAA+B,KAAK,CAAC,KAAK,GAIzC;IACD,6EAA6E;IAC7E,0CAA0C;IAC1C,IAAM,OAAO,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACvE,IAAM,MAAM,GAAiB;QAC3B,IAAI,EAAE,IAAK,eAAuB,CAAC,OAAO,CAAC;QAC3C,KAAK,EAAE,IAAK,gBAAwB,CAAC,OAAO,CAAC;KAC9C,CAAC;IACF,gBAAgB,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;IACrC,OAAO,MAAM,CAAC;AAChB,CAAC;AAtCD,oCAsCC;AAED;;;;GAIG;AACH,SAAe,wBAAwB,CACnC,GAAW,EACX,IAAS,EACT,cAAsB,EACtB,sBAA8B;;;;;;oBAEhC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE;wBACrC,sBAAO,eAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAC;qBAC9B;oBACK,MAAM,GAAG,YAAY,CAAC,sBAAsB,CAAC,CAAC;oBAC9C,MAAM,GAAQ,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;;;;oBAEtF,qBAAM,eAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,EAAA;wBAA1C,sBAAO,SAAmC,EAAC;;;oBAE3C,IAAI,CAAC,gBAAgB,CAAC,OAAK,CAAC,EAAE;wBAC5B,MAAM,OAAK,CAAC;qBACb;oBAGM,qBAAM,eAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,EAAA;;gBAF1C,2DAA2D;gBAC3D,oDAAoD;gBACpD,sBAAO,SAAmC,EAAC;;;;;CAE9C;AAkBD;IAaE,wBAAY,UAA0B,EAAE,MAAc,EAAE,OAA+B;;QACrF,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,eAAe,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,mCAAI,IAAI,CAAC;QACxD,IAAI,CAAC,kBAAkB,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB,mCAAI,IAAI,CAAC;QAC9D,IAAI,CAAC,cAAc,GAAG,uBAAuB,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CAAC,CAAC;QACvE,IAAI,CAAC,sBAAsB,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,mCAAI,iCAAyB,CAAC;IAC7F,CAAC;IAED;;;;OAIG;IACI,qCAAY,GAAnB,UAAoB,OAAe;QACjC,IAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,mBAAW,CAAC,aAAa,CAAC;QACtF,OAAO,QAAQ;aACV,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC;aAC7B,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAEM,gCAAO,GAAd;QAAA,iBAkCC;QAhCC,uDAAuD;QACvD,gDAAgD;QAChD,IAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,qBAAqB,CAAC;QAEpE,IAAI,IAAI,CAAC,UAAU,YAAY,kBAAkB,EAAE;YACjD,IAAM,IAAI,GAAG;gBACX,SAAS,EAAG,IAAI,CAAC,UAAiC,CAAC,QAAQ;gBAC3D,aAAa,EAAG,IAAI,CAAC,UAAiC,CAAC,YAAY;aACpE,CAAC;YAEF,OAAO,wBAAwB,CAC3B,GAAG,EACH,IAAI,EACJ,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,sBAAsB,CAC9B;iBACI,IAAI,CAAC,UAAC,QAAa;gBAClB,IAAM,MAAM,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC9C,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;gBACvC,KAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;gBAChE,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,KAAU;gBAClB,+CAA+C;gBAC/C,yCAAyC;gBACzC,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,KAAI,IAAI,EAAE;oBAC3B,MAAM,KAAK,CAAC;iBACb;gBACD,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;SACR;aAAM,IAAI,IAAI,CAAC,UAAU,YAAY,yBAAyB,EAAE;YAC/D,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,UAAwC,CAAC,YAAY,CAAC;SACjF;IACH,CAAC;IAEM,mCAAU,GAAjB;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IACH,qBAAC;AAAD,CAAC,AA3ED,IA2EC;AA3EY,wCAAc;AAwF3B;IAoBE,6BAAY,UAA0B,EAAE,MAAc,EAAE,OAAoC;;QAjBpF,WAAM,GAAqB,IAAI,CAAC;QAShC,oBAAe,GAAQ,EAAE,CAAC;QAE1B,mBAAc,GAAe,EAAE,CAAC;QAChC,oBAAe,GAAe,EAAE,CAAC;QACjC,oBAAe,GAAe,EAAE,CAAC;QAEjC,2BAAsB,GAAe,EAAE,CAAC;QAG9C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,cAAc,GAAG,uBAAuB,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CAAC,CAAC;QACvE,IAAI,CAAC,sBAAsB,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,mCAAI,iCAAyB,CAAC;IAC7F,CAAC;IAED,kEAAkE;IAC3D,0CAAY,GAAnB;QACE,IAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,GAAG,KAAK,EAAE,EAAE;YACd,OAAO,GAAG,CAAC;SACZ;QACD,OAAO,mBAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,CAAC;IAED;;;;OAIG;IACI,8CAAgB,GAAvB;QACE,IAAI,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE;YACvD,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAC3D,CAAC;IAED,0EAA0E;IACnE,0CAAY,GAAnB,UAAoB,OAAe;QACjC,IAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,mBAAW,CAAC,aAAa,CAAC;QACtF,OAAO,QAAQ;aACV,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC;aAC7B,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAEY,qCAAO,GAApB;;;;;;;wBAGQ,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,qBAAqB,CAAC;6BAEhE,CAAA,IAAI,CAAC,UAAU,YAAY,kBAAkB,CAAA,EAA7C,wBAA6C;wBACzC,IAAI,GAAG;4BACX,SAAS,EAAG,IAAI,CAAC,UAAiC,CAAC,QAAQ;4BAC3D,aAAa,EAAG,IAAI,CAAC,UAAiC,CAAC,YAAY;yBACpE,CAAC;wBAEe,qBAAM,wBAAwB,CAC3C,GAAG,EACH,IAAI,EACJ,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,sBAAsB,CAC9B,EAAA;;wBALK,QAAQ,GAAG,SAKhB;wBACK,MAAM,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBAC9C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;wBACvC,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;;;wBAC3D,IAAI,IAAI,CAAC,UAAU,YAAY,yBAAyB,EAAE;4BAC/D,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,UAAwC,CAAC,YAAY,CAAC;yBACjF;;;wBAEK,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAC;4BAChC,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;yBACjE;6BAAM;4BACL,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;yBACpC;wBACD,IAAI,CAAC,MAAO,CAAC,MAAM,GAAG,UAAC,KAAY;4BACjC,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,KAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC/C,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC1B;wBACH,CAAC,CAAC;wBACF,IAAI,CAAC,MAAO,CAAC,SAAS,GAAG,UAAC,OAAqB;4BAC7C,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;4BACzC,IAAI,OAAO,CAAC,IAAI,IAAI,cAAc,EAAE;gCAClC,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,KAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACvD,KAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;iCAC9C;6BACF;iCAAM;gCACL,KAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;6BACnD;wBACH,CAAC,CAAC;wBACF,IAAI,CAAC,MAAO,CAAC,OAAO,GAAG,UAAC,KAAY;4BAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACpD,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;6BAChC;wBACH,CAAC,CAAC;wBACF,IAAI,CAAC,MAAO,CAAC,OAAO,GAAG;4BACrB,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,KAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAChD,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC3B;wBACH,CAAC,CAAC;6BACE,CAAA,OAAO,MAAM,KAAK,WAAW,CAAA,EAA7B,wBAA6B;wBAC/B,qBAAM,IAAA,0BAAS,EAAC,cAAM,OAAA,KAAI,CAAC,MAAM,IAAI,IAAI,IAAI,KAAI,CAAC,MAAM,CAAC,UAAU,IAAI,aAAa,CAAC,MAAM,IAAI,KAAI,CAAC,MAAM,CAAC,UAAU,IAAI,aAAa,CAAC,IAAI,EAArH,CAAqH,CAAC,EAAA;;wBAA5I,SAA4I,CAAC;;4BAE7I,qBAAM,IAAA,0BAAS,EAAC,cAAM,OAAA,KAAI,CAAC,MAAM,IAAI,IAAI,IAAI,KAAI,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC,MAAM,IAAI,KAAI,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC,IAAI,EAA7G,CAA6G,CAAC,EAAA;;wBAApI,SAAoI,CAAC;;;;;;KAExI;IAEY,kCAAI,GAAjB,UACI,OAAe,EACf,SAAiB,EACjB,IAAY,EACZ,OAAY;;;;;;;;wBAGR,SAAS,GAAG,IAAA,SAAI,GAAE,CAAC;wBAEzB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;wBACvC,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;4BAC1D,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;4BACtC,gBAAgB,EAAE,IAAI,CAAC,YAAY;4BACnC,KAAK,EAAE;gCACL,OAAO,EAAE,OAAO;gCAChB,SAAS,EAAE,SAAS;gCACpB,QAAQ,EAAE,IAAI;gCACd,WAAW,EAAE,kBAAkB;gCAC/B,SAAS,EAAG,SAAS;6BACtB;yBACF,CAAC,CAAC,CAAC,CAAC;wBAEL,qBAAM,IAAA,0BAAS,EAAC,cAAM,OAAA,KAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,IAAI,EAAvC,CAAuC,CAAC,EAAA;;wBAA9D,SAA8D,CAAC;wBAEzD,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;wBAC/C,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;wBACvC,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE;4BACxB,MAAM,MAAM,CAAC,IAAI,CAAC;yBACnB;wBACD,sBAAO,MAAM,CAAC,IAAI,EAAC;;;;KACpB;IAEM,oCAAM,GAAb,UAAc,IAAwB;QACpC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEM,qCAAO,GAAd,UAAe,IAAwB;QACrC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEM,qCAAO,GAAd,UAAe,IAA6B;QAC1C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEM,4CAAc,GAArB,UAAsB,IAIb;QACP,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAEY,wCAAU,GAAvB;;;;;;6BACM,CAAA,IAAI,CAAC,MAAM,IAAI,IAAI,CAAA,EAAnB,wBAAmB;wBACrB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;6BAChB,CAAA,OAAO,MAAM,KAAK,WAAW,CAAA,EAA7B,wBAA6B;wBAC/B,qBAAM,IAAA,0BAAS,EAAC,cAAM,OAAA,KAAI,CAAC,MAAM,IAAI,IAAI,IAAI,KAAI,CAAC,MAAM,CAAC,UAAU,IAAI,aAAa,CAAC,MAAM,EAArE,CAAqE,CAAC,EAAA;;wBAA5F,SAA4F,CAAC;;4BAE7F,qBAAM,IAAA,0BAAS,EAAC,cAAM,OAAA,KAAI,CAAC,MAAM,IAAI,IAAI,IAAI,KAAI,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC,MAAM,EAAjE,CAAiE,CAAC,EAAA;;wBAAxF,SAAwF,CAAC;;;wBAE3F,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;;;wBAErB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;;;;;KAC1B;IACH,0BAAC;AAAD,CAAC,AAxLD,IAwLC;AAxLY,kDAAmB;AA0LhC;IAME,qBACI,IAA6B;QAE/B,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;SAClC;IACH,CAAC;IACH,kBAAC;AAAD,CAAC,AAfD,IAeC;AAED;IAKE,sBACI,IAA4B;QAJzB,UAAK,GAAkB,IAAI,CAAC;QAC5B,cAAS,GAAkB,IAAI,CAAC;QAKrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IAClC,CAAC;IACH,mBAAC;AAAD,CAAC,AAXD,IAWC;AAXY,oCAAY;AAazB;IAKE,mCACI,QAAgB,EAChB,YAAoB;QAEtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IACH,gCAAC;AAAD,CAAC,AAZD,IAYC;AAZY,8DAAyB;AAczB,QAAA,WAAW,GAAG;IACzB,aAAa,EAAE,2CAA2C;IAC1D,gBAAgB,EAAE,0CAA0C;CAC7D,CAAC;AAEW,QAAA,MAAM,GAAG;IACpB,cAAc,EAAE,gBAAgB;IAChC,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,cAAc,EAAE,gBAAgB;CACjC,CAAC"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/core/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import IModel from '../../core/interface/IModel';
2
+ export default class UserDataEntry implements IModel {
3
+ private service;
4
+ private namespaceName;
5
+ private kind;
6
+ private payload;
7
+ getService(): string | null;
8
+ setService(service: string | null): this;
9
+ withService(service: string | null): this;
10
+ getNamespaceName(): string | null;
11
+ setNamespaceName(namespaceName: string | null): this;
12
+ withNamespaceName(namespaceName: string | null): this;
13
+ getKind(): string | null;
14
+ setKind(kind: string | null): this;
15
+ withKind(kind: string | null): this;
16
+ getPayload(): string | null;
17
+ setPayload(payload: string | null): this;
18
+ withPayload(payload: string | null): this;
19
+ static fromDict(data: {
20
+ [key: string]: any;
21
+ }): UserDataEntry | null;
22
+ toDict(): {
23
+ [key: string]: any;
24
+ };
25
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ /*
3
+ Copyright 2016 Game Server Services, Inc. or its affiliates. All Rights
4
+ Reserved.
5
+
6
+ Licensed under the Apache License, Version 2.0 (the "License").
7
+ You may not use this file except in compliance with the License.
8
+ A copy of the License is located at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ or in the "license" file accompanying this file. This file is distributed
13
+ on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
14
+ express or implied. See the License for the specific language governing
15
+ permissions and limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ var UserDataEntry = /** @class */ (function () {
19
+ function UserDataEntry() {
20
+ this.service = null;
21
+ this.namespaceName = null;
22
+ this.kind = null;
23
+ this.payload = null;
24
+ }
25
+ UserDataEntry.prototype.getService = function () {
26
+ return this.service;
27
+ };
28
+ UserDataEntry.prototype.setService = function (service) {
29
+ this.service = service;
30
+ return this;
31
+ };
32
+ UserDataEntry.prototype.withService = function (service) {
33
+ this.service = service;
34
+ return this;
35
+ };
36
+ UserDataEntry.prototype.getNamespaceName = function () {
37
+ return this.namespaceName;
38
+ };
39
+ UserDataEntry.prototype.setNamespaceName = function (namespaceName) {
40
+ this.namespaceName = namespaceName;
41
+ return this;
42
+ };
43
+ UserDataEntry.prototype.withNamespaceName = function (namespaceName) {
44
+ this.namespaceName = namespaceName;
45
+ return this;
46
+ };
47
+ UserDataEntry.prototype.getKind = function () {
48
+ return this.kind;
49
+ };
50
+ UserDataEntry.prototype.setKind = function (kind) {
51
+ this.kind = kind;
52
+ return this;
53
+ };
54
+ UserDataEntry.prototype.withKind = function (kind) {
55
+ this.kind = kind;
56
+ return this;
57
+ };
58
+ UserDataEntry.prototype.getPayload = function () {
59
+ return this.payload;
60
+ };
61
+ UserDataEntry.prototype.setPayload = function (payload) {
62
+ this.payload = payload;
63
+ return this;
64
+ };
65
+ UserDataEntry.prototype.withPayload = function (payload) {
66
+ this.payload = payload;
67
+ return this;
68
+ };
69
+ UserDataEntry.fromDict = function (data) {
70
+ if (data == undefined || data == null) {
71
+ return null;
72
+ }
73
+ return new UserDataEntry()
74
+ .withService(data["service"])
75
+ .withNamespaceName(data["namespaceName"])
76
+ .withKind(data["kind"])
77
+ .withPayload(data["payload"]);
78
+ };
79
+ UserDataEntry.prototype.toDict = function () {
80
+ return {
81
+ "service": this.getService(),
82
+ "namespaceName": this.getNamespaceName(),
83
+ "kind": this.getKind(),
84
+ "payload": this.getPayload(),
85
+ };
86
+ };
87
+ return UserDataEntry;
88
+ }());
89
+ exports.default = UserDataEntry;
90
+ //# sourceMappingURL=UserDataEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserDataEntry.js","sourceRoot":"","sources":["../../../src/distributor/model/UserDataEntry.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAMH;IAAA;QACY,YAAO,GAAgB,IAAI,CAAC;QAC5B,kBAAa,GAAgB,IAAI,CAAC;QAClC,SAAI,GAAgB,IAAI,CAAC;QACzB,YAAO,GAAgB,IAAI,CAAC;IAiExC,CAAC;IAhEU,kCAAU,GAAjB;QACI,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IACM,kCAAU,GAAjB,UAAkB,OAAoB;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IACM,mCAAW,GAAlB,UAAmB,OAAoB;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IACM,wCAAgB,GAAvB;QACI,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IACM,wCAAgB,GAAvB,UAAwB,aAA0B;QAC9C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IACM,yCAAiB,GAAxB,UAAyB,aAA0B;QAC/C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IACM,+BAAO,GAAd;QACI,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IACM,+BAAO,GAAd,UAAe,IAAiB;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IACM,gCAAQ,GAAf,UAAgB,IAAiB;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IACM,kCAAU,GAAjB;QACI,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IACM,kCAAU,GAAjB,UAAkB,OAAoB;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IACM,mCAAW,GAAlB,UAAmB,OAAoB;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEa,sBAAQ,GAAtB,UAAuB,IAA0B;QAC7C,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI,EAAE;YACnC,OAAO,IAAI,CAAC;SACf;QACD,OAAO,IAAI,aAAa,EAAE;aACrB,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC5B,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACxC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACtB,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,8BAAM,GAAb;QACI,OAAO;YACH,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE;YAC5B,eAAe,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACxC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE;YACtB,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE;SAC/B,CAAC;IACN,CAAC;IACL,oBAAC;AAAD,CAAC,AArED,IAqEC"}
@@ -5,6 +5,7 @@ import CurrentDistributorMaster from "./CurrentDistributorMaster";
5
5
  import StampSheetResult from "./StampSheetResult";
6
6
  import BatchRequestPayload from "./BatchRequestPayload";
7
7
  import BatchResultPayload from "./BatchResultPayload";
8
+ import UserDataEntry from "./UserDataEntry";
8
9
  import AcquireAction from "./AcquireAction";
9
10
  import ConsumeAction from "./ConsumeAction";
10
11
  import VerifyAction from "./VerifyAction";
@@ -20,4 +21,4 @@ import TransactionSetting from "./TransactionSetting";
20
21
  import TransactionSettingV2 from "./TransactionSettingV2";
21
22
  import NotificationSetting from "./NotificationSetting";
22
23
  import MobileNotificationMessage from "./MobileNotificationMessage";
23
- export { Namespace, DistributorModelMaster, DistributorModel, CurrentDistributorMaster, StampSheetResult, BatchRequestPayload, BatchResultPayload, AcquireAction, ConsumeAction, VerifyAction, TransactionResult, AcquireActionResult, ConsumeActionResult, VerifyActionResult, Config, GitHubCheckoutSetting, DistributeResource, LogSetting, TransactionSetting, TransactionSettingV2, NotificationSetting, MobileNotificationMessage, };
24
+ export { Namespace, DistributorModelMaster, DistributorModel, CurrentDistributorMaster, StampSheetResult, BatchRequestPayload, BatchResultPayload, UserDataEntry, AcquireAction, ConsumeAction, VerifyAction, TransactionResult, AcquireActionResult, ConsumeActionResult, VerifyActionResult, Config, GitHubCheckoutSetting, DistributeResource, LogSetting, TransactionSetting, TransactionSettingV2, NotificationSetting, MobileNotificationMessage, };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MobileNotificationMessage = exports.NotificationSetting = exports.TransactionSettingV2 = exports.TransactionSetting = exports.LogSetting = exports.DistributeResource = exports.GitHubCheckoutSetting = exports.Config = exports.VerifyActionResult = exports.ConsumeActionResult = exports.AcquireActionResult = exports.TransactionResult = exports.VerifyAction = exports.ConsumeAction = exports.AcquireAction = exports.BatchResultPayload = exports.BatchRequestPayload = exports.StampSheetResult = exports.CurrentDistributorMaster = exports.DistributorModel = exports.DistributorModelMaster = exports.Namespace = void 0;
3
+ exports.MobileNotificationMessage = exports.NotificationSetting = exports.TransactionSettingV2 = exports.TransactionSetting = exports.LogSetting = exports.DistributeResource = exports.GitHubCheckoutSetting = exports.Config = exports.VerifyActionResult = exports.ConsumeActionResult = exports.AcquireActionResult = exports.TransactionResult = exports.VerifyAction = exports.ConsumeAction = exports.AcquireAction = exports.UserDataEntry = exports.BatchResultPayload = exports.BatchRequestPayload = exports.StampSheetResult = exports.CurrentDistributorMaster = exports.DistributorModel = exports.DistributorModelMaster = exports.Namespace = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  /*
6
6
  Copyright 2016 Game Server Services, Inc. or its affiliates. All Rights
@@ -31,6 +31,8 @@ var BatchRequestPayload_1 = tslib_1.__importDefault(require("./BatchRequestPaylo
31
31
  exports.BatchRequestPayload = BatchRequestPayload_1.default;
32
32
  var BatchResultPayload_1 = tslib_1.__importDefault(require("./BatchResultPayload"));
33
33
  exports.BatchResultPayload = BatchResultPayload_1.default;
34
+ var UserDataEntry_1 = tslib_1.__importDefault(require("./UserDataEntry"));
35
+ exports.UserDataEntry = UserDataEntry_1.default;
34
36
  var AcquireAction_1 = tslib_1.__importDefault(require("./AcquireAction"));
35
37
  exports.AcquireAction = AcquireAction_1.default;
36
38
  var ConsumeAction_1 = tslib_1.__importDefault(require("./ConsumeAction"));