first-npm-package-nicule
Version:
This isi first npm package
23 lines (20 loc) • 806 B
text/typescript
import { makePropDecorator } from '../../google-decorator-factories';
import { BindDecorator } from '../bind.decorator';
export interface BindLinkDecorator {
(...relQueries: Array<Array<string>>): any;
new(...relQueries: Array<Array<string>>): any;
}
export const Link: BindLinkDecorator = makePropDecorator('BindLink', (...relQueries: Array<Array<string>>) => {
return ({
binding: {
priority: 1,
bind: (({ links = [] }) => {
return links.find(({ rel: existingRels = [] }) => {
return relQueries.some(relQuery => {
return relQuery.every(rel => existingRels.includes(rel));
});
});
})
} as BindDecorator
}) as any;
});