axj-ab_ 1.0.0 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/index.d.ts +1 -1
  2. package/index.js +31 -12
  3. package/package.json +2 -2
package/index.d.ts CHANGED
@@ -381,7 +381,7 @@ declare namespace ab_ {
381
381
  * @param data
382
382
  * @param i
383
383
  */
384
- function posts(data: any, i: number): void;
384
+ function posts(data: any, i: number, from: any): void;
385
385
 
386
386
  /**
387
387
  *
package/index.js CHANGED
@@ -404,34 +404,53 @@ var ab_ = {
404
404
 
405
405
  post(name) {
406
406
  var args = false
407
- if (arguments.length === 3 && arguments[0] === undefined) {
407
+ var from = undefined
408
+ if (arguments.length >= 3 && arguments[0] === undefined) {
408
409
  name = arguments[1]
409
410
  args = true
411
+ from = arguments[3]
410
412
  }
411
413
 
412
- var fn = ab_.$center[name]
414
+ var target = ab_.$center
415
+ var fn = target[name]
413
416
  if (fn) {
414
- fn.apply(this, args ? arguments[2] : ab_.args(arguments, 1))
417
+ if (from) {
418
+ target['$from'] = from
419
+ }
420
+
421
+ fn.apply(target, args ? arguments[2] : ab_.args(arguments, 1))
415
422
  return
416
423
  }
417
424
 
418
- var i = name.indexOf('/')
419
- if (i >= 0) {
420
- fn = ab_.$center[name.substr(0, i)]
421
- if (fn && typeof (fn) === 'object') {
422
- fn = fn[name.substr(i + 1)]
423
- if (fn) {
424
- fn.apply(this, args ? arguments[2] : ab_.args(arguments, 1))
425
+ while (true) {
426
+ var i = name.indexOf('/')
427
+ if (i <= 0) {
428
+ return
429
+ }
430
+
431
+ target = target[name.substr(0, i)]
432
+ if (typeof (target) !== 'object') {
433
+ return
434
+ }
435
+
436
+ name = name.substr(i + 1)
437
+ fn = target[name]
438
+ if (fn) {
439
+ if (from) {
440
+ target['$from'] = from
425
441
  }
442
+
443
+ fn.apply(target, args ? arguments[2] : ab_.args(arguments, 1))
444
+ return
426
445
  }
427
446
  }
428
447
  },
429
448
 
430
- posts(data, i) {
449
+ posts(data, i, from) {
431
450
  var last = data.length - 1
432
451
  for (i = i || 0; i < last; i += 2) {
433
452
  try {
434
- ab_.post(undefined, data[i], data[i + 1])
453
+ ab_.post(undefined, data[i], data[i + 1], from)
435
454
 
436
455
  } catch (e) {
437
456
  console.error(e)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "axj-ab_",
3
3
  "type": "commonjs",
4
- "version": "1.0.0",
4
+ "version": "1.0.3",
5
5
  "description": "",
6
6
  "main": "index.js",
7
7
  "scripts": {
@@ -9,4 +9,4 @@
9
9
  },
10
10
  "author": "",
11
11
  "license": "ISC"
12
- }
12
+ }