@skyway-sdk/core
Version:
The official Next Generation JavaScript SDK for SkyWay
48 lines • 1.56 kB
JavaScript
;
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;
this._setLabel('LocalDataStream');
}
/**
* @deprecated
* @use {@link Publication.state}
*/
get isEnabled() {
return this._isEnabled;
}
/**@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,
});
}
if (!ArrayBuffer.isView(data) && !(typeof data === 'string')) {
data = exports.objectFlag + JSON.stringify(data);
}
this._onWriteData.emit(data);
}
}
exports.LocalDataStream = LocalDataStream;
/**@internal */
exports.objectFlag = 'skyway_object:';
//# sourceMappingURL=data.js.map