Jump to content

Module:File link: Difference between revisions

263 bytes added ,  10 years ago
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)
Line 31: Line 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 = {
Line 40: Line 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
Line 63: Line 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
Line 73: Line 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
Line 81: Line 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
Line 102: Line 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,
Line 109: Line 110:
none = true
none = true
}
}
if validLocations[s] then
if s == nil or validLocations[s] then
data.theLocation = s
data.theLocation = s
else
else
Line 122: Line 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,
Line 133: Line 134:
bottom = true
bottom = true
}
}
if validAlignments[s] then
if s == nil or validAlignments[s] then
data.theAlignment = s
data.theAlignment = s
else
else
Line 144: Line 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
Line 152: Line 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
Line 159: Line 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
Line 166: Line 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
Cookies help us deliver our services. By using our services, you agree to our use of cookies.