UNPKG

ravendb

Version:
42 lines 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ClientShardHelper = void 0; class ClientShardHelper { static toShardName(database, shardNumber) { if (ClientShardHelper.isShardName(database)) { throw new Error("Expected a non shard name but got " + database); } if (shardNumber < 0) { throw new Error("Shard number must be non-negative"); } return database + "$" + shardNumber; } static toDatabaseName(shardName) { const shardNumberPosition = shardName.indexOf("$"); if (shardNumberPosition === -1) { return shardName; } return shardName.substring(0, shardNumberPosition); } static tryGetShardNumberAndDatabaseName(databaseName) { const index = databaseName.indexOf("$"); let shardNumber = -1; let shardedDatabaseName; if (index !== -1) { const slice = databaseName.substring(index + 1); shardedDatabaseName = databaseName.substring(0, index); shardNumber = parseInt(slice, 10); return [shardedDatabaseName, shardNumber]; } return null; } static getShardNumberFromDatabaseName(databaseName) { const result = ClientShardHelper.tryGetShardNumberAndDatabaseName(databaseName); return result ? result[1] : null; } static isShardName(shardName) { return shardName.includes("$"); } } exports.ClientShardHelper = ClientShardHelper; //# sourceMappingURL=ClientShardHelper.js.map