This commit is contained in:
20
node_modules/dnd-core/lib/contracts.js
generated
vendored
Normal file
20
node_modules/dnd-core/lib/contracts.js
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
import { invariant } from '@react-dnd/invariant';
|
||||
export function validateSourceContract(source) {
|
||||
invariant(typeof source.canDrag === 'function', 'Expected canDrag to be a function.');
|
||||
invariant(typeof source.beginDrag === 'function', 'Expected beginDrag to be a function.');
|
||||
invariant(typeof source.endDrag === 'function', 'Expected endDrag to be a function.');
|
||||
}
|
||||
export function validateTargetContract(target) {
|
||||
invariant(typeof target.canDrop === 'function', 'Expected canDrop to be a function.');
|
||||
invariant(typeof target.hover === 'function', 'Expected hover to be a function.');
|
||||
invariant(typeof target.drop === 'function', 'Expected beginDrag to be a function.');
|
||||
}
|
||||
export function validateType(type, allowArray) {
|
||||
if (allowArray && Array.isArray(type)) {
|
||||
type.forEach((t) => validateType(t, false));
|
||||
return;
|
||||
}
|
||||
invariant(typeof type === 'string' || typeof type === 'symbol', allowArray
|
||||
? 'Type can only be a string, a symbol, or an array of either.'
|
||||
: 'Type can only be a string or a symbol.');
|
||||
}
|
||||
Reference in New Issue
Block a user