diff --git a/README.md b/README.md index e95f6db..6bf59b0 100644 --- a/README.md +++ b/README.md @@ -165,3 +165,20 @@ Default cache purge time can be specified in number of days. **for android, you need to initialize in the application onlaunch event before clearing the cache** + +### Prefetching images + +It is possible to prefetch images so that they are already loaded in the cache before use. + +``` +let urls = [ + url1, + url2 +] + +preFetchImage(urls) +.then(() => { console.log('prefetch success!'); }) +.catch((error) => { console.error('prefetch error: '+error); }); +``` + +** note: on iOS calling preFetchImage multiple times before the promise resolves will cancel previous calls diff --git a/index.d.ts b/index.d.ts index 5d649a9..767665e 100644 --- a/index.d.ts +++ b/index.d.ts @@ -47,3 +47,9 @@ export function initializeOnAngular(): void; * @param days : limit of the cache */ export function setCacheLimit(days: number): void; + +/** + * To prefetch images to allow loading before using the images + * @param days : array of URLs to prefetch + */ +export function preFetchImage(urls:Array) : Promise; diff --git a/ios-ts-lib/helpers.js b/ios-ts-lib/helpers.js index c689c20..0e6658f 100644 --- a/ios-ts-lib/helpers.js +++ b/ios-ts-lib/helpers.js @@ -56,7 +56,7 @@ var Helpers = (function () { Helpers.getPlaceholderUIImage = function (value) { if (types.isString(value)) { if (utils.isFileOrResourcePath(value)) { - return imageSource.fromFileOrResource(value).ios; + return imageSource.ImageSource.fromFileOrResourceSync(value).ios; } } return undefined; diff --git a/ios-ts-lib/helpers.ts b/ios-ts-lib/helpers.ts index 4c5b388..63eb6b6 100644 --- a/ios-ts-lib/helpers.ts +++ b/ios-ts-lib/helpers.ts @@ -77,7 +77,7 @@ export class Helpers { public static getPlaceholderUIImage(value) { if (types.isString(value)) { if (utils.isFileOrResourcePath(value)) { - return imageSource.fromFileOrResource(value).ios; + return imageSource.ImageSource.fromFileOrResourceSync(value).ios; } } diff --git a/package.json b/package.json index d58a162..c4d54cd 100644 --- a/package.json +++ b/package.json @@ -1,28 +1,4 @@ { - "_from": "nativescript-web-image-cache", - "_id": "nativescript-web-image-cache@4.2.6", - "_inBundle": false, - "_integrity": "sha512-zIFzI09vBuQcODCdxuDgtBWmtTxNSxm06win+IU7t2zblk2ItdGawDbwd0ZLX9RN+moUf/ytTj+MMoBgowdt6Q==", - "_location": "/nativescript-web-image-cache", - "_phantomChildren": {}, - "_requested": { - "type": "tag", - "registry": true, - "raw": "nativescript-web-image-cache", - "name": "nativescript-web-image-cache", - "escapedName": "nativescript-web-image-cache", - "rawSpec": "", - "saveSpec": null, - "fetchSpec": "latest" - }, - "_requiredBy": [ - "#USER", - "/" - ], - "_resolved": "https://registry.npmjs.org/nativescript-web-image-cache/-/nativescript-web-image-cache-4.2.4.tgz", - "_shasum": "acc14c6684fc2dd7481a66f1f01a98b00e1ce62d", - "_spec": "nativescript-web-image-cache", - "_where": "/Users/Sumeet/smg/gudds/NKY/ns/sample", "author": { "name": "Batheja Sumeet" }, @@ -61,7 +37,9 @@ "type": "git", "url": "git+https://github.com/VideoSpike/nativescript-web-image-cache.git" }, - "scripts": {}, + "scripts": { + "build": "./node_modules/.bin/tsc" + }, "typings": "web-image-cache.d.ts", "version": "5.0.0" } diff --git a/platforms/android/include.gradle b/platforms/android/include.gradle index 4624042..e074720 100644 --- a/platforms/android/include.gradle +++ b/platforms/android/include.gradle @@ -1,13 +1,9 @@ /* Include.gradle configuration: http://docs.nativescript.org/plugins/plugins#includegradle-specification */ android { - productFlavors { - "nativescript-web-image-cache" { - dimension "nativescript-web-image-cache" - } - } + } dependencies { - compile "com.facebook.fresco:fresco:1.10.0" + compile "com.facebook.fresco:fresco:2.3.0" } diff --git a/platforms/ios/Podfile b/platforms/ios/Podfile index 117314f..35cdfe6 100644 --- a/platforms/ios/Podfile +++ b/platforms/ios/Podfile @@ -1 +1 @@ -pod 'SDWebImage', '~> 4.4.1' +pod 'SDWebImage', '~> 5.9.4' diff --git a/types/fresco.d.ts b/types/fresco.d.ts index 5f2528c..97800ab 100644 --- a/types/fresco.d.ts +++ b/types/fresco.d.ts @@ -1,12 +1,20 @@ declare namespace com { export namespace facebook { export namespace datasource { + export class BaseDataSubscriber { + public static extend(param: any); + } export class DataSource { } } export namespace common { export namespace references { export class CloseableReference { } } + export namespace executors { + export class UiThreadImmediateExecutorService { + public static getInstance() : any; + } + } export namespace internal { export class Supplier { } } @@ -18,7 +26,9 @@ declare namespace com { export class ImagePipeline { } } export namespace request { - export class ImageRequest { } + export class ImageRequest { + public static fromUri(param0: any): any; + } } export namespace image { export class ImageInfo { } diff --git a/web-image-cache.android.d.ts b/web-image-cache.android.d.ts index 11d6957..9b468cb 100644 --- a/web-image-cache.android.d.ts +++ b/web-image-cache.android.d.ts @@ -13,3 +13,4 @@ export declare function setCacheLimit(numberOfDays: any): void; export declare function initialize(): void; export declare function clearCache(): void; export declare function initializeOnAngular(): void; +export declare function preFetchImage(urls: Array): Promise; diff --git a/web-image-cache.android.js b/web-image-cache.android.js index 4b9587c..692e2d0 100644 --- a/web-image-cache.android.js +++ b/web-image-cache.android.js @@ -146,4 +146,34 @@ function initializeOnAngular() { throw new Error("'initializeOnAngular' has been removed from 'nativescript-web-image-cache', see its readme for details!"); } exports.initializeOnAngular = initializeOnAngular; -//# sourceMappingURL=web-image-cache.android.js.map \ No newline at end of file +function preFetchImage(urls) { + return new Promise(function (resolve, reject) { + if (!urls || !Array.isArray(urls) || urls.length < 1) { + reject("preFetchImage: param should be array of urls"); + } + else { + var counter_1 = 0; + urls.forEach(function (url) { + var uri = android.net.Uri.parse(url); + var prefetchSubscriber = com.facebook.datasource.BaseDataSubscriber.extend({ + onNewResultImpl: function (dataSource) { + counter_1++; + if (counter_1 === urls.length) { + resolve(); + } + }, + onFailureImpl: function (dataSource) { + counter_1++; + if (counter_1 === urls.length) { + reject("preFetchImage: failed to prefetch " + uri.toString()); + } + } + }); + var dataSource = com.facebook.drawee.backends.pipeline.Fresco.getImagePipeline().prefetchToBitmapCache(com.facebook.imagepipeline.request.ImageRequest.fromUri(uri), application.android.context); + dataSource.subscribe(new prefetchSubscriber(), com.facebook.common.executors.UiThreadImmediateExecutorService.getInstance()); + }); + } + }); +} +exports.preFetchImage = preFetchImage; +//# sourceMappingURL=web-image-cache.android.js.map diff --git a/web-image-cache.android.js.map b/web-image-cache.android.js.map index 4c2f057..8d442b3 100644 --- a/web-image-cache.android.js.map +++ b/web-image-cache.android.js.map @@ -1 +1 @@ -{"version":3,"file":"web-image-cache.android.js","sourceRoot":"","sources":["web-image-cache.android.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"web-image-cache.android.js","sourceRoot":"","sources":["web-image-cache.android.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/web-image-cache.android.ts b/web-image-cache.android.ts index d57580b..dac4c03 100644 --- a/web-image-cache.android.ts +++ b/web-image-cache.android.ts @@ -175,3 +175,43 @@ export function clearCache() { export function initializeOnAngular() { throw new Error("'initializeOnAngular' has been removed from 'nativescript-web-image-cache', see its readme for details!"); } + +export function preFetchImage(urls: Array) : Promise { + return new Promise((resolve, reject) => { + if (!urls || !Array.isArray(urls) || urls.length<1) { + reject(`preFetchImage: param should be array of urls`); + } else { + let counter:number=0; + + urls.forEach((url) => { + const uri = android.net.Uri.parse(url); + const prefetchSubscriber = com.facebook.datasource.BaseDataSubscriber.extend({ + onNewResultImpl(dataSource) { + counter++; + if (counter===urls.length) { resolve(); } + }, + onFailureImpl(dataSource) { + counter++; + if (counter===urls.length) { + reject(`preFetchImage: failed to prefetch ${uri.toString()}`); + } + } + }); + + /* + prefetchToDiskCache() --> load to disk slower but less CPU + prefetchToBitmapCache --> load to memory cache, faster but more CPU + */ + let dataSource = com.facebook.drawee.backends.pipeline.Fresco.getImagePipeline().prefetchToBitmapCache( + com.facebook.imagepipeline.request.ImageRequest.fromUri(uri), + application.android.context + ); + + dataSource.subscribe( + new prefetchSubscriber(), + com.facebook.common.executors.UiThreadImmediateExecutorService.getInstance() + ); + }); + } + }); +} diff --git a/web-image-cache.ios.d.ts b/web-image-cache.ios.d.ts index a25b578..385cc4f 100644 --- a/web-image-cache.ios.d.ts +++ b/web-image-cache.ios.d.ts @@ -13,3 +13,4 @@ export declare class WebImage extends WebImageCommon { export declare function setCacheLimit(numberOfDays: any): void; export declare function clearCache(): void; export declare function initializeOnAngular(): void; +export declare function preFetchImage(urls: Array): Promise; diff --git a/web-image-cache.ios.js b/web-image-cache.ios.js index 8dcf334..13ffe25 100644 --- a/web-image-cache.ios.js +++ b/web-image-cache.ios.js @@ -139,4 +139,17 @@ function initializeOnAngular() { throw new Error("'initializeOnAngular' has been removed from 'nativescript-web-image-cache', see its readme for details!"); } exports.initializeOnAngular = initializeOnAngular; +function preFetchImage(urls) { + return new Promise(function (resolve, reject) { + if (!urls || !Array.isArray(urls) || urls.length < 1) { + reject("preFetchImage: param should be array of urls"); + } + else { + SDWebImagePrefetcher.sharedImagePrefetcher.prefetchURLsProgressCompleted(urls, null, function (finishedCount, skippedCount) { + resolve(); + }); + } + }); +} +exports.preFetchImage = preFetchImage; //# sourceMappingURL=web-image-cache.ios.js.map \ No newline at end of file diff --git a/web-image-cache.ios.js.map b/web-image-cache.ios.js.map index 062c8c4..2136c34 100644 --- a/web-image-cache.ios.js.map +++ b/web-image-cache.ios.js.map @@ -1 +1 @@ -{"version":3,"file":"web-image-cache.ios.js","sourceRoot":"","sources":["web-image-cache.ios.ts"],"names":[],"mappings":";;AAEA,mEAA0F;AAE1F,sDAAyD;AACzD,mEAAqE;AAErE,gDAA0D;AAE1D,iDAAmD;AAiBnD,IAAI,mBAAmB,GAAG,IAAI,eAAQ,CAAyB;IAC7D,IAAI,EAAE,aAAa;IACnB,YAAY,EAAE,SAAS;IACvB,aAAa,EAAE,IAAI;CACpB,CAAC,EACA,eAAe,GAAG,IAAI,eAAQ,CAAyB;IACrD,IAAI,EAAE,SAAS;IACf,YAAY,EAAE,MAAM;IACpB,aAAa,EAAE,IAAI;CACpB,CAAC,CAAC;AAIL,oCAAW,CAAC,QAAQ,CAAC,uCAAc,CAAC,CAAC;AACrC,0CAAiB,CAAC,QAAQ,CAAC,uCAAc,CAAC,CAAC;AAC3C,mBAAmB,CAAC,QAAQ,CAAC,uCAAc,CAAC,CAAC;AAC7C,eAAe,CAAC,QAAQ,CAAC,uCAAc,CAAC,CAAC;AAGzC;IAA8B,4BAAc;IAG1C;eACE,iBAAO;IACT,CAAC;IAGD,mCAAgB,GAAhB;QACE,IAAI,SAAS,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,SAAS,CAAC,WAAW,GAAG,iBAAiB,CAAC,+BAA+B,CAAC;QAC1E,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC;QAC/B,SAAS,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACxC,MAAM,CAAC,SAAS,CAAC;IACnB,CAAC;IAGD,sBAAW,yBAAG;aAAd;YACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;aAED,UAAe,IAAI;YACjB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;;;OAJA;IAMD,4BAAS,GAAT,UAAU,gBAAgB,EAAE,iBAAiB;QAC3C,IAAI,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,EAChC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,EACzD,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,EAC7D,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAC3D,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAC/D,WAAW,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAClG,YAAY,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EACpG,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,QAAkB,CAAC,EAC7D,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,SAAmB,CAAC,EAChE,WAAW,GAAG,SAAS,KAAK,KAAK,CAAC,MAAM,CAAC,WAAW,EACpD,YAAY,GAAG,UAAU,KAAK,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;QACzD,EAAE,CAAC,CAAC,WAAW,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7E,IAAI,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,EACpH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,EAC/C,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YACpD,YAAY,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC;YAChE,aAAa,GAAG,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC;YACnE,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7B,KAAK,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO;gBAC1C,iBAAiB,GAAG,WAAW;gBAC/B,kBAAkB,GAAG,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;QACnC,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACrF,IAAI,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IAC3D,CAAC;IAED,qCAAkB,GAAlB,UAAmB,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY;QACpH,IAAI,MAAM,GAAG,CAAC,EACZ,MAAM,GAAG,CAAC,CAAC;QACb,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,YAAY,KAAK,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,YAAY,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAChI,CAAC,aAAa,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,YAAY,GAAG,WAAW,GAAG,CAAC,CAAC;YAC5D,MAAM,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,aAAa,GAAG,YAAY,GAAG,CAAC,CAAC;YAC/D,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,GAAG,MAAM,CAAC;YAClB,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC3B,MAAM,GAAG,MAAM,CAAC;YAClB,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;oBACrB,KAAK,KAAK,CAAC,OAAO,CAAC,SAAS;wBAC1B,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;wBAC3C,MAAM,GAAG,MAAM,CAAC;wBAChB,KAAK,CAAC;oBACR,KAAK,KAAK,CAAC,OAAO,CAAC,UAAU;wBAC3B,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;wBAC3C,MAAM,GAAG,MAAM,CAAC;wBAChB,KAAK,CAAC;gBACV,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,CAAC;YACL,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;SACf,CAAC;IACJ,CAAC;IAGD,mBAAC,mBAAmB,CAAC,UAAU,CAAC,GAAhC;QACE,MAAM,CAAC,SAAS,CAAC;IACnB,CAAC;IAED,mBAAC,mBAAmB,CAAC,SAAS,CAAC,GAA/B,UAAgC,KAAK;IAErC,CAAC;IAED,mBAAC,eAAe,CAAC,UAAU,CAAC,GAA5B;QACE,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,mBAAC,eAAe,CAAC,SAAS,CAAC,GAA3B,UAA4B,KAAK;QAC/B,iBAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,mBAAC,0CAAiB,CAAC,UAAU,CAAC,GAA9B;QACE,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,mBAAC,0CAAiB,CAAC,SAAS,CAAC,GAA7B,UAA8B,KAAK;IAEnC,CAAC;IAED,mBAAC,oCAAW,CAAC,UAAU,CAAC,GAAxB;IAEA,CAAC;IAED,mBAAC,oCAAW,CAAC,SAAS,CAAC,GAAvB,UAAwB,KAAK;QAC3B,iBAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAKH,eAAC;AAAD,CAAC,AAxHD,CAA8B,uCAAc,GAwH3C;AAxHY,4BAAQ;AA6HrB,uBAA8B,YAAY;IAExC,IAAI,oBAAoB,GAAG,EAAE,EAC3B,kBAAkB,GAAG,EAAE,EACvB,eAAe,GAAG,EAAE,EACpB,eAAe,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,eAAe,EAC7E,iBAAiB,GAAG,eAAe,GAAG,YAAY,EAClD,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EACxD,aAAa,GAAG,CAAC,CAAC;IAGpB,EAAE,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,SAAS,KAAK,WAAW,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,IAAI,IAAI,WAAW,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACtL,WAAW,CAAC,UAAU,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,WAAW,CAAC,SAAS,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;IAC9D,CAAC;IAAC,IAAI,CAAC,CAAC;QACN,aAAa,GAAG,WAAW,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAC5D,EAAE,CAAC,CAAC,IAAI,IAAI,aAAa,IAAI,SAAS,KAAK,aAAa,CAAC,CAAC,CAAC;YACzD,WAAW,CAAC,SAAS,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;QAC9D,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,GAAG,aAAa,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,WAAW,CAAC,SAAS,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;AACH,CAAC;AAxBD,sCAwBC;AAED;IACE,IAAI,UAAU,GAAG,YAAY,CAAC,gBAAgB,EAAE,CAAC;IACjD,UAAU,CAAC,WAAW,EAAE,CAAC;IACzB,UAAU,CAAC,qBAAqB,CAAC,cAAO,CAAC,CAAC,CAAC;AAC7C,CAAC;AAJD,gCAIC;AAED;IACE,MAAM,IAAI,KAAK,CAAC,yGAAyG,CAAC,CAAC;AAC7H,CAAC;AAFD,kDAEC"} \ No newline at end of file +{"version":3,"file":"web-image-cache.ios.js","sourceRoot":"","sources":["web-image-cache.ios.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/web-image-cache.ios.ts b/web-image-cache.ios.ts index ed29219..79a204f 100644 --- a/web-image-cache.ios.ts +++ b/web-image-cache.ios.ts @@ -23,6 +23,10 @@ declare class UIViewContentMode { static UIViewContentModeScaleAspectFill: any; } +declare class SDWebImagePrefetcher { + static sharedImagePrefetcher: any; +} + let placeholderProperty = new Property({ name: "placeholder", @@ -203,3 +207,15 @@ export function clearCache() { export function initializeOnAngular() { throw new Error("'initializeOnAngular' has been removed from 'nativescript-web-image-cache', see its readme for details!"); } + +export function preFetchImage(urls: Array) : Promise { + return new Promise((resolve, reject) => { + if (!urls || !Array.isArray(urls) || urls.length<1) { + reject(`preFetchImage: param should be array of urls`); + } else { + SDWebImagePrefetcher.sharedImagePrefetcher.prefetchURLsProgressCompleted(urls, null, (finishedCount, skippedCount) => { + resolve(); + }); + } + }); +}