Skip to content

Conversation

ShaMan123
Copy link
Contributor

Motivation

  1. allow instance of Filler as part of fix(): typeAssertions not respecting subclasses #8931
  2. share some interface
  3. port some of refactor(): Pattern Gradient transform #8263

Description

Changes

  • moved isFiller, TFiller under filler => caused a lot of import changes
  • rm isPattern in favor of instance of used only by canvas. We can add a dummy super class if you prefer to do instanceof checks against it but importing Pattern is ok, not cycles.
  • export Filler base class with min logic/interface

Gist

In Action

ShaMan123 and others added 2 commits May 22, 2023 11:22
commit 5ae70f4
Author: ShaMan123 <[email protected]>
Date:   Mon May 22 11:20:33 2023 +0900

    Revert "Update changelog_update.yml"

    This reverts commit da3ce0d.

commit 951d210
Author: ShaMan123 <[email protected]>
Date:   Mon May 22 11:16:01 2023 +0900

    Update CHANGELOG.md

commit c502b49
Merge: da3ce0d f490cdf
Author: ShaMan123 <[email protected]>
Date:   Mon May 22 11:15:12 2023 +0900

    Merge branch 'rm-filler-type-assertions' of https://github.com/fabricjs/fabric.js into rm-filler-type-assertions

commit da3ce0d
Author: ShaMan123 <[email protected]>
Date:   Mon May 22 11:14:53 2023 +0900

    Update changelog_update.yml

commit f490cdf
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Mon May 22 02:11:24 2023 +0000

    update CHANGELOG.md

commit c94bf70
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Mon May 22 02:11:05 2023 +0000

    update CHANGELOG.md

commit ce7939c
Author: ShaMan123 <[email protected]>
Date:   Mon May 22 11:02:58 2023 +0900

    mv isFiller/TFiller

commit b9a9bcd
Author: ShaMan123 <[email protected]>
Date:   Mon May 22 10:53:58 2023 +0900

    type assertions

commit cf40c1a
Author: ShaMan123 <[email protected]>
Date:   Mon May 22 10:17:12 2023 +0900

    init
@github-actions
Copy link
Contributor

Build Stats

file / KB (diff) bundled minified
fabric 920.076 (+0.027) 303.926 (+0.170)

Copy link
Contributor Author

@ShaMan123 ShaMan123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewing:

  1. src/fillers/Filler.ts
  2. src/gradient/Gradient.ts, src/Pattern/Pattern.ts
  3. src/util/typeAssertions.ts
  4. the rest

@ShaMan123 ShaMan123 closed this May 22, 2023
@ShaMan123 ShaMan123 reopened this May 22, 2023
@github-actions
Copy link
Contributor

github-actions bot commented May 22, 2023

Coverage after merging filler into master will be

83.67%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
index.node.ts47.83%100%25%60%17, 20, 23, 40, 43, 46
src
   ClassRegistry.ts100%100%100%100%
   Collection.ts94.71%94.64%86.67%97.09%101, 104, 207–208, 233–234
   CommonMethods.ts96.55%87.50%100%100%10
   Intersection.ts100%100%100%100%
   Observable.ts87.23%85.29%84.62%89.36%144–145, 170–171, 39–40, 48, 57, 91, 99
   Point.ts100%100%100%100%
   Shadow.ts98.36%95.65%100%100%178
   cache.ts97.06%90%100%100%57
   config.ts75%66.67%66.67%82.76%130, 138, 138, 138, 138, 138–140, 151–153
   constants.ts100%100%100%100%
src/Pattern
   Pattern.ts91.55%90.91%90%92.86%102, 113, 122, 28, 77
src/brushes
   BaseBrush.ts100%100%100%100%
   CircleBrush.ts0%0%0%0%107, 107, 107, 109, 111, 113–115, 117–120, 127–128, 135, 137, 22–23, 31–35, 39–43, 50–53, 61–65, 67, 75, 75, 75, 75, 75–76, 78, 78, 78–81, 83, 91–92, 94, 96–98
   PatternBrush.ts97.06%87.50%100%100%21
   PencilBrush.ts91.01%82.35%100%93.75%122–123, 152, 152–154, 176, 176, 276, 280, 285–286, 68–69, 84–85
   SprayBrush.ts0%0%0%0%106, 106, 106, 106, 106–107, 109–110, 117–118, 120, 122–126, 135, 139–140, 140, 148, 148, 148–151, 153–156, 16, 160–161, 163, 165–168, 17, 171, 178–179, 181, 183–184, 186, 19, 193–194, 196–197, 20, 200, 200, 207, 207, 21, 21, 21, 211, 22–23, 27, 36, 43, 50, 57, 64, 83–85, 93–95, 97–98
