LoginSignup
0
0

Postman Flows FQL 関数リファレンス

Posted at

本記事は、FQL function reference の日本語訳です(2024年5月14日更新)。

本記事では、すべての Flows Query Language (FQL) 関数について説明します。

一般関数

assert

条件が false の場合、メッセージとともにエラーをスローします。

構文 $assert($cond: bool, $msg: string) => error
$assert(user.age <18, "error: user cannot vote!")

average

数値配列の平均値を返します。

構文 $average($array: array<num>) => number
$average([1,2,3,4,5]) -> 3

base64decode

Base64 エンコードされた文字列をデコードします。

構文 $base64decode($str: string) => string
$base64decode("c29tZSBkYXRhIGhlcmU=") -> "some data here"

base64encode

文字列を Base64 エンコードします。

構文 $base64encode($str: string) => string
$base64encode("some data here") -> "c29tZSBkYXRhIGhlcmU="

boolean

引数を有効な真偽値にキャストします。

構文 $boolean($arg: any) => bool
$boolean(0) -> false
$boolean(10) -> true
$boolean("") -> false
$boolean("abc") -> true

clone

オブジェクトを複製します。

構文 $clone($obj: object) => object
$clone({"a":1},{"b":2}) -> {"a":1},{"b":2}

contains

文字列がパターンを含む場合に true を返します。

構文 $contains($str: string, $pattern: string | regex) => bool
$contains("hello, world", "lo") -> true
$contains("hello world", "ab") -> false

decodeUrl

URL から文字列をデコードします。

構文 $decodeUrl($val: string) => string
$decodeUrl("https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B") -> "https://mozilla.org/?x=шеллы"

decodeUrlComponent

以前に encodeUrlComponent で作成されたコンポーネントから文字列をデコードします。

構文 $decodeUrlComponent($val: string) => string
$decodeUrlComponent("%3Fx%3Dtest") -> "?x=test"

each

オブジェクトの各キーと値のペアに関数を適用します。

構文 $each($obj: object, func: ($val, $key) : any)
"Address": {
"Street": "Hursley Park",
"City": "Winchester",
"Postcode": "SO21 2JN"
}
$each(Address, fn($v, $k) {$k & ": " & $v}) ->
[
"Street: Hursley Park",
"City: Winchester",
"Postcode: SO21 2JN"
]

encodeUrl

値を URL にエンコードします。

構文 $encodeUrl($val: string) => string
$encodeUrl("https://mozilla.org/?x=шеллы") -> "https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B"

encodeUrlComponent

値を URL のコンポーネントにエンコードします。

構文 $encodeUrlComponent($val: string) => string
$encodeUrlComponent("?x=test") -> "%3Fx%3Dtest"

eval

式を評価します。

構文 $eval($val:string) => any
$eval("[1,$string(2),3]") -> [1,"2",3]

exists

値が null または undefined でない場合に true を返します。

構文 $exists($val: any) => bool
$exists("hello") -> true
$exists([1,2,3]) -> true
$exists({"a" : 1, "b": 2}) -> true
$exists(null) -> false
$exists(blah) -> false

filter

関数で定義された条件を満たす要素の配列を返します。

構文 $filter($arr: array, $func: ($e, $index?: number, $ar?: array )=> bool) => array
$filter([1,2,3,4,5], fn($e){ $e>3}) -> [4, 5]

join

オプションの区切り文字列を使用して、配列の要素を文字列に結合します。

構文 $join($arr: array, $separator?: string) => string
$join(["hello", "world"]) -> "helloworld"
$join(["hello", "world"], "-") → "hello-world"
$join([1,2,3], "..") -> "1..2..3"

json

オブジェクトを JSON 文字列に変換します。

構文 $json($val:any) => string
$json({"a": 1, "b" : "hello"}) -> "{"a":1,"b":"hello"}"

jsonParse

JSON 文字列をオブジェクトにパースします。

構文 $jsonParse($val:string) => object
$jsonParse('{"one": 1, "two": [3, "four"]}') -> {"one": 1,"two": [ 3,"four"]}

keys

オブジェクトのキーの配列を返します。

構文 $keys($obj: object) => array
"Product": [
{
"Product Name": "Bowler Hat",
"ProductID": 858383,
"SKU": "0406654608",
"Description": {
"Colour": "Purple",
"Width": 300,
"Height": 200,
"Depth": 210,
"Weight": 0.75
},
"Price": 34.45,
"Quantity": 2
}
]
$keys(Product) -> ["Product Name","ProductID","SKU","Description","Price","Quantity"]

