OutgoingMessage.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. "use strict";
  2. /**
  3. * Copyright 2021 Google LLC.
  4. * Copyright (c) Microsoft Corporation.
  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. * You may obtain a copy of the License at
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. */
  18. Object.defineProperty(exports, "__esModule", { value: true });
  19. exports.OutgoingMessage = void 0;
  20. class OutgoingMessage {
  21. #message;
  22. #channel;
  23. constructor(message, channel = null) {
  24. this.#message = message;
  25. this.#channel = channel;
  26. }
  27. static createFromPromise(messagePromise, channel) {
  28. return messagePromise.then((message) => {
  29. if (message.kind === 'success') {
  30. return {
  31. kind: 'success',
  32. value: new OutgoingMessage(message.value, channel),
  33. };
  34. }
  35. return message;
  36. });
  37. }
  38. static createResolved(message, channel) {
  39. return Promise.resolve({
  40. kind: 'success',
  41. value: new OutgoingMessage(message, channel),
  42. });
  43. }
  44. get message() {
  45. return this.#message;
  46. }
  47. get channel() {
  48. return this.#channel;
  49. }
  50. }
  51. exports.OutgoingMessage = OutgoingMessage;
  52. //# sourceMappingURL=OutgoingMessage.js.map