Initial commit
This commit is contained in:
131
node_modules/drizzle-orm/column-builder.cjs
generated
vendored
Normal file
131
node_modules/drizzle-orm/column-builder.cjs
generated
vendored
Normal file
@ -0,0 +1,131 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var column_builder_exports = {};
|
||||
__export(column_builder_exports, {
|
||||
ColumnBuilder: () => ColumnBuilder
|
||||
});
|
||||
module.exports = __toCommonJS(column_builder_exports);
|
||||
var import_entity = require("./entity.cjs");
|
||||
class ColumnBuilder {
|
||||
static [import_entity.entityKind] = "ColumnBuilder";
|
||||
config;
|
||||
constructor(name, dataType, columnType) {
|
||||
this.config = {
|
||||
name,
|
||||
keyAsName: name === "",
|
||||
notNull: false,
|
||||
default: void 0,
|
||||
hasDefault: false,
|
||||
primaryKey: false,
|
||||
isUnique: false,
|
||||
uniqueName: void 0,
|
||||
uniqueType: void 0,
|
||||
dataType,
|
||||
columnType,
|
||||
generated: void 0
|
||||
};
|
||||
}
|
||||
/**
|
||||
* Changes the data type of the column. Commonly used with `json` columns. Also, useful for branded types.
|
||||
*
|
||||
* @example
|
||||
* ```ts
|
||||
* const users = pgTable('users', {
|
||||
* id: integer('id').$type<UserId>().primaryKey(),
|
||||
* details: json('details').$type<UserDetails>().notNull(),
|
||||
* });
|
||||
* ```
|
||||
*/
|
||||
$type() {
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* Adds a `not null` clause to the column definition.
|
||||
*
|
||||
* Affects the `select` model of the table - columns *without* `not null` will be nullable on select.
|
||||
*/
|
||||
notNull() {
|
||||
this.config.notNull = true;
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* Adds a `default <value>` clause to the column definition.
|
||||
*
|
||||
* Affects the `insert` model of the table - columns *with* `default` are optional on insert.
|
||||
*
|
||||
* If you need to set a dynamic default value, use {@link $defaultFn} instead.
|
||||
*/
|
||||
default(value) {
|
||||
this.config.default = value;
|
||||
this.config.hasDefault = true;
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* Adds a dynamic default value to the column.
|
||||
* The function will be called when the row is inserted, and the returned value will be used as the column value.
|
||||
*
|
||||
* **Note:** This value does not affect the `drizzle-kit` behavior, it is only used at runtime in `drizzle-orm`.
|
||||
*/
|
||||
$defaultFn(fn) {
|
||||
this.config.defaultFn = fn;
|
||||
this.config.hasDefault = true;
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* Alias for {@link $defaultFn}.
|
||||
*/
|
||||
$default = this.$defaultFn;
|
||||
/**
|
||||
* Adds a dynamic update value to the column.
|
||||
* The function will be called when the row is updated, and the returned value will be used as the column value if none is provided.
|
||||
* If no `default` (or `$defaultFn`) value is provided, the function will be called when the row is inserted as well, and the returned value will be used as the column value.
|
||||
*
|
||||
* **Note:** This value does not affect the `drizzle-kit` behavior, it is only used at runtime in `drizzle-orm`.
|
||||
*/
|
||||
$onUpdateFn(fn) {
|
||||
this.config.onUpdateFn = fn;
|
||||
this.config.hasDefault = true;
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* Alias for {@link $onUpdateFn}.
|
||||
*/
|
||||
$onUpdate = this.$onUpdateFn;
|
||||
/**
|
||||
* Adds a `primary key` clause to the column definition. This implicitly makes the column `not null`.
|
||||
*
|
||||
* In SQLite, `integer primary key` implicitly makes the column auto-incrementing.
|
||||
*/
|
||||
primaryKey() {
|
||||
this.config.primaryKey = true;
|
||||
this.config.notNull = true;
|
||||
return this;
|
||||
}
|
||||
/** @internal Sets the name of the column to the key within the table definition if a name was not given. */
|
||||
setName(name) {
|
||||
if (this.config.name !== "")
|
||||
return;
|
||||
this.config.name = name;
|
||||
}
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
ColumnBuilder
|
||||
});
|
||||
//# sourceMappingURL=column-builder.cjs.map
|
||||
Reference in New Issue
Block a user