New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@ff00ff/mammoth

Package Overview
Dependencies
Maintainers
2
Versions
45
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ff00ff/mammoth - npm Package Compare versions

Comparing version 1.2.0 to 1.3.0

2

.build/column.d.ts

@@ -11,2 +11,3 @@ import { Expression } from './expression';

referencesTable?: string;
referencesSelf?: boolean;
referencesColumn?: string;

@@ -22,2 +23,3 @@ enumValues?: string[];

references<T extends TableDefinition<any>, ColumnName extends T extends TableDefinition<infer Columns> ? keyof Columns : never>(table: T, columnName: ColumnName): ColumnDefinition<DataType, IsNotNull, HasDefault>;
referencesSelf(columnName: string): ColumnDefinition<DataType, IsNotNull, HasDefault>;
}

@@ -24,0 +26,0 @@ export declare const makeColumnDefinition: <DataType, IsNotNull extends boolean = false, HasDefault extends boolean = false>(dataType: string, enumValues?: string[] | undefined) => ColumnDefinition<DataType, IsNotNull, HasDefault>;

@@ -14,2 +14,3 @@ "use strict";

let referencesTable = undefined;
let referencesSelf = false;
let referencesColumn = undefined;

@@ -26,2 +27,3 @@ return {

referencesTable,
referencesSelf,
referencesColumn,

@@ -56,2 +58,7 @@ enumValues,

},
referencesSelf(columnName) {
referencesSelf = true;
referencesColumn = columnName;
return this;
},
};

@@ -83,3 +90,3 @@ };

getSnakeCaseName() {
return naming_1.toSnakeCase(this.columnName);
return naming_1.wrapQuotes(naming_1.toSnakeCase(this.columnName));
}

@@ -86,0 +93,0 @@ /** @internal */

54

.build/data-types.d.ts
/// <reference types="node" />
import { ColumnDefinition } from './column';
export declare type Int4 = number;
export declare type Int8 = string;
export declare type Float4 = number;
export declare type Float8 = number;
export declare type Numeric = string;
export declare type AnyNumber = Int4 | Int8 | Float4 | Float8 | Numeric;
export declare function dataType<T>(dataType: string): ColumnDefinition<T, false, false>;
export declare function int8(): ColumnDefinition<string>;
export declare function int8(): ColumnDefinition<Int8>;
export declare function int8<T>(): ColumnDefinition<T>;
export declare function bigint(): ColumnDefinition<string>;
export declare function bigint(): ColumnDefinition<Int8>;
export declare function bigint<T>(): ColumnDefinition<T>;
export declare function bigserial(): ColumnDefinition<string, false, true>;
export declare function bigserial(): ColumnDefinition<Int8, false, true>;
export declare function bigserial<T>(): ColumnDefinition<T, false, true>;
export declare function serial8(): ColumnDefinition<string, false, true>;
export declare function serial8(): ColumnDefinition<Int8, false, true>;
export declare function serial8<T>(): ColumnDefinition<T, false, true>;

@@ -48,19 +54,19 @@ export declare function bit(n?: number): ColumnDefinition<string>;

export declare function date<T>(): ColumnDefinition<T>;
export declare function doublePrecision(): ColumnDefinition<number>;
export declare function doublePrecision(): ColumnDefinition<Float8>;
export declare function doublePrecision<T>(): ColumnDefinition<T>;
export declare function float8(): ColumnDefinition<number>;
export declare function float8(): ColumnDefinition<Float8>;
export declare function float8<T>(): ColumnDefinition<T>;
export declare function inet(): ColumnDefinition<string>;
export declare function inet<T>(): ColumnDefinition<T>;
export declare function decimal(): ColumnDefinition<string>;
export declare function decimal(p: number): ColumnDefinition<string>;
export declare function decimal(p: number, s: number): ColumnDefinition<string>;
export declare function decimal(): ColumnDefinition<Numeric>;
export declare function decimal(p: number): ColumnDefinition<Numeric>;
export declare function decimal(p: number, s: number): ColumnDefinition<Numeric>;
export declare function decimal<T>(): ColumnDefinition<T>;
export declare function decimal<T>(p: number): ColumnDefinition<T>;
export declare function decimal<T>(p: number, s: number): ColumnDefinition<T>;
export declare function integer(): ColumnDefinition<number>;
export declare function integer(): ColumnDefinition<Int4>;
export declare function integer<T>(): ColumnDefinition<T>;
export declare function int(): ColumnDefinition<number>;
export declare function int(): ColumnDefinition<Int4>;
export declare function int<T>(): ColumnDefinition<T>;
export declare function int4(): ColumnDefinition<number>;
export declare function int4(): ColumnDefinition<Int4>;
export declare function int4<T>(): ColumnDefinition<T>;

