UNPKG

@jackdbd/eleventy-plugin-text-to-speech

Version:
44 lines 2.47 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.options = void 0; const joi_1 = __importDefault(require("joi")); const constants_js_1 = require("./constants.js"); const serviceAccountJsonKeyFilename = joi_1.default.string() .min(1) .pattern(new RegExp('^.*\\.json$')); const audioEncoding = joi_1.default.string().valid('ALAW', 'AUDIO_ENCODING_UNSPECIFIED', 'LINEAR16', 'MP3', 'MULAW', 'OGG_OPUS'); const audioEncodings = joi_1.default.array().items(audioEncoding).unique(); const audioSelfHost = joi_1.default.object().instance(URL); // https://cloud.google.com/storage/docs/naming-buckets const cloudStorageBucketName = joi_1.default.string().min(3).max(63); const audioCloudStorageHost = joi_1.default.object().keys({ bucketName: cloudStorageBucketName.required(), keyFilename: serviceAccountJsonKeyFilename }); const audioHost = joi_1.default.alternatives().try(audioSelfHost, audioCloudStorageHost); const cssSelector = joi_1.default.string().min(1); const cssSelectors = joi_1.default.array().items(cssSelector).unique(); const regex = joi_1.default.object().instance(RegExp); // 5 characters for the language code (e.g. en-US) const voice = joi_1.default.string().min(6); const xPathExpression = joi_1.default.string().min(1); const xPathExpressions = joi_1.default.array().items(xPathExpression).unique(); const rule = joi_1.default.object().keys({ regex: regex.default(constants_js_1.DEFAULT_REGEX), cssSelectors: cssSelectors.default(constants_js_1.DEFAULT_CSS_SELECTORS), xPathExpressions: xPathExpressions.default(constants_js_1.DEFAULT_XPATH_EXPRESSIONS) }); exports.options = joi_1.default.object().keys({ audioEncodings: audioEncodings.default(constants_js_1.DEFAULT.audioEncodings), audioHost: audioHost.required(), cacheExpiration: joi_1.default.string().min(1).default(constants_js_1.DEFAULT.cacheExpiration), collectionName: joi_1.default.string().min(1).default(constants_js_1.DEFAULT.collectionName), keyFilename: serviceAccountJsonKeyFilename, rules: joi_1.default.array().items(rule).default(constants_js_1.DEFAULT.rules), transformName: joi_1.default.string().min(1).default(constants_js_1.DEFAULT.transformName), voice: voice.default(constants_js_1.DEFAULT.voiceName) }); //# sourceMappingURL=schemas.js.map