API Inti
API ini berfungsi bersama JavaScript dengan sandbox untuk membuat template kustom di Google Tag Manager. Setiap API ditambahkan dengan pernyataan require()
, misalnya:
const myAPI = require('myAPI');
addConsentListener
Mendaftarkan fungsi pemroses untuk dieksekusi saat status jenis izin yang ditentukan berubah.
Pemroses yang diberikan akan dipanggil setiap kali status untuk jenis izin yang ditentukan berubah dari ditolak menjadi diberikan atau dari diberikan menjadi ditolak. Jenis izin tanpa status dianggap diberikan, sehingga pemroses tidak akan dipanggil jika jenis izin yang tidak ditetapkan diperbarui menjadi diberikan. Fungsi pemroses akan bertanggung jawab untuk memastikan kodenya berjalan dengan frekuensi yang sesuai.
Contoh:
const isConsentGranted = require('isConsentGranted');
const addConsentListener = require('addConsentListener');
if (!isConsentGranted('ad_storage')) {
let wasCalled = false;
addConsentListener('ad_storage', (consentType, granted) => {
if (wasCalled) return;
wasCalled = true;
const cookies = getMyCookies();
sendFullPixel(cookies);
});
}
Sintaksis
addConsentListener(consentType, listener)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
consentType |
string | Jenis izin untuk memproses perubahan status. |
listener |
fungsi | Fungsi yang akan dijalankan saat status jenis izin yang ditentukan berubah. |
Saat pemroses dipanggil, jenis izin yang diubah dan nilai yang baru dari jenis izin tersebut akan diteruskan:
Parameter | Jenis | Deskripsi |
---|---|---|
consentType |
string | Jenis izin yang diubah. |
granted |
boolean | Boolean yang bernilai true (benar) jika jenis izin yang ditentukan diubah menjadi diberikan. |
Izin terkait
Izin access_consent
dengan akses baca untuk jenis izin.
addEventCallback
API addEventCallback
memungkinkan Anda mendaftarkan fungsi callback yang akan dipanggil di akhir peristiwa. Callback akan dipanggil saat semua tag untuk peristiwa telah dieksekusi, atau jika waktu tunggu peristiwa dalam halaman tercapai.
Callback mendapatkan dua nilai, ID penampung yang memanggil fungsi dan objek yang berisi informasi tentang peristiwa.
Sintaksis
addEventCallback(callback)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
callback |
fungsi | Fungsi yang akan dipanggil di akhir peristiwa. |
Objek eventData
berisi data berikut:
Nama Kunci | Jenis | Deskripsi |
---|---|---|
tags |
Array | Array objek data tag. Setiap tag yang diaktifkan selama peristiwa akan memiliki entri dalam array ini. Objek data tag berisi
ID tag (id ), status eksekusinya
(status ), dan waktu eksekusinya
(executionTime ). Data tag juga akan menyertakan metadata tag tambahan yang dikonfigurasi di tag. |
Contoh
addEventCallback(function(ctid, eventData) {
logToConsole('Tag count for container ' + ctid + ': ' + eventData['tags'].length);
});
Izin terkait
aliasInWindow
API aliasInWindow
memungkinkan Anda membuat alias (misalnya, window.foo =
window.bar
), yang membantu mendukung tag tertentu yang memerlukan alias. Menetapkan nilai dalam objek window
yang ditemukan di fromPath
ke kunci dalam objek window
di toPath
. Menampilkan true
jika berhasil, false
jika tidak.
Sintaksis
aliasInWindow(toPath, fromPath)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
toPath |
string | Jalur yang dipisahkan titik menuju objek window tempat nilai akan disalin. Semua komponen dalam jalur hingga komponen terakhir harus sudah ada dalam objek window . |
fromPath |
string | Jalur yang dipisahkan titik menuju window ke nilai yang akan disalin. Jika nilainya tidak ada, operasi akan gagal. |
Contoh
aliasInWindow('foo.bar', 'baz.qux')
Izin terkait
access_globals
diperlukan untuk toPath
dan fromPath
; toPath
memerlukan akses tulis, fromPath
memerlukan akses baca.
callInWindow
Memungkinkan Anda memanggil fungsi dari jalur di luar objek window
, dengan cara yang dikontrol kebijakan. Memanggil fungsi di jalur yang diberikan di window
dengan argumen yang diberikan dan menampilkan nilainya. Jika jenis nilai yang ditampilkan tidak dapat dipetakan langsung ke jenis yang didukung di JavaScript dengan sandbox, undefined
akan ditampilkan. Delapan jenis nilai yang didukung dalam JavaScript dengan sandbox adalah null
, undefined
, boolean
, number
, string
, Array
, Object
, dan function
. Jika jalur yang diberikan tidak ada, atau tidak mereferensikan sebuah fungsi, undefined
akan ditampilkan.
Sintaksis
callInWindow(pathToFunction, argument [, argument2,... argumentN])
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
pathToFunction |
string | Jalur yang dipisahkan titik ke fungsi di window untuk memanggil. |
args |
* | Argumen yang akan diteruskan ke fungsi. |
Izin terkait
access_globals
dengan izin execute
diaktifkan.
callLater
Menjadwalkan panggilan ke fungsi agar terjadi secara asinkron. Fungsi ini akan dipanggil setelah kode saat ini kembali. Ini setara dengan
setTimeout(<function>, 0)
.
Sintaksis
callLater(function)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
function |
fungsi | Fungsi yang akan dipanggil. |
copyFromDataLayer
Menampilkan nilai yang saat ini ditetapkan ke kunci yang diberikan dalam lapisan data: Nilai yang ditemukan pada kunci yang diberikan jika berupa jenis primitif, fungsi, atau objek literal, atau undefined
.
Sintaksis
copyFromDataLayer(key[, dataLayerVersion])
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
key |
string | Kunci dalam format "a.b.c". |
dataLayerVersion |
angka | Versi lapisan data opsional. Nilai defaultnya adalah 2. Sangat tidak dianjurkan untuk menggunakan nilai 1. |
Izin terkait
copyFromWindow
Menyalin variabel dari objek window
. Jika nilai dalam window
tidak dapat dipetakan secara langsung ke jenis yang didukung dalam JavaScript dengan sandbox, undefined
akan ditampilkan. Delapan jenis yang didukung dalam JavaScript dengan sandbox adalah null
,undefined
, boolean
, number
, string
, Array
, Object
, dan function
.
Menampilkan nilai yang diambil (dan dikonversi).
Sintaksis
copyFromWindow(key)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
key |
string | Kunci di window untuk menyalin nilai. |
Izin terkait
createArgumentsQueue
Membuat antrean yang diisi dengan objek argumen, untuk mendukung solusi tag yang memerlukannya.
Membuat fungsi dalam cakupan global (yaitu window
), menggunakan argumen fnKey
(semantik yang sama dengan createQueue
). Setelah fungsi dibuat, API ini kemudian akan membuat array di window
(jika belum ada) menggunakan argumen arrayKey
.
Saat fungsi yang dibuat pada fnKey
dipanggil, objek argumennya akan didorong ke array yang dibuat pada arrayKey
. Nilai yang ditampilkan API adalah fungsi yang dibuat pada fnKey
.
Fungsi ini memerlukan setelan baca dan tulis untuk fnKey
dan arrayKey
pada izin access_globals
.
Contoh:
const gtag = createArgumentsQueue('gtag', 'dataLayer');
gtag('set', {'currency': 'USD'});
Sintaksis
createArgumentsQueue(fnKey, arrayKey)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
fnKey |
string | Jalur di window tempat fungsi ditetapkan, jika belum ada. Argumen ini mendukung notasi titik standar. Jika jalur kunci tidak ada, parameter akan melempar pengecualian. Artinya, jika fnKey adalah 'one.two' , pengecualian akan dilemparkan. |
arrayKey |
string | Jalur di window tempat array ditetapkan, jika belum
ada. Argumen ini mendukung notasi titik standar. Jika jalur kunci tidak ada, parameter akan melempar pengecualian. Artinya, jika arrayKey adalah 'one.two' , dan tidak ada objek global bernama 'one' , parameter akan melempar pengecualian. |
Izin terkait
createQueue
Membuat array dalam window
(jika belum ada) dan menampilkan fungsi yang akan mengirim nilai ke array tersebut.
Fungsi ini memerlukan setelan baca dan tulis untuk arrayKey
pada izin access_globals
.
Contoh:
const dataLayerPush = createQueue('dataLayer');
dataLayerPush({'currency': 'USD'}, {'event': 'myConversion'});
Sintaksis
createQueue(arrayKey)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
arrayKey |
string | Kunci di window tempat array ditetapkan, jika belum ada. Argumen ini mendukung notasi titik standar. Jika jalur kunci tidak ada, parameter akan melempar pengecualian. Misalnya, jika arrayKey adalah 'one.two' , dan tidak ada objek global bernama 'one' , parameter akan melempar pengecualian. |
Izin terkait
decodeUri
Mendekode karakter apa pun yang dienkode dalam URI yang disediakan. Menampilkan string yang mewakili URI yang didekode. Menampilkan undefined
jika disediakan dengan input yang tidak valid.
Contoh:
const decode = require('decodeUri');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
Sintaksis
decodeUri(encoded_uri)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
encoded_uri |
string | URI yang telah dienkode oleh
encodeUri()
atau dengan cara lain. |
Izin terkait
Tidak ada.
decodeUriComponent
Mendekode karakter apa pun yang dienkode dalam komponen URI yang disediakan. Menampilkan
string yang mewakili komponen URI yang didekode. Menampilkan undefined
jika disediakan dengan input yang tidak valid.
Contoh:
const decode = require('decodeUriComponent');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
Sintaksis
decodeUriComponent(encoded_uri_component)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
encoded_uri_component |
string | Komponen URI yang telah dienkode oleh
encodeUriComponent()
atau dengan cara lain. |
Izin terkait
Tidak ada.
encodeUri
Menampilkan Uniform Resource Identifier (URI) yang dienkode dengan meng-escape karakter khusus. Menampilkan string yang mewakili string yang disediakan yang dienkode sebagai URI.
Contoh:
sendPixel('https://www.example.com/' + encodeUri(pathInput));
Sintaksis
encodeUri(uri)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
uri |
string | URI lengkap. |
Izin terkait
Tidak ada.
encodeUriComponent
Menampilkan Uniform Resource Identifier (URI) yang dienkode dengan meng-escape karakter khusus. Menampilkan string yang mewakili string yang disediakan yang dienkode sebagai URI.
Contoh:
sendPixel('https://www.example.com/?' + encodeUriComponent(queryInput));
Sintaksis
encodeUriComponent(str)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
str |
string | Komponen URI. |
Izin terkait
Tidak ada.
fromBase64
API fromBase64
memungkinkan Anda mendekode string dari representasi base64. Menampilkan undefined
jika disediakan dengan input yang tidak valid.
Sintaksis
fromBase64(base64EncodedString)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
base64EncodedString |
string | String berenkode base64. |
Contoh
const fromBase64 = require('fromBase64');
const greeting = fromBase64('aGVsbG8=');
if (greeting === 'hello') {
// ...
}
Izin terkait
Tidak ada
generateRandom
Menampilkan angka (bilangan bulat) acak dalam rentang yang diberikan.
Sintaksis
generateRandom(min, max)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
min |
angka | Nilai potensial minimum bilangan bulat yang ditampilkan. |
max |
angka | Nilai potensial maksimum bilangan bulat yang ditampilkan. |
Izin terkait
Tidak ada.
getContainerVersion
Menampilkan objek yang berisi data tentang penampung saat ini. Objek yang ditampilkan akan memiliki kolom berikut:
{
containerId: string,
debugMode: boolean,
environmentName: string,
environmentMode: boolean,
previewMode: boolean,
version: string,
}
Contoh
const getContainerVersion = require('getContainerVersion');
const sendPixel = require('sendPixel');
if (query('read_container_data')) {
const cv = getContainerVersion();
const pixelUrl = 'https://pixel.com/' +
'?version=' + cv.version +
'&envName=' + cv.environmentName +
'&ctid=' + cv.containerId +
'&debugMode=' + cv.debugMode +
'&previewMode=' + cv.previewMode;
if (query('send_pixel', pixelUrl)) {
sendPixel(pixelUrl);
}
}
Sintaksis
getContainerVersion();
Izin terkait
getCookieValues
Menampilkan nilai semua cookie dengan nama yang diberikan.
Sintaksis
getCookieValues(name[, decode])
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
name |
string | Nama cookie. |
decode |
boolean | Mengontrol apakah nilai cookie didekode dengan
decodeURIComponent() JavaScript. Nilai defaultnya adalah
true . |
Izin terkait
getQueryParameters
Menampilkan bagian pertama atau seluruh parameter untuk queryKey
URL saat ini.
Menampilkan nilai pertama dari queryKey
atau Array nilai dari
queryKey
.
Sintaksis
getQueryParameters(queryKey[, retrieveAll])
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
queryKey |
string | Kunci untuk membaca dari parameter kueri. |
retrieveAll |
boolean | Apakah akan mengambil semua nilai. |
Misalnya, jika URL saat ini adalah
https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
, maka:
getQueryParameters('var') == 'foo'
getQueryParameters('var', false) == 'foo'
getQueryParameters('var', null) == 'foo'
getQueryParameters('var', true) == ['foo', 'foo2', 'foo']
Izin terkait
get_url
harus mengizinkan komponen query
, dan harus menentukan queryKey
dalam
kunci kueri yang diizinkan (atau mengizinkan kunci kueri mana pun.)
getReferrerQueryParameters
API getReferrerQueryParameters
bertindak dengan cara yang sama seperti getQueryParameters
,
tetapi bertindak pada perujuk, bukan URL saat ini. Menampilkan bagian pertama atau seluruh parameter untuk queryKey
perujuk yang diberikan. Menampilkan nilai
pertama dari queryKey
atau Array nilai dari queryKey
.
Sintaksis
getReferrerQueryParameters(queryKey[, retrieveAll])
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
queryKey |
string | Kunci untuk membaca dari parameter kueri. |
retrieveAll |
boolean | Apakah akan mengambil semua nilai. |
Misalnya, jika URL perujuk adalah
https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
, maka:
getReferrerQueryParameters('var') == 'foo'
getReferrerQueryParameters('var', false) == 'foo'
getReferrerQueryParameters('var', null) == 'foo'
getReferrerQueryParameters('var', true) == ['foo', 'foo2', 'foo']
Izin terkait
get_referrer
harus mengizinkan komponen query
, dan harus menentukan queryKey
dalam kunci kueri yang diizinkan (atau mengizinkan kunci kueri mana pun.)
getReferrerUrl
Dengan mempertimbangkan jenis komponen, API membaca objek dokumen untuk perujuk dan menampilkan string yang mewakili sebagian perujuk. Jika tidak ada komponen yang ditentukan, URL perujuk lengkap akan ditampilkan.
Sintaksis
getReferrerUrl([component])
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
component |
string | Komponen yang akan ditampilkan dari URL. Dapat berupa salah satu dari hal berikut:
protocol , host , port ,
path , query , extension . Jika
component adalah undefined , null , atau tidak cocok dengan salah satu komponen ini, seluruh URL akan ditampilkan. |
Izin terkait
get_referrer
harus mengizinkan komponen query
, dan harus menentukan queryKey
dalam kunci kueri yang diizinkan (atau mengizinkan kunci kueri mana pun.)
getTimestamp
Tidak digunakan lagi. Pilih getTimestampMillis.
Menampilkan angka yang mewakili waktu saat ini dalam milidetik sejak epoch Unix, seperti yang ditampilkan oleh Date.now()
.
Sintaksis
getTimestamp();
Izin terkait
Tidak ada.
getTimestampMillis
Menampilkan angka yang mewakili waktu saat ini dalam milidetik sejak epoch Unix, seperti yang ditampilkan oleh Date.now()
.
Sintaksis
getTimestampMillis();
Izin terkait
Tidak ada.
getType
Menampilkan string yang mendeskripsikan jenis nilai yang diberikan. Tidak seperti typeof
,
getType
membedakan antara array
dan object
.
Sintaksis
getType(data.someField)
Catatan
Tabel berikut mencantumkan string yang ditampilkan untuk setiap nilai input.
Nilai Masukan | Hasil |
---|---|
undefined |
'undefined' |
null |
'null' |
true |
'boolean' |
12 |
'number' |
'string' |
'string' |
{ a: 3 } |
'object' |
[ 1, 3 ] |
'array' |
(x) => x + 1 |
'function' |
Izin terkait
Tidak ada.
getUrl
Menampilkan string yang mewakili semua atau sebagian dari URL saat ini, yang diberikan jenis komponen, dan beberapa parameter konfigurasi.
Sintaksis
getUrl(component)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
component |
string | Komponen yang akan ditampilkan dari URL. Harus berupa salah satu dari:
protocol , host , port ,
path , query , extension ,
fragment . Jika komponennya adalah undefined , null , atau tidak cocok dengan salah satu komponen ini, seluruh nilai href akan ditampilkan. |
Izin terkait
injectHiddenIframe
Menambahkan iframe tak terlihat ke halaman.
Callback diberikan sebagai instance fungsi, dan digabungkan dalam fungsi JavaScript yang memanggilnya.
Sintaksis
injectHiddenIframe(url, onSuccess)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
url |
string | URL yang akan digunakan sebagai nilai atribut src iframe. |
onSuccess |
fungsi | Dipanggil saat frame berhasil dimuat. |
Izin terkait
injectScript
Menambahkan tag skrip ke halaman untuk memuat URL yang diberikan secara asinkron. Callback diberikan sebagai instance fungsi, dan digabungkan dalam fungsi JavaScript yang memanggilnya.
Sintaksis
injectScript(url, onSuccess, onFailure[, cacheToken])
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
url |
string | Alamat skrip yang akan dimasukkan. |
onSuccess |
fungsi | Dipanggil saat skrip berhasil dimuat. |
onFailure |
fungsi | Dipanggil saat skrip gagal dimuat. |
cacheToken |
string | String opsional yang digunakan untuk menunjukkan URL yang diberikan harus disimpan dalam cache. Jika nilai ini ditentukan, hanya satu elemen skrip yang akan dibuat untuk meminta JavaScript. Setiap upaya tambahan untuk memuat akan menyebabkan metode onSuccess dan onFailure yang diberikan dimasukkan ke dalam antrean sampai skrip dimuat. |
Izin terkait
isConsentGranted
Menampilkan true (benar) jika jenis izin yang ditentukan diberikan.
Izin untuk jenis izin tertentu dianggap diberikan jika jenis izin telah ditetapkan ke 'granted' (diberikan) atau tidak ditetapkan sama sekali. Jika ditetapkan ke nilai lain, jenis izin akan dianggap tidak diberikan.
Antarmuka pengguna Tag Manager untuk setelan tag akan menawarkan opsi untuk selalu diaktifkan. Jika tag dengan pemicu selalu diaktifkan menggunakan API ini, izin dianggap diberikan dan true
akan ditampilkan, terlepas dari status izin yang sebenarnya.
Contoh:
const isConsentGranted = require('isConsentGranted');
if (isConsentGranted('ad_storage')) {
sendFullPixel();
} else {
sendPixelWithoutCookies();
}
Sintaksis
isConsentGranted(consentType)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
consentType |
string | Jenis izin untuk memeriksa status. |
Izin terkait
Izin access_consent
dengan akses baca untuk jenis izin.
JSON
Menampilkan objek yang menyediakan fungsi JSON.
Fungsi parse()
akan mengurai string JSON untuk membuat nilai atau objek yang dijelaskan oleh string. Jika nilai tidak dapat diuraikan (misalnya, format JSON salah), fungsi akan menampilkan undefined
. Jika nilai input bukan berupa string, input tersebut akan dikonversi menjadi string.
Fungsi stringify()
mengonversi input menjadi string JSON. Jika nilai tidak dapat diuraikan (misalnya, objek memiliki siklus), metode akan menampilkan undefined
.
Sintaksis
JSON.parse(stringInput)
JSON.stringify(value);
Parameter
JSON.parse
Parameter | Jenis | Deskripsi |
---|---|---|
stringInput | apa pun | Nilai yang akan dikonversi. Jika nilai bukan berupa string, input tersebut akan dikonversi menjadi string. |
JSON.stringify
Parameter | Jenis | Deskripsi |
---|---|---|
value | apa pun | Nilai yang akan dikonversi. |
Contoh
const JSON = require('JSON');
// The JSON input string is converted to an object.
const object = JSON.parse('{"foo":"bar"}');
// The input object is converted to a JSON string.
const str = JSON.stringify({foo: 'bar'});
localStorage
Menampilkan objek dengan metode untuk mengakses penyimpanan lokal.
Sintaksis
const localStorage = require('localStorage');
// Requires read access for the key. Returns null if the key does not exist.
localStorage.getItem(key);
// Requires write access for the key. Returns true if successful.
localStorage.setItem(key, value);
// Requires write access for the key.
localStorage.removeItem(key);
Izin terkait
Contoh
const localStorage = require('localStorage');
if (localStorage) {
const value = localStorage.getItem('my_key');
if (value) {
const success = localStorage.setItem('my_key', 'new_value');
if (success) {
localStorage.removeItem('my_key');
}
}
}
logToConsole
Mencatat argumen ke konsol browser.
Sintaksis
logToConsole(obj1 [, obj2,... objN])
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
obj1 [, obj2,... objN] |
apa pun | Argumen |
Izin terkait
makeInteger
Mengonversi nilai yang diberikan ke angka (bilangan bulat).
Sintaksis
makeInteger(value)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
value |
apa pun | Nilai yang akan dikonversi. |
Izin terkait
Tidak ada.
makeNumber
Mengonversi nilai yang diberikan ke angka.
Sintaksis
makeNumber(value)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
value |
apa pun | Nilai yang akan dikonversi. |
Izin terkait
Tidak ada.
makeString
Menampilkan nilai yang diberikan sebagai string.
Sintaksis
makeString(value)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
value |
apa pun | Nilai yang akan dikonversi. |
Izin terkait
Tidak ada.
makeTableMap
Mengonversi objek tabel sederhana dengan dua kolom menjadi Map
. API ini digunakan untuk mengubah kolom template SIMPLE_TABLE
dengan dua kolom menjadi format yang lebih mudah dikelola.
Misalnya, fungsi ini dapat mengonversi objek tabel:
[
{'key': 'k1', 'value': 'v1'},
{'key': 'k2', 'value': 'v2'}
]
menjadi Peta:
{
'k1': 'v1',
'k2': 'v2'
}
Menampilkan Object: Map
yang dikonversi jika pasangan nilai kunci telah ditambahkan ke sini atau null
.
Sintaksis
makeTableMap(tableObj, keyColumnName, valueColumnName)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
tableObj |
Daftar | Objek tabel yang akan dikonversi. Ini adalah daftar peta dengan setiap Map mewakili baris dalam tabel. Setiap nama properti dalam objek baris adalah nama kolom, dan nilai properti adalah nilai kolom dalam baris. |
keyColumnName |
string | Nama kolom yang nilainya akan menjadi kunci dalam Map yang dikonversi. |
valueColumnName |
string | Nama kolom yang nilainya akan menjadi nilai dalam Map yang dikonversi. |
Izin terkait
Tidak ada.
Math
Objek yang menyediakan fungsi Math
.
Sintaksis
const Math = require('Math');
// Retrieve the absolute value.
const absolute = Math.abs(-3);
// Round the input down to the nearest integer.
const roundedDown = Math.floor(3.6);
// Round the input up to the nearest integer.
const roundedUp = Math.ceil(2.2);
// Round the input to the nearest integer.
const rounded = Math.round(3.1);
// Return the largest argument.
const biggest = Math.max(1, 3);
// Return the smallest argument.
const smallest = Math.min(3, 5);
// Return the first argument raised to the power of the second argument.
const powerful = Math.pow(3, 1);
// Return the square root of the argument.
const unsquared = Math.sqrt(9);
Parameter
Parameter fungsi matematika dikonversi menjadi angka.
Izin terkait
Tidak ada.
Object
Menampilkan objek yang menyediakan metode Object
.
Metode keys()
memberikan perilaku Object.keys()
Library Standar. Metode ini menampilkan array dari nama properti yang dapat dihitung milik objek tertentu dalam urutan yang sama seperti pada loop for...in...
. Jika nilai input bukan objek, nilai tersebut akan dikonversi menjadi objek.
Metode values()
memberikan perilaku Object.values()
Library Standar. Metode ini menampilkan array nilai properti yang dapat dihitung milik objek tertentu dalam urutan yang sama seperti pada loop for...in...
. Jika nilai input bukan objek, nilai tersebut akan dikonversi menjadi objek.
Metode entries()
memberikan perilaku Object.entries() Library Standar. Metode ini menampilkan array pasangan [key, value]
properti yang dapat dihitung milik objek tertentu dalam urutan yang sama seperti pada loop for...in...
. Jika nilai input bukan objek, nilai tersebut akan dikonversi menjadi objek.
Metode freeze()
memberikan perilaku Object.freeze() Library Standar. Objek beku tidak dapat diubah lagi; pembekuan objek akan mencegah penambahan properti baru ke dalamnya, penghapusan properti yang ada, dan pengubahan nilai properti yang ada. freeze()
menampilkan objek yang sama yang diteruskan. Argumen primitif atau null akan diperlakukan seolah-olah merupakan objek yang dibekukan, dan akan ditampilkan.
Metode delete()
memberikan perilaku delete operator
Library Standar. Metode ini akan menghapus kunci yang diberikan dari objek kecuali objek dibekukan.
Seperti delete operator Library Standar, metode ini akan menampilkan true
jika nilai input pertama (objectInput
) adalah objek yang tidak dibekukan meskipun nilai input kedua (keyToDelete
) menentukan kunci yang tidak ada. Metode ini akan menampilkan false
dalam semua kasus lainnya. Namun ada perbedaan dengan delete operator Library Standar dalam hal berikut:
keyToDelete
tidak boleh berupa string yang dipisahkan titik yang menentukan kunci tersarang.delete()
tidak boleh digunakan untuk menghapus elemen dari array.delete()
tidak boleh digunakan untuk menghapus properti dari cakupan global.
Sintaksis
Object.keys(objectInput)
Object.values(objectInput)
Object.entries(objectInput)
Object.freeze(objectInput)
Object.delete(objectInput, keyToDelete)
Parameter
Object.keys
Parameter | Jenis | Deskripsi |
---|---|---|
objectInput | apa pun | Objek yang kuncinya akan dihitung. Jika bukan objek, input akan dikonversi menjadi sebuah objek. |
Object.values
Parameter | Jenis | Deskripsi |
---|---|---|
objectInput | apa pun | Objek yang nilainya akan dihitung. Jika bukan objek, input akan dikonversi menjadi sebuah objek. |
Object.entries
Parameter | Jenis | Deskripsi |
---|---|---|
objectInput | apa pun | Objek yang pasangan nilai kuncinya akan dihitung. Jika bukan objek, input akan dikonversi menjadi sebuah objek. |
Object.freeze
Parameter | Jenis | Deskripsi |
---|---|---|
objectInput | apa pun | Objek yang akan dibekukan. Jika bukan objek, input akan diperlakukan sebagai objek beku. |
Object.delete
Parameter | Jenis | Deskripsi |
---|---|---|
objectInput | apa pun | Objek yang kuncinya akan dihapus. |
keyToDelete | string | Kunci level atas yang akan dihapus. |
Contoh
const Object = require('Object');
// The keys of an object are enumerated in an array.
const keys = Object.keys({foo: 'bar'});
// The values of an object are enumerated in an array.
const values = Object.values({foo: 'bar'});
// The key/value pairs of an object are enumerated in an array.
const entries = Object.entries({foo: 'bar'});
// The input object is frozen.
const frozen = Object.freeze({foo: 'bar'});
// The key is removed from the input object.
const obj1 = {deleteme: 'value'};
Object.delete(obj1, 'deleteme');
// Only a top-level key can be specified as the key to delete.
const obj2 = {nested: {key: 'value'}};
Object.delete(obj2, 'nested.key'); // This has no effect.
Object.delete(obj2.nested, 'key'); // This deletes the nested key.
parseUrl
Menampilkan objek yang berisi semua bagian komponen URL tertentu, mirip dengan objek URL
.
API ini akan menampilkan undefined
untuk URL dengan format yang salah. Untuk URL yang diformat dengan benar, kolom yang tidak ada dalam string URL akan memiliki nilai string kosong, atau objek kosong untuk searchParams
.
Objek yang ditampilkan akan memiliki kolom berikut:
{
href: string,
origin: string,
protocol: string,
username: string,
password: string,
host: string,
hostname: string,
port: string,
pathname: string,
search: string,
searchParams: Object<string, (string|Array)>,
hash: string,
}
Contoh
const parseUrl = require('parseUrl');
const urlObject = parseUrl('https://abc:xyz@example.com:8080/foo?param=val%2Cue#bar');
Sintaksis
parseUrl(url);
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
url |
string | URL lengkap yang akan diuraikan. |
Izin terkait
Tidak ada.
queryPermission
Mengkueri izin yang diperbolehkan dan dipersempit. Menampilkan boolean: true
jika
izin diberikan, false
jika tidak.
Sintaksis
queryPermission(permission, functionArgs*)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
permission |
string | Nama izin. |
functionArgs |
apa pun | Argumen fungsi bervariasi berdasarkan izin yang sedang dikueri. Lihat Argumen Fungsi di bawah. |
Argumen Fungsi
sendPixel
, injectScript
, injectHiddenIframe
: Parameter kedua
harus berupa string URL.
writeGlobals
, readGlobals
: Parameter kedua harus berupa kunci yang ditulis atau dibaca.
readUrl
: Tidak ada argumen tambahan yang diperlukan untuk mengkueri apakah seluruh URL dapat dibaca atau tidak. Untuk mengkueri apakah komponen tertentu dapat dibaca, teruskan
nama komponen sebagai argumen kedua:
if (queryPermission('readUrl','port')) {
// read the port
}
Untuk memeriksa apakah kunci kueri tertentu dapat dibaca, teruskan kunci kueri sebagai parameter ketiga:
if (queryPermission('readUrl','query','key')) {
getUrlComponent(...);
}
Izin terkait
Tidak ada.
readCharacterSet
Menampilkan nilai document.characterSet
.
Sintaksis
readCharacterSet()
Parameter
Tidak ada.
Izin terkait
readTitle
Menampilkan nilai document.title
.
Sintaksis
readTitle()
Parameter
Tidak ada.
Izin terkait
require
Mengimpor fungsi bawaan berdasarkan nama. Menampilkan function atau object yang dapat dipanggil dari program Anda. Menampilkan undefined saat browser tidak mendukung fungsi bawaan.
Sintaksis
require(name)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
name |
string | Nama fungsi yang akan diimpor. |
Contoh
const getUrl = require('getUrl');
const url = getUrl();
Izin terkait
Tidak ada.
sendPixel
Membuat permintaan GET ke endpoint URL yang ditentukan.
Sintaksis
sendPixel(url, onSuccess, onFailure)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
url |
string | Tujuan pengiriman piksel. |
onSuccess |
fungsi | Dipanggil saat piksel berhasil dimuat. Catatan: meskipun permintaan berhasil dikirim, browser mungkin memerlukan respons gambar yang valid agar dapat menjalankan onSuccess. |
onFailure |
fungsi | Dipanggil saat piksel gagal dimuat. Catatan: meskipun permintaan berhasil dikirim, onFailure dapat berjalan jika server tidak menampilkan respons gambar yang valid. |
Izin terkait
setCookie
Menetapkan atau menghapus cookie dengan nama, nilai, dan opsi yang ditentukan.
Sintaksis
setCookie(name, value[, options, encode])
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
name |
string | Nama cookie. |
value |
string | Nilai cookie. |
options |
objek | Menentukan atribut Domain, Path, Expires, Max-Age, Secure, dan SameSite. (Lihat Opsi, di bawah.) |
encode |
boolean | Mengontrol apakah nilai cookie dienkode dengan encodeURIComponent() JavaScript.
Nilai defaultnya adalah true . |
- Domain: ditetapkan oleh properti
options['domain']
, jika ada. Tetapkan nilai ini ke'auto'
untuk mencoba menulis cookie menggunakan domain seluas mungkin, berdasarkan lokasi dokumen. Jika gagal, opsi ini akan mencoba subdomain yang lebih sempit secara berurutan. Jika semua upaya di atas tidak berhasil, cookie akan dicoba untuk ditulis tanpa domain. Jika nilai tidak ditetapkan, opsi ini akan mencoba menulis cookie tanpa domain yang ditentukan. Catatan: saat cookie tanpa domain yang ditentukan ditulis kedocument.cookie
, agen pengguna akan menetapkan domain cookie secara default ke host lokasi dokumen saat ini. - Path: ditetapkan oleh
options['path']
, jika ada. Jika cookie tanpa jalur yang ditentukan ditulis kedocument.cookie
, agen pengguna akan menetapkan jalur cookie secara default ke jalur lokasi dokumen saat ini. - Max-Age: ditetapkan oleh
options['max-age']
, jika ada. - Expires: ditetapkan oleh
options['expires']
, jika ada. Jika ada, string ini harus berupa string tanggal berformat UTC.Date.toUTCString()
dapat digunakan untuk memformatDate
untuk parameter ini. - Secure: ditetapkan oleh
options['secure']
, jika ada. - SameSite: ditetapkan oleh
options['samesite']
, jika ada.
Izin terkait
setDefaultConsentState
Mengirim pembaruan izin default ke lapisan data, untuk diproses sesegera mungkin setelah peristiwa saat ini dan semua tag yang dipicu sudah selesai diproses (atau waktu tunggu pemrosesan tag tercapai). Pembaruan dijamin akan diproses dalam penampung ini sebelum item dalam antrean di lapisan data. Pelajari izin lebih lanjut.
Contoh:
const setDefaultConsentState = require('setDefaultConsentState');
setDefaultConsentState({
'ad_storage': 'denied',
'analytics_storage': 'granted',
'third_party_storage': 'denied',
'region': ['US-CA'],
'wait_for_update': 500
});
Sintaksis
setDefaultConsentState(consentSettings)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
consentSettings |
objek | Objek yang menentukan status default untuk jenis izin yang ditentukan. |
Objek consentSettings
adalah pemetaan string jenis izin arbitrer ke salah satu dari 'granted'
atau 'denied'
. Kode ini mendukung nilai berikut:
Nama Kunci | Jenis | Deskripsi |
---|---|---|
consentType |
string | Nilai untuk setiap jenis izin dapat ditetapkan ke `'granted'` atau `'denied'`. Setiap nilai selain `'granted'` akan diperlakukan sebagai `'denied'`. Menetapkan nilai ke `undefined` tidak akan berpengaruh pada nilai sebelumnya. |
region |
Array | Array opsional dari kode wilayah yang menentukan wilayah tempat setelan izin diterapkan. Kode wilayah diekspresikan menggunakan negara dan/atau subdivisi dalam format ISO 3166-2. |
wait_for_update |
angka | Menentukan nilai milidetik untuk mengontrol durasi tunggu sebelum data dikirim. Digunakan dengan alat izin yang dimuat secara asinkron. |
Izin terkait
Izin access_consent
dengan akses tulis untuk semua jenis izin di objek consentSettings.
setInWindow
Menetapkan nilai yang diberikan dalam window
pada kunci yang diberikan. Secara default, metode ini tidak akan menetapkan nilai dalam window
jika sudah ada nilai. Tetapkan overrideExisting
ke true
untuk menetapkan nilai dalam window
, terlepas dari apakah sudah ada nilai atau tidak. Menampilkan boolean: true
jika nilainya
berhasil ditetapkan, dan false
jika tidak.
Sintaksis
setInWindow(key, value, overrideExisting)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
key |
string | Kunci dalam window untuk menempatkan nilai. |
value |
* | Nilai yang ditetapkan dalam window . |
overrideExisting |
boolean | Tanda yang menunjukkan bahwa nilai harus ditetapkan dalam window , terlepas dari apakah ada nilai di sana atau tidak. |
Izin terkait
sha256
Menghitung digest SHA-256 input dan memanggil callback dengan
digest yang dienkode dalam base64, kecuali jika objek options
menentukan encoding output yang berbeda.
Contoh:
sha256('inputString', (digest) => {
sendPixel('https://example.com/collect?id=' + digest);
data.gtmOnSuccess();
}, data.gtmOnFailure);
sha256('inputString', (digest) => {
sendPixel('https://example.com/collect?id=' + digest);
data.gtmOnSuccess();
}, data.gtmOnFailure, {outputEncoding: 'hex'});
Sintaksis
sha256(input, onSuccess, onFailure = undefined, options = undefined)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
input |
string | String untuk menghitung hash. |
onSuccess |
fungsi | Dipanggil dengan digest yang dihasilkan, dienkode dalam base64, kecuali jika objek options menentukan encoding output yang berbeda. |
onFailure |
fungsi | Dipanggil jika terjadi error saat menghitung digest, atau jika browser tidak memiliki dukungan native untuk sha256. Callback dipanggil dengan objek yang berisi nama error, dan pesan. |
options |
objek | Objek opsi Opsional untuk menentukan encoding output. Jika ditentukan, objek ini harus berisi kunci outputEncoding dengan nilai sebagai salah satu dari base64 atau hex . |
Izin terkait
Tidak ada.
templateStorage
Menampilkan objek dengan metode untuk mengakses penyimpanan template. Dengan penyimpanan template, data dapat dibagikan di seluruh eksekusi dalam satu template. Data yang disimpan di penyimpanan template akan tetap ada di sepanjang waktu halaman.
Sintaksis
const templateStorage = require('templateStorage');
templateStorage.getItem(key);
templateStorage.setItem(key, value);
templateStorage.removeItem(key);
// Deletes all stored values for the template.
templateStorage.clear();
Izin terkait
Contoh
const templateStorage = require('templateStorage');
const sendPixel = require('sendPixel');
// Ensure sendPixel is called only once per page.
if (templateStorage.getItem('alreadyRan')) {
data.gtmOnSuccess();
return;
}
templateStorage.setItem('alreadyRan', true);
sendPixel(
data.oncePerPagePixelUrl,
data.gtmOnSuccess,
() => {
templateStorage.setItem('alreadyRan', false);
data.gtmOnFailure();
});
toBase64
API toBase64
memungkinkan Anda mengenkode string ke dalam representasi base64.
Sintaksis
toBase64(input)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
input |
string | String yang akan dienkode. |
Contoh
const toBase64 = require('toBase64');
const base64Hello = toBase64('hello');
Izin terkait
Tidak ada
updateConsentState
Mengirim pembaruan izin ke lapisan data, untuk diproses sesegera mungkin setelah peristiwa saat ini dan semua tag yang dipicunya telah selesai diproses (atau waktu tunggu pemrosesan tag tercapai). Pembaruan dijamin akan diproses dalam penampung ini sebelum item dalam antrean di lapisan data. Pelajari izin lebih lanjut.
Contoh:
const updateConsentState = require('updateConsentState');
updateConsentState({
'ad_storage': 'granted',
'analytics_storage': 'denied',
'third_party_storage': 'granted',
});
Sintaksis
updateConsentState(consentSettings)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
consentSettings |
objek | Objek yang memperbarui status untuk jenis izin yang ditentukan. |
Objek consentSettings
adalah pemetaan string jenis izin arbitrer ke salah satu dari 'granted'
atau 'denied'
. Kode ini mendukung nilai berikut:
Nama Kunci | Jenis | Deskripsi |
---|---|---|
consentType |
string | Nilai untuk setiap jenis izin dapat ditetapkan ke 'granted' atau 'denied'. Setiap nilai selain 'granted' akan diperlakukan sebagai 'denied'. Menetapkan nilai ke 'undefined' tidak akan berpengaruh pada nilai sebelumnya. |
Izin terkait
Izin access_consent
dengan akses tulis untuk semua jenis izin di objek consentSettings.
API Pengujian
API ini berfungsi bersama pengujian JavaScript dengan sandbox untuk membuat pengujian bagi template kustom di Google Tag Manager. API pengujian ini tidak memerlukan pernyataan require()
. Pelajari pengujian template kustom lebih lanjut.
assertApi
Menampilkan objek matcher yang dapat digunakan untuk membuat pernyataan secara lancar tentang API tertentu.
Sintaksis
assertApi(apiName)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
apiName |
string | Nama API yang akan diperiksa; string yang sama seperti yang diteruskan ke require() .
|
Matcher
Subject.wasCalled()
Subject.wasNotCalled()
Subject.wasCalledWith(...expected)
Subject.wasNotCalledWith(...expected)
Contoh
assertApi('sendPixel').wasCalled();
assertApi('getUrl').wasNotCalled();
assertApi('makeNumber').wasCalledWith('8');
assertApi('setInWindow').wasNotCalledWith('myVar', 'theWrongValue');
assertThat
API assertThat
dibuat sesuai model library [Truth] Google. API ini menampilkan objek yang dapat digunakan untuk membuat pernyataan secara lancar tentang nilai subjek. Kegagalan pernyataan akan segera menghentikan pengujian dan menandainya sebagai gagal. Namun, kegagalan dalam satu pengujian tidak akan memengaruhi kasus pengujian lainnya.
Sintaksis
assertThat(actual, opt_message)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
actual |
apa pun | Nilai yang akan digunakan dalam pemeriksaan yang lancar. |
opt_message |
string | Pesan opsional yang akan dicetak jika pernyataan gagal. |
Matcher
Matcher | Deskripsi |
---|---|
isUndefined() |
Menyatakan bahwa subjek adalah undefined . |
isDefined() |
Menyatakan bahwa subjek bukan undefined . |
isNull() |
Menyatakan bahwa subjek adalah null . |
isNotNull() |
Menyatakan bahwa subjek bukan null . |
isFalse() |
Menyatakan bahwa subjek adalah false . |
isTrue() |
Menyatakan bahwa subjek adalah true . |
isFalsy() |
Menyatakan bahwa subjek falsy (bersifat salah). Nilai falsy adalah
undefined , null , false ,
NaN , 0, dan '' (string kosong). |
isTruthy() |
Menyatakan bahwa subjek truthy (bersifat benar). Nilai falsy adalah
undefined , null , false ,
NaN , 0, dan '' (string kosong). |
isNaN() |
Menyatakan bahwa subjek adalah nilai NaN. |
isNotNaN() |
Menyatakan bahwa subjek adalah nilai apa pun selain NaN. |
isInfinity() |
Menyatakan bahwa subjek adalah nilai tak terbatas positif atau negatif. |
isNotInfinity() |
Menyatakan bahwa subjek adalah nilai apa pun selain nilai tak terbatas positif atau negatif. |
isEqualTo(expected) |
Menyatakan bahwa subjek sama dengan nilai yang diberikan. Ini adalah perbandingan nilai, bukan perbandingan referensi. Konten objek dan array dibandingkan secara rekursif. |
isNotEqualTo(expected) |
Menyatakan bahwa subjek tidak sama dengan nilai yang diberikan. Ini adalah perbandingan nilai, bukan perbandingan referensi. Konten objek dan array dibandingkan secara rekursif. |
isAnyOf(...expected) |
Menyatakan bahwa subjek sama dengan salah satu nilai yang diberikan. Ini adalah perbandingan nilai, bukan perbandingan referensi. Konten objek dan array dibandingkan secara rekursif. |
isNoneOf(...expected) |
Menyatakan bahwa subjek tidak sama dengan salah satu nilai yang diberikan. Ini adalah perbandingan nilai, bukan perbandingan referensi. Konten objek dan array dibandingkan secara rekursif. |
isStrictlyEqualTo(expected) |
Menyatakan bahwa subjek benar-benar sama persis (=== ) dengan nilai yang diberikan. |
isNotStrictlyEqualTo(expected) |
Menyatakan bahwa subjek benar-benar tidak sama persis (!== ) dengan nilai yang diberikan. |
isGreaterThan(expected) |
Menyatakan bahwa subjek lebih besar dari (> ) nilai yang diberikan dalam perbandingan yang diurutkan. |
isGreaterThanOrEqualTo(expected) |
Menyatakan bahwa subjek lebih besar dari atau sama dengan (>= ) nilai yang diberikan dalam perbandingan yang diurutkan. |
isLessThan(expected) |
Menyatakan bahwa subjek kurang dari (< ) nilai yang diberikan dalam perbandingan yang diurutkan. |
isLessThanOrEqualTo(expected) |
Menyatakan bahwa subjek kurang dari atau sama dengan (<= ) nilai yang diberikan dalam perbandingan yang diurutkan. |
contains(...expected) |
Menyatakan bahwa subjek adalah array atau string yang berisi semua nilai yang diberikan dalam urutan apa pun. Ini adalah perbandingan nilai, bukan perbandingan referensi. Konten objek dan array dibandingkan secara rekursif. |
doesNotContain(...expected) |
Menyatakan bahwa subjek adalah array atau string yang tidak berisi nilai yang diberikan. Ini adalah perbandingan nilai, bukan perbandingan referensi. Konten objek dan array dibandingkan secara rekursif. |
containsExactly(...expected) |
Menyatakan bahwa subjek adalah array yang berisi semua nilai yang diberikan dalam urutan apa pun dan tidak ada nilai lain. Ini adalah perbandingan nilai, bukan perbandingan referensi. Konten objek dan array dibandingkan secara rekursif. |
doesNotContainExactly(...expected) |
Menyatakan bahwa subjek adalah array yang berisi kumpulan nilai yang berbeda dari nilai yang diberikan dalam urutan apa pun. Ini adalah perbandingan nilai, bukan perbandingan referensi. Konten objek dan array dibandingkan secara rekursif. |
hasLength(expected) |
Menyatakan bahwa subjek adalah array atau string dengan panjang yang diberikan. Pernyataan selalu gagal jika nilainya bukan array atau string. |
isEmpty() |
Menyatakan bahwa subjek adalah array atau string yang kosong (panjang = 0). Pernyataan selalu gagal jika nilainya bukan array atau string. |
isNotEmpty() |
Menyatakan bahwa subjek adalah array atau string yang tidak kosong (panjang > 0). Pernyataan selalu gagal jika nilainya bukan array atau string. |
isArray() |
Menyatakan bahwa jenis subjek adalah array. |
isBoolean() |
Menyatakan bahwa jenis subjek adalah boolean. |
isFunction() |
Menyatakan bahwa jenis subjek adalah fungsi. |
isNumber() |
Menyatakan bahwa jenis subjek adalah angka. |
isObject() |
Menyatakan bahwa jenis subjek adalah objek. |
isString() |
Menyatakan bahwa jenis subjek adalah string. |
Contoh
assertThat(undefined).isUndefined();
assertThat(id, 'ID must be defined').isDefined();
assertThat(null).isNull();
assertThat(undefined).isNotNull();
assertThat(true).isTrue();
assertThat(false).isFalse();
assertThat(1).isTruthy();
assertThat('').isFalsy();
assertThat(1/0).isInfinity();
assertThat(0).isNotInfinity();
assertThat(-'foo').isNaN();
assertThat(100).isNotNaN();
assertThat(sentUrl).isEqualTo('https://endpoint.example.com/?account=12345');
assertThat(category).isNotEqualTo('premium');
assertThat(5).isAnyOf(1, 2, 3, 4, 5);
assertThat(42).isNoneOf('the question', undefined, 41.9);
assertThat('value').isStrictlyEqualTo('value');
assertThat('4').isNotStrictlyEqualTo(4);
assertThat(['a', 'b', 'c']).contains('a', 'c');
assertThat(['x', 'y', 'z']).doesNotContain('f');
assertThat(['1', '2', '3']).containsExactly('3', '2', '1');
assertThat(['4', '5']).doesNotContainExactly('4');
assertThat('a string').hasLength(8);
assertThat([]).isEmpty();
assertThat('another string').isNotEmpty();
fail
Segera menggagalkan pengujian saat ini dan mencetak pesan yang diberikan, jika disediakan.
Sintaksis
fail(opt_message);
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
opt_message |
string | Teks pesan error opsional. |
Contoh
fail('This test has failed.');
mock
API mock
memungkinkan Anda mengganti perilaku API dengan sandbox. API tiruan ini aman digunakan dalam kode template, tetapi tidak beroperasi saat tidak dalam mode pengujian. Model direset sebelum setiap pengujian dijalankan.
Sintaksis
mock(apiName, returnValue);
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
apiName |
string | Nama API yang akan ditiru; string yang sama seperti yang diteruskan ke require() |
returnValue |
apa pun | Nilai yang akan ditampilkan untuk API atau fungsi yang dipanggil sebagai pengganti API. Jika returnValue adalah fungsi, fungsi tersebut dipanggil sebagai pengganti API dengan sandbox; jika returnValue adalah sesuatu selain fungsi, nilai tersebut akan ditampilkan sebagai pengganti API dengan sandbox. |
Contoh
mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
onSuccess();
});
runCode
Menjalankan kode untuk template, yaitu konten tab Kode, di lingkungan pengujian saat ini dengan objek data input tertentu.
Sintaksis
runCode(data)
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
data |
objek | Objek data yang akan digunakan dalam pengujian. |
Nilai Hasil
Menampilkan nilai variabel untuk template variabel; menampilkan undefined
untuk semua jenis template lainnya.
Contoh
runCode({field1: 123, field2: 'value'});