| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- import { entityKind } from "../../entity.js";
- import { getColumnNameAndConfig } from "../../utils.js";
- import { SQLiteColumn, SQLiteColumnBuilder } from "./common.js";
- class SQLiteTextBuilder extends SQLiteColumnBuilder {
- static [entityKind] = "SQLiteTextBuilder";
- constructor(name, config) {
- super(name, "string", "SQLiteText");
- this.config.enumValues = config.enum;
- this.config.length = config.length;
- }
- /** @internal */
- build(table) {
- return new SQLiteText(
- table,
- this.config
- );
- }
- }
- class SQLiteText extends SQLiteColumn {
- static [entityKind] = "SQLiteText";
- enumValues = this.config.enumValues;
- length = this.config.length;
- constructor(table, config) {
- super(table, config);
- }
- getSQLType() {
- return `text${this.config.length ? `(${this.config.length})` : ""}`;
- }
- }
- class SQLiteTextJsonBuilder extends SQLiteColumnBuilder {
- static [entityKind] = "SQLiteTextJsonBuilder";
- constructor(name) {
- super(name, "json", "SQLiteTextJson");
- }
- /** @internal */
- build(table) {
- return new SQLiteTextJson(
- table,
- this.config
- );
- }
- }
- class SQLiteTextJson extends SQLiteColumn {
- static [entityKind] = "SQLiteTextJson";
- getSQLType() {
- return "text";
- }
- mapFromDriverValue(value) {
- return JSON.parse(value);
- }
- mapToDriverValue(value) {
- return JSON.stringify(value);
- }
- }
- function text(a, b = {}) {
- const { name, config } = getColumnNameAndConfig(a, b);
- if (config.mode === "json") {
- return new SQLiteTextJsonBuilder(name);
- }
- return new SQLiteTextBuilder(name, config);
- }
- export {
- SQLiteText,
- SQLiteTextBuilder,
- SQLiteTextJson,
- SQLiteTextJsonBuilder,
- text
- };
- //# sourceMappingURL=text.js.map
|