當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript utils.toString函數代碼示例

本文整理匯總了TypeScript中@ember/-internals/utils.toString函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript toString函數的具體用法?TypeScript toString怎麽用?TypeScript toString使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了toString函數的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: addMixin

 addMixin(mixin: any) {
   assert(
     this.isMetaDestroyed()
       ? `Cannot add mixins of \`${toString(mixin)}\` on \`${toString(
           this.source
         )}\` call addMixin after it has been destroyed.`
       : '',
     !this.isMetaDestroyed()
   );
   let set = this._getOrCreateOwnSet('_mixins');
   set.add(mixin);
 }
開發者ID:luxferresum,項目名稱:ember.js,代碼行數:12,代碼來源:meta.ts

示例2: function

 Meta.prototype.clearBindings = function() {
   assert(
     this.isMetaDestroyed()
       ? `Cannot clear bindings on \`${toString(this.source)}\` after it has been destroyed.`
       : '',
     !this.isMetaDestroyed()
   );
   this._bindings = undefined;
 };
開發者ID:knownasilya,項目名稱:ember.js,代碼行數:9,代碼來源:meta.ts

示例3: writeDescriptors

 writeDescriptors(subkey: string, value: any) {
   assert(
     this.isMetaDestroyed()
       ? `Cannot update descriptors for \`${subkey}\` on \`${toString(
           this.source
         )}\` after it has been destroyed.`
       : '',
     !this.isMetaDestroyed()
   );
   let map = this._getOrCreateOwnMap('_descriptors');
   map[subkey] = value;
 }
開發者ID:luxferresum,項目名稱:ember.js,代碼行數:12,代碼來源:meta.ts

示例4: function

  Meta.prototype.writeValues = function(subkey: string, value: any) {
    assert(
      this.isMetaDestroyed()
        ? `Cannot set the value of \`${subkey}\` on \`${toString(
            this.source
          )}\` after it has been destroyed.`
        : '',
      !this.isMetaDestroyed()
    );

    let map = this._getOrCreateOwnMap('_values');
    map[subkey] = value;
  };
開發者ID:luxferresum,項目名稱:ember.js,代碼行數:13,代碼來源:meta.ts

示例5: writableTag

 writableTag(create: (obj: object) => Tag) {
   assert(
     this.isMetaDestroyed()
       ? `Cannot create a new tag for \`${toString(this.source)}\` after it has been destroyed.`
       : '',
     !this.isMetaDestroyed()
   );
   let ret = this._tag;
   if (ret === undefined) {
     ret = this._tag = create(this.source);
   }
   return ret;
 }
開發者ID:luxferresum,項目名稱:ember.js,代碼行數:13,代碼來源:meta.ts

示例6: writableChainWatchers

 writableChainWatchers(create: (source: object) => any) {
   assert(
     this.isMetaDestroyed()
       ? `Cannot create a new chain watcher for \`${toString(
           this.source
         )}\` after it has been destroyed.`
       : '',
     !this.isMetaDestroyed()
   );
   let ret = this._chainWatchers;
   if (ret === undefined) {
     ret = this._chainWatchers = create(this.source);
   }
   return ret;
 }
開發者ID:luxferresum,項目名稱:ember.js,代碼行數:15,代碼來源:meta.ts

示例7: writeDeps

  // Implements a member that provides a lazily created map of maps,
  // with inheritance at both levels.
  writeDeps(subkey: string, itemkey: string, count: number) {
    assert(
      this.isMetaDestroyed()
        ? `Cannot modify dependent keys for \`${itemkey}\` on \`${toString(
            this.source
          )}\` after it has been destroyed.`
        : '',
      !this.isMetaDestroyed()
    );

    let outerMap = this._getOrCreateOwnMap('_deps');
    let innerMap = outerMap[subkey];
    if (innerMap === undefined) {
      innerMap = outerMap[subkey] = Object.create(null);
    }
    innerMap[itemkey] = count;
  }
開發者ID:luxferresum,項目名稱:ember.js,代碼行數:19,代碼來源:meta.ts

示例8: writableChains

  writableChains(create: (source: object) => any) {
    assert(
      this.isMetaDestroyed()
        ? `Cannot create a new chains for \`${toString(this.source)}\` after it has been destroyed.`
        : '',
      !this.isMetaDestroyed()
    );
    let { _chains: ret } = this;
    if (ret === undefined) {
      this._chains = ret = create(this.source);

      let { parent } = this;
      if (parent !== null) {
        let parentChains = parent.writableChains(create);
        parentChains.copyTo(ret);
      }
    }
    return ret;
  }
開發者ID:luxferresum,項目名稱:ember.js,代碼行數:19,代碼來源:meta.ts

示例9: get

