ravendb
Version:
RavenDB client for Node.js
31 lines • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ObjectKeyCaseTransformStream = void 0;
const node_stream_1 = require("node:stream");
const ObjectUtil_js_1 = require("../../../Utility/ObjectUtil.js");
const TypeUtil_js_1 = require("../../../Utility/TypeUtil.js");
const DEFAULT_OBJECT_KEY_CASE_TRANSFORM_OPTS = {
arrayRecursive: true,
recursive: true
};
class ObjectKeyCaseTransformStream extends node_stream_1.Transform {
_opts;
constructor(_opts) {
super({ objectMode: true });
this._opts = _opts;
this._opts = Object.assign({}, DEFAULT_OBJECT_KEY_CASE_TRANSFORM_OPTS, this._opts);
}
_transform(chunk, enc, callback) {
let entry = chunk;
const key = chunk["key"];
if (TypeUtil_js_1.TypeUtil.isPrimitive(entry) || TypeUtil_js_1.TypeUtil.isNullOrUndefined(entry)) {
return callback(null, chunk);
}
const opts = Object.assign({}, this._opts);
opts.ignorePaths = [...new Set(opts.ignorePaths || [])];
entry = ObjectUtil_js_1.ObjectUtil.transformObjectKeys(entry, opts);
callback(null, entry);
}
}
exports.ObjectKeyCaseTransformStream = ObjectKeyCaseTransformStream;
//# sourceMappingURL=ObjectKeyCaseTransformStream.js.map