@ff00ff/mammoth
Advanced tools
Comparing version 1.0.0-rc.8 to 1.0.0-rc.9
@@ -14,3 +14,3 @@ import { Token } from './tokens'; | ||
} | ||
export interface ColumnDefinition<DataType, IsNotNull extends boolean, HasDefault extends boolean> { | ||
export interface ColumnDefinition<DataType, IsNotNull extends boolean = false, HasDefault extends boolean = false> { | ||
notNull(): ColumnDefinition<DataType, true, HasDefault>; | ||
@@ -25,3 +25,3 @@ primaryKey(): ColumnDefinition<DataType, true, HasDefault>; | ||
} | ||
export declare const makeColumnDefinition: <DataType, IsNotNull extends boolean, HasDefault extends boolean>(dataType: string) => ColumnDefinition<DataType, IsNotNull, HasDefault>; | ||
export declare const makeColumnDefinition: <DataType, IsNotNull extends boolean = false, HasDefault extends boolean = false>(dataType: string) => ColumnDefinition<DataType, IsNotNull, HasDefault>; | ||
export declare class Column<Name extends string, TableName, DataType, IsNotNull extends boolean, HasDefault extends boolean, JoinType> extends Expression<DataType, IsNotNull, Name> { | ||
@@ -28,0 +28,0 @@ private readonly columnName; |
@@ -1,19 +0,75 @@ | ||
export declare const dataType: <T>(dataType: string) => import("./column").ColumnDefinition<T, false, false>; | ||
export declare const uuid: () => import("./column").ColumnDefinition<string, false, false>; | ||
export declare const text: () => import("./column").ColumnDefinition<string, false, false>; | ||
export declare const integer: () => import("./column").ColumnDefinition<number, false, false>; | ||
export declare const timestampWithTimeZone: () => import("./column").ColumnDefinition<Date, false, false>; | ||
export declare const timestamptz: () => import("./column").ColumnDefinition<Date, false, false>; | ||
export declare const boolean: () => import("./column").ColumnDefinition<boolean, false, false>; | ||
export declare const citext: () => import("./column").ColumnDefinition<string, false, false>; | ||
export declare const caseInsensitiveText: () => import("./column").ColumnDefinition<string, false, false>; | ||
export declare const decimal: () => import("./column").ColumnDefinition<number, false, false>; | ||
export declare const serial: () => import("./column").ColumnDefinition<number, false, false>; | ||
export declare const bigserial: () => import("./column").ColumnDefinition<number, false, false>; | ||
export declare const smallserial: () => import("./column").ColumnDefinition<number, false, false>; | ||
export declare const json: <T = unknown>() => import("./column").ColumnDefinition<T, false, false>; | ||
export declare const jsonb: <T = unknown>() => import("./column").ColumnDefinition<T, false, false>; | ||
export declare const timestampWithoutTimeZone: () => import("./column").ColumnDefinition<Date, false, false>; | ||
export declare const timestamp: () => import("./column").ColumnDefinition<Date, false, false>; | ||
export declare const date: () => import("./column").ColumnDefinition<Date, false, false>; | ||
export declare const time: () => import("./column").ColumnDefinition<Date, false, false>; | ||
/// <reference types="node" /> | ||
import { ColumnDefinition } from './column'; | ||
export declare function dataType<T>(dataType: string): ColumnDefinition<T, false, false>; | ||
export declare function int8(): ColumnDefinition<number>; | ||
export declare function bigint(): ColumnDefinition<number>; | ||
export declare function bigserial(): ColumnDefinition<number>; | ||
export declare function serial8(): ColumnDefinition<number>; | ||
export declare function bit(n?: number): ColumnDefinition<string>; | ||
export declare function bitVarying(n?: number): ColumnDefinition<string>; | ||
export declare function varbit(n?: number): ColumnDefinition<string>; | ||
export declare function boolean(): ColumnDefinition<boolean>; | ||
export declare function bool(): ColumnDefinition<boolean>; | ||
export declare function box(): ColumnDefinition<string>; | ||
export declare function bytea(): ColumnDefinition<Buffer>; | ||
export declare function character(n?: number): ColumnDefinition<string>; | ||
export declare function char(n?: number): ColumnDefinition<string>; | ||
export declare function characterVarying(n?: number): ColumnDefinition<string>; | ||
export declare function varchar(n?: number): ColumnDefinition<string>; | ||
export declare function circle(): ColumnDefinition<{ | ||
x: number; | ||
y: number; | ||
radius: number; | ||
}>; | ||
export declare function cidr(): ColumnDefinition<string>; | ||
export declare function caseInsensitiveText(): ColumnDefinition<string>; | ||
export declare function citext(): ColumnDefinition<string>; | ||
export declare function date(): ColumnDefinition<Date>; | ||
export declare function doublePrecision(): ColumnDefinition<number>; | ||
export declare function float8(): ColumnDefinition<number>; | ||
export declare function inet(): ColumnDefinition<string>; | ||
export declare function decimal<T = string>(): ColumnDefinition<T>; | ||
export declare function decimal<T = string>(p: number): ColumnDefinition<T>; | ||
export declare function decimal<T = string>(p: number, s: number): ColumnDefinition<T>; | ||
export declare function integer(): ColumnDefinition<number>; | ||
export declare function int(): ColumnDefinition<number>; | ||
export declare function int4(): ColumnDefinition<number>; | ||
export declare function interval(): ColumnDefinition<unknown>; | ||
export declare function json(): ColumnDefinition<unknown>; | ||
export declare function jsonb(): ColumnDefinition<unknown>; | ||
export declare function line(): ColumnDefinition<string>; | ||
export declare function lseg(): ColumnDefinition<string>; | ||
export declare function macaddr(): ColumnDefinition<string>; | ||
export declare function macaddr8(): ColumnDefinition<string>; | ||
export declare function money(): ColumnDefinition<string>; | ||
export declare function numeric<T = string>(): ColumnDefinition<T>; | ||
export declare function numeric<T = string>(p: number): ColumnDefinition<T>; | ||
export declare function numeric<T = string>(p: number, s: number): ColumnDefinition<T>; | ||
export declare function point(): ColumnDefinition<{ | ||
x: number; | ||
y: number; | ||
}>; | ||
export declare function path(): ColumnDefinition<string>; | ||
export declare function pgLsn(): ColumnDefinition<string>; | ||
export declare function polygon(): ColumnDefinition<string>; | ||
export declare function real(): ColumnDefinition<number>; | ||
export declare function float4(): ColumnDefinition<number>; | ||
export declare function smallint(): ColumnDefinition<number>; | ||
export declare function int2(): ColumnDefinition<number>; | ||
export declare function serial(): ColumnDefinition<number>; | ||
export declare function serial4(): ColumnDefinition<number>; | ||
export declare function smallserial(): ColumnDefinition<number>; | ||
export declare function serial2(): ColumnDefinition<number>; | ||
export declare function text(): ColumnDefinition<string>; | ||
export declare function time(): ColumnDefinition<string>; | ||
export declare function timeWithoutTimeZone(): ColumnDefinition<string>; | ||
export declare function timeWithTimeZone(): ColumnDefinition<string>; | ||
export declare function timestamp(): ColumnDefinition<Date>; | ||
export declare function timestamptz(): ColumnDefinition<Date>; | ||
export declare function timestampWithoutTimeZone(): ColumnDefinition<Date>; | ||
export declare function timestampWithTimeZone(): ColumnDefinition<Date>; | ||
export declare function tsquery(): ColumnDefinition<string>; | ||
export declare function tsvector(): ColumnDefinition<string>; | ||
export declare function txidSnapshot(): ColumnDefinition<string>; | ||
export declare function uuid(): ColumnDefinition<string>; | ||
export declare function xml(): ColumnDefinition<string>; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.time = exports.date = exports.timestamp = exports.timestampWithoutTimeZone = exports.jsonb = exports.json = exports.smallserial = exports.bigserial = exports.serial = exports.decimal = exports.caseInsensitiveText = exports.citext = exports.boolean = exports.timestamptz = exports.timestampWithTimeZone = exports.integer = exports.text = exports.uuid = exports.dataType = void 0; | ||
exports.xml = exports.uuid = exports.txidSnapshot = exports.tsvector = exports.tsquery = exports.timestampWithTimeZone = exports.timestampWithoutTimeZone = exports.timestamptz = exports.timestamp = exports.timeWithTimeZone = exports.timeWithoutTimeZone = exports.time = exports.text = exports.serial2 = exports.smallserial = exports.serial4 = exports.serial = exports.int2 = exports.smallint = exports.float4 = exports.real = exports.polygon = exports.pgLsn = exports.path = exports.point = exports.numeric = exports.money = exports.macaddr8 = exports.macaddr = exports.lseg = exports.line = exports.jsonb = exports.json = exports.interval = exports.int4 = exports.int = exports.integer = exports.decimal = exports.inet = exports.float8 = exports.doublePrecision = exports.date = exports.citext = exports.caseInsensitiveText = exports.cidr = exports.circle = exports.varchar = exports.characterVarying = exports.char = exports.character = exports.bytea = exports.box = exports.bool = exports.boolean = exports.varbit = exports.bitVarying = exports.bit = exports.serial8 = exports.bigserial = exports.bigint = exports.int8 = exports.dataType = void 0; | ||
const column_1 = require("./column"); | ||
exports.dataType = (dataType) => column_1.makeColumnDefinition(dataType); | ||
exports.uuid = () => column_1.makeColumnDefinition(`uuid`); | ||
exports.text = () => column_1.makeColumnDefinition(`text`); | ||
exports.integer = () => column_1.makeColumnDefinition(`integer`); | ||
exports.timestampWithTimeZone = () => column_1.makeColumnDefinition(`timestamp with time zone`); | ||
exports.timestamptz = () => column_1.makeColumnDefinition(`timestamp with time zone`); | ||
exports.boolean = () => column_1.makeColumnDefinition(`boolean`); | ||
exports.citext = () => column_1.makeColumnDefinition(`citext`); | ||
exports.caseInsensitiveText = () => column_1.makeColumnDefinition(`citext`); | ||
exports.decimal = () => column_1.makeColumnDefinition(`decimal`); | ||
exports.serial = () => column_1.makeColumnDefinition(`serial`); | ||
exports.bigserial = () => column_1.makeColumnDefinition(`bigserial`); | ||
exports.smallserial = () => column_1.makeColumnDefinition(`smallserial`); | ||
exports.json = () => column_1.makeColumnDefinition(`json`); | ||
exports.jsonb = () => column_1.makeColumnDefinition(`jsonb`); | ||
exports.timestampWithoutTimeZone = () => column_1.makeColumnDefinition(`timestamp without time zone`); | ||
exports.timestamp = () => column_1.makeColumnDefinition(`timestamp`); | ||
exports.date = () => column_1.makeColumnDefinition(`date`); | ||
exports.time = () => column_1.makeColumnDefinition(`time`); | ||
const variableLength = (string, ...n) => n.length > 0 ? `${string}(${n.join(`, `)})` : string; | ||
const makeDataType = column_1.makeColumnDefinition; | ||
function dataType(dataType) { | ||
return makeDataType(dataType); | ||
} | ||
exports.dataType = dataType; | ||
function int8() { | ||
return makeDataType(`int8`); | ||
} | ||
exports.int8 = int8; | ||
function bigint() { | ||
return makeDataType(`bigint`); | ||
} | ||
exports.bigint = bigint; | ||
function bigserial() { | ||
return makeDataType(`bigserial`); | ||
} | ||
exports.bigserial = bigserial; | ||
function serial8() { | ||
return makeDataType(`serial8`); | ||
} | ||
exports.serial8 = serial8; | ||
function bit(n) { | ||
return makeDataType(variableLength(`bit`, n)); | ||
} | ||
exports.bit = bit; | ||
function bitVarying(n) { | ||
return makeDataType(variableLength(`bit varying`, n)); | ||
} | ||
exports.bitVarying = bitVarying; | ||
function varbit(n) { | ||
return makeDataType(variableLength(`varbit`, n)); | ||
} | ||
exports.varbit = varbit; | ||
function boolean() { | ||
return makeDataType(`boolean`); | ||
} | ||
exports.boolean = boolean; | ||
function bool() { | ||
return makeDataType(`bool`); | ||
} | ||
exports.bool = bool; | ||
function box() { | ||
return makeDataType(`box`); | ||
} | ||
exports.box = box; | ||
function bytea() { | ||
return makeDataType(`bytea`); | ||
} | ||
exports.bytea = bytea; | ||
function character(n) { | ||
return makeDataType(variableLength(`character`, n)); | ||
} | ||
exports.character = character; | ||
function char(n) { | ||
return makeDataType(variableLength(`char`, n)); | ||
} | ||
exports.char = char; | ||
function characterVarying(n) { | ||
return makeDataType(variableLength(`character varying`, n)); | ||
} | ||
exports.characterVarying = characterVarying; | ||
function varchar(n) { | ||
return makeDataType(variableLength(`varchar`, n)); | ||
} | ||
exports.varchar = varchar; | ||
function circle() { | ||
return makeDataType(`circle`); | ||
} | ||
exports.circle = circle; | ||
function cidr() { | ||
return makeDataType(`cidr`); | ||
} | ||
exports.cidr = cidr; | ||
function caseInsensitiveText() { | ||
return makeDataType(`citext`); | ||
} | ||
exports.caseInsensitiveText = caseInsensitiveText; | ||
function citext() { | ||
return makeDataType(`citext`); | ||
} | ||
exports.citext = citext; | ||
function date() { | ||
return makeDataType(`date`); | ||
} | ||
exports.date = date; | ||
function doublePrecision() { | ||
return makeDataType(`double precision`); | ||
} | ||
exports.doublePrecision = doublePrecision; | ||
function float8() { | ||
return makeDataType(`float8`); | ||
} | ||
exports.float8 = float8; | ||
function inet() { | ||
return makeDataType(`inet`); | ||
} | ||
exports.inet = inet; | ||
function decimal(...n) { | ||
return makeDataType(variableLength(`decimal`, ...n)); | ||
} | ||
exports.decimal = decimal; | ||
function integer() { | ||
return makeDataType(`integer`); | ||
} | ||
exports.integer = integer; | ||
function int() { | ||
return makeDataType(`int`); | ||
} | ||
exports.int = int; | ||
function int4() { | ||
return makeDataType(`int4`); | ||
} | ||
exports.int4 = int4; | ||
function interval() { | ||
return makeDataType(`interval`); | ||
} | ||
exports.interval = interval; | ||
function json() { | ||
return makeDataType(`json`); | ||
} | ||
exports.json = json; | ||
function jsonb() { | ||
return makeDataType(`jsonb`); | ||
} | ||
exports.jsonb = jsonb; | ||
function line() { | ||
return makeDataType(`line`); | ||
} | ||
exports.line = line; | ||
function lseg() { | ||
return makeDataType(`lseg`); | ||
} | ||
exports.lseg = lseg; | ||
function macaddr() { | ||
return makeDataType(`macaddr`); | ||
} | ||
exports.macaddr = macaddr; | ||
function macaddr8() { | ||
return makeDataType(`macaddr8`); | ||
} | ||
exports.macaddr8 = macaddr8; | ||
function money() { | ||
return makeDataType(`money`); | ||
} | ||
exports.money = money; | ||
function numeric(...n) { | ||
return makeDataType(variableLength(`numeric`, ...n)); | ||
} | ||
exports.numeric = numeric; | ||
function point() { | ||
return makeDataType(`point`); | ||
} | ||
exports.point = point; | ||
function path() { | ||
return makeDataType(`path`); | ||
} | ||
exports.path = path; | ||
function pgLsn() { | ||
return makeDataType(`pg_lsn`); | ||
} | ||
exports.pgLsn = pgLsn; | ||
function polygon() { | ||
return makeDataType(`polygon`); | ||
} | ||
exports.polygon = polygon; | ||
function real() { | ||
return makeDataType(`real`); | ||
} | ||
exports.real = real; | ||
function float4() { | ||
return makeDataType(`float4`); | ||
} | ||
exports.float4 = float4; | ||
function smallint() { | ||
return makeDataType(`smallint`); | ||
} | ||
exports.smallint = smallint; | ||
function int2() { | ||
return makeDataType(`int2`); | ||
} | ||
exports.int2 = int2; | ||
function serial() { | ||
return makeDataType(`serial`); | ||
} | ||
exports.serial = serial; | ||
function serial4() { | ||
return makeDataType(`serial4`); | ||
} | ||
exports.serial4 = serial4; | ||
function smallserial() { | ||
return makeDataType(`smallserial`); | ||
} | ||
exports.smallserial = smallserial; | ||
function serial2() { | ||
return makeDataType(`serial2`); | ||
} | ||
exports.serial2 = serial2; | ||
function text() { | ||
return makeDataType(`text`); | ||
} | ||
exports.text = text; | ||
function time() { | ||
return makeDataType(`time`); | ||
} | ||
exports.time = time; | ||
function timeWithoutTimeZone() { | ||
return makeDataType(`time without time zone`); | ||
} | ||
exports.timeWithoutTimeZone = timeWithoutTimeZone; | ||
function timeWithTimeZone() { | ||
return makeDataType(`time with time zone`); | ||
} | ||
exports.timeWithTimeZone = timeWithTimeZone; | ||
function timestamp() { | ||
return makeDataType(`timestamp`); | ||
} | ||
exports.timestamp = timestamp; | ||
function timestamptz() { | ||
return makeDataType(`timestamptz`); | ||
} | ||
exports.timestamptz = timestamptz; | ||
function timestampWithoutTimeZone() { | ||
return makeDataType(`timestamp without time zone`); | ||
} | ||
exports.timestampWithoutTimeZone = timestampWithoutTimeZone; | ||
function timestampWithTimeZone() { | ||
return makeDataType(`timestamp with time zone`); | ||
} | ||
exports.timestampWithTimeZone = timestampWithTimeZone; | ||
function tsquery() { | ||
return makeDataType(`tsquery`); | ||
} | ||
exports.tsquery = tsquery; | ||
function tsvector() { | ||
return makeDataType(`tsvector`); | ||
} | ||
exports.tsvector = tsvector; | ||
function txidSnapshot() { | ||
return makeDataType(`txid_snapshot`); | ||
} | ||
exports.txidSnapshot = txidSnapshot; | ||
function uuid() { | ||
return makeDataType(`uuid`); | ||
} | ||
exports.uuid = uuid; | ||
function xml() { | ||
return makeDataType(`xml`); | ||
} | ||
exports.xml = xml; |
{ | ||
"name": "@ff00ff/mammoth", | ||
"license": "MIT", | ||
"version": "1.0.0-rc.8", | ||
"version": "1.0.0-rc.9", | ||
"main": "./.build/index.js", | ||
@@ -21,6 +21,6 @@ "types": "./.build/index.d.ts", | ||
"devDependencies": { | ||
"@types/jest": "^26.0.14", | ||
"@types/node": "^14.11.10", | ||
"@types/jest": "^26.0.15", | ||
"@types/node": "^14.14.2", | ||
"dts-jest": "^23.3.0", | ||
"jest": "^26.5.3", | ||
"jest": "^26.6.1", | ||
"prettier": "^2.1.2", | ||
@@ -27,0 +27,0 @@ "ts-jest": "^26.4.1", |
@@ -9,8 +9,8 @@ ![Mammoth](https://s3-eu-west-1.amazonaws.com/mammoth-static.ff00ff.nl/mammoth-logo.png) | ||
📖 Work-in-progress documentation site is available at https://mammoth.tools/. | ||
``` | ||
npm i @ff00ff/mammoth@1.0.0-rc.8 | ||
npm i @ff00ff/mammoth@1.0.0-rc.9 | ||
``` | ||
<br/> | ||
Mammoth is a type-safe query builder. It only supports Postgres which we consider a feature. It's syntax is as close to SQL as possible so you already know how to use it. It's autocomplete features are great. It helps you avoid mistakes so you can develop applications faster. | ||
@@ -17,0 +17,0 @@ |
137851
2391