hpyhacking/peatio · error

'rule' must be a function

Error message

'rule' must be a function

What it means

Error "'rule' must be a function" thrown in hpyhacking/peatio.

Source

Thrown at app/assets/javascripts/lib/angular-ui-router.js:1395

   *   // Here's an example of how you might allow case insensitive urls
   *   $urlRouterProvider.rule(function ($injector, $location) {
   *     var path = $location.path(),
   *         normalized = path.toLowerCase();
   *
   *     if (path !== normalized) {
   *       return normalized;
   *     }
   *   });
   * });
   * </pre>
   *
   * @param {object} rule Handler function that takes `$injector` and `$location`
   * services as arguments. You can use them to return a valid path as a string.
   *
   * @return {object} `$urlRouterProvider` - `$urlRouterProvider` instance
   */
  this.rule = function (rule) {
    if (!isFunction(rule)) throw new Error("'rule' must be a function");
    rules.push(rule);
    return this;
  };

  /**
   * @ngdoc object
   * @name ui.router.router.$urlRouterProvider#otherwise
   * @methodOf ui.router.router.$urlRouterProvider
   *
   * @description
   * Defines a path that is used when an invalid route is requested.
   *
   * @example
   * <pre>
   * var app = angular.module('app', ['ui.router.router']);
   *
   * app.config(function ($urlRouterProvider) {
   *   // if the path doesn't match any of the urls you configured

View on GitHub (pinned to dab8641137)

Solutions

  1. Pass a function as the rule to $urlMatcherFactory.rule(); wrap any string- or object-based matching logic inside a function that returns the match.

When it happens

Trigger: Thrown at app/assets/javascripts/lib/angular-ui-router.js:1395 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/e2bf7253813366f4. Report an issue: GitHub.