@@ -83,5 +89,5 @@ export declare function interval(): ColumnDefinition<unknown>;

export declare function money<T>(): ColumnDefinition<T>;
export declare function numeric(): ColumnDefinition<string>;
export declare function numeric(p: number): ColumnDefinition<string>;
export declare function numeric(p: number, s: number): ColumnDefinition<string>;
export declare function numeric(): ColumnDefinition<Numeric>;
export declare function numeric(p: number): ColumnDefinition<Numeric>;
export declare function numeric(p: number, s: number): ColumnDefinition<Numeric>;
export declare function numeric<T>(): ColumnDefinition<T>;

@@ -101,17 +107,17 @@ export declare function numeric<T>(p: number): ColumnDefinition<T>;

export declare function polygon<T>(): ColumnDefinition<T>;
export declare function real(): ColumnDefinition<number>;
export declare function real(): ColumnDefinition<Float4>;
export declare function real<T>(): ColumnDefinition<T>;
export declare function float4(): ColumnDefinition<number>;
export declare function float4(): ColumnDefinition<Float4>;
export declare function float4<T>(): ColumnDefinition<T>;
export declare function smallint(): ColumnDefinition<number>;
export declare function smallint(): ColumnDefinition<Int4>;
export declare function smallint<T>(): ColumnDefinition<T>;
export declare function int2(): ColumnDefinition<number>;
export declare function int2(): ColumnDefinition<Int4>;
export declare function int2<T>(): ColumnDefinition<T>;
export declare function serial(): ColumnDefinition<number, false, true>;
export declare function serial(): ColumnDefinition<Int4, false, true>;
export declare function serial<T>(): ColumnDefinition<T, false, true>;
export declare function serial4(): ColumnDefinition<number, false, true>;
export declare function serial4(): ColumnDefinition<Int4, false, true>;
export declare function serial4<T>(): ColumnDefinition<T, false, true>;
export declare function smallserial(): ColumnDefinition<number, false, true>;
export declare function smallserial(): ColumnDefinition<Int4, false, true>;
export declare function smallserial<T>(): ColumnDefinition<T, false, true>;
export declare function serial2(): ColumnDefinition<number, false, true>;
export declare function serial2(): ColumnDefinition<Int4, false, true>;
export declare function serial2<T>(): ColumnDefinition<T, false, true>;

@@ -145,1 +151,3 @@ export declare function text(): ColumnDefinition<string>;

export declare function enumType<EnumValue>(name: string, values: readonly EnumValue[]): ColumnDefinition<EnumValue>;
export declare function array<T>(dataType: ColumnDefinition<T>): ColumnDefinition<T[], false, false>;
export declare function array2d<T>(dataType: ColumnDefinition<T>): ColumnDefinition<T[][], false, false>;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
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;
exports.enumType = exports.xml = exports.uuid = exports.txidSnapshot = exports.tsvector = exports.tsquery = exports.timestampWithTimeZone = exports.timestampWithoutTimeZone = exports.timestamptz = exports.timestamp = exports.timeWithTimeZone = exports.timeWithoutTimeZone = exports.time = void 0;
exports.array2d = exports.array = exports.enumType = exports.xml = exports.uuid = exports.txidSnapshot = exports.tsvector = exports.tsquery = exports.timestampWithTimeZone = exports.timestampWithoutTimeZone = exports.timestamptz = exports.timestamp = exports.timeWithTimeZone = exports.timeWithoutTimeZone = exports.time = void 0;
const column_1 = require("./column");

@@ -261,1 +261,13 @@ const variableLength = (string, ...n) => n.length > 0 ? `${string}(${n.join(`, `)})` : string;

exports.enumType = enumType;
function array(dataType) {
return internalArray(dataType, 1);
}
exports.array = array;
function array2d(dataType) {
return internalArray(dataType, 2);
}
exports.array2d = array2d;
function internalArray(dataType, dimensions) {
const definition = dataType.getDefinition();
return makeDataType(definition.dataType + '[]'.repeat(dimensions));
}

