النصوص Strings في كوكب Kawkab
النصوص Strings هي مجموعة من القيم النصية التي يمكن استخدامها في مختلف أجزاء المشروع. يتم تخزين هذه النصوص في مكان مركزي بحيث يسهل إدارتها وتعديلها دون الحاجة لتكرارها في كود التطبيق. توفر كوكب Kawkab طريقة مرنة لتنظيم النصوص بشكل يجعل التعديل والترجمة أكثر سهولة.
import { string } from "kawkab";
الدوال المتاحة:
trim(value: string): string
يزيل الفراغات من بداية ونهاية السلسلة النصية. مثال:
string.trim(" Hello, World! "); // يرجع: "Hello, World!"
lower(value: string): string
يحول السلسلة النصية إلى حروف صغيرة. مثال:
string.lower("HELLO WORLD"); // يرجع: "hello world"
upper(value: string): string
يحول السلسلة النصية إلى حروف كبيرة. مثال:
string.upper("hello world"); // يرجع: "HELLO WORLD"
length(value: string): number
يرجع طول السلسلة النصية. مثال:
string.length("Hello"); // يرجع: 5
contains(haystack: string, needle: string): boolean
يتحقق مما إذا كانت السلسلة النصية تحتوي على جزء معين. مثال:
string.contains("Hello, World!", "World"); // يرجع: true
startsWith(haystack: string, needle: string): boolean
يتحقق مما إذا كانت السلسلة النصية تبدأ بجزء معين. مثال:
string.startsWith("Hello, World!", "Hello"); // يرجع: true
endsWith(haystack: string, needle: string): boolean
يتحقق مما إذا كانت السلسلة النصية تنتهي بجزء معين. مثال:
string.endsWith("Hello, World!", "World!"); // يرجع: true
replaceFirst(haystack: string, search: string, replace: string): string
يستبدل أول حدوث لجزء معين بسلسلة نصية أخرى. مثال:
string.replaceFirst("Hello, World!", "o", "0"); // يرجع: "Hell0, World!"
replaceLast(haystack: string, search: string, replace: string): string
يستبدل آخر حدوث لجزء معين بسلسلة نصية أخرى. مثال:
string.replaceLast("Hello, World!", "o", "0"); // يرجع: "Hello, W0rld!"
random(length: number = 16): string
ينشئ سلسلة نصية عشوائية بالطول المحدد. مثال:
string.random(8); // يرجع سلسلة عشوائية بطول 8، مثل: "a1B2c3D4"
camel(value: string): string
يحول السلسلة النصية إلى camelCase. مثال:
string.camel("hello_world"); // يرجع: "helloWorld"
snake(value: string): string
يحول السلسلة النصية إلى snake_case. مثال:
string.snake("helloWorld"); // يرجع: "hello_world"
kebab(value: string): string
يحول السلسلة النصية إلى kebab-case. مثال:
string.kebab("helloWorld"); // يرجع: "hello-world"
slug(value: string): string
يحول السلسلة النصية إلى تنسيق مناسب لعنوان URL. مثال:
string.slug("Hello, World!"); // يرجع: "hello-world"
after(value: string, search: string): string
يرجع الجزء النصي الذي يلي جزء معين في السلسلة النصية. مثال:
string.after("Hello, World!", ","); // يرجع: " World!"
afterLast(value: string, search: string): string
يرجع الجزء النصي الذي يلي آخر حدوث لجزء معين في السلسلة النصية. مثال:
string.afterLast("Hello, World, Again!", ","); // يرجع: " Again!"
ascii(value: string): string
يزيل الأحرف غير ASCII من السلسلة النصية. مثال:
string.ascii("Héllö Wörld"); // يرجع: "Hell Wrld"
before(value: string, search: string): string
يرجع الجزء النصي الذي يسبق جزء معين في السلسلة النصية. مثال:
string.before("Hello, World!", ","); // يرجع: "Hello"
beforeLast(value: string, search: string): string
يرجع الجزء النصي الذي يسبق آخر حدوث لجزء معين في السلسلة النصية. مثال:
string.beforeLast("Hello, World, Again!", ","); // يرجع: "Hello, World"
between(value: string, start: string, end: string): string
يرجع الجزء النصي بين جزئين معينين في السلسلة النصية. مثال:
string.between("Hello [World] Again", "[", "]"); // يرجع: "World"
betweenFirst(value: string, start: string, end: string): string
يرجع الجزء النصي بين أول حدوث لجزئين معينين في السلسلة النصية. مثال:
string.betweenFirst("Hello [World] [Again]", "[", "]"); // يرجع: "World"
charAt(value: string, index: number): string
يرجع الحرف في فهرس معين من السلسلة النصية. مثال:
string.charAt("Hello", 1); // يرجع: "e"
chopStart(value: string, count: number): string
يزيل عدد محدد من الأحرف من بداية السلسلة النصية. مثال:
string.chopStart("Hello", 2); // يرجع: "llo"
chopEnd(value: string, count: number): string
يزيل عدد محدد من الأحرف من نهاية السلسلة النصية. مثال:
string.chopEnd("Hello", 2); // يرجع: "Hel"
containsAll(value: string, needles: string[]): boolean
يتحقق مما إذا كانت جميع الأجزاء المحددة موجودة في السلسلة النصية. مثال:
string.containsAll("Hello, World!", ["Hello", "World"]); // يرجع: true
excerpt(value: string, phrase: string, options: { radius?: number; omission?: string }): string | null
يستخرج مقتطف من السلسلة النصية حول عبارة معينة. مثال:
string.excerpt("This is a long text with a specific phrase to find.", "specific phrase", { radius: 10 });
// يرجع: "...text with a specific phrase to find..."
finish(value: string, cap: string): string
يضمن أن السلسلة النصية تنتهي بسلسلة معينة.
مثال:
string.finish("Hello", "!"); // النتيجة: "Hello!"
string.finish("Hello!", "!"); // النتيجة: "Hello!"
headline(value: string): string
يحويل السلسلة النصية إلى صيغة عنوان (تتكبير أول حرف في كل كلمة).
مثال:
string.headline("hello world"); // النتيجة: "Hello World"
inlineMarkdown(value: string): string
يحويل التنسيق Markdown داخل السلسلة النصية إلى HTML.
مثال:
string.inlineMarkdown("This is **bold** and *italic*"); // النتيجة: "This is <strong>bold</strong> and <em>italic</em>"
is(value: string, pattern: string): boolean
يتحقق مما إذا كانت السلسلة النصية تتطابق مع نمط معين.
مثال:
string.is("foo", "f*"); // النتيجة: true
isAscii(value: string): boolean
يتحقق مما إذا كانت السلسلة النصية تحتوي على أحرف ASCII فقط.
مثال:
string.isAscii("Hello"); // النتيجة: true
string.isAscii("Héllo"); // النتيجة: false
isJson(value: string): boolean
يتحقق مما إذا كانت السلسلة النصية بصيغة JSON صحيحة.
مثال:
string.isJson('{"name":"John", "age":30}'); // النتيجة: true
string.isJson("Not JSON"); // النتيجة: false
isUlid(value: string): boolean
يتحقق مما إذا كانت السلسلة النصية بصيغة ULID صحيحة.
مثال:
string.isUlid("01ARZ3NDEKTSV4RRFFQ69G5FAV"); // النتيجة: true
string.isUlid("not-ulid"); // النتيجة: false
isUrl(value: string): boolean
يتحقق مما إذا كانت السلسلة النصية بصيغة URL صحيحة.
مثال:
string.isUrl("https://www.example.com"); // النتيجة: true
string.isUrl("not-url"); // النتيجة: false
isUuid(value: string): boolean
يتحقق مما إذا كانت السلسلة النصية بصيغة UUID صحيحة.
مثال:
string.isUuid("550e8400-e29b-41d4-a716-446655440000"); // النتيجة: true
string.isUuid("not-uuid"); // النتيجة: false
lcfirst(value: string): string
يحول أول حرف في السلسلة النصية إلى حرف صغير.
مثال:
string.lcfirst("Hello"); // النتيجة: "hello"
limit(value: string, limit: number = 100, end: string = '...'): string
يحدد طول السلسلة النصية، مع إضافة ثلاث نقاط إذا تم تقصير النص.
مثال:
string.limit("This is a long text", 10); // النتيجة: "This is a..."
padBoth(value: string, length: number, pad: string = ' '): string
يضيف حشوًا على جانبي السلسلة النصية حتى يصل الطول إلى القيمة المحددة.
مثال:
string.padBoth("Hello", 10, "-"); // النتيجة: "--Hello---"
padLeft(value: string, length: number, pad: string = ' '): string
يضيف حشوًا على الجهة اليسرى للسلسلة النصية حتى يصل الطول إلى القيمة المحددة.
مثال:
string.padLeft("Hello", 10, "-"); // النتيجة: "-----Hello"
padRight(value: string, length: number, pad: string = ' '): string
يضيف حشوًا على الجهة اليمنى للسلسلة النصية حتى يصل الطول إلى القيمة المحددة.
مثال:
string.padRight("Hello", 10, "-"); // النتيجة: "Hello-----"
plural(value: string, count: number = 2): string
يحول السلسلة النصية إلى صيغة الجمع بناءً على العدد.
مثال:
string.plural("apple", 1); // النتيجة: "apple"
string.plural("apple", 2); // النتيجة: "apples"
removeWhitespace(value: string): string
يزيل جميع المسافات البيضاء من السلسلة النصية.
مثال:
string.removeWhitespace("Hello World"); // النتيجة: "HelloWorld"
repeat(value: string, times: number): string
يكرر السلسلة النصية عددًا محددًا من المرات.
مثال:
string.repeat("Hello", 3); // النتيجة: "HelloHelloHello"
reverse(value: string): string
يعكس الحروف في السلسلة النصية.
مثال:
string.reverse("Hello"); // النتيجة: "olleH"
rotate(value: string, positions: number): string
يدير السلسلة النصية بعدد معين من المواقع (إيجابي لليمين، سلبي لليسار).
مثال:
string.rotate("Hello", 2); // النتيجة: "loHel"
string.rotate("Hello", -1); // النتيجة: "elloH"
simplifySlug(value: string): string
يحول السلسلة النصية إلى صيغة مبسطة تناسب استخدامها كـ URL slug.
مثال:
string.simplifySlug("Hello, World!"); // النتيجة: "hello-world"
sort(value: string): string
يرتب الحروف في السلسلة النصية ترتيبًا أبجديًا.
مثال:
string.sort("hello"); // النتيجة: "ehllo"
split(value: string, separator: string): string[]
يفصل السلسلة النصية إلى مصفوفة من السلاسل الفرعية بناءً على فاصل معين.
مثال:
string.split("a,b,c", ","); // النتيجة: ["a", "b", "c"]
shuffle(value: string): string
يمزج الأحرف في السلسلة النصية بشكل عشوائي.
مثال:
string.shuffle("hello"); // النتيجة: ترتيب عشوائي مثل "lloeh"
stripTags(value: string): string
يزيل الوسوم HTML من السلسلة النصية.
مثال:
string.stripTags("<p>Hello <b>World</b></p>"); // النتيجة: "Hello World"
title(value: string, exclusions: string[] = []): string
يحويل السلسلة النصية إلى صيغة عنوان (تتكبير أول حرف في كل كلمة).
مثال:
string.title("hello world"); // النتيجة: "Hello World"
string.title("a fire upon the deep", ["a", "the", "upon"]); // النتيجة: "A Fire upon the Deep"
transform(value: string, callback: (char: string) => string): string
يحول السلسلة النصية عبر تطبيق دالة رد نداء على كل حرف في النص.
مثال:
string.transform("hello", char => char.toUpperCase()); // النتيجة: "HELLO"
trimLeft(value: string, char: string = ' '): string
يزيل الحروف من الجهة اليسرى للسلسلة النصية.
مثال:
string.trimLeft(" Hello"); // النتيجة: "Hello"
string.trimLeft("!!!Hello", "!"); // النتيجة: "Hello"
trimRight(value: string, char: string = ' '): string
يزيل الحروف من الجهة اليمنى للسلسلة النصية.
مثال:
string.trimRight("Hello "); // النتيجة: "Hello"
string.trimRight("Hello!!!", "!"); // النتيجة: "Hello"
truncate(value: string, length: number, end: string = '...'): string
يقصر السلسلة النص
ية إلى طول معين، ويستبدل أي فائض بثلاث نقاط (…).
مثال:
string.truncate("This is a long text", 10); // النتيجة: "This is..."
unescapeHtml(value: string): string
يفك تشفير الكيانات HTML في السلسلة النصية.
مثال:
string.unescapeHtml("<p>Hello</p>"); // النتيجة: "<p>Hello</p>"
ucwords(value: string): string
يحويل أول حرف في كل كلمة إلى حرف كبير.
مثال:
string.ucwords("hello world"); // النتيجة: "Hello World"
urlencode(value: string): string
يحول السلسلة النصية إلى صيغة URL-encoded.
مثال:
string.urlencode("Hello World!"); // النتيجة: "Hello%20World%21"
urldecode(value: string): string
يفك تشفير السلسلة النصية من صيغة URL-encoded.
مثال:
string.urldecode("Hello%20World%21"); // النتيجة: "Hello World!"
uuid(value: string): string
يحول السلسلة النصية إلى تنسيق UUID (32 حرفًا هكساديسمل، مفصولة بشرطات).
مثال:
string.uuid("550e8400e29b41d4a716446655440000"); // النتيجة: "550e8400-e29b-41d4-a716-446655440000"
ucfirst(value: string): string
يحول أول حرف في السلسلة النصية إلى حرف كبير.
مثال:
string.ucfirst("hello"); // النتيجة: "Hello"