diff options
Diffstat (limited to 'app/assets/javascripts/graphql_shared/utils.js')
-rw-r--r-- | app/assets/javascripts/graphql_shared/utils.js | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/app/assets/javascripts/graphql_shared/utils.js b/app/assets/javascripts/graphql_shared/utils.js index 828ddd95ffc..8fb70eb59bd 100644 --- a/app/assets/javascripts/graphql_shared/utils.js +++ b/app/assets/javascripts/graphql_shared/utils.js @@ -15,6 +15,8 @@ export const isGid = (id) => { return false; }; +const parseGid = (gid) => parseInt(`${gid}`.replace(/gid:\/\/gitlab\/.*\//g, ''), 10); + /** * Ids generated by GraphQL endpoints are usually in the format * gid://gitlab/Environments/123. This method extracts Id number @@ -23,8 +25,10 @@ export const isGid = (id) => { * @param {String} gid GraphQL global ID * @returns {Number} */ -export const getIdFromGraphQLId = (gid = '') => - parseInt(`${gid}`.replace(/gid:\/\/gitlab\/.*\//g, ''), 10) || null; +export const getIdFromGraphQLId = (gid = '') => { + const parsedGid = parseGid(gid); + return Number.isInteger(parsedGid) ? parsedGid : null; +}; export const MutationOperationMode = { Append: 'APPEND', |