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


TypeScript utils.setName函數代碼示例

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


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

示例1: classToString

export function classToString(this: object): string {
  let name = getName(this);
  if (name !== void 0) {
    return name;
  }
  name = calculateToString(this);
  setName(this, name);
  return name;
}
開發者ID:cibernox,項目名稱:ember.js,代碼行數:9,代碼來源:namespace_search.ts

示例2: _processNamespace

function _processNamespace(paths: string[], root: Namespace, seen: Set<Namespace>): void {
  let idx = paths.length;

  let id = paths.join('.');

  NAMESPACES_BY_ID[id] = root;
  setName(root, id);

  // Loop over all of the keys in the namespace, looking for classes
  for (let key in root) {
    if (!hasOwnProperty.call(root, key)) {
      continue;
    }
    let obj = root[key];

    // If we are processing the `Ember` namespace, for example, the
    // `paths` will start with `["Ember"]`. Every iteration through
    // the loop will update the **second** element of this list with
    // the key, so processing `Ember.View` will make the Array
    // `['Ember', 'View']`.
    paths[idx] = key;

    // If we have found an unprocessed class
    if (obj && obj.toString === classToString && getName(obj) === void 0) {
      // Replace the class' `toString` with the dot-separated path
      setName(obj, paths.join('.'));
      // Support nested namespaces
    } else if (obj && obj.isNamespace) {
      // Skip aliased namespaces
      if (seen.has(obj)) {
        continue;
      }
      seen.add(obj);
      // Process the child namespace
      _processNamespace(paths, obj, seen);
    }
  }

  paths.length = idx; // cut out last item
}
開發者ID:cibernox,項目名稱:ember.js,代碼行數:40,代碼來源:namespace_search.ts

示例3: findNamespaces

export function findNamespaces(): void {
  if (!flags.unprocessedNamespaces) {
    return;
  }
  let lookup = context.lookup;
  let keys = Object.keys(lookup);
  for (let i = 0; i < keys.length; i++) {
    let key = keys[i];
    // Only process entities that start with uppercase A-Z
    if (!isUppercase(key.charCodeAt(0))) {
      continue;
    }
    let obj = tryIsNamespace(lookup, key);
    if (obj) {
      setName(obj, key);
    }
  }
}
開發者ID:cibernox,項目名稱:ember.js,代碼行數:18,代碼來源:namespace_search.ts


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