Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Typescript Support #193

Open
iamshouvikmitra opened this issue May 10, 2021 · 9 comments
Open

Typescript Support #193

iamshouvikmitra opened this issue May 10, 2021 · 9 comments

Comments

@iamshouvikmitra
Copy link

Are there any type def file available for this project?

@vishalnarkhede
Copy link
Contributor

Hey @iamshouvikmitra not at the moment. But its on our roadmap for next quarter!!

@ronaldcurtis
Copy link

ronaldcurtis commented Jun 21, 2021

+1

Also need to have this in typescript. Looking forward to it 👍

Just noticed it's already availabe 😍 ! My bad 🙏

@yumoraby
Copy link

+1

Also need to have this in typescript. Looking forward to it 👍

Just noticed it's already availabe 😍 ! My bad 🙏

Where did you see TS support? I dont see it on GH or npmjs

@ronaldcurtis
Copy link

@yumoraby Sorry, my mistake, I was looking at their react package, not react-native: https://github.com/GetStream/react-activity-feed

@luhart
Copy link

luhart commented Oct 7, 2021

@vishalnarkhede any updates on this?

@royscheepens
Copy link

@vishalnarkhede is TS support for this library currently being worked on? Or is it still on the roadmap? Would love to hear any updates on this. Thanks!

@robbeman
Copy link

robbeman commented Mar 10, 2022

Sorry for edit spamming.

To at least not get typescript errors you can add react-native-activity-feed.d.ts to your project, it's something.

declare module 'react-native-activity-feed' {
  import { Component } from 'react';
  import { StreamClient, StreamUser } from 'getstream';
  // Context
  export class StreamApp extends Component {}
  export class Feed extends Component {}
  export const StreamContext: React.Context<{ client: StreamClient; user: StreamUser }>;
  export const FeedContext: React.Context<unknown>;
  export const TranslationContext: React.Context<unknown>;

  export function withTranslationContext<C extends React.Component>(component: C): C;

  // Components
  export class FlatFeed extends Component {}
  export class NotificationFeed extends Component {}
  export class SinglePost extends Component {}
  export class Avatar extends Component {}
  export class FollowButton extends Component {}
  export class UrlPreview extends Component {}
  export class StatusUpdateForm extends Component {}
  export class UploadImage extends Component {}
  export class UserBar extends Component {}
  export class UserCard extends Component {}
  export class ReactionIcon extends Component {}
  export class ReactionToggleIcon extends Component {}
  export class ReactionIconBar extends Component {}
  export class CommentsContainer extends Component {}
  export class Card extends Component {}
  export class ReactionList extends Component {}
  export class SectionHeader extends Component {}
  export class CommentBox extends Component {}
  export class CommentItem extends Component {}
  export class CommentList extends Component {}
  export class LikeList extends Component {}
  export class BackButton extends Component {}
  export class Activity extends Component {}
  export class LikeButton extends Component {}
  export class NewActivitiesNotification extends Component {}
  export class IconBadge extends Component {}

  // Style
  export function updateStyle(...args: unknown[]): unknown;
  export function getStyle(...args: unknown[]): unknown;
  export function buildStylesheet(...args: unknown[]): unknown;

  // Utils
  export function humanizeTimestamp(...args: unknown[]): unknown;
  export function registerNativeHandlers(...args: unknown[]): unknown;
  export function setAndroidTranslucentStatusBar(...args: unknown[]): unknown;
}

@jessepinho
Copy link

Thanks @robbeman !

For future Googlers, this library is no longer being maintained (per the README), so full-fledged TypeScript support is unlikely.

@david-shiko
Copy link

david-shiko commented Feb 13, 2024

The latest version (#193 (comment)) was causing some warnings. Below is an updated by ChatGPT:

declare module 'react-native-activity-feed' {
import { Component, ReactNode } from 'react';
import { StreamClient, StreamUser } from 'getstream';

interface StreamAppProps {
    apiKey?: string;
    appId?: string;
    token?: string;
    children?: ReactNode;
}

interface FlatFeedProps {
    Activity: (props: any) => JSX.Element;
    children?: ReactNode;
}

// Context
export class StreamApp extends Component<StreamAppProps> {}
export class Feed extends Component<FlatFeedProps> {}
export const StreamContext: React.Context<{ client: StreamClient; user: StreamUser }>;
export const FeedContext: React.Context<unknown>;
export const TranslationContext: React.Context<unknown>;

export function withTranslationContext<C extends React.Component>(component: C): C;

// Components
export class FlatFeed extends Component<FlatFeedProps> {}
export class NotificationFeed extends Component {}
export class SinglePost extends Component {}
export class Avatar extends Component {}
export class FollowButton extends Component {}
export class UrlPreview extends Component {}
export class StatusUpdateForm extends Component {}
export class UploadImage extends Component {}
export class UserBar extends Component {}
export class UserCard extends Component {}
export class ReactionIcon extends Component {}
export class ReactionToggleIcon extends Component {}
export class ReactionIconBar extends Component {}
export class CommentsContainer extends Component {}
export class Card extends Component {}
export class ReactionList extends Component {}
export class SectionHeader extends Component {}
export class CommentBox extends Component {}
export class CommentItem extends Component {}
export class CommentList extends Component {}
export class LikeList extends Component {}
export class BackButton extends Component {}
export class Activity extends Component {}
export class LikeButton extends Component {}
export class NewActivitiesNotification extends Component {}
export class IconBadge extends Component {}

// Style
export function updateStyle(...args: unknown[]): unknown;
export function getStyle(...args: unknown[]): unknown;
export function buildStylesheet(...args: unknown[]): unknown;

// Utils
export function humanizeTimestamp(...args: unknown[]): unknown;
export function registerNativeHandlers(...args: unknown[]): unknown;
export function setAndroidTranslucentStatusBar(...args: unknown[]): unknown;

}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants