Skip to content

lib-axon 库参考 ​

原文: https://finproducts.atlassian.net/wiki/spaces/JIDD3/pages/34793619766/FIN+5.3.1+lib-axon 中文整理基于 FIN 5.3.1

导读: 本页为 lib-axon 的 API / 标签 / 函数参考文档。

以下为 API 参考,保留英文以便对照源码;目录已列出(英文标题便于检索);概述已尽量中译。


目录(导读) ​

  • lib
  • meta
  • tags
  • funcs
  • def
  • supertypes
  • subtypes
  • tags
  • abs(val)
  • add(val, item)
  • addAll(val, items)
  • addCol(grid, col, fn)
  • addColMeta(grid, name, meta)
  • addCols(a, b)
  • addMeta(grid, meta)
  • addRow(grid, newRow)
  • addRows(grid, newRows)
  • all(val, fn)
  • any(val, fn)
  • as(val, unit)
  • avg(val, acc)
  • call(func, args: null)
  • capitalize(val)
  • clamp(val, min, max)
  • col(grid, name, checked: true)
  • colNames(grid)
  • colToList(grid, col)
  • collect(stream, to: null)
  • cols(grid)
  • colsToLocale(grid)
  • compDef(name, checked: true)
  • concat(list, sep: "")
  • conjuncts()
  • contains(val, x)
  • coord(lat, lng)
  • coordDist(c1, c2)
  • coordLat(coord)
  • coordLng(coord)
  • count(val, acc)
  • curFunc()
  • date(val, month: null, day: null)
  • dateTime(d, t, tz: null)
  • day(d)
  • dayOfYear(val)
  • debugType(val)
  • decapitalize(val)
  • def(symbol, checked: true)
  • defs()
  • dis(dict, name: null, def: "")
  • dst(dt)
  • each(val, fn)
  • eachDay(dates, fn)
  • eachMonth(dates, fn)
  • eachWhile(val, fn)
  • echo(x)
  • end(val)
  • endsWith(val, sub)
  • equals(a, b)
  • eval(expr)
  • evalToFunc(expr)
  • filter(val, filterExpr)
  • filterToFunc(filterExpr)
  • find(val, fn)
  • findAll(val, fn)
  • first(val)
  • firstOfMonth(date)
  • flatMap(val, fn)
  • flatten(list)
  • fold(val, fn)
  • foldCol(grid, colName, fn)
  • foldCols(grid, colSelector, newColName, fn)
  • foldEnd()
  • foldStart()
  • format(val, pattern: null)
  • fromJavaMillis(millis, tz: null)
  • func(name, checked: true)
  • funcs(filterExpr: null)
  • get(val, key)
  • getSafe(val, key)
  • gridColKinds(grid)
  • gridColsToDict(grid, colToKey, colToVal)
  • gridReplace(grid, from, to)
  • gridRowsToDict(grid, rowToKey, rowToVal)
  • has(val, name)
  • hour(t)
  • hoursInDay(dt)
  • index(val, x, offset: 0)
  • indexr(val, x, offset: Number.negOne)
  • insert(val, index, item)
  • insertAll(val, index, items)
  • isAlpha(num)
  • isAlphaNum(num)
  • isBool(val)
  • isDate(val)
  • isDateTime(val)
  • isDict(val)
  • isDigit(num, radix: 10)
  • isDuration(val)
  • isEmpty(val)
  • isEven(val)
  • isFunc(val)
  • isGrid(val)
  • isHisGrid(val)
  • isKeyword(val)
  • isLeapYear(year)
  • isList(val)
  • isLower(num)
  • isMetric(val: null)
  • isNaN(val)
  • isNonNull(val)
  • isNull(val)
  • isNumber(val)
  • isOdd(val)
  • isRef(val)
  • isSpace(num)
  • isSpan(val)
  • isStr(val)
  • isTagName(n)
  • isTime(val)
  • isUpper(num)
  • …(其余标题见英文正文)

概述(中译) ​

Axon 核心库


API 正文(英文) ​

tags ​

adminRequires admin permission
disableOverridableChecksDisables function overridable checking
errIndicates an error condition, dis should contain display message
errTraceException stack trace
exprAxon expression string
foldOnRegisters a function as folding a given value type
funcAxon function
nameName key
overridableApplied to an ext function to enable override by project record functions
srcSource code
suRequires superuser permission

funcs ​

absReturn absolute value of a number, if null return null
addAdd item to the end of a list and return a new list
addAllAdd all the items to the end of a list and return a new list
addColAdd a column to a grid by mapping each row to a new cell value
addColMetaReturn a new grid with additional column meta-data
addColsAdd grid b as a new set of columns to grid a
addMetaReturn new grid with additional grid level meta-data tags
addRowAdd an additional Dict row to the end of a grid
addRowsAdd an list of rows to the end of a grid
allReturn if all the items in a list, dict, or grid match the given test function
anyReturn if any the items in a list, dict, or grid match the given test function
asSet the unit of a number
avgFold multiple values into their standard average or arithmetic mean
callReflectively call a function with the given arguments
capitalizeReturn this string with the first character converted to uppercase
clampClamp the number val between the min and max
colGet a column by its name
colNamesGet the column names a list of strings
colToListGet a column as a list of the cell values ordered by row
collectCollect stream into a in-memory list or grid
colsGet the columns from a grid as a list
colsToLocaleLocalize column display names
compDefReturn component definition
concatConcatenate a list of items into a string
conjunctsList conjunct definitions in the context namespace as Def[]
containsReturn if val contains x
coordConstruct a Coord from two Numbers in decimal degrees
coordDistCompute the great-circle distance between two Coords
coordLatLatitude of a Coord as a Number
coordLngLongitude of a Coord as a Number
countFold multiple values into their total count Return zero if no values
curFuncGet the current top-level function's tags
dateIf val is a DateTime
dateTimeConstruct a DateTime from a date, time, and timezone name
dayGet day of month as integer between 1 to 31 from date or datetime
dayOfYearGiven a DateTime or Date, return the day of the year
debugTypeReturn a string of the given value's type
decapitalizeReturn this string with the first character converted to lowercase
defLookup a def by its symbol name (Str or Symbol)
defsList all definitions in the context namespace as Def[]
disGet display string for dict or the given tag
dstReturn if a DateTime is in daylight saving time
eachIterate the items of a collection
eachDayIterate the days of a span
eachMonthIterate the months of a span
eachWhileIterate the items of a collection until the given function returns non-null
echoWrite the str represenation of x to stdout and return x
endEnd value of a DateSpan, Span, or a range
endsWithReturn if Str ends with the specified Str
equalsReturn if two values are equivalent
evalEvaluate an Axon string expression
evalToFuncEvalate an Axon string expression to a function
filterApply a filter expression to a collection of dicts
filterToFuncConvert a filter expression to a function which maybe used with findAll() or find()
findFind the first matching item in a list or grid by applying the given filter function
findAllFind all the items in a list, dict, or grid by applying the given filter function
firstGet the first item from an ordered collection or return null if the collection is empty
firstOfMonthGet the first day of given date's month
flatMapMap each item in a list or grid to zero or more new items as a flattened result
flattenFlatten a list to a single level
foldFold a list or stream into a single value using given folding function
foldColFold the values of the given column into a single value
foldColsFold a set of columns in each row into a new folded column and return a new grid
foldEndThe fold end marker value
foldStartThe fold start marker value
formatFormat an object using the current locale and specified format pattern
fromJavaMillisGiven Number of milliseconds since Unix epoch return a DateTime
funcFind a top-level function by name or by reference and return its tags
funcsFind all the top-levels functions in the current project which match the given filter
getGet an item from a collection
getSafeGet an item from a str, list, or grid safely when an index is out of bounds
gridColKindsGiven a grid return the types used in each column as a grid with the following
gridColsToDictConvert grid columns into a dict of name/val pairs
gridReplaceReplace every grid cell with the given from value with the to value
gridRowsToDictConvert grid rows into a dict of name/val pairs
hasIf val is a Grid return if it has the given column name
hourGet hour of day as integer between 0 to 23 from time or datetime
hoursInDayGiven a DateTime in a specific timezone, return the number of hours in the day
indexReturn the first match of x in val searching forward, starting at the specified offset index
indexrReturn the last match of x in val searching backward, starting at the specified offset index
insertInsert an item into a list at the given index and return a new list
insertAllInsert a list of items at the given index and return a new list
isAlphaIs number an ASCII alpha char
isAlphaNumIs number an ASCII alpha-numeric char
isBoolReturn if an object is a boolean type
isDateReturn if an object is a Date type
isDateTimeReturn if an object is a DateTime type
isDictReturn if an object is a dict type
isDigitIs number a digit in the specified radix
isDurationReturn if an object is a number type with a time unit
isEmptyReturn if a collection is empty
isEvenReturn if an integer is an even number
isFuncReturn if an object is a function type
isGridReturn if an object is a grid type
isHisGridReturn if an object is a grid that conforms to the history grid shape
isKeywordReturn if given string is an Axon keyword
isLeapYearReturn if a year is a leap year
isListReturn if an object is a list type
isLowerIs number an ASCII lowercase alphabetic char
isMetricGiven an optional value return true if the SI metric system should be used
isNaNReturn if val is the Number representation of not-a-number
isNonNullReturn if an object is not null
isNullReturn if an object is null
isNumberReturn if an object is a number type
isOddReturn if an integer is an odd number
isRefReturn if an object is a ref type
isSpaceIs number is whitespace char
isSpanReturn if an object is a span
isStrReturn if an object is a str type
isTagNameReturn if the given string is legal tag name - see Etc.isTagName
isTimeReturn if an object is a Time type
isUpperIs number an ASCII uppercase alphabetic char
isUriReturn if an object is a Uri type
isWeekdayDoes the given Date or DateTime fall on Mon, Tue, Wed, Thu, or Fri
isWeekendDoes the given Date or DateTime fall on Sat or Sun
joinJoin two grids by column name
joinAllJoin a list of grids into a single grid
keepColsReturn a new grid with keeps the given columns, but removes all the others
lastGet the last item from an ordered collection or return null if the collection is empty
lastMonthDateSpan for month previous to this month 1..28-31
lastOfMonthGet the last day of the date's month
lastQuarterDateSpan for 3 month quarter previous to this quarter
lastWeekDateSpan for week previous to this week sun..sat (uses locale start of week)
lastYearDateSpan for year previous to this year Jan-1..Dec-31
libsList the lib definitions in the context namespace as Def[]
limitTruncate stream after given limit is reached
localeUseEvaluate an expression within a specific locale
lowerConvert a char number or str to ASCII lower case
mapMap list, dict, or grid by applying the given mapping function
markerGet the marker value singleton Marker.val
maxCompare two numbers and return the larger one
mergeMerge two Dicts together and return a new Dict
metaGet the meta-data from a grid or col as a dict
minCompare two numbers and return the smaller one
minuteGet minutes of the time as integer between 0 to 59 from time or datetime
missingIf val is a Grid return if it does not have given column name
monthGet month as integer between 1 to 12 from date or datetime
moveToFind the given item in a list, and move it to the given index
naGet NA not-available singleton NA.val
nameIf val is a Col, get the column name
namesGet the list of names used by a given dict
nanReturn the Number representation of not-a-number
negInfReturn the Number representation negative infinity
nowReturn current DateTime according to context's time zone
nowTicksReturn current time as nanosecond ticks since 1 Jan 2000 UTC
nowUtcReturn current DateTime in UTC
numDaysNumber of whole days in a span
numDaysInMonthGet the number of days in a given month
occurredReturn if a timestamp is contained within a Date range
padlPad string to the left
padrPad string to the right
parseAstParse Axon source code into an abstract syntax tree modeled as a tree of dicts
parseBoolParse a Str into a Bool, legal formats are "true" or "false
parseDateParse a Str into a Date
parseDateTimeParse a Str into a DateTime
parseFilterParse a filter string into a Filter instance
parseFloatParse a Str into a Float
parseIntParse a Str into a integer number using the specified radix
parseNumberParse a Str into a number with an option unit
parseRefParse a Str into a Ref
parseSearchParse a search string into a Filter instance
parseSymbolParse a Str into a Symbol
parseTimeParse a Str into a Time
parseUnitParse a Str into a standardized unit name
parseUriParse a string into a Uri instance
pastMonthDateSpan for last 30days today-30days..today
pastWeekDateSpan for last 7 days as today-7days..today
pastYearDateSpan for this past today-365days..today
posInfReturn the Number representation positive infinity
reFindFind the first match of regular expression in s or return null if no matches
reFindAllFind all matches of the regular expression in s
reGroupsReturn a list of the substrings captured by matching the given regular operation against s
reMatchesReturn if regular expression matches entire region of s
reduceReduce a collection to a single value with the given reducer function
refDisGiven a ref return Ref.dis
refGenGenerate a new unique Ref identifier
refProjNameGiven an absolute ref, return its project name
relDisGet a relative display name
removeRemove an item from a collection and return a new collection
removeColReturn a new grid with the given column removed
removeColsReturn a new grid with all the given columns removed
removeMarkerGet the remove value singleton Remove.val
renameColReturn a new grid with the given column renamed
renameColsReturn a new grid with multiple columns renamed
reorderColsReturn a new grid with the columns reordered
replaceString replace of all occurrences of from with to
rowToListGet a grid row as a list of cells
secondGet seconds of the time as integer between 0 to 59 from time or datetime
setSet a collection item and return a new collection
setColMetaReturn a new grid with column meta-data replaced by given meta dict
setMetaReturn new grid with grid level meta-data replaced by given meta Dict
sizeReturn number of items in str, list, or grid
skipSkip the given number of items in a stream
sortSort a list or grid
sortDisSort a grid by row display name - see Grid.sortDis Examples
sortrReverse sort a list or grid
splitSplit a string by the given separator and trim whitespace
spreadFold multiple values to compute the difference between the max and min value
startStart value of a DateSpan, Span or a range
startOfWeekReturn current locale's start of weekday
startsWithReturn if Str starts with the specified Str
streamCreate new stream from given collection
streamColCreate a new stream for the cell values of the given column
sumFold multiple values into their numeric sum
swizzleRefsGiven a grid of records, assign new ids and swizzle all internal ref tags
tagsList tag definitions in the context namespace as Def[]
termsList term definitions (tags and conjuncts) in the context namespace as Def[]
thisMonthDateSpan for this month as 1st..28-31
thisQuarterDateSpan for this 3 month quarter
thisWeekDateSpan for this week as sun..sat (uses locale start of week)
thisYearDateSpan for this year Jan-1..Dec-31
timeIf val is a DateTime
timesCall the specified function the given number of times passing the counter
toConvert a number to the given unit
toAxonCodeConvert a scalar, list, or dict value to its Axon code representation
toCharConvert a unicode char number into a single char string Examples
toDateSpanConvert the following objects into a DateSpan
toGridGiven an arbitrary object, translate it to a Grid via Etc.toGrid
toHexConvert a number to a hexadecimal string
toJavaMillisGiven a DateTime return Number of milliseconds since Unix epoch
toListIf val is a list return it, otherwise return [val]
toLocaleGet the localized string for the given tag name or qualified name
toRadixConvert a number to its string representation in the given radix (base)
toSpanConvert the following objects into a Span
toStrConvert an obj to its string representation
toTagNameGiven arbitrary string, convert to a safe tag name - see Etc.toTagName
toTimeZoneConvert a DateTime or Span to another timezone
todayReturn today's Date according to context's time zone
transposePerform a matrix transpose on the grid
trapFunction for the -> operator
trimTrim whitespace from the beginning and end of the string
trimEndTrim whitespace only from the end of the string
trimStartTrim whitespace only from the beginning of the string
tzGet timezone as city name string in tzinfo database from datetime
uniqueReturn the unique items in a collection
unitGiven a number return its unit string or null
unitsEqReturn if the two numbers have the same unit
upperConvert a char number or str to ASCII upper case
uriBasenameGet the basename (last name in path without extension) of a Uri as a string
uriDecodeParse an ASCII percent encoded string into a Uri according to RFC 3986
uriEncodeReturn the percent encoded string for this Uri according to RFC 3986
uriExtGet the URI extension of a Uri as a string or null
uriFragReturn if the fragment identifier portion of the a URI after hash symbol
uriHostGet the host Uri as a string or null
uriIsDirReturn if the URI path ends in a slash
uriNameGet the name Str of a Uri (last item in path)
uriPathGet the path segments of a Uri as a list of Strs
uriPathStrGet the path a Uri as a string
uriPlusSlashAdding trailing slash to the URI
uriPortGet the port of a Uri as a Number or null
uriQueryStrReturn if the query portion of the a URI after question mark
uriSchemeGet the scheme of a Uri as a string or null
valsGet the list of values used by a given dict
weekOfYearGiven a DateTime or Date, return the week number of the year
weekdayGet weekday as integer from 0 to 6 of Date or DateTime
xstrConstruct decoded XStr instance
yearGet year as integer such as 2010 from date or datetime
yesterdayReturn yesterday's Date according to context's time zone


