Merge pull request #1430 from NativeScript/gatanasov/lazy-require-fixes

Revisit lazy require routine
This commit is contained in:
Hristo Hristov
2016-02-01 16:54:31 +02:00
63 changed files with 582 additions and 238 deletions

View File

@@ -13,6 +13,27 @@ import http = require("http");
var requestIdCounter = 0;
var pendingRequests = {};
var utils: typeof utilsModule;
function ensureUtils() {
if (!utils) {
utils = require("utils/utils");
}
}
var imageSource: typeof imageSourceModule;
function ensureImageSource() {
if (!imageSource) {
imageSource = require("image-source");
}
}
var platform: typeof platformModule;
function ensurePlatform() {
if (!platform) {
platform = require("platform");
}
}
var completeCallback: com.tns.Async.CompleteCallback;
function ensureCompleteCallback() {
if (completeCallback) {
@@ -60,12 +81,11 @@ function onRequestComplete(requestId: number, result: com.tns.Async.Http.Request
}
},
toJSON: () => {
var utils: typeof utilsModule = require("utils/utils");
ensureUtils();
return utils.parseJSON(result.responseAsString);
},
toImage: () => {
var imageSource: typeof imageSourceModule = require("image-source");
ensureImageSource();
return new Promise<any>((resolveImage, rejectImage) => {
if (result.responseAsImage != null) {
@@ -134,7 +154,7 @@ function buildJavaOptions(options: http.HttpRequestOptions) {
javaOptions.headers = arrayList;
}
var platform: typeof platformModule = require("platform");
ensurePlatform();
// pass the maximum available image size to the request options in case we need a bitmap conversion
var screen = platform.screen.mainScreen;