@nitor-infotech/connected-akita-router-core
Version:
A core package for managing React Router state in Akita Store.
42 lines (37 loc) • 1.62 kB
JavaScript
var __decorate = this && this.__decorate || function (decorators, target, key, desc) {
var c = arguments.length,
r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { Store, StoreConfig } from '@datorama/akita';
import invariant from "tiny-invariant";
import { createInitialRoute } from './router.state';
import { RouterService } from './router.service';
import { RouterQuery } from './router.query';
let RouterRootStore = class RouterRootStore extends Store {
constructor(history) {
super(createInitialRoute(history));
}
};
RouterRootStore = __decorate([StoreConfig({
name: 'RouterState'
})], RouterRootStore);
export { RouterRootStore };
export class RouterStore {
initialize(initialState) {
const store = new RouterRootStore(initialState);
this.routerService = new RouterService(store);
this.routerQuery = new RouterQuery(store);
}
getQuery() {
invariant(this.routerQuery !== undefined, "getQuery has been called before initialization of Router Akita Store");
return this.routerQuery;
}
getService() {
invariant(this.routerService !== undefined, "getService has been called before initialization of Router Akita Store");
return this.routerService;
}
}
;