本文整理汇总了TypeScript中@orbit/data.TransformBuilder类的典型用法代码示例。如果您正苦于以下问题:TypeScript TransformBuilder类的具体用法?TypeScript TransformBuilder怎么用?TypeScript TransformBuilder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TransformBuilder类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: module
module('EventLoggingStrategy', function(hooks) {
const t = new TransformBuilder();
const tA = buildTransform([t.addRecord({ type: 'planet', id: 'a', attributes: { name: 'a' } })], null, 'a');
const tB = buildTransform([t.addRecord({ type: 'planet', id: 'b', attributes: { name: 'b' } })], null, 'b');
const tC = buildTransform([t.addRecord({ type: 'planet', id: 'c', attributes: { name: 'c' } })], null, 'c');
let eventLoggingStrategy;
test('can be instantiated', function(assert) {
eventLoggingStrategy = new EventLoggingStrategy();
assert.ok(eventLoggingStrategy);
});
test('can be added to a coordinator', function(assert) {
let coordinator = new Coordinator();
eventLoggingStrategy = new EventLoggingStrategy();
coordinator.addStrategy(eventLoggingStrategy);
assert.strictEqual(coordinator.getStrategy('event-logging'), eventLoggingStrategy);
});
test('for basic sources, installs `transform` listeners on activatation and removes them on deactivation', function(assert) {
assert.expect(6);
class MySource extends Source {}
let s1 = new MySource({ name: 's1' });
let s2 = new MySource({ name: 's2' });
eventLoggingStrategy = new EventLoggingStrategy();
let coordinator = new Coordinator({ sources: [ s1, s2 ], strategies: [ eventLoggingStrategy ]});
assert.equal(s1.listeners('transform').length, 0);
assert.equal(s2.listeners('transform').length, 0);
return coordinator.activate()
.then(() => {
assert.equal(s1.listeners('transform').length, 1);
assert.equal(s2.listeners('transform').length, 1);
return coordinator.deactivate();
})
.then(() => {
assert.equal(s1.listeners('transform').length, 0);
assert.equal(s2.listeners('transform').length, 0);
});
});
// TODO:
// * test `interfaces` option
// * test adding sources that support different interfaces to ensure they're inspected properly
});
示例2: test
test('addRecord + replaceAttribute => [addRecord]', function(assert) {
const t = buildTransform([
tb.addRecord({
type: 'planet',
id: 'jupiter',
attributes: { name: 'Earth' }
}),
tb.replaceAttribute(
{ type: 'planet', id: 'jupiter' },
'atmosphere',
'gaseous'
)
]);
assert.deepEqual(getTransformRequests(requestProcessor, t), [
{
op: 'addRecord',
record: {
type: 'planet',
id: 'jupiter',
attributes: { name: 'Earth', atmosphere: 'gaseous' }
}
}
]);
});
示例3: test
test('addRecord + removeRecord => []', function(assert) {
const t = buildTransform([
tb.addRecord({ type: 'planet', id: 'jupiter', attributes: { name: 'Earth' } }),
tb.removeRecord({ type: 'planet', id: 'jupiter' })
]);
assert.deepEqual(getTransformRequests(source, t), []);
});