Skip to content

Commit

Permalink
Changing AnyFn to Function in places up until the runloop public API
Browse files Browse the repository at this point in the history
  • Loading branch information
NullVoxPopuli committed Nov 14, 2023
1 parent 0ca19c3 commit 10db7f6
Showing 1 changed file with 9 additions and 16 deletions.
25 changes: 9 additions & 16 deletions packages/@ember/-internals/glimmer/lib/helpers/action.ts
Original file line number Diff line number Diff line change
Expand Up @@ -351,33 +351,26 @@ function makeArgsProcessor(valuePathRef: Reference | false, actionArgsRef: Refer
}
}

function isClosureAction(action: unknown): asserts action is string | AnyFn {
assert(
'action(ref) must be a string or function',
typeof action === 'string' || typeof action === 'function'
);
return;
}

function makeDynamicClosureAction(
context: object,
targetRef: Reference<MaybeActionHandler>,
actionRef: Reference<unknown>,
processArgs: (args: unknown[]) => unknown[],
debugKey: string
) {
let action = valueForRef(actionRef);
const action = valueForRef(actionRef);

isClosureAction(action);
assert(
'action(ref) must be a string or function',
typeof action === 'string' || typeof action === 'function'
);

// We don't allow undefined/null values, so this creates a throw-away action to trigger the assertions
if (DEBUG) {
makeClosureAction(context, valueForRef(targetRef), action, processArgs, debugKey);
}

return (...args: any[]) => {
isClosureAction(action);

return makeClosureAction(
context,
valueForRef(targetRef),
Expand All @@ -389,18 +382,18 @@ function makeDynamicClosureAction(
}

interface MaybeActionHandler {
actions?: Record<string, AnyFn>;
actions?: Record<string, Function>;
}

function makeClosureAction(
context: object,
target: MaybeActionHandler,
action: string | AnyFn,
action: string | Function,
processArgs: (args: unknown[]) => unknown[],
debugKey: string
) {
let self: object;
let fn: AnyFn;
let fn: Function;

assert(
`Action passed is null or undefined in (action) from ${target}.`,
Expand Down Expand Up @@ -429,7 +422,7 @@ function makeClosureAction(
return (...args: any[]) => {
let payload = { target: self, args, label: '@glimmer/closure-action' };
return flaggedInstrument('interaction.ember-action', payload, () => {
return join(self, fn, ...processArgs(args));
return join(self, fn as AnyFn, ...processArgs(args));
});
};
}
Expand Down

0 comments on commit 10db7f6

Please sign in to comment.