lib/preact.rb in isomorfeus-preact-22.9.0.rc6 vs lib/preact.rb in isomorfeus-preact-22.9.0.rc7
- old
+ new
@@ -768,11 +768,12 @@
function validate_props(newType, newProps) {
if (newType.declared_props && newType.declared_props !== nil) {
#{
`newType.declared_props`.each do |prop, value|
- `newProps`[prop] = value[:default] if value.key?(:default) && !`newProps`.key?(prop)
+ `if (Object.hasOwnProperty.call(value.$$smap, "default") && !Object.hasOwnProperty.call(newProps.$$smap, prop)) { #{`newProps`[prop] = value[:default]} }`
+ nil
end
}
if (Opal.Isomorfeus.development) { #{`newType`.validate_props(`newProps`)} }
}
}
@@ -1424,10 +1425,10 @@
# validate props
declared_props = node_name.instance_variable_get(:@declared_props)
if declared_props
declared_props.each do |prop, value|
- props[prop] = value[:default] if !props.key?(prop) && value.key?(:default)
+ props[prop] = value[:default] if value.key?(:default) && !props.key?(prop)
end
node_name.validate_props(props) if Isomorfeus.development?
end
c = vnode.__c = node_name.new(props, cctx)