Giter Club home page Giter Club logo

core-routing's People

Contributors

neetjn avatar

Watchers

 avatar  avatar

core-routing's Issues

Feature Request: Event emitter in observer pattern form for flexible use.

Is your feature request related to a problem? Please describe.
TBD

Describe the solution you'd like
In addition to the provided router client, I would like to provide an optional event emitter in the form of the observer/subscriber pattern. See Events and riot-observable for possible implementation specifications.

Describe alternatives you've considered
The client structure makes sense, and helps ensure a clean implementation for 3rd party applications. However, for more dynamic applications I'd like to provide a more flexible api.

Additional context
TBD

Add npm ignore to ignore none bundle modules and reduce package size.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

add documentation

// TODO: add documentation
// TODO: complete router tools and implement in router
class RouterTools implements IRouterTools {
process(route: string, source: string) {
return {


This issue was generated by todo based on a TODO comment in 54af60c. It's been assigned to @neetjn because they committed the code.

Bug: Matching not working for path "/"

Describe the bug
The matching logic for the router is not matching the path "/".

Ref: https://github.com/neetjn/core-routing/blob/master/src/router.ts#L62
In example: https://github.com/neetjn/riot-routing-prototype/blob/master/src/components/router.riot#L38

To Reproduce
Steps to reproduce the behavior:

  1. Create a new instance of the router.
  2. In the interface, on either onStart or onNavigate -- try matching the current or incoming route path with "/".
  3. Notice there is no match.

Expected behavior
The path "/" should properly be matched.

0.0.2 - Roadmap

With the riot-routing projects in the work as a replacement for riot-view-routing, I wanted to design a framework agnostic interface for client sided routing.

Roadmap - 0.0.2

Core Proposals

  • Provide test(s) for configuration: Issue 14
  • Provide test for legacy support: Issue 15
  • Provide proper code documentation: Issue 2
  • Complete README: Issue 22

Feature Requests

  • Event emitter in observer pattern form for flexible use: Issue 20

Bugs

  • Matching not working for path "/": Issue 18

0.0.3 - Roadmap

With the riot-routing projects in the work as a replacement for riot-view-routing, I wanted to design a framework agnostic interface for client sided routing.

Roadmap - 0.0.3

Core Proposals

TBD

Feature Requests

TBD

resolve matching logic

// TODO: resolve matching logic
if (source !== this.config.settings.wildcard) {
const result = this.inspect(route, source);
if (result.route.length === result.source.length) {
for (const i in result.source) {


This issue was generated by todo based on a TODO comment in c624f83. It's been assigned to @neetjn because they committed the code.

0.0.1 - Roadmap

With the riot-routing projects in the work as a replacement for riot-view-routing, I wanted to design a framework agnostic interface for client sided routing.

Roadmap - 0.0.1

  • Create basic project structure.
  • Define types.
  • Provide basic interface for subscribing to route changes.
  • Create functional tests using Jest/Jest-Dom.
  • Write basic documentation for code, provide project documentation in README.
  • Wire up project with either Git Actions or Travis CI.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.