/
utils.go
58 lines (48 loc) · 1.32 KB
/
utils.go
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
package gdsb
/*
Copyright 2018 Rewati Raman rewati.raman@gmail.com https://github.com/rewati/gdsb
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License 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.
*/
import (
"encoding/json"
"sync"
"time"
uuid "github.com/satori/go.uuid"
)
//Hold will hold execution
func Hold() {
var wg = &sync.WaitGroup{}
wg.Add(1)
wg.Wait()
}
//UUIDstring to generate UUID
func UUIDstring() string {
u := uuid.NewV4()
return u.String()
}
//ToJSON takes object o and returns string and error
func ToJSON(o interface{}) (string, error) {
j, e := json.Marshal(o)
if e == nil {
return string(j), e
}
return "", e
}
//UTCNow is to generate utc time
func UTCNow() time.Time {
loc, _ := time.LoadLocation("UTC")
return time.Now().In(loc)
}
//UTCMilisec is to generate utc time millisecond
func UTCMilisec() int64 {
v := UTCNow().UnixNano() / 1000000
return v
}