JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 30
  • Score
    100M100P100Q58885F
  • License MIT

JSX for Alexa Skills Kit SSML

Package Exports

  • alexa-ssml

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 (alexa-ssml) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

alexa-ssml Build Status

Manipulate and validate the subset of SSML supported by the Alexa Skills Kit

npm install alexa-ssml

  • Only supports limited syntax
  • Camel case tag names and properties.
  • <break /> changed to <pause />
  • Compatible with transform-react-jsx babel plugin

Example

import { ssml, renderToString } from 'alexa-ssml';

const tags = (
    <speak>
        Here is a number <w role="ivona:VBD">read</w> as a cardinal number:
        <sayAs interpretAs="cardinal">12345</sayAs>.
        Here is a word spelled out: <sayAs interpretAs="spell-out">hello</sayAs>.
    </speak>
);

const raw = renderToString(tags);

Custom Elements

import { ssml } from 'alexa-ssml';

function LongPause(props) {
    return <pause time={10000} />
}

const data = (
    <speak>
        Foo <LongPause /> bar.
    </speak>
)

API

ssml(tag, props, ...children) -> object
  • tag can be a string or function
  • Returns object like { tag, props, children }
renderToString(data, [options]) -> string
  • Takes in object from ssml function
  • Must be wrapped in a "speak" tag
  • Supported options:
    • pretty, defaults to false. Makes the SSML easier to read.

JSX Syntax

To use SSML JSX syntax directly in JavaScript add /** @jsx ssml */ to the top of the file or configure transform-react-jsx using .babelrc:

{
    "plugins": [
        ["transform-react-jsx", { "pragma": "ssml" }]
    ]
}