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

refactor: Use early return pattern to avoid nested conditions #566

Merged
merged 2 commits into from Dec 19, 2022
Merged

refactor: Use early return pattern to avoid nested conditions #566

merged 2 commits into from Dec 19, 2022

Conversation

jongwooo
Copy link
Contributor

@jongwooo jongwooo commented Dec 12, 2022

Signed-off-by: jongwooo jongwooo.han@gmail.com
Issue #557

Description

Return early is the way of writing functions or methods so that the expected positive result is returned at the end of the function and the rest of the code terminates the execution (by returning or throwing an exception) when conditions are not met.

See actions/cache#1012, actions/setup-node#639

In utils.ts:

AS-IS

export function isCacheFeatureAvailable(): boolean {
  if (!cache.isFeatureAvailable()) {
    if (isGhes()) {
      throw new Error(
        'Caching is only supported on GHES version >= 3.5....'
      );
    } else {
      core.warning(
        'The runner was not able to...'
      );
    }

    return false;
  }

  return true;
}

TO-BE

export function isCacheFeatureAvailable(): boolean {
  if (cache.isFeatureAvailable()) {
    return true;
  }

  if (isGhes()) {
    throw new Error(
      'Caching is only supported on GHES version >= 3.5...'
    );
  }

  core.warning(
    'The runner was not able to...'
  );
  return false;
}

Check list:

  • Mark if documentation changes are required.
  • Mark if tests were added or updated to cover the changes.

Signed-off-by: jongwooo <jongwooo.han@gmail.com>
@jongwooo jongwooo requested a review from a team December 12, 2022 12:01
@jongwooo jongwooo changed the title refactor: Use early return pattern refactor: Use early return pattern to avoid nested conditions Dec 12, 2022
src/utils.ts Outdated Show resolved Hide resolved
Signed-off-by: jongwooo <jongwooo.han@gmail.com>
@MaksimZhukov MaksimZhukov merged commit 206e984 into actions:main Dec 19, 2022
160 of 163 checks passed
@jongwooo jongwooo deleted the refactor/use-early-return-pattern branch December 19, 2022 13:02
estahn pushed a commit to estahn/k8s-image-swapper that referenced this pull request Jan 1, 2023
## [1.4.0](v1.3.3...v1.4.0) (2023-01-01)

### 👷 Build System

