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

ts-sql-query

Package Overview
Dependencies
Maintainers
1
Versions
77
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ts-sql-query - npm Package Compare versions

Comparing version 1.44.0 to 1.45.0

41

dynamicCondition.d.ts
import { AnyValueSource } from './expressions/values';
import { MandatoryPropertiesOf } from './utils/resultUtils';
export type { DynamicCondition, TypeSafeDynamicCondition } from './expressions/dynamicConditionUsingFilters';
export declare type Pickable = {
[key: string]: AnyValueSource | Pickable;
[key in string]?: AnyValueSource | Pickable;
};
export declare type DynamicPick<Type extends Pickable, Mandatory extends keyof Type = never> = Omit<{
[P in keyof Type]?: Type[P] extends AnyValueSource ? boolean : Type[P] extends Pickable ? boolean | DynamicPick<Type[P]> : never;
}, Mandatory>;
declare type PickWithMandatories<Type extends Pickable, Mandatory extends keyof Type = never> = {
[P in Exclude<keyof Type, Mandatory>]?: Type[P] extends AnyValueSource ? Type[P] : Type[P] extends Pickable ? PickWithMandatories<Type[P]> : never;
export declare type DynamicPick<TYPE extends Pickable, MANDATORY extends MandatoryPaths<TYPE, ''> = never> = InternalDynamicPick<TYPE, MANDATORY, ''>;
declare type InternalDynamicPick<TYPE, MANDATORY extends string, PREFIX extends string> = Omit<{
[P in (keyof TYPE) & string]?: TYPE[P] extends AnyValueSource | undefined ? boolean : InternalDynamicPick<TYPE[P], MANDATORY, `${PREFIX}.${P}`> | boolean;
}, MadatoriesInType<TYPE, MANDATORY, PREFIX>>;
declare type PickWithMandatories<TYPE, MANDATORY extends string, PREFIX extends string> = Expand<{
[P in OptionalValueSourcesInType<TYPE, MANDATORY, PREFIX>]?: TYPE[P];
} & {
[Q in Mandatory]: Type[Q];
};
export declare function dynamicPick<Type extends Pickable, Mandatory extends keyof Type = never>(obj: Type, pick: DynamicPick<Type>, mandatory?: Mandatory[]): {
[P in keyof PickWithMandatories<Type, Mandatory>]: PickWithMandatories<Type, Mandatory>[P];
};
[P in NonValueSourcesInType<TYPE, MANDATORY, PREFIX>]: PREFIX extends '' ? PickWithMandatories<TYPE[P], MANDATORY, `${P}`> : PickWithMandatories<TYPE[P], MANDATORY, `${PREFIX}.${P}`>;
} & {
[Q in MANDATORY & keyof TYPE]: TYPE[Q];
}>;
declare type MadatoriesInType<TYPE, MANDATORY extends string, PREFIX extends string> = {
[P in (keyof TYPE) & string]-?: `${PREFIX}${P}` extends MANDATORY ? P : never;
}[(keyof TYPE) & string];
declare type OptionalValueSourcesInType<TYPE, MANDATORY extends string, PREFIX extends string> = {
[P in (keyof TYPE) & string]-?: TYPE[P] extends AnyValueSource | undefined ? (`${PREFIX}${P}` extends MANDATORY ? never : P) : never;
}[(keyof TYPE) & string];
declare type NonValueSourcesInType<TYPE, MANDATORY extends string, PREFIX extends string> = {
[P in (keyof TYPE) & string]-?: TYPE[P] extends AnyValueSource | undefined ? never : `${PREFIX}${P}` extends MANDATORY ? never : P;
}[(keyof TYPE) & string];
declare type MandatoryPaths<TYPE, PREFIX extends string> = undefined extends TYPE ? never : TYPE extends AnyValueSource ? `${PREFIX}` : PREFIX extends '' ? {
[KEY in MandatoryPropertiesOf<TYPE> & string]: MandatoryPaths<TYPE[KEY], `${KEY}`>;
}[MandatoryPropertiesOf<TYPE> & string] : {
[KEY in MandatoryPropertiesOf<TYPE> & string]: MandatoryPaths<TYPE[KEY], `${PREFIX}.${KEY}`>;
}[MandatoryPropertiesOf<TYPE> & string] | `${PREFIX}`;
declare type Expand<T> = T extends infer O ? {
[K in keyof O]: O[K];
} : never;
export declare function dynamicPick<TYPE extends Pickable, MANDATORY extends MandatoryPaths<TYPE, ''> = never>(obj: TYPE, pick: DynamicPick<TYPE>, mandatory?: MANDATORY[]): PickWithMandatories<TYPE, MANDATORY, ''>;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.dynamicPick = void 0;
// type ExpandRecursively<T> = T extends object ? T extends infer O ? { [K in keyof O]: ExpandRecursively<O[K]> } : never : T;
function dynamicPick(obj, pick, mandatory) {
const result = {};
const o = obj;
const p = pick;
const required = {};
if (mandatory) {
for (let i = 0, length = mandatory.length; i < length; i++) {
const p = mandatory[i];
result[p] = o[p];
required[mandatory[i]] = true;
}
}
for (let prop in p) {
if (p[prop] && prop in o) {
const o = obj;
const p = pick;
for (let prop in o) {
if (!o[prop]) {
// Do nothing
}
else if (prop in required) {
result[prop] = o[prop];
}
else {
const isRequired = p[prop];
if (isRequired === true) {
result[prop] = o[prop];
}
else if (!isRequired) {
// Do nothing
}
else if (typeof isRequired === 'object') {
result[prop] = internalDynamicPick(o[prop], isRequired, required, prop);
}
}
}

@@ -22,1 +38,25 @@ return result;

exports.dynamicPick = dynamicPick;
function internalDynamicPick(o, p, required, prefix) {
const result = {};
for (let prop in o) {
if (!o[prop]) {
// Do nothing
}
else if ((prefix + '.' + prop) in required) {
result[prop] = o[prop];
}
else {
const isRequired = p[prop];
if (isRequired === true) {
result[prop] = o[prop];
}
else if (!isRequired) {
// Do nothing
}
else if (typeof isRequired === 'object') {
result[prop] = internalDynamicPick(o[prop], isRequired, required, prefix + '.' + prop);
}
}
}
return result;
}

@@ -23,6 +23,6 @@ import type { MandatoryInsertSets, MandatoryInsertValues } from "../expressions/insert";

export declare type ColumnKeys<O> = {
[K in keyof O]-?: O[K] extends AnyValueSource ? K : never;
[K in keyof O]-?: K extends string ? (O[K] extends AnyValueSource ? K : never) : never;
}[keyof O];
export declare type WritableColumnKeys<O> = {
[K in keyof O]-?: O[K] extends Column ? (O[K] extends ComputedColumn ? never : K) : never;
[K in keyof O]-?: K extends string ? (O[K] extends Column ? (O[K] extends ComputedColumn ? never : K) : never) : never;
}[keyof O];

@@ -29,0 +29,0 @@ export declare type TableOrViewOf<TABLE_OR_VIEW extends ITableOrView<any>, ALIAS extends string = ''> = ALIAS extends false ? ITableOrView<TABLE_OR_VIEW[typeof tableOrViewRef] | TABLE_OR_VIEW_ALIAS<TABLE_OR_VIEW[typeof tableOrViewRef], ALIAS>> : ALIAS extends '' ? ITableOrView<TABLE_OR_VIEW[typeof tableOrViewRef]> : ITableOrView<TABLE_OR_VIEW_ALIAS<TABLE_OR_VIEW[typeof tableOrViewRef], ALIAS>>;

@@ -36,8 +36,10 @@ import type { ITableOrView } from "../utils/ITableOrView";

};
export declare function extractColumnsFrom<O extends object>(obj: O): {
[K in ColumnKeys<O>]: O[K];
export declare function extractColumnsFrom<O extends object, EXCLUDE extends ColumnKeys<O> = never>(obj: O, exclude?: EXCLUDE[]): {
[K in Exclude<ColumnKeys<O>, EXCLUDE>]: O[K];
};
export declare function extractWritableColumnsFrom<O extends object>(obj: O): {
[K in WritableColumnKeys<O>]: O[K];
export declare function extractWritableColumnsFrom<O extends object, EXCLUDE extends ColumnKeys<O> = never>(obj: O, exclude?: EXCLUDE[]): {
[K in Exclude<WritableColumnKeys<O>, EXCLUDE>]: O[K];
};
export declare function extractColumnNamesFrom<O extends object, EXCLUDE extends ColumnKeys<O> = never>(obj: O, exclude?: EXCLUDE[]): Exclude<ColumnKeys<O>, EXCLUDE>[];
export declare function extractWritableColumnNamesFrom<O extends object, EXCLUDE extends ColumnKeys<O> = never>(obj: O, exclude?: EXCLUDE[]): Exclude<WritableColumnKeys<O>, EXCLUDE>[];
declare type HasIfValueSource<VALUE> = VALUE extends {

@@ -44,0 +46,0 @@ [ifValueSourceType]: 'IfValueSource';

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.mergeType = exports.extractWritableColumnsFrom = exports.extractColumnsFrom = exports.prefixMapForGuidedSplitDotted = exports.prefixMapForSplitDotted = exports.prefixDotted = exports.mapForGuidedSplit = exports.prefixMapForGuidedSplitCapitalized = exports.prefixMapForSplitCapitalized = exports.prefixCapitalized = void 0;
exports.mergeType = exports.extractWritableColumnNamesFrom = exports.extractColumnNamesFrom = exports.extractWritableColumnsFrom = exports.extractColumnsFrom = exports.prefixMapForGuidedSplitDotted = exports.prefixMapForSplitDotted = exports.prefixDotted = exports.mapForGuidedSplit = exports.prefixMapForGuidedSplitCapitalized = exports.prefixMapForSplitCapitalized = exports.prefixCapitalized = void 0;
const values_1 = require("../expressions/values");

@@ -101,8 +101,17 @@ const Column_1 = require("../utils/Column");

exports.prefixMapForGuidedSplitDotted = prefixMapForGuidedSplitDotted;
function extractColumnsFrom(obj) {
function extractColumnsFrom(obj, exclude) {
if (!obj) {
return obj;
}
const ignore = {};
if (exclude) {
for (let i = 0, length = exclude.length; i < length; i++) {
ignore[exclude[i]] = true;
}
}
const result = {};
for (let key in obj) {
if (key in ignore) {
continue;
}
const value = obj[key];

@@ -116,8 +125,17 @@ if ((0, values_1.isValueSource)(value)) {

exports.extractColumnsFrom = extractColumnsFrom;
function extractWritableColumnsFrom(obj) {
function extractWritableColumnsFrom(obj, exclude) {
if (!obj) {
return obj;
}
const ignore = {};
if (exclude) {
for (let i = 0, length = exclude.length; i < length; i++) {
ignore[exclude[i]] = true;
}
}
const result = {};
for (let key in obj) {
if (key in ignore) {
continue;
}
const value = obj[key];

@@ -133,2 +151,50 @@ if ((0, Column_1.isColumn)(value)) {

exports.extractWritableColumnsFrom = extractWritableColumnsFrom;
function extractColumnNamesFrom(obj, exclude) {
if (!obj) {
return [];
}
const ignore = {};
if (exclude) {
for (let i = 0, length = exclude.length; i < length; i++) {
ignore[exclude[i]] = true;
}
}
const result = [];
for (let key in obj) {
if (key in ignore) {
continue;
}
const value = obj[key];
if ((0, values_1.isValueSource)(value)) {
result.push(key);
}
}
return result;
}
exports.extractColumnNamesFrom = extractColumnNamesFrom;
function extractWritableColumnNamesFrom(obj, exclude) {
if (!obj) {
return [];
}
const ignore = {};
if (exclude) {
for (let i = 0, length = exclude.length; i < length; i++) {
ignore[exclude[i]] = true;
}
}
const result = [];
for (let key in obj) {
if (key in ignore) {
continue;
}
const value = obj[key];
if ((0, Column_1.isColumn)(value)) {
if (!(0, Column_1.__getColumnPrivate)(value).__isComputed) {
result.push(key);
}
}
}
return result;
}
exports.extractWritableColumnNamesFrom = extractWritableColumnNamesFrom;
function mergeType(value) {

@@ -135,0 +201,0 @@ return value;

{
"name": "ts-sql-query",
"version": "1.44.0",
"version": "1.45.0",
"description": "Type-safe SQL query builder like QueryDSL or JOOQ in Java or Linq in .Net for TypeScript with MariaDB, MySql, Oracle, PostgreSql, Sqlite and SqlServer support.",

@@ -5,0 +5,0 @@ "license": "MIT",

@@ -31,6 +31,6 @@ import { AnyDB } from "../databases";

};
declare type MandatoryPropertiesOf<TYPE> = ({
export declare type MandatoryPropertiesOf<TYPE> = ({
[K in keyof TYPE]-?: null | undefined extends TYPE[K] ? never : (null extends TYPE[K] ? never : (undefined extends TYPE[K] ? never : K));
})[keyof TYPE];
declare type OptionalPropertiesOf<TYPE> = ({
export declare type OptionalPropertiesOf<TYPE> = ({
[K in keyof TYPE]-?: null | undefined extends TYPE[K] ? K : (null extends TYPE[K] ? K : (undefined extends TYPE[K] ? K : never));

@@ -37,0 +37,0 @@ })[keyof TYPE];

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