axj-ab_ 1.0.1 → 1.0.4

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 (2) hide show
  1. package/index.js +41 -10
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -404,25 +404,44 @@ 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
  },
@@ -1211,4 +1230,16 @@ try {
1211
1230
  console.error(e)
1212
1231
  }
1213
1232
 
1233
+ try {
1234
+ if (globalThis.ab_) {
1235
+ ab_ = globalThis.ab_
1236
+
1237
+ } else {
1238
+ globalThis.ab_ = ab_
1239
+ }
1240
+
1241
+ } catch (e) {
1242
+ console.error(e)
1243
+ }
1244
+
1214
1245
  module.exports = ab_
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "axj-ab_",
3
3
  "type": "commonjs",
4
- "version": "1.0.1",
4
+ "version": "1.0.4",
5
5
  "description": "",
6
6
  "main": "index.js",
7
7
  "scripts": {