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 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | 1x 1x 1x 1x 1x 1x 1x 2x 1x 1x 1x 1x 1x 1x 2x 2x 2x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 2x 1x 3x 1x 3x 3x 1x 2x 1x 1x 1x 1x 1x 1x 3x 1x | /* * 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 awsmobilejsConstant = require('../../../utils/awsmobilejs-constant.js') const DIFF = awsmobilejsConstant.DiffMark const CREATE = awsmobilejsConstant.DiffMark_Create const UPDATE = awsmobilejsConstant.DiffMark_Update const NONE = awsmobilejsConstant.DiffMark_None const DELETE = awsmobilejsConstant.DiffMark_Delete function dressForDevBackend(apiKeys){ for(let i=0;i<apiKeys.length;i++){ apiKeys[i].id = awsmobilejsConstant.ByAWSMobileCLI + ':' + i } return apiKeys } function diff(appsyncUpdateHandle){ let diffMarkedApiKeys = [] let currentApiKeys = appsyncUpdateHandle.currentAppSyncInfo.apiKeys let devApiKeys = appsyncUpdateHandle.devAppSyncInfo.apiKeys Eif(devApiKeys && devApiKeys.length>0){ for(let i=0;i<devApiKeys.length;i++){ let devApiKey = devApiKeys[i] let currentApiKey let regex = new RegExp('^'+awsmobilejsConstant.ByAWSMobileCLI) if(devApiKey.id && currentApiKeys && currentApiKeys.length>0){ Eif(regex.test(devApiKey.id)){ let strs = devApiKey.id.split(':') Eif(strs.length>1){ let index = parseInt(strs[1]) Eif(!isNaN(index) && index < currentApiKeys.length){ currentApiKey = currentApiKeys[index] } } }else{ for(let j=0;j<currentApiKeys.length;j++){ if(devApiKey.id == currentApiKeys[i].id){ currentApiKey = currentApiKeys[i] break } } } diffMarkedApiKeys.push(markDiff(devApiKey, currentApiKey)) }else{ diffMarkedApiKeys.push(markDiff(devApiKey, null)) } } } Eif(currentApiKeys && currentApiKeys.length>0){ for(let j=0;j<currentApiKeys.length;j++){ if(!currentApiKeys[j][DIFF]){ diffMarkedApiKeys.push(markDiff(undefined, currentApiKeys[j])) } } } diffMarkedApiKeys = diffMarkedApiKeys.filter(item=>item[DIFF] != NONE) return diffMarkedApiKeys } function markDiff(devApiKey, currentApiKey){ let result = devApiKey if(!currentApiKey){ devApiKey[DIFF] = CREATE }else if(!devApiKey){ currentApiKey[DIFF] = DELETE result = currentApiKey }else{ Iif(devApiKey.description == currentApiKey.description && devApiKey.expires == currentApiKey.expires){ devApiKey[DIFF] = NONE currentApiKey[DIFF] = NONE }else{ devApiKey[DIFF] = UPDATE currentApiKey[DIFF] = UPDATE } result = currentApiKey } return result } module.exports = { dressForDevBackend, diff } |