Skip to content

Commit

Permalink
parse resize modifier when restoring effects from cdn url
Browse files Browse the repository at this point in the history
  • Loading branch information
nd0ut committed Mar 29, 2019
1 parent 4baa734 commit b2fcd18
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions src/tools/effects-from-modifiers.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ const effectsDefaults = {

const modifierRegExp = {
blur: /-\/blur\/(([0-9]+)\/|)/i,
crop: /-\/crop\/([0-9]+)x([0-9]+)(\/(center|([0-9]+),([0-9]+)))?\//i,
crop: /-\/crop\/([0-9]+)x([0-9]+)(\/(center|([0-9]+),([0-9]+)))?\/(-\/resize\/([0-9]+)x([0-9]+)\/)?/i,
enhance: /-\/enhance\/(([0-9]+)\/|)/i,
flip: /-\/flip\//i,
grayscale: /-\/grayscale\//i,
Expand All @@ -30,7 +30,7 @@ function effectsFromModifiers(cdnUrlModifiers, settingsEffects) {
}

let effects = {}
let otherModifiers = cdnUrlModifiers.replace(/-\/preview\//g, '').replace(/-\/resize\/\d*x\d*\//g, '')
let otherModifiers = cdnUrlModifiers.replace(/-\/preview\//g, '')

settingsEffects.forEach(settingsEffect => {
if (modifierRegExp[settingsEffect]) {
Expand All @@ -40,7 +40,11 @@ function effectsFromModifiers(cdnUrlModifiers, settingsEffects) {
let effectValue

if (settingsEffect === 'crop') {
const hasResize = foundModifier.length >= 3 && foundModifier[foundModifier.length - 3].includes('resize')
const resizeTo = hasResize ? foundModifier.slice(-2) : null

effectValue = {
resizeTo,
coords: {
width: parseInt(foundModifier[1]),
height: parseInt(foundModifier[2]),
Expand All @@ -55,9 +59,8 @@ function effectsFromModifiers(cdnUrlModifiers, settingsEffects) {
effectValue = true
}
if (effectsDefaults[settingsEffect][0] === 'number') {
effectValue = (foundModifier[2] === undefined)
? effectsDefaults[settingsEffect][1]
: parseInt(foundModifier[2])
effectValue =
foundModifier[2] === undefined ? effectsDefaults[settingsEffect][1] : parseInt(foundModifier[2])
}
}

Expand Down

0 comments on commit b2fcd18

Please sign in to comment.