@@ -12,2 +12,3 @@ import * as sqlFunctions from './sql-functions';

}>(tableDefinitions: TableDefinitions, queryExecutor: QueryExecutorFn) => {
raw<DataType = unknown, IsNotNull extends boolean = true, Name extends string = never>(strings: TemplateStringsArray, ...parameters: any[]): import("./expression").Expression<DataType, IsNotNull, Name>;
star(): sqlFunctions.Star;

@@ -17,14 +18,14 @@ star<T extends unknown>(table: T): T extends Table<any, infer Columns> ? import("./column").ColumnSet<Columns> : never;

stringAgg: (expression: import("./expression").Expression<string, boolean, any>, delimiter: string, ...orderBy: import("./expression").Expression<any, any, any>[]) => import("./expression").Expression<string, false, "stringAgg">;
bitAnd: (expression: import("./expression").Expression<number, boolean, any>) => import("./expression").Expression<number, false, "bitAnd">;
bitOr: (expression: import("./expression").Expression<number, boolean, any>) => import("./expression").Expression<number, false, "bitOr">;
bitAnd: <T_1 extends import("./data-types").AnyNumber>(expression: import("./expression").Expression<T_1, boolean, any>) => import("./expression").Expression<T_1, false, "bitAnd">;
bitOr: <T_2 extends import("./data-types").AnyNumber>(expression: import("./expression").Expression<T_2, boolean, any>) => import("./expression").Expression<T_2, false, "bitOr">;
boolAnd: (expression: import("./expression").Expression<boolean, boolean, any>) => import("./expression").Expression<number, false, "boolAnd">;
boolOr: (expression: import("./expression").Expression<boolean, boolean, any>) => import("./expression").Expression<number, false, "boolOr">;
every: (expression: import("./expression").Expression<boolean, boolean, any>) => import("./expression").Expression<number, false, "every">;
arrayAgg: <DataType>(expression: import("./expression").Expression<DataType, boolean, any>) => import("./expression").Expression<DataType[], false, "arrayAgg">;
arrayAgg: <DataType_1>(expression: import("./expression").Expression<DataType_1, boolean, any>) => import("./expression").Expression<DataType_1[], false, "arrayAgg">;
count: (expression?: import("./expression").Expression<any, any, any> | undefined) => import("./expression").Expression<string, true, "count">;
min: <DataType_1>(expression: import("./expression").Expression<DataType_1, boolean, any>) => import("./expression").Expression<DataType_1, false, "min">;
max: <DataType_2>(expression: import("./expression").Expression<DataType_2, boolean, any>) => import("./expression").Expression<DataType_2, false, "max">;
avg: (expression: import("./expression").Expression<number, boolean, any>) => import("./expression").Expression<number, false, "avg">;
sum: (expression: import("./expression").Expression<number, boolean, any>) => import("./expression").Expression<number, false, "sum">;
xmlagg: <DataType_3>(expression: import("./expression").Expression<DataType_3, boolean, any>) => import("./expression").Expression<number, false, "xmlagg">;
min: <DataType_2>(expression: import("./expression").Expression<DataType_2, boolean, any>) => import("./expression").Expression<DataType_2, false, "min">;
max: <DataType_3>(expression: import("./expression").Expression<DataType_3, boolean, any>) => import("./expression").Expression<DataType_3, false, "max">;
avg: <T_3 extends import("./data-types").AnyNumber>(expression: import("./expression").Expression<T_3, boolean, any>) => import("./expression").Expression<T_3, false, "avg">;
sum: <T_4 extends import("./data-types").AnyNumber>(expression: import("./expression").Expression<T_4, boolean, any>) => import("./expression").Expression<T_4, false, "sum">;
xmlagg: <DataType_4>(expression: import("./expression").Expression<DataType_4, boolean, any>) => import("./expression").Expression<number, false, "xmlagg">;
not: (expression: import("./expression").Expression<boolean, boolean, string>) => import("./expression").DefaultExpression<boolean, true>;

@@ -34,3 +35,3 @@ and: (expression: import("./expression").Expression<boolean, boolean, string>) => import("./expression").DefaultExpression<boolean, true>;

group: (expression: import("./expression").Expression<boolean, boolean, string>) => import("./expression").DefaultExpression<boolean, true>;
any: <T_1>(array: T_1[]) => import("./expression").Expression<T_1, true, "?column?">;
any: <T_5>(array: T_5[]) => import("./expression").Expression<T_5, true, "?column?">;
now: () => import("./expression").Expression<Date, true, "now">;

@@ -41,3 +42,3 @@ exists: (expression: import("./query").Query<any> | import("./expression").Expression<any, any, any>) => import("./expression").DefaultExpression<boolean, true>;

notExists: (expression: import("./query").Query<any> | import("./expression").Expression<any, any, any>) => import("./expression").DefaultExpression<boolean, true>;
coalesce: <DataType_4>(...expressions: (DataType_4 | import("./expression").Expression<DataType_4, boolean, any>)[]) => import("./expression").Expression<DataType_4, true, "coalesce">;
coalesce: <DataType_5>(...expressions: (DataType_5 | import("./expression").Expression<DataType_5, boolean, any>)[]) => import("./expression").Expression<DataType_5, true, "coalesce">;
/** @internal */

@@ -52,10 +53,10 @@ getTableDefinitions(): {

select: SelectFn;
insertInto: <T_2 extends unknown>(table: T_2, columnNames?: (T_2 extends Table<any, infer Columns_1> ? (keyof Columns_1)[] : never) | undefined) => T_2 extends TableDefinition<any> ? never : InsertIntoResult<T_2, T_2 extends Table<any, infer Columns_2> ? { [K_1 in keyof Pick<{ [K in keyof Columns_2]: Columns_2[K] extends Column<any, any, any, infer IsNotNull, infer HasDefault, any> ? HasDefault extends true ? false : IsNotNull : never; }, { [Key in keyof { [K in keyof Columns_2]: Columns_2[K] extends Column<any, any, any, infer IsNotNull, infer HasDefault, any> ? HasDefault extends true ? false : IsNotNull : never; }]-?: { [K in keyof Columns_2]: Columns_2[K] extends Column<any, any, any, infer IsNotNull, infer HasDefault, any> ? HasDefault extends true ? false : IsNotNull : never; }[Key] extends true ? Key : never; }[keyof Columns_2]>]: Columns_2[K_1] extends Column<any, any, infer DataType_5, any, any, any> ? DataType_5 : never; } & { [K_3 in keyof Pick<{ [K_2 in keyof Columns_2]: Columns_2[K_2] extends Column<any, any, any, boolean, infer HasDefault_1, any> ? HasDefault_1 extends true ? false : false : never; }, { [Key_1 in keyof { [K_2 in keyof Columns_2]: Columns_2[K_2] extends Column<any, any, any, boolean, infer HasDefault_1, any> ? HasDefault_1 extends true ? false : false : never; }]-?: { [K_2 in keyof Columns_2]: Columns_2[K_2] extends Column<any, any, any, boolean, infer HasDefault_1, any> ? HasDefault_1 extends true ? false : false : never; }[Key_1] extends false ? Key_1 : never; }[keyof Columns_2]>]?: (Columns_2[K_3] extends Column<any, any, infer DataType_6, any, any, any> ? DataType_6 | undefined : never) | undefined; } : never>;
deleteFrom: <T_3 extends unknown>(table: T_3) => T_3 extends TableDefinition<any> ? never : import("./delete").DeleteQuery<T_3, number, T_3 extends Table<any, infer Columns_3> ? Columns_3 : never>;
update: <T_4 extends unknown>(table: T_4) => {
set(values: T_4 extends Table<any, infer Columns_4> ? { [K_4 in keyof Columns_4]?: (Columns_4[K_4] extends Column<any, any, infer DataType_7, infer IsNotNull_1, any, any> ? IsNotNull_1 extends true ? DataType_7 | import("./expression").Expression<DataType_7, boolean, any> : DataType_7 | import("./expression").Expression<DataType_7 | undefined, boolean, any> | undefined : never) | undefined; } : never): import("./update").UpdateQuery<T_4, number, T_4 extends Table<any, infer Columns_5> ? Columns_5 : never>;
insertInto: <T_6 extends unknown>(table: T_6, columnNames?: (T_6 extends Table<any, infer Columns_1> ? (keyof Columns_1)[] : never) | undefined) => T_6 extends TableDefinition<any> ? never : InsertIntoResult<T_6, T_6 extends Table<any, infer Columns_2> ? { [K_1 in keyof import("./types").PickByValue<{ [K in keyof Columns_2]: Columns_2[K] extends Column<any, any, any, infer IsNotNull_1, infer HasDefault, any> ? HasDefault extends true ? false : IsNotNull_1 : never; }, true>]: Columns_2[K_1] extends Column<any, any, infer DataType_6, any, any, any> ? DataType_6 : never; } & { [K_3 in keyof import("./types").PickByValue<{ [K_2 in keyof Columns_2]: Columns_2[K_2] extends Column<any, any, any, boolean, infer HasDefault_1, any> ? HasDefault_1 extends true ? false : false : never; }, false>]?: (Columns_2[K_3] extends Column<any, any, infer DataType_7, any, any, any> ? DataType_7 | undefined : never) | undefined; } : never>;
deleteFrom: <T_7 extends unknown>(table: T_7) => T_7 extends TableDefinition<any> ? never : import("./delete").DeleteQuery<T_7, number, T_7 extends Table<any, infer Columns_3> ? Columns_3 : never>;
update: <T_8 extends unknown>(table: T_8) => {
set(values: T_8 extends Table<any, infer Columns_4> ? { [K_4 in keyof Columns_4]?: (Columns_4[K_4] extends Column<any, any, infer DataType_8, infer IsNotNull_2, any, any> ? IsNotNull_2 extends true ? DataType_8 | import("./expression").Expression<DataType_8, boolean, any> : DataType_8 | import("./expression").Expression<DataType_8 | undefined, boolean, any> | undefined : never) | undefined; } : never): import("./update").UpdateQuery<T_8, number, T_8 extends Table<any, infer Columns_5> ? Columns_5 : never>;
};
with: import("./with").WithFn;
truncate: <T_5 extends unknown>(table: T_5) => T_5 extends TableDefinition<any> ? never : import("./truncate").TruncateQuery<T_5, number, T_5 extends Table<any, infer Columns_6> ? Columns_6 : never>;
truncate: <T_9 extends unknown>(table: T_9) => T_9 extends TableDefinition<any> ? never : import("./truncate").TruncateQuery<T_9, number, T_9 extends Table<any, infer Columns_6> ? Columns_6 : never>;
case: () => CaseStatement<never>;
} & { [TableName in keyof TableDefinitions]: TableDefinitions[TableName] extends TableDefinition<infer ColumnDefinitions> ? Table<TableName, { [K_5 in keyof ColumnDefinitions]: K_5 extends string ? Column<K_5, TableName, ColumnDefinitions[K_5] extends ColumnDefinition<infer DataType_8, any, any> ? DataType_8 : never, ColumnDefinitions[K_5] extends ColumnDefinition<any, infer IsNotNull_2, any> ? IsNotNull_2 : never, ColumnDefinitions[K_5] extends ColumnDefinition<any, any, infer HasDefault_2> ? HasDefault_2 : never, undefined> : never; }> : never; };
} & { [TableName in keyof TableDefinitions]: TableDefinitions[TableName] extends TableDefinition<infer ColumnDefinitions> ? Table<TableName, { [K_5 in keyof ColumnDefinitions]: K_5 extends string ? Column<K_5, TableName, ColumnDefinitions[K_5] extends ColumnDefinition<infer DataType_9, any, any> ? DataType_9 : never, ColumnDefinitions[K_5] extends ColumnDefinition<any, infer IsNotNull_3, any> ? IsNotNull_3 : never, ColumnDefinitions[K_5] extends ColumnDefinition<any, any, infer HasDefault_2> ? HasDefault_2 : never, undefined> : never; }> : never; };

@@ -17,3 +17,3 @@ import { Token } from './tokens';

constructor(queryExecutor: QueryExecutorFn, returningKeys: string[], table: T, resultType: ResultType, tokens: Token[]);
then(onFulfilled?: ((value: Returning extends number ? number : ResultSet<DeleteQuery<T, Returning>, false>[]) => any | PromiseLike<any>) | undefined | null, onRejected?: ((reason: any) => void | PromiseLike<void>) | undefined | null): Promise<any>;
then<Result1, Result2 = never>(onFulfilled?: ((value: Returning extends number ? number : ResultSet<DeleteQuery<T, Returning>, false>[]) => Result1 | PromiseLike<Result1>) | undefined | null, onRejected?: ((reason: any) => Result2 | PromiseLike<Result2>) | undefined | null): Promise<Result1 | Result2>;
using(...fromItems: Table<any, any>[]): DeleteQuery<T, Returning>;

@@ -20,0 +20,0 @@ where(condition: Expression<boolean, boolean, string>): DeleteQuery<T, Returning>;

@@ -20,3 +20,3 @@ import { Token } from './tokens';

constructor(queryExecutor: QueryExecutorFn, returningKeys: string[], table: T, resultType: ResultType, tokens: Token[]);
then(onFulfilled?: ((value: Returning extends number ? Returning : ResultSet<InsertQuery<T, Returning>, false>[]) => any | PromiseLike<any>) | undefined | null, onRejected?: ((reason: any) => void | PromiseLike<void>) | undefined | null): Promise<any>;
then<Result1, Result2 = never>(onFulfilled?: ((value: Returning extends number ? Returning : ResultSet<InsertQuery<T, Returning>, false>[]) => Result1 | PromiseLike<Result1>) | undefined | null, onRejected?: ((reason: any) => Result2 | PromiseLike<Result2>) | undefined | null): Promise<Result1 | Result2>;
returning<C1 extends keyof TableColumns>(column1: C1): InsertQuery<T, GetReturning<TableColumns, C1>>;

@@ -37,2 +37,3 @@ returning<C1 extends keyof TableColumns, C2 extends keyof TableColumns>(column1: C1, column2: C2): InsertQuery<T, GetReturning<TableColumns, C1> & GetReturning<TableColumns, C2>>;

};
private getConflictTargetToken;
onConflict<ColumnNames extends T extends Table<any, infer Columns> ? (keyof Columns)[] : never>(...columnNames: ColumnNames): {

@@ -62,2 +63,2 @@ doNothing(): InsertQuery<T, number, T extends Table<any, infer Columns> ? Columns : never>;

}
export declare const makeInsertInto: (queryExecutor: QueryExecutorFn) => <T extends unknown>(table: T, columnNames?: (T extends Table<any, infer Columns> ? (keyof Columns)[] : never) | undefined) => T extends TableDefinition<any> ? never : InsertIntoResult<T, T extends Table<any, infer Columns_1> ? { [K_1 in keyof Pick<{ [K in keyof Columns_1]: Columns_1[K] extends Column<any, any, any, infer IsNotNull, infer HasDefault, any> ? HasDefault extends true ? false : IsNotNull : never; }, { [Key in keyof { [K in keyof Columns_1]: Columns_1[K] extends Column<any, any, any, infer IsNotNull, infer HasDefault, any> ? HasDefault extends true ? false : IsNotNull : never; }]-?: { [K in keyof Columns_1]: Columns_1[K] extends Column<any, any, any, infer IsNotNull, infer HasDefault, any> ? HasDefault extends true ? false : IsNotNull : never; }[Key] extends true ? Key : never; }[keyof Columns_1]>]: Columns_1[K_1] extends Column<any, any, infer DataType, any, any, any> ? DataType : never; } & { [K_3 in keyof Pick<{ [K_2 in keyof Columns_1]: Columns_1[K_2] extends Column<any, any, any, boolean, infer HasDefault_1, any> ? HasDefault_1 extends true ? false : false : never; }, { [Key_1 in keyof { [K_2 in keyof Columns_1]: Columns_1[K_2] extends Column<any, any, any, boolean, infer HasDefault_1, any> ? HasDefault_1 extends true ? false : false : never; }]-?: { [K_2 in keyof Columns_1]: Columns_1[K_2] extends Column<any, any, any, boolean, infer HasDefault_1, any> ? HasDefault_1 extends true ? false : false : never; }[Key_1] extends false ? Key_1 : never; }[keyof Columns_1]>]?: (Columns_1[K_3] extends Column<any, any, infer DataType_1, any, any, any> ? DataType_1 | undefined : never) | undefined; } : never>;
export declare const makeInsertInto: (queryExecutor: QueryExecutorFn) => <T extends unknown>(table: T, columnNames?: (T extends Table<any, infer Columns> ? (keyof Columns)[] : never) | undefined) => T extends TableDefinition<any> ? never : InsertIntoResult<T, T extends Table<any, infer Columns_1> ? { [K_1 in keyof PickByValue<{ [K in keyof Columns_1]: Columns_1[K] extends Column<any, any, any, infer IsNotNull, infer HasDefault, any> ? HasDefault extends true ? false : IsNotNull : never; }, true>]: Columns_1[K_1] extends Column<any, any, infer DataType, any, any, any> ? DataType : never; } & { [K_3 in keyof PickByValue<{ [K_2 in keyof Columns_1]: Columns_1[K_2] extends Column<any, any, any, boolean, infer HasDefault_1, any> ? HasDefault_1 extends true ? false : false : never; }, false>]?: (Columns_1[K_3] extends Column<any, any, infer DataType_1, any, any, any> ? DataType_1 | undefined : never) | undefined; } : never>;

