@kangthink/q-engine
Version:
A question-answer generation engine that stimulates thinking
42 lines • 1.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NodeModel = exports.NodeBuilder = void 0;
const types_1 = require("../types");
const uuid_1 = require("uuid");
class NodeBuilder {
constructor(type, content, metadata) {
this.id = (0, uuid_1.v4)();
this.type = type;
this.content = content;
this.metadata = metadata;
this.createdAt = new Date();
this.updatedAt = new Date();
}
static createQuestion(content, metadata) {
return new NodeBuilder(types_1.NodeType.QUESTION, content, metadata);
}
static createAnswer(content, metadata) {
return new NodeBuilder(types_1.NodeType.ANSWER, content, metadata);
}
update(content, metadata) {
this.content = content;
if (metadata) {
this.metadata = { ...this.metadata, ...metadata };
}
this.updatedAt = new Date();
}
toJSON() {
return {
id: this.id,
type: this.type,
content: this.content,
metadata: this.metadata,
createdAt: this.createdAt,
updatedAt: this.updatedAt,
};
}
}
exports.NodeBuilder = NodeBuilder;
// Backward compatibility alias
exports.NodeModel = NodeBuilder;
//# sourceMappingURL=Node.js.map