length

文字列の長さを返します。

構文 $length($str: string) => number
$length("abc") -> 3
$length("") -> 0

lookup

オブジェクトのキーの値を返します。

構文 $lookup($obj: object, $key: string) => any
($o := { "name" : "John", "email": "john@gmail.com"}; $lookup($o, "name")) -> "John"

lowercase

小文字の文字列を返します。

構文 $lowercase($str: string) => string
$lowercase("Hello World") -> "hello world"

map

関数を使用して配列の各要素をマップし、マップされたすべての要素を持つ新しい配列を返します。

構文 $map($arr: array, $func: ($e, $index?: number, $ar?: array) => any ) => array
$map([1,2,3,4,5], fn($e){ $e *2}) -> [2,4,6,8,10]

max

数値配列から最大値を返します。

構文 $max($array) => number
$max([9,2,17,3]) -> 17

match

パターンにマッチする文字列の配列を返します。

構文 $match($str: string, $pattern: string | regex) => array
$match("ababbabbbcc",/a(b+)/) -> ["ab", "abb", "abbb"]

merge

オブジェクトの配列に含まれる各オブジェクトのプロパティをマージした新しいオブジェクトを返します。

構文 $merge($arr: array) => object
$merge([{"a":1},{"b":2}]) -> {"a": 1,"b": 2}

not

値が false の場合は true を、そうでない場合は false を返します。

構文 $not($x: any) => bool
$not(true) -> false
$not(false) -> true
$not(null) -> true
$not(0) -> true
$not(100) -> false
$not("") -> true
$not("hello") -> false

pad

$pad(指定した場合)で特定の長さにパディングした文字列のコピーを返します。

構文 $pad($str: string, $length: number, $pad?: string) => string
$pad("example", 5) -> "example "
$pad("example", 5, "-") -> "example--"

partition

配列をサイズ $n の配列の配列に分割します。

構文 $partition($arr: array, $n: numbers) => array
$partition([1,2,3,4,5,6,7,8,9,10], 2) -> [[1,2], [3,4], [5,6], [7,8], [9,10]]
$partition([1,2,3,4,5,6,7,8,9,10], 3) -> [[1,2,3], [4,5,6], [7,8,9], [10]]

replace

パターンが出現する箇所をすべて置換文字列に置き換えた文字列を返します。

構文 $replace($str: string, $pattern: string | regex, $replacement: string) => string
$replace("Hello World", "World", "Everyone") -> "Hello Everyone"
$replace("the cat sat on the mat", "at", "it") -> "the cit sit on the mit"

reduce

関数を使用して、配列をある値に減らします。

構文 $reduce($arr: array, $func: ($prev: any, $cur: any) => any, $init?: any) => array
$reduce([1,2,3,4], fn($prev, $cur) { $prev*$cur}) ) -> 24

split

文字列を、パターンを使って文字列の配列に分割します。

構文 $split($str: string, $pattern: string | regex, $flags?: string) => array
$split("so many words", " ") -> [ "so", "many", "words" ]
$split("so many words", " ", 2) -> [ "so", "many" ]
$split("too much, punctuation. hard; to read", /[ ,.;]+/) -> ["too", "much", "punctuation", "hard", "to", "read"]

spread

キーと値のペアを1つずつ持つオブジェクトの配列を返します。キーはプロパティの名前、値はプロパティの値です。

構文 $spread($val: any) => array<object>
$spread({ "a": 1, "b": 2}) -> [ { "a" : 1}, {"b": 2}]

string

入力値の文字列表現を返します。$prettify が true の場合、出力文字列は読みやすくフォーマットされます。

構文 $string($value: any, $prettify?: bool) => string
$string({"a": 1, "b": 2}) -> "{"a":1, "b" : 2}"
$string(5) -> "5"
$string([1,2,3]) -> ["1", "2", "3"]

substring

\$start から始まる、(指定した場合)$length の長さの部分文字列を返します。

構文 $substring($str: string, $start: number, $length?: number) => string
$substring("hello world", 0, 5) -> "hello"
$substring("hello world", -5, 5) -> "world"

substringAfter

区切り文字が最初に現れた後の部分文字列を返します。

構文 $substringAfter($str: string, $separator: string) => string
$substringAfter("abc@gmail.com", "@") -> "gmail.com"

substringBefore

