🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@newbility/database

Package Overview
Dependencies
Maintainers
1
Versions
45
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@newbility/database - npm Package Compare versions

Comparing version
0.2.14
to
0.2.15
+18
-0
build/src/DatabaseClient.d.ts

@@ -25,2 +25,16 @@ import { IDisposable, ILogger } from '@newbility/core';

ExecuteAsync<TResult = any>(sql: string, ...args: Array<any>): Promise<ExecuteResult<TResult>>;
/**
* 分页查询
* @param sql SQL
* @param args SQL参数
*/
QueryPageAsync<TResult = any>(sql: string, args: {
[key: string]: any;
}): Promise<ExecuteResult<TResult>>;
/**
* 查询第一个
* @param sql SQL
* @param args SQL参数
*/
QueryOneAsync<TResult = any>(sql: string, ...args: Array<any>): Promise<TResult | undefined>;
}

@@ -34,2 +48,6 @@ export declare abstract class DatabaseClient implements IDatabaseClient {

ExecuteAsync<TResult = any>(sql: string, ...args: Array<any>): Promise<ExecuteResult<TResult>>;
QueryPageAsync<TResult = any>(sql: string, args: {
[key: string]: any;
}): Promise<ExecuteResult<TResult>>;
QueryOneAsync<TResult = any>(sql: string, ...args: any[]): Promise<TResult | undefined>;
abstract Dispose(): void;

@@ -36,0 +54,0 @@ protected abstract ExecuteByArrArgsAsync<TResult = any>(sql: string, args: Array<any>): Promise<ExecuteResult<TResult>>;

+24
-1

@@ -17,2 +17,25 @@ "use strict";

}
async QueryPageAsync(sql, args) {
let pageQuerySql = sql.trimEnd();
if (sql.endsWith(';'))
pageQuerySql = pageQuerySql.replace(/;$/, '');
const sqlParams = args[0];
if (sqlParams.limit !== undefined && sqlParams.limit !== null) {
pageQuerySql = `${pageQuerySql} LIMIT :limit`;
}
if (sqlParams.offset !== undefined && sqlParams.offset !== null) {
pageQuerySql = `${pageQuerySql} OFFSET :offset`;
}
return await this.ExecuteByObjArgsAsync(pageQuerySql, args);
}
async QueryOneAsync(sql, ...args) {
let queryOneSql = sql.trimEnd();
if (sql.endsWith(';'))
queryOneSql = queryOneSql.replace(/;$/, '');
queryOneSql = `${queryOneSql} LIMIT 1`;
let result = await this.ExecuteAsync(queryOneSql, args);
if (result && result.rowCount > 0) {
return result.rows[0];
}
}
async ExecuteByObjArgsAsync(sql, args) {

@@ -28,3 +51,3 @@ let relaSql = sql;

throw new core_1.NewbilityError(`Missing value for parameter ${argKey}`);
relaSqlArgs.push(argVal);
relaSqlArgs.push(argVal ?? null);
relaSql = relaSql.replace(`:${argKey}`, this.GetSqlArgPlaceholder(argKey, relaSqlArgs.length - 1));

@@ -31,0 +54,0 @@ }

+1
-1

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

{"version":3,"file":"DatabaseClient.js","sourceRoot":"","sources":["../../src/DatabaseClient.ts"],"names":[],"mappings":";;;AAAA,0CAAuG;AA+BvG,MAAsB,cAAc;IAElC;QACE,IAAI,CAAC,MAAM,GAAG,gBAAS,CAAC,OAAO,CAAU,0BAAmB,CAAC,CAAC;IAChE,CAAC;IAQD,KAAK,CAAC,YAAY,CAAgB,GAAW,EAAE,GAAG,IAAgB;QAChE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;YACpD,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACvD;aAAM;YACL,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SACpD;IACH,CAAC;IAMS,KAAK,CAAC,qBAAqB,CAAgB,GAAW,EAAE,IAA4B;QAC5F,IAAI,OAAO,GAAG,GAAG,CAAC;QAClB,MAAM,WAAW,GAAU,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAEjC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC1C,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;YAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM,IAAI,qBAAc,CAAC,+BAA+B,MAAM,EAAE,CAAC,CAAC;YAE5F,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,MAAM,EAAE,EAAE,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;SACpG;QAED,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC;IAIS,aAAa;QACrB,OAAO,IAAI,MAAM,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC;CACF;AA/CD,wCA+CC"}
{"version":3,"file":"DatabaseClient.js","sourceRoot":"","sources":["../../src/DatabaseClient.ts"],"names":[],"mappings":"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"}

