Socket
Book a DemoInstallSign in
Socket

route-node

Package Overview
Dependencies
Maintainers
1
Versions
85
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

route-node - npm Package Compare versions

Comparing version

to
0.5.0

10

CHANGELOG.md

@@ -0,1 +1,11 @@

<a name="0.5.0"></a>
# 0.5.0 (2015-11-30)
### Features
* add meta data about parameters and their position in match object ([d95fb92](https://github.com/troch/route-node/commit/d95fb92))
<a name="0.4.3"></a>

@@ -2,0 +12,0 @@ ## 0.4.3 (2015-11-24)

17

dist/amd/route-node.js

@@ -278,2 +278,17 @@ define(['exports', 'module', 'path-parser'], function (exports, module, _pathParser) {

var _meta = segments.reduce(function (meta, segment) {
var urlParams = segment.parser.urlParams.reduce(function (params, p) {
params[p] = 'url';
return params;
}, {});
var allParams = segment.parser.queryParams.reduce(function (params, p) {
params[p] = 'query';
return params;
}, urlParams);
meta[segment.name] = allParams;
return meta;
}, {});
var name = segments.map(function (segment) {

@@ -284,3 +299,3 @@ return segment.name;

return { name: name, params: params };
return { name: name, params: params, _meta: _meta };
}

@@ -287,0 +302,0 @@ }, {

@@ -283,2 +283,17 @@ 'use strict';

var _meta = segments.reduce(function (meta, segment) {
var urlParams = segment.parser.urlParams.reduce(function (params, p) {
params[p] = 'url';
return params;
}, {});
var allParams = segment.parser.queryParams.reduce(function (params, p) {
params[p] = 'query';
return params;
}, urlParams);
meta[segment.name] = allParams;
return meta;
}, {});
var name = segments.map(function (segment) {

@@ -289,3 +304,3 @@ return segment.name;

return { name: name, params: params };
return { name: name, params: params, _meta: _meta };
}

@@ -292,0 +307,0 @@ }, {

@@ -290,2 +290,17 @@ (function (global, factory) {

var _meta = segments.reduce(function (meta, segment) {
var urlParams = segment.parser.urlParams.reduce(function (params, p) {
params[p] = 'url';
return params;
}, {});
var allParams = segment.parser.queryParams.reduce(function (params, p) {
params[p] = 'query';
return params;
}, urlParams);
meta[segment.name] = allParams;
return meta;
}, {});
var name = segments.map(function (segment) {

@@ -296,3 +311,3 @@ return segment.name;

return { name: name, params: params };
return { name: name, params: params, _meta: _meta };
}

@@ -299,0 +314,0 @@ }, {

@@ -213,6 +213,21 @@ import Path from 'path-parser'

let name = segments.map(segment => segment.name).join('.')
let params = segments.params
const _meta = segments.reduce((meta, segment) => {
const urlParams = segment.parser.urlParams.reduce((params, p) => {
params[p] = 'url';
return params;
}, {});
return {name, params}
const allParams = segment.parser.queryParams.reduce((params, p) => {
params[p] = 'query';
return params;
}, urlParams);
meta[segment.name] = allParams;
return meta;
}, {});
const name = segments.map(segment => segment.name).join('.')
const params = segments.params
return {name, params, _meta}
}

@@ -219,0 +234,0 @@

11

package.json
{
"name": "route-node",
"version": "0.4.3",
"description": "A package to create a tree of named routes#",
"version": "0.5.0",
"description": "A package to create a tree of named routes",
"main": "dist/commonjs/route-node.js",

@@ -29,9 +29,10 @@ "jsnext:main": "modules/RouteNode.js",

"devDependencies": {
"async": "^1.3.0",
"babel": "^5.5.8",
"conventional-changelog": "^0.2.0",
"should": "^6.0.3",
"mocha": "^2.2.5",
"coveralls": "^2.11.2",
"istanbul": "^0.3.16",
"async": "^1.3.0",
"lodash.omit": "^3.1.0",
"mocha": "^2.2.5",
"should": "^6.0.3",
"through2": "^2.0.0",

@@ -38,0 +39,0 @@ "vinyl-fs": "^1.0.0",

@@ -7,3 +7,8 @@ 'use strict';

var should = require('should');
var omit = require('lodash.omit');
function withoutMeta(obj) {
return omit(obj, '_meta');
}
require('mocha');

@@ -121,4 +126,15 @@

// Building paths
node.matchPath('/users').should.eql({name: 'users', params: {}});
node.matchPath('/users/view/1').should.eql({name: 'users.view', params: {id: '1'}});
withoutMeta(node.matchPath('/users')).should.eql({name: 'users', params: {}});
node.matchPath('/users/view/1').should.eql({
_meta: {
users: {},
view: {
id: 'url'
}
},
name: 'users.view',
params: {id: '1'}
});
should.not.exists(node.matchPath('/users/profile/1'));

@@ -147,9 +163,19 @@ should.not.exists(node.matchPath('/users/view/profile/1'));

// Matching
node.matchPath('/grand-parent').should.eql({name: 'grandParent', params: {}});
node.matchPath('/grand-parent?nickname=gran').should.eql({name: 'grandParent', params: {nickname: 'gran'}});
node.matchPath('/grand-parent/parent?nickname=gran&name=maman%20man').should.eql({name: 'grandParent.parent', params: {nickname: 'gran', name: 'maman man'}});
node.matchPath('/grand-parent/parent/child?nickname=gran&name=maman').should.eql({name: 'grandParent.parent.child', params: {nickname: 'gran', name: 'maman'}});
node.matchPath('/grand-parent/parent/child?nickname=gran&name=maman&age=3').should.eql({name: 'grandParent.parent.child', params: {nickname: 'gran', name: 'maman', age: '3'}});
node.matchPath('/grand-parent/parent/child?nickname=gran&nickname=granny&name=maman&age=3').should.eql({name: 'grandParent.parent.child', params: {nickname: ['gran', 'granny'], name: 'maman', age: '3'}});
withoutMeta(node.matchPath('/grand-parent')).should.eql({name: 'grandParent', params: {}});
node.matchPath('/grand-parent?nickname=gran').should.eql({
_meta: {
grandParent: {
nickname: 'query'
}
},
name: 'grandParent',
params: {nickname: 'gran'}
});
withoutMeta(node.matchPath('/grand-parent/parent?nickname=gran&name=maman%20man')).should.eql({name: 'grandParent.parent', params: {nickname: 'gran', name: 'maman man'}});
withoutMeta(node.matchPath('/grand-parent/parent/child?nickname=gran&name=maman')).should.eql({name: 'grandParent.parent.child', params: {nickname: 'gran', name: 'maman'}});
withoutMeta(node.matchPath('/grand-parent/parent/child?nickname=gran&name=maman&age=3')).should.eql({name: 'grandParent.parent.child', params: {nickname: 'gran', name: 'maman', age: '3'}});
withoutMeta(node.matchPath('/grand-parent/parent/child?nickname=gran&nickname=granny&name=maman&age=3')).should.eql({name: 'grandParent.parent.child', params: {nickname: ['gran', 'granny'], name: 'maman', age: '3'}});
// Unsuccessful matching

@@ -163,4 +189,4 @@ should.not.exist(node.matchPath('/grand-parent?nickname=gran&name=papa'));

// Building paths
node.matchPath('/users/view/1').should.eql({name: 'users.view', params: {id: '1'}});
node.matchPath('/users/profile/1').should.eql({name: 'users.splat', params: {id: 'profile/1'}});
withoutMeta(node.matchPath('/users/view/1')).should.eql({name: 'users.view', params: {id: '1'}});
withoutMeta(node.matchPath('/users/profile/1')).should.eql({name: 'users.splat', params: {id: 'profile/1'}});
should.not.exists(node.matchPath('/users/view/profile/1'));

@@ -175,4 +201,4 @@ });

usersNode.matchPath('/users/view/1').should.eql({name: 'users.view', params: {id: '1'}});
usersNode.matchPath('/users/list').should.eql({name: 'users.list', params: {}});
withoutMeta(usersNode.matchPath('/users/view/1')).should.eql({name: 'users.view', params: {id: '1'}});
withoutMeta(usersNode.matchPath('/users/list')).should.eql({name: 'users.list', params: {}});
})

@@ -198,7 +224,7 @@

rootNode.matchPath('/').should.eql({name: 'index', params: {}});
rootNode.matchPath('/abo').should.eql({name: 'abo', params: {}});
rootNode.matchPath('/about').should.eql({name: 'about', params: {}});
rootNode.matchPath('/abc').should.eql({name: 'id', params: {id: 'abc'}});
rootNode.matchPath('/section/abc').should.eql({name: 'section', params: {id: 'abc'}});
withoutMeta(rootNode.matchPath('/')).should.eql({name: 'index', params: {}});
withoutMeta(rootNode.matchPath('/abo')).should.eql({name: 'abo', params: {}});
withoutMeta(rootNode.matchPath('/about')).should.eql({name: 'about', params: {}});
withoutMeta(rootNode.matchPath('/abc')).should.eql({name: 'id', params: {id: 'abc'}});
withoutMeta(rootNode.matchPath('/section/abc')).should.eql({name: 'section', params: {id: 'abc'}});
});

@@ -209,5 +235,5 @@

should.not.exists(rootNode.matchPath('/users/list/'));
rootNode.matchPath('/users/list', true).should.eql({name: 'users.list', params: {}});
rootNode.matchPath('/users/list').should.eql({name: 'users.list', params: {}});
rootNode.matchPath('/users/list/', true).should.eql({name: 'users.list', params: {}});
withoutMeta(rootNode.matchPath('/users/list', true)).should.eql({name: 'users.list', params: {}});
withoutMeta(rootNode.matchPath('/users/list')).should.eql({name: 'users.list', params: {}});
withoutMeta(rootNode.matchPath('/users/list/', true)).should.eql({name: 'users.list', params: {}});
should.not.exists(rootNode.matchPath('/users/list//', true));

@@ -217,7 +243,7 @@

should.not.exists(rootNode.matchPath('/users/list'));
rootNode.matchPath('/users/list', true).should.eql({name: 'users.list', params: {}});
rootNode.matchPath('/users/list/', true).should.eql({name: 'users.list', params: {}});
rootNode.matchPath('/users/list/').should.eql({name: 'users.list', params: {}});
rootNode.matchPath('/').should.eql({name: 'default', params: {}});
rootNode.matchPath('', true).should.eql({name: 'default', params: {}});
withoutMeta(rootNode.matchPath('/users/list', true)).should.eql({name: 'users.list', params: {}});
withoutMeta(rootNode.matchPath('/users/list/', true)).should.eql({name: 'users.list', params: {}});
withoutMeta(rootNode.matchPath('/users/list/')).should.eql({name: 'users.list', params: {}});
withoutMeta(rootNode.matchPath('/')).should.eql({name: 'default', params: {}});
withoutMeta(rootNode.matchPath('', true)).should.eql({name: 'default', params: {}});
should.not.exists(rootNode.matchPath('/users/list//', true));

@@ -224,0 +250,0 @@ });

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.