Skip to content

Commit cbb7f6d

Browse files
refactor($resolve): move legacy resolveService and stateEvents to their own files and folder
1 parent ca45957 commit cbb7f6d

File tree

4 files changed

+36
-33
lines changed

4 files changed

+36
-33
lines changed

src/ng1/legacy/resolveService.ts

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import {State} from "../../state/stateObject";
2+
import {Node} from "../../path/node";
3+
import {ResolveContext} from "../../resolve/resolveContext";
4+
import {Resolvable} from "../../resolve/resolvable";
5+
import {map} from "../../common/common";
6+
7+
export const resolveFactory = () => ({
8+
/**
9+
* This emulates most of the behavior of the ui-router 0.2.x $resolve.resolve() service API.
10+
* @param invocables an object, with keys as resolve names and values as injectable functions
11+
* @param locals key/value pre-resolved data (locals)
12+
* @param parent a promise for a "parent resolve"
13+
*/
14+
resolve: (invocables, locals = {}, parent?) => {
15+
let parentNode = new Node(new State(<any> { params: {} }));
16+
let node = new Node(new State(<any> { params: {} }));
17+
let context = new ResolveContext([parentNode, node]);
18+
19+
context.addResolvables(Resolvable.makeResolvables(invocables), node.state);
20+
21+
const resolveData = (parentLocals) => {
22+
const rewrap = _locals => Resolvable.makeResolvables(<any> map(_locals, local => () => local));
23+
context.addResolvables(rewrap(parentLocals), parentNode.state);
24+
context.addResolvables(rewrap(locals), node.state);
25+
return context.resolvePath();
26+
};
27+
28+
return parent ? parent.then(resolveData) : resolveData({});
29+
}
30+
});

src/ng1/stateEvents.ts renamed to src/ng1/legacy/stateEvents.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
* @module ng1_state_events
1818
*/ /** */
1919
import {IServiceProviderFactory} from "angular";
20-
import {TargetState} from "../state/targetState";
21-
import {StateService} from "../state/stateService";
22-
import {StateProvider} from "../state/state";
23-
import {Transition} from "../transition/transition";
20+
import {TargetState} from "../../state/targetState";
21+
import {StateService} from "../../state/stateService";
22+
import {StateProvider} from "../../state/state";
23+
import {Transition} from "../../transition/transition";
2424

2525
/**
2626
* An event broadcast on `$rootScope` when the state transition **begins**.

src/ng1/services.ts

+1-28
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@ import {map, bindFunctions, removeFrom, find, noop} from "../common/common";
1616
import {prop, propEq} from "../common/hof";
1717
import {isObject} from "../common/predicates";
1818
import {Node} from "../path/node";
19-
import {Resolvable} from "../resolve/resolvable";
20-
import {ResolveContext} from "../resolve/resolveContext";
21-
import {State} from "../state/stateObject";
19+
import {resolveFactory} from "./legacy/resolveService";
2220
import {trace} from "../common/trace";
2321
import {ng1ViewsBuilder, ng1ViewConfigFactory, Ng1ViewConfig} from "./statebuilders/views";
2422
import {TemplateFactory} from "./templateFactory";
@@ -215,31 +213,6 @@ function ng1UIRouter($locationProvider) {
215213
}
216214
}
217215

218-
const resolveFactory = () => ({
219-
/**
220-
* This emulates most of the behavior of the ui-router 0.2.x $resolve.resolve() service API.
221-
* @param invocables an object, with keys as resolve names and values as injectable functions
222-
* @param locals key/value pre-resolved data (locals)
223-
* @param parent a promise for a "parent resolve"
224-
*/
225-
resolve: (invocables, locals = {}, parent?) => {
226-
let parentNode = new Node(new State(<any> { params: {} }));
227-
let node = new Node(new State(<any> { params: {} }));
228-
let context = new ResolveContext([parentNode, node]);
229-
230-
context.addResolvables(Resolvable.makeResolvables(invocables), node.state);
231-
232-
const resolveData = (parentLocals) => {
233-
const rewrap = _locals => Resolvable.makeResolvables(<any> map(_locals, local => () => local));
234-
context.addResolvables(rewrap(parentLocals), parentNode.state);
235-
context.addResolvables(rewrap(locals), node.state);
236-
return context.resolvePath();
237-
};
238-
239-
return parent ? parent.then(resolveData) : resolveData({});
240-
}
241-
});
242-
243216
function $stateParamsFactory(ng1UIRouter) {
244217
return ng1UIRouter.globals.params;
245218
}

test/ng1/stateEventsSpec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
var module = angular.mock.module;
22
var uiRouter = require("angular-ui-router");
3-
var stateEvents = require("../../src/ng1/stateEvents.ts");
3+
var stateEvents = require("../../src/ng1/legacy/stateEvents.ts");
44

55
describe('UI-Router v0.2.x $state events', function () {
66
var $injector, stateProvider;

0 commit comments

Comments
 (0)