def ​

admin ​

Requires admin permission


meta ​

defadmin
ismarker
liblib:axon
tagOnfinSetting, func, view

supertypes ​

markerMarker labels a dict with typing information


def ​

disableOverridableChecks ​

Disables function overridable checking.


meta ​

defdisableOverridableChecks
ismarker
liblib:axon

supertypes ​

markerMarker labels a dict with typing information


def ​

err ​

Indicates an error condition, dis should contain display message. Also see errTrace


meta ​

deferr
ismarker
liblib:axon

supertypes ​

markerMarker labels a dict with typing information


def ​

errTrace ​

Exception stack trace


meta ​

deferrTrace
isstr
liblib:axon
multiLine✓

supertypes ​

valData value type
scalarScalar is an atomic value kind
strUnicode string of characters


def ​

expr ​

Axon expression string


meta ​

defexpr
isstr
liblib:axon
uiInputui::AxonInput

supertypes ​

valData value type
scalarScalar is an atomic value kind
strUnicode string of characters

subtypes ​

taskExprTask messaging handling Axon expression


def ​

foldOn ​

Registers a function as folding a given value type


meta ​

deffoldOn
isstr
liblib:axon

supertypes ​

valData value type
scalarScalar is an atomic value kind
strUnicode string of characters


def ​

func ​

Axon function


meta ​

deffunc
iconfunc
isfeature
liblib:axon

supertypes ​

featureFeature namespace of definitions formatted as feature:name

tags ​

adminRequires admin permission
disDisplay name for an entity
docDocumentation in simplified flavor of markdown
helpEnd user documentation
ruleOnTarget filter for a rule or rule ready func
ruleTypeRule type choice
suRequires superuser permission


def ​

func:abs ​

abs(val) ​

Return absolute value of a number, if null return null


meta ​

deffunc:abs
isfunc
liblib:axon
nameabs

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:add ​

add(val, item) ​

Add item to the end of a list and return a new list.


meta ​

deffunc:add
isfunc
liblib:axon
nameadd

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:addAll ​

addAll(val, items) ​

Add all the items to the end of a list and return a new list.


meta ​

deffunc:addAll
isfunc
liblib:axon
nameaddAll

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:addCol ​

addCol(grid, col, fn) ​

Add a column to a grid by mapping each row to a new cell value. The col parameter may be a simple String name or may be a dictionary which must have a "name" tag (any other tags become column meta-data). The mapping function takes (row) and returns the new cell values for the column.

Examples:

// add new column named areaMeter
readAll(site).addCol("areaMeters") s => s->area.to(1m²)

// add new column named areaMeter with dis meta
readAll(site).addCol({name:"areaMeters", dis:"Area Meters"}) s => s->area.to(1m²)

meta ​

deffunc:addCol
isfunc
liblib:axon
nameaddCol

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:addColMeta ​

addColMeta(grid, name, meta) ​

Return a new grid with additional column meta-data. If column not found, then return given grid. Column meta is added using merge() conventions. Also see setColMeta() and Streams.


meta ​

deffunc:addColMeta
isfunc
liblib:axon
nameaddColMeta

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:addCols ​

addCols(a, b) ​

Add grid b as a new set of columns to grid a. If b contains duplicate column names, then they are given auto-generated unique names. If b contains fewer rows then a, then the missing cells are filled with null.

Examples:

[{a:0, b:2}, {a:1, b:3}].toGrid.addCols({c:4}.toGrid)
readAll(rtu).addCols(readAll(meter))

meta ​

deffunc:addCols
isfunc
liblib:axon
nameaddCols

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:addMeta ​

addMeta(grid, meta) ​

Return new grid with additional grid level meta-data tags. Tags are added using merge() conventions. Also see setMeta() and Streams.

Example:

read(temp).hisRead(today).addMeta({view:"table"})

meta ​

deffunc:addMeta
isfunc
liblib:axon
nameaddMeta

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:addRow ​

addRow(grid, newRow) ​

Add an additional Dict row to the end of a grid.

Example:

readAll(site).addRow({dis:"New Row"})

meta ​

deffunc:addRow
isfunc
liblib:axon
nameaddRow

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:addRows ​

addRows(grid, newRows) ​

Add an list of rows to the end of a grid. The newRows may be expressed as list of Dict or a Grid.

Example:

readAll(site).addRows(readAll(equip))

meta ​

deffunc:addRows
isfunc
liblib:axon
nameaddRows

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:all ​

all(val, fn) ​

Return if all the items in a list, dict, or grid match the given test function. If the collection is empty, then return true.

If working with a list, the function takes (val) or (val, index) and returns true or false.

If working with a dict, the function takes (val) or (val, name) and returns true or false.

If working with a grid, the function takes (row) or (row, index) and returns true or false.

If working with a string, the function takes (char) or (char, index) and returns true or false.

If working with a stream, then function takes (val) and returns true or false. See Streams.

Examples:

[1, 3, 5].all v => v.isOdd  >>  true
[1, 3, 6].all(isOdd)        >>  false

meta ​

deffunc:all
isfunc
liblib:axon
nameall

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:any ​

any(val, fn) ​

Return if any the items in a list, dict, or grid match the given test function. If the collection is empty, then return false.

If working with a list, the function takes (val) or (val, index) and returns true or false.

If working with a dict, the function takes (val) or (val, name) and returns true or false.

If working with a grid, the function takes (row) or (row, index) and returns true or false.

If working with a string, the function takes (char) or (char, index) and returns true or false.

If working with a stream, then function takes (val) and returns true or false. See Streams.

Examples:

[1, 3, 5].any v => v.isOdd  >>  true
[2, 4, 6].any(isOdd)        >>  false

meta ​

deffunc:any
isfunc
liblib:axon
nameany

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:as ​

as(val, unit) ​

Set the unit of a number. Unlike to() function, no conversion of the scalar of the number is performed. The target unit can be a unit string or a number in which case the scalar value of the unit parameter is ignored (by convention should be 1).

Examples:

75°F.as(1°C)
75°F.as("°C")

meta ​

deffunc:as
isfunc
liblib:axon
nameas

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:avg ​

avg(val, acc) ​

Fold multiple values into their standard average or arithmetic mean. This function is the same as math::mean. Null values are ignored. Return null if no values.

Example:

[7, 2, 3].fold(avg)  >>  4

meta ​

deffunc:avg
disKeyui::average
foldOnNumber
isfunc
liblib:axon
nameavg

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:call ​

call(func, args: null) ​

Reflectively call a function with the given arguments. The func may be a Str name or an expression that evaluates to a function. Args is a positional list for each argument. Examples:

call("today")
call("replace", ["hi there", "hi", "hello"])
call("parseDate", ["2021-03-15"])
call("parseDate", ["15-Mar-21", "DD-MMM-YY"])
call(parseDate, ["15-Mar-21", "DD-MMM-YY"])
call(parseDate(_, "DD-MMM-YY"), ["15-Mar-21"])

meta ​

