client.cjs 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.WorkerClient = exports.Client = exports.ACTIONS = void 0;
  6. function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
  7. function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
  8. function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
  9. function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
  10. function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
  11. const path = require("path");
  12. const ACTIONS = exports.ACTIONS = {
  13. GET_VERSION: "GET_VERSION",
  14. GET_TYPES_INFO: "GET_TYPES_INFO",
  15. GET_VISITOR_KEYS: "GET_VISITOR_KEYS",
  16. GET_TOKEN_LABELS: "GET_TOKEN_LABELS",
  17. MAYBE_PARSE: "MAYBE_PARSE",
  18. MAYBE_PARSE_SYNC: "MAYBE_PARSE_SYNC"
  19. };
  20. var _send = new WeakMap();
  21. var _vCache = new WeakMap();
  22. var _tiCache = new WeakMap();
  23. var _vkCache = new WeakMap();
  24. var _tlCache = new WeakMap();
  25. class Client {
  26. constructor(send) {
  27. _classPrivateFieldInitSpec(this, _send, void 0);
  28. _classPrivateFieldInitSpec(this, _vCache, void 0);
  29. _classPrivateFieldInitSpec(this, _tiCache, void 0);
  30. _classPrivateFieldInitSpec(this, _vkCache, void 0);
  31. _classPrivateFieldInitSpec(this, _tlCache, void 0);
  32. _classPrivateFieldSet(_send, this, send);
  33. }
  34. getVersion() {
  35. var _classPrivateFieldGet2;
  36. return (_classPrivateFieldGet2 = _classPrivateFieldGet(_vCache, this)) != null ? _classPrivateFieldGet2 : _classPrivateFieldSet(_vCache, this, _classPrivateFieldGet(_send, this).call(this, ACTIONS.GET_VERSION, undefined));
  37. }
  38. getTypesInfo() {
  39. var _classPrivateFieldGet3;
  40. return (_classPrivateFieldGet3 = _classPrivateFieldGet(_tiCache, this)) != null ? _classPrivateFieldGet3 : _classPrivateFieldSet(_tiCache, this, _classPrivateFieldGet(_send, this).call(this, ACTIONS.GET_TYPES_INFO, undefined));
  41. }
  42. getVisitorKeys() {
  43. var _classPrivateFieldGet4;
  44. return (_classPrivateFieldGet4 = _classPrivateFieldGet(_vkCache, this)) != null ? _classPrivateFieldGet4 : _classPrivateFieldSet(_vkCache, this, _classPrivateFieldGet(_send, this).call(this, ACTIONS.GET_VISITOR_KEYS, undefined));
  45. }
  46. getTokLabels() {
  47. var _classPrivateFieldGet5;
  48. return (_classPrivateFieldGet5 = _classPrivateFieldGet(_tlCache, this)) != null ? _classPrivateFieldGet5 : _classPrivateFieldSet(_tlCache, this, _classPrivateFieldGet(_send, this).call(this, ACTIONS.GET_TOKEN_LABELS, undefined));
  49. }
  50. maybeParse(code, options) {
  51. return _classPrivateFieldGet(_send, this).call(this, ACTIONS.MAYBE_PARSE, {
  52. code,
  53. options
  54. });
  55. }
  56. }
  57. exports.Client = Client;
  58. var _worker = new WeakMap();
  59. class WorkerClient extends Client {
  60. constructor() {
  61. super((action, payload) => {
  62. const signal = new Int32Array(new SharedArrayBuffer(8));
  63. const subChannel = new (_get_worker_threads(WorkerClient).MessageChannel)();
  64. _classPrivateFieldGet(_worker, this).postMessage({
  65. signal,
  66. port: subChannel.port1,
  67. action,
  68. payload
  69. }, [subChannel.port1]);
  70. Atomics.wait(signal, 0, 0);
  71. const {
  72. message
  73. } = _get_worker_threads(WorkerClient).receiveMessageOnPort(subChannel.port2);
  74. if (message.error) throw Object.assign(message.error, message.errorData);else return message.result;
  75. });
  76. _classPrivateFieldInitSpec(this, _worker, new (_get_worker_threads(WorkerClient).Worker)(path.resolve(__dirname, "../lib/worker/index.cjs"), {
  77. env: _get_worker_threads(WorkerClient).SHARE_ENV
  78. }));
  79. _classPrivateFieldGet(_worker, this).unref();
  80. }
  81. }
  82. exports.WorkerClient = WorkerClient;
  83. function _get_worker_threads(_this) {
  84. var _worker_threads_cache2;
  85. return (_worker_threads_cache2 = _worker_threads_cache._) != null ? _worker_threads_cache2 : _worker_threads_cache._ = require("worker_threads");
  86. }
  87. var _worker_threads_cache = {
  88. _: void 0
  89. };
  90. {
  91. var _LocalClient, _handleMessage;
  92. exports.LocalClient = (_LocalClient = class LocalClient extends Client {
  93. constructor() {
  94. var _assertClassBrand$_;
  95. (_assertClassBrand$_ = _assertClassBrand(_LocalClient, LocalClient, _handleMessage)._) != null ? _assertClassBrand$_ : _handleMessage._ = _assertClassBrand(_LocalClient, LocalClient, require("./worker/handle-message.cjs"));
  96. super((action, payload) => {
  97. return _assertClassBrand(_LocalClient, LocalClient, _handleMessage)._.call(LocalClient, action === ACTIONS.MAYBE_PARSE ? ACTIONS.MAYBE_PARSE_SYNC : action, payload);
  98. });
  99. }
  100. }, _handleMessage = {
  101. _: void 0
  102. }, _LocalClient);
  103. }
  104. //# sourceMappingURL=client.cjs.map