UNPKG

react-native-share

Version:
149 lines (148 loc) 5.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "Button", { enumerable: true, get: function () { return _Button.default; } }); Object.defineProperty(exports, "Overlay", { enumerable: true, get: function () { return _Overlay.default; } }); Object.defineProperty(exports, "ShareAsset", { enumerable: true, get: function () { return _types.ShareAsset; } }); Object.defineProperty(exports, "ShareSheet", { enumerable: true, get: function () { return _ShareSheet.default; } }); Object.defineProperty(exports, "Sheet", { enumerable: true, get: function () { return _Sheet.default; } }); Object.defineProperty(exports, "Social", { enumerable: true, get: function () { return _types.Social; } }); exports.default = void 0; var _reactNative = require("react-native"); var _NativeRNShare = _interopRequireDefault(require("../codegenSpec/NativeRNShare")); var _Overlay = _interopRequireDefault(require("./components/Overlay")); var _Sheet = _interopRequireDefault(require("./components/Sheet")); var _Button = _interopRequireDefault(require("./components/Button")); var _ShareSheet = _interopRequireDefault(require("./components/ShareSheet")); var _requireAndAskPermissions = _interopRequireDefault(require("./helpers/requireAndAskPermissions")); var _types = require("./types"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const RNShare = { Button: _Button.default, ShareSheet: _ShareSheet.default, Overlay: _Overlay.default, Sheet: _Sheet.default, Social: { FACEBOOK: _NativeRNShare.default.getConstants().FACEBOOK || _types.Social.Facebook, FACEBOOK_STORIES: _NativeRNShare.default.getConstants().FACEBOOKSTORIES || _types.Social.FacebookStories, PAGESMANAGER: _NativeRNShare.default.getConstants().PAGESMANAGER || _types.Social.Pagesmanager, TWITTER: _NativeRNShare.default.getConstants().TWITTER || _types.Social.Twitter, WHATSAPP: _NativeRNShare.default.getConstants().WHATSAPP || _types.Social.Whatsapp, WHATSAPPBUSINESS: _NativeRNShare.default.getConstants().WHATSAPPBUSINESS || _types.Social.Whatsappbusiness, INSTAGRAM: _NativeRNShare.default.getConstants().INSTAGRAM || _types.Social.Instagram, INSTAGRAM_STORIES: _NativeRNShare.default.getConstants().INSTAGRAMSTORIES || _types.Social.InstagramStories, GOOGLEPLUS: _NativeRNShare.default.getConstants().GOOGLEPLUS || _types.Social.Googleplus, EMAIL: _NativeRNShare.default.getConstants().EMAIL || _types.Social.Email, PINTEREST: _NativeRNShare.default.getConstants().PINTEREST || _types.Social.Pinterest, LINKEDIN: _NativeRNShare.default.getConstants().LINKEDIN || _types.Social.Linkedin, SMS: _NativeRNShare.default.getConstants().SMS || _types.Social.Sms, TELEGRAM: _NativeRNShare.default.getConstants().TELEGRAM || _types.Social.Telegram, MESSENGER: _NativeRNShare.default.getConstants().MESSENGER || _types.Social.Messenger, SNAPCHAT: _NativeRNShare.default.getConstants().SNAPCHAT || _types.Social.Snapchat, VIBER: _NativeRNShare.default.getConstants().VIBER || _types.Social.Viber }, open(options) { return new Promise((resolve, reject) => { (0, _requireAndAskPermissions.default)(options).then(() => { if (_reactNative.Platform.OS === 'ios' && options.url && !options.urls) { // Backward compatibility with { Share } from react-native const url = options.url; delete options.url; options.urls = [url]; if (options.filename && !options.filenames) { options.filenames = [options.filename]; } } _NativeRNShare.default.open(options).then(ret => { if (ret.success) { return resolve({ success: ret.success, message: ret.message }); } else if (options.failOnCancel === false) { return resolve({ dismissedAction: true, success: ret.success, message: ret.message }); } else { reject(new Error('User did not share')); } }); }).catch(e => reject(e)); }); }, shareSingle(options) { if (_reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'android') { return new Promise((resolve, reject) => { (0, _requireAndAskPermissions.default)(options).then(() => { if (options.url) { options.urls = [options.url]; } if (options.social === RNShare.Social.INSTAGRAM_STORIES && !options.appId) { return reject({ success: false, message: 'Instagram Story share requires an appId based on Meta policy.' }); } _NativeRNShare.default.shareSingle(options).then(ret => { return resolve({ success: Boolean(ret.success), message: ret.message }); }).catch(e => reject(e)); }).catch(e => reject(e)); }); } else { throw new Error('Not implemented'); } }, isPackageInstalled(packageName) { if (_reactNative.Platform.OS === 'android') { return new Promise((resolve, reject) => { _NativeRNShare.default.isPackageInstalled(packageName).then(isInstalled => { return resolve({ isInstalled, message: 'Package is Installed' }); }).catch(e => reject(e)); }); } else { throw new Error('Not implemented'); } } }; var _default = RNShare; exports.default = _default; //# sourceMappingURL=index.js.map