ravendb
Version:
RavenDB client for Node.js
43 lines • 1.34 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.JavaScriptArray = void 0;
class JavaScriptArray {
_suffix;
_argCounter = 0;
_pathToArray;
_scriptLines = [];
_parameters = {};
constructor(suffix, pathToArray) {
this._suffix = suffix;
this._pathToArray = pathToArray;
}
push(...u) {
if (!u || u.length === 0) {
return;
}
const args = u.map(value => {
const argumentName = this._getNextArgumentName();
this._parameters[argumentName] = value;
return "args." + argumentName;
}).join(",");
this._scriptLines.push("this." + this._pathToArray + ".push(" + args + ");");
return this;
}
removeAt(index) {
const argumentName = this._getNextArgumentName();
this._scriptLines.push("this." + this._pathToArray + ".splice(args." + argumentName + ", 1);");
this._parameters[argumentName] = index;
return this;
}
_getNextArgumentName() {
return "val_" + this._argCounter++ + "_" + this._suffix;
}
get script() {
return this._scriptLines.join("\n");
}
get parameters() {
return this._parameters;
}
}
exports.JavaScriptArray = JavaScriptArray;
//# sourceMappingURL=JavaScriptArray.js.map