UNPKG

nativescript-angular

Version:

An Angular renderer that lets you build mobile apps with NativeScript.

43 lines 1.82 kB
Object.defineProperty(exports, "__esModule", { value: true }); var rxjs_1 = require("rxjs"); var file_system_1 = require("tns-core-modules/file-system/file-system"); function isLocalRequest(url) { return url.indexOf("~") === 0 || url.indexOf("/") === 0; } exports.isLocalRequest = isLocalRequest; function getAbsolutePath(url, nsFileSystem) { url = url.replace("~", "").replace("/", ""); url = file_system_1.path.join(nsFileSystem.currentApp().path, url); return url; } exports.getAbsolutePath = getAbsolutePath; function processLocalFileRequest(url, nsFileSystem, successResponse, errorResponse) { url = getAbsolutePath(url, nsFileSystem); // request from local app resources return new rxjs_1.Observable(function (observer) { if (nsFileSystem.fileExists(url)) { var localFile = nsFileSystem.fileFromPath(url); localFile.readText() .then(function (data) { try { var json = JSON.parse(data); observer.next(successResponse(url, json, 200)); observer.complete(); } catch (error) { // Even though the response status was 2xx, this is still an error. // The parse error contains the text of the body that failed to parse. var errorResult = { error: error, text: data }; observer.error(errorResponse(url, errorResult, 200)); } }, function (err) { observer.error(errorResponse(url, err, 400)); }); } else { observer.error(errorResponse(url, "Not Found", 404)); } }); } exports.processLocalFileRequest = processLocalFileRequest; //# sourceMappingURL=http-utils.js.map