Files
FrenoCorp/node_modules/stream-json/streamers/StreamObject.js
Michael Freno 7c684a42cc FRE-600: Fix code review blockers
- Consolidated duplicate UndoManagers to single instance
- Fixed connection promise to only resolve on 'connected' status
- Fixed WebSocketProvider import (WebsocketProvider)
- Added proper doc.destroy() cleanup
- Renamed isPresenceInitialized property to avoid conflict

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-25 00:08:01 -04:00

44 lines
1.1 KiB
JavaScript

'use strict';
const StreamBase = require('./StreamBase');
const withParser = require('../utils/withParser');
class StreamObject extends StreamBase {
static make(options) {
return new StreamObject(options);
}
static withParser(options) {
return withParser(StreamObject.make, options);
}
constructor(options) {
super(options);
this._level = 1;
this._lastKey = null;
}
_wait(chunk, _, callback) {
// first chunk should open an array
if (chunk.name !== 'startObject') {
return callback(new Error('Top-level object should be an object.'));
}
this._transform = this._filter;
return this._transform(chunk, _, callback);
}
_push(discard) {
if (this._lastKey === null) {
this._lastKey = this._assembler.key;
} else {
!discard && this.push({key: this._lastKey, value: this._assembler.current[this._lastKey]});
this._assembler.current = {};
this._lastKey = null;
}
}
}
StreamObject.streamObject = StreamObject.make;
StreamObject.make.Constructor = StreamObject;
module.exports = StreamObject;