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: rename util to lazy injection token #901

Merged

Conversation

davidlj95
Copy link
Owner

Issue or need

After giving a try to apply the recently created (in #892) function to create lazy injection tokens, found out a repeating pattern.

(Lazy) tokens were being declared as:

const token = () => _makeInjectionToken('desc', factory)

The () => part could actually be part of the util. Given will always be like that in order to allow tree shaking injection tokens.

Actually the util could be as is + then create another one _lazy that uses _make under the hood.

Buuut the logic of lazyness is in the _make one (not creating 2 tokens if one exists). Soo makes sense that for now it's just one API.

It's internal, so can be decomposed later if needed.

Proposed changes

Rename util to _lazyInjectionToken as it will now return lazy injection tokens.

Add a type to specify what actually a _LazyInjectionToken is. Plus some docs.

Fix tests

Quick reminders

  • 🤝 I will follow Code of Conduct
  • No existing pull request already does almost same changes
  • 👁️ Contributing docs are something I've taken a look at
  • 📝 Commit messages convention has been followed
  • 💬 TSDoc comments have been added or updated indicating API visibility if API surface has changed.
  • 🧪 Tests have been added if needed. For instance, if adding new features or fixing a bug. Or removed if removing features.
  • ⚙️ API Report has been updated if API surface is altered.

@davidlj95 davidlj95 enabled auto-merge (squash) October 8, 2024 16:41
Copy link
Owner Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @davidlj95 and the rest of your teammates on Graphite Graphite

Copy link

github-actions bot commented Oct 8, 2024

📦 Bundle size (Angular v18)

Git ref: f9c8bed94083d82c2482a8fd92193ce114b7eff4

Module file Size Base size Difference
ngx-meta-core.mjs 2812 bytes (2.8KiB) 2812 bytes (2.8KiB) No change
ngx-meta-json-ld.mjs 224 bytes (224B) 224 bytes (224B) No change
ngx-meta-open-graph.mjs 984 bytes (984B) 984 bytes (984B) No change
ngx-meta-routing.mjs 449 bytes (449B) 449 bytes (449B) No change
ngx-meta-standard.mjs 990 bytes (990B) 990 bytes (990B) No change
ngx-meta-twitter-card.mjs 514 bytes (514B) 514 bytes (514B) No change
Total 5973 bytes (5.9KiB) 5973 bytes (5.9KiB) No change

Copy link

github-actions bot commented Oct 8, 2024

📦 Bundle size (Angular v17)

Git ref: f9c8bed94083d82c2482a8fd92193ce114b7eff4

Module file Size Base size Difference
ngx-meta-core.mjs 2812 bytes (2.8KiB) 2812 bytes (2.8KiB) No change
ngx-meta-json-ld.mjs 224 bytes (224B) 224 bytes (224B) No change
ngx-meta-open-graph.mjs 984 bytes (984B) 984 bytes (984B) No change
ngx-meta-routing.mjs 449 bytes (449B) 449 bytes (449B) No change
ngx-meta-standard.mjs 990 bytes (990B) 990 bytes (990B) No change
ngx-meta-twitter-card.mjs 514 bytes (514B) 514 bytes (514B) No change
Total 5973 bytes (5.9KiB) 5973 bytes (5.9KiB) No change

Copy link

github-actions bot commented Oct 8, 2024

📦 Bundle size (Angular v15)

Git ref: f9c8bed94083d82c2482a8fd92193ce114b7eff4

Module file Size Base size Difference
ngx-meta-core.mjs 3220 bytes (3.2KiB) 3220 bytes (3.2KiB) No change
ngx-meta-json-ld.mjs 353 bytes (353B) 353 bytes (353B) No change
ngx-meta-open-graph.mjs 1233 bytes (1.3KiB) 1233 bytes (1.3KiB) No change
ngx-meta-routing.mjs 626 bytes (626B) 626 bytes (626B) No change
ngx-meta-standard.mjs 1072 bytes (1.1KiB) 1072 bytes (1.1KiB) No change
ngx-meta-twitter-card.mjs 630 bytes (630B) 630 bytes (630B) No change
Total 7134 bytes (7.0KiB) 7134 bytes (7.0KiB) No change

Copy link

github-actions bot commented Oct 8, 2024

📦 Bundle size (Angular v16)

Git ref: f9c8bed94083d82c2482a8fd92193ce114b7eff4

Module file Size Base size Difference
ngx-meta-core.mjs 3255 bytes (3.2KiB) 3255 bytes (3.2KiB) No change
ngx-meta-json-ld.mjs 368 bytes (368B) 368 bytes (368B) No change
ngx-meta-open-graph.mjs 1263 bytes (1.3KiB) 1263 bytes (1.3KiB) No change
ngx-meta-routing.mjs 641 bytes (641B) 641 bytes (641B) No change
ngx-meta-standard.mjs 1087 bytes (1.1KiB) 1087 bytes (1.1KiB) No change
ngx-meta-twitter-card.mjs 645 bytes (645B) 645 bytes (645B) No change
Total 7259 bytes (7.1KiB) 7259 bytes (7.1KiB) No change

Copy link

codecov bot commented Oct 8, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.46%. Comparing base (2605fb2) to head (f9c8bed).
Report is 18 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #901   +/-   ##
=======================================
  Coverage   99.46%   99.46%           
=======================================
  Files          79       79           
  Lines         372      372           
  Branches       73       73           
=======================================
  Hits          370      370           
  Partials        2        2           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@davidlj95 davidlj95 merged commit 2b46b25 into main Oct 8, 2024
34 checks passed
@davidlj95 davidlj95 deleted the stacked/refactor-rename-util-to-lazy-injection-token branch October 8, 2024 16:46
davidlj95 added a commit that referenced this pull request Oct 9, 2024
davidlj95 added a commit that referenced this pull request Oct 9, 2024
* Revert "refactor: rename util to lazy injection token (#901)"

This reverts commit 2b46b25.

* chore: add lazy injection token as type only
Copy link

🎉 This PR is included in version 1.0.0-beta.17 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant