Skip to content

Commit ba70358

Browse files
authored
Merge pull request #37 from neddinn/webpack-support
Add support for webpack using webpack loader plugin
2 parents 0dd5c24 + 528d60c commit ba70358

File tree

2 files changed

+21
-5
lines changed

2 files changed

+21
-5
lines changed

index.android.js

+9-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,15 @@ exports.getContact = function() {
7171

7272
exports.getContactsByName = function (searchPredicate,contactFields) {
7373
return new Promise(function (resolve, reject) {
74-
var worker = new Worker('./get-contacts-by-name-worker.js'); // relative for caller script path
74+
var worker;
75+
// Check if webpack is used, in which case, load using webpack loader, otherwise load using relative path
76+
// Using webpack assumes that the nativescript worker loader is properly configured. See https://github.com/NativeScript/worker-loader
77+
if (global["TNS_WEBPACK"]) {
78+
var myWorker = require('nativescript-worker-loader!./get-contacts-by-name-worker.js');
79+
worker = new myWorker();
80+
} else {
81+
worker = new Worker('./get-contacts-by-name-worker.js'); // relative for caller script path
82+
}
7583
worker.postMessage({ "searchPredicate": searchPredicate, "contactFields" : contactFields });
7684
worker.onmessage = (function (event) {
7785
if (event.data.type == 'debug') { console.log(event.data.message); }

index.ios.js

+12-4
Original file line numberDiff line numberDiff line change
@@ -37,20 +37,28 @@ var CustomCNContactPickerViewControllerDelegate = NSObject.extend({
3737

3838

3939
exports.getContact = function (){
40-
return new Promise(function (resolve, reject) {
40+
return new Promise(function (resolve, reject) {
4141
var controller = CNContactPickerViewController.alloc().init();
4242
var delegate = CustomCNContactPickerViewControllerDelegate.alloc().initWithResolveReject(resolve, reject);
43-
43+
4444
CFRetain(delegate);
4545
controller.delegate = delegate;
46-
46+
4747
var page = frameModule.topmost().ios.controller;
4848
page.presentModalViewControllerAnimated(controller, true);
4949
});
5050
};
5151
exports.getContactsByName = function(searchPredicate,contactFields){
5252
return new Promise(function (resolve, reject){
53-
var worker = new Worker('./get-contacts-by-name-worker.js'); // relative for caller script path
53+
var worker;
54+
// Check if webpack is used, in which case, load using webpack loader, otherwise load using relative path
55+
// Using webpack assumes that the nativescript worker loader is properly configured. See https://github.com/NativeScript/worker-loader
56+
if (global["TNS_WEBPACK"]) {
57+
var myWorker = require('nativescript-worker-loader!./get-contacts-by-name-worker.js');
58+
worker = new myWorker();
59+
} else {
60+
worker = new Worker('./get-contacts-by-name-worker.js'); // relative for caller script path
61+
}
5462
worker.postMessage({ "searchPredicate": searchPredicate, "contactFields" : contactFields });
5563
worker.onmessage = function (event) {
5664
if (event.data.type == 'debug') { console.log(event.data.message); }

0 commit comments

Comments
 (0)