@@ -97,2 +97,10 @@ "use strict";

}
getConflictTargetToken(columnNames) {
if (columnNames.length === 0)
return new tokens_1.EmptyToken();
return new tokens_1.GroupToken([new tokens_1.SeparatorToken(',', columnNames.map((columnName) => {
const column = this.table[columnName];
return new tokens_1.StringToken(column.getSnakeCaseName());
}))]);
}
onConflict(...columnNames) {

@@ -105,8 +113,3 @@ const self = this;

new tokens_1.StringToken(`ON CONFLICT`),
columnNames.length > 0
? new tokens_1.GroupToken(columnNames.map((columnName) => {
const column = self.table[columnName];
return new tokens_1.StringToken(column.getSnakeCaseName());
}))
: new tokens_1.EmptyToken(),
self.getConflictTargetToken(columnNames),
new tokens_1.StringToken(`DO NOTHING`),

@@ -119,8 +122,3 @@ ]);

new tokens_1.StringToken(`ON CONFLICT`),
columnNames.length > 0
? new tokens_1.GroupToken(columnNames.map((columnName) => {
const column = self.table[columnName];
return new tokens_1.StringToken(column.getSnakeCaseName());
}))
: new tokens_1.EmptyToken(),
self.getConflictTargetToken(columnNames),
new tokens_1.StringToken(`DO UPDATE SET`),