deffunc:call
isfunc
liblib:axon
namecall

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:capitalize ​

capitalize(val) ​

Return this string with the first character converted to uppercase. The case conversion is for ASCII only. Also see decapitalize() and upper().

Examples:

capitalize("apple")  >>  "Apple"

meta ​

deffunc:capitalize
isfunc
liblib:axon
namecapitalize

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:clamp ​

clamp(val, min, max) ​

Clamp the number val between the min and max. If its less than min then return min, if its greater than max return max, otherwise return val itself. The min and max must have matching units or be unitless. The result is always in the same unit as val.

Examples:

14.clamp(10, 20)     >>   14    // is between 10 and 20
3.clamp(10, 20)      >>   10    // clamps to min 10
73.clamp(10, 20)     >>   20    // clamps to max 20
45°F.clamp(60, 80)   >>   60°F  // min/max can be unitless

meta ​

deffunc:clamp
isfunc
liblib:axon
nameclamp

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:col ​

col(grid, name, checked: true) ​

Get a column by its name. If not resolved then return null or throw UnknownNameErr based on checked flag.

Example:

// get meta data for given columm
read(temp).hisRead(today).col("ts").meta

meta ​

deffunc:col
isfunc
liblib:axon
namecol

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:colNames ​

colNames(grid) ​

Get the column names a list of strings.

Example:

readAll(site).colNames

meta ​

deffunc:colNames
isfunc
liblib:axon
namecolNames

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:colToList ​

colToList(grid, col) ​

Get a column as a list of the cell values ordered by row. Also see rowToList().

Example:

readAll(site).colToList("dis")

meta ​

deffunc:colToList
isfunc
liblib:axon
namecolToList

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:collect ​

collect(stream, to: null) ​

Collect stream into a in-memory list or grid. See Streams.


meta ​

deffunc:collect
isfunc
liblib:axon
namecollect

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:cols ​

cols(grid) ​

Get the columns from a grid as a list.

Example:

// get name of first column
readAll(site).cols.first.name

meta ​

deffunc:cols
isfunc
liblib:axon
namecols

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:colsToLocale ​

colsToLocale(grid) ​

Localize column display names. For each col which does not have an explicit dislay name, add a dis tag based on the column name. Also see Grid.colsToLocale and Localization.


meta ​

deffunc:colsToLocale
isfunc
liblib:axon
namecolsToLocale

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:compDef ​

compDef(name, checked: true) ​

Return component definition. The result is a grid where each row corresponds to a cell and its associated meta data. The grid meta is the function level meta data.

Example:

compDef("compName")

meta ​

deffunc:compDef
isfunc
liblib:axon
namecompDef

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:concat ​

concat(list, sep: "") ​

Concatenate a list of items into a string.

Examples:

[1, 2, 3].concat       >>  "123"
[1, 2, 3].concat(",")  >>  "1,2,3"

meta ​

deffunc:concat
isfunc
liblib:axon
nameconcat

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:conjuncts ​

conjuncts() ​

List conjunct definitions in the context namespace as Def[].


meta ​

deffunc:conjuncts
isfunc
liblib:axon
nameconjuncts

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:contains ​

contains(val, x) ​

Return if val contains x:

  • if val is Str, then x is substring.
  • if val is List, then x is item to search.
  • if val is Range, then is x inside the range inclusively
  • if val is DateSpan, then is x a date in the span

meta ​

deffunc:contains
isfunc
liblib:axon
namecontains

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:coord ​

coord(lat, lng) ​

Construct a Coord from two Numbers in decimal degrees


meta ​

deffunc:coord
isfunc
liblib:axon
namecoord

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:coordDist ​

coordDist(c1, c2) ​

Compute the great-circle distance between two Coords. The result is a distance in meters using the haversine forumula.


meta ​

deffunc:coordDist
isfunc
liblib:axon
namecoordDist

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:coordLat ​

coordLat(coord) ​

Latitude of a Coord as a Number


meta ​

deffunc:coordLat
isfunc
liblib:axon
namecoordLat

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:coordLng ​

coordLng(coord) ​

Longitude of a Coord as a Number


meta ​

deffunc:coordLng
isfunc
liblib:axon
namecoordLng

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:count ​

count(val, acc) ​

Fold multiple values into their total count Return zero if no values.


meta ​

deffunc:count
foldOnObj
isfunc
liblib:axon
namecount

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:curFunc ​

curFunc() ​

Get the current top-level function's tags.


meta ​

deffunc:curFunc
isfunc
liblib:axon
namecurFunc

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:date ​

date(val, month: null, day: null) ​

If val is a DateTime: get date portion of the timestamp. If val is a Number: construct a date instance from year, month, day

Examples:

now().date         // same as today()
date(2010, 12, 1)  // same as 2010-12-01

meta ​

deffunc:date
isfunc
liblib:axon
namedate

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:dateTime ​

dateTime(d, t, tz: null) ​

Construct a DateTime from a date, time, and timezone name. If timezone is null, use system default.


meta ​

deffunc:dateTime
isfunc
liblib:axon
namedateTime

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:day ​

day(d) ​

Get day of month as integer between 1 to 31 from date or datetime.


meta ​

deffunc:day
isfunc
liblib:axon
nameday

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:dayOfYear ​

dayOfYear(val) ​

Given a DateTime or Date, return the day of the year. The result is a number between 1 and 365 (or 1 to 366 if a leap year).


meta ​

deffunc:dayOfYear
isfunc
liblib:axon
namedayOfYear

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:debugType ​

debugType(val) ​

Return a string of the given value's type. No guarantee is made for the string's format. Applications must not assume any specific format, this function is for human consumption only.


meta ​

deffunc:debugType
isfunc
liblib:axon
namedebugType

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:decapitalize ​

decapitalize(val) ​

Return this string with the first character converted to lowercase. The case conversion is for ASCII only. Also see capitalize() and lower().

Examples:

decapitalize("Apple") >> "apple"

meta ​

deffunc:decapitalize
isfunc
liblib:axon
namedecapitalize

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:def ​

def(symbol, checked: true) ​

Lookup a def by its symbol name (Str or Symbol). If not found return null or raise UnknownDefErr based on checked flag. The result is returned as the definition's normalized dict representation.


meta ​

deffunc:def
isfunc
liblib:axon
namedef

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:defs ​

defs() ​

List all definitions in the context namespace as Def[].


meta ​

deffunc:defs
isfunc
liblib:axon
namedefs

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:dis ​

dis(dict, name: null, def: "") ​

Get display string for dict or the given tag. If name is null, then return display text for the entire dict using Etc.dictToDis. If name is non-null then format the tag value using its appropiate toLocale method. Also see Dict.dis.


meta ​

deffunc:dis
isfunc
liblib:axon
namedis

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:dst ​

dst(dt) ​

Return if a DateTime is in daylight saving time. For the given DateTime and its specific timezone, return true if the time is in daylight savings time or false if standard time.


meta ​

deffunc:dst
isfunc
liblib:axon
namedst

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:each ​

each(val, fn) ​

Iterate the items of a collection:

  • Grid: iterate the rows as (row, index)
  • List: iterate the items as (value, index)
  • Dict: iterate the name/value pairs (value, name)
  • Str: iterate the characters as numbers (char, index)
  • Range: iterate the integer range (integer)
  • Stream: iterate items as (val); see Streams

meta ​

deffunc:each
isfunc
liblib:axon
nameeach

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:eachDay ​

eachDay(dates, fn) ​

Iterate the days of a span. The dates argument may be any object converted into a date range by toDateSpan(). The given function is called with a Date argument for each iterated day.

Example:

f: day => echo(day)
eachDay(2010-07-01..2010-07-03, f) >> iterate Jul 1st, 2nd, 3rd
eachDay(2010-07, f)                >> iterate each day of July 2010
eachDay(pastWeek, f)               >> iterate last 7 days

meta ​

deffunc:eachDay
isfunc
liblib:axon
nameeachDay

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:eachMonth ​

eachMonth(dates, fn) ​

Iterate the months of a span. The dates argument may be any object converted into a date range by toDateSpan(). The given function is called with a DateSpan argument for each interated month.

Examples:

// iterate each month in 2010, and echo data range
eachMonth(2010) d => echo(d)

// call f once for current method
eachMonth(today(), f)

meta ​

deffunc:eachMonth
isfunc
liblib:axon
nameeachMonth

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:eachWhile ​

eachWhile(val, fn) ​

Iterate the items of a collection until the given function returns non-null. Once non-null is returned, then break the iteration and return the resulting object. Return null if the function returns null for every item.

  • Grid: iterate the rows as (row, index)
  • List: iterate the items as (val, index)
  • Dict: iterate the name/value pairs (val, name)
  • Str: iterate the characters as numbers (char, index)
  • Range: iterate the integer range (integer)
  • Stream: iterate items as (val); see Streams

meta ​

deffunc:eachWhile
isfunc
liblib:axon
nameeachWhile

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:echo ​

echo(x) ​

Write the str represenation of x to stdout and return x.


meta ​

admin✓
deffunc:echo
isfunc
liblib:axon
nameecho

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:end ​

end(val) ​

End value of a DateSpan, Span, or a range.


meta ​

deffunc:end
isfunc
liblib:axon
nameend

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:endsWith ​

endsWith(val, sub) ​

Return if Str ends with the specified Str.

Examples:

"hi there".endsWith("there")   >>  true
"hi there".endsWith("hi")      >>  false

meta ​

deffunc:endsWith
isfunc
liblib:axon
nameendsWith

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:equals ​

equals(a, b) ​

Return if two values are equivalent. Unlike the standard == operator this function will compare the contents of collection values such as lists, dicts, and grids. For non-collection values, the result is the same as the == operator. This function does not work with lazy grids such as hisRead result.


meta ​

deffunc:equals
isfunc
liblib:axon
nameequals

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:eval ​

eval(expr) ​

Evaluate an Axon string expression. The evaluation happens in a new scope and does not have access to the current scope of local variables. Also see call() and toAxonCode().

Examples:

eval("2 + 2")
eval("now()")

meta ​

deffunc:eval
isfunc
liblib:axon
nameeval

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:evalToFunc ​

evalToFunc(expr) ​

Evalate an Axon string expression to a function. Typically the expression is just a function name, but it can be any expression that evaluates to a function. Raise an exception if the expression does not evaluate to a function. Note this call does evalute the given expression in the runtime, so it must be used with caution - never use it with a string from a non-trusted origin.

Examples:

evalToFunc("now").call
evalToFunc("(x, y)=>x+y").call([3, 4])
(evalToFunc("(x, y)=>x+y"))(3, 4)
evalToFunc("""replace(_, "x", "_")""").call(["xyz"])

meta ​

deffunc:evalToFunc
isfunc
liblib:axon
nameevalToFunc

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:filter ​

filter(val, filterExpr) ​

Apply a filter expression to a collection of dicts. The collection value may be any of the following:

  • Grid: returns new grid with filtered rows
  • Dict[]: returns list of filtered dicts (nulls are filtered out)
  • Col[]: returns list of columns filtered by their meta
  • Stream: filters stream of Dicts - see Streams

The filter parameter may one fo the following:

Examples:

// apply to a list of dicts
[{v:1}, {v:2}, {v:3}, {v:4}].filter(v >= 3)

// apply to a grid and return new grid with matching rows
readAll(equip).filter(meter)

// apply to a list of columns
read(ahu).toPoints.hisRead(yesterday).cols.filter(kind=="Bool")

// apply to a stream of dicts
readAllStream(equip).filter(siteMeter and elec and meter).collect

// apply search filter
readAll(equip).filter(parseSearch("RTU-1"))

meta ​

deffunc:filter
isfunc
liblib:axon
namefilter

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:filterToFunc ​

filterToFunc(filterExpr) ​

Convert a filter expression to a function which maybe used with findAll() or find(). The returned function accepts one Dict parameter and returns true/false if the Dict is matched by the filter. Also see filter() and parseFilter().

Examples:

// filter for dicts with 'equip' tag
list.findAll(filterToFunc(equip))

