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 = true
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 = true
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
Anonymer Benutzer