actions-on-google
Version:
Actions on Google Client Library for Node.js
59 lines (50 loc) • 1.66 kB
text/typescript
/**
* Copyright 2018 Google Inc. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import * as Api from '../../../api/v2';
import * as common from '../../../../../common';
/** @public */
export interface BasicCardOptions {
/** @public */
title?: string;
/** @public */
subtitle?: string;
/** @public */
text?: string;
/** @public */
image?: Api.GoogleActionsV2UiElementsImage;
/** @public */
buttons?:
| Api.GoogleActionsV2UiElementsButton
| Api.GoogleActionsV2UiElementsButton[];
/** @public */
display?: Api.GoogleActionsV2UiElementsBasicCardImageDisplayOptions;
}
/** @public */
export interface BasicCard extends Api.GoogleActionsV2UiElementsBasicCard {}
export class BasicCard implements Api.GoogleActionsV2UiElementsBasicCard {
/** @public */
constructor(options: BasicCardOptions) {
this.title = options.title;
this.subtitle = options.subtitle;
this.formattedText = options.text;
this.image = options.image;
const {buttons} = options;
if (buttons) {
this.buttons = common.toArray(buttons);
}
this.imageDisplayOptions = options.display;
}
}