本文整理匯總了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), []);
});