区切り文字が最初に現れる前の部分文字列を返します。

構文 $substringBefore($str: string, $separator: string) => string
$substringBefore( "john@gmail.com", "@") -> "john"

sum

数値配列の値の合計を返します。

構文 $sum($array) => number
$sum([1,2,3,4]) -> 10

trim

先頭と末尾の空白を除去した文字列のコピーを返します。

構文 $trim($str: string) => string
$trim(" Hello \n World ") -> "Hello World"

type

値の型を返します。

構文 $type($val: any) => string
$type("hello") -> "string"
$type(1) -> "number"
$type({}) -> "object"
$type([]) -> "array"
$type(null) -> "null"

uppercase

大文字の文字列を返します。

構文 $uppercase($str: string) => string
$uppercase("hello") -> "HELLO"

uuid

一意な ID(UUID バージョン4)を文字列で返します。

構文 $uuid => string
$uuid -> "503c5a9f-b8fb-402a-b0d7-fae17490bdf6"

配列関数

append

配列の末尾に値を追加した新しい配列を返します。

構文 $append($arr: array, $val: any) => array
$append([1,2,3], [5,6]) -> [1,2,3,4,5,6]
$append([1,2,3], 5) -> [1,2,3,5]

count

配列の要素数を返します。

構文 $count($array) => number
$count([1,2,3,4,5]) -> 5
$count([]) -> 0

distinct

$arr の要素から重複を取り除いた新しい配列を返します。

構文 $distinct($arr: array) => array
$distinct(["a", "b", "b", "c"]) -> ["a", "b", "c"]

reverse

配列の要素を逆順に並べた新しい配列を返します。

構文 $reverse($arr: array) => array
$reverse([1,2,3,4,5]) -> [5,4,3,2,1]

shuffle

配列の要素をランダムな順序で並べた新しい配列を返します。

構文 $shuffle($arr: array) => array
$shuffle([1,2,3,4]) -> [3,1,4,2]

sort

$swapFn 関数を使用して配列の要素をソートする高階関数です。比較関数は2つの引数を取ります。これが true を返した場合は、要素が入れ替わります。

構文 $sort($arr: array, $swapFn: ($l, $r) => bool) => bool
$sort([13,2,8,6,15], fn($l, $r) { $l > $r }) -> [2,6,8,13,15]
$sort([13,2,8,6,15], fn($l, $r) { $l < $r }) -> [15,13,8,6,2]

zip

2つ以上の配列を受け取り、配列の集合からそれぞれの値を畳み込み(zip)ます。

構文 $zip($ar1:array, $ar2:array, $ar3;array, ...) => array
$zip([1,2,3],[4,5,6]) -> [[1,4],[2,5],[3,6]]

数値関数

abs

数値の絶対値を返します。

構文 $abs($num: number) => number
$abs(-1) -> 1

acos

ラジアン単位の逆余弦を返します。結果は 0 から pi の間です。数値は -1 から 1 の間でなければなりません。

構文 $acos($num: number) => number
$acos(1) -> 0

acosh

ラジアン単位の逆双曲線余弦を返します。数値は 1 から inf の間の数値でなければなりません。結果は 0 から inf の間です。

構文 $acosh($num: number) => number
$acosh(1) -> 0

asin

ラジアン単位の逆正弦を返します。結果は -pi/2 から pi/2 の間です。数値は -1 から 1 の間でなければなりません。

構文 $asin($num: number) => number
$asin(1) -> 1.5707963267948966

asinh

ラジアン単位の逆双曲線正弦を返します。結果は -inf から inf の間です。

構文 $asinh($num: number) => number
$asinh(1) -> 1.5707963267948966

atan

ラジアン単位の逆正接を返します。結果は -pi/2 から pi/2 の間です。

構文 $atan($num: number) => number
$atan(1) -> 0.7853981633974483

atanh

ラジアン単位の逆双曲線正接を返します。数値は -1 から 1 の間の数値でなければなりません。結果は -inf から inf の間です。

構文 $atanh($num: number) => number
$atanh(1) -> inf

atan2

ラジアン単位の atan(y / x) を返します。結果は -pi と pi の間です。原点から点 (x, y) への平面上のベクトルは、正の X 軸に対してこの角度を作ります。両方の入力の符号がわかっているので、角度の正しい象限を計算することができます。例えば、atan(1) と atan2(1, 1) はどちらも pi/4 ですが、atan2(-1, -1) は -3*pi/4 です。

