UNPKG

@skyway-sdk/core

Version:

The official Next Generation JavaScript SDK for SkyWay

54 lines 2.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.objectFlag = exports.LocalDataStream = void 0; const common_1 = require("@skyway-sdk/common"); const errors_1 = require("../../../errors"); const util_1 = require("../../../util"); const _1 = require("."); const log = new common_1.Logger('packages/core/src/media/stream/local/data.ts'); class LocalDataStream extends _1.LocalStreamBase { constructor(options = {}) { super('data'); this.options = options; this.contentType = 'data'; /**@private */ this._onWriteData = new common_1.Event(); this._isEnabled = true; /** * @description [japanese] データストリームが書き込み可能な状態になったことを通知するイベント * イベントデータとして、書き込み可能になったデータストリームのSubscriberの情報が通知される。 */ this.onWritable = new common_1.Event(); /** * @description [japanese] データストリームが書き込み不可能な状態になったことを通知するイベント。 * イベントデータとして、書き込み不可能になったデータストリームのSubscriberの情報が通知される。 */ this.onUnwritable = new common_1.Event(); this._setLabel('LocalDataStream'); } /**@internal */ setIsEnabled(b) { this._isEnabled = b; } /**@description [japanese] データを送信する */ write(data) { if (!this._isEnabled) { throw (0, util_1.createError)({ operationName: 'LocalDataStream.write', path: log.prefix, info: errors_1.errors.disabledDataStream, }); } const isObject = !ArrayBuffer.isView(data) && !(data instanceof ArrayBuffer) && !(typeof data === 'string'); if (isObject) { data = exports.objectFlag + JSON.stringify(data); } this._onWriteData.emit(data); } } exports.LocalDataStream = LocalDataStream; /**@internal */ exports.objectFlag = 'skyway_object:'; //# sourceMappingURL=data.js.map