Peter created CB-4849:
-------------------------

             Summary: Inconsistent constructors for the Contact objects
                 Key: CB-4849
                 URL: https://issues.apache.org/jira/browse/CB-4849
             Project: Apache Cordova
          Issue Type: Improvement
          Components: CordovaJS
    Affects Versions: 2.9.0
            Reporter: Peter
            Assignee: Andrew Grieve
            Priority: Minor


It is curious that the ContactField constructor ensures that members are 
converted to strings as per the documentation, but the other Contact 
constructors like ContactOrganization, ContactAddress do not follow the same 
code pattern. Is there some reason for the difference?

For example,

{code}
var ContactField = function(type, value, pref) {
    this.id = null;
    this.type = (type && type.toString()) || null;
    this.value = (value && value.toString()) || null;
    this.pref = (typeof pref != 'undefined' ? pref : false);
};
{code}

vs.

{code}
var ContactAddress = function(pref, type, formatted, streetAddress, locality, 
region, postalCode, country) {
    this.id = null;
    this.pref = (typeof pref != 'undefined' ? pref : false);
    this.type = type || null;
    this.formatted = formatted || null;
    this.streetAddress = streetAddress || null;
    this.locality = locality || null;
    this.region = region || null;
    this.postalCode = postalCode || null;
    this.country = country || null;
};
{code}

It means (for example) that user can create a ContactField for a phone numbers 
passing a value of 123456 and it will be coverted OK to '123456'. But if user 
passed numeric 1234 as a ContactAddress postalCode the assigned member will 
have the wrong type.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to