smalljs$molঅনুসন্ধান⌘ Kডকুমেন্টেশনপ্লেগ্রাউন্ডতুলনাইকোসিস্টেমসম্পর্কেBN
Giper BazaGetting Startedপরিচিতিমানসিক মডেলশুরু করাTypeScript থেকে view.treeপ্রকল্পের কাঠামোটুলিংEssentialsইনস্টলেশনভিউস্টেট ও রিয়্যাক্টিভিটিরাউটিংরেন্ডারিংটেস্টিংডিপ্লয়সমস্যা সমাধানDataডেটা ফেচিংডেটা স্কিমাGiper BazaMoreশোকেসReact, Vue ও Svelte থেকেকুকবুকAdvancedপ্লাগইনমডিউল মেটাডেটাঅফলাইনগোস্ট ভিউAboutসাধারণ জিজ্ঞাসাটিমরিলিজAPI$mol_button_major$mol_button_minor$mol_string$mol_number$mol_text$mol_paragraph$mol_list$mol_row$mol_link$mol_check$mol_switch$mol_select$mol_scroll$mol_page$mol_pick

Giper Baza

Giper Baza একটি আলাদা, ঐচ্ছিক প্রকল্প——এটি $mol-এর অন্তর্নির্মিত অংশ নয়। এর নির্মাতারা এটিকে বর্ণনা করেন দ্বন্দ্বমুক্ত রিয়েল-টাইম সিঙ্ক সহ একটি বিকেন্দ্রীভূত, উচ্চ-লভ্য ডেটাবেস হিসেবে: একটি CRDT স্টোর যা স্থানীয়ভাবে টিকে থাকে এবং কেন্দ্রীয় সার্ভার ছাড়াই ক্লায়েন্টের মধ্যে রেপ্লিকেট হয়, ডিজিটাল স্বাক্ষর ও এন্ড-টু-এন্ড এনক্রিপশন সহ। $mol অ্যাপ বানাতে এটি কখনোই প্রয়োজন হয় না; কেবল তখনই এটি ব্যবহার করুন যখন একাধিক ক্লায়েন্ট বা ডিভাইসকে একই লাইভ ডেটা ভাগ করতে হবে।শুধু চান আপনার অ্যাপ নেটওয়ার্ক ছাড়াই কাজ করে যাক? সেটি নিছক অফলাইন, আর $mol একটি service worker দিয়ে তা সামলায়—— অফলাইন দেখুন। Giper Baza তার পরের ধাপ: একটি ক্লায়েন্টের সম্পদ ক্যাশ করা নয়, বরং ক্লায়েন্টের মধ্যে ডেটা সিঙ্ক করা।আপনি যখন সত্যিই এটি দিয়ে ডেটা মডেল করেন, এনটিটিগুলো সাধারণ রিয়্যাক্টিভ প্রপার্টির মতোই দেখায়, আর রেপ্লিকেশন এমনিই ঘটে।এই পৃষ্ঠা API-এর আকৃতি পরিচয় করায়। Giper Baza একটি বড় বিষয়——এটিকে একটি মানচিত্র হিসেবে ধরুন, সম্পূর্ণ ভূখণ্ড নয়।

একটি এনটিটি সংজ্ঞায়িত করুন

একটি এনটিটি হলো একটি বিশুদ্ধ স্কিমা——টাইপড ফিল্ডের একটি সেট। আচরণ এর বাইরে রাখুন; পড়া ও লেখা আপনার ভিউতে করুন।1namespace $ {2 export class $my_task extends $giper_baza_entity.with( {3 Title: $giper_baza_atom_text,4 Done: $giper_baza_atom_bool,5 CreatedAt: $giper_baza_atom_time,6 } ) {}7}প্রতিটি ফিল্ড একটি অ্যাটম——একটি টাইপড মানসহ একটি সিঙ্ক করা সেল।

পড়া ও লেখা

স্টোরটি নিন, এনটিটির একটি তালিকায় পৌঁছান, এবং সেগুলোর ওপর রিয়্যাক্টিভভাবে ম্যাপ করুন:1 @ $mol_mem2 tasks() {3 return this.tasks_list().remote_list()4 }5 6 @ $mol_mem_key7 task_done( id: string, next?: boolean ) {8 const task = this.task( id )9 if( next !== undefined ) task.Done( null )!.val( next )10 return task.Done()?.val() ?? false11 }Done()?.val() পড়লে বর্তমান মান পাওয়া যায়; Done(null)!.val(next) লিখলে তা সেট হয়। ওই অ্যাটম পড়ে এমন যেকোনো ভিউ পুনরায় রেন্ডার হয় যখন এটি——বা একটি রিমোট পিয়ার——এটি বদলায়।

তৈরি ও অপসারণ

1 @ $mol_action2 task_add( title: string ) {3 const task = this.tasks_list().make( [ [ null, $giper_baza_rank_read ] ] )!4 task.Title( null )!.val( title )5 task.Done( null )!.val( false )6 }7 8 @ $mol_action9 task_remove( id: string ) {10 this.tasks_list().cut( this.task( id ).link() )11 }
GitHub-এ এই পৃষ্ঠা সম্পাদনা করুনএটি কি সহায়ক ছিল?হ্যাঁনাপূর্ববর্তীডেটা স্কিমাপরবর্তীশোকেস
এই পৃষ্ঠায়একটি এনটিটি সংজ্ঞায়িত করুনপড়া ও লেখাতৈরি ও অপসারণসিঙ্ক স্বয়ংক্রিয়এরপর কোথায়?
Type to search the documentation.