@kurrent/kurrentdb-client
Version:
KurrentDB gRPC NodeJS Client SDK
40 lines • 1.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const Client_1 = require("../Client");
const constants_1 = require("../constants");
const utils_1 = require("../utils");
const streamMetadata_1 = require("./utils/streamMetadata");
const systemStreams_1 = require("./utils/systemStreams");
Client_1.Client.prototype.getStreamMetadata = async function (streamName, baseOptions = {}) {
const metadataStreamName = (0, systemStreams_1.metastreamOf)(streamName);
utils_1.debug.command("getStreamMetadata: %O", {
streamName,
options: baseOptions,
});
try {
let metadataEvent;
for await (const e of await this.readStream(metadataStreamName, {
...baseOptions,
fromRevision: constants_1.END,
maxCount: 1,
direction: constants_1.BACKWARDS,
})) {
metadataEvent = e;
}
if (!metadataEvent || !metadataEvent.event || !metadataEvent.event.isJson) {
return { streamName };
}
return {
streamName,
metadata: (0, streamMetadata_1.readStreamMetadata)(metadataEvent.event.data),
metastreamRevision: metadataEvent.commitPosition,
};
}
catch (error) {
if (error instanceof utils_1.StreamNotFoundError) {
return { streamName };
}
throw error;
}
};
//# sourceMappingURL=getStreamMetadata.js.map