টাইপ ডেক্লারেশন ফাইল (Type Declaration Files) TypeScript-এর একটি গুরুত্বপূর্ণ অংশ, যা JavaScript লাইব্রেরি, ফ্রেমওয়ার্ক এবং অন্যান্য ৩য় পার্টি কোডের টাইপ সম্পর্কে TypeScript-কে জানাতে সাহায্য করে। TypeScript নিজে কিছু টাইপ ডেক্লারেশন ফাইল তৈরি করে, তবে অনেক বাইরের লাইব্রেরি বা ফ্রেমওয়ার্কে আপনাকে টাইপ ডেক্লারেশন ফাইল আলাদাভাবে তৈরি করতে বা ইনস্টল করতে হতে পারে।
১. টাইপ ডেক্লারেশন ফাইল কী?
টাইপ ডেক্লারেশন ফাইল .d.ts এক্সটেনশন ব্যবহার করে এবং এগুলো TypeScript-কে জানায় যে, একটি নির্দিষ্ট JavaScript ফাইল কীভাবে কাজ করবে এবং এর ভিতরে কোন ধরনের ডেটা ব্যবহৃত হবে। এটি মূলত টাইপ সিস্টেমে টুল হিসেবে কাজ করে এবং টাইপ চেকিংয়ের জন্য সাহায্য করে।
এটি TypeScript কে বাইরের লাইব্রেরি বা কোডের সঠিক টাইপ সনাক্ত করতে সাহায্য করে, বিশেষত যখন সেই লাইব্রেরি টাইপ নিরাপত্তা নিশ্চিত করার জন্য TypeScript এর জন্য তৈরি করা হয়নি।
২. টাইপ ডেক্লারেশন ফাইলের উদাহরণ
একটি সাধারণ টাইপ ডেক্লারেশন ফাইলের উদাহরণ হতে পারে:
উদাহরণ: myLibrary.d.ts
// myLibrary.d.ts
declare module "myLibrary" {
export function greet(name: string): string;
export function add(a: number, b: number): number;
}
এখানে, myLibrary মডিউলের জন্য একটি টাইপ ডেক্লারেশন ফাইল তৈরি করা হয়েছে। এটি TypeScript-কে জানাচ্ছে যে, greet একটি string আর্গুমেন্ট নেয় এবং একটি string রিটার্ন করে, এবং add দুটি number গ্রহণ করে এবং একটি number রিটার্ন করে।
এই ফাইলটি TypeScript প্রকল্পে ইমপোর্ট করলে, TypeScript সঠিকভাবে টাইপ চেকিং করতে পারবে, এমনকি যদি লাইব্রেরিটি JavaScript দিয়ে লেখা হয়।
৩. টাইপ ডেক্লারেশন ফাইল তৈরি করা
আপনি যখন একটি নতুন লাইব্রেরি ব্যবহার করেন বা এমন কোনও কোড ব্যবহার করেন যার জন্য টাইপ ডেক্লারেশন ফাইল নেই, তখন আপনাকে নিজের টাইপ ডেক্লারেশন ফাইল তৈরি করতে হতে পারে।
টাইপ ডেক্লারেশন ফাইল সাধারণত .d.ts এক্সটেনশন দিয়ে তৈরি করা হয়।
টাইপ ডেক্লারেশন ফাইলের উদাহরণ:
ধরা যাক আপনি একটি utils.js ফাইল ব্যবহার করছেন এবং এতে কিছু ফাংশন রয়েছে, যা আপনি TypeScript-এ ব্যবহার করতে চান। আপনি একটি টাইপ ডেক্লারেশন ফাইল utils.d.ts তৈরি করবেন।
// utils.d.ts
declare function sum(a: number, b: number): number;
declare function multiply(a: number, b: number): number;
এটি TypeScript-কে জানিয়ে দেয় যে, sum এবং multiply ফাংশন দুটি number আর্গুমেন্ট নেবে এবং একটি number রিটার্ন করবে।
৪. ডিক্লারেশন জেনারেশন (Declaration Generation)
টাইপস্ক্রিপ্টে ডিক্লারেশন ফাইল তৈরি করার জন্য tsc (TypeScript Compiler) ব্যবহার করা যেতে পারে। আপনি যখন TypeScript ফাইল থেকে জেনেরেটেড জাভাস্ক্রিপ্ট ফাইলের জন্য ডিক্লারেশন ফাইল ( .d.ts ) তৈরি করতে চান, তখন আপনি --declaration (short -d) অপশন ব্যবহার করবেন।
উদাহরণ: ডিক্লারেশন ফাইল তৈরি করা
ধরা যাক, আপনার একটি TypeScript ফাইল utils.ts রয়েছে, যেখানে কিছু ফাংশন ডিফাইন করা আছে:
// utils.ts
export function sum(a: number, b: number): number {
return a + b;
}
export function multiply(a: number, b: number): number {
return a * b;
}
এখন, আপনি যদি TypeScript ফাইলের জন্য ডিক্লারেশন ফাইল ( .d.ts ) জেনারেট করতে চান, তাহলে নিচের কমান্ডটি ব্যবহার করতে হবে:
tsc --declaration utils.ts
এটি একটি utils.d.ts ফাইল তৈরি করবে, যা নিচের মতো হতে পারে:
// utils.d.ts
export declare function sum(a: number, b: number): number;
export declare function multiply(a: number, b: number): number;
এখন TypeScript প্রকল্পে এই .d.ts ফাইলটি যোগ করলে, TypeScript এই ফাংশনগুলোকে টাইপ সেফভাবে চেক করতে পারবে।
৫. ডিক্লারেশন ফাইল ইনস্টল করা
বহু জনপ্রিয় ৩য় পার্টি লাইব্রেরি যেমন React, Lodash, ইত্যাদির জন্য TypeScript ডিক্লারেশন ফাইল পাওয়া যায়। অনেক লাইব্রেরির জন্য টাইপ ডেক্লারেশন ফাইলগুলো DefinitelyTyped রেপোজিটরিতে রাখা হয়। আপনি npm বা yarn ব্যবহার করে এই ডিক্লারেশন ফাইল ইনস্টল করতে পারেন।
উদাহরণ: React টাইপ ডিক্লারেশন ইনস্টল করা
npm install --save-dev @types/react @types/react-dom
এটি @types/react এবং @types/react-dom প্যাকেজ ইনস্টল করবে, যা React লাইব্রেরির টাইপ ডেক্লারেশন ফাইল। এর মাধ্যমে আপনি React কোডে TypeScript ব্যবহার করতে পারবেন।
৬. TypeScript এর সাথে External Library-র টাইপ ডেক্লারেশন ব্যবহার
অনেক প্যাকেজ TypeScript-এর জন্য টাইপ ডেক্লারেশন ফাইল সরবরাহ করে না, কিন্তু @types স্কোপের মধ্যে বাইরের ডিক্লারেশন ফাইল পাওয়া যেতে পারে। উদাহরণস্বরূপ, lodash লাইব্রেরির জন্য টাইপ ডেক্লারেশন ইনস্টল করা:
npm install --save-dev @types/lodash
এটি lodash লাইব্রেরির জন্য টাইপ ডেক্লারেশন ফাইল ইনস্টল করবে, যার ফলে TypeScript আপনার কোডে lodash ব্যবহার করার সময়ে টাইপ চেক করতে পারবে।
সারাংশ
- টাইপ ডেক্লারেশন ফাইল
.d.tsএক্সটেনশন দিয়ে তৈরি হয় এবং বাইরের JavaScript লাইব্রেরি বা কোডের টাইপ সম্পর্কে TypeScript-কে জানায়। - টাইপ ডেক্লারেশন ফাইল তৈরি করা বা ইনস্টল করার মাধ্যমে আপনি TypeScript-কে একটি JavaScript কোডের সঠিক টাইপ নির্ধারণ করতে সাহায্য করতে পারেন।
- TypeScript প্রকল্পে ডিক্লারেশন ফাইল তৈরি করতে
--declarationঅপশন ব্যবহার করা হয়। - বাইরের লাইব্রেরির জন্য টাইপ ডিক্লারেশন ফাইল পাওয়া যায় এবং এগুলো DefinitelyTyped রেপোজিটরিতে থাকে।
এই প্রক্রিয়াগুলি ব্যবহার করে TypeScript প্রজেক্টে আপনি বাইরের কোড বা লাইব্রেরি ব্যবহারের সময় টাইপ সেফটি নিশ্চিত করতে পারবেন।
Read more