Socket
Book a DemoInstallSign in
Socket

@neovici/cosmoz-router

Package Overview
Dependencies
Maintainers
4
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@neovici/cosmoz-router

A Polymer component to handle client side URL routing and view loading / management

latest
Source
npmnpm
Version
11.2.8
Version published
Maintainers
4
Created
Source

cosmoz-router

Build Status semantic-release

<cosmoz-router>

cosmoz-router is a haunted component to handle client side URL routing and view loading / management.

By default cosmoz-router listens to popstate event , gets current location href and matches it against the routes defined.

Getting started

Installing

Using npm:

npm install --save @neovici/cosmoz-router

Importing

The cosmoz-router element can be imported using:

import '@neovici/cosmoz-router/cosmoz-page-router';

Usage

Routes

Routes are defined as an Array of Objects:

import { html } from 'lit-html';
import { creteElement, navigate } from '@neovici/cosmoz-router/lib/use-routes';

const routes = [
	{
		name: 'home', // optional (can be used to identity the route),
		rule: /^\/$/iu/, // a Regexp used to matched the route,
		handle: ({
			url, // the current url string ( that matched the route)
			match, // the result of matching route against the rule,
		}) => html`<home />`
	},
	{
		name: 'some-page',
		rule: (url) => url.startsWith('/some-page'), // function called with current url string
		handle: ({ url })=>import('page.js')
			.then(()=> createElement('some-element', Object.fromEntries(url.searchParams)))
	},
	{
		name: 'redirect',
		rule: /^\/some\-redirect$/iu,
		handle: ()=> navigate('#!/', null, {
			replace: true, // true to use replaceState,false to use pushState,
			notify: true // true to dispatch a `popstate` event
		})
	}
];

and passed to cosmoz-router:

html`<cosmoz-router .routes=${routes} />`;

Documentation

See http://neovici.github.io/cosmoz-router (outdated)

TODO

Keywords

polymer

FAQs

Package last updated on 21 Jul 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts