code: function IPromise(executor) {
    const self = this;
    if (!Shared.isObject(self)) {
      throw new TypeError('IPromise must be a object');
    }
    if (!Shared.isFunction(executor)) {
      throw new TypeError('executor must be a function');
    }
    this.currentState = Shared.PENDING; // default
    this.valOrErr = null; // if fulfilled result to it else rejected error to it
    this.onFulfilledCallback = []; // if current state PENDING push the func wait onFulfilled to exec
    this.onRejectedCallback = []; // if current state PENDING push the func wait onRejected to exec
  
    // safely executor when executor not a empty function
    if (Shared.noop !== executor) {
      safelyToExecutor(self, executor);
    }
  }
docs: ----- IPromise Codebase -----
  
  Promise Code Implement Standard https://promisesaplus.com/#point-46
  Reference: https://github.com/xieranmaya/blog/issues/3
  
  @param { Function } executor => I want to do in this function