| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import { entityKind } from "../../entity.js";
- import { getColumnNameAndConfig } from "../../utils.js";
- import { MySqlDateBaseColumn, MySqlDateColumnBaseBuilder } from "./date.common.js";
- class MySqlTimestampBuilder extends MySqlDateColumnBaseBuilder {
- static [entityKind] = "MySqlTimestampBuilder";
- constructor(name, config) {
- super(name, "date", "MySqlTimestamp");
- this.config.fsp = config?.fsp;
- }
- /** @internal */
- build(table) {
- return new MySqlTimestamp(
- table,
- this.config
- );
- }
- }
- class MySqlTimestamp extends MySqlDateBaseColumn {
- static [entityKind] = "MySqlTimestamp";
- fsp = this.config.fsp;
- getSQLType() {
- const precision = this.fsp === void 0 ? "" : `(${this.fsp})`;
- return `timestamp${precision}`;
- }
- mapFromDriverValue(value) {
- return /* @__PURE__ */ new Date(value + "+0000");
- }
- mapToDriverValue(value) {
- return value.toISOString().slice(0, -1).replace("T", " ");
- }
- }
- class MySqlTimestampStringBuilder extends MySqlDateColumnBaseBuilder {
- static [entityKind] = "MySqlTimestampStringBuilder";
- constructor(name, config) {
- super(name, "string", "MySqlTimestampString");
- this.config.fsp = config?.fsp;
- }
- /** @internal */
- build(table) {
- return new MySqlTimestampString(
- table,
- this.config
- );
- }
- }
- class MySqlTimestampString extends MySqlDateBaseColumn {
- static [entityKind] = "MySqlTimestampString";
- fsp = this.config.fsp;
- getSQLType() {
- const precision = this.fsp === void 0 ? "" : `(${this.fsp})`;
- return `timestamp${precision}`;
- }
- }
- function timestamp(a, b = {}) {
- const { name, config } = getColumnNameAndConfig(a, b);
- if (config?.mode === "string") {
- return new MySqlTimestampStringBuilder(name, config);
- }
- return new MySqlTimestampBuilder(name, config);
- }
- export {
- MySqlTimestamp,
- MySqlTimestampBuilder,
- MySqlTimestampString,
- MySqlTimestampStringBuilder,
- timestamp
- };
- //# sourceMappingURL=timestamp.js.map
|