Created
April 11, 2021 23:33
-
-
Save eugenehp/37f4f7a0a086379e0e2188a119746bcb to your computer and use it in GitHub Desktop.
Unofficial Medium API endpoint
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
]) | |
}while(1);</x>{ | |
"success": true, | |
"payload": { | |
"user": { | |
"userId": "dc9e3fa402bd", | |
"name": "Eugene Hauptmann", | |
"username": "eugenehauptmann", | |
"createdAt": 1615565124899, | |
"imageId": "1*J0OI-J0hjTQ14-3JEzmgtw.jpeg", | |
"backgroundImageId": "", | |
"bio": "Eugene is a faith-centric technologist, a serial entrepreneur, angel investor, advisor, and mentor. He is the founder and CEO of REACTIVE LIONS INC.", | |
"twitterScreenName": "eugenehp", | |
"allowNotes": 1, | |
"mediumMemberAt": 0, | |
"isWriterProgramEnrolled": true, | |
"isSuspended": false, | |
"firstOpenedIosApp": 1618007225662, | |
"isMembershipTrialEligible": true, | |
"optInToIceland": false, | |
"hasCompletedProfile": false, | |
"userDismissableFlags": [ | |
2, | |
1 | |
], | |
"hasSeenIcelandOnboarding": true, | |
"type": "User" | |
}, | |
"streamItems": [ | |
{ | |
"createdAt": 1618183925272, | |
"heading": { | |
"text": "Latest", | |
"heading": { | |
"fallbackTitle": "Latest", | |
"headingBasic": { | |
"title": "Latest" | |
}, | |
"headingType": "headingBasic" | |
} | |
}, | |
"randomId": "30752cbce15f", | |
"itemType": "heading", | |
"type": "StreamItem" | |
}, | |
{ | |
"createdAt": 1618183925272, | |
"postPreview": { | |
"postId": "60704edc0c28", | |
"postSuggestionReasons": [ | |
{ | |
"reason": 28 | |
} | |
] | |
}, | |
"randomId": "a6a72bdff7ac", | |
"itemType": "postPreview", | |
"type": "StreamItem" | |
}, | |
{ | |
"createdAt": 1618183925272, | |
"postPreview": { | |
"postId": "e6b55805c020", | |
"postSuggestionReasons": [ | |
{ | |
"reason": 28 | |
} | |
] | |
}, | |
"randomId": "754113643a9d", | |
"itemType": "postPreview", | |
"type": "StreamItem" | |
}, | |
{ | |
"createdAt": 1618183925272, | |
"postPreview": { | |
"postId": "cd24e3dd9c0", | |
"postSuggestionReasons": [ | |
{ | |
"reason": 28 | |
} | |
] | |
}, | |
"randomId": "af35f62e2550", | |
"itemType": "postPreview", | |
"type": "StreamItem" | |
} | |
], | |
"userMeta": { | |
"numberOfPostsPublished": 5, | |
"userId": "dc9e3fa402bd", | |
"userSuggestionReason": { | |
"followeesWhoFollow": { | |
"users": [] | |
}, | |
"reason": "followeesWhoFollow" | |
}, | |
"collectionIds": [ | |
"721736a8d468" | |
], | |
"authorTags": [ | |
{ | |
"slug": "ios", | |
"name": "iOS", | |
"postCount": 55763, | |
"metadata": { | |
"postCount": 55763, | |
"coverImage": { | |
"id": "1*kCG_aRZIZnnwjbgdZWm-eQ.png", | |
"originalWidth": 1024, | |
"originalHeight": 424 | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "email", | |
"name": "Email", | |
"postCount": 16962, | |
"metadata": { | |
"postCount": 16962, | |
"coverImage": { | |
"id": "1*TcKsUzivGxXpRey6CPYviw.jpeg", | |
"originalWidth": 2000, | |
"originalHeight": 1206, | |
"isFeatured": true | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "react-native", | |
"name": "React Native", | |
"postCount": 14357, | |
"metadata": { | |
"postCount": 14357, | |
"coverImage": { | |
"id": "1*Mh__kj4-WC5pgsBRr-X8Lw.png", | |
"originalWidth": 1440, | |
"originalHeight": 1024, | |
"isFeatured": true | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "kotlin", | |
"name": "Kotlin", | |
"postCount": 12759, | |
"metadata": { | |
"postCount": 12759, | |
"coverImage": { | |
"id": "1*Xz9N14Fx30za5vggYnkBeA.png", | |
"originalWidth": 700, | |
"originalHeight": 237, | |
"isFeatured": true | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "typescript", | |
"name": "Typescript", | |
"postCount": 12024, | |
"metadata": { | |
"postCount": 12024, | |
"coverImage": { | |
"id": "0*8Y5u9XKVj8iMn8z0", | |
"originalWidth": 4666, | |
"originalHeight": 3111, | |
"unsplashPhotoId": "HSFv96gTTlE" | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "encryption", | |
"name": "Encryption", | |
"postCount": 4760, | |
"metadata": { | |
"postCount": 4760, | |
"coverImage": { | |
"id": "1*[email protected]", | |
"originalWidth": 619, | |
"originalHeight": 232, | |
"backgroundSize": "", | |
"filter": "", | |
"isFeatured": false, | |
"externalSrc": "", | |
"focusPercentX": -1, | |
"focusPercentY": -1, | |
"alt": "", | |
"repairedAt": 0, | |
"unsplashPhotoId": "" | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "plugins", | |
"name": "Plugins", | |
"postCount": 4068, | |
"metadata": { | |
"postCount": 4068, | |
"coverImage": { | |
"id": "1*pctf3Mb7koYAxvt60mpXuQ.jpeg", | |
"originalWidth": 2800, | |
"originalHeight": 840, | |
"isFeatured": true | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "intellectual-property", | |
"name": "Intellectual Property", | |
"postCount": 4042, | |
"metadata": { | |
"postCount": 4042, | |
"coverImage": { | |
"id": "1*nTcHv7oUce3vBlVvWPGGyg.png", | |
"originalWidth": 1372, | |
"originalHeight": 791 | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "trademark", | |
"name": "Trademark", | |
"postCount": 2227, | |
"metadata": { | |
"postCount": 2227, | |
"coverImage": { | |
"id": "1*CfUOaiI0jSaYaNRTZ-RBeQ.png", | |
"originalWidth": 453, | |
"originalHeight": 349, | |
"isFeatured": true | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "objective-c", | |
"name": "Objective C", | |
"postCount": 1482, | |
"metadata": { | |
"postCount": 1482, | |
"coverImage": { | |
"id": "1*kvqaUsDh_enamSt75Szvqw.jpeg", | |
"originalWidth": 960, | |
"originalHeight": 673 | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "signature", | |
"name": "Signature", | |
"postCount": 209, | |
"metadata": { | |
"postCount": 209, | |
"coverImage": { | |
"id": "1*ha17XUNm6d3HaZIkkwopCg.png", | |
"originalWidth": 502, | |
"originalHeight": 243 | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "trademark-application", | |
"name": "Trademark Application", | |
"postCount": 147, | |
"metadata": { | |
"postCount": 147, | |
"coverImage": { | |
"id": "1*DO0J0MbA7hd8Z7VpHK4_lg.jpeg", | |
"originalWidth": 2333, | |
"originalHeight": 1083 | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "uspto", | |
"name": "Uspto", | |
"postCount": 64, | |
"metadata": { | |
"postCount": 64, | |
"coverImage": { | |
"id": "1*b3KeaI-A2xhUt6fTG5m1KQ.png", | |
"originalWidth": 2684, | |
"originalHeight": 1290, | |
"isFeatured": true, | |
"alt": "Reactive Lions Trademark" | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "smime", | |
"name": "Smime", | |
"postCount": 6, | |
"metadata": { | |
"postCount": 6, | |
"coverImage": { | |
"id": "1*MQstHkK0vBuIreyrfzw1PQ.png", | |
"originalWidth": 1440, | |
"originalHeight": 1024, | |
"isFeatured": true, | |
"alt": "Best ways to send encrypted email in 2021" | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "nsuserdefault", | |
"name": "Nsuserdefault", | |
"postCount": 4, | |
"metadata": { | |
"postCount": 4, | |
"coverImage": { | |
"id": "1*ymxvIgKD6F_NXzkN96Bszw.png", | |
"originalWidth": 1440, | |
"originalHeight": 1024, | |
"isFeatured": true | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "reactive-lions", | |
"name": "Reactive Lions", | |
"postCount": 1, | |
"metadata": { | |
"postCount": 1, | |
"coverImage": { | |
"id": "1*ymxvIgKD6F_NXzkN96Bszw.png", | |
"originalWidth": 1440, | |
"originalHeight": 1024, | |
"isFeatured": true | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "action-extension", | |
"name": "Action Extension", | |
"postCount": 1, | |
"metadata": { | |
"postCount": 1, | |
"coverImage": { | |
"id": "1*ymxvIgKD6F_NXzkN96Bszw.png", | |
"originalWidth": 1440, | |
"originalHeight": 1024, | |
"isFeatured": true | |
} | |
}, | |
"type": "Tag" | |
} | |
], | |
"featuredPostId": "", | |
"topWriterInTags": [], | |
"type": "UserMeta" | |
}, | |
"userNavItemList": { | |
"userNavItems": [ | |
{ | |
"title": "Profile", | |
"url": "https://medium.com/@eugenehauptmann", | |
"systemItem": { | |
"systemType": 1 | |
}, | |
"navType": "systemItem" | |
}, | |
{ | |
"title": "Claps", | |
"url": "https://medium.com/@eugenehauptmann/has-recommended", | |
"systemItem": { | |
"systemType": 4 | |
}, | |
"navType": "systemItem" | |
}, | |
{ | |
"title": "Responses", | |
"url": "https://medium.com/@eugenehauptmann/responses", | |
"systemItem": { | |
"systemType": 3 | |
}, | |
"navType": "systemItem" | |
} | |
] | |
}, | |
"userNavActiveIndex": 0, | |
"profileTypeName": "overview", | |
"isStandaloneEditPage": false, | |
"references": { | |
"Collection": { | |
"721736a8d468": { | |
"id": "721736a8d468", | |
"name": "reactivelions", | |
"slug": "reactivelions", | |
"tags": [ | |
"DEEPTECH", | |
"FINTECH", | |
"MACHINE LEARNING", | |
"ARTIFICIAL INTELLIGENCE", | |
"DEVOPS" | |
], | |
"creatorId": "dc9e3fa402bd", | |
"description": "Reactive Lions is a full cycle software house based in San Francisco, California. Since last decade we managed to build a team of experts across the industries, while preserving core values and putting people at the core of our innovations.", | |
"shortDescription": "Reactive Lions is a full cycle software house based in San…", | |
"image": { | |
"imageId": "1*wMS3OyNwNhV94XHLjhQNmA.png", | |
"filter": "", | |
"backgroundSize": "", | |
"originalWidth": 1000, | |
"originalHeight": 1000, | |
"strategy": "resample", | |
"height": 0, | |
"width": 0 | |
}, | |
"metadata": { | |
"followerCount": 1, | |
"activeAt": 1617670732089 | |
}, | |
"virtuals": { | |
"permissions": { | |
"canPublish": false, | |
"canPublishAll": false, | |
"canRepublish": false, | |
"canRemove": false, | |
"canManageAll": false, | |
"canSubmit": false, | |
"canEditPosts": false, | |
"canAddWriters": false, | |
"canViewStats": false, | |
"canSendNewsletter": false, | |
"canViewLockedPosts": false, | |
"canViewCloaked": false, | |
"canEditOwnPosts": false, | |
"canBeAssignedAuthor": false, | |
"canEnrollInHightower": false, | |
"canLockPostsForMediumMembers": false, | |
"canLockOwnPostsForMediumMembers": false, | |
"canViewNewsletterV2Stats": false, | |
"canCreateNewsletterV3": false | |
}, | |
"isSubscribed": false, | |
"isEnrolledInHightower": false, | |
"isEligibleForHightower": false, | |
"isSubscribedToCollectionEmails": false, | |
"isMuted": false, | |
"canToggleEmail": false | |
}, | |
"logo": { | |
"imageId": "1*YqDliV6ACOiU_V2w1jYBZg.png", | |
"filter": "", | |
"backgroundSize": "", | |
"originalWidth": 1200, | |
"originalHeight": 1200, | |
"strategy": "resample", | |
"height": 0, | |
"width": 0 | |
}, | |
"twitterUsername": "reactivelions", | |
"publicEmail": "[email protected]", | |
"sections": [ | |
{ | |
"type": 2, | |
"collectionHeaderMetadata": { | |
"title": "Reactive Lions", | |
"description": "Technology insights on DeepTech, AI, ML, FinTech, Mobile DevOps.", | |
"backgroundImage": {}, | |
"logoImage": { | |
"id": "1*[email protected]", | |
"originalWidth": 1200, | |
"originalHeight": 1200, | |
"alt": "reactivelions" | |
}, | |
"alignment": 2, | |
"layout": 5 | |
} | |
}, | |
{ | |
"type": 1, | |
"postListMetadata": { | |
"source": 1, | |
"layout": 4, | |
"number": 10, | |
"postIds": [] | |
} | |
} | |
], | |
"tintColor": "#FF283149", | |
"lightText": true, | |
"favicon": { | |
"imageId": "", | |
"filter": "", | |
"backgroundSize": "", | |
"originalWidth": 0, | |
"originalHeight": 0, | |
"strategy": "resample", | |
"height": 0, | |
"width": 0 | |
}, | |
"colorPalette": { | |
"defaultBackgroundSpectrum": { | |
"colorPoints": [ | |
{ | |
"color": "#FF7B85A0", | |
"point": 0 | |
}, | |
{ | |
"color": "#FF727B94", | |
"point": 0.1 | |
}, | |
{ | |
"color": "#FF6A7288", | |
"point": 0.2 | |
}, | |
{ | |
"color": "#FF61687C", | |
"point": 0.3 | |
}, | |
{ | |
"color": "#FF585E6F", | |
"point": 0.4 | |
}, | |
{ | |
"color": "#FF4F5463", | |
"point": 0.5 | |
}, | |
{ | |
"color": "#FF454A56", | |
"point": 0.6 | |
}, | |
{ | |
"color": "#FF3B3F49", | |
"point": 0.7 | |
}, | |
{ | |
"color": "#FF31333B", | |
"point": 0.8 | |
}, | |
{ | |
"color": "#FF25272D", | |
"point": 0.9 | |
}, | |
{ | |
"color": "#FF191A1E", | |
"point": 1 | |
} | |
], | |
"backgroundColor": "#FFFFFFFF" | |
}, | |
"tintBackgroundSpectrum": { | |
"colorPoints": [ | |
{ | |
"color": "#FF283149", | |
"point": 0 | |
}, | |
{ | |
"color": "#FF424B62", | |
"point": 0.1 | |
}, | |
{ | |
"color": "#FF5B6378", | |
"point": 0.2 | |
}, | |
{ | |
"color": "#FF72798D", | |
"point": 0.3 | |
}, | |
{ | |
"color": "#FF888EA0", | |
"point": 0.4 | |
}, | |
{ | |
"color": "#FF9DA2B3", | |
"point": 0.5 | |
}, | |
{ | |
"color": "#FFB1B6C4", | |
"point": 0.6 | |
}, | |
{ | |
"color": "#FFC5C8D5", | |
"point": 0.7 | |
}, | |
{ | |
"color": "#FFD9DBE5", | |
"point": 0.8 | |
}, | |
{ | |
"color": "#FFECEDF5", | |
"point": 0.9 | |
}, | |
{ | |
"color": "#FFFFFFFF", | |
"point": 1 | |
} | |
], | |
"backgroundColor": "#FF283149" | |
}, | |
"highlightSpectrum": { | |
"colorPoints": [ | |
{ | |
"color": "#FFF2F2FA", | |
"point": 0 | |
}, | |
{ | |
"color": "#FFEFF0F9", | |
"point": 0.1 | |
}, | |
{ | |
"color": "#FFEDEEF9", | |
"point": 0.2 | |
}, | |
{ | |
"color": "#FFEAEDF9", | |
"point": 0.3 | |
}, | |
{ | |
"color": "#FFE7EBF9", | |
"point": 0.4 | |
}, | |
{ | |
"color": "#FFE5E9F8", | |
"point": 0.5 | |
}, | |
{ | |
"color": "#FFE2E7F8", | |
"point": 0.6 | |
}, | |
{ | |
"color": "#FFE0E5F8", | |
"point": 0.7 | |
}, | |
{ | |
"color": "#FFDDE3F8", | |
"point": 0.8 | |
}, | |
{ | |
"color": "#FFDBE2F8", | |
"point": 0.9 | |
}, | |
{ | |
"color": "#FFD8E0F8", | |
"point": 1 | |
} | |
], | |
"backgroundColor": "#FFFFFFFF" | |
}, | |
"darkBackgroundSpectrum": { | |
"colorPoints": [ | |
{ | |
"color": "#FF929DBA", | |
"point": 0 | |
}, | |
{ | |
"color": "#FF9CA5C0", | |
"point": 0.1 | |
}, | |
{ | |
"color": "#FFA6AEC6", | |
"point": 0.2 | |
}, | |
{ | |
"color": "#FFAFB6CC", | |
"point": 0.3 | |
}, | |
{ | |
"color": "#FFB8BED2", | |
"point": 0.4 | |
}, | |
{ | |
"color": "#FFC1C7D8", | |
"point": 0.5 | |
}, | |
{ | |
"color": "#FFCACFDE", | |
"point": 0.6 | |
}, | |
{ | |
"color": "#FFD3D7E3", | |
"point": 0.7 | |
}, | |
{ | |
"color": "#FFDCDEE9", | |
"point": 0.8 | |
}, | |
{ | |
"color": "#FFE5E6EE", | |
"point": 0.9 | |
}, | |
{ | |
"color": "#FFEEEEF4", | |
"point": 1 | |
} | |
], | |
"backgroundColor": "#FF000000" | |
} | |
}, | |
"navItems": [], | |
"colorBehavior": 2, | |
"acceleratedMobilePagesState": 0, | |
"collectionFeatures": [ | |
30 | |
], | |
"ampLogo": { | |
"imageId": "", | |
"filter": "", | |
"backgroundSize": "", | |
"originalWidth": 0, | |
"originalHeight": 0, | |
"strategy": "resample", | |
"height": 0, | |
"width": 0 | |
}, | |
"header": { | |
"title": "Reactive Lions", | |
"description": "Technology insights on DeepTech, AI, ML, FinTech, Mobile DevOps.", | |
"backgroundImage": {}, | |
"logoImage": { | |
"id": "1*[email protected]", | |
"originalWidth": 1200, | |
"originalHeight": 1200, | |
"alt": "reactivelions" | |
}, | |
"alignment": 2, | |
"layout": 5 | |
}, | |
"subscriberCount": 1, | |
"tagline": "Reactive Lions is a software house based in San Francisco, CA. With over 40 engineers across the US", | |
"isOptedIntoAurora": false, | |
"isCurationAllowedByDefault": false, | |
"polarisCoverImage": { | |
"imageId": "1*x3OHPjRz_nCoKr4etcO2uQ.png", | |
"filter": "", | |
"backgroundSize": "", | |
"originalWidth": 3000, | |
"originalHeight": 3000, | |
"strategy": "resample", | |
"height": 0, | |
"width": 0 | |
}, | |
"type": "Collection" | |
} | |
}, | |
"User": { | |
"dc9e3fa402bd": { | |
"userId": "dc9e3fa402bd", | |
"name": "Eugene Hauptmann", | |
"username": "eugenehauptmann", | |
"createdAt": 1615565124899, | |
"imageId": "1*J0OI-J0hjTQ14-3JEzmgtw.jpeg", | |
"backgroundImageId": "", | |
"bio": "Eugene is a faith-centric technologist, a serial entrepreneur, angel investor, advisor, and mentor. He is the founder and CEO of REACTIVE LIONS INC.", | |
"twitterScreenName": "eugenehp", | |
"allowNotes": 1, | |
"mediumMemberAt": 0, | |
"isWriterProgramEnrolled": true, | |
"isSuspended": false, | |
"firstOpenedIosApp": 1618007225662, | |
"isMembershipTrialEligible": true, | |
"optInToIceland": false, | |
"hasCompletedProfile": false, | |
"userDismissableFlags": [ | |
2, | |
1 | |
], | |
"hasSeenIcelandOnboarding": true, | |
"type": "User" | |
} | |
}, | |
"Post": { | |
"60704edc0c28": { | |
"id": "60704edc0c28", | |
"versionId": "307c1bdec", | |
"creatorId": "dc9e3fa402bd", | |
"homeCollectionId": "721736a8d468", | |
"title": "How to build a react-native plugin in 2021", | |
"detectedLanguage": "en", | |
"latestVersion": "307c1bdec", | |
"latestPublishedVersion": "307c1bdec", | |
"hasUnpublishedEdits": false, | |
"latestRev": 1267, | |
"createdAt": 1617591071753, | |
"updatedAt": 1617724693276, | |
"acceptedAt": 0, | |
"firstPublishedAt": 1617670731984, | |
"latestPublishedAt": 1617724060234, | |
"vote": false, | |
"experimentalCss": "", | |
"displayAuthor": "", | |
"content": { | |
"subtitle": "A step-by-step guide to building TypeScript wrapping around native code written using Objective-C and Kotlin.", | |
"postDisplay": { | |
"coverless": true | |
} | |
}, | |
"virtuals": { | |
"statusForCollection": "APPROVED", | |
"allowNotes": true, | |
"previewImage": { | |
"imageId": "1*tZrrjDvR9OrJE98PYiybEQ.png", | |
"filter": "", | |
"backgroundSize": "", | |
"originalWidth": 1440, | |
"originalHeight": 1024, | |
"strategy": "resample", | |
"height": 0, | |
"width": 0 | |
}, | |
"wordCount": 1478, | |
"imageCount": 8, | |
"readingTime": 6.710691823899371, | |
"subtitle": "A step-by-step guide to building TypeScript wrapping around native code written using Objective-C and Kotlin.", | |
"publishedInCount": 1, | |
"usersBySocialRecommends": [], | |
"noIndex": false, | |
"recommends": 1, | |
"isBookmarked": false, | |
"tags": [ | |
{ | |
"slug": "react-native", | |
"name": "React Native", | |
"postCount": 14357, | |
"metadata": { | |
"postCount": 14357, | |
"coverImage": { | |
"id": "1*Mh__kj4-WC5pgsBRr-X8Lw.png", | |
"originalWidth": 1440, | |
"originalHeight": 1024, | |
"isFeatured": true | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "kotlin", | |
"name": "Kotlin", | |
"postCount": 12759, | |
"metadata": { | |
"postCount": 12759, | |
"coverImage": { | |
"id": "1*Xz9N14Fx30za5vggYnkBeA.png", | |
"originalWidth": 700, | |
"originalHeight": 237, | |
"isFeatured": true | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "objective-c", | |
"name": "Objective C", | |
"postCount": 1482, | |
"metadata": { | |
"postCount": 1482, | |
"coverImage": { | |
"id": "1*kvqaUsDh_enamSt75Szvqw.jpeg", | |
"originalWidth": 960, | |
"originalHeight": 673 | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "typescript", | |
"name": "Typescript", | |
"postCount": 12024, | |
"metadata": { | |
"postCount": 12024, | |
"coverImage": { | |
"id": "0*8Y5u9XKVj8iMn8z0", | |
"originalWidth": 4666, | |
"originalHeight": 3111, | |
"unsplashPhotoId": "HSFv96gTTlE" | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "plugins", | |
"name": "Plugins", | |
"postCount": 4068, | |
"metadata": { | |
"postCount": 4068, | |
"coverImage": { | |
"id": "1*pctf3Mb7koYAxvt60mpXuQ.jpeg", | |
"originalWidth": 2800, | |
"originalHeight": 840, | |
"isFeatured": true | |
} | |
}, | |
"type": "Tag" | |
} | |
], | |
"socialRecommendsCount": 0, | |
"responsesCreatedCount": 0, | |
"links": { | |
"entries": [ | |
{ | |
"url": "https://en.wikipedia.org/wiki/Lint_(software)", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://www.npmjs.com/", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://en.wikipedia.org/wiki/Gradle", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://en.wikipedia.org/wiki/Npm_(software)", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://facebook.github.io/metro/", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://github.com/eugenehp/react-native-randomness/tree/0.0.1/android/src/main/java/com/reactnativerandomness", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://brew.sh/", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://github.com/features/packages", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://github.com/eugenehp/react-native-randomness/tree/0.0.1/src", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://gist.github.com/eugenehp/9b24c286ed68246ac07d5e36e2a49759", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://docs.npmjs.com/cli/v7/commands/npm-publish", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://github.com/frostney/react-native-create-library", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://github.com/eugenehp/react-native-randomness/blob/0.0.1/android/gradle/wrapper/gradle-wrapper.properties#L3", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://medium.com/reactivelions", | |
"alts": [ | |
{ | |
"type": 2, | |
"url": "medium://reactivelions" | |
}, | |
{ | |
"type": 3, | |
"url": "medium://reactivelions" | |
} | |
], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://github.com/eugenehp/react-native-randomness/blob/0.0.1/example/src/App.tsx", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://developer.mozilla.org/en-US/docs/Glossary/Base64", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://github.com/callstack/react-native-builder-bob", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://crypto.stackexchange.com/questions/12436/what-is-the-difference-between-csprng-and-prng", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://github.com/facebook/metro", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://guides.cocoapods.org/making/making-a-cocoapod.html", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://github.com/brodybits/create-react-native-module", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://reactnative.dev/blog/2019/07/03/version-60", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://cocoapods.org/", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://developer.android.com/reference/java/security/SecureRandom", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://kotlinlang.org/docs/comparison-to-java.html", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://developer.android.com/studio", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://developer.apple.com/documentation/security/randomization_services?language=objc", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://developer.apple.com/documentation/security/1399291-secrandomcopybytes?language=objc", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://www.reactivelions.com/", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://www.reactivelions.com/services/#Cyber", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://www.npmjs.com/package/react-native-randomness", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://www.reactivelions.com/contact/", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://www.reactivelions.com/about/", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://apps.apple.com/us/app/xcode/id497799835?mt=12", | |
"alts": [], | |
"httpStatus": 200 | |
} | |
], | |
"version": "0.3", | |
"generatedAt": 1617724062533 | |
}, | |
"isLockedPreviewOnly": false, | |
"metaDescription": "", | |
"totalClapCount": 1, | |
"sectionCount": 1, | |
"readingList": 0, | |
"topics": [ | |
{ | |
"topicId": "63c6f1f93ee", | |
"slug": "javascript", | |
"createdAt": 1493945704961, | |
"deletedAt": 0, | |
"image": { | |
"id": "1*[email protected]", | |
"originalWidth": 5472, | |
"originalHeight": 3648 | |
}, | |
"name": "Javascript", | |
"description": "An ode to code.", | |
"relatedTopics": [], | |
"visibility": 1, | |
"relatedTags": [], | |
"relatedTopicIds": [], | |
"seoTitle": "Javascript News and Articles — Medium", | |
"type": "Topic" | |
}, | |
{ | |
"topicId": "decb52b64abf", | |
"slug": "programming", | |
"createdAt": 1493934116328, | |
"deletedAt": 0, | |
"image": { | |
"id": "1*[email protected]", | |
"originalWidth": 6016, | |
"originalHeight": 4016 | |
}, | |
"name": "Programming", | |
"description": "The good, the bad, the buggy.", | |
"relatedTopics": [], | |
"visibility": 1, | |
"relatedTags": [], | |
"relatedTopicIds": [], | |
"seoTitle": "Programming News and Articles — Medium", | |
"type": "Topic" | |
} | |
] | |
}, | |
"coverless": true, | |
"slug": "how-to-build-a-react-native-plugin-in-2021", | |
"translationSourcePostId": "", | |
"translationSourceCreatorId": "", | |
"isApprovedTranslation": false, | |
"inResponseToPostId": "", | |
"inResponseToRemovedAt": 0, | |
"isTitleSynthesized": false, | |
"allowResponses": true, | |
"importedUrl": "", | |
"importedPublishedAt": 0, | |
"visibility": 0, | |
"uniqueSlug": "how-to-build-a-react-native-plugin-in-2021-60704edc0c28", | |
"previewContent": { | |
"bodyModel": { | |
"paragraphs": [ | |
{ | |
"name": "previewImage", | |
"type": 4, | |
"text": "", | |
"layout": 10, | |
"metadata": { | |
"id": "1*tZrrjDvR9OrJE98PYiybEQ.png", | |
"originalWidth": 1440, | |
"originalHeight": 1024, | |
"isFeatured": true, | |
"alt": "How to build a react-native plugin in 2021" | |
} | |
}, | |
{ | |
"name": "c62a", | |
"type": 3, | |
"text": "How to build a react-native plugin in 2021", | |
"markups": [], | |
"alignment": 1 | |
}, | |
{ | |
"name": "c801", | |
"type": 1, | |
"text": "A step-by-step guide to building TypeScript wrapping around native code written using…", | |
"markups": [], | |
"alignment": 1 | |
} | |
], | |
"sections": [ | |
{ | |
"startIndex": 0 | |
} | |
] | |
}, | |
"isFullContent": false, | |
"subtitle": "A step-by-step guide to building TypeScript wrapping around native code written using Objective-C and Kotlin." | |
}, | |
"license": 0, | |
"inResponseToMediaResourceId": "", | |
"canonicalUrl": "", | |
"approvedHomeCollectionId": "721736a8d468", | |
"isNewsletter": false, | |
"newsletterId": "", | |
"webCanonicalUrl": "", | |
"mediumUrl": "", | |
"migrationId": "", | |
"notifyFollowers": true, | |
"notifyTwitter": false, | |
"notifyFacebook": false, | |
"responseHiddenOnParentPostAt": 0, | |
"isSeries": false, | |
"isSubscriptionLocked": false, | |
"seriesLastAppendedAt": 0, | |
"audioVersionDurationSec": 0, | |
"sequenceId": "", | |
"isEligibleForRevenue": false, | |
"isBlockedFromHightower": false, | |
"deletedAt": 0, | |
"lockedPostSource": 0, | |
"hightowerMinimumGuaranteeStartsAt": 0, | |
"hightowerMinimumGuaranteeEndsAt": 0, | |
"featureLockRequestAcceptedAt": 0, | |
"mongerRequestType": 1, | |
"layerCake": 3, | |
"socialTitle": "", | |
"socialDek": "", | |
"editorialPreviewTitle": "", | |
"editorialPreviewDek": "", | |
"curationEligibleAt": 0, | |
"primaryTopicId": "63c6f1f93ee", | |
"isProxyPost": false, | |
"proxyPostFaviconUrl": "", | |
"proxyPostProviderName": "", | |
"proxyPostType": 0, | |
"isSuspended": false, | |
"isLimitedState": false, | |
"seoTitle": "", | |
"previewContent2": { | |
"bodyModel": { | |
"paragraphs": [ | |
{ | |
"name": "c62a", | |
"type": 3, | |
"text": "How to build a react-native plugin in 2021", | |
"markups": [] | |
}, | |
{ | |
"name": "c801", | |
"type": 1, | |
"text": "A step-by-step guide to building TypeScript wrapping around native code written using Objective-C and Kotlin.", | |
"markups": [] | |
}, | |
{ | |
"name": "cea2", | |
"type": 4, | |
"text": "How to build a react-native plugin in 2021", | |
"markups": [], | |
"layout": 1, | |
"metadata": { | |
"id": "1*tZrrjDvR9OrJE98PYiybEQ.png", | |
"originalWidth": 1440, | |
"originalHeight": 1024, | |
"isFeatured": true, | |
"alt": "How to build a react-native plugin in 2021" | |
} | |
}, | |
{ | |
"name": "4bf1", | |
"type": 13, | |
"text": "Motivation", | |
"markups": [] | |
}, | |
{ | |
"name": "a559", | |
"type": 1, | |
"text": "By design, react-native has a javascript executed in a single thread. Moreover, the react-native ecosystem is quite different from the node.js, which means packages like crypto are not available by default.", | |
"markups": [ | |
{ | |
"type": 3, | |
"start": 170, | |
"end": 176, | |
"href": "https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API", | |
"title": "", | |
"rel": "", | |
"anchorType": 0 | |
}, | |
{ | |
"type": 1, | |
"start": 181, | |
"end": 194 | |
} | |
] | |
}, | |
{ | |
"name": "32a3", | |
"type": 1, | |
"text": "The goal of this…", | |
"markups": [] | |
} | |
], | |
"sections": [ | |
{ | |
"name": "2e1a", | |
"startIndex": 0 | |
} | |
] | |
}, | |
"isFullContent": false, | |
"subtitle": "A step-by-step guide to building TypeScript wrapping around native code written using Objective-C and Kotlin." | |
}, | |
"cardType": 0, | |
"isDistributionAlertDismissed": false, | |
"isShortform": false, | |
"shortformType": 0, | |
"responsesLocked": false, | |
"isLockedResponse": false, | |
"isPublishToEmail": false, | |
"responseDistribution": 0, | |
"isMarkedPaywallOnly": false, | |
"type": "Post" | |
}, | |
"e6b55805c020": { | |
"id": "e6b55805c020", | |
"versionId": "54ac4c784c41", | |
"creatorId": "dc9e3fa402bd", | |
"homeCollectionId": "721736a8d468", | |
"title": "How to pass the data between the react-native app and action extension on iOS", | |
"detectedLanguage": "en", | |
"latestVersion": "54ac4c784c41", | |
"latestPublishedVersion": "54ac4c784c41", | |
"hasUnpublishedEdits": false, | |
"latestRev": 543, | |
"createdAt": 1617060692541, | |
"updatedAt": 1617068325061, | |
"acceptedAt": 0, | |
"firstPublishedAt": 1617066575627, | |
"latestPublishedAt": 1617068315457, | |
"vote": false, | |
"experimentalCss": "", | |
"displayAuthor": "", | |
"content": { | |
"subtitle": "As you might know, an ios application and its extensions use standalone data containers that do not intersect and can not be accessed from…", | |
"postDisplay": { | |
"coverless": true | |
} | |
}, | |
"virtuals": { | |
"statusForCollection": "APPROVED", | |
"allowNotes": true, | |
"previewImage": { | |
"imageId": "1*ymxvIgKD6F_NXzkN96Bszw.png", | |
"filter": "", | |
"backgroundSize": "", | |
"originalWidth": 1440, | |
"originalHeight": 1024, | |
"strategy": "resample", | |
"height": 0, | |
"width": 0 | |
}, | |
"wordCount": 460, | |
"imageCount": 21, | |
"readingTime": 3.535849056603774, | |
"subtitle": "As you might know, an ios application and its extensions use standalone data containers that do not intersect and can not be accessed from…", | |
"publishedInCount": 1, | |
"usersBySocialRecommends": [], | |
"noIndex": false, | |
"recommends": 0, | |
"isBookmarked": false, | |
"tags": [ | |
{ | |
"slug": "react-native", | |
"name": "React Native", | |
"postCount": 14357, | |
"metadata": { | |
"postCount": 14357, | |
"coverImage": { | |
"id": "1*Mh__kj4-WC5pgsBRr-X8Lw.png", | |
"originalWidth": 1440, | |
"originalHeight": 1024, | |
"isFeatured": true | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "action-extension", | |
"name": "Action Extension", | |
"postCount": 1, | |
"metadata": { | |
"postCount": 1, | |
"coverImage": { | |
"id": "1*ymxvIgKD6F_NXzkN96Bszw.png", | |
"originalWidth": 1440, | |
"originalHeight": 1024, | |
"isFeatured": true | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "ios", | |
"name": "iOS", | |
"postCount": 55763, | |
"metadata": { | |
"postCount": 55763, | |
"coverImage": { | |
"id": "1*kCG_aRZIZnnwjbgdZWm-eQ.png", | |
"originalWidth": 1024, | |
"originalHeight": 424 | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "nsuserdefault", | |
"name": "Nsuserdefault", | |
"postCount": 4, | |
"metadata": { | |
"postCount": 4, | |
"coverImage": { | |
"id": "1*ymxvIgKD6F_NXzkN96Bszw.png", | |
"originalWidth": 1440, | |
"originalHeight": 1024, | |
"isFeatured": true | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "reactive-lions", | |
"name": "Reactive Lions", | |
"postCount": 1, | |
"metadata": { | |
"postCount": 1, | |
"coverImage": { | |
"id": "1*ymxvIgKD6F_NXzkN96Bszw.png", | |
"originalWidth": 1440, | |
"originalHeight": 1024, | |
"isFeatured": true | |
} | |
}, | |
"type": "Tag" | |
} | |
], | |
"socialRecommendsCount": 0, | |
"responsesCreatedCount": 0, | |
"links": { | |
"entries": [ | |
{ | |
"url": "https://brew.sh/", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://formulae.brew.sh/formula/node", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://github.com/eugenehp/RNBacklinks/blob/main/ios/ShowBacklinks/ActionRequestHandler.m", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://cocoapods.org/", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://github.com/eugenehp/RNBacklinks/blob/main/ios/ShowBacklinks/Action.js", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://github.com/eugenehp/RNBacklinks", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://github.com/eugenehp/RNBacklinks/blob/main/App.tsx", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://medium.com/reactivelions", | |
"alts": [ | |
{ | |
"type": 2, | |
"url": "medium://reactivelions" | |
}, | |
{ | |
"type": 3, | |
"url": "medium://reactivelions" | |
} | |
], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://www.reactivelions.com/contact/", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://www.reactivelions.com/services/#Cyber", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://www.reactivelions.com/", | |
"alts": [], | |
"httpStatus": 200 | |
} | |
], | |
"version": "0.3", | |
"generatedAt": 1617068316572 | |
}, | |
"isLockedPreviewOnly": false, | |
"metaDescription": "", | |
"totalClapCount": 0, | |
"sectionCount": 1, | |
"readingList": 0, | |
"topics": [ | |
{ | |
"topicId": "63c6f1f93ee", | |
"slug": "javascript", | |
"createdAt": 1493945704961, | |
"deletedAt": 0, | |
"image": { | |
"id": "1*[email protected]", | |
"originalWidth": 5472, | |
"originalHeight": 3648 | |
}, | |
"name": "Javascript", | |
"description": "An ode to code.", | |
"relatedTopics": [], | |
"visibility": 1, | |
"relatedTags": [], | |
"relatedTopicIds": [], | |
"seoTitle": "Javascript News and Articles — Medium", | |
"type": "Topic" | |
}, | |
{ | |
"topicId": "decb52b64abf", | |
"slug": "programming", | |
"createdAt": 1493934116328, | |
"deletedAt": 0, | |
"image": { | |
"id": "1*[email protected]", | |
"originalWidth": 6016, | |
"originalHeight": 4016 | |
}, | |
"name": "Programming", | |
"description": "The good, the bad, the buggy.", | |
"relatedTopics": [], | |
"visibility": 1, | |
"relatedTags": [], | |
"relatedTopicIds": [], | |
"seoTitle": "Programming News and Articles — Medium", | |
"type": "Topic" | |
} | |
] | |
}, | |
"coverless": true, | |
"slug": "how-to-pass-the-data-between-the-react-native-app-and-action-extension-on-ios", | |
"translationSourcePostId": "", | |
"translationSourceCreatorId": "", | |
"isApprovedTranslation": false, | |
"inResponseToPostId": "", | |
"inResponseToRemovedAt": 0, | |
"isTitleSynthesized": false, | |
"allowResponses": true, | |
"importedUrl": "", | |
"importedPublishedAt": 0, | |
"visibility": 0, | |
"uniqueSlug": "how-to-pass-the-data-between-the-react-native-app-and-action-extension-on-ios-e6b55805c020", | |
"previewContent": { | |
"bodyModel": { | |
"paragraphs": [ | |
{ | |
"name": "previewImage", | |
"type": 4, | |
"text": "", | |
"layout": 10, | |
"metadata": { | |
"id": "1*ymxvIgKD6F_NXzkN96Bszw.png", | |
"originalWidth": 1440, | |
"originalHeight": 1024, | |
"isFeatured": true | |
} | |
}, | |
{ | |
"name": "1c33", | |
"type": 3, | |
"text": "How to pass the data between the react-native app and action extension on iOS", | |
"markups": [], | |
"alignment": 1 | |
} | |
], | |
"sections": [ | |
{ | |
"startIndex": 0 | |
} | |
] | |
}, | |
"isFullContent": false, | |
"subtitle": "As you might know, an ios application and its extensions use standalone data containers that do not intersect and can not be accessed from…" | |
}, | |
"license": 0, | |
"inResponseToMediaResourceId": "", | |
"canonicalUrl": "", | |
"approvedHomeCollectionId": "721736a8d468", | |
"isNewsletter": false, | |
"newsletterId": "", | |
"webCanonicalUrl": "", | |
"mediumUrl": "", | |
"migrationId": "", | |
"notifyFollowers": true, | |
"notifyTwitter": false, | |
"notifyFacebook": false, | |
"responseHiddenOnParentPostAt": 0, | |
"isSeries": false, | |
"isSubscriptionLocked": false, | |
"seriesLastAppendedAt": 0, | |
"audioVersionDurationSec": 0, | |
"sequenceId": "", | |
"isEligibleForRevenue": false, | |
"isBlockedFromHightower": false, | |
"deletedAt": 0, | |
"lockedPostSource": 0, | |
"hightowerMinimumGuaranteeStartsAt": 0, | |
"hightowerMinimumGuaranteeEndsAt": 0, | |
"featureLockRequestAcceptedAt": 0, | |
"mongerRequestType": 1, | |
"layerCake": 0, | |
"socialTitle": "", | |
"socialDek": "", | |
"editorialPreviewTitle": "", | |
"editorialPreviewDek": "", | |
"curationEligibleAt": 0, | |
"isProxyPost": false, | |
"proxyPostFaviconUrl": "", | |
"proxyPostProviderName": "", | |
"proxyPostType": 0, | |
"isSuspended": false, | |
"isLimitedState": false, | |
"seoTitle": "", | |
"previewContent2": { | |
"bodyModel": { | |
"paragraphs": [ | |
{ | |
"name": "1c33", | |
"type": 3, | |
"text": "How to pass the data between the react-native app and action extension on iOS", | |
"markups": [] | |
}, | |
{ | |
"name": "84b0", | |
"type": 1, | |
"text": "As you might know, an iOS application and its extensions use standalone data containers that do not intersect and can not be accessed from one another. This article outlines a technique for sharing data between the application itself and application extension bidirectionally. It uses NSUserDefaults configured with special suite via…", | |
"markups": [ | |
{ | |
"type": 10, | |
"start": 285, | |
"end": 299 | |
}, | |
{ | |
"type": 10, | |
"start": 334, | |
"end": 344 | |
} | |
] | |
} | |
], | |
"sections": [ | |
{ | |
"name": "cf5a", | |
"startIndex": 0 | |
} | |
] | |
}, | |
"isFullContent": false, | |
"subtitle": "As you might know, an ios application and its extensions use standalone data containers that do not intersect and can not be accessed from…" | |
}, | |
"cardType": 0, | |
"isDistributionAlertDismissed": false, | |
"isShortform": false, | |
"shortformType": 0, | |
"responsesLocked": false, | |
"isLockedResponse": false, | |
"isPublishToEmail": false, | |
"responseDistribution": 0, | |
"isMarkedPaywallOnly": false, | |
"type": "Post" | |
}, | |
"cd24e3dd9c0": { | |
"id": "cd24e3dd9c0", | |
"versionId": "9bde5143a7d9", | |
"creatorId": "dc9e3fa402bd", | |
"homeCollectionId": "721736a8d468", | |
"title": "How to register a trademark with USPTO in 2021— Part 1", | |
"detectedLanguage": "en", | |
"latestVersion": "9bde5143a7d9", | |
"latestPublishedVersion": "9bde5143a7d9", | |
"hasUnpublishedEdits": false, | |
"latestRev": 643, | |
"createdAt": 1616408745063, | |
"updatedAt": 1616463489924, | |
"acceptedAt": 0, | |
"firstPublishedAt": 1616463477507, | |
"latestPublishedAt": 1616463477507, | |
"vote": false, | |
"experimentalCss": "", | |
"displayAuthor": "", | |
"content": { | |
"subtitle": "Submitting Trademark application via TEAS with USPTO", | |
"postDisplay": { | |
"coverless": true | |
} | |
}, | |
"virtuals": { | |
"statusForCollection": "APPROVED", | |
"allowNotes": true, | |
"previewImage": { | |
"imageId": "1*b3KeaI-A2xhUt6fTG5m1KQ.png", | |
"filter": "", | |
"backgroundSize": "", | |
"originalWidth": 2684, | |
"originalHeight": 1290, | |
"strategy": "resample", | |
"height": 0, | |
"width": 0 | |
}, | |
"wordCount": 966, | |
"imageCount": 5, | |
"readingTime": 4.478616352201258, | |
"subtitle": "Submitting Trademark application via TEAS with USPTO", | |
"publishedInCount": 1, | |
"usersBySocialRecommends": [], | |
"noIndex": false, | |
"recommends": 0, | |
"isBookmarked": false, | |
"tags": [ | |
{ | |
"slug": "uspto", | |
"name": "Uspto", | |
"postCount": 64, | |
"metadata": { | |
"postCount": 64, | |
"coverImage": { | |
"id": "1*b3KeaI-A2xhUt6fTG5m1KQ.png", | |
"originalWidth": 2684, | |
"originalHeight": 1290, | |
"isFeatured": true, | |
"alt": "Reactive Lions Trademark" | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "trademark", | |
"name": "Trademark", | |
"postCount": 2227, | |
"metadata": { | |
"postCount": 2227, | |
"coverImage": { | |
"id": "1*CfUOaiI0jSaYaNRTZ-RBeQ.png", | |
"originalWidth": 453, | |
"originalHeight": 349, | |
"isFeatured": true | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "trademark-application", | |
"name": "Trademark Application", | |
"postCount": 147, | |
"metadata": { | |
"postCount": 147, | |
"coverImage": { | |
"id": "1*DO0J0MbA7hd8Z7VpHK4_lg.jpeg", | |
"originalWidth": 2333, | |
"originalHeight": 1083 | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "intellectual-property", | |
"name": "Intellectual Property", | |
"postCount": 4042, | |
"metadata": { | |
"postCount": 4042, | |
"coverImage": { | |
"id": "1*nTcHv7oUce3vBlVvWPGGyg.png", | |
"originalWidth": 1372, | |
"originalHeight": 791 | |
} | |
}, | |
"type": "Tag" | |
}, | |
{ | |
"slug": "reactive-lions", | |
"name": "Reactivelions", | |
"postCount": 0, | |
"metadata": { | |
"postCount": 0, | |
"coverImage": { | |
"id": "1*b3KeaI-A2xhUt6fTG5m1KQ.png", | |
"originalWidth": 2684, | |
"originalHeight": 1290, | |
"isFeatured": true, | |
"alt": "Reactive Lions Trademark" | |
} | |
}, | |
"type": "Tag" | |
} | |
], | |
"socialRecommendsCount": 0, | |
"responsesCreatedCount": 0, | |
"links": { | |
"entries": [ | |
{ | |
"url": "http://design", | |
"alts": [], | |
"httpStatus": 0 | |
}, | |
{ | |
"url": "https://tmep.uspto.gov/RDMS/TMEP/current#/current/TMEP-1400d1e1.html", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://www.uspto.gov/trademarks/trademark-timelines/trademark-application-and-post-registration-process-timelines", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://www.uspto.gov/trademarks/apply", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://www.uspto.gov/trademarks/trademark-timelines/section-1a-timeline-application-based-use-commerce", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://www.uspto.gov/trademarks/trademark-fee-information", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://www.uspto.gov/trademarks/maintain/responding-office-actions", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://www.uspto.gov/trademarks/basics/basic-facts-about-trademarks-videos", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "http://uspto.gov/", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://www.wipo.int/portal/en/index.html", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://www.wipo.int/treaties/en/registration/madrid/summary_madrid_marks.html", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://www.slideshare.net/eugenehp/how-to-register-a-trademark-with-uspto-in-2021-part1-244911136", | |
"alts": [ | |
{ | |
"type": 3, | |
"url": "slideshare-app://ss/244911136" | |
}, | |
{ | |
"type": 2, | |
"url": "slideshare-app://ss/244911136" | |
} | |
], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://www.reactivelions.com/", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://www.reactivelions.com/contact/", | |
"alts": [], | |
"httpStatus": 200 | |
}, | |
{ | |
"url": "https://www.reactivelions.com/services/#Cyber", | |
"alts": [], | |
"httpStatus": 200 | |
} | |
], | |
"version": "0.3", | |
"generatedAt": 1616463478671 | |
}, | |
"isLockedPreviewOnly": false, | |
"metaDescription": "", | |
"totalClapCount": 0, | |
"sectionCount": 1, | |
"readingList": 0, | |
"topics": [ | |
{ | |
"topicId": "4861fee224fd", | |
"slug": "marketing", | |
"createdAt": 1493928453626, | |
"deletedAt": 0, | |
"image": { | |
"id": "1*[email protected]", | |
"originalWidth": 4000, | |
"originalHeight": 2250 | |
}, | |
"name": "Marketing", | |
"description": "Always be branding.", | |
"relatedTopics": [], | |
"visibility": 1, | |
"relatedTags": [], | |
"relatedTopicIds": [], | |
"seoTitle": "Marketing Articles and News — Medium", | |
"type": "Topic" | |
} | |
] | |
}, | |
"coverless": true, | |
"slug": "how-to-register-a-trademark-with-uspto-in-2021-part-1", | |
"translationSourcePostId": "", | |
"translationSourceCreatorId": "", | |
"isApprovedTranslation": false, | |
"inResponseToPostId": "", | |
"inResponseToRemovedAt": 0, | |
"isTitleSynthesized": false, | |
"allowResponses": true, | |
"importedUrl": "", | |
"importedPublishedAt": 0, | |
"visibility": 0, | |
"uniqueSlug": "how-to-register-a-trademark-with-uspto-in-2021-part-1-cd24e3dd9c0", | |
"previewContent": { | |
"bodyModel": { | |
"paragraphs": [ | |
{ | |
"name": "previewImage", | |
"type": 4, | |
"text": "", | |
"layout": 10, | |
"metadata": { | |
"id": "1*b3KeaI-A2xhUt6fTG5m1KQ.png", | |
"originalWidth": 2684, | |
"originalHeight": 1290, | |
"isFeatured": true, | |
"alt": "Reactive Lions Trademark" | |
} | |
}, | |
{ | |
"name": "0104", | |
"type": 3, | |
"text": "How to register a trademark with USPTO in 2021— Part 1", | |
"markups": [], | |
"alignment": 1 | |
}, | |
{ | |
"name": "fdf9", | |
"type": 13, | |
"text": "Submitting Trademark application via TEAS with…", | |
"markups": [], | |
"alignment": 1 | |
} | |
], | |
"sections": [ | |
{ | |
"startIndex": 0 | |
} | |
] | |
}, | |
"isFullContent": false, | |
"subtitle": "Submitting Trademark application via TEAS with USPTO" | |
}, | |
"license": 0, | |
"inResponseToMediaResourceId": "", | |
"canonicalUrl": "", | |
"approvedHomeCollectionId": "721736a8d468", | |
"isNewsletter": false, | |
"newsletterId": "", | |
"webCanonicalUrl": "", | |
"mediumUrl": "", | |
"migrationId": "", | |
"notifyFollowers": true, | |
"notifyTwitter": false, | |
"notifyFacebook": false, | |
"responseHiddenOnParentPostAt": 0, | |
"isSeries": false, | |
"isSubscriptionLocked": false, | |
"seriesLastAppendedAt": 0, | |
"audioVersionDurationSec": 0, | |
"sequenceId": "", | |
"isEligibleForRevenue": false, | |
"isBlockedFromHightower": false, | |
"deletedAt": 0, | |
"lockedPostSource": 0, | |
"hightowerMinimumGuaranteeStartsAt": 0, | |
"hightowerMinimumGuaranteeEndsAt": 0, | |
"featureLockRequestAcceptedAt": 0, | |
"mongerRequestType": 1, | |
"layerCake": 0, | |
"socialTitle": "", | |
"socialDek": "", | |
"editorialPreviewTitle": "", | |
"editorialPreviewDek": "", | |
"curationEligibleAt": 0, | |
"isProxyPost": false, | |
"proxyPostFaviconUrl": "", | |
"proxyPostProviderName": "", | |
"proxyPostType": 0, | |
"isSuspended": false, | |
"isLimitedState": false, | |
"seoTitle": "", | |
"previewContent2": { | |
"bodyModel": { | |
"paragraphs": [ | |
{ | |
"name": "0104", | |
"type": 3, | |
"text": "How to register a trademark with USPTO in 2021— Part 1", | |
"markups": [] | |
}, | |
{ | |
"name": "fdf9", | |
"type": 13, | |
"text": "Submitting Trademark application via TEAS with USPTO", | |
"markups": [] | |
}, | |
{ | |
"name": "a988", | |
"type": 4, | |
"text": "Reactive Lions Trademark", | |
"markups": [], | |
"layout": 5, | |
"metadata": { | |
"id": "1*b3KeaI-A2xhUt6fTG5m1KQ.png", | |
"originalWidth": 2684, | |
"originalHeight": 1290, | |
"isFeatured": true, | |
"alt": "Reactive Lions Trademark" | |
} | |
}, | |
{ | |
"name": "bea0", | |
"type": 13, | |
"text": "TL;DR", | |
"markups": [] | |
}, | |
{ | |
"name": "6220", | |
"type": 1, | |
"text": "Do you want to register your name or your logo, or both? Of course, you can register a phrase or an image. Cases may vary significantly. In this article, we are covering how to register a trademark for a business name.", | |
"markups": [] | |
}, | |
{ | |
"name": "2771", | |
"type": 1, | |
"text": "It will take less than 1 hour to apply…", | |
"markups": [ | |
{ | |
"type": 3, | |
"start": 173, | |
"end": 177, | |
"href": "https://www.uspto.gov/trademarks/apply", | |
"title": "", | |
"rel": "", | |
"anchorType": 0 | |
}, | |
{ | |
"type": 1, | |
"start": 105, | |
"end": 106 | |
}, | |
{ | |
"type": 1, | |
"start": 167, | |
"end": 177 | |
} | |
] | |
} | |
], | |
"sections": [ | |
{ | |
"name": "f314", | |
"startIndex": 0 | |
} | |
] | |
}, | |
"isFullContent": false, | |
"subtitle": "Submitting Trademark application via TEAS with USPTO" | |
}, | |
"cardType": 0, | |
"isDistributionAlertDismissed": false, | |
"isShortform": false, | |
"shortformType": 0, | |
"responsesLocked": false, | |
"isLockedResponse": false, | |
"isPublishToEmail": false, | |
"responseDistribution": 0, | |
"isMarkedPaywallOnly": false, | |
"type": "Post" | |
} | |
}, | |
"Social": { | |
"dc9e3fa402bd": { | |
"userId": "lo_5d739b71d6fd", | |
"targetUserId": "dc9e3fa402bd", | |
"type": "Social" | |
} | |
}, | |
"SocialStats": { | |
"dc9e3fa402bd": { | |
"userId": "dc9e3fa402bd", | |
"usersFollowedCount": 6, | |
"usersFollowedByCount": 2, | |
"type": "SocialStats" | |
} | |
} | |
}, | |
"paging": { | |
"path": "https://medium.com/_/api/users/dc9e3fa402bd/profile/stream", | |
"next": { | |
"limit": 100, | |
"to": "1616463477507", | |
"source": "overview", | |
"ignoredIds": [], | |
"page": 2 | |
} | |
} | |
}, | |
"v": 3, | |
"b": "20210409-1916-root" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment