[SDC-29] Amdocs OnBoard 1707 initial commit.
[sdc.git] / openecomp-ui / src / nfvo-utils / UUID.js
1 /*!
2  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13  * or implied. See the License for the specific language governing
14  * permissions and limitations under the License.
15  */
16 import UUID from 'uuid-js';
17
18 let toCustomUUID = (uuid) => {
19         return 'U' + uuid.replace(/-/g, '');
20 };
21
22 let getUUID = function(num, isSync) {
23         if (isSync) {
24                 let uuid;
25                 if (!num) {
26                         uuid = toCustomUUID(UUID.create().toString());
27                 } else {
28                         uuid = [];
29                         for (var i = 0; i < num; i++) {
30                                 uuid[i] = toCustomUUID(UUID.create().toString());
31                         }
32                 }
33                 if (num === 1) {
34                         return uuid[0];
35                 } else {
36                         return uuid;
37                 }
38         }
39         return new Promise(resolve => {
40                 let uuid;
41                 if (!num) {
42                         uuid = toCustomUUID(UUID.create().toString());
43                 } else {
44                         uuid = [];
45                         for (var i = 0; i < num; i++) {
46                                 uuid[i] = toCustomUUID(UUID.create().toString());
47                         }
48                 }
49                 setTimeout(() => resolve(uuid), 100);
50         });
51 };
52
53 export default getUUID;