func TakeWhileInt64Ptr(f func(*int64) bool, list []*int64) []*int64 {
	if f == nil {
		return []*int64{}
	}
	var newList []*int64
	for _, v := range list {
		if !f(v) {
			return newList
		}
		newList = append(newList, v)
	}
	return newList
}
TakeWhileInt64Ptr returns new list based on condition in the supplied function. It returns new list once condition fails.

Takes 2 inputs:
1. Function
2. List

Returns:
New List.
Empty list if all the parameters are nil or either of one parameter is nil
package fp
func TakeWhileIntPtr(f func(*int) bool, list []*int) []*int {
	if f == nil {
		return []*int{}
	}
	var newList []*int
	for _, v := range list {
		if !f(v) {
			return newList
		}
		newList = append(newList, v)
	}
	return newList
}