JSPM

  • Created
  • Published
  • Downloads 37736
  • Score
    100M100P100Q173943F

TypeScript definitions to define globals for the Twilio Serverless runtime

Package Exports

  • @twilio-labs/serverless-runtime-types
  • @twilio-labs/serverless-runtime-types/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@twilio-labs/serverless-runtime-types) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@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