Socket
Socket
Sign inDemoInstall

fount

Package Overview
Dependencies
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fount - npm Package Compare versions

Comparing version 0.1.0 to 0.1.1-1

6

CHANGELOG.md
## 0.1.X
### 0.1.?
* enables namespaces more than 2 levels deep
* attempts to clean up some of the functions and eliminate repeating logic
* added back missing dev dependency (needs whistelpunk for missing npm backfill test)
### 0.1.0

@@ -4,0 +10,0 @@

7

package.json
{
"name": "fount",
"version": "0.1.0",
"version": "0.1.1-1",
"description": "A source from which dependencies flow",

@@ -20,3 +20,3 @@ "main": "./src/index.js",

"author": "Alex Robson",
"license": "MIT License (http://opensource.org/licenses/MIT)",
"license": "MIT",
"bugs": {

@@ -37,4 +37,5 @@ "url": "https://github.com/LeanKit-Labs/fount/issues"

"postal": "^1.0.2",
"sinon": "~1.14.1"
"sinon": "~1.14.1",
"whistlepunk": "^0.3.3"
}
}

@@ -95,2 +95,15 @@ var _ = require( 'lodash' );

function getContainerName( name, parts ) {
var lead = parts.slice( 0, -1 );
if( name === "default" ) {
return lead.join( '.' );
} else {
return ( [ name ].concat( lead ) ).join( '.' );
}
}
function getKey( parts ) {
return parts.slice( -1 )[ 0 ];
}
function getLoadedModule( name ) {

@@ -134,26 +147,7 @@ var parent = findParent( module );

if ( _.isArray( key ) ) {
var ctr = container( containerName );
key.forEach( function( k ) {
var originalKey = k;
var ctrName = containerName;
var parts = k.split( /[._]/ );
if ( parts.length > 1 ) {
ctr = container( parts[ 0 ] );
ctrName = parts[ 0 ];
k = parts[ 1 ];
}
if ( !ctr[ k ] && !backfillMissingDependency( key, ctrName ) ) {
acc.push( originalKey );
}
pushMissingKey( containerName, k, acc );
} );
} else {
var originalKey = key;
var parts = key.split( /[._]/ );
if ( parts.length > 1 ) {
containerName = parts[ 0 ];
key = parts[ 1 ];
}
if ( !container( containerName )[ key ] && !backfillMissingDependency( key, containerName ) ) {
acc.push( originalKey );
}
pushMissingKey( containerName, key, acc );
}

@@ -164,2 +158,17 @@ return acc;

function pushMissingKey( containerName, key, acc ) {
var originalKey = key;
var parts = key.split( /[._]/ );
if ( parts.length > 1 ) {
containerName = getContainerName( containerName, parts );
key = getKey( parts );
}
var hasKey = container( containerName )[ key ] != null;
var canBackfill = backfillMissingDependency( key, containerName );
if( !hasKey && !canBackfill ) {
acc.push( originalKey );
}
return acc;
}
function inject( containerName, dependencies, fn, scopeName ) {

@@ -181,7 +190,8 @@ scopeName = scopeName || 'default';

var parts = key.split( /[._]/ );
var ctrName = containerName;
if ( parts.length > 1 ) {
containerName = parts[ 0 ];
key = parts[ 1 ];
ctrName = getContainerName( containerName, parts );
key = getKey( parts );
}
return resolve( containerName, key, scopeName );
return resolve( ctrName, key, scopeName );
} );

@@ -216,7 +226,6 @@ return whenFn.apply( fn, args );

if ( parts.length > 1 ) {
containerName = parts[ 0 ];
key = parts[ 1 ];
containerName = getContainerName( containerName, parts );
key = getKey( parts );
}
if ( _.isFunction( fn ) ) {

@@ -243,21 +252,19 @@ dependencies = checkDependencies( fn, dependencies );

key.forEach( function( k ) {
var originalKey = k;
var parts = k.split( /[._]/ );
if ( parts.length > 1 ) {
ctr = container( parts[ 0 ] );
k = parts[ 1 ];
}
hash[ originalKey ] = ctr[ k ]( scopeName );
hash[ k ] = resolveKey( containerName, k, scopeName );
} );
return whenKeys.all( hash );
} else {
var parts = key.split( /[._]/ );
if ( parts.length > 1 ) {
containerName = parts[ 0 ];
key = parts[ 1 ];
}
return container( containerName )[ key ]( scopeName );
return resolveKey( containerName, key, scopeName );
}
}
function resolveKey( containerName, key, scopeName ) {
var parts = key.split( /[._]/ );
if ( parts.length > 1 ) {
containerName = getContainerName( containerName, parts );
key = getKey( parts );
}
return container( containerName )[ key ]( scopeName );
}
function scope( containerName, name ) {

@@ -264,0 +271,0 @@ var ctr = container( containerName );

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc