function parseAssetList()

in packages/designer/src/builtin-simulator/create-simulator.ts [36:76]


  function parseAssetList(assets: AssetList, level?: AssetLevel) {
    for (let asset of assets) {
      if (!asset) {
        continue;
      }
      if (isAssetBundle(asset)) {
        if (asset.assets) {
          parseAssetList(
            Array.isArray(asset.assets) ? asset.assets : [asset.assets],
            asset.level || level,
          );
        }
        continue;
      }
      if (Array.isArray(asset)) {
        parseAssetList(asset, level);
        continue;
      }
      if (!isAssetItem(asset)) {
        asset = assetItem(isCSSUrl(asset) ? AssetType.CSSUrl : AssetType.JSUrl, asset, level)!;
      }
      const id = asset.id ? ` data-id="${asset.id}"` : '';
      const lv = asset.level || level || AssetLevel.Environment;
      const scriptType = asset.scriptType ? ` type="${asset.scriptType}"` : '';
      if (asset.type === AssetType.JSUrl) {
        scripts[lv].push(
          `<script src="${asset.content}"${id}${scriptType}></script>`,
        );
      } else if (asset.type === AssetType.JSText) {
        scripts[lv].push(`<script${id}${scriptType}>${asset.content}</script>`);
      } else if (asset.type === AssetType.CSSUrl) {
        styles[lv].push(
          `<link rel="stylesheet" href="${asset.content}"${id} />`,
        );
      } else if (asset.type === AssetType.CSSText) {
        styles[lv].push(
          `<style type="text/css"${id}>${asset.content}</style>`,
        );
      }
    }
  }