V8tr
{
"type": "http://schema.org/Person",
"name": "",
"description": "",
"followers": "",
"url": "",
"location": "",
"languages": [
"Swift",
"Swift",
"Swift",
"Swift",
"Swift",
"Swift"
],
"users": [
{
"name": "@V8tr",
"avatar": "https://avatars.githubusercontent.com/u/5285362?s=64&v=4"
},
{
"name": "@V8tr",
"avatar": "https://avatars.githubusercontent.com/u/5285362?s=64&v=4"
},
{
"name": "View V8tr's full-sized avatar",
"avatar": "https://avatars.githubusercontent.com/u/5285362?v=4"
}
],
"topics": []
}
{
"avatar": "https://avatars.githubusercontent.com/u/5285362?v=4",
"name": "Vadim Bulavin",
"username": "V8tr",
"description": " iOS Engineer. 👨💻 Writing about iOS Dev & Swift at https://www.vadimbulavin.com/.",
"location": "",
"vcard": "<svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-link\">\n <path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path>\n</svg>\n <a rel=\"nofollow me\" class=\"Link--primary wb-break-all\" href=\"https://www.vadimbulavin.com/\">https://www.vadimbulavin.com/</a>\n",
"vcardDetails": [
{
"name": "https://www.vadimbulavin.com/",
"url": "https://www.vadimbulavin.com/"
},
{
"name": "@V8tr",
"url": "https://twitter.com/V8tr"
}
],
"orgs": [],
"sponsors": [],
"pinned": [
{
"name": "ModernMVVM",
"description": "A movie iOS app built with the MVVM architecture, Combine and SwiftUI frameworks https://www.vadimbulavin.com/modern-mvvm-ios-app-architecture-with-combine-and-swiftui/.",
"language": ""
},
{
"name": "KeyboardAvoidanceSwiftUI",
"description": "How to move SwiftUI view up when keyboard appears https://www.vadimbulavin.com/how-to-move-swiftui-view-when-keyboard-covers-text-field/",
"language": ""
},
{
"name": "AsyncImage",
"description": "Asynchronous Image Loading from URL in SwiftUI",
"language": ""
},
{
"name": "SwiftCombineNetworking",
"description": "Promise-Based Networking in Swift 5 with URLSession, Combine and Codable",
"language": ""
},
{
"name": "LinesSorter-Xcode-Extension",
"description": "Xcode Extension that helps you keep your import statements and long code lists organized and uniform",
"language": ""
},
{
"name": "InfiniteListSwiftUI",
"description": "Paginated endless scroll using the SwiftUI and Combine frameworks",
"language": ""
}
],
"pinnedHtml": [
"\n <div class=\"d-flex v-align-middle mr-2\">\n <span data-view-component=\"true\" class=\"position-relative\"><a id=\"246861001\" href=\"/V8tr/ModernMVVM\" data-view-component=\"true\" class=\"min-width-0 Link text-bold flex-auto wb-break-all\"><span class=\"repo\">\n ModernMVVM\n </span></a> <tool-tip id=\"tooltip-ea8f7f15-44de-4c40-9d9f-9977b7fe13fb\" for=\"246861001\" popover=\"manual\" data-direction=\"n\" data-type=\"description\" data-view-component=\"true\" class=\"sr-only position-absolute\">ModernMVVM</tool-tip></span> <span class=\"flex-auto text-right\">\n <span></span><span class=\"Label Label--secondary v-align-middle \">Public</span>\n </span>\n </div>\n\n\n <p class=\"pinned-item-desc color-fg-muted text-small d-block mt-2 tmp-mb-3\">\n A movie iOS app built with the MVVM architecture, Combine and SwiftUI frameworks https://www.vadimbulavin.com/modern-mvvm-ios-app-architecture-with-combine-and-swiftui/.\n </p>\n\n <p class=\"mb-0 f6 color-fg-muted\">\n <span class=\"tmp-mr-3 d-inline-block\">\n <span class=\"repo-language-color\" style=\"background-color: #F05138\"></span>\n <span itemprop=\"programmingLanguage\">Swift</span>\n</span>\n\n <a href=\"/V8tr/ModernMVVM/stargazers\" class=\"pinned-item-meta Link--muted\">\n <svg aria-label=\"stars\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n 473\n </a>\n <a href=\"/V8tr/ModernMVVM/forks\" class=\"pinned-item-meta Link--muted\">\n <svg aria-label=\"forks\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-repo-forked\">\n <path d=\"M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\"></path>\n</svg>\n 40\n </a>\n </p>\n ",
"\n <div class=\"d-flex v-align-middle mr-2\">\n <span data-view-component=\"true\" class=\"position-relative\"><a id=\"250570511\" href=\"/V8tr/KeyboardAvoidanceSwiftUI\" data-view-component=\"true\" class=\"min-width-0 Link text-bold flex-auto wb-break-all\"><span class=\"repo\">\n KeyboardAvoidanceSwiftUI\n </span></a> <tool-tip id=\"tooltip-c460b783-9686-42f8-b848-4222adfc0b69\" for=\"250570511\" popover=\"manual\" data-direction=\"n\" data-type=\"description\" data-view-component=\"true\" class=\"sr-only position-absolute\">KeyboardAvoidanceSwiftUI</tool-tip></span> <span class=\"flex-auto text-right\">\n <span></span><span class=\"Label Label--secondary v-align-middle \">Public</span>\n </span>\n </div>\n\n\n <p class=\"pinned-item-desc color-fg-muted text-small d-block mt-2 tmp-mb-3\">\n How to move SwiftUI view up when keyboard appears https://www.vadimbulavin.com/how-to-move-swiftui-view-when-keyboard-covers-text-field/\n </p>\n\n <p class=\"mb-0 f6 color-fg-muted\">\n <span class=\"tmp-mr-3 d-inline-block\">\n <span class=\"repo-language-color\" style=\"background-color: #F05138\"></span>\n <span itemprop=\"programmingLanguage\">Swift</span>\n</span>\n\n <a href=\"/V8tr/KeyboardAvoidanceSwiftUI/stargazers\" class=\"pinned-item-meta Link--muted\">\n <svg aria-label=\"stars\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n 352\n </a>\n <a href=\"/V8tr/KeyboardAvoidanceSwiftUI/forks\" class=\"pinned-item-meta Link--muted\">\n <svg aria-label=\"forks\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-repo-forked\">\n <path d=\"M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\"></path>\n</svg>\n 37\n </a>\n </p>\n ",
"\n <div class=\"d-flex v-align-middle mr-2\">\n <span data-view-component=\"true\" class=\"position-relative\"><a id=\"240297962\" href=\"/V8tr/AsyncImage\" data-view-component=\"true\" class=\"min-width-0 Link text-bold flex-auto wb-break-all\"><span class=\"repo\">\n AsyncImage\n </span></a> <tool-tip id=\"tooltip-d4a5ea36-7f80-43b9-8e7b-ce12a5960e8f\" for=\"240297962\" popover=\"manual\" data-direction=\"n\" data-type=\"description\" data-view-component=\"true\" class=\"sr-only position-absolute\">AsyncImage</tool-tip></span> <span class=\"flex-auto text-right\">\n <span></span><span class=\"Label Label--secondary v-align-middle \">Public</span>\n </span>\n </div>\n\n\n <p class=\"pinned-item-desc color-fg-muted text-small d-block mt-2 tmp-mb-3\">\n Asynchronous Image Loading from URL in SwiftUI\n </p>\n\n <p class=\"mb-0 f6 color-fg-muted\">\n <span class=\"tmp-mr-3 d-inline-block\">\n <span class=\"repo-language-color\" style=\"background-color: #F05138\"></span>\n <span itemprop=\"programmingLanguage\">Swift</span>\n</span>\n\n <a href=\"/V8tr/AsyncImage/stargazers\" class=\"pinned-item-meta Link--muted\">\n <svg aria-label=\"stars\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n 278\n </a>\n <a href=\"/V8tr/AsyncImage/forks\" class=\"pinned-item-meta Link--muted\">\n <svg aria-label=\"forks\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-repo-forked\">\n <path d=\"M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\"></path>\n</svg>\n 35\n </a>\n </p>\n ",
"\n <div class=\"d-flex v-align-middle mr-2\">\n <span data-view-component=\"true\" class=\"position-relative\"><a id=\"222448729\" href=\"/V8tr/SwiftCombineNetworking\" data-view-component=\"true\" class=\"min-width-0 Link text-bold flex-auto wb-break-all\"><span class=\"repo\">\n SwiftCombineNetworking\n </span></a> <tool-tip id=\"tooltip-35c2d6ac-e9be-4e34-8a35-d1ba3a09932a\" for=\"222448729\" popover=\"manual\" data-direction=\"n\" data-type=\"description\" data-view-component=\"true\" class=\"sr-only position-absolute\">SwiftCombineNetworking</tool-tip></span> <span class=\"flex-auto text-right\">\n <span></span><span class=\"Label Label--secondary v-align-middle \">Public</span>\n </span>\n </div>\n\n\n <p class=\"pinned-item-desc color-fg-muted text-small d-block mt-2 tmp-mb-3\">\n Promise-Based Networking in Swift 5 with URLSession, Combine and Codable \n </p>\n\n <p class=\"mb-0 f6 color-fg-muted\">\n <span class=\"tmp-mr-3 d-inline-block\">\n <span class=\"repo-language-color\" style=\"background-color: #F05138\"></span>\n <span itemprop=\"programmingLanguage\">Swift</span>\n</span>\n\n <a href=\"/V8tr/SwiftCombineNetworking/stargazers\" class=\"pinned-item-meta Link--muted\">\n <svg aria-label=\"stars\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n 79\n </a>\n <a href=\"/V8tr/SwiftCombineNetworking/forks\" class=\"pinned-item-meta Link--muted\">\n <svg aria-label=\"forks\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-repo-forked\">\n <path d=\"M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\"></path>\n</svg>\n 17\n </a>\n </p>\n ",
"\n <div class=\"d-flex v-align-middle mr-2\">\n <span data-view-component=\"true\" class=\"position-relative\"><a id=\"145131879\" href=\"/V8tr/LinesSorter-Xcode-Extension\" data-view-component=\"true\" class=\"min-width-0 Link text-bold flex-auto wb-break-all\"><span class=\"repo\">\n LinesSorter-Xcode-Extension\n </span></a> <tool-tip id=\"tooltip-c4dc5d6b-b42e-4b60-8167-baa95ec3283a\" for=\"145131879\" popover=\"manual\" data-direction=\"n\" data-type=\"description\" data-view-component=\"true\" class=\"sr-only position-absolute\">LinesSorter-Xcode-Extension</tool-tip></span> <span class=\"flex-auto text-right\">\n <span></span><span class=\"Label Label--secondary v-align-middle \">Public</span>\n </span>\n </div>\n\n\n <p class=\"pinned-item-desc color-fg-muted text-small d-block mt-2 tmp-mb-3\">\n Xcode Extension that helps you keep your import statements and long code lists organized and uniform\n </p>\n\n <p class=\"mb-0 f6 color-fg-muted\">\n <span class=\"tmp-mr-3 d-inline-block\">\n <span class=\"repo-language-color\" style=\"background-color: #F05138\"></span>\n <span itemprop=\"programmingLanguage\">Swift</span>\n</span>\n\n <a href=\"/V8tr/LinesSorter-Xcode-Extension/stargazers\" class=\"pinned-item-meta Link--muted\">\n <svg aria-label=\"stars\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n 76\n </a>\n <a href=\"/V8tr/LinesSorter-Xcode-Extension/forks\" class=\"pinned-item-meta Link--muted\">\n <svg aria-label=\"forks\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-repo-forked\">\n <path d=\"M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\"></path>\n</svg>\n 6\n </a>\n </p>\n ",
"\n <div class=\"d-flex v-align-middle mr-2\">\n <span data-view-component=\"true\" class=\"position-relative\"><a id=\"271346536\" href=\"/V8tr/InfiniteListSwiftUI\" data-view-component=\"true\" class=\"min-width-0 Link text-bold flex-auto wb-break-all\"><span class=\"repo\">\n InfiniteListSwiftUI\n </span></a> <tool-tip id=\"tooltip-711bb77d-4f83-4d0b-9fa6-e67e4cc48f56\" for=\"271346536\" popover=\"manual\" data-direction=\"n\" data-type=\"description\" data-view-component=\"true\" class=\"sr-only position-absolute\">InfiniteListSwiftUI</tool-tip></span> <span class=\"flex-auto text-right\">\n <span></span><span class=\"Label Label--secondary v-align-middle \">Public</span>\n </span>\n </div>\n\n\n <p class=\"pinned-item-desc color-fg-muted text-small d-block mt-2 tmp-mb-3\">\n Paginated endless scroll using the SwiftUI and Combine frameworks\n </p>\n\n <p class=\"mb-0 f6 color-fg-muted\">\n <span class=\"tmp-mr-3 d-inline-block\">\n <span class=\"repo-language-color\" style=\"background-color: #F05138\"></span>\n <span itemprop=\"programmingLanguage\">Swift</span>\n</span>\n\n <a href=\"/V8tr/InfiniteListSwiftUI/stargazers\" class=\"pinned-item-meta Link--muted\">\n <svg aria-label=\"stars\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n 74\n </a>\n <a href=\"/V8tr/InfiniteListSwiftUI/forks\" class=\"pinned-item-meta Link--muted\">\n <svg aria-label=\"forks\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-repo-forked\">\n <path d=\"M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\"></path>\n</svg>\n 8\n </a>\n </p>\n "
]
}
{
"accept-ranges": "bytes",
"cache-control": "max-age=0, private, must-revalidate",
"content-encoding": "gzip",
"content-security-policy": "default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net productionresultssa1.blob.core.windows.net productionresultssa2.blob.core.windows.net productionresultssa3.blob.core.windows.net productionresultssa4.blob.core.windows.net productionresultssa5.blob.core.windows.net productionresultssa6.blob.core.windows.net productionresultssa7.blob.core.windows.net productionresultssa8.blob.core.windows.net productionresultssa9.blob.core.windows.net productionresultssa10.blob.core.windows.net productionresultssa11.blob.core.windows.net productionresultssa12.blob.core.windows.net productionresultssa13.blob.core.windows.net productionresultssa14.blob.core.windows.net productionresultssa15.blob.core.windows.net productionresultssa16.blob.core.windows.net productionresultssa17.blob.core.windows.net productionresultssa18.blob.core.windows.net productionresultssa19.blob.core.windows.net github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com user-images.githubusercontent.com private-user-images.githubusercontent.com opengraph.githubassets.com marketplace-screenshots.githubusercontent.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com explore-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com secured-user-images.githubusercontent.com private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com github.githubassets.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/",
"content-type": "text/html; charset=utf-8",
"date": "Tue, 02 Jun 2026 11:20:58 GMT",
"etag": "715adf0e773fc2e2dd728bfe81da4950",
"referrer-policy": "origin-when-cross-origin, strict-origin-when-cross-origin",
"server": "github.com",
"set-cookie": "logged_in=no; expires=Wed, 02 Jun 2027 11:20:58 GMT; domain=.github.com; path=/; HttpOnly; secure; SameSite=Lax",
"strict-transport-security": "max-age=31536000; includeSubdomains; preload",
"transfer-encoding": "chunked",
"vary": "X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With, Sec-Fetch-Site,Accept-Encoding, Accept, X-Requested-With",
"x-content-type-options": "nosniff",
"x-frame-options": "deny",
"x-github-request-id": "EACC:9C1F2:2A9E10:39D6A3:6A1EBC99",
"x-xss-protection": "0"
}