Skip to content

Commit 225b18d

Browse files
committed
fix: use fauxdash argument parse to determine function argument dependencies
1 parent f06231c commit 225b18d

File tree

2 files changed

+9
-12
lines changed

2 files changed

+9
-12
lines changed

spec/resolve.spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ describe('Resolving', function () {
115115

116116
describe('with initially unmet dependencies', function () {
117117
var calls = 0
118-
function delayed (a2, b2, c2) {
118+
function delayed (a2, b2, c2 = 1) {
119119
calls++
120120
return a2 + b2 + c2
121121
}

src/index.js

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,8 @@ function allKeys () {
2323
}
2424

2525
function checkDependencies (fn, dependencies) {
26-
const fnString = fn.toString()
27-
if (/[(][^)]*[)]/.test(fnString)) {
28-
return (_.isFunction(fn) && !dependencies.length)
29-
? _.trim(/[(]([^)]*)[)]/.exec(fnString)[ 1 ].split(','))
30-
: dependencies
26+
if (_.isFunction(fn) && !_.isStub(fn)) {
27+
return !dependencies.length ? _.getArguments(fn) : dependencies
3128
} else {
3229
return undefined
3330
}
@@ -172,17 +169,17 @@ function inject (containerName, dependencies, fn, scopeName = DEFAULT) {
172169
return _.applyWhen(fn, args)
173170
}
174171

175-
function register () {
176-
let containerName = arguments[ 0 ]
177-
let key = arguments[ 1 ]
172+
function register (...parameters) {
173+
let containerName = parameters[ 0 ]
174+
let key = parameters[ 1 ]
178175
const parts = key.split(/[._]/)
179176
if (parts.length > 1) {
180177
containerName = util.getContainerName(containerName, parts)
181178
key = util.getKey(parts)
182179
}
183-
const args2 = arguments[ 2 ]
184-
const args3 = arguments[ 3 ]
185-
const args4 = arguments[ 4 ]
180+
const args2 = parameters[ 2 ]
181+
const args3 = parameters[ 3 ]
182+
const args4 = parameters[ 4 ]
186183
/* eslint-disable brace-style */
187184
// function passed for value, no dependency list
188185
if (_.isFunction(args2)) {

0 commit comments

Comments
 (0)