当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript KeyMap.keyToId方法代码示例

本文整理汇总了TypeScript中@orbit/data.KeyMap.keyToId方法的典型用法代码示例。如果您正苦于以下问题:TypeScript KeyMap.keyToId方法的具体用法?TypeScript KeyMap.keyToId怎么用?TypeScript KeyMap.keyToId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在@orbit/data.KeyMap的用法示例。


在下文中一共展示了KeyMap.keyToId方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: test

  test('#push - replaceKey - when base record does not exist', async function(assert) {
    assert.expect(2);

    let revised: Record = {
      type: 'planet',
      id: 'jupiter',
      keys: {
        remoteId: '123'
      }
    };

    await source.push(t =>
      t.replaceKey({ type: 'planet', id: 'jupiter' }, 'remoteId', '123')
    );
    assert.deepEqual(
      await getRecordFromIndexedDB(source.cache, revised),
      revised,
      'indexeddb contains record'
    );

    assert.equal(
      keyMap.keyToId('planet', 'remoteId', '123'),
      'jupiter',
      'key has been mapped'
    );
  });
开发者ID:orbitjs,项目名称:orbit.js,代码行数:26,代码来源:source-test.ts

示例2: test

  test('#patch sets data and #records retrieves it', function(assert) {
    assert.expect(4);

    let cache = new MemoryCache({ schema, keyMap });

    const earth: Record = {
      type: 'planet',
      id: '1',
      attributes: { name: 'Earth' },
      keys: { remoteId: 'a' }
    };

    cache.on('patch', (operation, data) => {
      assert.deepEqual(operation, {
        op: 'addRecord',
        record: earth
      });
      assert.deepEqual(data, earth);
    });

    cache.patch(t => t.addRecord(earth));

    assert.strictEqual(
      cache.getRecordSync({ type: 'planet', id: '1' }),
      earth,
      'objects strictly match'
    );
    assert.equal(
      keyMap.keyToId('planet', 'remoteId', 'a'),
      '1',
      'key has been mapped'
    );
  });
开发者ID:orbitjs,项目名称:orbit.js,代码行数:33,代码来源:memory-cache-test.ts

示例3:

 .then(() => {
   assert.equal(
     keyMap.keyToId('planet', 'remoteId', 'p2'),
     'jupiter',
     'key has been mapped'
   );
 });
开发者ID:orbitjs,项目名称:orbit.js,代码行数:7,代码来源:source-test.ts

示例4: test

  test('#query - a specific record', async function(assert) {
    assert.expect(2);

    let earth: Record = {
      type: 'planet',
      id: 'earth',
      attributes: {
        name: 'Earth',
        classification: 'terrestrial'
      }
    };

    let jupiter: Record = {
      type: 'planet',
      id: 'jupiter',
      keys: {
        remoteId: 'p2'
      },
      attributes: {
        name: 'Jupiter',
        classification: 'gas giant'
      }
    };

    let io: Record = {
      type: 'moon',
      id: 'io',
      attributes: {
        name: 'Io'
      }
    };

    await cache.patch(t => [
      t.addRecord(earth),
      t.addRecord(jupiter),
      t.addRecord(io)
    ]);

    // reset keyMap to verify that pulling records also adds keys
    keyMap.reset();

    let record = await cache.query(q => q.findRecord(jupiter));

    assert.deepEqual(record, jupiter, 'query results are expected');

    assert.equal(
      keyMap.keyToId('planet', 'remoteId', 'p2'),
      'jupiter',
      'key has been mapped'
    );
  });
开发者ID:orbitjs,项目名称:orbit.js,代码行数:51,代码来源:cache-test.ts

示例5: test

    test('Adding a record to the memory source immediately pushes the update to the remote', async function(assert) {
      assert.expect(3);

      await coordinator.activate();

      fetchStub.withArgs('/planets').returns(
        jsonapiResponse(201, {
          data: {
            id: '12345',
            type: 'planets',
            attributes: { name: 'Jupiter', classification: 'gas giant' }
          }
        })
      );

      let planet: Record = {
        type: 'planet',
        id: schema.generateId(),
        attributes: { name: 'Jupiter', classification: 'gas giant' }
      };
      await memory.update(t => t.addRecord(planet));

      let result = memory.cache.query(q => q.findRecord(planet));

      assert.deepEqual(result, {
        type: 'planet',
        id: planet.id,
        keys: { remoteId: '12345' },
        attributes: { name: 'Jupiter', classification: 'gas giant' }
      });

      assert.equal(
        keyMap.idToKey('planet', 'remoteId', planet.id),
        '12345',
        'id mapped to key'
      );
      assert.equal(
        keyMap.keyToId('planet', 'remoteId', '12345'),
        planet.id,
        'key mapped to id'
      );
    });
开发者ID:orbitjs,项目名称:orbit.js,代码行数:42,代码来源:store-jsonapi-remoteid-pessimistic-test.ts

示例6: test

  test('#patch can replace records', function(assert) {
    assert.expect(4);

    let cache = new Cache({ schema, keyMap });

    const earth = { type: 'planet', id: '1', attributes: { name: 'Earth' }, keys: { remoteId: 'a' } };

    cache.on('patch', (operation, data) => {
      assert.deepEqual(operation, {
        op: 'replaceRecord',
        record: earth
      });
      assert.deepEqual(data, earth);
    });

    cache.patch(t => t.replaceRecord(earth));

    assert.strictEqual(cache.records('planet').get('1'), earth, 'objects strictly match');
    assert.equal(keyMap.keyToId('planet', 'remoteId', 'a'), '1', 'key has been mapped');
  });
开发者ID:SmuliS,项目名称:orbit.js,代码行数:20,代码来源:cache-test.ts


注:本文中的@orbit/data.KeyMap.keyToId方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。