8 रिपॉजिटरी
Mechanisms for mapping inheritance hierarchies to unique identifiers during serialization to preserve object types across a wire format.
Distinct from Class Inheritance: The candidates describe language-level inheritance or architectural restrictions, whereas this is specifically about preserving polymorphism during binary serialization.
Explore 8 awesome GitHub repositories matching software engineering & architecture · Polymorphic Type Mapping. Refine with filters or upvote what's useful.
fp-ts is a TypeScript library that brings pure functional programming patterns to the language through algebraic data types, type class abstractions, and composable combinators. It provides foundational data types like Option for optional values, Either for typed error handling, and Task for lazy asynchronous computations, all designed to make invalid states unrepresentable and side effects explicit. The library is built on category theory concepts, offering type classes such as Functor, Applicative, Monad, Semigroup, and Monoid with lawful instances for common data structures. The library di
Maps shared behaviors to data types through type class instances obeying mathematical laws.
class-transformer is a TypeScript library that converts plain JavaScript objects into typed class instances and back, using decorators to define transformation rules. It serves as a decorator-based object transformer, JSON deserialization library, and property transformation framework, enabling type-safe serialization and deserialization of class instances. The library distinguishes itself through comprehensive property filtering and mapping capabilities. It supports excluding properties by default, by prefix, by operation (serialization or deserialization), or by explicit marking, as well as
Selects the correct subclass constructor for nested objects using a discriminator property during deserialization.
MessagePack-CSharp is a high-performance binary serialization library for .NET applications that converts object graphs into the MessagePack format. It functions as a C# data serialization toolkit and a polymorphic binary encoder capable of handling abstract classes and interfaces using union keys to identify concrete derived types. The library provides a binary format transcoder to transform binary data into human-readable JSON for debugging. It supports ahead-of-time formatter generation to avoid runtime overhead and implements LZ4 binary compression to reduce the size of serialized data.
Uses unique integer union keys to map abstract types and interfaces to concrete implementations during binary serialization.
vcmi, Heroes of Might and Magic III के लिए एक ओपन-सोर्स गेम इंजन है जो मूल रणनीति गेम के गेमप्ले, लॉजिक और रेंडरिंग को फिर से बनाता है। यह Windows, Linux, macOS, Android और iOS को सपोर्ट करने वाला एक क्रॉस-प्लेटफ़ॉर्म गेम रनटाइम है, जो रणनीतिक वर्ल्ड मैप नेविगेशन और टैक्टिकल कॉम्बैट के लिए एक टर्न-आधारित रणनीति सिम्युलेटर प्रदान करता है। यह प्रोजेक्ट एक मॉडेबल गेम फ्रेमवर्क के रूप में बनाया गया है, जिसमें डेटा-संचालित मॉडिंग सिस्टम और एक सैंडबॉक्स्ड Lua स्क्रिप्टिंग एकीकरण है। ये बाहरी कॉन्फ़िगरेशन फ़ाइलों और स्कीमा वैलिडेशन के माध्यम से कस्टम गेमप्ले लॉजिक, स्पेल इफेक्ट्स और नए गुटों, पात्रों और एसेट्स को जोड़ने की अनुमति देते हैं। इस इंजन में एक मल्टीप्लेयर स्टेट सिंक्रोनाइज़र शामिल है जो बाइनरी सीरियलाइज़ेशन के माध्यम से क्लाइंट्स के बीच एक साथ टर्न और गेम स्टेट अपडेट्स का समन्वय करता है। इसमें रणनीति सिमुलेशन के लिए इंटीग्रेटेड आर्टिफिशियल इंटेलिजेंस, एक समर्पित मैप ऑथरिंग और जनरेशन सिस्टम, और एसेट ओवरराइड्स और लोकलाइज़ेशन के लिए टूल्स भी शामिल हैं। यह सॉफ़्टवेयर मल्टी-प्लेटफ़ॉर्म बिल्ड कॉन्फ़िगरेशन को सपोर्ट करता है और गेम डेटा निकालने और गेम स्टेट्स को डिबग करने के लिए टूल्स प्रदान करता है।
Identifies and reinstantiates the correct derived class types during object deserialization to preserve polymorphism.
Cats एक Scala फंक्शनल प्रोग्रामिंग लाइब्रेरी और टाइप क्लास लाइब्रेरी है जिसे बीजगणितीय पैटर्न और फंक्शनल एब्स्ट्रैक्शंस को लागू करने के लिए डिज़ाइन किया गया है। यह इंटरफेस का एक मानकीकृत सेट और फंक्शनल रैपर्स व कंटेनर्स का एक मॉड्यूलर टूलकिट प्रदान करता है ताकि विभिन्न टाइप्स में एड-हॉक पॉलीमॉर्फिज्म और जेनेरिक प्रोग्रामिंग को सक्षम किया जा सके। यह प्रोजेक्ट एक फंक्शनल एब्स्ट्रैक्शन स्टैंडर्ड के रूप में कार्य करता है, जो नेस्टेड इफेक्टफुल कॉन्टेक्स्ट को कंपोज़ करने और एक ही पाइपलाइन के भीतर कई कम्प्यूटेशनल साइड इफेक्ट्स को संभालने के लिए एक मोनाड ट्रांसफॉर्मर सूट प्रदान करता है। यह प्रोग्राम लॉजिक को डेटा स्ट्रक्चर्स के रूप में प्रस्तुत करके एम्बेडेड डोमेन-विशिष्ट भाषाओं के निर्माण को सक्षम बनाता है जिन्हें उनकी परिभाषाओं से अलग से इंटरप्रेट किया जाता है। यह लाइब्रेरी व्यापक क्षमता क्षेत्रों को कवर करती है जिसमें मानों को संयोजित और कम करने के लिए बीजगणितीय डेटा मैनिपुलेशन, टाइप-सेफ स्टेट मैनेजमेंट और एरर एक्यूमुलेशन व रिकवरी को औपचारिक बनाने के लिए फंक्शनल एरर हैंडलिंग शामिल है। यह इफेक्टफुल कम्प्यूटेशन मैनेजमेंट और फंक्शनल क्षमताओं के साथ स्टैंडर्ड कलेक्शन टाइप्स के विस्तार के लिए भी उपकरण प्रदान करता है। इस लाइब्रेरी में यह सुनिश्चित करने के लिए बीजगणितीय लॉ वैलिडेशन के तंत्र शामिल हैं कि टाइप क्लास इंस्टेंस गणितीय गुणों का पालन करते हैं।
Implements ad-hoc polymorphism using type classes to define shared algebraic behaviors across disparate types.
Fury एक मल्टी-लैंग्वेज बाइनरी सीरियलाइज़ेशन फ्रेमवर्क है जिसे क्रॉस-लैंग्वेज डेटा एक्सचेंज की सुविधा के लिए डोमेन ऑब्जेक्ट्स और जटिल ग्राफ़ को एनकोड करने के लिए डिज़ाइन किया गया है। इसमें एक इंटरफ़ेस परिभाषा भाषा कंपाइलर शामिल है जो स्कीमा परिभाषाओं को मुहावरेदार नेटिव टाइप्स और कई भाषाओं में सीरियलाइज़ेशन बॉयलरप्लेट में अनुवादित करता है। यह प्रोजेक्ट एक ज़ीरो-कॉपी बाइनरी रीडर के माध्यम से खुद को अलग करता है जो पूरे ऑब्जेक्ट को डीसीरियलाइज़ किए बिना विशिष्ट फ़ील्ड्स तक पहुंचने की अनुमति देता है, साथ ही एक ऑब्जेक्ट ग्राफ़ सीरियलाइज़र जो सर्कुलर रेफरेंस और रेफरेंशियल इंटीग्रिटी को संरक्षित करता है। इसमें एक डेटा कनवर्टर भी है जो विश्लेषणात्मक वर्कलोड के लिए पंक्ति-आधारित बाइनरी डेटा को कॉलम-आधारित Apache Arrow फॉर्मेट में बदलता है। यह फ्रेमवर्क व्यापक क्षमता क्षेत्रों को कवर करता है, जिसमें फॉरवर्ड और बैकवर्ड संगतता के लिए मेटाडेटा-संचालित स्कीमा विकास, रनटाइम रिफ्लेक्शन को खत्म करने के लिए बिल्ड-टाइम AOT संकलन प्रक्रिया और व्हाइटलिस्ट-आधारित प्रकार सत्यापन के माध्यम से सुरक्षित डीसीरियलाइज़ेशन शामिल है। यह gRPC के माध्यम से उच्च-प्रदर्शन रिमोट प्रोसीजर कॉल के लिए एकीकरण भी प्रदान करता है।
Implements automatic type dispatching to preserve polymorphic object types across the binary wire format.
This library is a PHP-based serialization framework designed to convert complex object graphs into structured formats such as JSON, XML, YAML, and CSV, and to reconstruct those objects from serialized data. It functions as a data transformation tool that maps object properties to array structures, facilitating both application state persistence and the exchange of data between systems. The framework distinguishes itself through a two-stage pipeline that normalizes objects into intermediate structures before encoding them into specific formats. It supports advanced mapping requirements, includ
Uses discriminator maps to automatically instantiate the correct concrete class when deserializing interfaces or abstract types.
This project is a multiplatform software development kit designed to integrate large language models into Kotlin applications. It provides an asynchronous network client and a suite of orchestration tools that enable developers to connect applications to intelligence services, manage conversation threads, and handle structured data exchange. The library is built as a Kotlin Multiplatform package, allowing for consistent code sharing across Android, iOS, and desktop environments. It utilizes structured concurrency to manage non-blocking network requests and real-time streaming responses, ensur
Transforms domain-specific data models into structured API payloads using language-native features.