All Projects → AhmedMourad0 → Bundlizer

AhmedMourad0 / Bundlizer

Licence: apache-2.0
Android Bundle format support for Kotlinx Serialization.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Bundlizer

Knpgaufrettebundle
Easily use Gaufrette in your Symfony projects.
Stars: ✭ 646 (+1053.57%)
Mutual labels:  bundle
Webfactoryicutranslationbundle
Enables ICU message formatting for translations in Symfony applications.
Stars: ✭ 27 (-51.79%)
Mutual labels:  bundle
Lexikpayboxbundle
LexikPayboxBundle eases the implementation of the Paybox payment system
Stars: ✭ 42 (-25%)
Mutual labels:  bundle
Symfony
The Symfony PHP framework
Stars: ✭ 26,220 (+46721.43%)
Mutual labels:  bundle
Admincrudbundle
AdminCrud genera un controlador muy básico para una Entity dada. Este controlador extiende e implementa un controlador Super Genial.
Stars: ✭ 18 (-67.86%)
Mutual labels:  bundle
Bili
Bili makes it easier to bundle JavaScript libraries.
Stars: ✭ 949 (+1594.64%)
Mutual labels:  bundle
Liipfunctionaltestbundle
Some helper classes for writing functional tests in Symfony
Stars: ✭ 604 (+978.57%)
Mutual labels:  bundle
Pyinstaller
Freeze (package) Python programs into stand-alone executables
Stars: ✭ 8,679 (+15398.21%)
Mutual labels:  bundle
Influxdb Bundle
Bundle service integration of official influxdb/influxdb-php client
Stars: ✭ 24 (-57.14%)
Mutual labels:  bundle
Enqueue Elastica Bundle
The bundle extends functionality of FOSElasticaBundle. Improves performance of fos:elastica:populate command
Stars: ✭ 40 (-28.57%)
Mutual labels:  bundle
Microbundle
📦 Zero-configuration bundler for tiny modules.
Stars: ✭ 6,622 (+11725%)
Mutual labels:  bundle
Webfactorylegacyintegrationbundle
A battle-proven approach to facilitate the incremental migration of legacy applications to the Symfony2 stack.
Stars: ✭ 17 (-69.64%)
Mutual labels:  bundle
Piwik Bundle
Symfony Bundle with twig-function for the Matomo (fka Piwik) tracking code
Stars: ✭ 33 (-41.07%)
Mutual labels:  bundle
Craueformflowbundle
Multi-step forms for your Symfony project.
Stars: ✭ 654 (+1067.86%)
Mutual labels:  bundle
Easyandroid
一系列简单、轻量、方便的Android开发工具集合(持续更新中),包括Android动态权限、SharedPreferences、反射、日志、Toast、Bundle、MVP、线程池、Html、图文混排、蒙层引导、拍照、图库选择等
Stars: ✭ 1,039 (+1755.36%)
Mutual labels:  bundle
Sensiogeneratorbundle
Generates Symfony bundles, entities, forms, CRUD, and more...
Stars: ✭ 634 (+1032.14%)
Mutual labels:  bundle
Ismaambrosigeneratorbundle
Generates Symfony2 documents, forms and CRUD for MongoDB documents
Stars: ✭ 27 (-51.79%)
Mutual labels:  bundle
Liipurlautoconverterbundle
[DEPRECATED] This bundle will add a Twig Extension for templates with a new filter for automatically converting urls and emails in a string to html links
Stars: ✭ 53 (-5.36%)
Mutual labels:  bundle
Beelabrecaptcha2bundle
💻 Symfony bundle for Google Recaptcha2
Stars: ✭ 47 (-16.07%)
Mutual labels:  bundle
Sncredisbundle
A Redis bundle for Symfony supporting Predis and PhpRedis
Stars: ✭ 980 (+1650%)
Mutual labels:  bundle

Bundlizer CI Maven Central

Android Bundle format support for Kotlinx Serialization.

Usage

Annotate your data models with @Serializable:

import kotlinx.serialization.Serializable

enum class Type {
    HUMAN, MONKEY
}

@Serializable
data class Email(val value: String)

@Serializable
data class User(
    val id: Int,
    val name: String,
    val email: Email,
    val friends: List<String>?,
    val something: Map<String, Int>,
    val type: Type
)

To Bundle

Use Bundlizer.bundle or bundle extension function:

import dev.ahmedmourad.bundlizer.Bundlizer
import dev.ahmedmourad.bundlizer.bundle
import android.os.Bundle

val user: User = ...

val bundle: Bundle = Bundlizer.bundle(User.serializer(), user)
// or
val bundle: Bundle = user.bundle(User.serializer())

From Bundle

Use Bundlizer.unbundle or unbundle extension function:

import dev.ahmedmourad.bundlizer.Bundlizer
import dev.ahmedmourad.bundlizer.unbundle
import android.os.Bundle

val bundle: Bundle = ...

val user: User = Bundlizer.unbundle(User.serializer(), bundle)
// or
val user: User = bundle.unbundle(User.serializer())

Installation

repositories {
    mavenCentral()
}

dependencies {
    implementation "dev.ahmedmourad.bundlizer:bundlizer-core:0.5.0"
}

License

Copyright (C) 2020 Ahmed Mourad

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].