react-native-nitro-web-image 0.5.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NitroWebImage.podspec +33 -0
- package/android/CMakeLists.txt +31 -0
- package/android/build.gradle +145 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/cpp/cpp-adapter.cpp +6 -0
- package/android/src/main/java/com/margelo/nitro/web/image/AsyncImagePriority+toCoroutineContext.kt +15 -0
- package/android/src/main/java/com/margelo/nitro/web/image/HybridWebImageFactory.kt +32 -0
- package/android/src/main/java/com/margelo/nitro/web/image/HybridWebImageLoader.kt +32 -0
- package/android/src/main/java/com/margelo/nitro/web/image/ImageLoader+loadImageAsync.kt +37 -0
- package/android/src/main/java/com/margelo/nitro/web/image/ImageRequestBuilder+applyOptions.kt +58 -0
- package/android/src/main/java/com/margelo/nitro/web/image/NitroWebImagePackage.java +44 -0
- package/ios/AsyncImageLoadOptions+toSDWebImageOptions.swift +66 -0
- package/ios/Bridge.h +8 -0
- package/ios/HybridWebImageFactory.swift +32 -0
- package/ios/HybridWebImageLoader.swift +54 -0
- package/ios/SDWebImageManager+loadImage.swift +30 -0
- package/lib/commonjs/index.js +9 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/specs/WebImageFactory.nitro.js +6 -0
- package/lib/commonjs/specs/WebImageFactory.nitro.js.map +1 -0
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/specs/WebImageFactory.nitro.js +4 -0
- package/lib/module/specs/WebImageFactory.nitro.js.map +1 -0
- package/lib/tsconfig.build.tsbuildinfo +1 -0
- package/lib/typescript/index.d.ts +3 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/specs/WebImageFactory.nitro.d.ts +63 -0
- package/lib/typescript/specs/WebImageFactory.nitro.d.ts.map +1 -0
- package/nitro.json +18 -0
- package/nitrogen/generated/.gitattributes +1 -0
- package/nitrogen/generated/android/NitroWebImage+autolinking.cmake +78 -0
- package/nitrogen/generated/android/NitroWebImage+autolinking.gradle +27 -0
- package/nitrogen/generated/android/NitroWebImageOnLoad.cpp +46 -0
- package/nitrogen/generated/android/NitroWebImageOnLoad.hpp +25 -0
- package/nitrogen/generated/android/c++/JAsyncImageLoadOptions.hpp +88 -0
- package/nitrogen/generated/android/c++/JAsyncImagePriority.hpp +62 -0
- package/nitrogen/generated/android/c++/JHybridWebImageFactorySpec.cpp +82 -0
- package/nitrogen/generated/android/c++/JHybridWebImageFactorySpec.hpp +64 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/web/image/AsyncImageLoadOptions.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/web/image/AsyncImagePriority.kt +26 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/web/image/HybridWebImageFactorySpec.kt +58 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/web/image/NitroWebImageOnLoad.kt +35 -0
- package/nitrogen/generated/ios/NitroWebImage+autolinking.rb +60 -0
- package/nitrogen/generated/ios/NitroWebImage-Swift-Cxx-Bridge.cpp +65 -0
- package/nitrogen/generated/ios/NitroWebImage-Swift-Cxx-Bridge.hpp +197 -0
- package/nitrogen/generated/ios/NitroWebImage-Swift-Cxx-Umbrella.hpp +62 -0
- package/nitrogen/generated/ios/NitroWebImageAutolinking.mm +33 -0
- package/nitrogen/generated/ios/NitroWebImageAutolinking.swift +25 -0
- package/nitrogen/generated/ios/c++/HybridWebImageFactorySpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridWebImageFactorySpecSwift.hpp +95 -0
- package/nitrogen/generated/ios/swift/AsyncImageLoadOptions.swift +237 -0
- package/nitrogen/generated/ios/swift/AsyncImagePriority.swift +44 -0
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_margelo__nitro__image__HybridImageSpec_.swift +51 -0
- package/nitrogen/generated/ios/swift/HybridWebImageFactorySpec.swift +51 -0
- package/nitrogen/generated/ios/swift/HybridWebImageFactorySpec_cxx.swift +161 -0
- package/nitrogen/generated/shared/c++/AsyncImageLoadOptions.hpp +104 -0
- package/nitrogen/generated/shared/c++/AsyncImagePriority.hpp +82 -0
- package/nitrogen/generated/shared/c++/HybridWebImageFactorySpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridWebImageFactorySpec.hpp +74 -0
- package/package.json +113 -0
- package/react-native.config.js +16 -0
- package/src/index.ts +5 -0
- package/src/specs/WebImageFactory.nitro.ts +76 -0
package/package.json
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "react-native-nitro-web-image",
|
|
3
|
+
"version": "0.5.0-beta.5",
|
|
4
|
+
"description": "react-native-nitro-web-image",
|
|
5
|
+
"main": "lib/commonjs/index",
|
|
6
|
+
"module": "lib/module/index",
|
|
7
|
+
"types": "lib/typescript/index.d.ts",
|
|
8
|
+
"react-native": "src/index",
|
|
9
|
+
"source": "src/index",
|
|
10
|
+
"workspaces": [
|
|
11
|
+
"example"
|
|
12
|
+
],
|
|
13
|
+
"files": [
|
|
14
|
+
"src",
|
|
15
|
+
"react-native.config.js",
|
|
16
|
+
"lib",
|
|
17
|
+
"nitrogen",
|
|
18
|
+
"android/build.gradle",
|
|
19
|
+
"android/gradle.properties",
|
|
20
|
+
"android/CMakeLists.txt",
|
|
21
|
+
"android/src",
|
|
22
|
+
"ios/**/*.h",
|
|
23
|
+
"ios/**/*.m",
|
|
24
|
+
"ios/**/*.mm",
|
|
25
|
+
"ios/**/*.cpp",
|
|
26
|
+
"ios/**/*.swift",
|
|
27
|
+
"app.plugin.js",
|
|
28
|
+
"nitro.json",
|
|
29
|
+
"*.podspec",
|
|
30
|
+
"README.md"
|
|
31
|
+
],
|
|
32
|
+
"scripts": {
|
|
33
|
+
"build": "rm -rf lib && bun typecheck && bob build",
|
|
34
|
+
"postinstall": "tsc || exit 0;",
|
|
35
|
+
"typecheck": "tsc --noEmit",
|
|
36
|
+
"clean": "rm -rf android/build node_modules/**/android/build lib",
|
|
37
|
+
"lint": "biome check . --fix",
|
|
38
|
+
"lint-ci": "biome check .",
|
|
39
|
+
"release": "release-it",
|
|
40
|
+
"typescript": "tsc",
|
|
41
|
+
"specs": "tsc && nitro-codegen --logLevel=\"debug\""
|
|
42
|
+
},
|
|
43
|
+
"keywords": [
|
|
44
|
+
"react-native",
|
|
45
|
+
"nitro"
|
|
46
|
+
],
|
|
47
|
+
"repository": {
|
|
48
|
+
"type": "git",
|
|
49
|
+
"url": "git+https://github.com/mrousavy/react-native-nitro-web-image.git"
|
|
50
|
+
},
|
|
51
|
+
"author": "Marc Rousavy <me@mrousavy.com> (https://github.com/mrousavy)",
|
|
52
|
+
"license": "MIT",
|
|
53
|
+
"bugs": {
|
|
54
|
+
"url": "https://github.com/mrousavy/react-native-nitro-web-image/issues"
|
|
55
|
+
},
|
|
56
|
+
"homepage": "https://github.com/mrousavy/react-native-nitro-web-image#readme",
|
|
57
|
+
"publishConfig": {
|
|
58
|
+
"registry": "https://registry.npmjs.org/"
|
|
59
|
+
},
|
|
60
|
+
"devDependencies": {
|
|
61
|
+
"@biomejs/biome": "2.1.1",
|
|
62
|
+
"@release-it/conventional-changelog": "^8.0.2",
|
|
63
|
+
"@types/react": "^19.0.6",
|
|
64
|
+
"nitro-codegen": "^0.27.2",
|
|
65
|
+
"react": "19.1.0",
|
|
66
|
+
"react-native": "0.80.2",
|
|
67
|
+
"react-native-nitro-modules": "^0.27.2",
|
|
68
|
+
"react-native-nitro-image": "../react-native-nitro-image",
|
|
69
|
+
"release-it": "^17.10.0",
|
|
70
|
+
"typescript": "^5.5.4"
|
|
71
|
+
},
|
|
72
|
+
"peerDependencies": {
|
|
73
|
+
"react": "*",
|
|
74
|
+
"react-native": "*",
|
|
75
|
+
"react-native-nitro-modules": "*",
|
|
76
|
+
"react-native-nitro-image": "*"
|
|
77
|
+
},
|
|
78
|
+
"prettier": {
|
|
79
|
+
"quoteProps": "consistent",
|
|
80
|
+
"singleQuote": true,
|
|
81
|
+
"tabWidth": 2,
|
|
82
|
+
"trailingComma": "es5",
|
|
83
|
+
"useTabs": false,
|
|
84
|
+
"semi": false
|
|
85
|
+
},
|
|
86
|
+
"react-native-builder-bob": {
|
|
87
|
+
"source": "src",
|
|
88
|
+
"output": "lib",
|
|
89
|
+
"targets": [
|
|
90
|
+
"commonjs",
|
|
91
|
+
"module",
|
|
92
|
+
[
|
|
93
|
+
"typescript",
|
|
94
|
+
{
|
|
95
|
+
"project": "tsconfig.build.json"
|
|
96
|
+
}
|
|
97
|
+
]
|
|
98
|
+
]
|
|
99
|
+
},
|
|
100
|
+
"release-it": {
|
|
101
|
+
"npm": {
|
|
102
|
+
"publish": true
|
|
103
|
+
},
|
|
104
|
+
"git": false,
|
|
105
|
+
"github": {
|
|
106
|
+
"release": false
|
|
107
|
+
},
|
|
108
|
+
"hooks": {
|
|
109
|
+
"before:init": "bun typecheck && bun lint",
|
|
110
|
+
"after:bump": "bun run build"
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// https://github.com/react-native-community/cli/blob/main/docs/dependencies.md
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
dependency: {
|
|
5
|
+
platforms: {
|
|
6
|
+
/**
|
|
7
|
+
* @type {import('@react-native-community/cli-types').IOSDependencyParams}
|
|
8
|
+
*/
|
|
9
|
+
ios: {},
|
|
10
|
+
/**
|
|
11
|
+
* @type {import('@react-native-community/cli-types').AndroidDependencyParams}
|
|
12
|
+
*/
|
|
13
|
+
android: {},
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
};
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { Image, ImageLoader } from "react-native-nitro-image";
|
|
2
|
+
import type { HybridObject } from "react-native-nitro-modules";
|
|
3
|
+
|
|
4
|
+
export type AsyncImagePriority = "low" | "default" | "high";
|
|
5
|
+
|
|
6
|
+
export interface AsyncImageLoadOptions {
|
|
7
|
+
/**
|
|
8
|
+
* Specifies the priority of the image download.
|
|
9
|
+
* @default 'default'
|
|
10
|
+
*/
|
|
11
|
+
priority?: AsyncImagePriority;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Forces a cache refresh even if the URL is changed.
|
|
15
|
+
* Use this if you cannot make your URLs static.
|
|
16
|
+
* @default false
|
|
17
|
+
*/
|
|
18
|
+
forceRefresh?: boolean;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* A custom cache key to use for the image. By default, the URL is used as a cache key.
|
|
22
|
+
* For customized access control/caching, provide a custom cache key.
|
|
23
|
+
* @default The URL of the image.
|
|
24
|
+
*/
|
|
25
|
+
cacheKey?: string;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Allows the Image download to continue even when the app is backgrounded.
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
continueInBackground?: boolean;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Enable to allow untrusted SSL certificates.
|
|
35
|
+
* @default false
|
|
36
|
+
*/
|
|
37
|
+
allowInvalidSSLCertificates?: boolean;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Scales down larger images to respect the device's memory constraints (max. 60 MB, or 4096x4096)
|
|
41
|
+
* @default false
|
|
42
|
+
*/
|
|
43
|
+
scaleDownLargeImages?: boolean;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* By default, cached images are queried from memory **asynchronously** to avoid UI lag.
|
|
47
|
+
* If this flag is enabled, images are queried **synchronously** from memory.
|
|
48
|
+
* @default false
|
|
49
|
+
*/
|
|
50
|
+
queryMemoryDataSync?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* By default, cached images are queried from disk **asynchronously** to avoid UI lag.
|
|
53
|
+
* If this flag is enabled, images are queried **synchronously** from disk.
|
|
54
|
+
* @default false
|
|
55
|
+
*/
|
|
56
|
+
queryDiskDataSync?: boolean;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* By default, images are decoded from binary data to actual image representations.
|
|
60
|
+
* Disabling this might speed up downloads, but could increase memory usage.
|
|
61
|
+
* @default true
|
|
62
|
+
*/
|
|
63
|
+
decodeImage?: boolean;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export interface WebImageFactory
|
|
67
|
+
extends HybridObject<{ ios: "swift"; android: "kotlin" }> {
|
|
68
|
+
createWebImageLoader(
|
|
69
|
+
url: string,
|
|
70
|
+
options?: AsyncImageLoadOptions,
|
|
71
|
+
): ImageLoader;
|
|
72
|
+
loadFromURLAsync(
|
|
73
|
+
url: string,
|
|
74
|
+
options?: AsyncImageLoadOptions,
|
|
75
|
+
): Promise<Image>;
|
|
76
|
+
}
|