@@ -127,0 +125,0 @@ new tokens_1.SeparatorToken(`,`, Object.keys(values).map((columnName) => {

@@ -38,3 +38,3 @@ import { Token } from './tokens';

constructor(queryExecutor: QueryExecutorFn, returningKeys: string[], includesStar: boolean, tokens: Token[]);
then(onFulfilled?: ((value: ResultSet<SelectQuery<Columns>, false>[]) => any | PromiseLike<any>) | undefined | null, onRejected?: ((reason: any) => void | PromiseLike<void>) | undefined | null): Promise<any>;
then<Result1, Result2 = never>(onFulfilled?: ((value: ResultSet<SelectQuery<Columns>, false>[]) => Result1 | PromiseLike<Result1>) | undefined | null, onRejected?: ((reason: any) => Result2 | PromiseLike<Result2>) | undefined | null): Promise<Result1 | Result2>;
private newSelectQuery;

@@ -41,0 +41,0 @@ from<T extends Table<any, any>>(fromItem: T): T extends TableDefinition<any> ? never : Join<SelectQuery<Columns, IncludesStar>, T>;

@@ -57,3 +57,3 @@ "use strict";

leftJoin(table) {
return this.newSelectQuery([...this.tokens, new tokens_1.StringToken(`INNER JOIN`), this.getTableStringToken(table)], table);
return this.newSelectQuery([...this.tokens, new tokens_1.StringToken(`LEFT JOIN`), this.getTableStringToken(table)], table);
}

@@ -60,0 +60,0 @@ rightOuterJoin(table) {

@@ -0,1 +1,2 @@

import { AnyNumber, Int8 } from './data-types';
import { StringToken } from './tokens';

@@ -11,7 +12,8 @@ import { DefaultExpression, Expression } from './expression';

}
export declare function raw<DataType = unknown, IsNotNull extends boolean = true, Name extends string = never>(strings: TemplateStringsArray, ...parameters: any[]): Expression<DataType, IsNotNull, Name>;
export declare function star(): Star;
export declare function star<T extends Table<any, any>>(table: T): T extends Table<any, infer Columns> ? ColumnSet<Columns> : never;
export declare const stringAgg: (expression: Expression<string, boolean, any>, delimiter: string, ...orderBy: Expression<any, any, any>[]) => Expression<string, false, 'stringAgg'>;
export declare const bitAnd: (expression: Expression<number, boolean, any>) => Expression<number, false, "bitAnd">;
export declare const bitOr: (expression: Expression<number, boolean, any>) => Expression<number, false, "bitOr">;
export declare const bitAnd: <T extends AnyNumber>(expression: Expression<T, boolean, any>) => Expression<T, false, "bitAnd">;
export declare const bitOr: <T extends AnyNumber>(expression: Expression<T, boolean, any>) => Expression<T, false, "bitOr">;
export declare const boolAnd: (expression: Expression<boolean, boolean, any>) => Expression<number, false, "boolAnd">;

@@ -21,7 +23,7 @@ export declare const boolOr: (expression: Expression<boolean, boolean, any>) => Expression<number, false, "boolOr">;

export declare const arrayAgg: <DataType>(expression: Expression<DataType, boolean, any>) => Expression<DataType[], false, "arrayAgg">;
export declare const count: (expression?: Expression<any, any, any> | undefined) => Expression<string, true, 'count'>;
export declare const count: (expression?: Expression<any, any, any> | undefined) => Expression<Int8, true, 'count'>;
export declare const min: <DataType>(expression: Expression<DataType, boolean, any>) => Expression<DataType, false, "min">;
export declare const max: <DataType>(expression: Expression<DataType, boolean, any>) => Expression<DataType, false, "max">;
export declare const avg: (expression: Expression<number, boolean, any>) => Expression<number, false, "avg">;
export declare const sum: (expression: Expression<number, boolean, any>) => Expression<number, false, "sum">;
export declare const avg: <T extends AnyNumber>(expression: Expression<T, boolean, any>) => Expression<T, false, "avg">;
export declare const sum: <T extends AnyNumber>(expression: Expression<T, boolean, any>) => Expression<T, false, "sum">;
export declare const xmlagg: <DataType>(expression: Expression<DataType, boolean, any>) => Expression<number, false, "xmlagg">;

@@ -28,0 +30,0 @@ export declare const not: (expression: Expression<boolean, boolean, string>) => DefaultExpression<boolean, true>;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.coalesce = exports.notExists = exports.andExists = exports.andNotExists = exports.exists = exports.now = exports.any = exports.group = exports.or = exports.and = exports.not = exports.xmlagg = exports.sum = exports.avg = exports.max = exports.min = exports.count = exports.arrayAgg = exports.every = exports.boolOr = exports.boolAnd = exports.bitOr = exports.bitAnd = exports.stringAgg = exports.star = exports.Star = void 0;
exports.coalesce = exports.notExists = exports.andExists = exports.andNotExists = exports.exists = exports.now = exports.any = exports.group = exports.or = exports.and = exports.not = exports.xmlagg = exports.sum = exports.avg = exports.max = exports.min = exports.count = exports.arrayAgg = exports.every = exports.boolOr = exports.boolAnd = exports.bitOr = exports.bitAnd = exports.stringAgg = exports.star = exports.raw = exports.Star = void 0;
const tokens_1 = require("./tokens");

@@ -16,2 +16,13 @@ const expression_1 = require("./expression");

exports.Star = Star;
function raw(strings, ...parameters) {
const tokens = strings.flatMap((string, index) => {
if (index === strings.length - 1) {
return [new tokens_1.StringToken(string)];
}
const parameter = parameters[index];
return [new tokens_1.StringToken(string), new tokens_1.ParameterToken(parameter)];
});
return new expression_1.Expression(tokens, '');
}
exports.raw = raw;
function star(table) {

@@ -18,0 +29,0 @@ if (table) {

@@ -13,3 +13,3 @@ import { QueryExecutorFn, ResultType } from './types';

constructor(queryExecutor: QueryExecutorFn, table: T, resultType: ResultType, tokens: Token[]);
then(onFulfilled?: ((value: number) => any | PromiseLike<any>) | undefined | null, onRejected?: ((reason: any) => void | PromiseLike<void>) | undefined | null): Promise<any>;
then<Result1, Result2 = never>(onFulfilled?: ((value: number) => Result1 | PromiseLike<Result1>) | undefined | null, onRejected?: ((reason: any) => Result2 | PromiseLike<Result2>) | undefined | null): Promise<Result1 | Result2>;
restartIdentity<T extends Table<any, any>>(): any;

@@ -16,0 +16,0 @@ continueIdentity<T extends Table<any, any>>(): any;

@@ -8,3 +8,3 @@ export declare type ResultType = 'ROWS' | 'AFFECTED_COUNT';

};
export declare class GetDataType<Type, IsNull extends boolean> {
export declare class GetDataType<Type, IsNotNull extends boolean> {
private _;

@@ -11,0 +11,0 @@ }

@@ -16,3 +16,3 @@ import { Token } from './tokens';

constructor(queryExecutor: QueryExecutorFn, returningKeys: string[], table: T, resultType: ResultType, tokens: Token[]);
then(onFulfilled?: ((value: Returning extends number ? Returning : ResultSet<UpdateQuery<T, Returning>, false>[]) => any | PromiseLike<any>) | undefined | null, onRejected?: ((reason: any) => void | PromiseLike<void>) | undefined | null): Promise<any>;
then<Result1, Result2 = never>(onFulfilled?: ((value: Returning extends number ? Returning : ResultSet<UpdateQuery<T, Returning>, false>[]) => Result1 | PromiseLike<Result1>) | undefined | null, onRejected?: ((reason: any) => Result2 | PromiseLike<Result2>) | undefined | null): Promise<Result1 | Result2>;
where(condition: Expression<boolean, boolean, string>): UpdateQuery<T, Returning>;

@@ -19,0 +19,0 @@ whereCurrentOf(cursorName: string): UpdateQuery<T, number, T extends Table<any, infer Columns> ? Columns : never>;

{
"name": "@ff00ff/mammoth",
"license": "MIT",
"version": "1.2.0",
"version": "1.3.0",
"main": "./.build/index.js",

@@ -21,9 +21,9 @@ "types": "./.build/index.d.ts",

"devDependencies": {
"@types/jest": "^26.0.19",
"@types/node": "^14.14.16",
"@types/jest": "^26.0.23",
"@types/node": "^15.12.4",
"dts-jest": "^23.3.0",
"jest": "^26.6.3",
"prettier": "^2.2.1",
"ts-jest": "^26.4.4",
"typescript": "^4.1.3"
"prettier": "^2.3.1",
"ts-jest": "^26.5.6",
"typescript": "^4.2.4"
},

@@ -30,0 +30,0 @@ "scripts": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc