From 3d8f9e40ab5f2e478360dcb70c51a668ccdf2eb7 Mon Sep 17 00:00:00 2001 From: neha-Gupta1 Date: Fri, 2 Jun 2023 11:33:18 +0530 Subject: [PATCH] move isNil func to common/prt --- src/internal/common/ptr/pointer.go | 19 ++++++++++++++++++- .../connector/exchange/restore_test.go | 2 +- src/internal/connector/exchange/transform.go | 16 +--------------- 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/src/internal/common/ptr/pointer.go b/src/internal/common/ptr/pointer.go index fa9d3f606..bd35e8f20 100644 --- a/src/internal/common/ptr/pointer.go +++ b/src/internal/common/ptr/pointer.go @@ -1,6 +1,9 @@ package ptr -import "time" +import ( + "reflect" + "time" +) // ptr package is a common package used for pointer // access and deserialization. @@ -50,3 +53,17 @@ func OrNow(t *time.Time) time.Time { func To[T any](t T) *T { return &t } + +// IsNil check if type provided is nil +func IsNil(i any) bool { + if i == nil { + return true + } + + switch reflect.TypeOf(i).Kind() { + case reflect.Ptr, reflect.Map, reflect.Array, reflect.Chan, reflect.Slice: + return reflect.ValueOf(i).IsNil() + } + + return false +} diff --git a/src/internal/connector/exchange/restore_test.go b/src/internal/connector/exchange/restore_test.go index 36d7101be..3fefd044e 100644 --- a/src/internal/connector/exchange/restore_test.go +++ b/src/internal/connector/exchange/restore_test.go @@ -211,7 +211,7 @@ func (suite *RestoreIntgSuite) TestRestoreExchangeObject() { return ptr.Val(folder.GetId()) }, }, - //TODO: Neha complete as part of https://github.com/alcionai/corso/issues/2428 + // TODO: Neha complete as part of https://github.com/alcionai/corso/issues/2428 // { // name: "Test Mail: Hydrated Item Attachment Mail", // bytes: exchMock.MessageWithNestedItemAttachmentMail(t, diff --git a/src/internal/connector/exchange/transform.go b/src/internal/connector/exchange/transform.go index 2f0af9530..ea3f58b21 100644 --- a/src/internal/connector/exchange/transform.go +++ b/src/internal/connector/exchange/transform.go @@ -2,7 +2,6 @@ package exchange import ( "fmt" - "reflect" "strings" "github.com/alcionai/clues" @@ -259,7 +258,7 @@ func sanitizeEvent(orig models.Eventable) (models.Eventable, error) { newEvent.SetIsAllDay(orig.GetIsAllDay()) newEvent.SetIsOnlineMeeting(orig.GetIsOnlineMeeting()) - if !isNil(orig.GetLocation()) { + if !ptr.IsNil(orig.GetLocation()) { newEvent.SetLocation(orig.GetLocation()) } @@ -290,19 +289,6 @@ func sanitizeEvent(orig models.Eventable) (models.Eventable, error) { return newEvent, nil } -func isNil(i interface{}) bool { - if i == nil { - return true - } - - switch reflect.TypeOf(i).Kind() { - case reflect.Ptr, reflect.Map, reflect.Array, reflect.Chan, reflect.Slice: - return reflect.ValueOf(i).IsNil() - } - - return false -} - func sanitizeMessage(orig models.Messageable) (models.Messageable, error) { message := toMessage(orig)