react-native-firebase/lib/modules/links/index.js

52 lines
1.1 KiB
JavaScript
Raw Normal View History

2017-09-30 23:48:50 +00:00
import ModuleBase from './../../utils/ModuleBase';
const EVENT_TYPE = {
Link: 'dynamic_link_received',
2017-09-30 23:48:50 +00:00
};
/**
* @class Links
*/
2017-09-30 23:48:50 +00:00
export default class Links extends ModuleBase {
static _NAMESPACE = 'links';
static _NATIVE_MODULE = 'RNFirebaseLinks';
constructor(firebaseApp: Object, options: Object = {}) {
super(firebaseApp, options, true);
}
get EVENT_TYPE() {
2017-09-30 23:48:50 +00:00
return EVENT_TYPE;
}
/**
* Returns the link that triggered application open
* @returns {*}
*/
getInitialLink() {
2017-09-30 23:48:50 +00:00
return this._native.getInitialLink();
}
/**
* Subscribe to dynamic links
* @param listener
* @returns {*}
*/
onLink(listener: Function): () => any {
2017-09-30 23:48:50 +00:00
const rnListener = this._eventEmitter.addListener(EVENT_TYPE.Link, listener);
return () => rnListener.remove();
2017-08-20 14:57:06 +00:00
}
2017-08-21 16:20:44 +00:00
createDynamicLink(parameters: Object = {}): Promise<String> {
2017-09-30 23:48:50 +00:00
return this._native.createDynamicLink(parameters);
}
2017-08-20 14:57:06 +00:00
2017-08-21 16:20:44 +00:00
createShortDynamicLink(parameters: Object = {}): Promise<String> {
2017-09-30 23:48:50 +00:00
return this._native.createShortDynamicLink(parameters);
2017-08-21 16:20:44 +00:00
}
}
export const statics = {
EVENT_TYPE,
2017-09-30 23:48:50 +00:00
};