Skip to content
This repository was archived by the owner on Sep 5, 2020. It is now read-only.

TypeScript definitions to define globals for the Twilio Serverless runtime

License

Notifications You must be signed in to change notification settings

twilio-labs/serverless-runtime-types

 
 

Repository files navigation

Important

This project is in the process of being moved into a monorepo. In the meantime, for any issues please open an issue at github.com/twilio-labs/twilio-run/issues

@twilio-labs/serverless-runtime-types

TypeScript definitions to define globals for the Twilio Serverless runtime

npm (scoped) npm GitHub All Contributors Code of Conduct PRs Welcome


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):

Dominik Kundel
Dominik Kundel

💻 📖

This project follows the all-contributors specification. Contributions of any kind welcome!

License

MIT

About

TypeScript definitions to define globals for the Twilio Serverless runtime

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published