@twilio-labs/serverless-runtime-types
v4.0.1
Published
TypeScript definitions to define globals for the Twilio Serverless runtime
Downloads
65,243
Readme
Installation
npm install @twilio-labs/serverless-runtime-types
Example
In JavaScript
If you want to use the types in JavaScript to get autocomplete in VS Code and other editors using the TypeScript language server:
/// <reference path="../../node_modules/@twilio-labs/serverless-runtime-types/index.d.ts"/>
/**
* @param {import('@twilio-labs/serverless-runtime-types').Context} context
* @param {{}} event
* @param {import('@twilio-labs/serverless-runtime-types').ServerlessCallback} callback
*/
exports.handler = function(context, event, callback) {
let twiml = new Twilio.twiml.MessagingResponse();
twiml.message("Hello World");
callback(null, twiml);
};
In TypeScript
For TypeScript you can use the same technique if you want to limit the global types to that file. Alternatively, you can use one of the following two options to use the definitions.
Option 1: Modify your tsconfig.json
{
"compilerOptions": {
"types": ["node_modules/@twilio-labs/serverless-runtime-types/index.d.ts"]
}
}
Option 2: Import the file
import "@twilio-labs/serverless-runtime-types";
export function handler(context, event, callback) {
let twiml = new Twilio.twiml.MessagingResponse();
twiml.message("Hello World");
callback(null, twiml);
}
Alternative Usage
You can also import the specific types without setting the global types:
import { RuntimeInstance } from "@twilio-labs/serverless-runtime-types/types";
function listSyncDocuments(runtime: RuntimeInstance) {
return runtime.getSync().documents.list();
}
Contributing
This project welcomes contributions from the community. Please see the CONTRIBUTING.md
file for more details.
Code of Conduct
Please be aware that this project has a Code of Conduct. The tldr; is to just be excellent to each other ❤️
Contributors
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
License
MIT