Skip to content

Commit 2bcaa9f

Browse files
committed
Bug fix overlayImage and test cases
1 parent d627c2f commit 2bcaa9f

File tree

6 files changed

+78
-6
lines changed

6 files changed

+78
-6
lines changed

README.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,20 +206,34 @@ The complete list of transformations supported and their usage in ImageKit can b
206206
| rotation | rt |
207207
| blur | bl |
208208
| named | n |
209-
| overlayImage | oi |
210209
| overlayX | ox |
211210
| overlayY | oy |
212211
| overlayFocus | ofo |
213212
| overlayHeight | oh |
214213
| overlayWidth | ow |
214+
| overlayImage | oi |
215+
| overlayImageTrim | oit |
216+
| overlayImageAspectRatio | oiar |
217+
| overlayImageBackground | oibg |
218+
| overlayImageBorder | oib |
219+
| overlayImageDPR | oidpr |
220+
| overlayImageQuality | oiq |
221+
| overlayImageCropping | oic |
222+
| overlayImageTrim | oit |
215223
| overlayText | ot |
216224
| overlayTextFontSize | ots |
217225
| overlayTextFontFamily | otf |
218226
| overlayTextColor | otc |
227+
| overlayTextTransparency | oa |
219228
| overlayAlpha | oa |
220229
| overlayTextTypography | ott |
221230
| overlayBackground | obg |
222-
| overlayImageTrim | oit |
231+
| overlayTextEncoded | ote |
232+
| overlayTextWidth | otw |
233+
| overlayTextBackground | otbg |
234+
| overlayTextPadding | otp |
235+
| overlayTextInnerAlignment | otia |
236+
| overlayRadius | or |
223237
| progressive | pr |
224238
| lossless | lo |
225239
| trim | t |

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "imagekit-javascript",
3-
"version": "1.3.3",
3+
"version": "1.3.4",
44
"description": "Javascript SDK for using ImageKit.io in the browser",
55
"main": "dist/imagekit.cjs.js",
66
"module": "dist/imagekit.esm.js",

src/constants/supportedTransforms.js

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,17 @@ export default {
1313
"background" : "bg",
1414
"border" : "bo",
1515
"rotation" : "rt",
16+
"rotate" : "rt",
1617
"blur" : "bl",
1718
"named" : "n",
1819
"overlayImage" : "oi",
20+
"overlayImageAspectRatio" : "oiar",
21+
"overlayImageBackground": "oibg",
22+
"overlayImageBorder": "oib",
23+
"overlayImageDPR": "oidpr",
24+
"overlayImageQuality": "oiq",
25+
"overlayImageCropping": "oic",
26+
"overlayImageTrim" : "oit",
1927
"overlayX" : "ox",
2028
"overlayY" : "oy",
2129
"overlayFocus" : "ofo",
@@ -25,10 +33,16 @@ export default {
2533
"overlayTextFontSize" : "ots",
2634
"overlayTextFontFamily" : "otf",
2735
"overlayTextColor" : "otc",
36+
"overlayTextTransparency" : "oa",
2837
"overlayAlpha" : "oa",
2938
"overlayTextTypography" : "ott",
3039
"overlayBackground" : "obg",
31-
"overlayImageTrim" : "oit",
40+
"overlayTextEncoded": "ote",
41+
"overlayTextWidth": "otw",
42+
"overlayTextBackground": "otbg",
43+
"overlayTextPadding": "otp",
44+
"overlayTextInnerAlignment": "otia",
45+
"overlayRadius": "or",
3246
"progressive" : "pr",
3347
"lossless" : "lo",
3448
"trim" : "t",

src/url/builder.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,12 @@ function constructTransformationString(transformation) {
115115
if (transformation[i][key] === "-") {
116116
parsedTransformStep.push(transformKey);
117117
} else {
118-
parsedTransformStep.push([transformKey, transformation[i][key]].join(transformationUtils.getTransformKeyValueDelimiter()));
118+
var value = transformation[i][key];
119+
if(transformKey === "oi") {
120+
value = removeLeadingSlash(value);
121+
value = value.replace(/\//g,"@@");
122+
}
123+
parsedTransformStep.push([transformKey, value].join(transformationUtils.getTransformKeyValueDelimiter()));
119124
}
120125

121126
}

src/utils/transformation.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export default {
2222
getTransformKey: function (transform) {
2323
if (!transform) { return ""; }
2424

25-
return supportedTransforms[transform.toLowerCase()] || "";
25+
return supportedTransforms[transform] || supportedTransforms[transform.toLowerCase()] || "";
2626
},
2727
getChainTransformDelimiter: function () {
2828
return CHAIN_TRANSFORM_DELIMITER;

test/url-generation.js

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,45 @@ describe("URL generation", function () {
155155

156156
expect(url).equal(`https://ik.imagekit.io/test_url_endpoint/tr:h-300,w-400:rndm_trnsf-abcd/test_path.jpg?ik-sdk-version=javascript-${pkg.version}`);
157157
});
158+
159+
it('overlayImage', function () {
160+
const url = imagekit.url({
161+
path: "/test_path.jpg",
162+
transformation: [{
163+
"height": "300",
164+
"width": "400",
165+
overlayImage: "overlay.jpg"
166+
}]
167+
})
168+
169+
expect(url).equal(`https://ik.imagekit.io/test_url_endpoint/tr:h-300,w-400,oi-overlay.jpg/test_path.jpg?ik-sdk-version=javascript-${pkg.version}`);
170+
});
171+
172+
it('overlayImage with slash in path', function () {
173+
const url = imagekit.url({
174+
path: "/test_path.jpg",
175+
transformation: [{
176+
"height": "300",
177+
"width": "400",
178+
overlayImage: "/path/to/overlay.jpg"
179+
}]
180+
})
181+
182+
expect(url).equal(`https://ik.imagekit.io/test_url_endpoint/tr:h-300,w-400,oi-path@@to@@overlay.jpg/test_path.jpg?ik-sdk-version=javascript-${pkg.version}`);
183+
});
184+
185+
it('overlayX', function () {
186+
const url = imagekit.url({
187+
path: "/test_path.jpg",
188+
transformation: [{
189+
"height": "300",
190+
"width": "400",
191+
overlayX: 10
192+
}]
193+
})
194+
195+
expect(url).equal(`https://ik.imagekit.io/test_url_endpoint/tr:h-300,w-400,ox-10/test_path.jpg?ik-sdk-version=javascript-${pkg.version}`);
196+
});
158197
});
159198

160199

0 commit comments

Comments
 (0)