প্রকল্প সম্পর্কে
TypeFest হল পুনঃব্যবহারযোগ্য TypeScript টাইপের একটি সংগ্রহ যা বিল্ট-ইন টাইপ সিস্টেমের ফাঁক পূরণ করার উদ্দেশ্যে তৈরি। এটি npm থেকে type-fest হিসেবে ইনস্টল করা যায় এবং পৃথক টাইপগুলি TypeScript-এর টাইপ-অনলি ইমপোর্ট সিনট্যাক্স দিয়ে আমদানি করা হয়। ডকুমেন্টেড ডেভেলপমেন্ট সংস্করণের জন্য TypeScript 5.9 বা তার নতুন সংস্করণ, একটি ESM প্রকল্প এবং tsconfig-এ স্ট্রিক্ট মোড সক্রিয় থাকা প্রয়োজন। রক্ষণাবেক্ষণকারী আরও উল্লেখ করেছেন যে প্রয়োজনীয় টাইপগুলি ক্রেডিট ছাড়াই কপি-পেস্ট করা যেতে পারে।
লাইব্রেরিটি টাইপ-লেভেলের বিস্তৃত ব্যবহারের ক্ষেত্র কভার করে। মৌলিক টাইপগুলির মধ্যে রয়েছে Primitive, Class, Constructor, AbstractClass, TypedArray, ObservableLike এবং অক্ষর সেট যেমন LowercaseLetter, UppercaseLetter, DigitCharacter এবং Alphanumeric।
অবজেক্ট এবং ইউটিলিটি টাইপগুলি সবচেয়ে বড় বিভাগ গঠন করে। উদাহরণগুলির মধ্যে রয়েছে Except (কী বাদ দেওয়ার জন্য), Writable এবং WritableDeep (readonly মডিফায়ার অপসারণের জন্য), Merge এবং MergeDeep (টাইপ একত্রিত করার জন্য), PartialDeep এবং RequiredDeep (পুনরাবৃত্ত ঐচ্ছিকতা ও প্রয়োজনীয়তার জন্য), ReadonlyDeep (গভীর অপরিবর্তনীয়তার জন্য), এবং SetOptional, SetRequired, SetReadonly ও SetNonNullable (নির্বাচিত বৈশিষ্ট্য সামঞ্জস্যের জন্য)। এটি শর্তসাপেক্ষ নির্বাচন টাইপ যেমন ConditionalKeys, ConditionalPick এবং ConditionalExcept, নেস্টেড হেল্পার যেমন PickDeep, OmitDeep, Get এবং Paths, এবং ইউনিয়ন হেল্পার যেমন LiteralUnion, TaggedUnion, UnionToIntersection, KeysOfUnion ও DistributedOmit-ও প্রদান করে।
টাইপ গার্ড এবং বুলিয়ান টাইপগুলির মধ্যে রয়েছে If, IsAny, IsNever, IsUnknown, IsNull, IsUndefined, IsTuple, IsUnion, IsLiteral, IsStringLiteral, IsNullable এবং সমতা পরীক্ষা যেমন IsEqual। JSON সমর্থনের মধ্যে রয়েছে JsonValue, JsonPrimitive, JsonObject, JsonArray, Jsonifiable এবং Jsonify। অন্যান্য গ্রুপগুলি স্ট্রাকচার্ড ক্লোনিং, অ্যাসিঙ্ক টাইপ যেমন Promisable, AsyncReturnType ও Asyncify, স্ট্রিং ম্যানিপুলেশন টাইপ যেমন Split, Replace, Trim, RemovePrefix ও RemoveSuffix, এবং অ্যারে বা টাপল টাইপ যেমন ArrayElement, LastArrayElement, Includes, Join, ArraySlice, FixedLengthArray ও NonEmptyTuple কভার করে।
README প্রতিটি টাইপের নাম তার সোর্স ডেফিনিশনের সাথে লিঙ্ক করে বিস্তারিত ডকুমেন্টেশনের জন্য। একটি সম্পর্কিত প্যাকেজ, ts-extras, একই ধারণার কিছু জন্য রানটাইম ফাংশন সরবরাহ করে। প্রকল্পটি তার অবদান নির্দেশিকা সাপেক্ষে অতিরিক্ত সাধারণভাবে প্রয়োজনীয় টাইপের জন্য প্রস্তাবনা এবং পুল রিকোয়েস্ট গ্রহণ করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.