Commit ae0a07dd authored by Tim Kinnane's avatar Tim Kinnane
Browse files

build(npm): Rename and prepare to republish package

Is now a general SDK package, less bot specific. Also includes fixes to package paths that were
causing errors in publishing. Plus a minor lint fix regarding log warning alias method.
parent be582717
......@@ -3,3 +3,5 @@
/.nyc_output
/.DS_Store
/.env
/shrinkwrap.yaml
/package-lock.json
......@@ -6,12 +6,11 @@
"ts-node/register"
],
"include": [
"src/**/*.ts"
"src/lib/**/*.ts"
],
"exclude": [
"**/*.d.ts",
"**/*.spec.ts",
"src/config/*"
"**/*.spec.ts"
],
"reporter": [
"lcovonly",
......
[asteroid]: https://www.npmjs.com/package/asteroid
# Rocket.Chat Bot Driver
# Rocket.Chat Node.js SDK
An agnostic interface for bot adaptors to interact with Rocket.Chat
Application interface for server methods and message stream subscriptions.
## Overview
Rocket.Chat makes it easy for bot makers to provide the best solutions and
experience for their community. The internal Hubot and adapter enables chat-ops
workflows and multi-channel, multi-user, public and private interactions.
Using this package third party apps can control and query a Rocket.Chat server
instance, via Asteroid login and method calls as well as DDP for subscribing
to stream events.
This package provides the core interface to subscribe to message streams, send
messages and query user details.
Designed especially for chat automation, this SDK makes it easy for bot and
integration developers to provide the best solutions and experience for their
community.
For example, the Hubot Rocketchat adapter uses this package to enable chat-ops
workflows and multi-channel, multi-user, public and private interactions.
We have more bot features and adapters on the roadmap and encourage the
community to implement this driver to provide adapters for their bot framework
community to implement this SDK to provide adapters for their bot framework
or platform of choice.
## API
......@@ -23,11 +26,11 @@ See full API documentation links in the generated docs. Below is just a summary:
---
### `driver.connect(options, cb?)`
### `.connect(options, cb?)`
- Options accepts `host` and `timeout`
- Returns an [asteroid][asteroid] instance
- Options accepts `host` and `timeout` attributes
- Can return a promise, or use error-first callback pattern
- Resolves with an [asteroid][asteroid] instance
See [Asteroid][asteroid] docs for methods that can be called from that API.
......@@ -36,21 +39,32 @@ See [Asteroid][asteroid] docs for methods that can be called from that API.
## Getting Started
A local instance of Rocket.Chat is required for unit tests to confirm connection
and subscription methods are functional. And it helps to manually run your bot
interactions locally while in development.
and subscription methods are functional. And it helps to manually run your SDK
interactions (i.e. bots) locally while in development.
## Use as Dependency
`yarn add rocketchat-bot-driver` or `npm install --save rocketchat-bot-driver`
`yarn add @rocket.chat/sdk` or `npm install --save @rocket.chat/sdk`
ES6 module, using async
```
import * as rocketchat from '@rocket.chat/sdk'
ES6 Module, using async
const asteroid = await rocketchat.connect({ host: 'localhost:3000' })
console.log('connected', asteroid)
```
import { driver } from 'rocketchat-bot-driver'
const asteroid = await driver.connect({ host: 'localhost:3000' })
ES5 module, using callback
```
const rocketchat = require('@rocket.chat/sdk')
More to come...
rocketchat.connect({ host: 'localhost:3000' }, function (err, asteroid) {
if (err) console.error(err)
else console.log('connected', asteroid)
})
```
## Develop & Test
......@@ -62,8 +76,8 @@ More to come...
| `ROCKETCHAT_AUTH` | Set to 'ldap' to enable LDAP login |
| `ADMIN_USERNAME` | Admin user password for API |
| `ADMIN_PASS` | Admin user password for API |
| `ROCKETCHAT_USER` | Bot password for tests |
| `ROCKETCHAT_PASS` | Bot username for tests |
| `ROCKETCHAT_USER` | User password for SDK tests |
| `ROCKETCHAT_PASS` | Pass username for SDK tests |
| `ROOM_CACHE_SIZE` | Size of cache (LRU) for room (ID or name) lookups |
| `ROOM_CACHE_MAX_AGE` | Max age of cache for room lookups |
| `DM_ROOM_CACHE_SIZE` | Size of cache for Direct Message room lookups |
......@@ -72,38 +86,40 @@ More to come...
These are only required in test and development, assuming in production they
will be passed from the adapter implementing this package.
If a `.env` file exists in the project folder, it will be used by `dotenv`.
### Installing Rocket.Chat
Clone and run a new instance of Rocket.Chat locally, using either the internal
mongo or a dedicated local mongo for testing, so the bot can't affect any other
mongo or a dedicated local mongo for testing, so you won't affect any other
Rocket.Chat development you might do locally.
The following will provision a default admin user on build, so it can be used to
access the API, allowing bot driver utils to prepare for and clean up tests.
access the API, allowing SDK utils to prepare for and clean up tests.
- `git clone https://github.com/RocketChat/Rocket.Chat.git rc-bot-test`
- `cd rc-bot-test`
- `git clone https://github.com/RocketChat/Rocket.Chat.git rc-sdk-test`
- `cd rc-sdk-test`
- `meteor npm install`
- `export ADMIN_PASS=pass; export ADMIN_USERNAME=admin; export MONGO_URL='mongodb://localhost:27017/rc-bot-test'; meteor`
- `export ADMIN_PASS=pass; export ADMIN_USERNAME=admin; export MONGO_URL='mongodb://localhost:27017/rc-sdk-test'; meteor`
Using `yarn` to run local tests and build scripts is recommended.
Do `npm install -g yarn` if you don't have it. Then setup the project:
- `git clone https://github.com/RocketChat/rocketchat-bot-driver`
- `cd rocketchat-bot-driver`
- `git clone https://github.com/RocketChat/Rocket.Chat.js.SDK.git`
- `cd Rocket.Chat.js.SDK`
- `yarn`
### Test Scripts
### Test and Build Scripts
- `yarn test` runs tests and coverage locally
- `yarn test` runs tests and coverage locally (pretest does lint)
- `yarn test:debug` runs tests without coverage, breaking for debug attach
- `yarn docs` generates docs
- `yarn build` runs tests, coverage, compiles and generates docs
- `yarn build` runs tests, coverage, compiles, tests package, generates docs
- `yarn test:package` uses package-preview to make sure the published node
package can be required and run only with defined dependencies, to avoid errors
that might pass locally due to existing global dependencies or symlinks.
`yarn:hook` is run on git push hooks to prevent publishing with failing tests.
`yarn:hook` is run on git push hooks to prevent publishing with failing tests,
but won't change coverage to avoid making any working copy changes after commit.
### Integration Tests
......@@ -111,7 +127,7 @@ The node scripts in `utils` are used to prepare for and clean up after test
interactions. They use the Rocket.Chat API to create a bot user and a mock human
user (benny) for the bot to interact with. They *should* restore the pre-test
state but it is always advised to only run tests with a connection to a clean
local instance of Rocket.Chat.
local or fresh re-usable container instance of Rocket.Chat.
### Debugging
......
TN:
SF:/Volumes/x/code/projects/rocketchat-bots/rocketchat-bot-driver/src/index.ts
FNF:0
FNH:0
DA:1,1
DA:2,1
DA:4,1
DA:5,1
LF:4
LH:4
BRF:0
BRH:0
end_of_record
TN:
SF:/Volumes/x/code/projects/rocketchat-bots/rocketchat-bot-driver/src/lib/driver.ts
SF:/Volumes/x/code/Rocket.Chat.js.SDK/src/lib/driver.ts
FN:71,useLog
FN:92,connect
FN:93,(anonymous_4)
......@@ -296,34 +283,37 @@ BRF:50
BRH:19
end_of_record
TN:
SF:/Volumes/x/code/projects/rocketchat-bots/rocketchat-bot-driver/src/lib/log.ts
SF:/Volumes/x/code/Rocket.Chat.js.SDK/src/lib/log.ts
FN:5,(anonymous_0)
FN:8,(anonymous_1)
FN:11,(anonymous_2)
FN:14,(anonymous_3)
FN:21,replaceLog
FNF:5
FN:17,(anonymous_4)
FN:24,replaceLog
FNF:6
FNH:0
FNDA:0,(anonymous_0)
FNDA:0,(anonymous_1)
FNDA:0,(anonymous_2)
FNDA:0,(anonymous_3)
FNDA:0,(anonymous_4)
FNDA:0,replaceLog
DA:6,0
DA:9,0
DA:12,0
DA:15,0
DA:19,1
DA:22,0
DA:26,1
DA:27,1
LF:8
DA:18,0
DA:22,1
DA:25,0
DA:29,1
DA:30,1
LF:9
LH:3
BRF:0
BRH:0
end_of_record
TN:
SF:/Volumes/x/code/projects/rocketchat-bots/rocketchat-bot-driver/src/lib/message.ts
SF:/Volumes/x/code/Rocket.Chat.js.SDK/src/lib/message.ts
FN:13,(anonymous_0)
FN:17,(anonymous_1)
FNF:2
......@@ -344,7 +334,7 @@ BRF:2
BRH:0
end_of_record
TN:
SF:/Volumes/x/code/projects/rocketchat-bots/rocketchat-bot-driver/src/lib/methodCache.ts
SF:/Volumes/x/code/Rocket.Chat.js.SDK/src/lib/methodCache.ts
FN:16,use
FN:26,create
FN:37,call
......@@ -409,227 +399,3 @@ BRDA:80,5,1,1
BRF:11
BRH:9
end_of_record
TN:
SF:/Volumes/x/code/projects/rocketchat-bots/rocketchat-bot-driver/src/utils/api.ts
FN:10,(anonymous_0)
FN:12,setAuth
FN:18,getHeaders
FN:27,post
FN:31,(anonymous_4)
FN:32,(anonymous_5)
FN:48,get
FN:52,(anonymous_7)
FN:53,(anonymous_8)
FNF:9
FNH:0
FNDA:0,(anonymous_0)
FNDA:0,setAuth
FNDA:0,getHeaders
FNDA:0,post
FNDA:0,(anonymous_4)
FNDA:0,(anonymous_5)
FNDA:0,get
FNDA:0,(anonymous_7)
FNDA:0,(anonymous_8)
DA:2,0
DA:3,0
DA:4,0
DA:5,0
DA:7,0
DA:8,0
DA:9,0
DA:10,0
DA:13,0
DA:14,0
DA:16,0
DA:19,0
DA:20,0
DA:21,0
DA:23,0
DA:28,0
DA:29,0
DA:30,0
DA:31,0
DA:32,0
DA:33,0
DA:34,0
DA:37,0
DA:38,0
DA:39,0
DA:40,0
DA:41,0
DA:46,0
DA:49,0
DA:50,0
DA:51,0
DA:52,0
DA:53,0
DA:54,0
DA:55,0
DA:58,0
DA:59,0
DA:60,0
DA:65,0
LF:39
LH:0
BRDA:18,0,0,0
BRDA:19,1,0,0
BRDA:19,1,1,0
BRDA:29,2,0,0
BRDA:29,2,1,0
BRDA:33,3,0,0
BRDA:33,3,1,0
BRDA:37,4,0,0
BRDA:37,4,1,0
BRDA:39,5,0,0
BRDA:39,5,1,0
BRDA:50,6,0,0
BRDA:50,6,1,0
BRDA:54,7,0,0
BRDA:54,7,1,0
BRDA:58,8,0,0
BRDA:58,8,1,0
BRF:17
BRH:0
end_of_record
TN:
SF:/Volumes/x/code/projects/rocketchat-bots/rocketchat-bot-driver/src/utils/config.ts
FNF:0
FNH:0
DA:2,0
DA:4,0
DA:6,0
DA:11,0
DA:24,0
LF:5
LH:0
BRDA:4,0,0,0
BRDA:4,0,1,0
BRDA:7,1,0,0
BRDA:7,1,1,0
BRDA:8,2,0,0
BRDA:8,2,1,0
BRDA:14,3,0,0
BRDA:14,3,1,0
BRDA:15,4,0,0
BRDA:15,4,1,0
BRF:10
BRH:0
end_of_record
TN:
SF:/Volumes/x/code/projects/rocketchat-bots/rocketchat-bot-driver/src/utils/setup.ts
FN:2,(anonymous_0)
FN:3,(anonymous_1)
FN:4,fulfilled
FN:5,rejected
FN:6,step
FN:6,(anonymous_5)
FN:13,setup
FN:14,(anonymous_7)
FNF:8
FNH:0
FNDA:0,(anonymous_0)
FNDA:0,(anonymous_1)
FNDA:0,fulfilled
FNDA:0,rejected
FNDA:0,step
FNDA:0,(anonymous_5)
FNDA:0,setup
FNDA:0,(anonymous_7)
DA:2,0
DA:3,0
DA:4,0
DA:5,0
DA:6,0
DA:7,0
DA:10,0
DA:11,0
DA:12,0
DA:14,0
DA:15,0
DA:16,0
DA:17,0
DA:18,0
DA:21,0
DA:25,0
LF:16
LH:0
BRDA:2,0,0,0
BRDA:2,0,1,0
BRDA:2,0,2,0
BRDA:3,1,0,0
BRDA:3,1,1,0
BRDA:6,2,0,0
BRDA:6,2,1,0
BRDA:7,3,0,0
BRDA:7,3,1,0
BRF:9
BRH:0
end_of_record
TN:
SF:/Volumes/x/code/projects/rocketchat-bots/rocketchat-bot-driver/src/utils/start.ts
FN:2,(anonymous_0)
FN:14,start
FN:17,(anonymous_2)
FN:18,(anonymous_3)
FN:19,(anonymous_4)
FN:20,(anonymous_5)
FN:20,(anonymous_6)
FN:25,(anonymous_7)
FNF:8
FNH:0
FNDA:0,(anonymous_0)
FNDA:0,start
FNDA:0,(anonymous_2)
FNDA:0,(anonymous_3)
FNDA:0,(anonymous_4)
FNDA:0,(anonymous_5)
FNDA:0,(anonymous_6)
FNDA:0,(anonymous_7)
DA:2,0
DA:3,0
DA:4,0
DA:5,0
DA:6,0
DA:7,0
DA:9,0
DA:11,0
DA:12,0
DA:15,0
DA:16,0
DA:17,0
DA:18,0
DA:19,0
DA:20,0
DA:21,0
DA:22,0
DA:23,0
DA:25,0
DA:27,0
LF:20
LH:0
BRDA:2,0,0,0
BRDA:2,0,1,0
BRDA:2,0,2,0
BRDA:3,1,0,0
BRDA:3,1,1,0
BRDA:3,2,0,0
BRDA:3,2,1,0
BRDA:5,3,0,0
BRDA:5,3,1,0
BRDA:5,4,0,0
BRDA:5,4,1,0
BRDA:21,5,0,0
BRDA:21,5,1,0
BRF:13
BRH:0
end_of_record
TN:
SF:/Volumes/x/code/projects/rocketchat-bots/rocketchat-bot-driver/src/utils/teardown.ts
FNF:0
FNH:0
LF:0
LH:0
BRF:0
BRH:0
end_of_record
......@@ -15,6 +15,7 @@ export interface ILogger {
debug: (...args: any[]) => void;
info: (...args: any[]) => void;
warning: (...args: any[]) => void;
warn: (...args: any[]) => void;
error: (...args: any[]) => void;
}
/**
......
{"version":3,"file":"driverInterfaces.js","sourceRoot":"","sources":["../../src/config/driverInterfaces.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Connection options type\n * @param host Rocket.Chat instance Host URL:PORT (without protocol)\n * @param timeout How long to wait (ms) before abandoning connection\n */\nexport interface IOptions {\n host?: string,\n useSsl?: boolean,\n timeout?: number\n}\n\n/**\n * Loggers need to provide the same set of methods\n */\nexport interface ILogger {\n debug: (...args: any[]) => void\n info: (...args: any[]) => void\n warning: (...args: any[]) => void\n error: (...args: any[]) => void\n}\n\n/**\n * Error-first callback param type\n */\nexport interface ICallback {\n (error: Error | null, ...args: any[]): void\n}\n"]}
\ No newline at end of file
{"version":3,"file":"driverInterfaces.js","sourceRoot":"","sources":["../../src/config/driverInterfaces.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Connection options type\n * @param host Rocket.Chat instance Host URL:PORT (without protocol)\n * @param timeout How long to wait (ms) before abandoning connection\n */\nexport interface IOptions {\n host?: string,\n useSsl?: boolean,\n timeout?: number\n}\n\n/**\n * Loggers need to provide the same set of methods\n */\nexport interface ILogger {\n debug: (...args: any[]) => void\n info: (...args: any[]) => void\n warning: (...args: any[]) => void\n warn: (...args: any[]) => void\n error: (...args: any[]) => void\n}\n\n/**\n * Error-first callback param type\n */\nexport interface ICallback {\n (error: Error | null, ...args: any[]): void\n}\n"]}
\ No newline at end of file
......@@ -7,7 +7,7 @@ import { IMessage } from '../config/messageInterfaces';
/**
* Event Emitter for listening to connection.
* @example
* import { driver } from 'rocketchat-bot-driver'
* import { driver } from '@rocket.chat/sdk'
* driver.connect()
* driver.events.on('connected', () => console.log('driver connected'))
*/
......@@ -36,13 +36,13 @@ export declare function useLog(externalLog: ILogger): void;
* error-first-pattern. Error returned or promise rejected on timeout.
* Removes http/s protocol to get connection hostname if taken from URL.
* @example <caption>Use with callback</caption>
* import { driver } from 'rocketchat-bot-driver'
* import { driver } from '@rocket.chat/sdk'
* driver.connect({}, (err) => {
* if (err) throw err
* else console.log('connected')
* })
* @example <caption>Using promise</caption>
* import { driver } from 'rocketchat-bot-driver'
* import { driver } from '@rocket.chat/sdk'
* driver.connect()
* .then(() => console.log('connected'))
* .catch((err) => console.error(err))
......
......@@ -46,7 +46,7 @@ const defaults = {
/**
* Event Emitter for listening to connection.
* @example
* import { driver } from 'rocketchat-bot-driver'
* import { driver } from '@rocket.chat/sdk'
* driver.connect()
* driver.events.on('connected', () => console.log('driver connected'))
*/
......@@ -69,13 +69,13 @@ exports.useLog = useLog;
* error-first-pattern. Error returned or promise rejected on timeout.
* Removes http/s protocol to get connection hostname if taken from URL.
* @example <caption>Use with callback</caption>
* import { driver } from 'rocketchat-bot-driver'
* import { driver } from '@rocket.chat/sdk'
* driver.connect({}, (err) => {
* if (err) throw err
* else console.log('connected')
* })
* @example <caption>Using promise</caption>
* import { driver } from 'rocketchat-bot-driver'
* import { driver } from '@rocket.chat/sdk'
* driver.connect()
* .then(() => console.log('connected'))
* .catch((err) => console.error(err))
......
This diff is collapsed.
......@@ -11,6 +11,9 @@ class InternalLog {
warning(...args) {
console.warn(...args);
}
warn(...args) {
return this.warning(...args);
}
error(...args) {
console.error(...args);
}
......
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/lib/log.ts"],"names":[],"mappings":";;AAEA,uDAAuD;AACvD;IACE,KAAK,CAAE,GAAG,IAAW;QACnB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACtB,CAAC;IACD,IAAI,CAAE,GAAG,IAAW;QAClB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACtB,CAAC;IACD,OAAO,CAAE,GAAG,IAAW;QACrB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IACvB,CAAC;IACD,KAAK,CAAE,GAAG,IAAW;QACnB,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;IACxB,CAAC;CACF;AAED,IAAI,MAAM,GAAY,IAAI,WAAW,EAAE,CAAA;AAOrC,wBAAM;AALR,oBAAqB,WAAoB;IACvC,iBAAA,MAAM,GAAG,WAAW,CAAA;AACtB,CAAC;AAIC,gCAAU","sourcesContent":["import { ILogger } from '../config/driverInterfaces'\n\n/** Temp logging, should override form adapter's log */\nclass InternalLog implements ILogger {\n debug (...args: any[]) {\n console.log(...args)\n }\n info (...args: any[]) {\n console.log(...args)\n }\n warning (...args: any[]) {\n console.warn(...args)\n }\n error (...args: any[]) {\n console.error(...args)\n }\n}\n\nlet logger: ILogger = new InternalLog()\n\nfunction replaceLog (externalLog: ILogger) {\n logger = externalLog\n}\n\nexport {\n logger,\n replaceLog\n}\n"]}
\ No newline at end of file
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/lib/log.ts"],"names":[],"mappings":";;AAEA,uDAAuD;AACvD;IACE,KAAK,CAAE,GAAG,IAAW;QACnB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACtB,CAAC;IACD,IAAI,CAAE,GAAG,IAAW;QAClB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACtB,CAAC;IACD,OAAO,CAAE,GAAG,IAAW;QACrB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IACvB,CAAC;IACD,IAAI,CAAE,GAAG,IAAW;QAClB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;IAC9B,CAAC;IACD,KAAK,CAAE,GAAG,IAAW;QACnB,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;IACxB,CAAC;CACF;AAED,IAAI,MAAM,GAAY,IAAI,WAAW,EAAE,CAAA;AAOrC,wBAAM;AALR,oBAAqB,WAAoB;IACvC,iBAAA,MAAM,GAAG,WAAW,CAAA;AACtB,CAAC;AAIC,gCAAU","sourcesContent":["import { ILogger } from '../config/driverInterfaces'\n\n/** Temp logging, should override form adapter's log */\nclass InternalLog implements ILogger {\n debug (...args: any[]) {\n console.log(...args)\n }\n info (...args: any[]) {\n console.log(...args)\n }\n warning (...args: any[]) {\n console.warn(...args)\n }\n warn (...args: any[]) {\n return this.warning(...args)\n }\n error (...args: any[]) {\n console.error(...args)\n }\n}\n\nlet logger: ILogger = new InternalLog()\n\nfunction replaceLog (externalLog: ILogger) {\n logger = externalLog\n}\n\nexport {\n logger,\n replaceLog\n}\n"]}
\ No newline at end of file
This diff is collapsed.
......@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>InternalLog | rocketchat-bot-driver</title>
<title>InternalLog | @rocket.chat/sdk</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type="text/css">/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
......@@ -879,7 +879,7 @@ img { max-width: 100%; }
<div class="container">
<div class="table-wrap">
<div class="table-cell">
<strong><a href="../index.html">rocketchat-bot-driver</a></strong>
<strong><a href="../index.html">@rocket.chat/sdk</a></strong>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
......@@ -919,6 +919,9 @@ img { max-width: 100%; }
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-not-exported">
<a href="_lib_log_.internallog.html#info" class="tsd-kind-icon">info</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-not-exported">
<a href="_lib_log_.internallog.html#warn" class="tsd-kind-icon">warn</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-not-exported">
<a href="_lib_log_.internallog.html#warning" class="tsd-kind-icon">warning</a>
</li>
......@@ -965,6 +968,7 @@ img { max-width: 100%; }
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-not-exported"><a href="_lib_log_.internallog.html#debug" class="tsd-kind-icon">debug</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-not-exported"><a href="_lib_log_.internallog.html#error" class="tsd-kind-icon">error</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-not-exported"><a href="_lib_log_.internallog.html#info" class="tsd-kind-icon">info</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-not-exported"><a href="_lib_log_.internallog.html#warn" class="tsd-kind-icon">warn</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-not-exported"><a href="_lib_log_.internallog.html#warning" class="tsd-kind-icon">warning</a></li>
</ul>
</section>
......@@ -983,7 +987,7 @@ img { max-width: 100%; }
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/RocketChat/rocketchat-bot-driver/blob/4d9a3ad/src/lib/log.ts#L5">lib/log.ts:5</a></li>
<li>Defined in <a href="https://github.com/RocketChat/rocketchat-bot-driver/blob/21b2c78/src/lib/log.ts#L5">lib/log.ts:5</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
......@@ -1006,7 +1010,7 @@ img { max-width: 100%; }
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/RocketChat/rocketchat-bot-driver/blob/4d9a3ad/src/lib/log.ts#L14">lib/log.ts:14</a></li>
<li>Defined in <a href="https://github.com/RocketChat/rocketchat-bot-driver/blob/21b2c78/src/lib/log.ts#L17">lib/log.ts:17</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
......@@ -1029,7 +1033,30 @@ img { max-width: 100%; }
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/RocketChat/rocketchat-bot-driver/blob/4d9a3ad/src/lib/log.ts#L8">lib/log.ts:8</a></li>
<li>Defined in <a href="https://github.com/RocketChat/rocketchat-bot-driver/blob/21b2c78/src/lib/log.ts#L8">lib/log.ts:8</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5><span class="tsd-flag ts-flagRest">Rest</span> <span class="tsd-signature-symbol">...</span>args: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-not-exported">
<a name="warn" class="tsd-anchor"></a>
<h3>warn</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-not-exported">
<li class="tsd-signature tsd-kind-icon">warn<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/RocketChat/rocketchat-bot-driver/blob/21b2c78/src/lib/log.ts#L14">lib/log.ts:14</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
......@@ -1052,7 +1079,7 @@ img { max-width: 100%; }