// filter rows with an 'area' tag over 10,000
grid.findAll(filterToFunc(area > 10_000))

meta ​

deffunc:filterToFunc
isfunc
liblib:axon
namefilterToFunc

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:find ​

find(val, fn) ​

Find the first matching item in a list or grid by applying the given filter function. If no match is found return null.

If working with a list, the filter should be a function that takes (val) or (val, index). It should return true to match and return the item.

If working with a dict, the filter should be a function that takes (val) or (val, name). It should return true to match and return the item.

If working with a grid, the filter function takes (row) or (row, index) and returns true to match and return the row.

If working with a stream, the filter takes (val) and returns true to match. See Streams.

Examples:

// find first string longer than 3 chars
["ape", "bat", "charlie", "dingo"].find(x => x.size > 3)

// find first odd number
[10, 4, 3, 7].find(isOdd)

meta ​

deffunc:find
isfunc
liblib:axon
namefind

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:findAll ​

findAll(val, fn) ​

Find all the items in a list, dict, or grid by applying the given filter function. Also see find().

If working with a list, the filter should be a function that takes (val) or (val, index). It should return true to keep the item.

If working with a dict, the filter should be a function that takes (val) or (val, name). It should return the true to keep the name/value pair.

If working with a grid, the filter function takes (row) or (row, index) and returns true to keep the row. The resulting grid shares the original's grid meta and columns.

If working with a stream, the filter takes (val) and returns true to match. See Streams.

Examples:

// find all the strings longer than 3 chars
["ape", "bat", "charlie", "dingo"].findAll(x => x.size > 3)

// find even numbers
[0, 1, 2, 3, 4].findAll(isEven)

// find all the sites greater than 10,000ft from grid
readAll(site).findAll(s => s->area > 10_000ft²)

meta ​

deffunc:findAll
isfunc
liblib:axon
namefindAll

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:first ​

first(val) ​

Get the first item from an ordered collection or return null if the collection is empty:

  • list: item at index 0
  • grid: first frow
  • stream: first item; see Streams

meta ​

deffunc:first
isfunc
liblib:axon
namefirst

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:firstOfMonth ​

firstOfMonth(date) ​

Get the first day of given date's month. Also see lastOfMonth().

Example:

2009-10-28.firstOfMonth  >>  2009-10-01

meta ​

deffunc:firstOfMonth
isfunc
liblib:axon
namefirstOfMonth

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:flatMap ​

flatMap(val, fn) ​

Map each item in a list or grid to zero or more new items as a flattened result.

If mapping a list, the mapping should be a function that takes (val) or (val, index). It should return the a list of zero or more new values. See List.flatMap.

If mapping a grid, the mapping function takes (row) or (row,index) and returns a list of zero or more new Dict rows. See Grid.flatMap.

If mapping a stream, the mapping functions takes (val). See Streams.

Examples:

[1, 2, 3].flatMap(v => [v, v+10])   >>  [1, 11, 2, 12, 3, 13]

meta ​

deffunc:flatMap
isfunc
liblib:axon
nameflatMap

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:flatten ​

flatten(list) ​

Flatten a list to a single level. If given a list of grids, then flatten rows to a single grid. Also see List.flatten and Etc.gridFlatten.

Examples:

// flatten a list of numbers
[1, [2, 3], [4, [5, 6]]].flatten  >>  [1, 2, 3, 4, 5, 6]

// flatten a list of grids
["Carytown", "Gaithersburg"].map(n=>readAll(siteRef->dis==n)).flatten

meta ​

deffunc:flatten
isfunc
liblib:axon
nameflatten

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:fold ​

fold(val, fn) ​

Fold a list or stream into a single value using given folding function. The folding function signature must be (val, acc) where val is the items being folded, and acc is an accumulator used to maintain state between iterations. Lifecycle of a fold:

  1. Call fn(foldStart, null), return initial accumulator state
  2. Call fn(item, acc) for every item, return new accumulator state
  3. Call fn(foldEnd, acc) return final result

See Streams for streaming details.

The fold will short-circuit and halt immediately if the folding function returns na() for the accumulator state. The result of the fold is na() in this case. A folding function should document its behavior when a collection contains na().

Built-in folding functions include:

Examples:

[1, 2, 3, 4].fold(max)  // fold list into its max value
[1, 2, 3, 4].fold(avg)  // fold list into its average value
[1, 2, na(), 3].fold(sum) // => na()

Example of writing your own custom fold function that used start/end values and has support for na():

average: (val, acc) => do
  if (val == foldStart()) return {sum:0, count:0}
  if (val == foldEnd()) return acc->sum / acc->count
  if (val == na()) return na()
  return {sum: acc->sum + val, count: acc->count + 1}
end

Also see reduce() which is easier to use if doing your own simple rollup computation.


meta ​

deffunc:fold
isfunc
liblib:axon
namefold

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:foldCol ​

foldCol(grid, colName, fn) ​

Fold the values of the given column into a single value. The folding function uses the same semantics as fold().

Example:

readAll(site).foldCol("area", sum)

meta ​

deffunc:foldCol
isfunc
liblib:axon
namefoldCol

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:foldCols ​

foldCols(grid, colSelector, newColName, fn) ​

Fold a set of columns in each row into a new folded column and return a new grid. The columns to fold are selected by the colSelector function and removed from the result. The selector may be a list of string names or a function which takes a Col and returns true to select it. The folding function uses same semantics as fold().

Example:

// consider grid 'g' with the following structure:
a    b    c
---  ---  ---
1    10   100
2    20   200

// foldCols, add b and c together to create new bc column
g.foldCols(["b", "c"], "bc", sum)

// yields this grid:
a    bc
---  ---
1    110
2    220

// we could also replace list of col names with a function
colSel: col => col.name == "b" or col.name == "c"
g.foldCols(colSel, "bc", sum)

meta ​

deffunc:foldCols
isfunc
liblib:axon
namefoldCols

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:foldEnd ​

foldEnd() ​

The fold end marker value


meta ​

deffunc:foldEnd
isfunc
liblib:axon
namefoldEnd

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:foldStart ​

foldStart() ​

The fold start marker value


meta ​

deffunc:foldStart
isfunc
liblib:axon
namefoldStart

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:format ​

format(val, pattern: null) ​

Format an object using the current locale and specified format pattern. Formatting patterns follow Fantom toLocale conventions:

Examples:

123.456kW.format                 >>  123kW
123.456kW.format("#.0")          >>  123.5kW
today().format("D-MMM-YYYY")     >>  8-Feb-2023
today().format("DDD MMMM YYYY")  >>  8th February 2023
now().format("D-MMM hh:mm")      >>  08-Feb 14:50
now().format("DD/MM/YY k:mmaa")  >>  08/02/23 2:50pm

meta ​

deffunc:format
isfunc
liblib:axon
nameformat

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:fromJavaMillis ​

fromJavaMillis(millis, tz: null) ​

Given Number of milliseconds since Unix epoch return a DateTime. The epic is defined as 1-Jan-1970 UTC. If timezone is null, use system default. Also see toJavaMillis().


meta ​

deffunc:fromJavaMillis
isfunc
liblib:axon
namefromJavaMillis

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:func ​

func(name, checked: true) ​

Find a top-level function by name or by reference and return its tags. If not found throw exception or return null based on checked flag.

Example:

func("readAll")
func(readAll)

meta ​

deffunc:func
isfunc
liblib:axon
namefunc

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:funcs ​

funcs(filterExpr: null) ​

Find all the top-levels functions in the current project which match the given filter. If the filter is omitted then return all the functions declared in the current project. The function tags are returned.

Examples:

funcs()              // all functions
funcs(sparkRule)     // match filter

meta ​

deffunc:funcs
isfunc
liblib:axon
namefuncs

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:get ​

get(val, key) ​

Get an item from a collection:

  • str(num): get character at index as int (same semantics as Fantom)
  • str(range): get string slice (same semantics as Fantom)
  • list(num): get item at given index (same semantics as Fantom)
  • list(range): get list slice at given index (same semantics as Fantom)
  • dict(key): get item with given key or return null
  • grid(num): get row at given index
  • grid(range): Grid.getRange

The get function maybe be accessed using the [] shortcut operator:

list[3]  >>  list.get(3)

See Axon Language.


meta ​

deffunc:get
isfunc
liblib:axon
nameget

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:getSafe ​

getSafe(val, key) ​

Get an item from a str, list, or grid safely when an index is out of bounds:

  • str(num): get a character at index or null if index invalid
  • str(range): get safe slice or "" if entire range invalid
  • list(num): get item at given index or null is index invalid
  • list(range): get list slice with safe index
  • grid(num): get row at given index or null if index invalid
  • grid(range): Grid.getRange with safe range

meta ​

deffunc:getSafe
isfunc
liblib:axon
namegetSafe

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:gridColKinds ​

gridColKinds(grid) ​

Given a grid return the types used in each column as a grid with the following:

  • name: string name of the column
  • kind: all the different value kinds in the column separated by "|"
  • count: total number of rows with column with a non-null value Also see readAllTagNames().

Example:

readAll(site).gridColKinds

meta ​

deffunc:gridColKinds
isfunc
liblib:axon
namegridColKinds

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:gridColsToDict ​

gridColsToDict(grid, colToKey, colToVal) ​

Convert grid columns into a dict of name/val pairs. The name/val paris are derived from each column using the given functions. The functions take (col, index)

Example:

// create dict of column name to column dis
read(temp).hisRead(today).gridColsToDict(c=>c.name, c=>c.meta.dis)

meta ​

deffunc:gridColsToDict
isfunc
liblib:axon
namegridColsToDict

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:gridReplace ​

gridReplace(grid, from, to) ​

Replace every grid cell with the given from value with the to value. The resulting grid has the same grid and col meta. Replacement comparison is by via equality via == operator, so it will only replace scalar values or null.

Example:

grid.gridReplace(null, 0)   // replace all null cells with zero
grid.gridReplace(na(), 0)   // replace all NA cells with zero

meta ​

deffunc:gridReplace
isfunc
liblib:axon
namegridReplace

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:gridRowsToDict ​

gridRowsToDict(grid, rowToKey, rowToVal) ​

Convert grid rows into a dict of name/val pairs. The name/value pairs are derived from each row using the given functions. The functions take (row, index)

Example:

// create dict of sites with dis:area pairs
readAll(site).gridRowsToDict(s=>s.dis.toTagName, s=>s->area)

meta ​

deffunc:gridRowsToDict
isfunc
liblib:axon
namegridRowsToDict

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:has ​

has(val, name) ​

If val is a Grid return if it has the given column name. If val is a Dict return if the given name is mapped to a non-null value.


meta ​

deffunc:has
isfunc
liblib:axon
namehas

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:hour ​

hour(t) ​

Get hour of day as integer between 0 to 23 from time or datetime


meta ​

deffunc:hour
isfunc
liblib:axon
namehour

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:hoursInDay ​

hoursInDay(dt) ​

Given a DateTime in a specific timezone, return the number of hours in the day. Dates which transition to DST will be 23 hours and days which transition back to standard time will be 25 hours.


meta ​

deffunc:hoursInDay
isfunc
liblib:axon
namehoursInDay

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:index ​

index(val, x, offset: 0) ​

Return the first match of x in val searching forward, starting at the specified offset index. A negative offset may be used to access from the end of string. Return null if no occurences are found:

  • if val is Str, then x is substring.
  • if val is List, then x is item to search.

meta ​

deffunc:index
isfunc
liblib:axon
nameindex

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:indexr ​

indexr(val, x, offset: Number.negOne) ​

Return the last match of x in val searching backward, starting at the specified offset index. A negative offset may be used to access from the end of string. Return null if no occurences are found:

  • if val is Str, then x is substring.
  • if val is List, then x is item to search.

meta ​

deffunc:indexr
isfunc
liblib:axon
nameindexr

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:insert ​

insert(val, index, item) ​

Insert an item into a list at the given index and return a new list.


meta ​

