# Function resolvablesBuilder

- resolvablesBuilder(state): any[]

- This is a [[StateBuilder.builder]] function for the `resolve:` block on a [[StateDeclaration]].

  When the [[StateBuilder]] builds a [[StateObject]] object from a raw [[StateDeclaration]], this builder validates the `resolve` property and converts it to a [[Resolvable]] array.

  resolve: input value can be:

  { // analyzed but not injected myFooResolve: function() { return "myFooData"; },

  // function.toString() parsed, "DependencyName" dep as string (not min-safe) myBarResolve: function(DependencyName) { return DependencyName.fetchSomethingAsPromise() },

  // Array split; "DependencyName" dep as string myBazResolve: [ "DependencyName", function(dep) { return dep.fetchSomethingAsPromise() },

  // Array split; DependencyType dep as token (compared using ===) myQuxResolve: [ DependencyType, function(dep) { return dep.fetchSometingAsPromise() },

  // val.$inject used as deps // where: // corgeResolve.$inject = ["DependencyName"]; // function corgeResolve(dep) { dep.fetchSometingAsPromise() } // then "DependencyName" dep as string myCorgeResolve: corgeResolve,

  // inject service by name // When a string is found, desugar creating a resolve that injects the named service myGraultResolve: "SomeService" }

  or:

  [ new Resolvable("myFooResolve", function() { return "myFooData" }), new Resolvable("myBarResolve", function(dep) { return dep.fetchSomethingAsPromise() }, [ "DependencyName" ]), { provide: "myBazResolve", useFactory: function(dep) { dep.fetchSomethingAsPromise() }, deps: [ "DependencyName" ] } ]

  #### Parameters

  - state: any

  #### Returns any[]

  - Defined in router/state/state-builder.js:145