User:Gurch/Snuggle documentation
General
[edit]apply
[edit](function, object, ...) → object
Evaluates the specified function with remaining parameters as arguments.
assign (:=)
[edit](string, object) → object
Assigns a value to an identifier. Returns the value that was assigned.
boolean
[edit]object → boolean
Returns boolean representation of argument.
function
[edit](args:object, ..., expression:object) → function
Returns a function. expression is expression to be evaluated, args are identifiers appearing in expression, which are substituted for argument values when the function is called.
if
[edit](boolean, object, object) → object
(boolean, object) → object
If first argument is true, evaluates and returns second argument, otherwise evaluates and returns third argument, or false if no third argument is provided. Does not evaluate the argument that is not returned.
is
[edit](object, string) → boolean
Returns true if argument 1 is of type given by argument 2, otherwise false.
number
[edit]object → number
Returns numeric representation of argument.
sequence (;)
[edit](object, ...) → object
Evaluates arguments in order, returns value of last one.
string
[edit]object → string
Returns string representation of argument.
switch
[edit](value:object, {test:object, expression:object}...) → object
Conditionally evaluates one or more expressions based on value. Arguments following first are in pairs; for each pair, if test is equal to value, expression is evaluated. Last expression evaluated is returned. test can be a list, in which case expression will be evaluated if any item in test is equal to value.
type
[edit]object → string
Returns type of argument.
wikitext
[edit]object → string
Return wikitext representation of argument.
Logical
[edit]not (!)
[edit]boolean → boolean
Logical 'not' operator.
and (&)
[edit](boolean, boolean) → boolean
Logical 'and' operator. Short-circuiting: evaluates from left to right, arguments following a false value not evaluated.
or (|)
[edit](boolean, boolean) → boolean
Logical 'or' operator. Short-circuiting: evaluates from left to right, arguments following a true value not evaluated.
xor
[edit](boolean, boolean) → boolean
Logical 'exclusive-or' operator.
Comparison
[edit]=
[edit](object, object) → boolean
Returns true if string representations of objects are equal, otherwise false.
!=
[edit](object, object) → boolean
Returns false if string representations of objects are equal, otherwise true.
>
[edit](number, number) → boolean
Returns true if first argument greater than second, otherwise false.
<
[edit](number, number) → boolean
Returns true if first argument less than second, otherwise false.
>=
[edit](number, number) → boolean
Returns true if first argument greater than or equal to second, otherwise false.
<=
[edit](number, number) → boolean
Returns true if first argument less than or equal to second, otherwise false.
Math
[edit]+=
[edit](string, number) → number
Increments value of specified identifier by specified number and returns result.
-=
[edit](string, number) → number
Decrements value of specified identifier by specified number and returns result.
sum (+)
[edit](number, ...) → number
Returns sum of arguments.
sub (-)
[edit](number, number) → number
Subtracts second argument from first.
*
[edit](number, number) → number
Multiplies arguments.
/
[edit](number, number) → number
Divides first argument by second.
div (\)
[edit](number, number) → number
Divides first argument by second, returns integer part of result.
mod (%)
[edit](number, number) → number
Divides first argument by second, returns integer remainder.
pow (^)
[edit](number, number) → number
Returns first argument raised to power of second argument.
abs
[edit]number → number
Returns absolute value of argument.
sign
[edit]number → number
Returns sign of argument.
sqrt
[edit]number → number
Returns square root of argument.
max
[edit](number, ...) → number
Returns maximum of arguments.
min
[edit](number, ...) → number
Returns minimum of arguments.
log
[edit]number → number
Returns logarithm to base 10 of argument.
ln
[edit]number → number
Returns natural logarithm of argument.
classify
[edit](number, number) → string
Accepts value and interval size; returns string representation of interval of that size to which value belongs.
Strings
[edit]+
[edit](string, string) → string
Concatenates two strings.
&=
[edit](string, string) → string
Concatenates the value of identifier in first argument with second argument, assigns result to identifier and returns result.
contains
[edit](string, string) → boolean
Returns true if first argument contains second, otherwise false.
lower
[edit]string → string
Returns argument transformed to lowercase.
upper
[edit]string → string
Returns argument transformed to uppercase.
lowerfirst
[edit]string → string
Returns argument with first character transformed to lowercase.
upperfirst
[edit]string → string
Returns argument with first character transformed to uppercase.
length
[edit]string → number
Returns length of argument.
empty
[edit]string → boolean
Returns true if argument is of length zero, otherwise false.
startswith
[edit](string, string) → boolean
Returns true if first argument starts with second argument, otherwise false.
endswith
[edit](string, string) → boolean
Returns true if first argument ends with second argument, otherwise false.
replace
[edit](string, string, string) → string
Returns first argument with all instances of second argument replaced by third argument.
Regex
[edit]like
[edit](string, string) → boolean
Returns true if regex pattern given by second argument matches whole of first argument, otherwise false.
match
[edit](string, string) → string
(string, string, number) → string
With two arguments, returns first occurence of regex pattern given by second argument in first argument, or empty string if no match. With three arguments, occurence specified by third argument is returned, or empty string if there are insufficient matches.
replacepattern
[edit](string, string, string) → string
Returns first argument with regex search pattern and replace pattern in second and third arguments applied.
Dates
[edit]date
[edit]object → date
Returns date representation of argument.
dayname
[edit]date → string
Returns name of day of week.
dayofmonth
[edit]date → number
Returns day of month.
dayofweek
[edit]date → number
Returns day of week.
dayofyear
[edit]date → number
Returns day of year.
fullday
[edit]date → string
Returns day, month name and year.
fullmonth
[edit]date → string
Returns month name and year.
fullweek
[edit]date → string
Returns week number and year.
hour
[edit]date → number
Returns hour component of argument.
minute
[edit]date → number
Returns minute component of argument.
month
[edit]date → number
Returns month number.
monthname
[edit]date → string
Returns name of month.
second
[edit]date → number
Returns second component of argument.
week
[edit]date → number
Returns week number.
year
[edit]date → number
Returns year number.
Lists
[edit]list
[edit](object, ...) → list
Returns list constructed from arguments.
count
[edit]list → number
Returns number of items in list.
sort
[edit]list → list
Sorts argument, contents must all be of same type.
unique
[edit]list → list
Returns argument with any duplicate values removed.
group
[edit]list → table(object, number)
Returns a table listing each unique value in argument and the number of occurences.
groupby
[edit](list, expression) → table(object, number)
Applies expression to each value in list, then applies group to results.
exclude
[edit](list, list) → list
Returns first argument with any values that occur in second argument removed.
union
[edit](list, list) → list
Returns list containing values from both arguments, including duplicates.
merge
[edit](list, object) → list
Appends object in second argument to list given by first argument.
first
[edit]list → object
Returns first value in argument.
rest
[edit]list → list
Returns argument with first value removed.
last
[edit]list → object
Returns last value in argument.
item
[edit](list, number) → object
Returns value in first argument at zero-based index given by second argument
limit
[edit](list, number) → list
Returns number of items given by second argument from first argument, or entire list if shorter.
range
[edit](list, number, number) → list
Returns subset of items from argument 1, of size given by argument 3 and beginning at index given by argument 2.
reverse
[edit]list → list
Returns argument with items reversed.
filter
[edit](list, expression) → list
Evaluates expression in the context of each item in the list, returns list of items for which expression evaluates to true.
map (->)
[edit](list, expression) → list
Evaluates expression in the context of each item in the list, returns list of results.
fold
[edit](list, string) → object
(list, string, object) → object
Starts with third argument or default value as result and iteratively applies function given by string to next item in list. See fold (higher-order function).
movingavg
[edit](list:list, size:number) → list
Returns list of averages of each set of size consecutive values in list. Length of resulting list is list count(list) - size + 1.
Tables
[edit]table
[edit](list, expression, ...) → table
Evaluates each expression given in the context of each item in list and constructs a table of resulting values. Table contains one row for each item in list and one column for each expression. Parameter names given for expressions will be used as column names.
count
[edit]table → number
Returns number of rows in argument.
column
[edit](table, number) → list
(table, string) → list
Returns list of values in table column given by column index or name.
columncount
[edit]table → number
Returns number of columns in argument.
sortby
[edit](table, number) → table
(table, string) → table
Sorts table by column index or name.
Categories
[edit]category
[edit]string → category
Returns category with name given by argument.
hidden
[edit]category → boolean
Returns true if category is hidden, otherwise false.
count
[edit]category → number
Returns number of items in category.
subcatcount
[edit]category → number
Returns number of subcategories in category.
Pages
[edit]page
[edit]string → page
Returns page with name given by argument.
::
[edit](page:page, param:string) → string
Infobox lookup. Returns value of parameter param in infobox on page, with reference to parameter normalization table. Returns <no infobox> if page has no infobox, <no param> if page has an infobox but it does not contain parameter param.
assessment
[edit]page → string
Returns assessment level of page.
basename
[edit]page → string
Returns page name without namespace prefix.
categories
[edit]page → list
Returns list of categories that current version of page is in.
creator
[edit]page → user
Returns creator of page.
firstedit
[edit]page → revision
Returns first revision of page.
hasinfobox
[edit]page → boolean
Returns true if current version of page has an infobox, otherwise false.
infobox
[edit]page → templateinstance
Returns infobox on current version of page, if any.
isarticle
[edit]page → boolean
Returns true if page is article, otherwise false.
isarticletalkpage
[edit]page → boolean
Returns true if page is article talk page, otherwise false.
isredirect
[edit]page → boolean
Returns true if current version of page is a redirect, otherwise false.
isrootpage
[edit]page → boolean
Returns true if page is not a subpage, otherwise false.
issubjectpage
[edit]page → boolean
Returns true if page is not a talk page, otherwise false.
issubpage
[edit]page → boolean
Returns true if page is a subpage, otherwise false.
istalkpage
[edit]page → booleam
Returns true if page is a talk page, otherwise false.
lastedit
[edit]page → revision
Returns most recent revision of page.
namespace
[edit]page → namespace
Returns page's namespace.
subjectpage
[edit]page → page
If page is talk page, returns equivalent subject page, otherwise returns page.
talkpage
[edit]page → page
If page is not talk page, returns equivalent talk page, otherwise returns page.
target
[edit]page → page
If page is a redirect, returns redirect target.
text
[edit]page → string
Returns text of current revision to page.
title
[edit]page → string
Returns page title.
Revisions
[edit]revision
[edit]number → revision
Returns revision with id given by argument.
author
[edit]revision → user
Returns author of revision.
change
[edit]revision → number
Returns difference in size between revision and previous revision to page.
issection
[edit]revision → boolean
Returns true if revision is section edit, otherwise false.
minor
[edit]revision → boolean
Returns true if revision is marked as minor, otherwise false.
new
[edit]revision → boolean
Returns true if revision is first revision to page, otherwise false.
page
[edit]revision → page
Returns page to which revision was made.
section
[edit]revision → string
Returns section that was edited, if any.
size
[edit]revision → number
Returns size of revision.
summary
[edit]revision → string
Returns edit summary for revision.
time
[edit]revision → date
Returns revision date/time.
tool
[edit]revision → string
Returns tool used for revision, if identifiable from summary.
Users
[edit]user
[edit]string → user
Returns user with name given by argument.
anonymous
[edit]user → boolean
Returns true if user is anonymous, otherwise false.
created
[edit]user → date
Returns date/time of account creation.
editcount
[edit]user → number
Returns number of edits user has made.
ignored
[edit]user → boolean
Returns true if user is on ignored users list, otherwise false.
name
[edit]user → string
Returns user's name.
talkpage
[edit]user → page
Returns user's talk page.
userpage
[edit]user → page
Returns user's user page.
Namespaces
[edit]namespace
[edit]number → namespace
Returns namespace with specified number.
issubjectspace
[edit]namespace → boolean
Returns true if namespace is not a talk namespace, otherwise false.
istalkspace
[edit]namespace → boolean
Returns true if namespace is a talk namespace, otherwise false.
name
[edit]namespace → string
Returns namespace name.
number
[edit]namespace → number
Returns namespace number.
subpages
[edit]namespace → boolean
Returns true if subpages are enabled in namespace, otherwise false.
List requests
[edit]Optional parameters common to all requests:
- cache (boolean): Set to false to ignore any cached results.
- limit (number): Maximum number of results to return. Default 1000.
- namespaces (number): For requests that return pages or revisions, limit results to specified namespaces.
- type (string): For requests that return pages, specify "revisions" to return info on last revision to each page, and "content" to return full text of last revision to each page.
allpages
[edit]void → list
Returns all pages.
backlinks
[edit]page → list
Returns pages that link to specified page.
category
[edit]category → list
Returns contents of specified category.
contribs
[edit]user → list
Returns user's contributions.
deletedcontribs
[edit]user → list
Returns user's deleted contributions.
externallinkusage
[edit]string → list
Returns pages containing specified external link.
history
[edit]page → list
Returns revisions of specified page.
images
[edit]page → list
Returns images on specified page.
imageusage
[edit]page → list
Returns pages that use specified image.
links
[edit]page → list
Returns all internal links on specified page.
prefix
[edit]string → list
Returns pages with titles that begin with specified prefix.
subcats
[edit]category → list
Returns subcategories of specified category.
search
[edit]string → list
Returns pages that appear in search results for specified search term.
templates
[edit]page → list
Returns templates used on specified page.
transclusions
[edit]page → list
Returns pages on which specified template is used.
Statistics
[edit]pagecount
[edit]void → number
Returns total number of pages.
articlecount
[edit]void → number
Returns total number of articles.
usercount
[edit]void → number
Returns total number of user accounts.
activeusercount
[edit]void → number
Returns total number of active user accounts.
filecount
[edit]void → number
Returns total number of files.
editscount
[edit]void → number
Returns total number of revisions.
Wikitext
[edit]expand
[edit]string → string
Returns argument treated as wiki markup with any templates expanded.
strip
[edit]string → string
Returns argument with wiki links, tags and formatting removed.
paramnorm
[edit]string → string
Returns argument normalized according to parameter normalization table.
getparam
[edit](wikitext:string, template:string, param:string) → string
Returns value of parameter param in first occurence of template in wikitext.
setparam
[edit](wikitext:string, template:string, param:string, value:string) → boolean
Returns wikitext with parameter param in first occurence of template set to value. Treats any template that redirects to template as an instance of such. Replaces parameter value if it already exists, otherwise adds it. Does nothing if no instance of template is found. Returns true if parameter was set, otherwise false.
addcategory
[edit](wikitext:string, category:string) → string
Returns wikitext with category added. Does not add category if already present.
removecategory
[edit](wikitext:string, category:string) → string
Returns wikitext with category removed, or no change if category not present.
replacecategory
[edit](wikitext:string, category:string, replacement:string) → string
Returns wikitext with category replaced with replacement, or no change if not present.
removetemplate
[edit](wikitext:string, template:string) → string
Returns wikitext with first occurence of template removed, or no change if no instance of template present. Treats any template that redirects to template as an instance of such.
Actions
[edit]edit
[edit](page:page, wikitext:string, summary:string) → string
Edits page specified by page, using wikitext as text and summary as edit summary.
Optional arguments:
- section - string. Edit this section. Should be number or "new".
- minor - boolean. Whether to mark as minor edit. Defaults to true.
- bot - boolean. Whether to mark as bot edit. Defaults to true if account is in bot group, has no effect if not.
- create - boolean. Whether to create page if it does not exist. Defaults to true.
- conflict - string. Behaviour in event of edit conflict. One of the following values. Default is ignore.
- abort - Give up and move on.
- retry - Try again. When adding section or prepending/appending text, applies changes on top of conflicted edit. Will overwrite conflicted edit in other cases.
- prompt - Ask whether to save anyway.
- ignore - Don't bother checking for conflicts in the first place.