async function getVocabularies()

in source/lambda/headvocabulary/headvocabulary.js [92:135]


async function getVocabularies(nextToken) {
  try {
    var vocabularies = [];

    var vocabularyName = process.env.VOCABULARY_NAME;

    var listVocabularyParams = {
      NameContains: vocabularyName,
    };

    if (nextToken) {
      listVocabularyParams.NextToken = nextToken;
    }

    console.log(
      "[INFO] listing vocabularies using params: %j",
      listVocabularyParams
    );

    var listVocabularyResponse = await transcribe
      .listVocabularies(listVocabularyParams)
      .promise();

    console.log(
      "[INFO] got list vocabulary response: %j",
      listVocabularyResponse
    );

    if (listVocabularyResponse.Vocabularies) {
      vocabularies = vocabularies.concat(listVocabularyResponse.Vocabularies);
    }

    if (listVocabularyResponse.NextToken) {
      vocabularies = vocabularies.concat(
        await getVocabularies(listVocabularyResponse.NextToken)
      );
    }

    return vocabularies;
  } catch (error) {
    console.log("[ERROR] failed to list vocabularies", error);
    throw error;
  }
}