UNPKG

ravendb

Version:
38 lines 1.42 kB
export 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("$"); } } //# sourceMappingURL=ClientShardHelper.js.map