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

Generalize the atom family concept as an atom selector concept instead #27147

Merged
merged 2 commits into from
Nov 20, 2020

Conversation

youknowriad
Copy link
Contributor

While working on #27140 I discovered that the atom family concept was not enough to handle all kinds of selectors. This PR removes that concept and replace it with a simpler and more generic atom selector one.
Basically, the old atom family items were just selectors with a single argument.
I added a unit test to cover the new addition.

I also tweaked the atomic stores creations to accept only "atom selectors" on the "selectors" key. This makes sure all selectors are made performant by default.

@youknowriad youknowriad added [Package] Data /packages/data [Type] Experimental Experimental feature or API. labels Nov 20, 2020
@youknowriad youknowriad requested a review from nerrad as a code owner November 20, 2020 14:35
@youknowriad youknowriad self-assigned this Nov 20, 2020
@youknowriad youknowriad mentioned this pull request Nov 20, 2020
16 tasks
@github-actions
Copy link

github-actions bot commented Nov 20, 2020

Size Change: +25 B (0%)

Total Size: 1.2 MB

Filename Size Change
build/block-editor/index.js 133 kB +1 B
build/block-library/index.js 148 kB -2 B (0%)
build/blocks/index.js 48 kB -2 B (0%)
build/components/index.js 172 kB -5 B (0%)
build/core-data/index.js 14.8 kB +2 B (0%)
build/data/index.js 9.58 kB +5 B (0%)
build/date/index.js 11.2 kB +4 B (0%)
build/edit-site/index.js 23.1 kB +1 B
build/edit-widgets/index.js 26.4 kB -3 B (0%)
build/editor/index.js 43.3 kB -3 B (0%)
build/keyboard-shortcuts/index.js 2.85 kB +24 B (0%)
build/redux-routine/index.js 2.84 kB +2 B (0%)
build/warning/index.js 1.14 kB +1 B
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.14 kB 0 B
build/annotations/index.js 3.8 kB 0 B
build/api-fetch/index.js 3.42 kB 0 B
build/autop/index.js 2.83 kB 0 B
build/blob/index.js 665 B 0 B
build/block-directory/index.js 8.72 kB 0 B
build/block-directory/style-rtl.css 943 B 0 B
build/block-directory/style.css 942 B 0 B
build/block-editor/style-rtl.css 11.3 kB 0 B
build/block-editor/style.css 11.3 kB 0 B
build/block-library/editor-rtl.css 8.96 kB 0 B
build/block-library/editor.css 8.96 kB 0 B
build/block-library/style-rtl.css 8.23 kB 0 B
build/block-library/style.css 8.23 kB 0 B
build/block-library/theme-rtl.css 792 B 0 B
build/block-library/theme.css 793 B 0 B
build/block-serialization-default-parser/index.js 1.87 kB 0 B
build/block-serialization-spec-parser/index.js 3.06 kB 0 B
build/components/style-rtl.css 15.3 kB 0 B
build/components/style.css 15.3 kB 0 B
build/compose/index.js 9.93 kB 0 B
build/data-controls/index.js 827 B 0 B
build/deprecated/index.js 769 B 0 B
build/dom-ready/index.js 571 B 0 B
build/dom/index.js 4.92 kB 0 B
build/edit-navigation/index.js 11.2 kB 0 B
build/edit-navigation/style-rtl.css 881 B 0 B
build/edit-navigation/style.css 885 B 0 B
build/edit-post/index.js 306 kB 0 B
build/edit-post/style-rtl.css 6.45 kB 0 B
build/edit-post/style.css 6.44 kB 0 B
build/edit-site/style-rtl.css 3.86 kB 0 B
build/edit-site/style.css 3.86 kB 0 B
build/edit-widgets/style-rtl.css 3.13 kB 0 B
build/edit-widgets/style.css 3.13 kB 0 B
build/editor/editor-styles-rtl.css 476 B 0 B
build/editor/editor-styles.css 478 B 0 B
build/editor/style-rtl.css 3.85 kB 0 B
build/editor/style.css 3.85 kB 0 B
build/element/index.js 4.62 kB 0 B
build/escape-html/index.js 735 B 0 B
build/format-library/index.js 6.86 kB 0 B
build/format-library/style-rtl.css 547 B 0 B
build/format-library/style.css 548 B 0 B
build/hooks/index.js 2.16 kB 0 B
build/html-entities/index.js 623 B 0 B
build/i18n/index.js 3.57 kB 0 B
build/is-shallow-equal/index.js 698 B 0 B
build/keycodes/index.js 1.94 kB 0 B
build/list-reusable-blocks/index.js 3.1 kB 0 B
build/list-reusable-blocks/style-rtl.css 476 B 0 B
build/list-reusable-blocks/style.css 476 B 0 B
build/media-utils/index.js 5.32 kB 0 B
build/notices/index.js 1.82 kB 0 B
build/nux/index.js 3.42 kB 0 B
build/nux/style-rtl.css 671 B 0 B
build/nux/style.css 668 B 0 B
build/plugins/index.js 2.56 kB 0 B
build/primitives/index.js 1.43 kB 0 B
build/priority-queue/index.js 790 B 0 B
build/reusable-blocks/index.js 3.07 kB 0 B
build/rich-text/index.js 13.4 kB 0 B
build/server-side-render/index.js 2.77 kB 0 B
build/shortcode/index.js 1.69 kB 0 B
build/token-list/index.js 1.27 kB 0 B
build/url/index.js 4.05 kB 0 B
build/viewport/index.js 1.86 kB 0 B
build/wordcount/index.js 1.22 kB 0 B

compressed-size-action

@youknowriad
Copy link
Contributor Author

youknowriad commented Nov 20, 2020

This is a blocker for me for #27140 and since it's just an improvement of the existing family concept, I'm going to land it. Happy to address any follow-up comments.

@youknowriad youknowriad merged commit ef2d393 into master Nov 20, 2020
@youknowriad youknowriad deleted the add/atom-selectors branch November 20, 2020 16:01
@github-actions github-actions bot added this to the Gutenberg 9.5 milestone Nov 20, 2020
youknowriad added a commit that referenced this pull request Nov 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Package] Data /packages/data [Type] Experimental Experimental feature or API.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant