Skip to content

Move v5.0 to hyperdevs #41

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

Open
wants to merge 64 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
17c9486
Prepare Fork
sebastianvarela Jan 23, 2020
09fa873
Prepare v1.1.3
sebastianvarela Jan 23, 2020
99eb0ef
Update Readme
sebastianvarela Jan 23, 2020
7252962
Update Readme
sebastianvarela Jan 23, 2020
9612a4b
Rename Service to ServiceType
sebastianvarela Apr 21, 2020
9e30f27
Prepare v1.2.0
sebastianvarela Apr 21, 2020
febe2c3
Forgot
sebastianvarela Apr 21, 2020
effff7b
Prepare Mini for Carthage
sebastianvarela Sep 30, 2020
c47c77e
Update README.md
sebastianvarela Oct 1, 2020
ad473fe
Update README.md
sebastianvarela Oct 1, 2020
5e6d48f
Prepare 1.3.0
sebastianvarela Oct 1, 2020
262bc29
Add KeyedEmptyAction
sebastianvarela Feb 22, 2021
4dcfb79
Prepare v1.3.1
sebastianvarela Feb 22, 2021
de0b128
Add support for XCFrameworks
sebastianvarela Feb 25, 2021
794bf88
Preparing for Combine (#4)
sebastianvarela Aug 11, 2021
64c33fb
Latests minor improves
sebastianvarela Aug 11, 2021
d710b1d
Prepare v2.0.0
sebastianvarela Aug 11, 2021
a478bc6
Fix StoreSubscription
sebastianvarela Aug 11, 2021
fee39be
Prepare v2.0.1
sebastianvarela Aug 11, 2021
1f373ca
Add delegate to service to track when state is replayed
sebastianvarela Oct 11, 2021
d3aa1d2
Prepare 2.1.0
sebastianvarela Oct 11, 2021
d325310
Add payload and key into the task
sebastianvarela Oct 13, 2021
13769f0
Prepare v2.1.1
sebastianvarela Oct 13, 2021
5f55ba8
FIX CI
sebastianvarela Jun 24, 2022
9168db4
Fix DangerFile
sebastianvarela Jun 29, 2022
91ef05c
Improve TypedTasks (#5)
sebastianvarela Mar 13, 2023
b96187b
Prepare v3.0.0
sebastianvarela Mar 13, 2023
c271ad7
Add KeyedEmpty Tasks (#7)
sebastianvarela Mar 15, 2023
102de62
Prepare v3.0.1
sebastianvarela Mar 15, 2023
99ef91c
Use Void and None to dispatch an EmptyAction (#8)
sebastianvarela Mar 21, 2023
65dd093
Prepare v3.0.2
sebastianvarela Mar 21, 2023
b170214
Use Void and None to dispatch a KeyedEmptyAction (#9)
adrianrl Mar 22, 2023
4f772f8
Prepare v3.0.3
sebastianvarela Mar 22, 2023
6c9e9d3
Typed tasks (#10)
adrianrl Mar 24, 2023
b40c61a
Prepare v3.0.4
sebastianvarela Mar 24, 2023
763de65
Ignore output files
sebastianvarela Mar 24, 2023
80ea502
Fix codecov (#12)
sebastianvarela Mar 24, 2023
e42df92
Tune codecov
sebastianvarela Mar 24, 2023
45ba59a
Add extension to dispatch attributed actions from publishers (#11)
sebastianvarela Mar 27, 2023
81dee86
Prepare 3.0.5
sebastianvarela Mar 27, 2023
325a465
Fix TaskStatus Equatable (#13)
EdiLT Mar 30, 2023
7a20b10
Prepare v3.0.6
sebastianvarela Mar 30, 2023
7cec951
Simplify naming for task helpers (#14)
sebastianvarela Apr 12, 2023
2c734d2
Prepare v3.0.7
sebastianvarela Apr 12, 2023
57dbf1e
Improve protocols naming, usability and fix minor bugs (#15)
sebastianvarela Apr 17, 2023
1fe0292
Prepare v3.1.0
sebastianvarela Apr 17, 2023
a9c4018
Allow unbuffered subscriptions for stores (#16)
sebastianvarela Nov 29, 2023
488b802
Prepare v3.2.0
sebastianvarela Nov 29, 2023
010fbe2
Handle And filter expired tasks (#17)
sebastianvarela Dec 5, 2023
540ea93
Prepare v3.3.0
sebastianvarela Dec 5, 2023
55e27ba
Prepare Stores to emit or not the initial value (#18)
sebastianvarela May 31, 2024
6d633af
Prepare v4.0.0
sebastianvarela May 31, 2024
797911b
Remove Validate Cocoapods
sebastianvarela Jul 29, 2024
31907ca
Update Gems
sebastianvarela Jul 29, 2024
bcdc779
Add public function to map a success task with another task publisher…
sebastianvarela Jul 30, 2024
2244379
Prepare v4.1.0
sebastianvarela Jul 30, 2024
13dd244
Remove swiftlint on buildphase
sebastianvarela Sep 11, 2024
d118e2b
Prepare v4.1.1
sebastianvarela Sep 11, 2024
62328bb
Fix CI
sebastianvarela Oct 24, 2024
806b4e6
Increase Coverage
sebastianvarela Oct 24, 2024
4797f57
Prepare isExpired to pass a margin for slower scenarios (#20)
sebastianvarela Oct 24, 2024
bae2d09
Prepare v4.2.0
sebastianvarela Oct 24, 2024
082c957
Add SPM support and remove Cocoapods (#21)
adrianrl Apr 7, 2025
721551d
Improve testing and clean some files (#22)
sebastianvarela Apr 7, 2025
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: 0 additions & 2 deletions .bundle/config

This file was deleted.

13 changes: 0 additions & 13 deletions .codecov.yml

This file was deleted.

4 changes: 2 additions & 2 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@
# Current code owners
# - @sebastianvarela -> Sebastián Varela
# - @r-pedraza -> Raul Pedraza
# - @minuscorp -> Jorge Revuelta
# - @EdiLT -> Edilberto López
# - @josemanuelmartin -> Jose Manuel Martín

* @sebastianvarela @r-pedraza @minuscorp @EdiLT
* @EdiLT @r-pedraza @sebastianvarela @josemanuelmartin @Gabriel-V-Radu @adrianrl
69 changes: 69 additions & 0 deletions .github/workflows/pr_validator.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: "pr-validator"
on:
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

jobs:
swiftlint:
name: Swiftlint
runs-on: apps-ci
timeout-minutes: 120
steps:

- name: Checkout 🔎
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Rake ⚙️
run: rake

- name: Swiftlint 👀
run: |
set -o pipefail && mint run swiftlint --strict \
| sed -E 's/^(.*):([0-9]+):([0-9]+): (warning|error|[^:]+): (.*)/::\4 file=\1,line=\2,col=\3::\5/'

build:
name: Test
runs-on: apps-ci
timeout-minutes: 120
steps:

- name: Checkout 🔎
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Rake ⚙️
run: rake

- name: Run tests ⚙️
run: rake test

- name: Generate lcov file 📈
run: |
xcrun llvm-cov export \
-format="lcov" \
--ignore-filename-regex=".build|.test-bundle|Tests/" \
.build/debug/MiniPackageTests.xctest/Contents/MacOS/MiniPackageTests \
-instr-profile .build/debug/codecov/default.profdata \
> report.lcov

- name: Upload package tests coverage to Codecov 📋
uses: codecov/[email protected]
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: report.lcov
flags: package
fail_ci_if_error: true
name: codecov-package
gcov_ignore: Tests/*

- name: Save Output 📦
uses: actions/upload-artifact@v4
with:
name: output
path: ${{ github.workspace }}/report.lcov
90 changes: 40 additions & 50 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,17 +1,27 @@
.gems
output/
.DS_Store
Brewfile.lock.json

# Created by https://www.gitignore.io/api/swift,xcode,carthage
# Created by https://www.toptal.com/developers/gitignore/api/swift
# Edit at https://www.toptal.com/developers/gitignore?templates=swift

### Swift ###
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore

## Build generated
## User settings
xcuserdata/

## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
*.xcscmblueprint
*.xccheckout

## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
build/
DerivedData/

## Various settings
*.moved-aside
*.pbxuser
!default.pbxuser
*.mode1v3
@@ -20,14 +30,11 @@ DerivedData/
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/

## Other
*.moved-aside
*.xcuserstate

## Obj-C/Swift specific
*.hmap

## App packaging
*.ipa
*.dSYM.zip
*.dSYM
@@ -37,67 +44,50 @@ timeline.xctimeline
playground.xcworkspace

# Swift Package Manager
#
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
# Package.pins
# Package.resolved
# *.xcodeproj
# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
# hence it is not needed unless you have added a package configuration file to your project
.swiftpm

.build/

# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
# Pods/
# Add this line if you want to avoid checking in source code from the Xcode workspace
# *.xcworkspace

# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts

Carthage/
Carthage/Build/

# Accio dependency management
Dependencies/
.accio/

# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# It is recommended to not store the screenshots in the git repo.
# Instead, use fastlane to re-generate the screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md
# https://docs.fastlane.tools/best-practices/source-control/#source-control

fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/screenshots/**/*.png
fastlane/test_output

# Code Injection
# After new code Injection tools there's a generated folder /iOSInjectionProject
# https://github.com/johnno1962/injectionforxcode

### Xcode ###
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore

## Build generated
build/
DerivedData/

## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/

## Other
*.moved-aside
*.xccheckout
*.xcscmblueprint

iOSInjectionProject/

### Carthage ###
# Carthage - A simple, decentralized dependency manager for Cocoa
Carthage/Checkouts/
Carthage/Build/

.DS_Store
# End of https://www.toptal.com/developers/gitignore/api/swift
11 changes: 0 additions & 11 deletions .overcommit.yml

This file was deleted.

80 changes: 65 additions & 15 deletions .swiftlint.yml
Original file line number Diff line number Diff line change
@@ -1,71 +1,121 @@
disabled_rules:
- inclusive_language
- todo
- conditional_returns_on_newline
- unused_optional_binding
- file_header
- unused_setter_value
opt_in_rules:
#lint
- prohibited_super_call
- overridden_super_call
- yoda_condition
- modifier_order
#- explicit_acl
- cyclomatic_complexity
#style
- sorted_imports
- duplicate_imports
- unneeded_parentheses_in_closure_argument
- operator_usage_whitespace
- number_separator
- closure_spacing
- closure_end_indentation
- attributes
- file_header
- conditional_returns_on_newline
- implicit_return
- multiline_function_chains
- switch_case_on_newline
- prefer_self_type_over_type_of_self
- vertical_whitespace_between_cases
- vertical_whitespace_closing_braces
- vertical_whitespace_opening_braces
- vertical_parameter_alignment
- vertical_parameter_alignment_on_call
#idiomatic
- redundant_type_annotation
- redundant_nil_coalescing
- nimble_operator
- explicit_init
- empty_parentheses_with_trailing_closure
- prefer_zero_over_explicit_init
#performance
- empty_count
- contains_over_first_not_nil
- empty_string
- first_where
- sorted_first_last
- flatmap_over_map_reduce
included:
- Sources
excluded:
- Tests
closure_end_indentation:
severity: error
force_cast:
severity: error
force_try:
severity: error
function_parameter_count:
warning: 6
error: 6
function_body_length:
warning: 60
error: 100
warning: 120
error: 200
cyclomatic_complexity:
warning: 60
error: 60
type_body_length:
warning: 400
error: 500
warning: 1500
error: 1500
line_length:
warning: 250
error: 400
large_tuple:
warning: 5
error: 5
file_length:
warning: 700
error: 1200
warning: 2000
error: 2000
nesting:
type_level:
warning: 2
function_level:
warning: 2
type_name:
min_length: 3
max_length: 40
severity: error
max_length: 50
excluded:
- iPhone
- my
- BO
- bo
identifier_name:
min_length: 3
max_length: 40
severity: error
excluded:
- id
max_length: 45
excluded:
- i
- to
- x
- y
- z
- a
- b
- rx
- map
- app
- id
- URL
- GlobalAPIKey
- bo
- BO
attributes:
always_on_line_above:
- "@discardableResult"
- "@available"
always_on_same_line:
- "@autoclosure"
- "@IBOutlet"
- "@IBAction"
- "@NSManaged"
- "@testable"
reporter: "xcode"
reporter: "xcode"
Loading