1234567891011121314151617181920212223242526272829303132333435363738394041 |
- // @flow
- function assertElement(element) {
- if (!(element instanceof HTMLElement)) {
- throw new Error('Must pass a DOM element to find/findAll(element, styledComponent)"');
- }
- }
- function assertStyledComponent(styledComponent) {
- if (
- !(styledComponent.styledComponentId && typeof styledComponent.styledComponentId === 'string')
- ) {
- throw new Error(
- `${styledComponent.displayName ||
- styledComponent.name ||
- 'Component'} is not a styled component.`
- );
- }
- }
- function enzymeFind(wrapper /* : Object */, styledComponent /* : Object */) {
- assertStyledComponent(styledComponent);
- return wrapper.find(`.${styledComponent.styledComponentId}`);
- }
- function find(element /* : Element */, styledComponent /* : Object */) {
- assertElement(element);
- assertStyledComponent(styledComponent);
- return element.querySelector(`.${styledComponent.styledComponentId}`);
- }
- function findAll(element /* : Element */, styledComponent /* : Object */) {
- assertElement(element);
- assertStyledComponent(styledComponent);
- return element.querySelectorAll(`.${styledComponent.styledComponentId}`);
- }
- exports.enzymeFind = enzymeFind;
- exports.find = find;
- exports.findAll = findAll;
|