構文 $atan2($x: number, $y: number) => number
$atan2(-1, -1) -> -2.356194490192345

cbrt

数値の立方根を返します。

構文 $cbrt($num: number) => number
$cbrt(27) -> 3

ceil

指定された数値以上の整数のうち、最小の整数を返します。

構文 $ceil($num: number) => number
$ceil(3.4) -> 4

constant

指定された名前の定数値を返します。例: e、ln 2、log2 e、log10 e、pi、π。

構文 $constant($name: string ) => number
$constant('e') -> 2.718281828459045

cos

ラジアン単位の余弦を返します。

構文 $cos($num: number) => number
$cos(1) -> 0.5403023058681398

cosh

ラジアン単位の双曲線余弦を返します。

構文 $cosh($num: number) => number
$cosh(1) -> 1.5430806348152437

exp

e をべき乗した数値を返します。e = 2.718281... は自然対数の底です。

構文 $exp($num: number) => number
$exp(16) -> 8886110.520507872

floor

指定された数値以下の最大の整数を返します。

構文 $floor($num: number) => number
$floor(3.4) -> 3

formatBase

オプションの基数で数値を文字列に変換します。基数を指定しなかった場合は、基数 10 で文字列を作成します。

構文 $formatBase($num: number, $base?: number) => string
$formatBase(100, 2) -> "1100100"

isFinite

入力された値が無限大でなければ true を、そうでなければ false を返します。

構文 $isFinite( $num: number ) => number
$isFinite(1) -> true
$isFinite(inf) -> false

log

数値の自然対数を返します(底 e)。

構文 $log($num: number) => number
$log(16) -> 2.772588722239781

log10

数値の底 10 の対数を返します。

構文 $log10($num: number) => number
$log10(16) -> 1.2041199826559248

log2

数値の底 2 の対数を返します。

構文 $log2($num: number) => number
$log2(16) -> 4

number

値を数値に変換します。

構文 $number($x: string | number | bool) => number
$number("-0.05") -> -0.05
$number(false) -> 0
$number(true) -> 1

power

\$num を $exp のべき乗にしたものを返す。

構文 $power($num: number, $exp: number) => number
$power(2, 3) -> 8
$power(3,4) -> 81

random

0 から 1 までのランダムな数値を返します。

構文 $random() => number
$random() -> 0.5729762308974999

round

小数点以下の桁数をオプションの精度で数値を丸めます。精度が負の場合、その値は小数点の左側のどの桁に丸めるかを指定します。

構文 $round($num: number, $precision?: number) => number
$round(123.456) -> 123
$round(123.456, 2) -> 123.46
$round(123.456, -1) -> 120
$round(123.456, -2) -> 100
$round(125, -1) -> 120
$round(125.456,-1) -> 130

sin

ラジアン単位の正弦を返します。

構文 $sin($num: number) => number
$sin(1) -> 0.8414709848078965

sinh

ラジアン単位の双曲線正弦を返します。

構文 $sinh($num: number) => number
$sinh(1) -> 1.1752011936438014

sqrt

数値の平方根を返します。

構文 $sqrt($num: number) => number
$sqrt(16) -> 4

tan

ラジアン単位の正接を返します。

構文 $tan($num: number) => number
$tan(1) -> 1.5574077246549023

tanh

ラジアン単位の双曲線正接を返します。

構文 $tanh($num: number) => number
$tanh(1) -> 0.7615941559557649

日付・時刻関数

afterDate

\$timestamp1 が $timestamp2 の後である場合に true を返し、そうでない場合に false を返します。

構文 $afterDate($timestamp1: string |number, $timestamp2: string |number) => bool
$afterDate("2023-02-09", "2023-02-08") -> true
$afterDate("2023-02-08", "2023-02-08") -> false

beforeDate

\$timestamp1 が $timestamp2 の前である場合に true を返し、そうでない場合に false を返します。

構文 $beforeDate($timestamp1: string |number, $timestamp2: string |number) => bool
$beforeDate("2023-02-07", "2023-02-08") -> true
$beforeDate("2023-02-08", "2023-02-08") -> false

dateEquals

2つのタイムスタンプが同じであれば true を返し、そうでなければ false を返します。

構文 $dateEquals($timestamp1: string |number, $timestamp2: string |number) => bool
$dateEquals("2023-02-08", "2023-02-08") -> true
$dateEquals("2023-02-08", "2023-02-07") -> false

datePlus

