@zcatalyst/zia
Version: 
ZOHO CATALYST SDK for JavaScript zia for Node.js and Browser.
82 lines (81 loc) • 2.76 kB
JavaScript
import { CONSTANTS, isNonEmptyArray, wrapValidatorsWithPromise } from '@zcatalyst/utils';
import { CatalystZiaError } from './utils/errors';
const { REQ_METHOD, CREDENTIAL_USER } = CONSTANTS;
export async function _getSentimentAnalysis(requester, listOfDocuments, keywords) {
    await wrapValidatorsWithPromise(() => {
        isNonEmptyArray(listOfDocuments, 'documents list', true);
        if (keywords !== undefined) {
            isNonEmptyArray(isNonEmptyArray(keywords, 'keywords', true));
        }
    }, CatalystZiaError);
    const requestData = {
        document: listOfDocuments,
        keywords
    };
    const request = {
        method: REQ_METHOD.post,
        path: '/ml/text-analytics/sentiment-analysis',
        data: requestData,
        type: "json",
        service: "baas",
        track: true,
        user: CREDENTIAL_USER.admin
    };
    const resp = await requester.send(request);
    return resp.data.data;
}
export async function _getKeywordExtraction(requester, listOfDocuments) {
    await wrapValidatorsWithPromise(() => {
        isNonEmptyArray(listOfDocuments, 'documents list', true);
    }, CatalystZiaError);
    const request = {
        method: REQ_METHOD.post,
        path: '/ml/text-analytics/keyword-extraction',
        data: { document: listOfDocuments },
        type: "json",
        service: "baas",
        track: true,
        user: CREDENTIAL_USER.admin
    };
    const resp = await requester.send(request);
    return resp.data.data;
}
export async function _getNERPrediction(requester, listOfDocuments) {
    await wrapValidatorsWithPromise(() => {
        isNonEmptyArray(listOfDocuments, 'documents list', true);
    }, CatalystZiaError);
    const request = {
        method: REQ_METHOD.post,
        path: '/ml/text-analytics/ner',
        data: { document: listOfDocuments },
        type: "json",
        service: "baas",
        track: true,
        user: CREDENTIAL_USER.admin
    };
    const resp = await requester.send(request);
    return resp.data.data;
}
export async function _getTextAnalytics(requester, listOfDocuments, keywords) {
    await wrapValidatorsWithPromise(() => {
        isNonEmptyArray(listOfDocuments, 'documents list', true);
        if (keywords !== undefined) {
            isNonEmptyArray(isNonEmptyArray(keywords, 'keywords', true));
        }
    }, CatalystZiaError);
    const requestData = {
        document: listOfDocuments,
        keywords
    };
    const request = {
        method: REQ_METHOD.post,
        path: '/ml/text-analytics',
        data: requestData,
        type: "json",
        service: "baas",
        track: true,
        user: CREDENTIAL_USER.admin
    };
    const resp = await requester.send(request);
    return resp.data.data;
}