Modul:File link: Unterschied zwischen den Versionen
allow nil values as input to most of the functions, to make call-chaining with conditional variables easier
(remove "theName" field from readOnlyFields) |
(allow nil values as input to most of the functions, to make call-chaining with conditional variables easier) |
||
Zeile 31: | Zeile 31: | ||
function data:format(s, filename) | function data:format(s, filename) | ||
checkSelf(self, 'image:format') | checkSelf(self, 'image:format') | ||
checkType('image:format', 1, s, 'string') | checkType('image:format', 1, s, 'string', true) | ||
checkType('image:format', 2, format, 'string', true) | checkType('image:format', 2, format, 'string', true) | ||
local validFormats = { | local validFormats = { | ||
Zeile 40: | Zeile 40: | ||
frameless = true | frameless = true | ||
} | } | ||
if validFormats[s] then | if s == nil or validFormats[s] then | ||
data.theFormat = s | data.theFormat = s | ||
data.theFormatFilename = filename | data.theFormatFilename = filename | ||
Zeile 63: | Zeile 63: | ||
function data:width(px) | function data:width(px) | ||
checkSelf(self, 'image:width') | checkSelf(self, 'image:width') | ||
checkType('image:width', 1, px, 'number') | checkType('image:width', 1, px, 'number', true) | ||
if data.isUpright then | if px and data.isUpright then | ||
sizeError('image:width') | sizeError('image:width') | ||
end | end | ||
Zeile 73: | Zeile 73: | ||
function data:height(px) | function data:height(px) | ||
checkSelf(self, 'image:height') | checkSelf(self, 'image:height') | ||
checkType('image:height', 1, px, 'number') | checkType('image:height', 1, px, 'number', true) | ||
if data.isUpright then | if px and data.isUpright then | ||
sizeError('image:height') | sizeError('image:height') | ||
end | end | ||
Zeile 81: | Zeile 81: | ||
end | end | ||
function data:upright(factor) | function data:upright(isUpright, factor) | ||
checkSelf(self, 'image:upright') | checkSelf(self, 'image:upright') | ||
checkType('image:upright', 1, factor, 'number', true) | checkType('image:upright', 1, isUpright, 'boolean', true) | ||
if data.theWidth or data.theHeight then | checkType('image:upright', 2, factor, 'number', true) | ||
if isUpright and (data.theWidth or data.theHeight) then | |||
sizeError('image:upright') | sizeError('image:upright') | ||
end | end | ||
data.isUpright = | data.isUpright = isUpright | ||
data.uprightFactor = factor | data.uprightFactor = factor | ||
return self | return self | ||
Zeile 102: | Zeile 103: | ||
function data:location(s) | function data:location(s) | ||
checkSelf(self, 'image:location') | checkSelf(self, 'image:location') | ||
checkType('image:location', 1, s, 'string') | checkType('image:location', 1, s, 'string', true) | ||
local validLocations = { | local validLocations = { | ||
right = true, | right = true, | ||
Zeile 109: | Zeile 110: | ||
none = true | none = true | ||
} | } | ||
if validLocations[s] then | if s == nil or validLocations[s] then | ||
data.theLocation = s | data.theLocation = s | ||
else | else | ||
Zeile 122: | Zeile 123: | ||
function data:alignment(s) | function data:alignment(s) | ||
checkSelf(self, 'image:alignment') | checkSelf(self, 'image:alignment') | ||
checkType('image:alignment', 1, s, 'string') | checkType('image:alignment', 1, s, 'string', true) | ||
local validAlignments = { | local validAlignments = { | ||
baseline = true, | baseline = true, | ||
Zeile 133: | Zeile 134: | ||
bottom = true | bottom = true | ||
} | } | ||
if validAlignments[s] then | if s == nil or validAlignments[s] then | ||
data.theAlignment = s | data.theAlignment = s | ||
else | else | ||
Zeile 144: | Zeile 145: | ||
end | end | ||
function data:border() | function data:border(hasBorder) | ||
checkSelf(self, 'image:border') | checkSelf(self, 'image:border') | ||
data.hasBorder = | checkType('image:border', 1, hasBorder, 'boolean', true) | ||
data.hasBorder = hasBorder | |||
return self | return self | ||
end | end | ||
Zeile 152: | Zeile 154: | ||
function data:link(s) | function data:link(s) | ||
checkSelf(self, 'image:link') | checkSelf(self, 'image:link') | ||
checkType('image:link', 1, s, 'string') | checkType('image:link', 1, s, 'string', true) | ||
data.theLink = s | data.theLink = s | ||
return self | return self | ||
Zeile 159: | Zeile 161: | ||
function data:alt(s) | function data:alt(s) | ||
checkSelf(self, 'image:alt') | checkSelf(self, 'image:alt') | ||
checkType('image:alt', 1, s, 'string') | checkType('image:alt', 1, s, 'string', true) | ||
data.theAlt = s | data.theAlt = s | ||
return self | return self | ||
Zeile 166: | Zeile 168: | ||
function data:caption(s) | function data:caption(s) | ||
checkSelf(self, 'image:caption') | checkSelf(self, 'image:caption') | ||
checkType('image:caption', 1, s, 'string') | checkType('image:caption', 1, s, 'string', true) | ||
data.theCaption = s | data.theCaption = s | ||
return self | return self |