watson-developer-cloud
Version:
Client library to use the IBM Watson Services and AlchemyAPI
114 lines • 4.89 kB
JavaScript
;
/**
* Copyright 2014 IBM Corp. 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.
*/
var __assign = (this && this.__assign) || Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
/**
* @module watson-developer-cloud
*/
exports.AuthorizationV1 = require("./authorization/v1");
exports.AssistantV1 = require("./assistant/v1");
exports.AssistantV2 = require("./assistant/v2");
exports.CompareComplyV1 = require("./compare-comply/v1");
exports.ConversationV1 = require("./conversation/v1");
exports.DiscoveryV1 = require("./discovery/v1");
exports.DialogV1 = require("./dialog/v1");
exports.LanguageTranslatorV3 = require("./language-translator/v3");
exports.NaturalLanguageClassifierV1 = require("./natural-language-classifier/v1");
exports.NaturalLanguageUnderstandingV1 = require("./natural-language-understanding/v1");
exports.PersonalityInsightsV2 = require("./personality-insights/v2");
exports.PersonalityInsightsV3 = require("./personality-insights/v3");
exports.SpeechToTextV1 = require("./speech-to-text/v1");
exports.TextToSpeechV1 = require("./text-to-speech/v1");
exports.ToneAnalyzerV3 = require("./tone-analyzer/v3");
exports.VisualRecognitionV3 = require("./visual-recognition/v3");
// adding shim constructors for backwards compatibility
// 2-d map of snake_case service names & version => constructor function
// e.g. servicesByVersion.text_to_speech.v1 === export import TextToSpeechV1;
var servicesByVersion = {};
Object.keys(exports).forEach(function (key) {
var service = exports[key];
var name = service.prototype.name;
var version = service.prototype.serviceVersion;
servicesByVersion[name] = servicesByVersion[name] || {};
servicesByVersion[name][version] = service;
});
Object.keys(servicesByVersion).forEach(function (serviceName) {
Object.defineProperty(exports, serviceName, {
enumerable: false,
configurable: true,
writable: true,
value: function (options) {
// eslint-disable-next-line no-console
console.warn('WARNING: This method of instantiating the Watson services has been deprecated ' +
'beginning with Version 3.0.0 of the Node SDK. Please refer to the Node SDK ' +
'documentation for information on how to instantiate Watson services. This ' +
'form of service instantiaion will be removed in a future release of the SDK.');
options = options || {};
// previously, AlchemyAPI did not require a version to be specified
if (serviceName.indexOf('alchemy_') === 0) {
options.version = 'v1';
}
var service = servicesByVersion[serviceName][options.version];
if (!service) {
throw new Error('Unable to find ' + serviceName + ' version ' + options.version);
}
return new service(__assign({}, options, { serviceVersion: options.version, version: options.version_date }));
}
});
});
// removed services
// we don't want these services listed (so non-enumerable), but we do want a clear error message
// if old code happens to try using one
[
'concept_insights',
'relationship_extraction',
'message_resonance',
'question_and_answer',
'visual_insights',
'concept_expansion',
'retrieve_and_rank',
'alchemy_language',
'alchemy_data_news',
'tradeoff_analytics'
].forEach(function (serviceName) {
Object.defineProperty(exports, serviceName, {
enumerable: false,
configurable: true,
writable: true,
value: function () {
throw new Error('The ' + serviceName + ' service is no longer available');
}
});
});
['AlchemyVisionV1', 'alchemy_vision'].forEach(function (serviceName) {
Object.defineProperty(exports, serviceName, {
enumerable: false,
configurable: true,
writable: true,
value: function () {
throw new Error('The Alchemy Vision service is no longer available, please use Visual Recognition instead.');
}
});
});
//# sourceMappingURL=index.js.map