mennanov / fieldmask-utils

Protobuf Field Mask Go utils
MIT License
229 stars 26 forks source link

*int64 panic #33

Closed leeming87v5 closed 1 year ago

leeming87v5 commented 1 year ago

*int64 field got panic by StructToMap(),stack as below

image image image

example:

import (
    msku "github.com/mennanov/fieldmask-utils"
)

type example struct {
    P2Int64  *int64
    WhatEver string
}

func willPanic() {
    var (
        i         int64 = 666
        updateMap       = make(map[string]interface{})
    )

    mask, _ := msku.MaskFromPaths(
        []string{"P2Int64", "WhatEver"},
        func(s string) string { return s },
    )

    // panic here
    _ = msku.StructToMap(
        mask,
        &example{
            P2Int64:  &i,
            WhatEver: "what ever",
        },
        updateMap,
    )
}
mennanov commented 1 year ago

Thanks for reporting. I'm working on a fix. It will be ready in a few days.

mennanov commented 1 year ago

Please, try https://github.com/mennanov/fieldmask-utils/pull/34 and see if it works for you

mennanov commented 1 year ago

This should now be fixed in the new major release: https://github.com/mennanov/fieldmask-utils/releases/tag/v1.0.0