/**
* Represents a base entry of any type that is shown
*
* @class GlobalWatchlistEntryBase
* @abstract
*
* @constructor
* @param {Object} info Should have all of the properties that are documented below
*/
function GlobalWatchlistEntryBase( info ) {
/**
* @property {string} entryType Either 'edit' or 'log'
*/
this.entryType = info.entryType;
/**
* @property {string|boolean} timestamp Either `false` or a string to display
*/
this.timestamp = info.timestamp;
/**
* @property {string|null} timestampTitle Either `null` for single changes, or
* a string to display as a tooltip for grouped edits
*/
this.timestampTitle = info.timestampTitle;
/**
* @property {string|boolean} expiry Either `false` or a string explaining when the
* watchlist entry expires
*/
this.expiry = info.expiry;
/**
* @property {string|boolean} flags Either `false` or a string of flags to show
*/
this.flags = info.flags;
/**
* @property {string} userDisplay Raw HTML to show for the user(s) that made this entry
*/
this.userDisplay = info.userDisplay;
/**
* @property {string} title Title of the entry
*/
this.title = info.title;
/**
* @property {string} titleMsg Display text for the title of this entry, might be
* changed by {@link GlobalWatchlistWikibaseHandler}
*/
this.titleMsg = info.title;
/**
* @property {number} ns Namespace for this entry, can be used by
* {@link GlobalWatchlistWikibaseHandler} to decide if a label should be added.
*/
this.ns = info.ns;
/**
* @property {string|boolean} commentDisplay Either `false` or a raw HTML string for
* the parsed comment that should be shown
*/
this.commentDisplay = info.commentDisplay;
/**
* @property {string|boolean} tagsDisplay Either `false` or a raw HTML string for the
* parsed tags information that should be shown
*/
this.tagsDisplay = info.tagsDisplay;
}
module.exports = GlobalWatchlistEntryBase;