added all JS property types, and tests to cover