deffunc:insert
isfunc
liblib:axon
nameinsert

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:insertAll ​

insertAll(val, index, items) ​

Insert a list of items at the given index and return a new list.


meta ​

deffunc:insertAll
isfunc
liblib:axon
nameinsertAll

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isAlpha ​

isAlpha(num) ​

Is number an ASCII alpha char: isUpper||isLower

Examples:

isAlpha("A".get(0))  >>  true
isAlpha("a".get(0))  >>  true
isAlpha("8".get(0))  >>  false
isAlpha(" ".get(0))  >>  false
isAlpha("Ã".get(0))  >>  false

meta ​

deffunc:isAlpha
isfunc
liblib:axon
nameisAlpha

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isAlphaNum ​

isAlphaNum(num) ​

Is number an ASCII alpha-numeric char: isAlpha||isDigit

Examples:

isAlphaNum("A".get(0))  >>  true
isAlphaNum("a".get(0))  >>  true
isAlphaNum("8".get(0))  >>  true
isAlphaNum(" ".get(0))  >>  false
isAlphaNum("Ã".get(0))  >>  false

meta ​

deffunc:isAlphaNum
isfunc
liblib:axon
nameisAlphaNum

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isBool ​

isBool(val) ​

Return if an object is a boolean type


meta ​

deffunc:isBool
isfunc
liblib:axon
nameisBool

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isDate ​

isDate(val) ​

Return if an object is a Date type


meta ​

deffunc:isDate
isfunc
liblib:axon
nameisDate

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isDateTime ​

isDateTime(val) ​

Return if an object is a DateTime type


meta ​

deffunc:isDateTime
isfunc
liblib:axon
nameisDateTime

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isDict ​

isDict(val) ​

Return if an object is a dict type


meta ​

deffunc:isDict
isfunc
liblib:axon
nameisDict

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isDigit ​

isDigit(num, radix: 10) ​

Is number a digit in the specified radix. A decimal radix of ten returns true for 0-9. A radix of 16 also returns true for a-f and A-F.

Examples:

isDigit("5".get(0))      >>  true
isDigit("A".get(0))      >>  false
isDigit("A".get(0), 16)  >>  true

meta ​

deffunc:isDigit
isfunc
liblib:axon
nameisDigit

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isDuration ​

isDuration(val) ​

Return if an object is a number type with a time unit


meta ​

deffunc:isDuration
isfunc
liblib:axon
nameisDuration

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isEmpty ​

isEmpty(val) ​

Return if a collection is empty: str, list, dict, or grid


meta ​

deffunc:isEmpty
isfunc
liblib:axon
nameisEmpty

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isEven ​

isEven(val) ​

Return if an integer is an even number.


meta ​

deffunc:isEven
isfunc
liblib:axon
nameisEven

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isFunc ​

isFunc(val) ​

Return if an object is a function type


meta ​

deffunc:isFunc
isfunc
liblib:axon
nameisFunc

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isGrid ​

isGrid(val) ​

Return if an object is a grid type


meta ​

deffunc:isGrid
isfunc
liblib:axon
nameisGrid

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isHisGrid ​

isHisGrid(val) ​

Return if an object is a grid that conforms to the history grid shape


meta ​

deffunc:isHisGrid
isfunc
liblib:axon
nameisHisGrid

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isKeyword ​

isKeyword(val) ​

Return if given string is an Axon keyword


meta ​

deffunc:isKeyword
isfunc
liblib:axon
nameisKeyword

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isLeapYear ​

isLeapYear(year) ​

Return if a year is a leap year. Year must be four digit Number such as 2020.


meta ​

deffunc:isLeapYear
isfunc
liblib:axon
nameisLeapYear

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isList ​

isList(val) ​

Return if an object is a list type


meta ​

deffunc:isList
isfunc
liblib:axon
nameisList

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isLower ​

isLower(num) ​

Is number an ASCII lowercase alphabetic char: a-z

Examples:

isUpper("a".get(0))  >>  true
isUpper("A".get(0))  >>  false
isUpper("5".get(0))  >>  false

meta ​

deffunc:isLower
isfunc
liblib:axon
nameisLower

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isMetric ​

isMetric(val: null) ​

Given an optional value return true if the SI metric system should be used. Return false if the United States customary unit system should be used. The following rules are used:

  • if val is a dict with geoCountry return return false if "US"
  • if number or rec with unit and unit is known to be a US customary unit return false (right now we only check for °F and Δ°F)
  • fallback to locale of hosting server, see Locale

Examples:

isMetric({geoCountry:"US"})  >>  false
isMetric({geoCountry:"FR"})  >>  true
isMetric(75°F)               >>  false
isMetric({unit:"Δ°C"})       >>  true
isMetric()                   >>  fallback to server locale

meta ​

deffunc:isMetric
isfunc
liblib:axon
nameisMetric

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isNaN ​

isNaN(val) ​

Return if val is the Number representation of not-a-number


meta ​

deffunc:isNaN
isfunc
liblib:axon
nameisNaN

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isNonNull ​

isNonNull(val) ​

Return if an object is not null


meta ​

deffunc:isNonNull
isfunc
liblib:axon
nameisNonNull

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isNull ​

isNull(val) ​

Return if an object is null


meta ​

deffunc:isNull
isfunc
liblib:axon
nameisNull

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isNumber ​

isNumber(val) ​

Return if an object is a number type


meta ​

deffunc:isNumber
isfunc
liblib:axon
nameisNumber

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isOdd ​

isOdd(val) ​

Return if an integer is an odd number.


meta ​

deffunc:isOdd
isfunc
liblib:axon
nameisOdd

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isRef ​

isRef(val) ​

Return if an object is a ref type


meta ​

deffunc:isRef
isfunc
liblib:axon
nameisRef

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isSpace ​

isSpace(num) ​

Is number is whitespace char: space \t \n \r \f

Examples:

isSpace("x".get(0))   >>  false
isSpace(" ".get(0))   >>  true
isSpace("\n".get(0))  >>  true

meta ​

deffunc:isSpace
isfunc
liblib:axon
nameisSpace

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isSpan ​

isSpan(val) ​

Return if an object is a span


meta ​

deffunc:isSpan
isfunc
liblib:axon
nameisSpan

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isStr ​

isStr(val) ​

Return if an object is a str type


meta ​

deffunc:isStr
isfunc
liblib:axon
nameisStr

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isTagName ​

isTagName(n) ​

Return if the given string is legal tag name - see Etc.isTagName


meta ​

deffunc:isTagName
isfunc
liblib:axon
nameisTagName

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isTime ​

isTime(val) ​

Return if an object is a Time type


meta ​

deffunc:isTime
isfunc
liblib:axon
nameisTime

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isUpper ​

isUpper(num) ​

Is number an ASCII uppercase alphabetic char: A-Z

Examples:

isUpper("A".get(0))  >>  true
isUpper("a".get(0))  >>  false
isUpper("5".get(0))  >>  false

meta ​

deffunc:isUpper
isfunc
liblib:axon
nameisUpper

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isUri ​

isUri(val) ​

Return if an object is a Uri type


meta ​

deffunc:isUri
isfunc
liblib:axon
nameisUri

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isWeekday ​

isWeekday(t) ​

Does the given Date or DateTime fall on Mon, Tue, Wed, Thu, or Fri


meta ​

deffunc:isWeekday
isfunc
liblib:axon
nameisWeekday

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:isWeekend ​

isWeekend(t) ​

Does the given Date or DateTime fall on Sat or Sun


meta ​

deffunc:isWeekend
isfunc
liblib:axon
nameisWeekend

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:join ​

join(a, b, joinColName) ​

Join two grids by column name. Current implementation requires:

  • grids cannot have conflicting col names (other than join col)
  • each row in both grids must have a unique value for join col
  • grid level meta is merged
  • join column meta is merged

meta ​

deffunc:join
isfunc
liblib:axon
namejoin

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:joinAll ​

joinAll(grids, joinColName) ​

Join a list of grids into a single grid. See join().


meta ​

deffunc:joinAll
isfunc
liblib:axon
namejoinAll

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:keepCols ​

keepCols(grid, cols) ​

Return a new grid with keeps the given columns, but removes all the others. Columns can be Str names or Col instances. Also see Streams.

Example:

readAll(site).keepCols(["id", "area"])

meta ​

deffunc:keepCols
isfunc
liblib:axon
namekeepCols

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:last ​

last(val) ​

Get the last item from an ordered collection or return null if the collection is empty:

  • list: item at index -1
  • grid: item at index -1
  • stream: last item; see Streams

meta ​

deffunc:last
isfunc
liblib:axon
namelast

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:lastMonth ​

lastMonth() ​

DateSpan for month previous to this month 1..28-31


meta ​

deffunc:lastMonth
isfunc
liblib:axon
namelastMonth

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:lastOfMonth ​

lastOfMonth(date) ​

Get the last day of the date's month. Also see firstOfMonth().

Example:

2009-10-28.lastOfMonth  >>  2009-10-31

meta ​

deffunc:lastOfMonth
isfunc
liblib:axon
namelastOfMonth

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:lastQuarter ​

lastQuarter() ​

DateSpan for 3 month quarter previous to this quarter


meta ​

deffunc:lastQuarter
isfunc
liblib:axon
namelastQuarter

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:lastWeek ​

lastWeek() ​

DateSpan for week previous to this week sun..sat (uses locale start of week)


meta ​

deffunc:lastWeek
isfunc
liblib:axon
namelastWeek

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:lastYear ​

lastYear() ​

DateSpan for year previous to this year Jan-1..Dec-31


meta ​

deffunc:lastYear
isfunc
liblib:axon
namelastYear

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:libs ​

libs() ​

List the lib definitions in the context namespace as Def[].


meta ​

deffunc:libs
isfunc
liblib:axon
namelibs

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:limit ​

limit(stream, limit) ​

Truncate stream after given limit is reached. See Streams.


meta ​

deffunc:limit
isfunc
liblib:axon
namelimit

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:localeUse ​

localeUse(locale, expr) ​

Evaluate an expression within a specific locale. This enables formatting and parsing of localized text using a locale other than the default for the current context.

Examples:

// format Date in German
localeUse("de", today().format)

// parse Date in German
localeUse("de", parseDate("01 Mär 2021", "DD MMM YYYY"))

meta ​

deffunc:localeUse
isfunc
liblib:axon
namelocaleUse

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:lower ​

lower(val) ​

Convert a char number or str to ASCII lower case. Also see upper() and decapitalize().

Examples:

lower("CAT")      >>  "cat"
lower("Cat")      >>  "cat"
lower(65).toChar  >>  "a"

meta ​

deffunc:lower
isfunc
liblib:axon
namelower

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:map ​

map(val, fn) ​

Map list, dict, or grid by applying the given mapping function.

If mapping a list, the mapping should be a function that takes (val) or (val, index). It should return the new value for that index.

If mapping a dict, the mapping should be a function that takes (val) or (val, name). It should return the new value for that name.

If mapping a grid, the mapping function takes (row) or (row,index) and returns a new dictionary to use for the row. The resulting grid shares the original's grid level meta. Columns left intact share the old meta-data, new columns have no meta-data. If the mapping function returns null, then that row is removed from the resulting grid (not mapped).

If mapping a range, then the mapping function takes (integer), and returns a list for each mapped integer inte the range.

If mapping a stream, the mapping functions takes (val). See Streams.

Examples:

// create list adding ten to each number
[1, 2, 3].map(v => v+10)   >>   [11, 12, 13]

// create new list that turns strings into uppercase
["ape", "bee", "cat"].map(upper)    // ["APE, "BEE", "CAT"]

// create dict adding ten to each value
{a:1, b:2, c:3}.map(v => v+10)   >>   {a:11, b:12, c:13}

// create grid with just dis, area column
readAll(site).map(s => {dis:s->dis, area:s->area})

meta ​

deffunc:map
isfunc
liblib:axon
namemap

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:marker ​

marker() ​

Get the marker value singleton Marker.val


meta ​

deffunc:marker
isfunc
liblib:axon
namemarker

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:max ​

