@idlebox/common 1.3.2 → 1.3.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.
@@ -99,7 +99,6 @@ export declare const bindThis: MethodDecorator;
99
99
  export declare class CallbackList<Argument extends unknown[]> {
100
100
  protected list: MyCallback<Argument>[];
101
101
  protected running: boolean;
102
- protected stop: boolean;
103
102
  constructor();
104
103
  count(): number;
105
104
  reset(): void;
@@ -113,10 +112,10 @@ export declare class CallbackList<Argument extends unknown[]> {
113
112
  */
114
113
  remove(item: MyCallback<Argument>): null | MyCallback<Argument>;
115
114
  /**
116
- * @returns {boolean} true if every callback called, false if stop in middle
115
+ * Stop run if one callback return `true`
116
+ * @returns {boolean} true if one callback return true
117
117
  */
118
118
  run(...argument: Argument): boolean;
119
- stopRun(): void;
120
119
  }
121
120
 
122
121
  /** @public */
@@ -608,10 +607,10 @@ export declare interface IUniqueIdFactory<T> {
608
607
  }
609
608
 
610
609
  /**
611
- * Lowercase first char
610
+ * lowercase first char
612
611
  * @public
613
612
  */
614
- export declare function lcfirst(str: string): string;
613
+ export declare function lcfirst<T extends string>(str: T): Uncapitalize<T>;
615
614
 
616
615
  /* Excluded from this release type: LifecycleObject */
617
616
 
@@ -645,7 +644,7 @@ export declare interface MyAsyncCallback<Argument extends unknown[]> {
645
644
 
646
645
  export declare interface MyCallback<Argument extends unknown[]> {
647
646
  displayName?: string;
648
- (...param: Argument): any;
647
+ (...param: Argument): void | undefined | boolean;
649
648
  }
650
649
 
651
650
  export declare interface MyDelayCallback<Argument extends unknown[]> {
@@ -836,7 +835,7 @@ export declare function tryInspect(object: any): any;
836
835
  * Uppercase first char
837
836
  * @public
838
837
  */
839
- export declare function ucfirst(str: string): string;
838
+ export declare function ucfirst<T extends string>(str: T): Capitalize<T>;
840
839
 
841
840
  /**
842
841
  * Returns a function to be used in <arr>.filter()
@@ -19,12 +19,6 @@ class CallbackList {
19
19
  writable: true,
20
20
  value: false
21
21
  });
22
- Object.defineProperty(this, "stop", {
23
- enumerable: true,
24
- configurable: true,
25
- writable: true,
26
- value: false
27
- });
28
22
  this.run = this.run.bind(this);
29
23
  }
30
24
  count() {
@@ -63,27 +57,18 @@ class CallbackList {
63
57
  return null;
64
58
  }
65
59
  /**
66
- * @returns {boolean} true if every callback called, false if stop in middle
60
+ * Stop run if one callback return `true`
61
+ * @returns {boolean} true if one callback return true
67
62
  */
68
63
  run(...argument) {
69
- if (this.running) {
70
- throw new Error("can not run CallbackList in it's callback.");
71
- }
72
- this.stop = false;
73
64
  this.running = true;
74
- for (const cb of this.list) {
75
- if (this.stop)
76
- break;
77
- cb(...argument);
78
- }
65
+ const ret = this.list.some((cb) => {
66
+ const ret = cb(...argument);
67
+ return ret === undefined || ret;
68
+ });
79
69
  this.running = false;
80
- const ret = !this.stop;
81
- this.stop = false;
82
70
  return ret;
83
71
  }
84
- stopRun() {
85
- this.stop = true;
86
- }
87
72
  }
88
73
  exports.CallbackList = CallbackList;
89
74
  //# sourceMappingURL=callbackList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"callbackList.js","sourceRoot":"","sources":["../../src/function/callbackList.ts"],"names":[],"mappings":";;;AAAA,yDAA8C;AAQ9C;;GAEG;AACH,MAAa,YAAY;IAKxB;QAJA;;;;mBAAyC,EAAE;WAAC;QAC5C;;;;mBAA6B,KAAK;WAAC;QACnC;;;;mBAA0B,KAAK;WAAC;QAG/B,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,KAAK;QACJ,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACpD;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,IAA0B,EAAE,IAAa;QAC5C,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC3D;QACD,IAAI,IAAI,EAAE;YACT,IAAA,+BAAY,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACzB;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAA0B;QAChC,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC9D;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACjB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACrC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAG,QAAkB;QACxB,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC9D;QACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAElB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE;YAC3B,IAAI,IAAI,CAAC,IAAI;gBAAE,MAAM;YACrB,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;SAChB;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,OAAO;QACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;CACD;AAxED,oCAwEC"}
1
+ {"version":3,"file":"callbackList.js","sourceRoot":"","sources":["../../src/function/callbackList.ts"],"names":[],"mappings":";;;AAAA,yDAA8C;AAQ9C;;GAEG;AACH,MAAa,YAAY;IAIxB;QAHA;;;;mBAAyC,EAAE;WAAC;QAC5C;;;;mBAA6B,KAAK;WAAC;QAGlC,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,KAAK;QACJ,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACpD;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,IAA0B,EAAE,IAAa;QAC5C,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC3D;QACD,IAAI,IAAI,EAAE;YACT,IAAA,+BAAY,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACzB;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAA0B;QAChC,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC9D;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACjB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACrC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,GAAG,QAAkB;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;YACjC,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC5B,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AA5DD,oCA4DC"}
@@ -5,7 +5,6 @@ import { nameFunction } from "./functionName.js";
5
5
  export class CallbackList {
6
6
  list = [];
7
7
  running = false;
8
- stop = false;
9
8
  constructor() {
10
9
  this.run = this.run.bind(this);
11
10
  }
@@ -45,26 +44,17 @@ export class CallbackList {
45
44
  return null;
46
45
  }
47
46
  /**
48
- * @returns {boolean} true if every callback called, false if stop in middle
47
+ * Stop run if one callback return `true`
48
+ * @returns {boolean} true if one callback return true
49
49
  */
50
50
  run(...argument) {
51
- if (this.running) {
52
- throw new Error("can not run CallbackList in it's callback.");
53
- }
54
- this.stop = false;
55
51
  this.running = true;
56
- for (const cb of this.list) {
57
- if (this.stop)
58
- break;
59
- cb(...argument);
60
- }
52
+ const ret = this.list.some((cb) => {
53
+ const ret = cb(...argument);
54
+ return ret === undefined || ret;
55
+ });
61
56
  this.running = false;
62
- const ret = !this.stop;
63
- this.stop = false;
64
57
  return ret;
65
58
  }
66
- stopRun() {
67
- this.stop = true;
68
- }
69
59
  }
70
60
  //# sourceMappingURL=callbackList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"callbackList.js","sourceRoot":"","sources":["../../src/function/callbackList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,0BAAuB;AAQ9C;;GAEG;AACH,MAAM,OAAO,YAAY;IACd,IAAI,GAA2B,EAAE,CAAC;IAClC,OAAO,GAAY,KAAK,CAAC;IACzB,IAAI,GAAY,KAAK,CAAC;IAEhC;QACC,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,KAAK;QACJ,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACpD;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,IAA0B,EAAE,IAAa;QAC5C,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC3D;QACD,IAAI,IAAI,EAAE;YACT,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACzB;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAA0B;QAChC,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC9D;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACjB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACrC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAG,QAAkB;QACxB,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC9D;QACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAElB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE;YAC3B,IAAI,IAAI,CAAC,IAAI;gBAAE,MAAM;YACrB,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;SAChB;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,OAAO;QACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;CACD"}
1
+ {"version":3,"file":"callbackList.js","sourceRoot":"","sources":["../../src/function/callbackList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,0BAAuB;AAQ9C;;GAEG;AACH,MAAM,OAAO,YAAY;IACd,IAAI,GAA2B,EAAE,CAAC;IAClC,OAAO,GAAY,KAAK,CAAC;IAEnC;QACC,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,KAAK;QACJ,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACpD;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,IAA0B,EAAE,IAAa;QAC5C,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC3D;QACD,IAAI,IAAI,EAAE;YACT,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACzB;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAA0B;QAChC,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC9D;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACjB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACrC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,GAAG,QAAkB;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;YACjC,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC5B,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,OAAO,GAAG,CAAC;IACZ,CAAC;CACD"}
@@ -8,12 +8,17 @@ const bindThis = (_target, propertyKey, descriptor) => {
8
8
  const oldFunc = descriptor.value;
9
9
  if (typeof oldFunc === 'function') {
10
10
  return {
11
+ enumerable: true,
11
12
  configurable: true,
12
- writable: false,
13
13
  get: function () {
14
14
  delete this[propertyKey];
15
15
  const fn = oldFunc.bind(this);
16
- this[propertyKey] = fn;
16
+ Object.defineProperty(this, propertyKey, {
17
+ value: fn,
18
+ writable: false,
19
+ enumerable: true,
20
+ configurable: false,
21
+ });
17
22
  return fn;
18
23
  },
19
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"bind.js","sourceRoot":"","sources":["../../../src/reflection/methods/bind.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACI,MAAM,QAAQ,GAAoB,CACxC,OAAe,EACf,WAA4B,EAC5B,UAAsC,EACrC,EAAE;IACH,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC;IACjC,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;QAClC,OAAO;YACN,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE;gBACJ,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;gBAEzB,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;gBACvB,OAAO,EAAE,CAAC;YACX,CAAC;SACD,CAAC;KACF;SAAM;QACN,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;KAC7E;AACF,CAAC,CAAC;AArBW,QAAA,QAAQ,YAqBnB"}
1
+ {"version":3,"file":"bind.js","sourceRoot":"","sources":["../../../src/reflection/methods/bind.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACI,MAAM,QAAQ,GAAoB,CACxC,OAAe,EACf,WAA4B,EAC5B,UAAsC,EACrC,EAAE;IACH,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC;IACjC,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;QAClC,OAAO;YACN,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,GAAG,EAAE;gBACJ,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;gBAEzB,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE;oBACxC,KAAK,EAAE,EAAE;oBACT,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,KAAK;iBACnB,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC;YACX,CAAC;SACD,CAAC;KACF;SAAM;QACN,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;KAC7E;AACF,CAAC,CAAC;AA1BW,QAAA,QAAQ,YA0BnB"}
@@ -5,12 +5,17 @@ export const bindThis = (_target, propertyKey, descriptor) => {
5
5
  const oldFunc = descriptor.value;
6
6
  if (typeof oldFunc === 'function') {
7
7
  return {
8
+ enumerable: true,
8
9
  configurable: true,
9
- writable: false,
10
10
  get: function () {
11
11
  delete this[propertyKey];
12
12
  const fn = oldFunc.bind(this);
13
- this[propertyKey] = fn;
13
+ Object.defineProperty(this, propertyKey, {
14
+ value: fn,
15
+ writable: false,
16
+ enumerable: true,
17
+ configurable: false,
18
+ });
14
19
  return fn;
15
20
  },
16
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"bind.js","sourceRoot":"","sources":["../../../src/reflection/methods/bind.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAoB,CACxC,OAAe,EACf,WAA4B,EAC5B,UAAsC,EACrC,EAAE;IACH,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC;IACjC,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;QAClC,OAAO;YACN,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE;gBACJ,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;gBAEzB,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;gBACvB,OAAO,EAAE,CAAC;YACX,CAAC;SACD,CAAC;KACF;SAAM;QACN,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;KAC7E;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"bind.js","sourceRoot":"","sources":["../../../src/reflection/methods/bind.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAoB,CACxC,OAAe,EACf,WAA4B,EAC5B,UAAsC,EACrC,EAAE;IACH,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC;IACjC,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;QAClC,OAAO;YACN,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,GAAG,EAAE;gBACJ,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;gBAEzB,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE;oBACxC,KAAK,EAAE,EAAE;oBACT,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,KAAK;iBACnB,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC;YACX,CAAC;SACD,CAAC;KACF;SAAM;QACN,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;KAC7E;AACF,CAAC,CAAC"}
@@ -13,15 +13,15 @@ exports.camelCase = camelCase;
13
13
  * @public
14
14
  */
15
15
  function ucfirst(str) {
16
- return str[0].toUpperCase() + str.slice(1);
16
+ return (str[0].toUpperCase() + str.slice(1));
17
17
  }
18
18
  exports.ucfirst = ucfirst;
19
19
  /**
20
- * Lowercase first char
20
+ * lowercase first char
21
21
  * @public
22
22
  */
23
23
  function lcfirst(str) {
24
- return str.substr(0, 1).toLowerCase() + str.substr(1);
24
+ return (str[0].toLowerCase() + str.slice(1));
25
25
  }
26
26
  exports.lcfirst = lcfirst;
27
27
  /** @public */
@@ -1 +1 @@
1
- {"version":3,"file":"castCase.js","sourceRoot":"","sources":["../../src/string/castCase.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACd,SAAgB,SAAS,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE;QACzC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;AACJ,CAAC;AAJD,8BAIC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,GAAW;IAClC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAFD,0BAEC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,GAAW;IAClC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAFD,0BAEC;AAED,cAAc;AACd,SAAgB,UAAU,CAAC,GAAW;IACrC,OAAO,GAAG;SACR,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACxB,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC,CAAC;SACD,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACxB,OAAO,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AARD,gCAQC;AAED,cAAc;AACd,SAAgB,iBAAiB,CAAC,GAAW;IAC5C,OAAO,GAAG;SACR,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACxB,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC,CAAC;SACD,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACxB,OAAO,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AARD,8CAQC"}
1
+ {"version":3,"file":"castCase.js","sourceRoot":"","sources":["../../src/string/castCase.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACd,SAAgB,SAAS,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE;QACzC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;AACJ,CAAC;AAJD,8BAIC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAmB,GAAM;IAC/C,OAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAFD,0BAEC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAmB,GAAM;IAC/C,OAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAFD,0BAEC;AAED,cAAc;AACd,SAAgB,UAAU,CAAC,GAAW;IACrC,OAAO,GAAG;SACR,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACxB,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC,CAAC;SACD,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACxB,OAAO,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AARD,gCAQC;AAED,cAAc;AACd,SAAgB,iBAAiB,CAAC,GAAW;IAC5C,OAAO,GAAG;SACR,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACxB,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC,CAAC;SACD,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACxB,OAAO,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AARD,8CAQC"}
@@ -9,14 +9,14 @@ export function camelCase(str) {
9
9
  * @public
10
10
  */
11
11
  export function ucfirst(str) {
12
- return str[0].toUpperCase() + str.slice(1);
12
+ return (str[0].toUpperCase() + str.slice(1));
13
13
  }
14
14
  /**
15
- * Lowercase first char
15
+ * lowercase first char
16
16
  * @public
17
17
  */
18
18
  export function lcfirst(str) {
19
- return str.substr(0, 1).toLowerCase() + str.substr(1);
19
+ return (str[0].toLowerCase() + str.slice(1));
20
20
  }
21
21
  /** @public */
22
22
  export function linux_case(str) {
@@ -1 +1 @@
1
- {"version":3,"file":"castCase.js","sourceRoot":"","sources":["../../src/string/castCase.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,MAAM,UAAU,SAAS,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE;QACzC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,GAAW;IAClC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,GAAW;IAClC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,cAAc;AACd,MAAM,UAAU,UAAU,CAAC,GAAW;IACrC,OAAO,GAAG;SACR,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACxB,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC,CAAC;SACD,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACxB,OAAO,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,cAAc;AACd,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC5C,OAAO,GAAG;SACR,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACxB,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC,CAAC;SACD,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACxB,OAAO,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"castCase.js","sourceRoot":"","sources":["../../src/string/castCase.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,MAAM,UAAU,SAAS,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE;QACzC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAmB,GAAM;IAC/C,OAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAmB,GAAM;IAC/C,OAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,cAAc;AACd,MAAM,UAAU,UAAU,CAAC,GAAW;IACrC,OAAO,GAAG;SACR,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACxB,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC,CAAC;SACD,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACxB,OAAO,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,cAAc;AACd,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC5C,OAAO,GAAG;SACR,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACxB,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC,CAAC;SACD,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACxB,OAAO,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "name": "@idlebox/common",
4
4
  "type": "module",
5
5
  "typings": "docs/package-public.d.ts",
6
- "version": "1.3.2",
6
+ "version": "1.3.3",
7
7
  "license": "MIT",
8
8
  "main": "./lib/_export_all_in_one_index.cjs",
9
9
  "module": "./lib/_export_all_in_one_index.js",
@@ -30,13 +30,13 @@
30
30
  },
31
31
  "devDependencies": {
32
32
  "@build-script/builder": "^3.2.2",
33
- "@build-script/export-all-in-one": "^3.0.26",
34
- "@build-script/single-dog-asset": "^1.0.14",
35
- "@build-script/typescript-transformer-dual-package": "^1.0.23",
33
+ "@build-script/export-all-in-one": "^3.1.0",
34
+ "@build-script/single-dog-asset": "^1.0.15",
35
+ "@build-script/typescript-transformer-dual-package": "^1.0.24",
36
36
  "@idlebox/itypes": "^1.0.0",
37
37
  "gulp": "^4.0.2",
38
- "ttypescript": "^1.5.12",
39
- "typescript": "^4.5.2",
38
+ "ttypescript": "^1.5.13",
39
+ "typescript": "^4.6.2",
40
40
  "esm": "^3.2.25"
41
41
  },
42
42
  "repository": "https://github.com/GongT/baobao"
@@ -3,7 +3,7 @@ import { nameFunction } from './functionName';
3
3
  export interface MyCallback<Argument extends unknown[]> {
4
4
  displayName?: string;
5
5
 
6
- (...param: Argument): any;
6
+ (...param: Argument): void | undefined | boolean;
7
7
  }
8
8
 
9
9
  /**
@@ -12,7 +12,6 @@ export interface MyCallback<Argument extends unknown[]> {
12
12
  export class CallbackList<Argument extends unknown[]> {
13
13
  protected list: MyCallback<Argument>[] = [];
14
14
  protected running: boolean = false;
15
- protected stop: boolean = false;
16
15
 
17
16
  constructor() {
18
17
  this.run = (this.run as any).bind(this);
@@ -58,27 +57,16 @@ export class CallbackList<Argument extends unknown[]> {
58
57
  }
59
58
 
60
59
  /**
61
- * @returns {boolean} true if every callback called, false if stop in middle
60
+ * Stop run if one callback return `true`
61
+ * @returns {boolean} true if one callback return true
62
62
  */
63
63
  run(...argument: Argument): boolean {
64
- if (this.running) {
65
- throw new Error("can not run CallbackList in it's callback.");
66
- }
67
- this.stop = false;
68
-
69
64
  this.running = true;
70
- for (const cb of this.list) {
71
- if (this.stop) break;
72
- cb(...argument);
73
- }
65
+ const ret = this.list.some((cb) => {
66
+ const ret = cb(...argument);
67
+ return ret === undefined || ret;
68
+ });
74
69
  this.running = false;
75
-
76
- const ret = !this.stop;
77
- this.stop = false;
78
70
  return ret;
79
71
  }
80
-
81
- stopRun() {
82
- this.stop = true;
83
- }
84
72
  }
@@ -9,13 +9,18 @@ export const bindThis: MethodDecorator = <T>(
9
9
  const oldFunc = descriptor.value;
10
10
  if (typeof oldFunc === 'function') {
11
11
  return {
12
+ enumerable: true,
12
13
  configurable: true,
13
- writable: false,
14
14
  get: function (this: any) {
15
15
  delete this[propertyKey];
16
16
 
17
17
  const fn = oldFunc.bind(this);
18
- this[propertyKey] = fn;
18
+ Object.defineProperty(this, propertyKey, {
19
+ value: fn,
20
+ writable: false,
21
+ enumerable: true,
22
+ configurable: false,
23
+ });
19
24
  return fn;
20
25
  },
21
26
  };
@@ -9,16 +9,16 @@ export function camelCase(str: string) {
9
9
  * Uppercase first char
10
10
  * @public
11
11
  */
12
- export function ucfirst(str: string) {
13
- return str[0].toUpperCase() + str.slice(1);
12
+ export function ucfirst<T extends string>(str: T): Capitalize<T> {
13
+ return <any>(str[0].toUpperCase() + str.slice(1));
14
14
  }
15
15
 
16
16
  /**
17
- * Lowercase first char
17
+ * lowercase first char
18
18
  * @public
19
19
  */
20
- export function lcfirst(str: string) {
21
- return str.substr(0, 1).toLowerCase() + str.substr(1);
20
+ export function lcfirst<T extends string>(str: T): Uncapitalize<T> {
21
+ return <any>(str[0].toLowerCase() + str.slice(1));
22
22
  }
23
23
 
24
24
  /** @public */
@@ -1,3 +0,0 @@
1
- {
2
- "extends": "../../../common/config/rush-project.json"
3
- }