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


TypeScript types.makeDummyContentRecord函數代碼示例

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


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

示例1: createContentRef

 (entry: any) => {
   return [
     createContentRef(),
     makeDummyContentRecord({
       mimetype: entry.mimetype,
       // TODO: We can store the type of this content,
       // it just doesn't have a model
       // entry.type
       assumedType: entry.type,
       lastSaved: entry.last_modified,
       filepath: entry.path
     })
   ];
 }
開發者ID:nteract,項目名稱:nteract,代碼行數:14,代碼來源:index.ts

示例2: switch

const byRef = (
  state: Map<ContentRef, ContentRecord>,
  action: Action
): Map<ContentRef, ContentRecord> => {
  switch (action.type) {
    case actionTypes.CHANGE_CONTENT_NAME:
      const changeContentNameAction = action as actionTypes.ChangeContentName;
      const { contentRef, filepath } = changeContentNameAction.payload;
      return state.setIn([contentRef, "filepath"], filepath);
    case actionTypes.CHANGE_CONTENT_NAME_FAILED:
      return state;
    case actionTypes.FETCH_CONTENT:
      // TODO: we might be able to get around this by looking at the
      // communication state first and not requesting this information until
      // the communication state shows that it should exist.
      const fetchContentAction = action as actionTypes.FetchContent;
      return state.set(
        fetchContentAction.payload.contentRef,
        makeDummyContentRecord({
          filepath: fetchContentAction.payload.filepath || "",
          loading: true
          // TODO: we can set kernelRef when the content record uses it.
        })
      );
    case actionTypes.LAUNCH_KERNEL_SUCCESSFUL:
      // TODO: is this reasonable? We launched the kernel on behalf of this
      // content... so it makes sense to swap it, right?
      const launchKernelAction = action as actionTypes.NewKernelAction;
      return state.setIn(
        [launchKernelAction.payload.contentRef, "model", "kernelRef"],
        launchKernelAction.payload.kernelRef
      );
    case actionTypes.FETCH_CONTENT_FULFILLED:
      const fetchContentFulfilledAction = action as actionTypes.FetchContentFulfilled;
      switch (fetchContentFulfilledAction.payload.model.type) {
        case "file":
          return state.set(
            fetchContentFulfilledAction.payload.contentRef,
            makeFileContentRecord({
              mimetype: fetchContentFulfilledAction.payload.model.mimetype,
              created: fetchContentFulfilledAction.payload.model.created,
              lastSaved:
                fetchContentFulfilledAction.payload.model.last_modified,
              filepath: fetchContentFulfilledAction.payload.filepath,
              model: makeFileModelRecord({
                text: fetchContentFulfilledAction.payload.model.content
              }),
              loading: false,
              saving: false,
              error: null
            })
          );
        case "directory": {
          // For each entry in the directory listing, create a new contentRef
          // and a "filler" contents object

          // Optional: run through all the current contents to see if they're
          //           a file we already have (?)

          // Create a map of <ContentRef, ContentRecord> that we merge into the
          // content refs state
          const dummyRecords = Map<ContentRef, ContentRecord>(
            fetchContentFulfilledAction.payload.model.content.map(
              (entry: any) => {
                return [
                  createContentRef(),
                  makeDummyContentRecord({
                    mimetype: entry.mimetype,
                    // TODO: We can store the type of this content,
                    // it just doesn't have a model
                    // entry.type
                    assumedType: entry.type,
                    lastSaved: entry.last_modified,
                    filepath: entry.path
                  })
                ];
              }
            )
          );

          const items = List<ContentRef>(dummyRecords.keys());
          const sorted: List<string> = items.sort((aRef, bRef) => {
            const a:
              | RecordOf<DummyContentRecordProps>
              | undefined = dummyRecords.get(aRef) as RecordOf<
              DummyContentRecordProps
            >;
            const b:
              | RecordOf<DummyContentRecordProps>
              | undefined = dummyRecords.get(bRef) as RecordOf<
              DummyContentRecordProps
            >;

            if (a.assumedType === b.assumedType) {
              return a.filepath.localeCompare(b.filepath);
            }
            return a.assumedType.localeCompare(b.assumedType);
          });

          return (
//.........這裏部分代碼省略.........
開發者ID:nteract,項目名稱:nteract,代碼行數:101,代碼來源:index.ts


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