max(val, acc) ​

Compare two numbers and return the larger one. This function may also be used with fold() to return the largest number (or null if no values). Note number units are not checked nor considered for the comparison.

Examples:

max(7, 4)            >>  7
[7, 2, 4].fold(max)  >>  7

meta ​

deffunc:max
disKeyui::max
foldOnNumber
isfunc
liblib:axon
namemax

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:merge ​

merge(a, b) ​

Merge two Dicts together and return a new Dict. Any tags in b are added to a. If b defines a tag already in a, then it is overwritten by b. If a tag in b is mapped to Remove.val, then that tag is removed from the result.


meta ​

deffunc:merge
isfunc
liblib:axon
namemerge

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:meta ​

meta(val) ​

Get the meta-data from a grid or col as a dict.

Examples:

read(temp).hisRead(today).meta             // grid meta
read(temp).hisRead(today).col("ts").meta   // column meta

meta ​

deffunc:meta
isfunc
liblib:axon
namemeta

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:min ​

min(val, acc) ​

Compare two numbers and return the smaller one. This function may also be used with fold() to return the smallest number (or null if no values). Note number units are not checked nor considered for this comparison.

Examples:

min(7, 4)            >>  4
[7, 2, 4].fold(min)  >>  2

meta ​

deffunc:min
disKeyui::min
foldOnNumber
isfunc
liblib:axon
namemin

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:minute ​

minute(t) ​

Get minutes of the time as integer between 0 to 59 from time or datetime


meta ​

deffunc:minute
isfunc
liblib:axon
nameminute

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:missing ​

missing(val, name) ​

If val is a Grid return if it does not have given column name. If val is a Dict, return if the given name is not mapped to a non-null value.


meta ​

deffunc:missing
isfunc
liblib:axon
namemissing

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:month ​

month(d) ​

Get month as integer between 1 to 12 from date or datetime


meta ​

deffunc:month
isfunc
liblib:axon
namemonth

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:moveTo ​

moveTo(list, item, toIndex) ​

Find the given item in a list, and move it to the given index. All the other items are shifted accordingly. Negative indexes may used to access an index from the end of the list. If the item is not found then this is a no op. Return new list.

Examples:

[10, 11, 12].moveTo(11, 0)  >>  [11, 10, 12]
[10, 11, 12].moveTo(11, -1) >>  [10, 12, 11]

meta ​

deffunc:moveTo
isfunc
liblib:axon
namemoveTo

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:na ​

na() ​

Get NA not-available singleton NA.val


meta ​

deffunc:na
isfunc
liblib:axon
namena

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:name ​

name(val) ​

If val is a Col, get the column name.

Example:

// get name of first column
readAll(site).cols.first.name

meta ​

deffunc:name
isfunc
liblib:axon
namename

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:names ​

names(dict) ​

Get the list of names used by a given dict


meta ​

deffunc:names
isfunc
liblib:axon
namenames

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:nan ​

nan() ​

Return the Number representation of not-a-number


meta ​

deffunc:nan
isfunc
liblib:axon
namenan

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:negInf ​

negInf() ​

Return the Number representation negative infinity


meta ​

deffunc:negInf
isfunc
liblib:axon
namenegInf

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:now ​

now() ​

Return current DateTime according to context's time zone. This function will use a cached version which is only accurate to within 250ms (see DateTime.now for details). Also see nowTicks() and nowUtc().


meta ​

deffunc:now
isfunc
liblib:axon
namenow

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:nowTicks ​

nowTicks() ​

Return current time as nanosecond ticks since 1 Jan 2000 UTC. Note that the 64-bit floating point representations of nanosecond ticks will lose accuracy below the microsecond. Also see now().


meta ​

deffunc:nowTicks
isfunc
liblib:axon
namenowTicks

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:nowUtc ​

nowUtc() ​

Return current DateTime in UTC. This function will use a cached version which is only accurate to within 250ms (see DateTime.nowUtc for details). Also see now() and nowTicks().


meta ​

deffunc:nowUtc
isfunc
liblib:axon
namenowUtc

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:numDays ​

numDays(span) ​

Number of whole days in a span


meta ​

deffunc:numDays
isfunc
liblib:axon
namenumDays

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:numDaysInMonth ​

numDaysInMonth(month: null) ​

Get the number of days in a given month. The month parameter may be:

  • Date: returns number of days in given month (uses month/year, ignores day)
  • Number 1-12: returns days in month for current year
  • null: returns day in current month

Examples:

numDaysInMonth()            >>>  days in current month
numDaysInMonth(1)           >>>  31day (days in January)
numDaysInMonth(6)           >>>  30day (days in June)
numDaysInMonth(2)           >>>  28day or 29day (days for Feb this year)
numDaysInMonth(2012-02-13)  >>>  29day (days in Feb for leap year)

meta ​

deffunc:numDaysInMonth
isfunc
liblib:axon
namenumDaysInMonth

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:occurred ​

occurred(ts, range) ​

Return if a timestamp is contained within a Date range. Range may be any value supported by toDateSpan(). Timestamp may be either a Date or a DateTime. Also see contains.

Examples:

ts.occurred(thisWeek)
ts.occurred(pastMonth())
ts.occurred(2010-01-01..2010-01-15)

meta ​

deffunc:occurred
isfunc
liblib:axon
nameoccurred

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:padl ​

padl(val, width, char: " ") ​

Pad string to the left. If size is less than width, then add the given char to the left to achieve the specified width.

Examples:

"3".padl(3, "0")    >>  "003"
"123".padl(2, "0")  >>  "123"

meta ​

deffunc:padl
isfunc
liblib:axon
namepadl

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:padr ​

padr(val, width, char: " ") ​

Pad string to the right. If size is less than width, then add the given char to the left to acheive the specified with.

Examples:

"xyz".padr(2, ".")  >>  "xyz"
"xyz".padr(5, "-")  >>  "xyz--"

meta ​

deffunc:padr
isfunc
liblib:axon
namepadr

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:parseAst ​

parseAst(src) ​

Parse Axon source code into an abstract syntax tree modeled as a tree of dicts. Each node has a type tag which specified the node type. Common AST shapes:

123    =>  {type:"literal", val:123}
a      =>  {type:"var", name:"a"}
not a  =>  {type:"not", operand:{type:"var", name:"a"}}
a + b  =>  {type:"add", lhs:{type:"var", name:"a"}, rhs:{type:"var", name:"b"}}

NOTE: the keys and structure of the AST is subject to change over time.


meta ​

deffunc:parseAst
isfunc
liblib:axon
nameparseAst

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:parseBool ​

parseBool(val, checked: true) ​

Parse a Str into a Bool, legal formats are "true" or "false. If invalid format and checked is false return null, otherwise throw ParseErr.

Examples:

parseBool("true")
parseBool("bad", false)

meta ​

deffunc:parseBool
isfunc
liblib:axon
nameparseBool

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:parseDate ​

parseDate(val, pattern: "YYYY-MM-DD", checked: true) ​

Parse a Str into a Date. If the string cannot be parsed into a valid Date and checked is false then return null, otherwise throw ParseErr. See Date.toLocale for pattern.

Examples:

parseDate("7-Feb-23", "D-MMM-YY")
parseDate("07/02/23", "DD/MM/YY")
parseDate("7 february 2023", "D MMMM YYYY")
parseDate("230207", "YYMMDD")

meta ​

deffunc:parseDate
isfunc
liblib:axon
nameparseDate

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:parseDateTime ​

parseDateTime(val, pattern: "YYYY-MM-DD'T'hh:mm:SS.FFFFFFFFFz zzzz", tz: now().tz, checked: true) ​

Parse a Str into a DateTime. If the string cannot be parsed into a valid DateTime and checked is false then return null, otherwise throw ParseErr. See DateTime.toLocale for pattern:

YY     Two digit year             07
YYYY   Four digit year            2007
M      One/two digit month        6, 11
MM     Two digit month            06, 11
MMM    Three letter abbr month    Jun, Nov
MMMM   Full month                 June, November
D      One/two digit day          5, 28
DD     Two digit day              05, 28
DDD    Day with suffix            1st, 2nd, 3rd, 24th
WWW    Three letter abbr weekday  Tue
WWWW   Full weekday               Tuesday
V      One/two digit week of year 1,52
VV     Two digit week of year     01,52
VVV    Week of year with suffix   1st,52nd
h      One digit 24 hour (0-23)   3, 22
hh     Two digit 24 hour (0-23)   03, 22
k      One digit 12 hour (1-12)   3, 11
kk     Two digit 12 hour (1-12)   03, 11
m      One digit minutes (0-59)   4, 45
mm     Two digit minutes (0-59)   04, 45
s      One digit seconds (0-59)   4, 45
ss     Two digit seconds (0-59)   04, 45
SS     Optional seconds (only if non-zero)
f*     Fractional secs trailing zeros
F*     Fractional secs no trailing zeros
a      Lower case a/p for am/pm   a, p
aa     Lower case am/pm           am, pm
A      Upper case A/P for am/pm   A, P
AA     Upper case AM/PM           AM, PM
z      Time zone offset           Z, +03:00 (ISO 8601, XML Schema)
zzz    Time zone abbr             EST, EDT
zzzz   Time zone name             New_York
'xyz'  Literal characters
''     Single quote literal

Examples:

parseDateTime("2023-02-07 14:30", "YYYY-MM-DD hh:mm")
parseDateTime("2023-02-07 14:30", "YYYY-MM-DD hh:mm", "Paris")
parseDateTime("7/2/23 2:30pm", "D/M/YY k:mma")
parseDateTime("2023-02-07T14:30:00", "YYYY-MM-DD'T'hh:mm:ss")

meta ​

deffunc:parseDateTime
isfunc
liblib:axon
nameparseDateTime

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:parseFilter ​

parseFilter(val, checked: true) ​

Parse a filter string into a Filter instance. The resulting filter can then be used with read(), readAll(), filter(), or filterToFunc().

Example:

str: "point and kw"
readAll(parseFilter(str))

meta ​

deffunc:parseFilter
isfunc
liblib:axon
nameparseFilter

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:parseFloat ​

parseFloat(val, checked: true) ​

Parse a Str into a Float. Representations for infinity and not-a-number are "-INF", "INF", "NaN". If invalid format and checked is false return null, otherwise throw ParseErr. This string value cannot include a unit (see parseNumber).

Examples:

parseFloat("123.456").format("0.000")
parseFloat("NaN")
parseFloat("INF")

meta ​

deffunc:parseFloat
isfunc
liblib:axon
nameparseFloat

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:parseInt ​

parseInt(val, radix: 10, checked: true) ​

Parse a Str into a integer number using the specified radix. If invalid format and checked is false return null, otherwise throw ParseErr. This string value cannot include a unit (see parseNumber).

Examples:

parseInt("123")
parseInt("afe8", 16)
parseInt("10010", 2)

meta ​

deffunc:parseInt
isfunc
liblib:axon
nameparseInt

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:parseNumber ​

parseNumber(val, checked: true) ​

Parse a Str into a number with an option unit. If invalid format and checked is false return null, otherwise throw ParseErr. Also see parseInt() and parseFloat() to parse basic integers and floating point numbers without a unit.

Examples:

parseNumber("123")
parseNumber("123kW")
parseNumber("123.567").format("#.000")

meta ​

deffunc:parseNumber
isfunc
liblib:axon
nameparseNumber

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:parseRef ​

parseRef(val, dis: null, checked: true) ​

Parse a Str into a Ref. If the string is not a valid Ref identifier then raise ParseErr or return null based on checked flag. If the string has a leading "@", then it is stripped off before parsing.

Examples:

parseRef("abc-123")
parseRef("@abc-123")

meta ​

deffunc:parseRef
isfunc
liblib:axon
nameparseRef

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:parseSearch ​

parseSearch(val) ​

Parse a search string into a Filter instance. The resulting filter can then be used with read(), readAll(), filter(), or filterToFunc().

