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


TypeScript StateDB.toJSON方法代碼示例

本文整理匯總了TypeScript中@jupyterlab/coreutils.StateDB.toJSON方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript StateDB.toJSON方法的具體用法?TypeScript StateDB.toJSON怎麽用?TypeScript StateDB.toJSON使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在@jupyterlab/coreutils.StateDB的用法示例。


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

示例1:

 debouncer = window.setTimeout(() => {
   state.toJSON()
     .then(data => workspaces.save(id, { data, metadata }))
     .then(() => {
       conflated.resolve(undefined);
       conflated = null;
     })
     .catch(reason => {
       conflated.reject(reason);
       conflated = null;
     });
 }, timeout);
開發者ID:cfsmile,項目名稱:jupyterlab,代碼行數:12,代碼來源:index.ts

示例2: catch

        debouncer = window.setTimeout(async () => {
          const data = await db.toJSON();

          try {
            await workspaces.save(id, { data, metadata });
            if (conflated) {
              conflated.resolve(undefined);
            }
          } catch (error) {
            if (conflated) {
              conflated.reject(error);
            }
          }
          conflated = null;
        }, timeout);
開發者ID:jupyter,項目名稱:jupyterlab,代碼行數:15,代碼來源:index.ts

示例3: catch

        debouncer = window.setTimeout(async () => {
          // Prevent a race condition between the timeout and saving.
          if (!conflated) {
            return;
          }

          const data = await state.toJSON();

          try {
            await workspaces.save(id, { data, metadata });
            conflated.resolve(undefined);
          } catch (error) {
            conflated.reject(error);
          }
          conflated = null;
        }, timeout);
開發者ID:willingc,項目名稱:jupyterlab,代碼行數:16,代碼來源:index.ts

示例4:

        debouncer = window.setTimeout(() => {
          // Prevent a race condition between the timeout and saving.
          if (!conflated) {
            return;
          }

          state.toJSON()
            .then(data => workspaces.save(id, { data, metadata }))
            .then(() => {
              conflated.resolve(undefined);
              conflated = null;
            })
            .catch(reason => {
              conflated.reject(reason);
              conflated = null;
            });
        }, timeout);
開發者ID:groutr,項目名稱:jupyterlab,代碼行數:17,代碼來源:index.ts

示例5: it

    it('return the full contents of a state database', async () => {
      const { localStorage } = window;

      const db = new StateDB({ namespace: 'test-namespace' });
      const contents: ReadonlyJSONObject = {
        abc: 'def',
        ghi: 'jkl',
        mno: 1,
        pqr: {
          foo: { bar: { baz: 'qux' } }
        }
      };

      expect(localStorage.length).to.equal(0);
      await Promise.all(
        Object.keys(contents).map(key => db.save(key, contents[key]))
      );
      const serialized = await db.toJSON();
      expect(serialized).to.deep.equal(contents);
      await db.clear();
    });
開發者ID:afshin,項目名稱:jupyterlab,代碼行數:21,代碼來源:statedb.spec.ts

示例6: workspace

      execute: (args: IRouter.ILocation) => {
        // Since the command can be executed an arbitrary number of times, make
        // sure it is safe to call multiple times.
        if (resolved) {
          return;
        }

        const { hash, path, search } = args;
        const workspace = Private.getWorkspace(router);
        const query = URLExt.queryStringToObject(search || '');
        const clone = query['clone'];
        const source = typeof clone === 'string' ? clone : workspace;

        let promise: Promise<any>;

        // If the default /lab workspace is being cloned, copy it out of local
        // storage instead of making a round trip to the server because it
        // does not exist on the server.
        if (source === clone && source === '') {
          const prefix = `${source}:${info.namespace}:`;
          const mask = (key: string) => key.replace(prefix, '');
          const contents = StateDB.toJSON(prefix, mask);

          resolved = true;
          transform.resolve({ type: 'overwrite', contents });
          promise = Promise.resolve();
        }

        // If there is no promise, fetch the source and overwrite the database.
        promise =
          promise ||
          workspaces
            .fetch(source)
            .then(saved => {
              // If this command is called after a reset, the state database
              // will already be resolved.
              if (!resolved) {
                resolved = true;
                transform.resolve({ type: 'overwrite', contents: saved.data });
              }
            })
            .catch(reason => {
              console.warn(`Fetching workspace (${workspace}) failed:`, reason);

              // If the workspace does not exist, cancel the data transformation
              // and save a workspace with the current user state data.
              if (!resolved) {
                resolved = true;
                transform.resolve({ type: 'cancel', contents: null });
              }
            })
            .then(() => {
              // Any time the local state database changes, save the workspace.
              if (workspace) {
                state.changed.connect(listener, state);
              }
            });

        return promise
          .catch(reason => {
            console.warn(`${CommandIDs.loadState} failed:`, reason);
          })
          .then(() => {
            const immediate = true;

            if (source === clone) {
              // Maintain the query string parameters but remove `clone`.
              delete query['clone'];

              const url = path + URLExt.objectToQueryString(query) + hash;
              const cloned = commands
                .execute(CommandIDs.saveState, { immediate })
                .then(() => router.stop);

              // After the state has been cloned, navigate to the URL.
              cloned.then(() => {
                router.navigate(url, { silent: true });
              });

              return cloned;
            }

            // After the state database has finished loading, save it.
            return commands.execute(CommandIDs.saveState, { immediate });
          });
      }
開發者ID:dalejung,項目名稱:jupyterlab,代碼行數:86,代碼來源:index.ts

示例7:

 .then(() => db.toJSON())
開發者ID:7125messi,項目名稱:jupyterlab,代碼行數:1,代碼來源:statedb.spec.ts


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