export function get(obj: object, keyName: string): any {
  assert(
    `Get must be called with two arguments; an object and a property key`,
    arguments.length === 2
  );
  assert(
    `Cannot call get with '${keyName}' on an undefined object.`,
    obj !== undefined && obj !== null
  );
  assert(
    `The key provided to get must be a string or number, you passed ${keyName}`,
    typeof keyName === 'string' || (typeof keyName === 'number' && !isNaN(keyName))
  );
  assert(
    `'this' in paths is not supported`,
    typeof keyName !== 'string' || keyName.lastIndexOf('this.', 0) !== 0
  );

  let type = typeof obj;

  let isObject = type === 'object';
  let isFunction = type === 'function';
  let isObjectLike = isObject || isFunction;

  let descriptor;
  let value: any;

  if (isObjectLike) {
    if (EMBER_METAL_TRACKED_PROPERTIES) {
      let tracker = getCurrentTracker();
      if (tracker) tracker.add(tagForProperty(obj, keyName));
    }

    descriptor = descriptorFor(obj, keyName);
    if (descriptor !== undefined) {
      return descriptor.get(obj, keyName);
    }

    if (DEBUG && HAS_NATIVE_PROXY) {
      value = getPossibleMandatoryProxyValue(obj, keyName);
    } else {
      value = obj[keyName];
    }

    if (PROPERTY_BASED_DESCRIPTORS && isDescriptor(value)) {
      deprecate(
        `[DEPRECATED] computed property '${keyName}' was not set on object '${toString(
          obj
        )}' via 'defineProperty'`,
        false,
        {
          id: '@ember/-internals/meta.descriptor-on-object',
          until: '3.5.0',
          url:
            'https://emberjs.com/deprecations/v3.x#toc_use-defineProperty-to-define-computed-properties',
        }
      );

      Object.defineProperty(obj, keyName, {
        configurable: true,
        enumerable: value.enumerable === false,
        get() {
          return value.get(this, keyName);
        },
      });

      meta(obj).writeDescriptors(keyName, value);

      value.setup(obj, keyName);

      return value.get(obj, keyName);
    }
  } else {
    value = obj[keyName];
  }

  if (value === undefined) {
    if (isPath(keyName)) {
      return _getPath(obj, keyName);
    }
    if (
      isObject &&
      !(keyName in obj) &&
      typeof (obj as MaybeHasUnknownProperty).unknownProperty === 'function'
    ) {
      return (obj as MaybeHasUnknownProperty).unknownProperty!(keyName);
    }
  }
  return value;
}
開發者ID:knownasilya,項目名稱:ember.js,代碼行數:90,代碼來源:property_get.ts

示例10: set

export function set(obj: object, keyName: string, value: any, tolerant?: boolean): any | void {
  assert(
    `Set must be called with three or four arguments; an object, a property key, a value and tolerant true/false`,
    arguments.length === 3 || arguments.length === 4
  );
  assert(
    `Cannot call set with '${keyName}' on an undefined object.`,
    (obj && typeof obj === 'object') || typeof obj === 'function'
  );
  assert(
    `The key provided to set must be a string or number, you passed ${keyName}`,
    typeof keyName === 'string' || (typeof keyName === 'number' && !isNaN(keyName))
  );
  assert(
    `'this' in paths is not supported`,
    typeof keyName !== 'string' || keyName.lastIndexOf('this.', 0) !== 0
  );

  if ((obj as ExtendedObject).isDestroyed) {
    assert(
      `calling set on destroyed object: ${toString(obj)}.${keyName} = ${toString(value)}`,
      tolerant
    );
    return;
  }

  if (isPath(keyName)) {
    return setPath(obj, keyName, value, tolerant);
  }

  let possibleDesc = descriptorFor(obj, keyName);

  if (possibleDesc !== undefined) {
    /* computed property */
    possibleDesc.set(obj, keyName, value);
    return value;
  }

  let currentValue: any;
  if (DEBUG && HAS_NATIVE_PROXY) {
    currentValue = getPossibleMandatoryProxyValue(obj, keyName);
  } else {
    currentValue = obj[keyName];
  }

  if (PROPERTY_BASED_DESCRIPTORS && isDescriptor(currentValue)) {
    deprecate(
      `[DEPRECATED] computed property '${keyName}' was not set on object '${toString(
        obj
      )}' via 'defineProperty'`,
      false,
      {
        id: '@ember/-internals/meta.descriptor-on-object',
        until: '3.5.0',
        url:
          'https://emberjs.com/deprecations/v3.x#toc_use-defineProperty-to-define-computed-properties',
      }
    );

    let cv: Descriptor = currentValue;

    meta(obj).writeDescriptors(keyName, cv);

    cv.setup(obj, keyName);

    cv.set(obj, keyName, value);
    return value;
  }

  if (
    currentValue === undefined &&
    'object' === typeof obj &&
    !(keyName in obj) &&
    typeof (obj as ExtendedObject).setUnknownProperty === 'function'
  ) {
    /* unknown property */
    (obj as ExtendedObject).setUnknownProperty!(keyName, value);
  } else {
    let meta = peekMeta(obj);

    if (DEBUG) {
      setWithMandatorySetter<any, any>(meta, obj, keyName, value);
    } else {
      obj[keyName] = value;
    }

    if (currentValue !== value) {
      notifyPropertyChange(obj, keyName, meta);
    }
  }

  return value;
}
開發者ID:GreatWizard,項目名稱:ember.js,代碼行數:93,代碼來源:property_set.ts


注:本文中的@ember/-internals/utils.toString函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。