rungwiroon / BlazorGoogleMaps

Blazor interop for GoogleMap library
MIT License
309 stars 99 forks source link

Alow updating API response before serialization #312

Closed AndreyTretyak closed 5 months ago

AndreyTretyak commented 5 months ago

Fixes #308 by allowing customers to exclude deprecated filed before JSON.stringify triggers warnings. For example:

const removeDepricatedFieldsFromObject = function (obj) {
    if ('place_id' in obj) {
        delete obj.utc_offset
    }
    if ('opening_hours' in obj) {
        const hours = obj.opening_hours
        delete hours.open_now
    }
}

const removeDepricatedFields = function (obj) {
    if (Array.isArray(obj)) {
        for (const element of obj) {
            removeDepricatedFields(element)
        }
    } if (typeof obj === 'object' && obj !== null) {
        removeDepricatedFieldsFromObject(obj)
    }
}

window.blazorGoogleMapsBeforeStringify = function (obj) {
   removeDepricatedFields(obj);
   return obj;
};
valentasm1 commented 5 months ago

Take a look till sunday

AndreyTretyak commented 5 months ago

Take a look till sunday

Feel free to look at it when you are back from workation. I'm fine with this being delayed till 18th, as long as it's not delayed indefinitely.

valentasm1 commented 5 months ago

Really nice implementation. Thank you. Released.

AndreyTretyak commented 5 months ago

Thank you for acting on it so quickly.