{"payload":{"allShortcutsEnabled":false,"fileTree":{"":{"items":[{"name":".devcontainer","path":".devcontainer","contentType":"directory"},{"name":".github","path":".github","contentType":"directory"},{"name":".vscode","path":".vscode","contentType":"directory"},{"name":"Plugins","path":"Plugins","contentType":"directory"},{"name":"Sources","path":"Sources","contentType":"directory"},{"name":"Tests","path":"Tests","contentType":"directory"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".spi.yml","path":".spi.yml","contentType":"file"},{"name":".swift-format","path":".swift-format","contentType":"file"},{"name":"CHANGELOG.md","path":"CHANGELOG.md","contentType":"file"},{"name":"CODE_OF_CONDUCT.md","path":"CODE_OF_CONDUCT.md","contentType":"file"},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"Package.swift","path":"Package.swift","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"package.json","path":"package.json","contentType":"file"}],"totalCount":16}},"fileTreeProcessingTime":7.562611,"foldersToFetch":[],"reducedMotionEnabled":null,"repo":{"id":655068226,"defaultBranch":"main","name":"MetaCodable","ownerLogin":"SwiftyLab","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-06-17T19:32:29.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/106015847?v=4","public":true,"private":false,"isOrgOwned":true},"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"v1.2.1","listCacheKey":"v0:1706214468.0","canEdit":false,"refType":"tag","currentOid":"a6011c3337f573b04b29b8591b507de7e6e4ed8d"},"path":"README.md","currentUser":null,"blob":{"rawLines":null,"stylingDirectives":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/SwiftyLab/MetaCodable/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null,"repoAlertsPath":"/SwiftyLab/MetaCodable/security/dependabot","repoSecurityAndAnalysisPath":"/SwiftyLab/MetaCodable/settings/security_analysis","repoOwnerIsOrg":true,"currentUserCanAdminRepo":false},"displayName":"README.md","displayUrl":"https://github.com/SwiftyLab/MetaCodable/blob/v1.2.1/README.md?raw=true","headerInfo":{"blobSize":"11.2 KB","deleteInfo":{"deleteTooltip":"You must be signed in to make or propose changes"},"editInfo":{"editTooltip":"You must be signed in to make or propose changes"},"ghDesktopPath":null,"gitLfsPath":null,"onBranch":false,"shortPath":"bcae773","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2FSwiftyLab%2FMetaCodable%2Fblob%2Fv1.2.1%2FREADME.md","isCSV":false,"isRichtext":true,"toc":[{"level":1,"text":"MetaCodable","anchor":"metacodable","htmlText":"MetaCodable"},{"level":2,"text":"Overview","anchor":"overview","htmlText":"Overview"},{"level":2,"text":"Requirements","anchor":"requirements","htmlText":"Requirements"},{"level":2,"text":"Installation","anchor":"installation","htmlText":"Installation"},{"level":3,"text":"Swift Package Manager","anchor":"swift-package-manager","htmlText":"Swift Package Manager"},{"level":2,"text":"Usage","anchor":"usage","htmlText":"Usage"},{"level":2,"text":"Contributing","anchor":"contributing","htmlText":"Contributing"},{"level":2,"text":"License","anchor":"license","htmlText":"License"}],"lineInfo":{"truncatedLoc":"322","truncatedSloc":"248"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplateHelpUrl":"https://docs.github.com/articles/about-issue-and-pull-request-templates","issueTemplate":null,"discussionTemplate":null,"language":"Markdown","languageID":222,"large":false,"loggedIn":false,"newDiscussionPath":"/SwiftyLab/MetaCodable/discussions/new","newIssuePath":"/SwiftyLab/MetaCodable/issues/new","planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/SwiftyLab/MetaCodable/blob/v1.2.1/README.md","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","dismissStackNoticePath":"/settings/dismiss-notice/publish_stack_from_file","releasePath":"/SwiftyLab/MetaCodable/releases/new?marketplace=true","showPublishActionBanner":false,"showPublishStackBanner":false},"rawBlobUrl":"https://github.com/SwiftyLab/MetaCodable/raw/v1.2.1/README.md","renderImageOrRaw":false,"richText":"
Supercharge Swift
's Codable
implementations with macros.
MetaCodable
framework exposes custom macros which can be used to generate dynamic Codable
implementations. The core of the framework is Codable()
macro which generates the implementation aided by data provided with using other macros.
MetaCodable
aims to supercharge your Codable
implementations by providing these inbox features:
CodingKey
value declaration per variable, instead of requiring you to write all the CodingKey
values with CodedAt(_:)
passing single argument.¨C93C.
\n¨C46C allows to get rid of boiler plate that was often needed in some typical ¨C47C implementations with features like:
\n¨C96C\n¨C97C\n¨C98C\n¨C99C\n¨C100C\nSee the full documentation for ¨C76C and ¨C77C, for API details and advanced use cases.\nAlso, see the limitations.
\nIf you wish to contribute a change, suggest any improvements,\nplease review our contribution guide,\ncheck for open issues, if it is already being worked upon\nor open a pull request.
\n¨C78C is released under the MIT license. See LICENSE for details.
\n