UNPKG

nativescript-contacts

Version:

A NativeScript module providing easy access to iOS and android contact directory. Pick a contact, update date, or add a new one!

58 lines (54 loc) 1.63 kB
require('globals'); // necessary to bootstrap tns modules on the new thread var Contact = require("./contact-model"); var helper = require("./contact-helper"); /* pass debug messages to main thread since web workers do not have console access */ function console_log(msg) { postMessage({ type: 'debug', message: msg }); } function console_dump(msg) { postMessage({ type: 'dump', message: msg }); } module.exports = function (contactFields) { try { var c = helper.getContext().getContentResolver().query(android.provider.ContactsContract.Contacts.CONTENT_URI, null, null, null, null); if (c !== null && c.moveToFirst() && c.getCount() > 0) { var cts = []; while (!c.isLast()) { var contactModel = new Contact(); contactModel.initializeFromNative(c, contactFields); cts.push(contactModel); c.moveToNext() } if (c.isLast()) { var contactModel = new Contact(); contactModel.initializeFromNative(c, contactFields); cts.push(contactModel); } c.close(); return { data: cts, response: "fetch" } } else { if (c) { c.close(); } return { data: null, response: "fetch" } } } catch (e) { // console.log('error', e) return { data: null, response: "fetch" } } }