Comparing version 0.9.46 to 0.9.47
{ | ||
"name": "aurumjs", | ||
"version": "0.9.46", | ||
"version": "0.9.47", | ||
"main": "prebuilt/esnext/aurumjs.js", | ||
@@ -5,0 +5,0 @@ "type": "module", |
@@ -25,3 +25,3 @@ import { DataSource } from '../stream/data_source.js'; | ||
}); | ||
const urlDataSource = new DataSource(); | ||
const urlDataSource = new DataSource(undefined, 'Url Data Source'); | ||
if (props.urlProvider) { | ||
@@ -40,2 +40,3 @@ props.urlProvider.pipe(urlDataSource, api.cancellationToken); | ||
const activeRoute = new DataSource(); | ||
const router = urlDataSource.withInitial(urlDataSource.value).transform(dsUnique(), dsMap((url) => (props.urlPreprocessing ? props.urlPreprocessing(url) : url)), dsMap((path) => ({ path, route: selectRoute(path, resolvedChildren) })), dsFilter((r) => (props.validateNavigation ? props.validateNavigation(r.path, r.route) : true)), dsTap((r) => activeRoute.update(r.route)), dsMap((r) => r.route?.children), api.cancellationToken); | ||
activeRoute.transform(dsUnique(), dsDiff(), dsTap(({ newValue, oldValue }) => { | ||
@@ -49,6 +50,3 @@ if (oldValue) { | ||
})); | ||
return urlDataSource | ||
.transform(dsUnique(), api.cancellationToken) | ||
.withInitial(urlDataSource.value) | ||
.transform(dsMap((url) => (props.urlPreprocessing ? props.urlPreprocessing(url) : url)), dsMap((path) => ({ path, route: selectRoute(path, resolvedChildren) })), dsFilter((r) => (props.validateNavigation ? props.validateNavigation(r.path, r.route) : true)), dsTap((r) => activeRoute.update(r.route)), dsMap((r) => r.route?.children)); | ||
return router; | ||
} | ||
@@ -55,0 +53,0 @@ function selectRoute(url, routes) { |
@@ -127,4 +127,4 @@ import { ArrayDataSource, SetDataSource } from '../stream/data_source.js'; | ||
listenAsEnum(key, enumObject, defaultValue, cancellationToken) { | ||
const enumValues = Object.values(enumObject); | ||
const stream = new DuplexDataSource().withInitial(parseValue(this.storageAPI.getItem(key))); | ||
const enumValues = Object.values(enumObject); | ||
this.onChange.subscribe((e) => { | ||
@@ -131,0 +131,0 @@ if (e.key === key || e.key === '*') { |
@@ -41,3 +41,3 @@ import { AurumComponentAPI, AurumElementModel, Renderable } from '../rendering/aurum_element.js'; | ||
const urlDataSource = new DataSource<string>(); | ||
const urlDataSource = new DataSource<string>(undefined, 'Url Data Source'); | ||
@@ -56,2 +56,11 @@ if (props.urlProvider) { | ||
const activeRoute = new DataSource<AurumElementModel<RouteProps>>(); | ||
const router = urlDataSource.withInitial(urlDataSource.value).transform( | ||
dsUnique(), | ||
dsMap((url) => (props.urlPreprocessing ? props.urlPreprocessing(url) : url)), | ||
dsMap((path) => ({ path, route: selectRoute(path, resolvedChildren) })), | ||
dsFilter((r) => (props.validateNavigation ? props.validateNavigation(r.path, r.route) : true)), | ||
dsTap((r) => activeRoute.update(r.route)), | ||
dsMap((r) => r.route?.children), | ||
api.cancellationToken | ||
); | ||
@@ -71,12 +80,3 @@ activeRoute.transform( | ||
return urlDataSource | ||
.transform(dsUnique(), api.cancellationToken) | ||
.withInitial(urlDataSource.value) | ||
.transform( | ||
dsMap((url) => (props.urlPreprocessing ? props.urlPreprocessing(url) : url)), | ||
dsMap((path) => ({ path, route: selectRoute(path, resolvedChildren) })), | ||
dsFilter((r) => (props.validateNavigation ? props.validateNavigation(r.path, r.route) : true)), | ||
dsTap((r) => activeRoute.update(r.route)), | ||
dsMap((r) => r.route?.children) | ||
); | ||
return router; | ||
} | ||
@@ -83,0 +83,0 @@ |
@@ -158,4 +158,4 @@ import { ArrayDataSource, SetDataSource } from '../stream/data_source.js'; | ||
): DuplexDataSource<T> { | ||
const enumValues = Object.values(enumObject); | ||
const stream = new DuplexDataSource<T>().withInitial(parseValue(this.storageAPI.getItem(key))); | ||
const enumValues = Object.values(enumObject); | ||
@@ -162,0 +162,0 @@ this.onChange.subscribe((e) => { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
2092766
27886