"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ChannelController = void 0; const schema_js_1 = require("../schema.js"); const types_js_1 = require("../types.js"); // None of the fields is required, a channel has one of them at least const channel = schema_js_1.s.object({ /** "256", "13.1" */ number: schema_js_1.s.optional(schema_js_1.s.string()), callSign: schema_js_1.s.optional(schema_js_1.s.string()), affiliateCallSign: schema_js_1.s.optional(schema_js_1.s.string()), uri: schema_js_1.s.optional(schema_js_1.s.string()), }); /** * The channel of a TV. ChangeChannel names the channel by one or more of number, callSign, affiliateCallSign and * uri, or by channelMetadata.name alone. The lineup of a TV provider is not described: the page folds the discovery * example that has one. */ exports.ChannelController = (0, types_js_1.defineInterface)({ namespace: "Alexa.ChannelController", version: "3", doc: "https://developer.amazon.com/docs/alexaplus/device-apis/alexa-channelcontroller.html", kind: "controller", tier: 2, instanced: false, properties: { channel: { name: "channel", value: channel }, }, directives: { ChangeChannel: { name: "ChangeChannel", payload: schema_js_1.s.object({ channel: schema_js_1.s.optional(channel), channelMetadata: schema_js_1.s.optional(schema_js_1.s.object({ name: schema_js_1.s.optional(schema_js_1.s.string()), image: schema_js_1.s.optional(schema_js_1.s.string()) })), }), }, SkipChannels: { name: "SkipChannels", payload: schema_js_1.s.object({ channelCount: schema_js_1.s.number({ integer: true }) }), note: "above 0 up, below 0 down", }, }, });