* **deps-dev:** Bump @semantic-release/changelog from 6.0.1 to 6.0.2 ([#404](#404)) ([ee56dbc](ee56dbc)), closes [#276](#276) [#276](#276) [#272](#272) [#275](#275) [#273](#273) [#274](#274) [#271](#271) [#270](#270) [#269](#269) [#268](#268) [#267](#267)

### 🎉 Features

* add custom tags to created ECR repositories ([#191](#191)) ([9849df2](9849df2))

### 📝 Documentation

* fix indentation ([b00c57e](b00c57e))

### ⬆️ Dependencies

* **deps:** Bump actions/cache from 3.0.11 to 3.2.1 ([#417](#417)) ([7e7eb8f](7e7eb8f)), closes [actions/cache#1039](actions/cache#1039) [actions/cache#1023](actions/cache#1023) [actions/cache#959](actions/cache#959) [actions/cache#960](actions/cache#960) [actions/cache#963](actions/cache#963) [actions/cache#961](actions/cache#961) [actions/cache#976](actions/cache#976) [actions/cache#971](actions/cache#971) [actions/cache#979](actions/cache#979) [actions/cache#986](actions/cache#986) [actions/cache#981](actions/cache#981) [actions/cache#997](actions/cache#997) [actions/cache#998](actions/cache#998) [actions/cache#1005](actions/cache#1005) [actions/cache#1007](actions/cache#1007) [actions/cache#1013](actions/cache#1013) [actions/cache#1004](actions/cache#1004) [actions/cache#1014](actions/cache#1014) [actions/cache#1008](actions/cache#1008) [actions/cache#1026](actions/cache#1026) [actions/cache#929](actions/cache#929) [actions/cache#1035](actions/cache#1035) [actions/cache#959](actions/cache#959) [actions/cache#979](actions/cache#979) [actions/cache#1013](actions/cache#1013) [actions/cache#1026](actions/cache#1026) [actions/cache#929](actions/cache#929) [actions/cache#1006](actions/cache#1006) [#1023](https://github.com/estahn/k8s-image-swapper/issues/1023) [#1039](https://github.com/estahn/k8s-image-swapper/issues/1039) [#1035](https://github.com/estahn/k8s-image-swapper/issues/1035) [#929](https://github.com/estahn/k8s-image-swapper/issues/929) [#1026](https://github.com/estahn/k8s-image-swapper/issues/1026) [#1008](https://github.com/estahn/k8s-image-swapper/issues/1008) [#1014](https://github.com/estahn/k8s-image-swapper/issues/1014) [#1004](https://github.com/estahn/k8s-image-swapper/issues/1004)
* **deps:** Bump actions/setup-python from 4.3.0 to 4.3.1 ([#406](#406)) ([16da762](16da762)), closes [actions/setup-python#559](actions/setup-python#559) [actions/setup-python#511](actions/setup-python#511) [actions/setup-python#558](actions/setup-python#558) [#559](https://github.com/estahn/k8s-image-swapper/issues/559) [#558](https://github.com/estahn/k8s-image-swapper/issues/558) [#549](https://github.com/estahn/k8s-image-swapper/issues/549) [#546](https://github.com/estahn/k8s-image-swapper/issues/546) [#545](https://github.com/estahn/k8s-image-swapper/issues/545) [#535](#535) [#510](#510) [#511](#511) [#520](#520)
* **deps:** Bump actions/setup-python from 4.3.1 to 4.4.0 ([#418](#418)) ([77872f8](77872f8)), closes [actions/setup-python#566](actions/setup-python#566) [#567](https://github.com/estahn/k8s-image-swapper/issues/567) [#569](https://github.com/estahn/k8s-image-swapper/issues/569) [#566](https://github.com/estahn/k8s-image-swapper/issues/566)
* **deps:** Bump github.com/aws/aws-sdk-go from 1.44.146 to 1.44.152 ([#403](#403)) ([9db51fd](9db51fd)), closes [#4652](https://github.com/estahn/k8s-image-swapper/issues/4652) [#4650](https://github.com/estahn/k8s-image-swapper/issues/4650) [#4648](https://github.com/estahn/k8s-image-swapper/issues/4648) [#4647](https://github.com/estahn/k8s-image-swapper/issues/4647) [#4646](https://github.com/estahn/k8s-image-swapper/issues/4646) [#4644](https://github.com/estahn/k8s-image-swapper/issues/4644) [#4639](https://github.com/estahn/k8s-image-swapper/issues/4639)
* **deps:** Bump github.com/aws/aws-sdk-go from 1.44.152 to 1.44.157 ([#411](#411)) ([2188432](2188432)), closes [#4658](https://github.com/estahn/k8s-image-swapper/issues/4658) [#4657](https://github.com/estahn/k8s-image-swapper/issues/4657) [#4656](https://github.com/estahn/k8s-image-swapper/issues/4656) [#4654](https://github.com/estahn/k8s-image-swapper/issues/4654) [#4653](https://github.com/estahn/k8s-image-swapper/issues/4653)
* **deps:** Bump github.com/aws/aws-sdk-go from 1.44.157 to 1.44.162 ([#415](#415)) ([f70fcd9](f70fcd9)), closes [#4666](https://github.com/estahn/k8s-image-swapper/issues/4666) [#4665](https://github.com/estahn/k8s-image-swapper/issues/4665) [#4663](https://github.com/estahn/k8s-image-swapper/issues/4663) [#4661](https://github.com/estahn/k8s-image-swapper/issues/4661) [#4660](https://github.com/estahn/k8s-image-swapper/issues/4660)
* **deps:** Bump github.com/aws/aws-sdk-go from 1.44.162 to 1.44.167 ([#419](#419)) ([f8b91fe](f8b91fe)), closes [#4671](https://github.com/estahn/k8s-image-swapper/issues/4671) [#4670](https://github.com/estahn/k8s-image-swapper/issues/4670) [#4669](https://github.com/estahn/k8s-image-swapper/issues/4669) [#4668](https://github.com/estahn/k8s-image-swapper/issues/4668) [#4667](https://github.com/estahn/k8s-image-swapper/issues/4667)
* **deps:** Bump github.com/gruntwork-io/terratest from 0.41.3 to 0.41.4 ([#402](#402)) ([16dde07](16dde07)), closes [#1208](https://github.com/estahn/k8s-image-swapper/issues/1208)
* **deps:** Bump github.com/gruntwork-io/terratest from 0.41.4 to 0.41.6 ([#409](#409)) ([9fc87df](9fc87df)), closes [#1214](https://github.com/estahn/k8s-image-swapper/issues/1214) [#1198](https://github.com/estahn/k8s-image-swapper/issues/1198)
* **deps:** Bump github.com/gruntwork-io/terratest from 0.41.6 to 0.41.7 ([#420](#420)) ([9ab97f2](9ab97f2)), closes [gruntwork-io/terratest#1217](gruntwork-io/terratest#1217) [#1217](https://github.com/estahn/k8s-image-swapper/issues/1217)
* **deps:** Bump goreleaser/goreleaser-action from 3.1.0 to 4.1.0 ([#414](#414)) ([e963ba1](e963ba1)), closes [goreleaser/goreleaser-action#382](goreleaser/goreleaser-action#382) [goreleaser/goreleaser-action#366](goreleaser/goreleaser-action#366) [goreleaser/goreleaser-action#379](goreleaser/goreleaser-action#379) [goreleaser/goreleaser-action#383](goreleaser/goreleaser-action#383) [goreleaser/goreleaser-action#366](goreleaser/goreleaser-action#366) [goreleaser/goreleaser-action#379](goreleaser/goreleaser-action#379) [goreleaser/goreleaser-action#370](goreleaser/goreleaser-action#370) [#374](#374) [#372](#372) [#373](#373) [#383](#383) [#366](#366) [#382](#382) [#370](#370)
* **deps:** Bump k8s.io/api from 0.25.4 to 0.26.0 ([#407](#407)) ([d13bf5e](d13bf5e)), closes [#111023](https://github.com/estahn/k8s-image-swapper/issues/111023) [#113375](https://github.com/estahn/k8s-image-swapper/issues/113375) [#113186](https://github.com/estahn/k8s-image-swapper/issues/113186)
* **deps:** Bump k8s.io/client-go from 0.25.4 to 0.26.0 ([#410](#410)) ([bcc56b5](bcc56b5)), closes [#113797](https://github.com/estahn/k8s-image-swapper/issues/113797) [#111023](https://github.com/estahn/k8s-image-swapper/issues/111023) [#113826](https://github.com/estahn/k8s-image-swapper/issues/113826) [#113375](https://github.com/estahn/k8s-image-swapper/issues/113375)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants