40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
import * as riot from 'riot';
|
|
|
|
import MiOS from './mios';
|
|
import ServerStreamManager from './scripts/streaming/server-stream-manager';
|
|
import RequestsStreamManager from './scripts/streaming/requests-stream-manager';
|
|
import MessagingIndexStreamManager from './scripts/streaming/messaging-index-stream-manager';
|
|
import DriveStreamManager from './scripts/streaming/drive-stream-manager';
|
|
|
|
export default (mios: MiOS) => {
|
|
(riot as any).mixin('os', {
|
|
mios: mios
|
|
});
|
|
|
|
(riot as any).mixin('i', {
|
|
init: function() {
|
|
this.I = mios.i;
|
|
this.SIGNIN = mios.isSignedin;
|
|
|
|
if (this.SIGNIN) {
|
|
this.on('mount', () => {
|
|
mios.i.on('updated', this.update);
|
|
});
|
|
this.on('unmount', () => {
|
|
mios.i.off('updated', this.update);
|
|
});
|
|
}
|
|
},
|
|
me: mios.i
|
|
});
|
|
|
|
(riot as any).mixin('api', {
|
|
api: mios.api
|
|
});
|
|
|
|
(riot as any).mixin('stream', { stream: mios.stream });
|
|
(riot as any).mixin('drive-stream', { driveStream: new DriveStreamManager(mios.i) });
|
|
(riot as any).mixin('server-stream', { serverStream: new ServerStreamManager() });
|
|
(riot as any).mixin('requests-stream', { requestsStream: new RequestsStreamManager() });
|
|
(riot as any).mixin('messaging-index-stream', { messagingIndexStream: new MessagingIndexStreamManager(mios.i) });
|
|
};
|