René's URL Explorer Experiment


Title: GitHub - Canva/Resolver: Swift Ultralight Dependency Injection / Service Locator framework

Open Graph Title: GitHub - Canva/Resolver: Swift Ultralight Dependency Injection / Service Locator framework

X Title: GitHub - Canva/Resolver: Swift Ultralight Dependency Injection / Service Locator framework

Description: Swift Ultralight Dependency Injection / Service Locator framework - Canva/Resolver

Open Graph Description: Swift Ultralight Dependency Injection / Service Locator framework - Canva/Resolver

X Description: Swift Ultralight Dependency Injection / Service Locator framework - Canva/Resolver

Opengraph URL: https://github.com/Canva/Resolver

X: @github

direct link

Domain: patch-diff.githubusercontent.com

route-pattern/:user_id/:repository
route-controllerfiles
route-actiondisambiguate
fetch-noncev2:1d52db26-bc3f-7a30-6576-d972737926b6
current-catalog-service-hashf3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb
request-idB786:1EF895:17EF647:2073AB7:696EAD90
html-safe-noncea2ebac2dba4278ac1de52d3160149a81484a3ee99ea6931ca3afebe644f4c259
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCNzg2OjFFRjg5NToxN0VGNjQ3OjIwNzNBQjc6Njk2RUFEOTAiLCJ2aXNpdG9yX2lkIjoiNjg5NTE1OTA1MzAyNTk3OTc5MiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac6dd0b56867d91f43b829ed905e4cef300d86482839515ac907d1b751c6d36322
hovercard-subject-tagrepository:926924574
github-keyboard-shortcutsrepository,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location//
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/Canva/Resolver
twitter:imagehttps://opengraph.githubassets.com/7cb0223558b43db05b94cc8c45d9dd720396dfe0f6f6965e5489a2796970d113/Canva/Resolver
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/7cb0223558b43db05b94cc8c45d9dd720396dfe0f6f6965e5489a2796970d113/Canva/Resolver
og:image:altSwift Ultralight Dependency Injection / Service Locator framework - Canva/Resolver
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneb278ad162d35332b6de714dfb005de04386c4d92df6475522bef910f491a35ee
turbo-cache-controlno-preview
go-importgithub.com/Canva/Resolver git https://github.com/Canva/Resolver.git
octolytics-dimension-user_id2562356
octolytics-dimension-user_loginCanva
octolytics-dimension-repository_id926924574
octolytics-dimension-repository_nwoCanva/Resolver
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forktrue
octolytics-dimension-repository_parent_id110732455
octolytics-dimension-repository_parent_nwohmlongco/Resolver
octolytics-dimension-repository_network_root_id110732455
octolytics-dimension-repository_network_root_nwohmlongco/Resolver
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release39aed5006635ab6f45e6b77d23e73b08a00272a3
ui-targetcanary-2
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/Canva/Resolver#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2FCanva%2FResolver
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2FCanva%2FResolver
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=Canva%2FResolver
Reloadhttps://patch-diff.githubusercontent.com/Canva/Resolver
Reloadhttps://patch-diff.githubusercontent.com/Canva/Resolver
Reloadhttps://patch-diff.githubusercontent.com/Canva/Resolver
Canva https://patch-diff.githubusercontent.com/Canva
Resolverhttps://patch-diff.githubusercontent.com/Canva/Resolver
hmlongco/Resolverhttps://patch-diff.githubusercontent.com/hmlongco/Resolver
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2FCanva%2FResolver
Fork 1 https://patch-diff.githubusercontent.com/login?return_to=%2FCanva%2FResolver
Star 0 https://patch-diff.githubusercontent.com/login?return_to=%2FCanva%2FResolver
MIT license https://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/LICENSE
0 stars https://patch-diff.githubusercontent.com/Canva/Resolver/stargazers
197 forks https://patch-diff.githubusercontent.com/Canva/Resolver/forks
Branches https://patch-diff.githubusercontent.com/Canva/Resolver/branches
Tags https://patch-diff.githubusercontent.com/Canva/Resolver/tags
Activity https://patch-diff.githubusercontent.com/Canva/Resolver/activity
Star https://patch-diff.githubusercontent.com/login?return_to=%2FCanva%2FResolver
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2FCanva%2FResolver
Code https://patch-diff.githubusercontent.com/Canva/Resolver
Pull requests 0 https://patch-diff.githubusercontent.com/Canva/Resolver/pulls
Actions https://patch-diff.githubusercontent.com/Canva/Resolver/actions
Projects 0 https://patch-diff.githubusercontent.com/Canva/Resolver/projects
Security Uh oh! There was an error while loading. Please reload this page. https://patch-diff.githubusercontent.com/Canva/Resolver/security
Please reload this pagehttps://patch-diff.githubusercontent.com/Canva/Resolver
Insights https://patch-diff.githubusercontent.com/Canva/Resolver/pulse
Code https://patch-diff.githubusercontent.com/Canva/Resolver
Pull requests https://patch-diff.githubusercontent.com/Canva/Resolver/pulls
Actions https://patch-diff.githubusercontent.com/Canva/Resolver/actions
Projects https://patch-diff.githubusercontent.com/Canva/Resolver/projects
Security https://patch-diff.githubusercontent.com/Canva/Resolver/security
Insights https://patch-diff.githubusercontent.com/Canva/Resolver/pulse
Brancheshttps://patch-diff.githubusercontent.com/Canva/Resolver/branches
Tagshttps://patch-diff.githubusercontent.com/Canva/Resolver/tags
https://patch-diff.githubusercontent.com/Canva/Resolver/branches
https://patch-diff.githubusercontent.com/Canva/Resolver/tags
285 Commitshttps://patch-diff.githubusercontent.com/Canva/Resolver/commits/master/
https://patch-diff.githubusercontent.com/Canva/Resolver/commits/master/
.githubhttps://patch-diff.githubusercontent.com/Canva/Resolver/tree/master/.github
.githubhttps://patch-diff.githubusercontent.com/Canva/Resolver/tree/master/.github
.swiftpm/xcode/package.xcworkspacehttps://patch-diff.githubusercontent.com/Canva/Resolver/tree/master/.swiftpm/xcode/package.xcworkspace
.swiftpm/xcode/package.xcworkspacehttps://patch-diff.githubusercontent.com/Canva/Resolver/tree/master/.swiftpm/xcode/package.xcworkspace
Documentationhttps://patch-diff.githubusercontent.com/Canva/Resolver/tree/master/Documentation
Documentationhttps://patch-diff.githubusercontent.com/Canva/Resolver/tree/master/Documentation
Resolver.xcodeprojhttps://patch-diff.githubusercontent.com/Canva/Resolver/tree/master/Resolver.xcodeproj
Resolver.xcodeprojhttps://patch-diff.githubusercontent.com/Canva/Resolver/tree/master/Resolver.xcodeproj
Resolverhttps://patch-diff.githubusercontent.com/Canva/Resolver/tree/master/Resolver
Resolverhttps://patch-diff.githubusercontent.com/Canva/Resolver/tree/master/Resolver
Sourceshttps://patch-diff.githubusercontent.com/Canva/Resolver/tree/master/Sources
Sourceshttps://patch-diff.githubusercontent.com/Canva/Resolver/tree/master/Sources
Testshttps://patch-diff.githubusercontent.com/Canva/Resolver/tree/master/Tests
Testshttps://patch-diff.githubusercontent.com/Canva/Resolver/tree/master/Tests
docshttps://patch-diff.githubusercontent.com/Canva/Resolver/tree/master/docs
docshttps://patch-diff.githubusercontent.com/Canva/Resolver/tree/master/docs
.gitignorehttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/.gitignore
.gitignorehttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/.gitignore
CHANGELOGhttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/CHANGELOG
CHANGELOGhttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/CHANGELOG
CODE_OF_CONDUCT.mdhttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.mdhttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/CODE_OF_CONDUCT.md
LICENSEhttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/LICENSE
LICENSEhttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/LICENSE
Package.swifthttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Package.swift
Package.swifthttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Package.swift
README.mdhttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/README.md
README.mdhttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/README.md
Resolver.podspechttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Resolver.podspec
Resolver.podspechttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Resolver.podspec
_config.ymlhttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/_config.yml
_config.ymlhttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/_config.yml
READMEhttps://patch-diff.githubusercontent.com/Canva/Resolver
Code of conducthttps://patch-diff.githubusercontent.com/Canva/Resolver
Licensehttps://patch-diff.githubusercontent.com/Canva/Resolver
https://user-images.githubusercontent.com/709283/32858974-cce8282a-ca12-11e7-944b-c8046156290b.png
https://patch-diff.githubusercontent.com/Canva/Resolver#resolver-
Factoryhttps://github.com/hmlongco/Factory
https://patch-diff.githubusercontent.com/Canva/Resolver#introduction
Inversion of Controlhttps://en.wikipedia.org/wiki/Inversion_of_control
A Gentle Introduction to Dependency Injection.https://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Introduction.md
https://patch-diff.githubusercontent.com/Canva/Resolver#dependency-injection-strategies
Interface Injectionhttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Injection.md#interface
Property Injectionhttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Injection.md#property
Constructor Injectionhttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Injection.md#constructor
Method Injectionhttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Injection.md#method
Service Locatorhttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Injection.md#locator
Annotationhttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Injection.md#annotation
https://patch-diff.githubusercontent.com/Canva/Resolver#property-wrappers
Annotationhttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Annotation.md
https://patch-diff.githubusercontent.com/Canva/Resolver#features
Automatic Type Inferencehttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Types.md
Scopes: Application, Cached, Graph, Shared, and Uniquehttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Scopes.md
Protocolshttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Protocols.md
Optionalshttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Optionals.md
Named Instanceshttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Names.md
Argument Passinghttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Arguments.md
Custom Containers & Nested Containershttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Containers.md
Cyclic Dependency Supporthttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/CyclicDependencies.md
Storyboard Supporthttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Storyboards.md
Automatic Type Inferencehttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Types.md
Scopeshttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Scopes.md
Optionalshttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Optionals.md
https://patch-diff.githubusercontent.com/Canva/Resolver#using-resolver
Add Resolver to your project.https://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Installation.md
Register the classes and services your app requires.https://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Registration.md
Use Resolver to resolve those instances when needed.https://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Resolving.md
https://patch-diff.githubusercontent.com/Canva/Resolver#why-resolver
SwinjectStoryboardhttps://github.com/Swinject/SwinjectStoryboard
Is thread safe (assuming your objects are thread safe).https://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Threads.md
Automatic Type Inferencehttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Types.md
https://patch-diff.githubusercontent.com/Canva/Resolver#installation
installation guidehttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Installation.md
https://patch-diff.githubusercontent.com/Canva/Resolver#demo-application
Builderhttps://github.com/hmlongco/Builder
https://patch-diff.githubusercontent.com/Canva/Resolver#resolver-update-notes
Scopeshttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Scopes.md
Named Instanceshttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Names.md
Passing and Handling Multiple Argumentshttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/Arguments.md#multiple
https://patch-diff.githubusercontent.com/Canva/Resolver#sponsor-resolver
GitHub Sponsorshiphttps://github.com/sponsors/hmlongco
https://patch-diff.githubusercontent.com/Canva/Resolver#author
Michael Longhttps://www.linkedin.com/in/hmlong/
@hmlonghttps://www.linkedin.com/in/hmlong/
@michaellonghttps://medium.com/@michaellong
Open Source Peer Rewardhttps://opensource.googleblog.com/2021/09/announcing-latest-open-source-peer-bonus-winners.html
https://patch-diff.githubusercontent.com/Canva/Resolver#license
https://patch-diff.githubusercontent.com/Canva/Resolver#additional-resouces
Factory: A Swift Dependency Injection Systemhttps://github.com/hmlongco/Factory
Resolver for iOS Dependency Injection: Getting Started | Ray Wenderlichhttps://www.raywenderlich.com/22203552-resolver-for-ios-dependency-injection-getting-started
API Documentationhttps://patch-diff.githubusercontent.com/Canva/Resolver/blob/master/Documentation/API/Classes/Resolver.html
Inversion of Control Design Pattern ~ Wikipediahttps://en.wikipedia.org/wiki/Inversion_of_control
Inversion of Control Containers and the Dependency Injection pattern ~ Martin Fowlerhttps://martinfowler.com/articles/injection.html
Nuts and Bolts of Dependency Injection in Swifthttps://cocoacasts.com/nuts-and-bolts-of-dependency-injection-in-swift/
Dependency Injection in Swifthttps://cocoacasts.com/dependency-injection-in-swift
SwinjectStoryboardhttps://github.com/Swinject/SwinjectStoryboard
Swift 5.1 Takes Dependency Injection to the Next Levelhttps://medium.com/better-programming/taking-swift-dependency-injection-to-the-next-level-b71114c6a9c6
Builder Demo Applicationhttps://github.com/hmlongco/Builder
(Now uses Factory)https://github.com/hmlongco/Factory
Readme https://patch-diff.githubusercontent.com/Canva/Resolver#readme-ov-file
MIT license https://patch-diff.githubusercontent.com/Canva/Resolver#MIT-1-ov-file
Code of conduct https://patch-diff.githubusercontent.com/Canva/Resolver#coc-ov-file
Please reload this pagehttps://patch-diff.githubusercontent.com/Canva/Resolver
Activityhttps://patch-diff.githubusercontent.com/Canva/Resolver/activity
Custom propertieshttps://patch-diff.githubusercontent.com/Canva/Resolver/custom-properties
0 starshttps://patch-diff.githubusercontent.com/Canva/Resolver/stargazers
0 watchinghttps://patch-diff.githubusercontent.com/Canva/Resolver/watchers
1 forkhttps://patch-diff.githubusercontent.com/Canva/Resolver/forks
Report repository https://patch-diff.githubusercontent.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2FCanva%2FResolver&report=Canva+%28user%29
Releaseshttps://patch-diff.githubusercontent.com/Canva/Resolver/releases
26 tags https://patch-diff.githubusercontent.com/Canva/Resolver/tags
Packages 0https://patch-diff.githubusercontent.com/orgs/Canva/packages?repo_name=Resolver
Please reload this pagehttps://patch-diff.githubusercontent.com/Canva/Resolver
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.