The search string is one of the following free patterns:

  • *<glob>* case insensitive glob with ? and * wildcards (default)
  • re:<regex> regular expression
  • f:<filter> haystack filter

See Nav for additional details on search syntax.

Examples:

readAll(parseSearch("RTU-1"))
readAll(point).filter(parseSearch("RTU* Fan"))

meta ​

deffunc:parseSearch
isfunc
liblib:axon
nameparseSearch

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:parseSymbol ​

parseSymbol(val, checked: true) ​

Parse a Str into a Symbol. If the string is not a valid Symbol identifier then raise ParseErr or return null based on checked flag. The string must not include a leading "^".

Examples:

parseSymbol("func:now")

meta ​

deffunc:parseSymbol
isfunc
liblib:axon
nameparseSymbol

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:parseTime ​

parseTime(val, pattern: "hh:mm:SS", checked: true) ​

Parse a Str into a Time. If the string cannot be parsed into a valid Time and checked is false then return null, otherwise throw ParseErr. See Time.toLocale for pattern.

Examples:

parseTime("14:30", "h:mm")
parseTime("2:30pm", "k:mma")
parseTime("2:30:00pm", "k:mm:ssa")

meta ​

deffunc:parseTime
isfunc
liblib:axon
nameparseTime

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:parseUnit ​

parseUnit(val, checked: true) ​

Parse a Str into a standardized unit name. If the val is not a valid unit name from the standard database then return null or raise exception based on checked flag.

Examples:

parseUnit("%")
parseUnit("percent")

meta ​

deffunc:parseUnit
isfunc
liblib:axon
nameparseUnit

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:parseUri ​

parseUri(val, checked: true) ​

Parse a string into a Uri instance. If the string cannot be parsed into a valid Uri and checked is false then return null, otherwise throw ParseErr. This function converts an URI from standard form. Use uriDecode() to convert a string from escaped form. See Uri for a detailed discussion on standard and escaped forms.

Examples:

"foo bar".parseUri     >>  `foo bar`
"foo%20bar".uriDecode  >>  `foo bar`

meta ​

deffunc:parseUri
isfunc
liblib:axon
nameparseUri

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:pastMonth ​

pastMonth() ​

DateSpan for last 30days today-30days..today


meta ​

deffunc:pastMonth
isfunc
liblib:axon
namepastMonth

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:pastWeek ​

pastWeek() ​

DateSpan for last 7 days as today-7days..today


meta ​

deffunc:pastWeek
isfunc
liblib:axon
namepastWeek

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:pastYear ​

pastYear() ​

DateSpan for this past today-365days..today


meta ​

deffunc:pastYear
isfunc
liblib:axon
namepastYear

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:posInf ​

posInf() ​

Return the Number representation positive infinity


meta ​

deffunc:posInf
isfunc
liblib:axon
nameposInf

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:reFind ​

reFind(regex, s) ​

Find the first match of regular expression in s or return null if no matches. See AxonUsage.

Examples:

reFind(r"\d+", "x123y")  >>  "123"
reFind(r"\d+", "xyz")    >>  null

meta ​

deffunc:reFind
isfunc
liblib:axon
namereFind

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:reFindAll ​

reFindAll(regex, s) ​

Find all matches of the regular expression in s. Returns an empty list of there are no matches.

Examples:

reFindAll(r"-?\d+\.?\d*", "foo, 123, bar, 456.78, -9, baz")
  >> ["123", "456.78", "-9"]
reFindAll(r"\d+", "foo, bar, baz")
  >> [,]

meta ​

deffunc:reFindAll
isfunc
liblib:axon
namereFindAll

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:reGroups ​

reGroups(regex, s) ​

Return a list of the substrings captured by matching the given regular operation against s. Return null if no matches. The first item in the list is the entire match, and each additional item is matched to () arguments in the regex pattern. See AxonUsage.

Examples:

re: r"(RTU|AHU)-(\d+)"
reGroups(re, "AHU")    >> null
reGroups(re, "AHU-7")  >> ["AHU-7", "AHU", "7"]

meta ​

deffunc:reGroups
isfunc
liblib:axon
namereGroups

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:reMatches ​

reMatches(regex, s) ​

Return if regular expression matches entire region of s. See AxonUsage.

Examples:

reMatches(r"\d+", "x123y")  >>  false
reMatches(r"\d+", "123")    >>  true

meta ​

deffunc:reMatches
isfunc
liblib:axon
namereMatches

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:reduce ​

reduce(val, init, fn) ​

Reduce a collection to a single value with the given reducer function. The given function is called with each item in the collection along with a current accumulation value. The accumation value is initialized to init for the first item, and for every subsequent item it is the result of the previous item. Return the final accumulation value. Also see fold() which is preferred if doing standard rollup such as sum or average.

If working with a list, the function takes (acc, val, index) and returns accumulation value

If working with a grid, the function takes (acc, row, index) and returns accumulation value

If working with a stream, then function takes (acc, val) and returns accumulation value See Streams.

Examples:

[2, 5, 3].reduce(0, (acc, val)=>acc+val)  >> 10
[2, 5, 3].reduce(1, (acc, val)=>acc*val)  >> 30

meta ​

deffunc:reduce
isfunc
liblib:axon
namereduce

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:refDis ​

refDis(ref) ​

Given a ref return Ref.dis


meta ​

deffunc:refDis
isfunc
liblib:axon
namerefDis

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:refGen ​

refGen() ​

Generate a new unique Ref identifier


meta ​

deffunc:refGen
isfunc
liblib:axon
namerefGen

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:refProjName ​

refProjName(ref, checked: true) ​

Given an absolute ref, return its project name. If the ref is not formatted as "p:proj:r:xxx", then raise an exception or return null based on the checked flag:

Examples:

refProjName(@p:demo:r:xxx)   >>  "demo"
refProjName(@r:xxx)          >>  raises exception
refProjName(@r:xxx, false)   >>  null

meta ​

deffunc:refProjName
isfunc
liblib:axon
namerefProjName

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:relDis ​

relDis(parent, child) ​

Get a relative display name. If the child display name starts with the parent, then we can strip that as the common suffix. Parent and child must be either a Dict or a Str.


meta ​

deffunc:relDis
isfunc
liblib:axon
namerelDis

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:remove ​

remove(val, key) ​

Remove an item from a collection and return a new collection.

  • List: key is index to remove at
  • Dict: key is tag name

meta ​

deffunc:remove
isfunc
liblib:axon
nameremove

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:removeCol ​

removeCol(grid, col) ​

Return a new grid with the given column removed. If the column doesn't exist, then return given grid. Also see Streams.


meta ​

deffunc:removeCol
isfunc
liblib:axon
nameremoveCol

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:removeCols ​

removeCols(grid, cols) ​

Return a new grid with all the given columns removed. Columns can be Str names or Col instances. Also see Streams.


meta ​

deffunc:removeCols
isfunc
liblib:axon
nameremoveCols

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:removeMarker ​

removeMarker() ​

Get the remove value singleton Remove.val


meta ​

deffunc:removeMarker
isfunc
liblib:axon
nameremoveMarker

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:renameCol ​

renameCol(grid, oldName, newName) ​

Return a new grid with the given column renamed.

Example:

readAll(site).renameCol("dis", "title")

meta ​

deffunc:renameCol
isfunc
liblib:axon
namerenameCol

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:renameCols ​

renameCols(grid, mapping) ​

Return a new grid with multiple columns renamed. Mapping must be a dict of old to new names. Old column names not found are ignored.

Example:

readAll(site).renameCols({dis:"title", geoAddr:"subtitle"})

meta ​

deffunc:renameCols
isfunc
liblib:axon
namerenameCols

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:reorderCols ​

reorderCols(grid, colNames) ​

Return a new grid with the columns reordered. The given list of names represents the new order and must contain the same current column names. Any columns not specified are removed. Also see colNames(), moveTo(), and Streams.

Example:

// move name to first col, and foo to last col
cols: grid.colNames.moveTo("name", 0).moveTo("foo", -1)
return grid.reorderCols(cols)

meta ​

deffunc:reorderCols
isfunc
liblib:axon
namereorderCols

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:replace ​

replace(val, from, to) ​

String replace of all occurrences of from with to. All three parameters must be strings.

Examples:

"hello".replace("hell", "t")  >>  "to"
"aababa".replace("ab", "-")   >>  "a--a"

meta ​

deffunc:replace
isfunc
liblib:axon
namereplace

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:rowToList ​

rowToList(row) ​

Get a grid row as a list of cells. Sparse cells are included as null. Also see colToList().

Example:

readAll(equip).first.rowToList

meta ​

deffunc:rowToList
isfunc
liblib:axon
namerowToList

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:second ​

second(t) ​

Get seconds of the time as integer between 0 to 59 from time or datetime


meta ​

deffunc:second
isfunc
liblib:axon
namesecond

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:set ​

set(val, key, item) ​

Set a collection item and return a new collection.

  • List: set item by index key
  • Dict: set item by key name

meta ​

deffunc:set
isfunc
liblib:axon
nameset

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:setColMeta ​

setColMeta(grid, name, meta) ​

Return a new grid with column meta-data replaced by given meta dict. If column not found, then return given grid. Also see addColMeta() and Streams.


meta ​

deffunc:setColMeta
isfunc
liblib:axon
namesetColMeta

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:setMeta ​

setMeta(grid, meta) ​

Return new grid with grid level meta-data replaced by given meta Dict. Also see addMeta() and Streams.

Example:

read(temp).hisRead(today).setMeta({view:"table"})

meta ​

deffunc:setMeta
isfunc
liblib:axon
namesetMeta

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:size ​

size(val) ​

Return number of items in str, list, or grid


meta ​

deffunc:size
isfunc
liblib:axon
namesize

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:skip ​

skip(stream, count) ​

Skip the given number of items in a stream. See Streams.


meta ​

deffunc:skip
isfunc
liblib:axon
nameskip

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:sort ​

sort(val, sorter: null) ​

Sort a list or grid.

