* Creates a getter/setter trap and curries the context/node pair * * @param getter - The getter function * @param setter - The setter function * @param curryGetter - Indicates if the getter should be curried or not * * @returns A FormKitTrap | FormKitTrap
( getter?: TrapGetter, setter?: TrapSetter, curryGetter = true )
| 1754 | * @returns A {@link FormKitTrap | FormKitTrap} |
| 1755 | */ |
| 1756 | function trap( |
| 1757 | getter?: TrapGetter, |
| 1758 | setter?: TrapSetter, |
| 1759 | curryGetter = true |
| 1760 | ): FormKitTrap { |
| 1761 | return { |
| 1762 | get: getter |
| 1763 | ? (node, context) => |
| 1764 | curryGetter |
| 1765 | ? (...args: any[]) => getter(node, context, ...args) |
| 1766 | : getter(node, context) |
| 1767 | : false, |
| 1768 | set: setter !== undefined ? setter : invalidSetter.bind(null), |
| 1769 | } |
| 1770 | } |
| 1771 | |
| 1772 | /** |
| 1773 | * Create all of the node's hook dispatchers. |