@ember-nexus/app-core 0.0.8 → 0.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/dist/browser/index.js +1 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/esm/Component/Page/PageError404.js +14 -0
- package/dist/esm/Component/Page/PageError404.js.map +1 -0
- package/dist/esm/Component/Page/index.js +2 -0
- package/dist/esm/Component/Page/index.js.map +1 -0
- package/dist/esm/Component/Router.js +106 -0
- package/dist/esm/Component/Router.js.map +1 -0
- package/dist/esm/Component/index.js +3 -0
- package/dist/esm/Component/index.js.map +1 -0
- package/dist/esm/Init.js +2 -1
- package/dist/esm/Init.js.map +1 -1
- package/dist/esm/Service/RouteResolver.js +88 -0
- package/dist/esm/Service/RouteResolver.js.map +1 -0
- package/dist/esm/Service/ServiceResolver.js +60 -6
- package/dist/esm/Service/ServiceResolver.js.map +1 -1
- package/dist/esm/Service/index.js +1 -0
- package/dist/esm/Service/index.js.map +1 -1
- package/dist/esm/Type/Definition/PluginIdentifier.js +10 -0
- package/dist/esm/Type/Definition/PluginIdentifier.js.map +1 -0
- package/dist/esm/Type/Definition/Proxy.js +2 -0
- package/dist/esm/Type/Definition/Proxy.js.map +1 -0
- package/dist/esm/Type/Definition/RouteConfiguration.js +2 -0
- package/dist/esm/Type/Definition/RouteConfiguration.js.map +1 -0
- package/dist/esm/Type/Definition/RouteGuardFunction.js +2 -0
- package/dist/esm/Type/Definition/RouteGuardFunction.js.map +1 -0
- package/dist/esm/Type/Definition/RouteIdentifier.js +10 -0
- package/dist/esm/Type/Definition/RouteIdentifier.js.map +1 -0
- package/dist/esm/Type/Definition/RouteNode.js +26 -0
- package/dist/esm/Type/Definition/RouteNode.js.map +1 -0
- package/dist/esm/Type/Definition/RouteToWebComponentFunction.js +2 -0
- package/dist/esm/Type/Definition/RouteToWebComponentFunction.js.map +1 -0
- package/dist/esm/Type/Definition/index.js +7 -0
- package/dist/esm/Type/Definition/index.js.map +1 -1
- package/dist/esm/Type/Enum/ServiceIdentifier.js +1 -0
- package/dist/esm/Type/Enum/ServiceIdentifier.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/Component/Page/PageError404.d.ts +5 -0
- package/dist/types/Component/Page/index.d.ts +1 -0
- package/dist/types/Component/Router.d.ts +15 -0
- package/dist/types/Component/index.d.ts +2 -0
- package/dist/types/Service/RouteResolver.d.ts +20 -0
- package/dist/types/Service/ServiceResolver.d.ts +5 -4
- package/dist/types/Service/index.d.ts +1 -0
- package/dist/types/Type/Definition/PluginIdentifier.d.ts +8 -0
- package/dist/types/Type/Definition/Proxy.d.ts +6 -0
- package/dist/types/Type/Definition/RouteConfiguration.d.ts +13 -0
- package/dist/types/Type/Definition/RouteGuardFunction.d.ts +2 -0
- package/dist/types/Type/Definition/RouteIdentifier.d.ts +8 -0
- package/dist/types/Type/Definition/RouteNode.d.ts +10 -0
- package/dist/types/Type/Definition/RouteToWebComponentFunction.d.ts +2 -0
- package/dist/types/Type/Definition/index.d.ts +7 -0
- package/dist/types/Type/Enum/ServiceIdentifier.d.ts +1 -0
- package/dist/types/index.d.ts +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { LitElement, TemplateResult } from 'lit';
|
|
2
|
+
import { RouteResolver } from '../Service/index.js';
|
|
3
|
+
import { RouteConfiguration } from '../Type/Definition/RouteConfiguration.js';
|
|
4
|
+
declare class Router extends LitElement {
|
|
5
|
+
protected _routeConfiguration: RouteConfiguration | null;
|
|
6
|
+
protected _routeResolver: RouteResolver | null;
|
|
7
|
+
handleNewRoute(route: string): void;
|
|
8
|
+
handlePopStateEvent(): void;
|
|
9
|
+
handleLinkClickEvent(event: PointerEvent): void;
|
|
10
|
+
connectedCallback(): void;
|
|
11
|
+
disconnectedCallback(): void;
|
|
12
|
+
protected getRouteWebComponentTag(): string | null;
|
|
13
|
+
render(): TemplateResult;
|
|
14
|
+
}
|
|
15
|
+
export { Router };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { RouteConfiguration, RouteIdentifier } from '../Type/Definition/index.js';
|
|
2
|
+
import { RouteNode } from '../Type/Definition/RouteNode.js';
|
|
3
|
+
import { ServiceIdentifier } from '../Type/Enum/index.js';
|
|
4
|
+
declare class RouteResolver {
|
|
5
|
+
static identifier: ServiceIdentifier;
|
|
6
|
+
private readonly routes;
|
|
7
|
+
private rootNode;
|
|
8
|
+
hasRouteConfiguration(routeIdentifier: RouteIdentifier): boolean;
|
|
9
|
+
getRouteConfiguration(routeIdentifier: RouteIdentifier): null | RouteConfiguration;
|
|
10
|
+
getRouteConfigurationOrFail(routeIdentifier: RouteIdentifier): RouteConfiguration;
|
|
11
|
+
private getSegmentsFromRoute;
|
|
12
|
+
addRouteConfiguration(routeConfiguration: RouteConfiguration): RouteResolver;
|
|
13
|
+
findRouteConfigurationsByNodeAndSegments(node: RouteNode, segments: string[]): RouteIdentifier[];
|
|
14
|
+
findRouteConfiguration(route: string): Promise<RouteConfiguration | null>;
|
|
15
|
+
deleteRouteConfiguration(routeIdentifier: RouteIdentifier): RouteResolver;
|
|
16
|
+
getRouteIdentifiers(): RouteIdentifier[];
|
|
17
|
+
getRoutesConfigurations(): RouteConfiguration[];
|
|
18
|
+
clearRoutes(): RouteResolver;
|
|
19
|
+
}
|
|
20
|
+
export { RouteResolver };
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { ServiceIdentifier } from '../Type/Definition/index.js';
|
|
1
|
+
import { ProxyObject, ServiceIdentifier } from '../Type/Definition/index.js';
|
|
2
2
|
declare class ServiceResolver {
|
|
3
3
|
private readonly services;
|
|
4
4
|
constructor();
|
|
5
|
+
createServiceProxy<T extends object>(initialTarget: T): ProxyObject<T>;
|
|
5
6
|
hasService(serviceIdentifier: ServiceIdentifier): boolean;
|
|
6
|
-
getService<T =
|
|
7
|
-
getServiceOrFail<T =
|
|
8
|
-
setService(serviceIdentifier: ServiceIdentifier, service:
|
|
7
|
+
getService<T = object>(serviceIdentifier: ServiceIdentifier): null | T;
|
|
8
|
+
getServiceOrFail<T = object>(serviceIdentifier: ServiceIdentifier): T;
|
|
9
|
+
setService(serviceIdentifier: ServiceIdentifier, service: object): ServiceResolver;
|
|
9
10
|
deleteService(serviceIdentifier: ServiceIdentifier): ServiceResolver;
|
|
10
11
|
getServiceIdentifiers(): ServiceIdentifier[];
|
|
11
12
|
getServices(): unknown[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Branded } from './Branded.js';
|
|
2
|
+
/**
|
|
3
|
+
* Type safe variant of string containing plugin identifier.
|
|
4
|
+
*/
|
|
5
|
+
type PluginIdentifier = Branded<string, 'pluginIdentifier'>;
|
|
6
|
+
declare const pluginIdentifierRegex: RegExp;
|
|
7
|
+
declare function validatePluginIdentifierFromString(pluginIdentifier: string): PluginIdentifier;
|
|
8
|
+
export { PluginIdentifier, pluginIdentifierRegex, validatePluginIdentifierFromString };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PluginIdentifier } from './PluginIdentifier.js';
|
|
2
|
+
import { RouteGuardFunction } from './RouteGuardFunction.js';
|
|
3
|
+
import { RouteIdentifier } from './RouteIdentifier.js';
|
|
4
|
+
import { RouteToWebComponentFunction } from './RouteToWebComponentFunction.js';
|
|
5
|
+
type RouteConfiguration = {
|
|
6
|
+
pluginIdentifier: PluginIdentifier;
|
|
7
|
+
routeIdentifier: RouteIdentifier;
|
|
8
|
+
route: string;
|
|
9
|
+
priority: number;
|
|
10
|
+
webComponent: string | RouteToWebComponentFunction;
|
|
11
|
+
guard: RouteGuardFunction;
|
|
12
|
+
};
|
|
13
|
+
export { RouteConfiguration };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Branded } from './Branded.js';
|
|
2
|
+
/**
|
|
3
|
+
* Type safe variant of string containing route identifier.
|
|
4
|
+
*/
|
|
5
|
+
type RouteIdentifier = Branded<string, 'routeIdentifier'> | string;
|
|
6
|
+
declare const routeIdentifierRegex: RegExp;
|
|
7
|
+
declare function validateRouteIdentifierFromString(routeIdentifier: string): RouteIdentifier;
|
|
8
|
+
export { RouteIdentifier, routeIdentifierRegex, validateRouteIdentifierFromString };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { RouteIdentifier } from './RouteIdentifier.js';
|
|
2
|
+
declare class RouteNode {
|
|
3
|
+
private childRouteNodes;
|
|
4
|
+
private routeHandler;
|
|
5
|
+
getChildRouteNode(segment: string): RouteNode;
|
|
6
|
+
hasChildRouteNode(segment: string): boolean;
|
|
7
|
+
addRouteHandler(routeHandler: RouteIdentifier): RouteNode;
|
|
8
|
+
getRouteHandlers(): RouteIdentifier[];
|
|
9
|
+
}
|
|
10
|
+
export { RouteNode };
|
|
@@ -14,12 +14,19 @@ export * from './Logger.js';
|
|
|
14
14
|
export * from './Node.js';
|
|
15
15
|
export * from './NodeWithOptionalId.js';
|
|
16
16
|
export * from './OptionalPromise.js';
|
|
17
|
+
export * from './PluginIdentifier.js';
|
|
17
18
|
export * from './PriorityRegistry.js';
|
|
19
|
+
export * from './Proxy.js';
|
|
18
20
|
export * from './Registry.js';
|
|
19
21
|
export * from './Relation.js';
|
|
20
22
|
export * from './RelationWithOptionalId.js';
|
|
21
23
|
export * from './RequestProblem.js';
|
|
22
24
|
export * as Response from './Response/index.js';
|
|
25
|
+
export * from './RouteConfiguration.js';
|
|
26
|
+
export * from './RouteGuardFunction.js';
|
|
27
|
+
export * from './RouteIdentifier.js';
|
|
28
|
+
export * from './RouteNode.js';
|
|
29
|
+
export * from './RouteToWebComponentFunction.js';
|
|
23
30
|
export * from './ServiceIdentifier.js';
|
|
24
31
|
export * from './Token.js';
|
|
25
32
|
export * from './UniqueUserIdentifier.js';
|
|
@@ -4,6 +4,7 @@ declare enum ServiceIdentifier {
|
|
|
4
4
|
action = "global.action-registry",
|
|
5
5
|
setting = "global.setting-registry",
|
|
6
6
|
icon = "global.icon-registry",
|
|
7
|
+
routeResolver = "global.route-resolver",
|
|
7
8
|
serviceFetchHelper = "ember-nexus.app-core.service.fetch-helper-service",
|
|
8
9
|
serviceApiConfiguration = "ember-nexus.app-core.service.api-configuration-service",
|
|
9
10
|
serviceElementParser = "ember-nexus.app-core.service.element-parser-service",
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * as BrowserEvent from './BrowserEvent/index.js';
|
|
2
2
|
export * as BrowserEventListener from './BrowserEventListener/index.js';
|
|
3
3
|
export * as Cache from './Cache/index.js';
|
|
4
|
+
export * as Component from './Component/index.js';
|
|
4
5
|
export * as Endpoint from './Endpoint/index.js';
|
|
5
6
|
export * as Error from './Error/index.js';
|
|
6
7
|
export * as Event from './Event/index.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ember-nexus/app-core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.10",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">= 20.0"
|
|
@@ -134,6 +134,7 @@
|
|
|
134
134
|
"last 1 years and not dead"
|
|
135
135
|
],
|
|
136
136
|
"dependencies": {
|
|
137
|
+
"lit": "^3.3.2",
|
|
137
138
|
"lru-cache": "^11.1.0",
|
|
138
139
|
"luxon": "^3.4.4",
|
|
139
140
|
"tslib": "^2.8.1",
|