Skip to content

Commit

Permalink
Merge pull request #23 from deptno/master
Browse files Browse the repository at this point in the history
#5 add typescript definition
  • Loading branch information
jeremydaly authored Apr 24, 2019
2 parents 3096930 + 062ab79 commit 03a466c
Show file tree
Hide file tree
Showing 3 changed files with 119 additions and 1 deletion.
99 changes: 99 additions & 0 deletions index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
// Type definitions for serverless-mysql@1.2.1

import * as MySQL from 'mysql'

type Config = {
/**
* String or Function Backoff algorithm to be used when retrying connections. Possible values are full and decorrelated, or you can also specify your own algorithm. See Connection Backoff for more information. full
*/
backoff?: string | Function
/**
* Integer Number of milliseconds added to random backoff values. 2
*/
base?: number
/**
* Integer Maximum number of milliseconds between connection retries. 100
*/
cap?: number
/**
* Object A mysql configuration object as defined here {}
*/
config?: MySQL.ConnectionConfig
/**
* Number The percentage of total connections to use when connecting to your MySQL server. A value of 0.75 would use 75% of your total available connections. 0.8
*/
connUtilization?: number
/**
* Boolean Flag indicating whether or not you want serverless-mysql to manage MySQL connections for you. true
*/
manageConns?: boolean
/**
* Integer The number of milliseconds to cache lookups of @@max_connections. 15000
*/
maxConnsFreq?: number
/**
* Integer Maximum number of times to retry a connection before throwing an error. 50
*/
maxRetries?: number
/**
* function Event callback when the MySQL connection fires an error.
*/
onError?: Function
/**
* function Event callback when MySQL connections are explicitly closed.
*/
onClose?: Function
/**
* function Event callback when connections are succesfully established.
*/
onConnect?: Function
/**
* function Event callback when connection fails.
*/
onConnectError?: Function
/**
* function Event callback when connections are explicitly killed.
*/
onKill?: Function
/**
* function Event callback when a connection cannot be killed.
*/
onKillError?: Function
/**
* function Event callback when connections are retried.
*/
onRetry?: Function
/**
* Integer The number of milliseconds to cache lookups of current connection usage. 0
*/
usedConnsFreq?: number
/**
* Integer The maximum number of seconds that a connection can stay idle before being recycled. 900
*/
zombieMaxTimeout?: number
/**
* Integer The minimum number of seconds that a connection must be idle before the module will recycle it. 3
*/
zombieMinTimeout?: number
}
type ServerlessMysql = {
connect(wait?: number): Promise<void>
config(config?: MySQL.ConnectionConfig): MySQL.ConnectionConfig
query<T>(...args): Promise<T>
end(): Promise<void>
quit(): void
transaction: Transaction
getCounter(): number
getClient(): MySQL.Connection
getConfig(): MySQL.ConnectionConfig
getErrorCount(): number
}

declare class Transaction {
query(...args): this
rollback(fn: Function): this
commit(): Promise<any>
}
declare const serverlessMysql: (cfg?: Config) => ServerlessMysql

export = serverlessMysql
17 changes: 16 additions & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"version": "1.2.1",
"description": "A module for managing MySQL connections at serverless scale.",
"main": "index.js",
"types": "index.d.ts",
"scripts": {
"test": "mocha --check-leaks --recursive",
"test-cov": "nyc --reporter=html mocha --check-leaks --recursive",
Expand Down Expand Up @@ -40,5 +41,8 @@
"nyc": "^13.3.0",
"rewire": "^4.0.1",
"sinon": "^6.3.5"
},
"optionalDependencies": {
"@types/mysql": "^2.15.6"
}
}

0 comments on commit 03a466c

Please sign in to comment.