একবার সংজ্ঞায়িত করুন, সর্বত্র আস্থা রাখুন: CtroEnv Deep Dive

CtroEnv-এর কোর API চারটি validator factory ব্যবহার করে। আপনি সহজেই আপনার environment variables সুরক্ষিত করতে এগুলো ব্যবহার করতে পারেন।

এগুলো যেভাবে কাজ করে:

• string() — এটি টেক্সটের জন্য ব্যবহার করুন। আপনি URL, ইমেল, পোর্ট বা নির্দিষ্ট দৈর্ঘ্যের জন্য নিয়ম (rules) যোগ করতে পারেন। এটি কাস্টম প্যাটার্নের জন্য regex সমর্থন করে।

• number() — এটি সংখ্যাসূচক মানের জন্য ব্যবহার করুন। এটি "3000"-এর মতো স্ট্রিংকে প্রকৃত সংখ্যায় রূপান্তর করে। আপনি integer, পজিটিভ ভ্যালু বা নির্দিষ্ট রেঞ্জ নির্ধারণ করতে পারেন।

• boolean() — এটি true/false মানের জন্য ব্যবহার করুন। এটি "true"-এর মতো স্ট্রিং বা "1"-এর মতো সংখ্যা স্বয়ংক্রিয়ভাবে হ্যান্ডেল করে। এটি feature flags-এর জন্য উপযুক্ত।

• pick() — এটি কোনো নির্দিষ্ট তালিকার মধ্যে মান সীমাবদ্ধ করতে ব্যবহার করুন। এটি literal types তৈরি করে যাতে আপনার কোড ঠিকভাবে জানে কোন স্ট্রিংগুলো অনুমোদিত। এমনকি টাইপো (typo) হলে এটি সংশোধনের পরামর্শও দেয়।

প্রতিটি validator-এর জন্য দরকারী মেথডসমূহ:

CtroEnv বিভিন্ন এনভায়রনমেন্টে কাজ করে:

ভ্যালিডেশন ব্যর্থ হলে CtroEnv শুধু থেমে যায় না। এটি প্রতিটি এরর সংগ্রহ করে এবং একসাথে প্রদর্শন করে। আপনি কী (key), মেসেজ এবং এমনকি এটি কীভাবে ঠিক করা যায় তার পরামর্শসহ একটি পরিষ্কার রিপোর্ট পাবেন।

চূড়ান্ত আউটপুট হলো একটি frozen object। এর মানে হলো আপনার কনফিগারেশনটি read-only এবং রানটাইমে আকস্মিক পরিবর্তন থেকে সুরক্ষিত।

উৎস: https://dev.to/ctrotech/define-once-trust-everywhere-ctroenv-deep-dive-3bjl