If sorting a list, the sorter should be a function that takes two list items and returns -1, 0, or 1 (typicaly done with the <=> operator. If no sorter is passed, then the list is sorted by its natural ordering.

If sorting a grid, the sorter can be a column name or a function. If a function, it should take two rows and return -1, 0, or 1.

Examples:

// sort string list
["bear", "cat", "apple"].sort

// sort string list by string size
["bear", "cat", "apple"].sort((a,b) => a.size <=> b.size)

// sort sites by area
readAll(site).sort((a, b) => a->area <=> b->area)

meta ​

deffunc:sort
isfunc
liblib:axon
namesort

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:sortDis ​

sortDis(val) ​

Sort a grid by row display name - see Grid.sortDis

Examples:

// read all sites and sort by display name
readAll(site).sortDis

meta ​

deffunc:sortDis
isfunc
liblib:axon
namesortDis

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:sortr ​

sortr(val, sorter: null) ​

Reverse sort a list or grid. This function works just like sort() except sorts in reverse.


meta ​

deffunc:sortr
isfunc
liblib:axon
namesortr

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:split ​

split(val, sep: null, opts: null) ​

Split a string by the given separator and trim whitespace. If sep is null then split by any whitespace char; otherwise it must be exactly one char long. See Str.split for detailed behavior.

Options:

  • noTrim: disable auto-trim of whitespace from start and end of tokens

Examples:

"a b c".split                   >>  ["a", "b", "c"]
"a,b,c".split(",")              >>  ["a", "b", "c"]
"a, b, c".split(",")            >>  ["a", "b", "c"]
"a, b, c".split(",", {noTrim})  >>  ["a", " b", " c"]

meta ​

deffunc:split
isfunc
liblib:axon
namesplit

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:spread ​

spread(val, acc) ​

Fold multiple values to compute the difference between the max and min value. Return null if no values.

Example:

[7, 2, 3].fold(spread)  >>  5

meta ​

deffunc:spread
disKeyui::spread
foldOnNumber
isfunc
liblib:axon
namespread

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:start ​

start(val) ​

Start value of a DateSpan, Span or a range.


meta ​

deffunc:start
isfunc
liblib:axon
namestart

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:startOfWeek ​

startOfWeek() ​

Return current locale's start of weekday. Weekday is returned as integer from 0 (Sunday) to 6 (Saturday).


meta ​

deffunc:startOfWeek
isfunc
liblib:axon
namestartOfWeek

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:startsWith ​

startsWith(val, sub) ​

Return if Str starts with the specified Str.

Examples:

"hi there".startsWith("hi")   >>  true
"hi there".startsWith("foo")  >>  false

meta ​

deffunc:startsWith
isfunc
liblib:axon
namestartsWith

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:stream ​

stream(val) ​

Create new stream from given collection:

  • Grid: stream the rows
  • List: stream the items
  • Range: stream inclusive range of integers See Streams.

meta ​

deffunc:stream
isfunc
liblib:axon
namestream

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:streamCol ​

streamCol(grid, col) ​

Create a new stream for the cell values of the given column. See Streams.


meta ​

deffunc:streamCol
isfunc
liblib:axon
namestreamCol

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:sum ​

sum(val, acc) ​

Fold multiple values into their numeric sum. Return null if no values.


meta ​

deffunc:sum
disKeyui::sum
foldOnNumber
isfunc
liblib:axon
namesum

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:swizzleRefs ​

swizzleRefs(grid) ​

Given a grid of records, assign new ids and swizzle all internal ref tags. Each row of the grid must have an id tag. A new id is generated for each row, and any Ref tags which used one of the old ids is replaced with the new id. This function is handy for copying graphs of recs such as site/equip/point trees.


meta ​

deffunc:swizzleRefs
isfunc
liblib:axon
nameswizzleRefs

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:tags ​

tags() ​

List tag definitions in the context namespace as Def[].


meta ​

deffunc:tags
isfunc
liblib:axon
nametags

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:terms ​

terms() ​

List term definitions (tags and conjuncts) in the context namespace as Def[].


meta ​

deffunc:terms
isfunc
liblib:axon
nameterms

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:thisMonth ​

thisMonth() ​

DateSpan for this month as 1st..28-31


meta ​

deffunc:thisMonth
isfunc
liblib:axon
namethisMonth

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:thisQuarter ​

thisQuarter() ​

DateSpan for this 3 month quarter


meta ​

deffunc:thisQuarter
isfunc
liblib:axon
namethisQuarter

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:thisWeek ​

thisWeek() ​

DateSpan for this week as sun..sat (uses locale start of week)


meta ​

deffunc:thisWeek
isfunc
liblib:axon
namethisWeek

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:thisYear ​

thisYear() ​

DateSpan for this year Jan-1..Dec-31


meta ​

deffunc:thisYear
isfunc
liblib:axon
namethisYear

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:time ​

time(val, minutes: null, secs: 0) ​

If val is a DateTime: get time portion of the timestamp. If val is a Number: construct a time instance from hour, minutes, secs (truncated to nearest second).

Examples:

now().time      // current time
time(20, 45)    // same as 20:45

meta ​

deffunc:time
isfunc
liblib:axon
nametime

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:times ​

times(times, fn) ​

Call the specified function the given number of times passing the counter.


meta ​

deffunc:times
isfunc
liblib:axon
nametimes

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:to ​

to(val, unit) ​

Convert a number to the given unit. If the units are not of the same dimension then an exception is raised. The target unit can be a string or a Number. If target unit is a Number, then the scalar value is ignored, but by convention should be 1. Also see as() function to set a unit without conversion.

Examples:

10kWh.to(1BTU)
10kWh.to("BTU")
75°F.to(1°C)
to(75°F, 1°C)

meta ​

deffunc:to
isfunc
liblib:axon
nameto

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:toAxonCode ​

toAxonCode(val) ​

Convert a scalar, list, or dict value to its Axon code representation. Examples:

toAxonCode(123)        =>   "123"
toAxonCode([1, 2, 3])  =>   "[1, 2, 3]"
toAxonCode({x:123})    =>   "{x:123}"

meta ​

deffunc:toAxonCode
isfunc
liblib:axon
nametoAxonCode

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:toChar ​

toChar(num) ​

Convert a unicode char number into a single char string

Examples:

toChar(65)   >>  "A"

meta ​

deffunc:toChar
isfunc
liblib:axon
nametoChar

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:toDateSpan ​

toDateSpan(x) ​

Convert the following objects into a DateSpan:

  • Func: function which evaluates to date range
  • DateSpan: return itself
  • Date: one day range
  • Span: return Span.toDateSpan
  • Str: evaluates to DateSpan.fromStr
  • Date..Date: starting and ending date (inclusive)
  • Date..Number: starting date and num of days (day unit required)
  • DateTime..DateTime: use starting/ending dates; if end is midnight, then use previous date
  • Number: convert as year
  • null: use projMeta dateSpanDefault or default to today (deprecated)

Examples:

toDateSpan(2010-07-01..2010-07-03)  >>  01-Jul-2010..03-Jul-2010
toDateSpan(2010-07-01..60day)       >>  01-Jul-2010..29-Aug-2010
toDateSpan(2010-07)                 >>  01-Jul-2010..31-Jul-2010
toDateSpan(2010)                    >>  01-Jan-2010..31-Dec-2010
toDateSpan(pastWeek) // on 9 Aug    >>  02-Aug-2010..09-Aug-2010

meta ​

deffunc:toDateSpan
isfunc
liblib:axon
nametoDateSpan

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:toGrid ​

toGrid(val, meta: null) ​

Given an arbitrary object, translate it to a Grid via Etc.toGrid:

  • if grid just return it
  • if row in grid of size, return row.grid
  • if scalar return 1x1 grid
  • if dict return grid where dict is only
  • if list of dict return grid where each dict is row
  • if list of non-dicts, return one col grid with rows for each item

Example:

// create simple grid with dis,age cols and 3 rows:
[{dis:"Bob", age:30},
 {dis:"Ann", age:40},
 {dis:"Dan", age:50}].toGrid

meta ​

deffunc:toGrid
isfunc
liblib:axon
nametoGrid

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:toHex ​

toHex(val) ​

Convert a number to a hexadecimal string.


meta ​

deffunc:toHex
isfunc
liblib:axon
nametoHex

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:toJavaMillis ​

toJavaMillis(dt) ​

Given a DateTime return Number of milliseconds since Unix epoch. The epic is defined as 1-Jan-1970 UTC. Also see fromJavaMillis().


meta ​

deffunc:toJavaMillis
isfunc
liblib:axon
nametoJavaMillis

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:toList ​

toList(val) ​

If val is a list return it, otherwise return [val].


meta ​

deffunc:toList
isfunc
liblib:axon
nametoList

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:toLocale ​

toLocale(key) ​

Get the localized string for the given tag name or qualified name. If the key is formatted as "pod::name" then route to Env.locale, otherwise to Etc.tagToLocale.


meta ​

deffunc:toLocale
isfunc
liblib:axon
nametoLocale

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:toRadix ​

toRadix(val, radix, width: null) ​

Convert a number to its string representation in the given radix (base). If width is non-null, then leading zeroes are prepended to ensure the specified width.

Example:

6.toRadix(2) => "110"
255.toRadix(16, 4) => "00ff"

meta ​

deffunc:toRadix
isfunc
liblib:axon
nametoRadix

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:toSpan ​

toSpan(x, tz: null) ​

Convert the following objects into a Span:

  • Span: return itself
  • Span+tz: update timezone using same dates only if aligned to midnight
  • Str: return Span.fromStr using current timezone
  • Str+tz: return Span.fromStr using given timezone
  • DateTime..DateTime: range of two DateTimes
  • Date..DateTime: start day for date until the end timestamp
  • DateTime..Date: start timestamp to end of day for end date
  • DateTime: span of a single timestamp
  • DateSpan: anything accepted by toDateSpan() in current timezone
  • DateSpan+tz: anything accepted by toDateSpan() using given timezone

meta ​

deffunc:toSpan
isfunc
liblib:axon
nametoSpan

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:toStr ​

toStr(val) ​

Convert an obj to its string representation


meta ​

deffunc:toStr
isfunc
liblib:axon
nametoStr

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:toTagName ​

toTagName(n) ​

Given arbitrary string, convert to a safe tag name - see Etc.toTagName


meta ​

deffunc:toTagName
isfunc
liblib:axon
nametoTagName

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:toTimeZone ​

toTimeZone(val, tz) ​

Convert a DateTime or Span to another timezone:

now().toTimeZone("Chicago")
now().toTimeZone("UTC")

meta ​

deffunc:toTimeZone
isfunc
liblib:axon
nametoTimeZone

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:today ​

today() ​

Return today's Date according to context's time zone


meta ​

deffunc:today
isfunc
liblib:axon
nametoday

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:transpose ​

transpose(grid) ​

Perform a matrix transpose on the grid. The cells of the first column because the display names for the new columns. Columns 1..n become the new rows.

Example:

readAll(site).transpose

meta ​

deffunc:transpose
isfunc
liblib:axon
nametranspose

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:trap ​

trap(val, name) ​

Function for the -> operator. If the given value is a dict, then get a value by name, or throw UnknownNameErr if name not mapped. If the value is a Ref, then perform a checked readById, then perform the name lookup.

The trap function maybe be accessed using the -> shortcut operator:

dict->foo  >>>  dict.trap("foo")

See Axon Language.


meta ​

deffunc:trap
isfunc
liblib:axon
nametrap

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:trim ​

trim(val) ​

Trim whitespace from the beginning and end of the string. For the purposes of this function, whitespace is defined as any character equal to or less than the 0x20 space character (including , \r, \n, and \t).

Examples:

" abc ".trim   >>  "abc"
"abc".trim     >>  "abc"

meta ​

deffunc:trim
isfunc
liblib:axon
nametrim

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:trimEnd ​

trimEnd(val) ​

Trim whitespace only from the end of the string. See trim() for definition of whitespace.

Examples:

" abc ".trimEnd  >>  " abc"
"abc".trimEnd    >>  "abc"

meta ​

deffunc:trimEnd
isfunc
liblib:axon
nametrimEnd

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:trimStart ​

trimStart(val) ​

Trim whitespace only from the beginning of the string. See trim() for definition of whitespace.

Examples:

" abc ".trimStart  >>  "abc "
"abc".trimStart    >>  "abc"

meta ​

deffunc:trimStart
isfunc
liblib:axon
nametrimStart

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:tz ​

tz(dt: null) ​

Get timezone as city name string in tzinfo database from datetime. If the datetime is null then return the environment default timezone.


meta ​

deffunc:tz
isfunc
liblib:axon
nametz

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:unique ​

unique(val, key: null) ​

Return the unique items in a collection. If val is a List then return List.unique. If val is a Grid then return Grid.unique where key must be a column name or list of column names.

Examples:

[1, 1, 2, 2].unique                 >> [1, 2]
grid.unique("geoState")             >> unique states
grid.unique(["geoCity", geoState"]) >> city,state combos

meta ​

deffunc:unique
isfunc
liblib:axon
nameunique

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:unit ​

unit(val) ​

Given a number return its unit string or null. If the val is null, then return null.


meta ​

deffunc:unit
isfunc
liblib:axon
nameunit

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:unitsEq ​

unitsEq(a, b) ​

Return if the two numbers have the same unit. If either of the numbers if null return false.


meta ​

deffunc:unitsEq
isfunc
liblib:axon
nameunitsEq

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:upper ​

upper(val) ​

Convert a char number or str to ASCII upper case. Also see lower() and capitalize().

Examples:

upper("cat")      >> "CAT"
upper("Cat")      >> "CAT"
upper(97).toChar  >> "A"

meta ​

deffunc:upper
isfunc
liblib:axon
nameupper

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function


def ​

func:uriBasename ​

uriBasename(val) ​

Get the basename (last name in path without extension) of a Uri as a string.


meta ​

deffunc:uriBasename
isfunc
liblib:axon
nameuriBasename

supertypes ​

featureFeature namespace of definitions formatted as feature:name
funcAxon function