71 lines
2.2 KiB
JavaScript
71 lines
2.2 KiB
JavaScript
/*
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one
|
|
* or more contributor license agreements. See the NOTICE file
|
|
* distributed with this work for additional information
|
|
* regarding copyright ownership. The ASF licenses this file
|
|
* to you under the Apache License, Version 2.0 (the
|
|
* "License"); you may not use this file except in compliance
|
|
* with the License. You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing,
|
|
* software distributed under the License is distributed on an
|
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
* KIND, either express or implied. See the License for the
|
|
* specific language governing permissions and limitations
|
|
* under the License.
|
|
*
|
|
*/
|
|
|
|
var utils = require('cordova/utils');
|
|
|
|
module.exports = {
|
|
/**
|
|
* Converts primitives into Complex Object
|
|
* Currently only used for Date fields
|
|
*/
|
|
toCordovaFormat: function (contact) {
|
|
var value = contact.birthday;
|
|
if (value !== null) {
|
|
try {
|
|
contact.birthday = new Date(parseFloat(value));
|
|
|
|
//we might get 'Invalid Date' which does not throw an error
|
|
//and is an instance of Date.
|
|
if (isNaN(contact.birthday.getTime())) {
|
|
contact.birthday = null;
|
|
}
|
|
|
|
} catch (exception){
|
|
console.log("Cordova Contact toCordovaFormat error: exception creating date.");
|
|
}
|
|
}
|
|
return contact;
|
|
},
|
|
|
|
/**
|
|
* Converts Complex objects into primitives
|
|
* Only conversion at present is for Dates.
|
|
**/
|
|
toNativeFormat: function (contact) {
|
|
var value = contact.birthday;
|
|
if (value !== null) {
|
|
// try to make it a Date object if it is not already
|
|
if (!utils.isDate(value)){
|
|
try {
|
|
value = new Date(value);
|
|
} catch(exception){
|
|
value = null;
|
|
}
|
|
}
|
|
if (utils.isDate(value)){
|
|
value = value.valueOf(); // convert to milliseconds
|
|
}
|
|
contact.birthday = value;
|
|
}
|
|
return contact;
|
|
}
|
|
};
|