src/canvas
   Canvas.ts78.87%77.54%81.67%79.41%1001–1002, 1002, 1002–1004, 1006–1007, 1007, 1007, 1009, 1017, 1017, 1017–1019, 1019, 1019, 1025–1026, 1034–1035, 1035, 1035–1036, 1041, 1043, 1074–1076, 1079–1080, 1084–1085, 1198–1200, 1203–1204, 1277, 1396, 1519, 1589, 162, 187, 297–298, 301–305, 310, 333–334, 339–344, 364, 364, 364–365, 365, 365–366, 37, 374, 379–380, 380, 380–381, 383, 392, 398–399, 399, 399, 41, 442, 450, 454, 454, 454–455, 457, 539–540, 540, 540–541, 547, 547, 547–549, 569, 571, 571, 571–572, 572, 572, 575, 575, 575–576, 579, 588–589, 591–592, 594, 594–595, 597–598, 610–611, 611, 611–612, 614–619, 625, 632, 669, 669, 669, 671, 673–678, 684, 690, 690, 690–691, 693, 696, 701, 714, 742, 742, 800–801, 801, 801–802, 804, 807–808, 808, 808–809, 811–812, 815, 815–817, 820–821, 891, 903, 910, 931, 963, 984–985
   SelectableCanvas.ts94.39%91.16%94.64%96.62%1119, 1119–1120, 1123, 1143, 1143, 1201, 1254–1255, 1276, 1284, 1409, 1411, 1413–1414, 518, 698–699, 701–702, 702, 702, 751–752, 813–814, 867–869, 901, 906–907, 934–935
   StaticCanvas.ts97.12%93.70%100%98.61%1098–1099, 1099, 1099–1100, 1220, 1230, 1284–1285, 1288, 1323–1324, 1401, 1408, 1412, 1468–1469, 306–307, 324, 755, 767–768
   TextEditingManager.ts82.69%55.56%91.67%100%15, 15, 15, 15, 15, 15, 15, 15
src/color
   Color.ts94.96%91.67%96.30%96.05%233, 258–259, 267–268, 48
   color_map.ts100%100%100%100%
   constants.ts100%100%100%100%
   util.ts85.71%76.92%100%89.74%55–56, 56, 58, 58, 58–59, 61–62, 89
src/controls
   Control.ts93.33%87.88%91.67%97.78%175, 240, 327, 327, 362
   changeWidth.ts100%100%100%100%
   commonControls.ts100%100%100%100%
   controlRendering.ts81.63%78%100%84.78%106, 111, 121, 121, 45, 50, 61, 61, 65–72, 81–82
   drag.ts100%100%100%100%
   fireEvent.ts88.89%75%100%100%13
   polyControl.ts5.97%0%0%11.11%100, 105, 119, 119, 119, 119, 119, 121–124, 124, 127, 134, 17, 25–29, 29, 29, 29, 29, 29, 29, 29, 50–56, 56, 56, 56, 56, 58, 63–64, 66, 76, 82–83, 83, 83–84, 88–90, 90, 90, 90, 90, 92
   rotate.ts19.57%12.50%50%21.43%41, 45, 51, 51, 51–52, 55–57, 59, 59, 59, 59, 59–61, 61, 61–63, 65, 65, 65–67, 67, 67–68, 73, 73, 73–74, 76, 78, 80–81
   scale.ts93.57%92.94%100%93.67%129–130, 132–134, 148–149, 181–183, 42
   scaleSkew.ts78.79%64.29%100%85.71%27, 29, 29, 29, 31, 33, 35
   skew.ts91.03%79.31%100%97.67%130–131, 162–163, 170, 176, 178
   util.ts100%100%100%100%
   wrapWithFireEvent.ts100%100%100%100%
   wrapWithFixedAnchor.ts100%100%100%100%
src/env
   browser.ts84.21%77.78%50%100%14, 17
   index.ts100%100%100%100%
   node.ts74.07%33.33%66.67%88.89%27, 31–32, 32, 32, 37
src/fillers
   Filler.ts62.50%50%60%71.43%47, 47, 47, 59
src/filters
   BaseFil

Copy link
Contributor Author

@ShaMan123 ShaMan123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a lot of changes, most files are import changes

? matrixToSVG(invertTransform(this.viewportTransform))
: '';
const { width = finalWidth, height = finalHeight } =
filler instanceof Pattern
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

change, importing Pattern

* @return {object}
*/
toObject(propertiesToInclude?: (keyof this | string)[]) {
toObject<T extends keyof this>(propertiesToInclude?: T[]) {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not attached to this at all

@ShaMan123
Copy link
Contributor Author

ShaMan123 commented May 22, 2023

I experienced a glitch in the PR changelog action. If you open a PR and see it committing twice please inform me (I believe it is a small race condition I am able to fix easily)
After that I will accept it should die

#8949

@ShaMan123
Copy link
Contributor Author

Also I wanted to move pattern and gradient under filler but didn't to keep this PR clean

@stale
Copy link

stale bot commented Aug 12, 2023

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs 😔. Thank you for your contributions.

@stale stale bot added the stale Issue marked as stale by the stale bot label Aug 12, 2023
@ShaMan123 ShaMan123 removed the stale Issue marked as stale by the stale bot label Aug 14, 2023
@stale
Copy link

stale bot commented Sep 17, 2023

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs 😔. Thank you for your contributions.

@stale stale bot added the stale Issue marked as stale by the stale bot label Sep 17, 2023
@ShaMan123 ShaMan123 removed the stale Issue marked as stale by the stale bot label Sep 18, 2023
@ShaMan123 ShaMan123 added the stale Issue marked as stale by the stale bot label May 7, 2024
@stale stale bot closed this Apr 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

stale Issue marked as stale by the stale bot

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant