hpyhacking/peatio · error
'invocables' must be an object
Error message
'invocables' must be an object
What it means
Error "'invocables' must be an object" thrown in hpyhacking/peatio.
Source
Thrown at app/assets/javascripts/lib/angular-ui-router.js:287
* @methodOf ui.router.util.$resolve
*
* @description
* Studies a set of invocables that are likely to be used multiple times.
* <pre>
* $resolve.study(invocables)(locals, parent, self)
* </pre>
* is equivalent to
* <pre>
* $resolve.resolve(invocables, locals, parent, self)
* </pre>
* but the former is more efficient (in fact `resolve` just calls `study`
* internally).
*
* @param {object} invocables Invocable objects
* @return {function} a function to pass in locals, parent and self
*/
this.study = function (invocables) {
if (!isObject(invocables)) throw new Error("'invocables' must be an object");
// Perform a topological sort of invocables to build an ordered plan
var plan = [], cycle = [], visited = {};
function visit(value, key) {
if (visited[key] === VISIT_DONE) return;
cycle.push(key);
if (visited[key] === VISIT_IN_PROGRESS) {
cycle.splice(0, cycle.indexOf(key));
throw new Error("Cyclic dependency: " + cycle.join(" -> "));
}
visited[key] = VISIT_IN_PROGRESS;
if (isString(value)) {
plan.push(key, [ function() { return $injector.get(value); }], NO_DEPENDENCIES);
} else {
var params = $injector.annotate(value);
forEach(params, function (param) {View on GitHub (pinned to dab8641137)
Solutions
- Pass a plain object mapping resolvable names to functions or annotated arrays as the invocables argument of $resolve.resolve(), not a primitive or array.
When it happens
Trigger: Thrown at app/assets/javascripts/lib/angular-ui-router.js:287 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of hpyhacking/peatio@dab8641137 (2026-08-23).
Data as JSON: /api/errors/b9e1bb8c218d1c3f.
Report an issue: GitHub.