@@ -1,6 +0,6 @@

import { ILogger } from '@newbility/core';
import { IAsyncDisposable, ILogger } from '@newbility/core';
import { ExecuteResult, IDatabaseClient } from './DatabaseClient';
export declare const DB_PROVIDER_INJECT_TOKEN: string;
export declare function GetDatabaseProviderToken(key: string): string;
export interface IDatabaseProvider {
export interface IDatabaseProvider extends IAsyncDisposable {
/**

@@ -13,2 +13,16 @@ * 执行数据库指令

/**
* 分页查询
* @param sql SQL
* @param args SQL参数
*/
QueryPageAsync<TResult = any>(sql: string, args: {
[key: string]: any;
}): Promise<ExecuteResult<TResult>>;
/**
* 查询第一个
* @param sql SQL
* @param args SQL参数
*/
QueryOneAsync<TResult = any>(sql: string, ...args: Array<any>): Promise<TResult | undefined>;
/**
* 使用事务

@@ -23,4 +37,9 @@ * @param fn

constructor(providerType: string);
abstract QueryPageAsync<TResult = any>(sql: string, args: {
[key: string]: any;
}): Promise<ExecuteResult<TResult>>;
abstract QueryOneAsync<TResult = any>(sql: string, ...args: any[]): Promise<TResult | undefined>;
abstract DisposeAsync(): Promise<void>;
abstract ExecuteAsync<TResult = any>(sql: string, ...args: any): Promise<ExecuteResult<TResult>>;
abstract UseTransaction<TResult = void>(fn: (client: IDatabaseClient) => Promise<TResult>): Promise<TResult>;
}

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

{"version":3,"file":"DatabaseProvider.js","sourceRoot":"","sources":["../../src/DatabaseProvider.ts"],"names":[],"mappings":";;;AAAA,0CAA0F;AAG7E,QAAA,wBAAwB,GAAG,IAAA,qBAAc,EAAC,uBAAuB,CAAC,CAAC;AAEhF,SAAgB,wBAAwB,CAAC,GAAW;IAClD,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,gCAAwB,CAAC;IACvD,OAAO,GAAG,gCAAwB,IAAI,GAAG,EAAE,CAAC;AAC9C,CAAC;AAHD,4DAGC;AAiBD,MAAsB,gBAAgB;IAGpC,YAAY,YAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,gBAAS,CAAC,OAAO,CAAU,0BAAmB,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CAKF;AAXD,4CAWC"}
{"version":3,"file":"DatabaseProvider.js","sourceRoot":"","sources":["../../src/DatabaseProvider.ts"],"names":[],"mappings":";;;AAAA,0CAA4G;AAG/F,QAAA,wBAAwB,GAAG,IAAA,qBAAc,EAAC,uBAAuB,CAAC,CAAC;AAEhF,SAAgB,wBAAwB,CAAC,GAAW;IAClD,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,gCAAwB,CAAC;IACvD,OAAO,GAAG,gCAAwB,IAAI,GAAG,EAAE,CAAC;AAC9C,CAAC;AAHD,4DAGC;AA+BD,MAAsB,gBAAgB;IAGpC,YAAY,YAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,gBAAS,CAAC,OAAO,CAAU,0BAAmB,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CAWF;AAjBD,4CAiBC"}
{
"name": "@newbility/database",
"version": "0.2.14",
"version": "0.2.15",
"main": "build/index.js",

@@ -5,0 +5,0 @@ "author": "jameshu",