Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refining API for Bushel #3

Merged
merged 6 commits into from
Jan 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .swiftformat
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
--header strip
--commas inline
--disable wrapMultilineStatementBraces
--extensionacl on-extension
--extensionacl on-declarations
--decimalgrouping 3,4
--exclude .build, DerivedData
120 changes: 111 additions & 9 deletions .swiftlint.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,121 @@
opt_in_rules:
- anyobject_protocol
- array_init
- attributes
- closure_body_length
- closure_end_indentation
- closure_spacing
- collection_alignment
- conditional_returns_on_newline
- contains_over_filter_count
- contains_over_filter_is_empty
- contains_over_first_not_nil
- contains_over_range_nil_comparison
- convenience_type
- discouraged_object_literal
- discouraged_optional_boolean
- empty_collection_literal
- empty_count
- empty_string
- empty_xctest_method
- enum_case_associated_values_count
- expiring_todo
- explicit_acl
- explicit_init
- explicit_self
- explicit_top_level_acl
- fallthrough
- fatal_error_message
- file_header
- file_name
- file_name_no_space
- file_types_order
- first_where
- flatmap_over_map_reduce
- force_unwrapping
- function_default_parameter_at_end
- ibinspectable_in_extension
- identical_operands
- implicit_return
- implicitly_unwrapped_optional
- indentation_width
- joined_default_parameter
- last_where
- legacy_multiple
- legacy_random
- literal_expression_end_indentation
- lower_acl_than_parent
- missing_docs
- modifier_order
- multiline_arguments
- multiline_arguments_brackets
- multiline_function_chains
- multiline_literal_brackets
- multiline_parameters
- nimble_operator
- nslocalizedstring_key
- nslocalizedstring_require_bundle
- number_separator
- object_literal
- operator_usage_whitespace
- optional_enum_case_matching
- overridden_super_call
- override_in_extension
- pattern_matching_keywords
- prefer_self_type_over_type_of_self
- prefer_zero_over_explicit_init
- private_action
- private_outlet
- prohibited_interface_builder
- prohibited_super_call
- quick_discouraged_call
- quick_discouraged_focused_test
- quick_discouraged_pending_test
- reduce_into
- redundant_nil_coalescing
- redundant_type_annotation
- required_enum_case
- single_test_class
- sorted_first_last
- sorted_imports
- static_operator
- strict_fileprivate
- strong_iboutlet
- switch_case_on_newline
- toggle_bool
- trailing_closure
- type_contents_order
- unavailable_function
- unneeded_parentheses_in_closure_argument
- unowned_variable_capture
- untyped_error_in_catch
- unused_declaration
- unused_import
- vertical_parameter_alignment_on_call
- vertical_whitespace_between_cases
- vertical_whitespace_closing_braces
- vertical_whitespace_opening_braces
- xct_specific_matcher
- yoda_condition
cyclomatic_complexity:
- 6
- 9
file_length:
- 200
- 550
function_body_length:
- 15
- 25
function_parameter_count: 8
line_length:
- 90
- 90
identifier_name:
excluded:
- id
- ok
excluded:
- Tests
- DerivedData
- .build
indentation_width:
indentation_width: 2
disabled_rules:
- line_length
- nesting
- type_body_length
- function_body_length
- cyclomatic_complexity
- closure_body_length
- file_length
8 changes: 1 addition & 7 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
// swift-tools-version: 5.9
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

Expand All @@ -15,18 +14,13 @@ let package = Package(
.package(url: "https://github.com/apple/swift-openapi-urlsession", from: "1.0.0")
],
targets: [
// Targets are the basic building blocks of a package, defining a module or a test suite.
// Targets can depend on other targets in this package and products from dependencies.
.target(
name: "IPSWDownloads",
dependencies: [
.product(name: "OpenAPIRuntime", package: "swift-openapi-runtime"),
.product(name: "OpenAPIURLSession", package: "swift-openapi-urlsession")
],
exclude: [
"openapi-generator-config.yaml",
"openapi.yaml"
]
plugins: [.plugin(name: "OpenAPIGenerator", package: "swift-openapi-generator")]
)
]
)
3 changes: 0 additions & 3 deletions Scripts/generate.sh

This file was deleted.

32 changes: 32 additions & 0 deletions Sources/IPSWDownloads/Board.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
//
// File.swift
//
//
// Created by Leo Dion on 1/11/24.
//
import Foundation

public struct Board {
public let boardconfig: String
public let platform: String
public let cpid: Int
public let bdid: Int

public init(boardconfig: String, platform: String, cpid: Int, bdid: Int) {
self.boardconfig = boardconfig
self.platform = platform
self.cpid = cpid
self.bdid = bdid
}
}

extension Board {
init(component: Components.Schemas.Board) {
self.init(
boardconfig: component.boardconfig,
platform: component.platform,
cpid: component.cpid,
bdid: component.bdid
)
}
}
Loading
Loading