\$units 単位の期間を \$timestamp に追加し、新しいタイムスタンプを返します。\$units は、["years", "months", "days", "hours", "minutes", "seconds", "milliseconds"] のいずれかとなります。$duration がゼロより小さい場合は、\$timestamp から差し引かれます。

構文 $datePlus($timestamp1: string |number, $duration: number, $units) => number
$datePlus("2023-02-07", 2, "days") -> 1675900800000
$datePlus("2023-02-07", 2, "months") -> 1680825600000

day

タイムスタンプから日を抽出し、数値として返します。

構文 $day($timestamp: string |number) => number
$day("2023-02-08") -> 8

dayOfTheWeek

曜日を数値 [1=月曜日, ... 6=土曜日, 7=日曜日] で返します。

構文 $dayOfTheWeek($timestamp: string |number) => number
$dayOftheWeek("2023-02-08") -> 3
$dayOftheWeek("2023-02-07") -> 2

diffDate

2つのタイムスタンプの差を、["years", "months", "days", "hours", "minutes", "seconds", "milliseconds"] のいずれかで指定された単位で返します。

構文 $diffDate($timestamp1: string |number, $timestamp2: string |number, $units : string) => number
$diffDate("2023-02-08", "2023-01-22", "days") -> 17
$diffDate("2023-02-08", "2023-01-22","hours") -> 408

fromMillis

エポックからのミリ秒数を文字列に変換します。$picture はオプションで、省略した場合のデフォルトは ISO 形式となります。ピクチャー仕様は、Unicode の日付書式標準に従います。

構文 $fromMillis($val:number, $picture?: string) => string
$fromMillis(1521801216617, "dd/M/yyyy") -> "23/3/2018"
$fromMillis(1522616700000, "E EEEE") -> "7 Sunday"

hasSameDate

2つのタイムスタンプの \$units で指定した構成要素が同じであれば true を、そうでなければ false を返します。$units は、["years", "months", "days", "hours", "minutes", "seconds", "milliseconds"] の中からひとつ以上の文字列を指定した配列となります。

構文 $hasSameDate($timestamp1: string |number, $timestamp2: string |number, units?: array) => bool
$hasSameDate("23-02-08", "2019-02-08", ["month", "day"]) -> true
$hasSameDate("2023-02-01", "2023-02-08", ["month", "year"]) -> true
$hasSameDate("23-02-01", "2023-02-08", ["month", "year"]) -> true
$hasSameDate("2023-02-01T07:15:54.730Z", "2023-02-01T14:00:22.340Z", ["year","month", "day"]) -> true

hours

タイムスタンプからローカルの時を抽出し、数値として返します。

構文 $hours($timestamp: string |number) => number
$hours("2023-02-08T07:56:14.747+00:00") -> 7

millis

現在の時刻をエポックからの Unix ミリ秒単位で返します。

構文 $millis() => number
$millis() -> 1667601477254

milliSeconds

タイムスタンプからミリ秒を抽出し、数値として返します。

構文 $milliSeconds($timestamp: string |number) => number
$milliSeconds("2023-02-08T07:56:14.747+00:00") -> 747

minutes

タイムスタンプから分を抽出し、数値として返します。

構文 $minutes($timestamp: string |number) => number
$minutes("2023-02-08T07:56:14.747+00:00") -> 56

month

タイムスタンプから月を抽出します。

構文 $month($timestamp: string |number) => number
$month("2023-02-08") -> 2

now

現在の時刻を ISO 8601 フォーマットで返します。

構文 $now() => string
$now() -> "2022-11-04T22:36:57.094Z"

seconds

タイムスタンプからローカルの秒を抽出し、数値として返します。

構文 $seconds($timestamp: string |number) => number
$seconds("2023-02-08T07:56:14.747+00:00") -> 14

toMillis

文字列をエポックからのミリ秒数に変換します。$picture はオプションで、省略した場合のデフォルトは ISO 形式となります。ピクチャー仕様は Unicode の日付書式標準に従います。

構文 $toMillis($val:string, $picture?: string) => number
$toMillis("1970-01-01T00:00:00.001Z") -> 1
$toMillis("2018-03-27", "yyyy-MM-dd") -> 1522108800000
$toMillis("21 August 2017", "dd MMMM yyyy") -> 1503273600000

year

タイムスタンプから年を抽出し、数値として返します。

構文 $year($timestamp: string |number) => number
$year("2023-02-08T07:56:14.747+00:00") -> 2023
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0