redisai-js
Version:
A high-performance Typescript client for RedisAI
72 lines • 2.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Dag = void 0;
var model_1 = require("./model");
var script_1 = require("./script");
var tensor_1 = require("./tensor");
/**
* Direct mapping to RedisAI DAGs
*/
var Dag = /** @class */ (function () {
function Dag() {
this._commands = [];
this._tensorgetflag = [];
}
Dag.prototype.tensorset = function (keyName, t) {
var args = ['AI.TENSORSET'];
t.tensorSetFlatArgs(keyName).forEach(function (arg) { return args.push(arg); });
this._commands.push(args);
this._tensorgetflag.push(false);
return this;
};
Dag.prototype.tensorget = function (keyName) {
var args = ['AI.TENSORGET'];
tensor_1.Tensor.tensorGetFlatArgs(keyName).forEach(function (arg) { return args.push(arg); });
this._commands.push(args);
this._tensorgetflag.push(true);
return this;
};
Dag.prototype.modelrun = function (modelName, inputs, outputs) {
var args = ['AI.MODELRUN'];
model_1.Model.modelRunFlatArgs(modelName, inputs, outputs).forEach(function (arg) { return args.push(arg); });
this._commands.push(args);
this._tensorgetflag.push(false);
return this;
};
Dag.prototype.scriptrun = function (scriptName, functionName, inputs, outputs) {
var args = ['AI.SCRIPTRUN'];
script_1.Script.scriptRunFlatArgs(scriptName, functionName, inputs, outputs).forEach(function (arg) { return args.push(arg); });
this._commands.push(args);
this._tensorgetflag.push(false);
return this;
};
Dag.prototype.dagRunFlatArgs = function (loadKeys, persistKeys) {
var args = [];
if (loadKeys != null && loadKeys.length > 0) {
args.push('LOAD');
args.push(loadKeys.length);
loadKeys.forEach(function (value) { return args.push(value); });
}
if (persistKeys != null && persistKeys.length > 0) {
args.push('PERSIST');
args.push(persistKeys.length);
persistKeys.forEach(function (value) { return args.push(value); });
}
this._commands.forEach(function (value) {
args.push('|>');
value.forEach(function (arg) { return args.push(arg); });
});
return args;
};
Dag.prototype.ProcessDagReply = function (reply) {
for (var i = 0; i < reply.length; i++) {
if (this._tensorgetflag[i] === true) {
reply[i] = tensor_1.Tensor.NewTensorFromTensorGetReply(reply[i]);
}
}
return reply;
};
return Dag;
}());
exports.Dag = Dag;
//# sourceMappingURL=dag.js.map