class $paramSerializer extends AngularServiceModel @register(MaterialRaingular.app) @inject('$httpParamSerializer') clean: (obj) -> @$httpParamSerializer @update(obj) update: (obj) -> res = {} for key,val of @strip(obj) continue if val == obj['$' + key + '_was'] continue if val?.toString() == obj['$' + key + '_was']?.toString() continue if [undefined,null].includes(val) && [undefined,null].includes(obj["$#{key}_was"]) continue if ActiveRecord.$Collection.isCollection(val) res[key] = val res strip: (obj) -> res = {} for key,val of obj continue if ['$','_'].includes(key[0]) || key in ['constructor','initialize'] continue if ActiveRecord.$Collection.isCollection(val) res[key] = if (typeof val == 'object' && val != null && !val instanceof Date) then @strip(val) else val res create: (obj) -> res = {} for key,val of @strip(obj) continue if typeof val == 'undefined' res[key] = val res