@cloudpss/ubjson
Version:
Opinionated UBJSON encoder/decoder for CloudPSS.
29 lines • 950 B
JavaScript
import { Observable } from 'rxjs';
import { StreamEncoderHelper } from '../stream-helper/encoder.js';
/** 流式编码 UBJSON */
export function encode(options) {
return (observable) => {
return new Observable((subscriber) => {
const helper = new StreamEncoderHelper(options, (chunk) => subscriber.next(chunk));
const sub = observable.subscribe({
next(value) {
try {
helper.encode(value);
}
catch (ex) {
subscriber.error(ex);
}
},
error(err) {
subscriber.error(err);
},
complete() {
subscriber.complete();
},
});
sub.add(() => helper.destroy());
return sub;
});
};
}
//# sourceMappingURL=encoder.js.map