All files / lib/utils awsmobilejs-name-manager.js

94.44% Statements 17/18
100% Branches 2/2
88.89% Functions 8/9
94.44% Lines 17/18

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82                          46x   46x       1x         1x         2x         5x         1x         1x         1x               9x 5x   9x 9x   9x 53x     9x     46x                      
/* 
 * Copyright 2017-2018 Amazon.com, Inc. or its affiliates. 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. A copy of the License is located at
 *
 *     http://aws.amazon.com/apache2.0/
 *
 * or in the "license" file accompanying this file. This file 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.
*/
"use strict";
const moment = require('moment')
 
const awsmobilejsConstant = require('./awsmobilejs-constant.js')
 
function generateProjectName() 
{
    return 'awsmobilejs-' + makeid()
}
 
function generateAWSConfigFileName(projectInfo)
{
    return projectInfo.ProjectName + '-'  + makeid() + '.json'
}
 
function generateIAMUserName()
{
    return 'AWSMobileCLI-'  + makeid()
}
 
function generateBackendProjectName(projectInfo)
{
    return projectInfo.ProjectName + '-' + moment().format(awsmobilejsConstant.DateTimeFormatString)
}
 
function generateDeviceFarmTestRunName(projectInfo)
{
    return Date.now().toString()
}
 
function generateCloudFrontInvalidationReference(projectInfo)
{
    return Date.now().toString()
}
 
function generateTempName(seedName)
{
    return seedName + makeid()
}
 
function generateGraphqlAPIName(projectInfo){
    return projectInfo.BackendProjectName
}
 
function makeid(n) {
    if(!n){
        n = 5
    }
    let text = ""
    let possible = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 
    for (let i = 0; i <n; i++){
        text += possible.charAt(Math.floor(Math.random() * possible.length))
    }
 
    return text
}
 
module.exports = {
    generateProjectName,
    generateAWSConfigFileName,
    generateIAMUserName,
    generateBackendProjectName,
    generateDeviceFarmTestRunName,
    generateCloudFrontInvalidationReference,
    generateTempName,
    generateGraphqlAPIName,
    makeid,
}