Imporvements and lint fix

This commit is contained in:
vakrilov
2015-03-13 16:56:29 +02:00
committed by Vladimir Enchev
parent ae8b285fc0
commit 047893a18b
5 changed files with 27 additions and 13 deletions

View File

@ -1,4 +1,5 @@
import http = require("http");
import types = require("utils/types");
// This is used for definition purposes only, it does not generate JavaScript for it.
import definition = require("image-source");
@ -30,8 +31,22 @@ export function fromUrl(url: string): Promise<definition.ImageSource> {
}
export function fromFileOrResource(path: string): definition.ImageSource {
if (!isFileOrResourcePath(path)) {
throw new Error("Path \"" + "\" is not a valid file or resource.");
}
if (path.indexOf(RESOURCE_PREFIX) === 0) {
return fromResource(path.substr(RESOURCE_PREFIX.length));
}
return fromFile(path);
}
export function isFileOrResourcePath(path: string): boolean {
if (!types.isString(path)) {
return false;
}
return path.indexOf("~/") === 0 || // relative to AppRoot
path.indexOf("/") === 0 || // absolute path
path.indexOf(RESOURCE_PREFIX) === 0; // resource
}

View File

@ -4,8 +4,8 @@
declare module "image-source" {
/**
* Encapsulates the common abstraction behind a platform specific object (typically a Bitmap) that is used as a source for images.
*/
* Encapsulates the common abstraction behind a platform specific object (typically a Bitmap) that is used as a source for images.
*/
export class ImageSource {
/**
* Gets the height of this instance. This is a read-only property.
@ -104,4 +104,10 @@ declare module "image-source" {
* @param path The location of the file on the file system.
*/
export function fromFileOrResource(path: string): ImageSource;
/**
* Returns true if the specified path points to a resource or local file.
* @param path The path.
*/
export function isFileOrResourcePath(path: string): boolean
}