ravendb
Version:
RavenDB client for Node.js
53 lines • 2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SuggestToken = void 0;
const QueryToken_js_1 = require("./QueryToken.js");
const index_js_1 = require("../../../Exceptions/index.js");
const StringUtil_js_1 = require("../../../Utility/StringUtil.js");
const QueryFieldUtil_js_1 = require("../../Queries/QueryFieldUtil.js");
class SuggestToken extends QueryToken_js_1.QueryToken {
_fieldName;
_alias;
_termParameterName;
_optionsParameterName;
constructor(fieldName, alias, termParameterName, optionsParameterName) {
super();
if (!fieldName) {
(0, index_js_1.throwError)("InvalidArgumentException", "fieldName cannot be null");
}
if (!termParameterName) {
(0, index_js_1.throwError)("InvalidArgumentException", "termParameterName cannot be null");
}
this._fieldName = fieldName;
this._alias = alias;
this._termParameterName = termParameterName;
this._optionsParameterName = optionsParameterName;
}
static create(fieldName, alias, termParameterName, optionsParameterName) {
return new SuggestToken(fieldName, QueryFieldUtil_js_1.QueryFieldUtil.escapeIfNecessary(alias), termParameterName, optionsParameterName);
}
get fieldName() {
return this._fieldName;
}
writeTo(writer) {
writer
.append("suggest(")
.append(this._fieldName)
.append(", $")
.append(this._termParameterName);
if (this._optionsParameterName) {
writer
.append(", $")
.append(this._optionsParameterName);
}
writer.append(")");
if (StringUtil_js_1.StringUtil.isNullOrWhitespace(this._alias) || this.fieldName === this._alias) {
return;
}
writer
.append(" as ")
.append(this._alias);
}
}
exports.SuggestToken = SuggestToken;
//# sourceMappingURL=SuggestToken.js.map