কোর এপিআই
এই এপিআইগুলো গুগল ট্যাগ ম্যানেজারে কাস্টম টেমপ্লেট তৈরি করার জন্য স্যান্ডবক্সড জাভাস্ক্রিপ্ট ব্যবহার করে। প্রতিটি এপিআই একটি require() স্টেটমেন্ট দিয়ে যুক্ত করা হয়, যেমন:
const myAPI = require('myAPI');
addConsentListener
নির্দিষ্ট সম্মতি প্রকারের অবস্থা পরিবর্তিত হলে কার্যকর হওয়ার জন্য একটি লিসেনার ফাংশন নিবন্ধন করে।
যখনই নির্দিষ্ট কনসেন্ট টাইপের স্টেট 'ডিনাইড' থেকে 'গ্র্যান্ট' বা 'গ্র্যান্ট' থেকে 'ডিনাইড'-এ পরিবর্তিত হবে, তখনই প্রদত্ত লিসেনারটি কল করা হবে। যে কনসেন্ট টাইপের কোনো স্টেট নেই, সেটিকে 'গ্র্যান্ট' হিসেবে গণ্য করা হয়, তাই যদি কোনো আনসেট কনসেন্ট টাইপকে 'গ্র্যান্ট'-এ আপডেট করা হয়, তাহলে লিসেনারটি কল করা হবে না। লিসেনার ফাংশনগুলোর দায়িত্ব হবে তাদের কোড যেন যথাযথ সংখ্যক বার রান করে তা নিশ্চিত করা।
উদাহরণ:
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);
});
}
সিনট্যাক্স
addConsentListener(consentType, listener)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
consentType | স্ট্রিং | অবস্থা পরিবর্তনের জন্য শোনার সম্মতির ধরণ। |
listener | ফাংশন | নির্দিষ্ট সম্মতি প্রকারের অবস্থা পরিবর্তিত হলে যে ফাংশনটি চালু হবে। |
যখন কোনো লিসেনারকে আহ্বান করা হয়, তখন তাকে যে কনসেন্ট টাইপটি পরিবর্তন করা হচ্ছে এবং সেই কনসেন্ট টাইপের নতুন মানটি পাঠানো হবে:
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
consentType | স্ট্রিং | যে সম্মতির ধরণটি পরিবর্তন করা হচ্ছে। |
granted | বুলিয়ান | একটি বুলিয়ান যা সত্য হয় যদি নির্দিষ্ট সম্মতির ধরণটি 'অনুমোদিত'-এ পরিবর্তন করা হয়। |
সংশ্লিষ্ট অনুমতি
সম্মতির ধরণটির জন্য পঠন অ্যাক্সেস সহ access_consent অনুমতি।
addEventCallback
addEventCallback API আপনাকে একটি কলব্যাক ফাংশন রেজিস্টার করার সুযোগ দেয়, যা কোনো ইভেন্টের শেষে চালু হবে। ইভেন্টের জন্য নির্ধারিত সমস্ত ট্যাগ এক্সিকিউট হয়ে গেলে, অথবা পেজের ভেতরের কোনো ইভেন্টের টাইমআউট শেষ হলে কলব্যাকটি চালু হবে। কলব্যাকে দুটি ভ্যালু পাস করা হয়: যে কন্টেইনারটি ফাংশনটি চালু করে তার আইডি এবং ইভেন্ট সম্পর্কিত তথ্য ধারণকারী একটি অবজেক্ট।
সিনট্যাক্স
addEventCallback(callback)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
callback | ফাংশন | ইভেন্টের শেষে যে ফাংশনটি চালু করা হবে। |
eventData অবজেক্টটিতে নিম্নলিখিত ডেটা রয়েছে:
| চাবির নাম | প্রকার | বর্ণনা |
|---|---|---|
tags | অ্যারে | ট্যাগ ডেটা অবজেক্টের একটি অ্যারে। ইভেন্ট চলাকালীন ফায়ার হওয়া প্রতিটি ট্যাগের একটি এন্ট্রি এই অ্যারেতে থাকবে। ট্যাগ ডেটা অবজেক্টটিতে ট্যাগের আইডি ( id ), এর এক্সিকিউশন স্ট্যাটাস ( status ) এবং এর এক্সিকিউশন টাইম ( executionTime ) থাকে। ট্যাগ ডেটাতে ট্যাগে কনফিগার করা অতিরিক্ত মেটাডেটাও অন্তর্ভুক্ত থাকবে। |
উদাহরণ
addEventCallback(function(ctid, eventData) {
logToConsole('Tag count for container ' + ctid + ': ' + eventData['tags'].length);
});
সংশ্লিষ্ট অনুমতি
aliasInWindow
aliasInWindow API আপনাকে একটি অ্যালিয়াস তৈরি করতে দেয় (যেমন window.foo = window.bar ), যা অ্যালিয়াসিং প্রয়োজন এমন নির্দিষ্ট ট্যাগ সমর্থন করতে সাহায্য করে। এটি fromPath এ থাকা window অবজেক্টের মানকে toPath এ থাকা window অবজেক্টের কী-তে অ্যাসাইন করে। সফল হলে true , অন্যথায় false রিটার্ন করে।
সিনট্যাক্স
aliasInWindow(toPath, fromPath)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
toPath | স্ট্রিং | window অবজেক্টের মধ্যে একটি ডট-দ্বারা-বিভক্ত পাথ, যেখানে একটি মান কপি করা হবে। পাথের শেষ কম্পোনেন্ট পর্যন্ত সমস্ত কম্পোনেন্ট অবশ্যই window অবজেক্টে আগে থেকেই বিদ্যমান থাকতে হবে। |
fromPath | স্ট্রিং | যে মানটি কপি করতে চান, window মধ্যে তার একটি ডট-দ্বারা-বিভক্ত পাথ দিন। যদি মানটি বিদ্যমান না থাকে, তাহলে অপারেশনটি ব্যর্থ হবে। |
উদাহরণ
aliasInWindow('foo.bar', 'baz.qux')
সংশ্লিষ্ট অনুমতি
toPath এবং fromPath উভয়ের জন্যই access_globals প্রয়োজন; toPath জন্য লেখার অনুমতি এবং fromPath জন্য পড়ার অনুমতি প্রয়োজন।
callInWindow
এটি আপনাকে পলিসি-নিয়ন্ত্রিত উপায়ে window অবজেক্টের বাইরের কোনো পাথ থেকে ফাংশন কল করার সুযোগ দেয়। এটি window দেওয়া পাথে থাকা ফাংশনটিকে প্রদত্ত আর্গুমেন্টসহ কল করে এবং ভ্যালুটি রিটার্ন করে। যদি রিটার্ন টাইপটি স্যান্ডবক্সড জাভাস্ক্রিপ্টে সমর্থিত কোনো টাইপের সাথে সরাসরি ম্যাপ করা না যায়, তাহলে undefined রিটার্ন করা হবে। স্যান্ডবক্সড জাভাস্ক্রিপ্টে সমর্থিত আটটি টাইপ হলো null , undefined , boolean , number , string , Array , Object এবং function । যদি প্রদত্ত পাথটি বিদ্যমান না থাকে, অথবা কোনো ফাংশনকে রেফারেন্স না করে, তাহলে undefined রিটার্ন করা হবে।
সিনট্যাক্স
callInWindow(pathToFunction, argument [, argument2,... argumentN])
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
pathToFunction | স্ট্রিং | window কল করার জন্য ফাংশনটির একটি ডট-দ্বারা-বিভক্ত পাথ। |
args | * | ফাংশনে প্রেরণ করার জন্য আর্গুমেন্টসমূহ। |
সংশ্লিষ্ট অনুমতি
execute অনুমতি সক্রিয় সহ access_globals ।
callLater
অ্যাসিঙ্ক্রোনাসভাবে কোনো ফাংশন কল করার জন্য সময় নির্ধারণ করে। বর্তমান কোড রিটার্ন করার পর ফাংশনটি কল করা হবে। এটি setTimeout(<function>, 0) -এর সমতুল্য।
সিনট্যাক্স
callLater(function)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
function | ফাংশন | যে ফাংশনটিকে কল করতে হবে। |
copyFromDataLayer
ডেটা লেয়ারে প্রদত্ত কী-তে বর্তমানে নির্ধারিত মানটি ফেরত দেয়: যদি প্রদত্ত কী-টি একটি প্রিমিটিভ টাইপ, ফাংশন, বা অবজেক্ট লিটারেল হয়, তবে সেখানে প্রাপ্ত মানটি ফেরত দেয়, অন্যথায় তা undefined ।
সিনট্যাক্স
copyFromDataLayer(key[, dataLayerVersion])
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
key | স্ট্রিং | চাবিটি 'abc' বিন্যাসে থাকবে। |
dataLayerVersion | সংখ্যা | ঐচ্ছিক ডেটা লেয়ার সংস্করণ । এর ডিফল্ট মান হলো ২। মান ১ ব্যবহার করতে দৃঢ়ভাবে নিরুৎসাহিত করা হয়। |
সংশ্লিষ্ট অনুমতি
copyFromWindow
window অবজেক্ট থেকে একটি ভেরিয়েবল কপি করে। যদি window এর মান স্যান্ডবক্সড জাভাস্ক্রিপ্টে সমর্থিত কোনো টাইপের সাথে সরাসরি ম্যাপ করা না যায়, তাহলে undefined রিটার্ন করা হবে। স্যান্ডবক্সড জাভাস্ক্রিপ্টে সমর্থিত আটটি টাইপ হলো null , undefined , boolean , number , string , Array , Object এবং function । ফেচ করা (এবং কোয়ার্স করা) মানটি রিটার্ন করে।
সিনট্যাক্স
copyFromWindow(key)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
key | স্ট্রিং | মানটি কপি করার জন্য window থাকা কী-টি চাপুন। |
সংশ্লিষ্ট অনুমতি
createArgumentsQueue
যেসব ট্যাগ সলিউশনের জন্য প্রয়োজন, সেগুলোকে সমর্থন করার জন্য এটি একটি কিউ তৈরি করে, যা আর্গুমেন্ট অবজেক্ট দ্বারা পূর্ণ থাকে।
fnKey আর্গুমেন্ট ব্যবহার করে গ্লোবাল স্কোপে (অর্থাৎ window ) একটি ফাংশন তৈরি করে (এর কার্যপ্রণালী createQueue মতোই)। ফাংশনটি তৈরি হওয়ার পর, এই API-টি arrayKey আর্গুমেন্ট ব্যবহার করে window তে একটি অ্যারে তৈরি করে (যদি সেটি আগে থেকে বিদ্যমান না থাকে)।
যখন fnKey অধীনে তৈরি ফাংশনটি কল করা হয়, তখন এটি তার আর্গুমেন্টস অবজেক্টটিকে arrayKey অধীনে তৈরি অ্যারেতে পুশ করে। API-টির রিটার্ন ভ্যালু হলো fnKey অধীনে তৈরি ফাংশনটি।
এই ফাংশনটির জন্য access_globals পারমিশনে fnKey এবং arrayKey জন্য রিড এবং রাইট সেটিং প্রয়োজন।
উদাহরণ:
const gtag = createArgumentsQueue('gtag', 'dataLayer');
gtag('set', {'currency': 'USD'});
সিনট্যাক্স
createArgumentsQueue(fnKey, arrayKey)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
fnKey | স্ট্রিং | window সেই পাথ যেখানে ফাংশনটি সেট করা হবে, যদি সেটি আগে থেকে বিদ্যমান না থাকে। এই আর্গুমেন্টটি স্ট্যান্ডার্ড ডট নোটেশন সমর্থন করে। যদি কী-টির পাথ বিদ্যমান না থাকে, তাহলে একটি এক্সেপশন থ্রো করা হয়। অর্থাৎ, যদি fnKey মান 'one.two' হয়, তাহলে এটি একটি এক্সেপশন থ্রো করবে। |
arrayKey | স্ট্রিং | window সেই পাথ যেখানে অ্যারেটি সেট করা হবে, যদি সেটি আগে থেকে বিদ্যমান না থাকে। এই আর্গুমেন্টটি স্ট্যান্ডার্ড ডট নোটেশন সমর্থন করে। যদি কী-এর পাথটি বিদ্যমান না থাকে, তাহলে একটি এক্সেপশন থ্রো করা হয়। অর্থাৎ, যদি arrayKey 'one.two' হয়, এবং 'one' নামের কোনো গ্লোবাল অবজেক্ট না থাকে, তাহলে এটি একটি এক্সেপশন থ্রো করবে। |
সংশ্লিষ্ট অনুমতি
createQueue
window একটি অ্যারে তৈরি করে (যদি সেটি আগে থেকে বিদ্যমান না থাকে) এবং এমন একটি ফাংশন রিটার্ন করে যা সেই অ্যারেতে ভ্যালু পুশ করবে।
এই ফাংশনটির জন্য access_globals পারমিশনে arrayKey এর জন্য রিড এবং রাইট সেটিং প্রয়োজন।
উদাহরণ:
const dataLayerPush = createQueue('dataLayer');
dataLayerPush({'currency': 'USD'}, {'event': 'myConversion'});
সিনট্যাক্স
createQueue(arrayKey)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
arrayKey | স্ট্রিং | অ্যারে সেট করার window কী (key), যদি সেটি আগে থেকে বিদ্যমান না থাকে। এই আর্গুমেন্টটি স্ট্যান্ডার্ড ডট নোটেশন সমর্থন করে। যদি কী-টির পাথ বিদ্যমান না থাকে, তাহলে একটি এক্সেপশন থ্রো করা হয়। উদাহরণস্বরূপ, যদি arrayKey হয় 'one.two' , এবং 'one' নামের কোনো গ্লোবাল অবজেক্ট না থাকে, তাহলে এটি একটি এক্সেপশন থ্রো করবে। |
সংশ্লিষ্ট অনুমতি
decodeUri
প্রদত্ত URI-তে থাকা যেকোনো এনকোড করা অক্ষর ডিকোড করে। ডিকোড করা URI-টিকে প্রতিনিধিত্বকারী একটি স্ট্রিং ফেরত দেয়। ভুল ইনপুট দেওয়া হলে undefined ফেরত দেয়।
উদাহরণ:
const decode = require('decodeUri');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
সিনট্যাক্স
decodeUri(encoded_uri)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
encoded_uri | স্ট্রিং | একটি URI যা encodeUri() বা অন্য কোনো উপায়ে এনকোড করা হয়েছে। |
সংশ্লিষ্ট অনুমতি
কিছুই না।
decodeUriComponent
প্রদত্ত URI উপাদানের যেকোনো এনকোড করা অক্ষর ডিকোড করে। ডিকোড করা URI উপাদানটির প্রতিনিধিত্বকারী একটি স্ট্রিং ফেরত দেয়। ভুল ইনপুট দেওয়া হলে undefined ফেরত দেয়।
উদাহরণ:
const decode = require('decodeUriComponent');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
সিনট্যাক্স
decodeUriComponent(encoded_uri_component)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
encoded_uri_component | স্ট্রিং | একটি URI উপাদান যা encodeUriComponent() বা অন্য কোনো উপায়ে এনকোড করা হয়েছে। |
সংশ্লিষ্ট অনুমতি
কিছুই না।
encodeUri
বিশেষ অক্ষরগুলিকে এস্কেপ করে একটি এনকোডেড ইউনিফর্ম রিসোর্স আইডেন্টিফায়ার (URI) ফেরত দেয়। প্রদত্ত স্ট্রিংটিকে URI হিসাবে এনকোড করে একটি স্ট্রিং ফেরত দেয়। অবৈধ ইনপুট (একটি একক সারোগেট) প্রদান করা হলে undefined ফেরত দেয়।
উদাহরণ:
sendPixel('https://www.example.com/' + encodeUri(pathInput));
সিনট্যাক্স
encodeUri(uri)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
uri | স্ট্রিং | একটি সম্পূর্ণ URI। |
সংশ্লিষ্ট অনুমতি
কিছুই না।
encodeUriComponent
বিশেষ অক্ষরগুলিকে এস্কেপ করে একটি এনকোডেড ইউনিফর্ম রিসোর্স আইডেন্টিফায়ার (URI) ফেরত দেয়। প্রদত্ত স্ট্রিংটিকে URI হিসাবে এনকোড করে একটি স্ট্রিং ফেরত দেয়। অবৈধ ইনপুট (একটি একক সারোগেট) প্রদান করা হলে undefined ফেরত দেয়।
উদাহরণ:
sendPixel('https://www.example.com/?' + encodeUriComponent(queryInput));
সিনট্যাক্স
encodeUriComponent(str)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
str | স্ট্রিং | URI-এর একটি উপাদান। |
সংশ্লিষ্ট অনুমতি
কিছুই না।
fromBase64
fromBase64 API আপনাকে স্ট্রিংগুলিকে তাদের base64 রূপ থেকে ডিকোড করতে দেয়। ভুল ইনপুট দিলে এটি undefined রিটার্ন করে।
সিনট্যাক্স
fromBase64(base64EncodedString)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
base64EncodedString | স্ট্রিং | Base64 এনকোডেড স্ট্রিং। |
উদাহরণ
const fromBase64 = require('fromBase64');
const greeting = fromBase64('aGVsbG8=');
if (greeting === 'hello') {
// ...
}
সংশ্লিষ্ট অনুমতি
কোনোটিই না
generateRandom
প্রদত্ত পরিসরের মধ্যে একটি এলোমেলো সংখ্যা (পূর্ণসংখ্যা) ফেরত দেয়।
সিনট্যাক্স
generateRandom(min, max)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
min | সংখ্যা | ফেরত আসা পূর্ণসংখ্যাটির সর্বনিম্ন সম্ভাব্য মান। |
max | সংখ্যা | ফেরত আসা পূর্ণসংখ্যাটির সর্বোচ্চ সম্ভাব্য মান। |
সংশ্লিষ্ট অনুমতি
কিছুই না।
getContainerVersion
বর্তমান কন্টেইনার সম্পর্কিত তথ্য সম্বলিত একটি অবজেক্ট ফেরত দেয়। ফেরত আসা অবজেক্টটিতে নিম্নলিখিত ফিল্ডগুলো রয়েছে:
{
containerId: string,
debugMode: boolean,
environmentName: string,
environmentMode: boolean,
previewMode: boolean,
version: string,
}
উদাহরণ
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);
}
}
সিনট্যাক্স
getContainerVersion();
সংশ্লিষ্ট অনুমতি
getCookieValues
প্রদত্ত নামের সমস্ত কুকির মান ফেরত দেয়।
সিনট্যাক্স
getCookieValues(name[, decode])
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
name | স্ট্রিং | কুকিটির নাম। |
decode | বুলিয়ান | কুকির মানগুলো জাভাস্ক্রিপ্টের decodeURIComponent() ব্যবহার করে ডিকোড করা হবে কিনা তা নিয়ন্ত্রণ করে। এর ডিফল্ট মান হলো true । |
সংশ্লিষ্ট অনুমতি
getQueryParameters
বর্তমান URL-এর queryKey এর প্রথম অথবা সমস্ত প্যারামিটার ফেরত দেয়। queryKey থেকে প্রথম মানটি অথবা queryKey থেকে প্রাপ্ত মানগুলির একটি অ্যারে ফেরত দেয়।
সিনট্যাক্স
getQueryParameters(queryKey[, retrieveAll])
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
queryKey | স্ট্রিং | কোয়েরি প্যারামিটার থেকে পড়ার মূল চাবিকাঠি। |
retrieveAll | বুলিয়ান | সমস্ত মান পুনরুদ্ধার করা হবে কিনা। |
উদাহরণস্বরূপ, যদি বর্তমান URL-টি https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo হয়, তাহলে:
-
getQueryParameters('var') == 'foo' -
getQueryParameters('var', false) == 'foo' -
getQueryParameters('var', null) == 'foo' -
getQueryParameters('var', true) == ['foo', 'foo2', 'foo']
সংশ্লিষ্ট অনুমতি
get_url অবশ্যই query কম্পোনেন্টের অনুমতি থাকতে হবে, এবং অনুমোদিত কোয়েরি কী-গুলোর মধ্যে queryKey অবশ্যই উল্লেখ করতে হবে (অথবা যেকোনো কোয়েরি কী-এর অনুমতি দেওয়া যেতে পারে)।
getReferrerQueryParameters
getReferrerQueryParameters API-টি getQueryParameters মতোই কাজ করে, তবে এটি বর্তমান URL-এর পরিবর্তে রেফারারের উপর কাজ করে। এটি প্রদত্ত রেফারারের queryKey এর জন্য প্রথম অথবা সমস্ত প্যারামিটার রিটার্ন করে। এটি queryKey থেকে প্রথম ভ্যালুটি অথবা queryKey এর ভ্যালুগুলোর একটি অ্যারে রিটার্ন করে।
সিনট্যাক্স
getReferrerQueryParameters(queryKey[, retrieveAll])
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
queryKey | স্ট্রিং | কোয়েরি প্যারামিটার থেকে পড়ার মূল চাবিকাঠি। |
retrieveAll | বুলিয়ান | সমস্ত মান পুনরুদ্ধার করা হবে কিনা। |
উদাহরণস্বরূপ, যদি রেফারার ইউআরএলটি https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo হয়, তাহলে:
-
getReferrerQueryParameters('var') == 'foo' -
getReferrerQueryParameters('var', false) == 'foo' -
getReferrerQueryParameters('var', null) == 'foo' -
getReferrerQueryParameters('var', true) == ['foo', 'foo2', 'foo']
সংশ্লিষ্ট অনুমতি
get_referrer অবশ্যই query component-এর অনুমতি দিতে হবে, এবং অনুমোদিত query key-গুলোর মধ্যে queryKey টি নির্দিষ্ট করতে হবে (অথবা যেকোনো query key-এর অনুমতি দিতে হবে)।
getReferrerUrl
একটি কম্পোনেন্ট টাইপ দেওয়া থাকলে, এপিআইটি রেফারারের জন্য ডকুমেন্ট অবজেক্টটি পড়ে এবং রেফারারের একটি অংশ প্রতিনিধিত্বকারী একটি স্ট্রিং ফেরত দেয়। যদি কোনো কম্পোনেন্ট নির্দিষ্ট করা না থাকে, তাহলে সম্পূর্ণ রেফারার ইউআরএল ফেরত দেওয়া হয়।
সিনট্যাক্স
getReferrerUrl([component])
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
component | স্ট্রিং | URL থেকে যে অংশটি ফেরত দেওয়া হবে। এটি নিম্নলিখিতগুলির মধ্যে একটি হতে পারে: protocol , host , port , path , query , extension । যদি component undefined বা null হয়, অথবা এই অংশগুলির কোনোটির সাথে না মেলে, তাহলে সম্পূর্ণ URL-টি ফেরত দেওয়া হবে। |
সংশ্লিষ্ট অনুমতি
get_referrer অবশ্যই query component-এর অনুমতি দিতে হবে, এবং অনুমোদিত query key-গুলোর মধ্যে queryKey টি নির্দিষ্ট করতে হবে (অথবা যেকোনো query key-এর অনুমতি দিতে হবে)।
getTimestamp
অপ্রচলিত। getTimestampMillis ব্যবহার করা শ্রেয়।
Date.now() দ্বারা প্রত্যাবর্তিত মান অনুযায়ী, ইউনিক্স ইপক থেকে মিলিসেকেন্ডে বর্তমান সময়কে নির্দেশ করে এমন একটি সংখ্যা ফেরত দেয়।
সিনট্যাক্স
getTimestamp();
সংশ্লিষ্ট অনুমতি
কিছুই না।
getTimestampMillis
Date.now() দ্বারা প্রত্যাবর্তিত মান অনুযায়ী, ইউনিক্স ইপক থেকে মিলিসেকেন্ডে বর্তমান সময়কে নির্দেশ করে এমন একটি সংখ্যা ফেরত দেয়।
সিনট্যাক্স
getTimestampMillis();
সংশ্লিষ্ট অনুমতি
কিছুই না।
getType
প্রদত্ত মানের ধরন বর্ণনা করে এমন একটি স্ট্রিং ফেরত দেয়। typeof বিপরীতে, getType array এবং object মধ্যে পার্থক্য করে।
সিনট্যাক্স
getType(data.someField)
নোট
নিম্নলিখিত সারণিতে প্রতিটি ইনপুট মানের জন্য প্রাপ্ত স্ট্রিংগুলি তালিকাভুক্ত করা হয়েছে।
| ইনপুট মান | ফলাফল |
|---|---|
undefined | 'অসংজ্ঞায়িত' |
null | 'শূন্য' |
true | 'বুলিয়ান' |
12 | 'সংখ্যা' |
'string' | 'স্ট্রিং' |
{ a: 3 } | 'বস্তু' |
[ 1, 3 ] | 'অ্যারে' |
(x) => x + 1 | 'ফাংশন' |
সংশ্লিষ্ট অনুমতি
কিছুই না।
getUrl
একটি কম্পোনেন্ট টাইপ এবং কিছু কনফিগারেশন প্যারামিটার দেওয়া থাকলে, এটি বর্তমান URL-এর সম্পূর্ণ বা আংশিক অংশকে প্রতিনিধিত্বকারী একটি স্ট্রিং রিটার্ন করে।
সিনট্যাক্স
getUrl(component)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
component | স্ট্রিং | URL থেকে যে কম্পোনেন্টটি রিটার্ন করা হবে। এটি অবশ্যই protocol , host , port , path , query , extension , fragment মধ্যে যেকোনো একটি হতে হবে। যদি component-টি undefined বা null হয়, অথবা এই কম্পোনেন্টগুলোর কোনোটির সাথে না মেলে, তাহলে সম্পূর্ণ href ভ্যালুটি রিটার্ন করা হবে। |
সংশ্লিষ্ট অনুমতি
gtagSet
ডেটা লেয়ারে একটি gtag সেট কমান্ড পাঠায়, যা বর্তমান ইভেন্ট এবং এর দ্বারা ট্রিগার হওয়া ট্যাগগুলোর প্রসেসিং শেষ হওয়ার পর (অথবা ট্যাগ প্রসেসিং টাইমআউট শেষ হলে) যত দ্রুত সম্ভব প্রসেস করা হবে। এই কন্টেইনারে ডেটা লেয়ার কিউ-তে থাকা যেকোনো আইটেমের আগে আপডেটটি প্রসেস করা হবে, এটি নিশ্চিত করা হয়।
উদাহরণস্বরূপ, যদি Consent Initialization- এ ফায়ার হওয়া কোনো ট্যাগ দ্বারা এটিকে কল করা হয়, তাহলে Initialization ইভেন্টটি প্রসেস হওয়ার আগেই আপডেটটি প্রয়োগ করা হবে। এর উদাহরণ হলো ads_data_redaction true বা false অথবা url_passthrough true বা false সেট করা।
উদাহরণ:
const gtagSet = require('gtagSet');
gtagSet({
'ads_data_redaction': true,
'url_passthrough': true,
});
সিনট্যাক্স
gtagSet(object)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
Object | বস্তু | এমন একটি অবজেক্ট যা তার অন্তর্ভুক্ত প্রোপার্টিগুলোর গ্লোবাল স্টেট আপডেট করে। |
সংশ্লিষ্ট অনুমতি
write_data_layer নির্দিষ্ট সমস্ত কী-এর জন্য dataLayer এ লেখার অনুমতি পরীক্ষা করে। যদি gtagSet এর ইনপুট একটি সাধারণ অবজেক্ট হয়, তাহলে API-টি সেই অবজেক্টের ভেতরের সমস্ত ফ্ল্যাট করা কী-এর জন্য লেখার অনুমতি পরীক্ষা করবে, যেমন gtagSet({foo: {bar: 'baz'}}) -এর ক্ষেত্রে, API-টি foo.bar এ লেখার অনুমতি পরীক্ষা করবে।
gtagSet এর ইনপুট যদি একটি কী (key) এবং কোনো নন-প্লেইন অবজেক্ট ভ্যালু হয়, তাহলে এপিআইটি সেই কী-তে লেখার অনুমতি আছে কিনা তা পরীক্ষা করবে; যেমন, gtagSet('abc', true) -এর ক্ষেত্রে এপিআইটি 'abc' তে লেখার অনুমতি আছে কিনা তা পরীক্ষা করবে।
মনে রাখবেন, ইনপুট অবজেক্টে যদি কোনো চক্র থাকে, তবে শুধুমাত্র একই অবজেক্টে পৌঁছানোর আগের কীগুলোই যাচাই করা হবে।
injectHiddenIframe
পৃষ্ঠায় একটি অদৃশ্য আইফ্রেম যোগ করে।
কলব্যাকগুলোকে ফাংশন ইনস্ট্যান্স হিসেবে দেওয়া হয় এবং এগুলোকে জাভাস্ক্রিপ্ট ফাংশনের মধ্যে রাখা হয়, যেগুলো সরাসরি সেগুলোকে কল করে।
সিনট্যাক্স
injectHiddenIframe(url, onSuccess)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
url | স্ট্রিং | যে URL-টি iframe-এর src অ্যাট্রিবিউটের মান হিসেবে ব্যবহার করা হবে। |
onSuccess | ফাংশন | ফ্রেম সফলভাবে লোড হলে এটি কল করা হয়। |
সংশ্লিষ্ট অনুমতি
injectScript
প্রদত্ত ইউআরএলটি অ্যাসিঙ্ক্রোনাসভাবে লোড করার জন্য পেজে একটি স্ক্রিপ্ট ট্যাগ যোগ করে। কলব্যাকগুলো ফাংশন ইনস্ট্যান্স হিসেবে দেওয়া হয় এবং এগুলো জাভাস্ক্রিপ্ট ফাংশনের মধ্যে মোড়ানো থাকে, যা সেগুলোকে সরাসরি কল করে।
সিনট্যাক্স
injectScript(url, onSuccess, onFailure[, cacheToken])
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
url | স্ট্রিং | যে স্ক্রিপ্টটি ইনজেক্ট করা হবে তার ঠিকানা। |
onSuccess | ফাংশন | স্ক্রিপ্ট সফলভাবে লোড হলে এটি কল করা হয়। |
onFailure | ফাংশন | স্ক্রিপ্ট লোড হতে ব্যর্থ হলে এটি কল করা হয়। |
cacheToken | স্ট্রিং | প্রদত্ত URL-টি ক্যাশ করা হবে কিনা তা নির্দেশ করার জন্য ব্যবহৃত ঐচ্ছিক স্ট্রিং। এই মানটি নির্দিষ্ট করা হলে, জাভাস্ক্রিপ্ট অনুরোধ করার জন্য শুধুমাত্র একটি স্ক্রিপ্ট এলিমেন্ট তৈরি করা হবে। স্ক্রিপ্টটি লোড না হওয়া পর্যন্ত, লোড করার যেকোনো অতিরিক্ত প্রচেষ্টার ফলে প্রদত্ত onSuccess এবং onFailure মেথডগুলো কিউ-তে জমা থাকবে। |
সংশ্লিষ্ট অনুমতি
isConsentGranted
নির্দিষ্ট সম্মতি প্রকারটি মঞ্জুর করা হলে 'true' ফেরত দেয়।
কোনো নির্দিষ্ট সম্মতি প্রকারের জন্য সম্মতি মঞ্জুর হয়েছে বলে গণ্য করা হবে, যদি সেই সম্মতি প্রকারটি 'মঞ্জুরকৃত' (granted) হিসেবে সেট করা থাকে অথবা একেবারেই সেট করা না থাকে। যদি সম্মতি প্রকারটি অন্য কোনো মানে সেট করা থাকে, তবে তা মঞ্জুর হয়নি বলে গণ্য করা হবে।
ট্যাগ সেটিংসের জন্য ট্যাগ ম্যানেজার ইউজার ইন্টারফেসে ‘সর্বদা ফায়ার’ করার একটি অপশন থাকবে। যদি ‘সর্বদা ফায়ার’ চালু থাকা কোনো ট্যাগ এই API ব্যবহার করে, তবে সম্মতির প্রকৃত অবস্থা নির্বিশেষে, সম্মতি মঞ্জুর হয়েছে বলে ধরে নেওয়া হবে এবং true রিটার্ন করা হবে।
উদাহরণ:
const isConsentGranted = require('isConsentGranted');
if (isConsentGranted('ad_storage')) {
sendFullPixel();
} else {
sendPixelWithoutCookies();
}
সিনট্যাক্স
isConsentGranted(consentType)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
consentType | স্ট্রিং | যে সম্মতির অবস্থা যাচাই করতে হবে, তার ধরণ। |
সংশ্লিষ্ট অনুমতি
সম্মতির ধরণটির জন্য পঠন অ্যাক্সেস সহ access_consent অনুমতি।
JSON
এমন একটি অবজেক্ট ফেরত দেয় যা JSON ফাংশনগুলো প্রদান করে।
` parse() ফাংশনটি একটি JSON স্ট্রিং পার্স করে সেই স্ট্রিং দ্বারা বর্ণিত ভ্যালু বা অবজেক্টটি তৈরি করে। যদি ভ্যালুটি পার্স করা না যায় (যেমন ত্রুটিপূর্ণ JSON), তাহলে ফাংশনটি undefined রিটার্ন করবে। যদি ইনপুট ভ্যালুটি স্ট্রিং না হয়, তবে ইনপুটটিকে একটি স্ট্রিং-এ রূপান্তরিত করা হবে।
` stringify() ` ফাংশনটি ইনপুটকে একটি JSON স্ট্রিং-এ রূপান্তর করে। যদি মানটি পার্স করা না যায় (যেমন অবজেক্টটিতে চক্রাকারে কিছু থাকে), তাহলে মেথডটি undefined রিটার্ন করবে।
সিনট্যাক্স
JSON.parse(stringInput)
JSON.stringify(value);
প্যারামিটার
JSON.parse
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
| স্ট্রিংইনপুট | যেকোনো | রূপান্তর করার জন্য মান। যদি মানটি স্ট্রিং না হয়, তবে ইনপুটটিকে একটি স্ট্রিং-এ রূপান্তরিত করা হবে। |
JSON.stringify
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
| মূল্য | যেকোনো | রূপান্তর করার মান। |
উদাহরণ
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
স্থানীয় স্টোরেজ অ্যাক্সেস করার মেথডসহ একটি অবজেক্ট ফেরত দেয়।
সিনট্যাক্স
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);
সংশ্লিষ্ট অনুমতি
উদাহরণ
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
ব্রাউজার কনসোলে আর্গুমেন্টগুলো লগ করে।
সিনট্যাক্স
logToConsole(obj1 [, obj2,... objN])
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
obj1 [, obj2,... objN] | যেকোনো | যুক্তি |
সংশ্লিষ্ট অনুমতি
makeInteger
প্রদত্ত মানটিকে একটি সংখ্যায় (পূর্ণসংখ্যায়) রূপান্তর করে।
সিনট্যাক্স
makeInteger(value)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
value | যেকোনো | রূপান্তর করার মান। |
সংশ্লিষ্ট অনুমতি
কিছুই না।
makeNumber
প্রদত্ত মানটিকে একটি সংখ্যায় রূপান্তর করে।
সিনট্যাক্স
makeNumber(value)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
value | যেকোনো | রূপান্তর করার মান। |
সংশ্লিষ্ট অনুমতি
কিছুই না।
makeString
প্রদত্ত মানটিকে একটি স্ট্রিং হিসেবে ফেরত দেয়।
সিনট্যাক্স
makeString(value)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
value | যেকোনো | রূপান্তর করার মান। |
সংশ্লিষ্ট অনুমতি
কিছুই না।
makeTableMap
দুটি কলাম সহ একটি সাধারণ টেবিল অবজেক্টকে Map এ রূপান্তর করে। এটি দুটি কলাম সহ একটি SIMPLE_TABLE টেমপ্লেট ফিল্ডকে আরও সহজে পরিচালনাযোগ্য বিন্যাসে পরিবর্তন করতে ব্যবহৃত হয়।
উদাহরণস্বরূপ, এই ফাংশনটি একটি টেবিল অবজেক্টকে রূপান্তর করতে পারে:
[
{'key': 'k1', 'value': 'v1'},
{'key': 'k2', 'value': 'v2'}
]
একটি মানচিত্রে:
{
'k1': 'v1',
'k2': 'v2'
}
একটি অবজেক্ট রিটার্ন করে: যদি এতে কী-ভ্যালু পেয়ার যোগ করা হয়ে থাকে, তবে রূপান্তরিত Map , অন্যথায় null ।
সিনট্যাক্স
makeTableMap(tableObj, keyColumnName, valueColumnName)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
tableObj | তালিকা | রূপান্তর করার জন্য টেবিল অবজেক্ট। এটি ম্যাপের একটি তালিকা, যেখানে প্রতিটি Map টেবিলের একটি সারিকে প্রতিনিধিত্ব করে। একটি সারি অবজেক্টের প্রতিটি প্রপার্টির নাম হলো কলামের নাম এবং প্রপার্টির মান হলো সেই সারির কলামের মান। |
keyColumnName | স্ট্রিং | সেই কলামের নাম, যার মানগুলো রূপান্তরিত Map কী (key) হিসেবে ব্যবহৃত হবে। |
valueColumnName | স্ট্রিং | সেই কলামের নাম যার মানগুলো রূপান্তরিত Map মান হয়ে উঠবে। |
সংশ্লিষ্ট অনুমতি
কিছুই না।
Math
একটি অবজেক্ট যা Math ফাংশন প্রদান করে।
সিনট্যাক্স
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);
প্যারামিটার
গাণিতিক ফাংশনের প্যারামিটারগুলোকে সংখ্যায় রূপান্তর করা হয়।
সংশ্লিষ্ট অনুমতি
কিছুই না।
Object
এমন একটি অবজেক্ট ফেরত দেয় যা Object মেথডসমূহ প্রদান করে।
` keys() ` মেথডটি স্ট্যান্ডার্ড লাইব্রেরির ` Object.keys()` মেথডের মতো আচরণ প্রদান করে। এটি একটি প্রদত্ত অবজেক্টের নিজস্ব এনুমারেবল প্রপার্টির নামগুলোর একটি অ্যারে রিটার্ন করে, ঠিক সেই ক্রমে যেভাবে একটি for...in... লুপ কাজ করে। যদি ইনপুট ভ্যালুটি অবজেক্ট না হয়, তবে এটিকে জোর করে একটি অবজেক্টে রূপান্তর করা হবে।
values() মেথডটি স্ট্যান্ডার্ড লাইব্রেরির Object.values() মেথডের মতো আচরণ প্রদান করে। এটি একটি প্রদত্ত অবজেক্টের নিজস্ব এনুমারেবল প্রপার্টির মানগুলোকে for...in... লুপের মতো একই ক্রমে একটি অ্যারেতে ফেরত দেয়। যদি ইনপুট মানটি একটি অবজেক্ট না হয়, তবে এটিকে জোর করে একটি অবজেক্টে রূপান্তর করা হবে।
entries() মেথডটি স্ট্যান্ডার্ড লাইব্রেরির Object.entries() মেথডের মতো আচরণ প্রদান করে। এটি একটি প্রদত্ত অবজেক্টের নিজস্ব এনুমারেবল প্রপার্টি [key, value] জোড়াগুলোকে for...in... লুপের মতো একই ক্রমে একটি অ্যারেতে ফেরত দেয়। যদি ইনপুট ভ্যালুটি কোনো অবজেক্ট না হয়, তবে এটিকে জোর করে একটি অবজেক্টে রূপান্তর করা হবে।
freeze() মেথডটি স্ট্যান্ডার্ড লাইব্রেরির Object.freeze() এর মতো আচরণ প্রদান করে। একটি ফ্রোজেন অবজেক্ট আর পরিবর্তন করা যায় না; একটি অবজেক্টকে ফ্রিজ করলে তাতে নতুন প্রোপার্টি যোগ করা, বিদ্যমান প্রোপার্টি মুছে ফেলা এবং সেগুলোর মান পরিবর্তন করা বন্ধ হয়ে যায়। freeze() মেথডটি পাস করা অবজেক্টটিই রিটার্ন করে। একটি প্রিমিটিভ বা null আর্গুমেন্টকে ফ্রোজেন অবজেক্ট হিসেবে গণ্য করা হবে এবং সেটিই রিটার্ন করা হবে।
` delete() ` মেথডটি স্ট্যান্ডার্ড লাইব্রেরির `delete` অপারেটরের মতো আচরণ করে। এটি অবজেক্ট থেকে প্রদত্ত কী-টি মুছে ফেলে, যদি না অবজেক্টটি ফ্রোজেন (frozen) করা থাকে। স্ট্যান্ডার্ড লাইব্রেরির `delete` অপারেটরের মতোই, যদি প্রথম ইনপুট ভ্যালুটি ( objectInput ) এমন একটি অবজেক্ট হয় যা ফ্রোজেন করা নেই, তাহলে এটি true রিটার্ন করে, এমনকি যদি দ্বিতীয় ইনপুট ভ্যালুটি ( keyToDelete ) এমন একটি কী নির্দিষ্ট করে যা বিদ্যমান নেই। অন্য সব ক্ষেত্রে এটি false রিটার্ন করে। তবে, এটি নিম্নলিখিত উপায়ে স্ট্যান্ডার্ড লাইব্রেরির `delete` অপারেটর থেকে ভিন্ন:
-
keyToDeleteএমন কোনো ডট-ডিলিমিটেড স্ট্রিং হতে পারে না যা একটি নেস্টেড কী নির্দিষ্ট করে। - অ্যারে থেকে উপাদান মুছে ফেলার জন্য
delete()ব্যবহার করা যায় না। - গ্লোবাল স্কোপ থেকে কোনো প্রোপার্টি মুছে ফেলার জন্য
delete()ব্যবহার করা যায় না।
সিনট্যাক্স
Object.keys(objectInput)
Object.values(objectInput)
Object.entries(objectInput)
Object.freeze(objectInput)
Object.delete(objectInput, keyToDelete)
প্যারামিটার
অবজেক্ট.কী
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
| অবজেক্ট ইনপুট | যেকোনো | যে অবজেক্টটির কী-গুলো গণনা করতে হবে। যদি ইনপুটটি একটি অবজেক্ট না হয়, তবে এটিকে একটি অবজেক্টে রূপান্তরিত করা হবে। |
Object.values
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
| অবজেক্ট ইনপুট | যেকোনো | যে অবজেক্টটির মানগুলো গণনা করতে হবে। যদি ইনপুটটি কোনো অবজেক্ট না হয়, তবে এটিকে একটি অবজেক্টে রূপান্তরিত করা হবে। |
অবজেক্ট.এন্ট্রি
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
| অবজেক্ট ইনপুট | যেকোনো | যে অবজেক্টটির কী/ভ্যালু পেয়ারগুলো গণনা করতে হবে। যদি ইনপুটটি অবজেক্ট না হয়, তবে এটিকে একটি অবজেক্টে রূপান্তরিত করা হবে। |
অবজেক্ট.ফ্রিজ
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
| অবজেক্ট ইনপুট | যেকোনো | যে অবজেক্টটিকে ফ্রিজ করতে হবে। যদি ইনপুটটি কোনো অবজেক্ট না হয়, তবে এটিকে একটি ফ্রোজেন অবজেক্ট হিসেবে গণ্য করা হবে। |
অবজেক্ট.ডিলিট
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
| অবজেক্ট ইনপুট | যেকোনো | যে অবজেক্টটির কী মুছে ফেলতে হবে। |
| keyToDelete | স্ট্রিং | মুছে ফেলার জন্য শীর্ষ-স্তরের কী। |
উদাহরণ
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
URL অবজেক্টের মতোই, এটি এমন একটি অবজেক্ট রিটার্ন করে যাতে প্রদত্ত URL-এর সমস্ত উপাদান অংশ থাকে।
যেকোনো ত্রুটিপূর্ণ URL-এর জন্য এই API-টি undefined রিটার্ন করবে। সঠিকভাবে ফরম্যাট করা URL-এর ক্ষেত্রে, URL স্ট্রিং-এ উপস্থিত নয় এমন ফিল্ডগুলোর মান একটি খালি স্ট্রিং হবে, অথবা searchParams এর ক্ষেত্রে একটি খালি অবজেক্ট হবে।
ফেরত আসা অবজেক্টটিতে নিম্নলিখিত ফিল্ডগুলো থাকবে:
{
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,
}
উদাহরণ
const parseUrl = require('parseUrl');
const urlObject = parseUrl('https://abc:xyz@example.com:8080/foo?param=val%2Cue#bar');
সিনট্যাক্স
parseUrl(url);
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
url | স্ট্রিং | সম্পূর্ণ ইউআরএল যা পার্স করা হবে। |
সংশ্লিষ্ট অনুমতি
কিছুই না।
queryPermission
অনুমোদিত এবং সীমিত অনুমতিগুলো সম্পর্কে জিজ্ঞাসা করুন। এটি একটি বুলিয়ান মান ফেরত দেয়: অনুমতি দেওয়া থাকলে true , অন্যথায় false ।
সিনট্যাক্স
queryPermission(permission, functionArgs*)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
permission | স্ট্রিং | অনুমতির নাম। |
functionArgs | যেকোনো | যে অনুমতি চাওয়া হচ্ছে তার উপর ভিত্তি করে ফাংশন আর্গুমেন্ট ভিন্ন হয়। নিচে ফাংশন আর্গুমেন্ট দেখুন। |
ফাংশন আর্গুমেন্ট
sendPixel , injectScript , injectHiddenIframe : দ্বিতীয় প্যারামিটারটি একটি URL স্ট্রিং হওয়া উচিত।
writeGlobals , readGlobals : দ্বিতীয় প্যারামিটারটি হবে সেই কী (key) যা লেখা বা পড়া হচ্ছে।
readUrl : সম্পূর্ণ URL পড়া যাবে কিনা তা জানতে কোনো অতিরিক্ত আর্গুমেন্টের প্রয়োজন নেই। কোনো নির্দিষ্ট কম্পোনেন্ট পড়া যাবে কিনা তা জানতে, কম্পোনেন্টের নামটি দ্বিতীয় আর্গুমেন্ট হিসেবে পাস করুন:
if (queryPermission('readUrl','port')) {
// read the port
}
কোনো নির্দিষ্ট কোয়েরি কী পাঠযোগ্য কিনা তা পরীক্ষা করতে, কোয়েরি কী-টি তৃতীয় প্যারামিটার হিসেবে পাস করুন:
if (queryPermission('readUrl','query','key')) {
getUrlComponent(...);
}
সংশ্লিষ্ট অনুমতি
কিছুই না।
readAnalyticsStorage
অ্যানালিটিক্সের জন্য সংরক্ষিত ডেটা পুনরুদ্ধার করে এবং client_id ও sessions সহ একটি অবজেক্ট ফেরত দেয়।
-
client_id: অ্যানালিটিক্সের জন্য ব্যবহৃত ক্লায়েন্ট আইডি-র একটি স্ট্রিং। -
sessions: বর্তমান সেশন সম্পর্কিত তথ্য ধারণকারী অবজেক্টের একটি অ্যারে। প্রতিটি অবজেক্টে অন্তর্ভুক্ত থাকে:-
measurement_id: অ্যানালিটিক্স ডেস্টিনেশনের মেজারমেন্ট আইডি নির্দেশকারী একটি স্ট্রিং। -
session_id: একটি স্ট্রিং যা বর্তমান সেশনটিকে শনাক্তকারী টাইমস্ট্যাম্প উপস্থাপন করে। -
session_number: একটি সংখ্যা যা বর্তমান সেশন পর্যন্ত একজন ব্যবহারকারীর শুরু করা সেশনের সংখ্যা নির্দেশ করে।
-
সিনট্যাক্স
const readAnalyticsStorage = require('readAnalyticsStorage');
const cookieOptions = {
cookie_prefix: "xyz",
cookie_domain: "google.com",
cookie_path: "/",
};
readAnalyticsStorage(cookieOptions);
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
cookieOptions | বস্তু | নির্দিষ্ট cookie_prefix , cookie_domain বা cookie_path ব্যবহার করে কুকি পড়ার জন্য ঐচ্ছিক বিকল্পসমূহ। |
সংশ্লিষ্ট অনুমতি
উদাহরণ
const readAnalyticsStorage = require('readAnalyticsStorage');
const analyticsStorageData = readAnalyticsStorage();
sendOfflineEvent(analyticsStorageData.client_id, "tutorial_begin");
readCharacterSet
document.characterSet এর মান ফেরত দেয়।
সিনট্যাক্স
readCharacterSet()
প্যারামিটার
কিছুই না।
সংশ্লিষ্ট অনুমতি
readTitle
document.title এর মান ফেরত দেয়।
সিনট্যাক্স
readTitle()
প্যারামিটার
কিছুই না।
সংশ্লিষ্ট অনুমতি
require
নাম দ্বারা একটি বিল্ট-ইন ফাংশন ইম্পোর্ট করে। একটি ফাংশন বা অবজেক্ট রিটার্ন করে যা আপনার প্রোগ্রাম থেকে কল করা যেতে পারে। ব্রাউজার বিল্ট-ইন ফাংশনটি সমর্থন না করলে undefined রিটার্ন করে।
সিনট্যাক্স
require(name)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
name | স্ট্রিং | যে ফাংশনটি ইম্পোর্ট করতে হবে তার নাম। |
উদাহরণ
const getUrl = require('getUrl');
const url = getUrl();
সংশ্লিষ্ট অনুমতি
কিছুই না।
sendPixel
একটি নির্দিষ্ট ইউআরএল এন্ডপয়েন্টে GET অনুরোধ পাঠায়।
সিনট্যাক্স
sendPixel(url, onSuccess, onFailure)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
url | স্ট্রিং | পিক্সেলটি কোথায় পাঠাতে হবে। |
onSuccess | ফাংশন | পিক্সেল সফলভাবে লোড হলে এটি কল করা হয়। দ্রষ্টব্য: অনুরোধ সফলভাবে পাঠানো হলেও, onSuccess চালানোর জন্য ব্রাউজারগুলির একটি বৈধ ইমেজ রেসপন্সের প্রয়োজন হতে পারে। |
onFailure | ফাংশন | পিক্সেল লোড হতে ব্যর্থ হলে এটি কল করা হয়। দ্রষ্টব্য: অনুরোধ সফলভাবে পাঠানো হলেও, সার্ভার যদি একটি বৈধ ছবির প্রতিক্রিয়া ফেরত না দেয়, তাহলে onFailure চালু হতে পারে। |
সংশ্লিষ্ট অনুমতি
setCookie
নির্দিষ্ট নাম, মান এবং অপশনসহ কুকিটি সেট বা ডিলিট করে।
সিনট্যাক্স
setCookie(name, value[, options, encode])
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
name | স্ট্রিং | কুকিটির নাম। |
value | স্ট্রিং | কুকিটির মান। |
options | বস্তু | Domain, Path, Expires, Max-Age, Secure, এবং SameSite অ্যাট্রিবিউটগুলো নির্দিষ্ট করে। (নিচে Options দেখুন।) |
encode | বুলিয়ান | কুকির মান জাভাস্ক্রিপ্টের encodeURIComponent() ব্যবহার করে এনকোড করা হবে কিনা তা নিয়ন্ত্রণ করে। এর ডিফল্ট মান হলো true । |
- ডোমেইন: যদি উপস্থিত থাকে, তাহলে
options['domain']প্রপার্টি দ্বারা এটি সেট করা হয়। ডকুমেন্ট লোকেশনের উপর ভিত্তি করে সম্ভাব্য সবচেয়ে বিস্তৃত ডোমেইন ব্যবহার করে কুকিটি লেখার চেষ্টা করার জন্য এই মানটি'auto'যদি সেটি ব্যর্থ হয়, তবে এটি ক্রমান্বয়ে সংকীর্ণতর সাবডোমেইনগুলো চেষ্টা করবে। যদি সেগুলোর সবকটিও ব্যর্থ হয়, তবে এটি কোনো ডোমেইন ছাড়াই কুকিটি লেখার চেষ্টা করবে। যদি কোনো মান সেট করা না থাকে, তবে এটি কোনো ডোমেইন নির্দিষ্ট না করেই কুকিটি লেখার চেষ্টা করবে। দ্রষ্টব্য: যখন কোনো ডোমেইন নির্দিষ্ট না করা কুকিdocument.cookieতে লেখা হয়, তখন ইউজার এজেন্ট ডিফল্টভাবে কুকিটির ডোমেইন হিসেবে বর্তমান ডকুমেন্ট লোকেশনের হোস্টকে সেট করে নেয়। - পাথ:
options['path']দ্বারা সেট করা হয়, যদি উপস্থিত থাকে। যখন পাথ নির্দিষ্ট না করা কোনো কুকিdocument.cookieতে লেখা হয়, তখন ইউজার এজেন্ট ডিফল্টভাবে কুকিটির পাথকে বর্তমান ডকুমেন্ট লোকেশনের পাথে সেট করে দেয়। - সর্বোচ্চ বয়স:
options['max-age']দ্বারা নির্ধারিত, যদি উপস্থিত থাকে। - মেয়াদ শেষ হওয়ার তারিখ:
options['expires']দ্বারা নির্ধারিত হয়, যদি উপস্থিত থাকে। যদি উপস্থিত থাকে, তবে এটি অবশ্যই একটি UTC-ফরম্যাট করা তারিখ স্ট্রিং হতে হবে। এই প্যারামিটারের জন্য একটিDateফরম্যাট করতেDate.toUTCString()ব্যবহার করা যেতে পারে। - সুরক্ষিত:
options['secure']দ্বারা সেট করা হয়, যদি উপস্থিত থাকে। - SameSite: যদি উপস্থিত থাকে, তাহলে
options['samesite']দ্বারা সেট করা হয়।
সংশ্লিষ্ট অনুমতি
setDefaultConsentState
ডেটা লেয়ারে একটি ডিফল্ট সম্মতি আপডেট পাঠায়, যা বর্তমান ইভেন্ট এবং এর দ্বারা ট্রিগার হওয়া ট্যাগগুলোর প্রসেসিং শেষ হওয়ার পর (অথবা ট্যাগ প্রসেসিং টাইমআউট শেষ হলে) যত দ্রুত সম্ভব প্রসেস করা হবে। ডেটা লেয়ারের কিউতে থাকা যেকোনো আইটেমের আগে এই কন্টেইনারে আপডেটটি প্রসেস করা হবে, এটি নিশ্চিত করা হয়। সম্মতি সম্পর্কে আরও জানুন ।
উদাহরণ:
const setDefaultConsentState = require('setDefaultConsentState');
setDefaultConsentState({
'ad_storage': 'denied',
'analytics_storage': 'granted',
'third_party_storage': 'denied',
'region': ['US-CA'],
'wait_for_update': 500
});
সিনট্যাক্স
setDefaultConsentState(consentSettings)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
consentSettings | বস্তু | একটি অবজেক্ট যা নির্দিষ্ট সম্মতি প্রকারগুলির জন্য ডিফল্ট অবস্থা নির্ধারণ করে। |
consentSettings অবজেক্টটি হলো যেকোনো সম্মতি প্রকারের স্ট্রিংকে 'granted' বা 'denied' এর যেকোনো একটিতে ম্যাপ করে। এটি নিম্নলিখিত মানগুলি সমর্থন করে:
| চাবির নাম | প্রকার | বর্ণনা |
|---|---|---|
consentType | স্ট্রিং | প্রতিটি সম্মতি প্রকারের জন্য মান `'granted'` বা `'denied'` হিসেবে সেট করা যেতে পারে। `'granted'` ছাড়া অন্য যেকোনো মান `'denied'` হিসেবে গণ্য হবে। মান `undefined`-এ সেট করলে এর পূর্ববর্তী মানের উপর কোনো প্রভাব পড়বে না। |
region | অ্যারে | অঞ্চল কোডগুলির একটি ঐচ্ছিক বিন্যাস যা নির্দিষ্ট করে যে সম্মতি সেটিংস কোন অঞ্চলের জন্য প্রযোজ্য। অঞ্চল কোডগুলি ISO 3166-2 বিন্যাসে দেশ এবং/অথবা উপবিভাগ ব্যবহার করে প্রকাশ করা হয়। |
wait_for_update | সংখ্যা | ডেটা পাঠানোর আগে কতক্ষণ অপেক্ষা করতে হবে তা নিয়ন্ত্রণ করার জন্য একটি মিলিসেকেন্ড মান নির্দিষ্ট করে। যেসব কনসেন্ট টুল অ্যাসিঙ্ক্রোনাসভাবে লোড হয়, সেগুলোর সাথে এটি ব্যবহৃত হয়। |
সংশ্লিষ্ট অনুমতি
consentSettings অবজেক্টের সকল প্রকার সম্মতির জন্য লেখার অনুমতিসহ access_consent পারমিশন।
setInWindow
window নির্দিষ্ট কী-তে প্রদত্ত মানটি সেট করে। ডিফল্টরূপে, যদি window আগে থেকেই কোনো মান উপস্থিত থাকে, তবে এই পদ্ধতিটি মানটি সেট করবে না। আগে থেকে কোনো মান উপস্থিত থাকা সত্ত্বেও window মানটি সেট করতে overrideExisting true তে সেট করুন। একটি বুলিয়ান রিটার্ন করে: মানটি সফলভাবে সেট হলে true , এবং অন্যথায় false ।
সিনট্যাক্স
setInWindow(key, value, overrideExisting)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
key | স্ট্রিং | মানটি স্থাপন করার জন্য window কী-টি ব্যবহার করুন। |
value | * | window যে মানটি সেট করতে হবে। |
overrideExisting | বুলিয়ান | window কোনো মান থাকুক বা না থাকুক, সেই মানটি নির্দেশকারী ফ্ল্যাগটি সেট করতে হবে। |
সংশ্লিষ্ট অনুমতি
sha256
ইনপুটের SHA-256 ডাইজেস্ট গণনা করে এবং সেই ডাইজেস্টটিকে base64-এ এনকোড করে একটি কলব্যাক চালু করে, যদি না options অবজেক্টে কোনো ভিন্ন আউটপুট এনকোডিং নির্দিষ্ট করা থাকে।
উদাহরণ:
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'});
সিনট্যাক্স
sha256(input, onSuccess, onFailure = undefined, options = undefined)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
input | স্ট্রিং | যে স্ট্রিংটির হ্যাশ গণনা করতে হবে। |
onSuccess | ফাংশন | যদি না options অবজেক্টে ভিন্ন কোনো আউটপুট এনকোডিং নির্দিষ্ট করা থাকে, তবে প্রাপ্ত ডাইজেস্টটি বেস৬৪-এ এনকোড করে কল করা হয়। |
onFailure | ফাংশন | ডাইজেস্ট গণনা করার সময় কোনো ত্রুটি ঘটলে, অথবা ব্রাউজারে sha256-এর জন্য নেটিভ সাপোর্ট না থাকলে এটি কল করা হয়। এই কলব্যাকটি একটি অবজেক্ট সহ কল করা হয়, যেটিতে ত্রুটির নাম এবং বার্তা থাকে। |
options | বস্তু | আউটপুট এনকোডিং নির্দিষ্ট করার জন্য ঐচ্ছিক অপশনস অবজেক্ট। যদি এটি নির্দিষ্ট করা হয়, তবে অবজেক্টটিতে outputEncoding কী-টি থাকতে হবে, যার ভ্যালু হিসেবে base64 বা hex এর মধ্যে যেকোনো একটি থাকবে। |
সংশ্লিষ্ট অনুমতি
কিছুই না।
templateStorage
টেমপ্লেট স্টোরেজ অ্যাক্সেস করার মেথডসহ একটি অবজেক্ট রিটার্ন করে। টেমপ্লেট স্টোরেজ একটিমাত্র টেমপ্লেটের একাধিক এক্সিকিউশনের মধ্যে ডেটা শেয়ার করার সুযোগ দেয়। টেমপ্লেট স্টোরেজে সংরক্ষিত ডেটা পেজটির জীবনকাল পর্যন্ত স্থায়ী থাকে।
সিনট্যাক্স
const templateStorage = require('templateStorage');
templateStorage.getItem(key);
templateStorage.setItem(key, value);
templateStorage.removeItem(key);
// Deletes all stored values for the template.
templateStorage.clear();
সংশ্লিষ্ট অনুমতি
উদাহরণ
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
toBase64 API আপনাকে একটি স্ট্রিংকে বেস৬৪ উপস্থাপনায় এনকোড করতে দেয়।
সিনট্যাক্স
toBase64(input)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
input | স্ট্রিং | এনকোড করার জন্য স্ট্রিং। |
উদাহরণ
const toBase64 = require('toBase64');
const base64Hello = toBase64('hello');
সংশ্লিষ্ট অনুমতি
কোনোটিই না
updateConsentState
বর্তমান ইভেন্ট এবং এর দ্বারা ট্রিগার হওয়া ট্যাগগুলোর প্রসেসিং শেষ হওয়ার পর (অথবা ট্যাগ প্রসেসিং টাইমআউট শেষ হলে) যত দ্রুত সম্ভব প্রসেস করার জন্য, এটি ডেটা লেয়ারে একটি কনসেন্ট আপডেট পাঠায়। ডেটা লেয়ারের কিউতে থাকা যেকোনো আইটেমের আগে এই কন্টেইনারে আপডেটটি প্রসেস করা হবে, এটি নিশ্চিত করা হয়। কনসেন্ট সম্পর্কে আরও জানুন ।
উদাহরণ:
const updateConsentState = require('updateConsentState');
updateConsentState({
'ad_storage': 'granted',
'analytics_storage': 'denied',
'third_party_storage': 'granted',
});
সিনট্যাক্স
updateConsentState(consentSettings)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
consentSettings | বস্তু | এমন একটি অবজেক্ট যা নির্দিষ্ট সম্মতি প্রকারগুলির অবস্থা হালনাগাদ করে। |
consentSettings অবজেক্টটি হলো যেকোনো সম্মতি প্রকারের স্ট্রিংকে 'granted' বা 'denied' এর যেকোনো একটিতে ম্যাপ করে। এটি নিম্নলিখিত মানগুলি সমর্থন করে:
| চাবির নাম | প্রকার | বর্ণনা |
|---|---|---|
consentType | স্ট্রিং | প্রতিটি সম্মতি প্রকারের জন্য মান 'অনুমোদিত' বা 'অস্বীকৃত' হিসেবে সেট করা যেতে পারে। 'অনুমোদিত' ছাড়া অন্য যেকোনো মান 'অস্বীকৃত' হিসেবে গণ্য হবে। মানটিকে 'অসংজ্ঞায়িত' হিসেবে সেট করলে এর পূর্ববর্তী মানের উপর কোনো প্রভাব পড়বে না। |
সংশ্লিষ্ট অনুমতি
consentSettings অবজেক্টের সকল প্রকার সম্মতির জন্য লেখার অনুমতিসহ access_consent পারমিশন।
টেস্ট এপিআই
এই API-গুলো গুগল ট্যাগ ম্যানেজারের কাস্টম টেমপ্লেটের জন্য টেস্ট তৈরি করতে স্যান্ডবক্সড জাভাস্ক্রিপ্ট টেস্টের সাথে কাজ করে। এই টেস্ট API-গুলোর জন্য require() স্টেটমেন্টের প্রয়োজন হয় না। কাস্টম টেমপ্লেট টেস্ট সম্পর্কে আরও জানুন ।
assertApi
একটি ম্যাচিং অবজেক্ট রিটার্ন করে যা প্রদত্ত API সম্পর্কে সাবলীলভাবে অ্যাসারশন করার জন্য ব্যবহার করা যেতে পারে।
সিনট্যাক্স
assertApi(apiName)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
apiName | স্ট্রিং | যে এপিআইটি যাচাই করতে হবে তার নাম; এটি require() এ পাঠানো স্ট্রিংটির মতোই। |
ম্যাচার্স
-
Subject.wasCalled() -
Subject.wasNotCalled() -
Subject.wasCalledWith(...expected) -
Subject.wasNotCalledWith(...expected)
উদাহরণ
assertApi('sendPixel').wasCalled();
assertApi('getUrl').wasNotCalled();
assertApi('makeNumber').wasCalledWith('8');
assertApi('setInWindow').wasNotCalledWith('myVar', 'theWrongValue');
assertThat
assertThat API-টি গুগলের [Truth] লাইব্রেরির আদলে তৈরি করা হয়েছে। এটি এমন একটি অবজেক্ট রিটার্ন করে যা ব্যবহার করে কোনো বিষয়ের মান সম্পর্কে সাবলীলভাবে অ্যাসারশন করা যায়। কোনো অ্যাসারশন ব্যর্থ হলে টেস্টটি সঙ্গে সঙ্গে বন্ধ হয়ে যাবে এবং ব্যর্থ হিসেবে চিহ্নিত হবে। তবে, একটি টেস্ট ব্যর্থ হলে তা অন্য টেস্ট কেসগুলোকে প্রভাবিত করবে না।
সিনট্যাক্স
assertThat(actual, opt_message)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
actual | যেকোনো | ফ্লুয়েন্ট চেকগুলিতে ব্যবহার করার জন্য মান। |
opt_message | স্ট্রিং | অ্যাসারশন ব্যর্থ হলে প্রিন্ট করার জন্য ঐচ্ছিক বার্তা। |
ম্যাচার্স
| ম্যাচিং | বর্ণনা |
|---|---|
isUndefined() | দাবি করে যে বিষয়টি undefined । |
isDefined() | দাবি করে যে বিষয়টি undefined নয়। |
isNull() | দাবি করে যে বিষয়টি null । |
isNotNull() | দাবি করে যে বিষয়টি null নয়। |
isFalse() | বিষয়টি false বলে দাবি করে। |
isTrue() | বিষয়টি true বলে দাবি করে। |
isFalsy() | নিশ্চিত করে যে সাবজেক্টটি ফলসি। ফলসি ভ্যালুগুলো হলো undefined , null , false , NaN , 0, এবং '' (খালি স্ট্রিং)। |
isTruthy() | এটি নিশ্চিত করে যে আলোচ্য বিষয়টি সত্য। মিথ্যা মানগুলো হলো undefined , null , false , NaN , 0 এবং '' (খালি স্ট্রিং)। |
isNaN() | দাবি করা হচ্ছে যে আলোচ্য বিষয়টির মান হলো NaN। |
isNotNaN() | দাবি করে যে আলোচ্য বিষয়টি NaN ব্যতীত অন্য যেকোনো মান। |
isInfinity() | বিষয়টি ধনাত্মক বা ঋণাত্মক অসীম বলে দাবি করে। |
isNotInfinity() | দাবি করে যে আলোচ্য বিষয়টি ধনাত্মক বা ঋণাত্মক অসীম ব্যতীত অন্য যেকোনো মান। |
isEqualTo(expected) | এটি নিশ্চিত করে যে আলোচ্য বিষয়টি প্রদত্ত মানের সমান। এটি একটি মান তুলনা, কোনো রেফারেন্স তুলনা নয়। অবজেক্ট এবং অ্যারের বিষয়বস্তু পুনরাবৃত্তিমূলকভাবে তুলনা করা হয়। |
isNotEqualTo(expected) | এটি নিশ্চিত করে যে আলোচ্য বিষয়টি প্রদত্ত মানের সমান নয়। এটি একটি মান তুলনা, কোনো রেফারেন্স তুলনা নয়। অবজেক্ট এবং অ্যারের বিষয়বস্তু পুনরাবৃত্তিমূলকভাবে তুলনা করা হয়। |
isAnyOf(...expected) | এটি নিশ্চিত করে যে সাবজেক্টটি প্রদত্ত মানগুলোর মধ্যে একটির সমান। এটি একটি ভ্যালু কম্প্যারিসন, রেফারেন্স কম্প্যারিসন নয়। অবজেক্ট এবং অ্যারের বিষয়বস্তু রিকার্সিভলি তুলনা করা হয়। |
isNoneOf(...expected) | এটি নিশ্চিত করে যে আলোচ্য বিষয়টি প্রদত্ত কোনো মানের সমান নয়। এটি একটি মান তুলনা, কোনো রেফারেন্স তুলনা নয়। অবজেক্ট এবং অ্যারের বিষয়বস্তু পুনরাবৃত্তিমূলকভাবে তুলনা করা হয়। |
isStrictlyEqualTo(expected) | দাবি করে যে আলোচ্য বিষয়টি প্রদত্ত মানের হুবহু সমান ( === )। |
isNotStrictlyEqualTo(expected) | দাবি করে যে আলোচ্য বিষয়টি প্রদত্ত মানের হুবহু সমান নয় ( !== )। |
isGreaterThan(expected) | ক্রমিক তুলনার ক্ষেত্রে, আলোচ্য বিষয়টি যে প্রদত্ত মানের চেয়ে বৃহত্তর ( > ) তা দাবি করে। |
isGreaterThanOrEqualTo(expected) | ক্রমিক তুলনার ক্ষেত্রে, আলোচ্য বিষয়টি প্রদত্ত মানের চেয়ে বৃহত্তর বা সমান ( >= ) তা নিশ্চিত করে। |
isLessThan(expected) | ক্রমিক তুলনার ক্ষেত্রে, আলোচ্য বিষয়টি প্রদত্ত মানের চেয়ে ছোট ( < ) তা নিশ্চিত করে। |
isLessThanOrEqualTo(expected) | ক্রমিক তুলনার ক্ষেত্রে, আলোচ্য বিষয়টি প্রদত্ত মানের চেয়ে কম বা সমান ( <= ) তা নিশ্চিত করে। |
contains(...expected) | এটি নিশ্চিত করে যে আলোচ্য বিষয়টি একটি অ্যারে বা স্ট্রিং, যা প্রদত্ত সমস্ত মান যেকোনো ক্রমে ধারণ করে। এটি একটি মান তুলনা, কোনো রেফারেন্স তুলনা নয়। অবজেক্ট এবং অ্যারের বিষয়বস্তু রিকার্সিভভাবে তুলনা করা হয়। |
doesNotContain(...expected) | এটি নিশ্চিত করে যে আলোচ্য বিষয়টি একটি অ্যারে বা স্ট্রিং, যাতে প্রদত্ত মানগুলোর কোনোটিই নেই। এটি একটি মান তুলনা, রেফারেন্স তুলনা নয়। অবজেক্ট এবং অ্যারের বিষয়বস্তু রিকার্সিভভাবে তুলনা করা হয়। |
containsExactly(...expected) | এটি নিশ্চিত করে যে সাবজেক্টটি একটি অ্যারে, যাতে প্রদত্ত সমস্ত ভ্যালু যেকোনো ক্রমে রয়েছে এবং অন্য কোনো ভ্যালু নেই। এটি একটি ভ্যালু তুলনা, রেফারেন্স তুলনা নয়। অবজেক্ট এবং অ্যারের বিষয়বস্তু রিকার্সিভভাবে তুলনা করা হয়। |
doesNotContainExactly(...expected) | এটি নিশ্চিত করে যে আলোচ্য বিষয়টি একটি অ্যারে, যাতে প্রদত্ত মানগুলো থেকে ভিন্ন কোনো মান যেকোনো ক্রমে থাকতে পারে। এটি একটি মান তুলনা, কোনো রেফারেন্স তুলনা নয়। অবজেক্ট এবং অ্যারের বিষয়বস্তু পুনরাবৃত্তিমূলকভাবে তুলনা করা হয়। |
hasLength(expected) | নিশ্চিত করে যে সাবজেক্টটি প্রদত্ত দৈর্ঘ্যের একটি অ্যারে বা স্ট্রিং। যদি মানটি অ্যারে বা স্ট্রিং না হয়, তবে অ্যাসারশনটি সর্বদা ব্যর্থ হয়। |
isEmpty() | নিশ্চিত করে যে সাবজেক্টটি একটি অ্যারে অথবা খালি (দৈর্ঘ্য = ০) স্ট্রিং। যদি ভ্যালুটি অ্যারে বা স্ট্রিং না হয়, তবে অ্যাসারশনটি সর্বদা ব্যর্থ হয়। |
isNotEmpty() | নিশ্চিত করে যে সাবজেক্টটি একটি অ্যারে বা স্ট্রিং যা খালি নয় (দৈর্ঘ্য > ০)। যদি মানটি অ্যারে বা স্ট্রিং না হয়, তাহলে অ্যাসারশনটি সর্বদা ব্যর্থ হয়। |
isArray() | নিশ্চিত করে যে সাবজেক্টের টাইপটি একটি অ্যারে। |
isBoolean() | নিশ্চিত করে যে আলোচ্য বিষয়টির ধরণ একটি বুলিয়ান। |
isFunction() | দাবি করা হয় যে, বিষয়ের ধরণ একটি ফাংশন। |
isNumber() | দাবি করে যে, আলোচ্য বিষয়টির ধরণ হলো একটি সংখ্যা। |
isObject() | দাবি করে যে, বিষয়টির ধরণ হলো একটি বস্তু। |
isString() | নিশ্চিত করে যে বিষয়টির ধরণ একটি স্ট্রিং। |
উদাহরণ
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
তাৎক্ষণিকভাবে বর্তমান পরীক্ষাটি ব্যর্থ করে দেয় এবং প্রদত্ত বার্তাটি (যদি সরবরাহ করা হয়) প্রিন্ট করে।
সিনট্যাক্স
fail(opt_message);
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
opt_message | স্ট্রিং | ঐচ্ছিক ত্রুটি বার্তার পাঠ্য। |
উদাহরণ
fail('This test has failed.');
mock
mock এপিআই আপনাকে স্যান্ডবক্সড এপিআই-এর আচরণ ওভাররাইড করার সুযোগ দেয়। মক এপিআই টেমপ্লেট কোডে ব্যবহার করা নিরাপদ, কিন্তু এটি শুধুমাত্র টেস্ট মোডে কার্যকর থাকে। প্রতিটি টেস্ট চালানোর আগে মকগুলো রিসেট করা হয়।
সিনট্যাক্স
mock(apiName, returnValue);
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
apiName | স্ট্রিং | যে এপিআই-কে মক করতে হবে তার নাম; require() এ পাঠানো স্ট্রিং-এর মতোই। |
returnValue | যেকোনো | এপিআই-এর জন্য যে মানটি ফেরত দেওয়া হবে অথবা এপিআই-এর পরিবর্তে কল করা কোনো ফাংশন। যদি returnValue একটি ফাংশন হয়, তবে স্যান্ডবক্সড এপিআই-এর পরিবর্তে সেই ফাংশনটি কল করা হয়; আর যদি returnValue ফাংশন ছাড়া অন্য কিছু হয়, তবে স্যান্ডবক্সড এপিআই-এর পরিবর্তে সেই মানটি ফেরত দেওয়া হয়। |
উদাহরণ
mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
onSuccess();
});
mockObject
mockObject API আপনাকে অবজেক্ট রিটার্নকারী স্যান্ডবক্সড API-গুলোর আচরণ ওভাররাইড করার সুযোগ দেয়। এই API টেমপ্লেট কোডে ব্যবহার করা নিরাপদ, কিন্তু এটি শুধুমাত্র টেস্ট মোডে কার্যকর থাকে। প্রতিটি টেস্ট চালানোর আগে মকগুলো রিসেট করা হয়।
সিনট্যাক্স
mockObject(apiName, objectMock);
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
apiName | স্ট্রিং | The name of the API to mock; same string as passed to require() |
objectMock | বস্তু | The value to return for the API or a function called in place of the API. Must be an object. |
উদাহরণ
const storage = {};
mockObject('localStorage', {
setItem: (key, value) => {storage[key] = value;},
getItem: (key) => storage[key],
});
runCode
Runs the code for the template, ie the content of the Code tab, in the current test environment with a given input data object.
সিনট্যাক্স
runCode(data)
প্যারামিটার
| প্যারামিটার | প্রকার | বর্ণনা |
|---|---|---|
data | বস্তু | Data object to be used in the test. |
ফেরত মান
Returns the value of a variable for variable templates; returns undefined for all other template types.
উদাহরণ
runCode({field1: 123, field2: 'value'});