blob: eecb4e881300c5ddc4fa94385bb9893cded1f016 [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
module.exports = Row;
// Row represents a single row in a Table.
function Row(fullName, key) {
// TODO(aghassemi) We may need to escape the key. Align with Go implementation
// when that decision is made.
if (!(this instanceof Row)) {
return new Row(fullName, key);
}
/**
* The key of this Row.
* @property name
* @type {string}
*/
Object.defineProperty(this, 'key', {
value: key,
writable: false
});
/**
* The full name (object name) of this Row.
* @property fullName
* @type {string}
*/
Object.defineProperty(this, 'fullName', {
value: fullName,
writable: false
});
}
// Get stores the value for the given primary key in value. If value's type
// does not match the stored type, Get will return an error. Expected usage:
Row.prototype.get = function(ctx, key, value) {};
// Put writes the given value to this Table. The value's primary key field
// must be set.
Row.prototype.put = function(ctx, key, value) {};
// Delete deletes all rows in the given range. If the last row that is covered
// by a prefix from SetPermissions is deleted, that (prefix, perms) pair is
// removed.
Row.prototype.delete = function(ctx, range) {};