-
-
Notifications
You must be signed in to change notification settings - Fork 75
Open
Labels
nitrogenIssue is related to the code-generator "Nitrogen"Issue is related to the code-generator "Nitrogen"
Description
What happened?
If I update to the latest version, I get a maximum call stack error, It works fine on version 0.31.5
spec definition:
fetchUserAlbums(userId: number): Promise<AlbumListItemModel[]>;
types:
export type AlbumTypesInline = 'Gallery' | 'Album' | 'CreateNewAlbum';
export type AlbumPrivacyTypesInline = 'Friends' | 'Private';
export type MediaOrderTypesInline =
| 'Manuel'
| 'ByCreationDate'
| 'ByLastEditedDate';
export type MediaTypesInline = 'Image' | 'Video' | 'CreateNew' | 'Sound';
export type AlbumListItemModel = {
albumId: number;
name: string;
mediaCount?: number | null;
type: AlbumTypesInline;
privacyType: AlbumPrivacyTypesInline;
coverImage?: string | null;
items?: UserGalleryListItem[] | null;
isTaggedAlbum?: boolean;
date?: number | null;
createdAt?: number | null;
updatedAt?: number | null;
mediaOrderType?: MediaOrderTypesInline;
};
export type UserGalleryListItem = {
galleryId: number;
mediaId: number;
mediaContainerId: number;
uri: string;
type: MediaTypesInline;
createdAt: number;
userId: number;
tags?: GalleryItemTagModel[];
albums?: SimpleAlbumListItemModel[];
entity?: CollectionEntityListModel;
caption?: string;
};
export type GalleryItemTagTypesInline = 'Entity' | 'User' | 'Group';
export type GalleryItemTagModel = {
objectId: number;
type: GalleryItemTagTypesInline;
x: number;
y: number;
entity?: CollectionEntityListModel;
user?: UserListItemModel;
group?: GroupListItemModel;
};
export type CollectionTypeInline = 'Place' | 'Movie' | 'Book';
export type CollectionEntityListModel = {
entityId: number;
title: string;
subTitle: string;
collectionType: CollectionTypeInline;
coverImage?: string;
data?: CollectionEntityListModelData;
};
export type CollectionEntityListModelData = {
externalGroupKey?: string;
externalId?: string;
latitude?: number;
longitude?: number;
city?: string;
country?: string;
countryCode?: string;
};
export interface UserListItemModel {
key: string;
userId: number;
name: string;
surname: string;
profilePicture?: string | null;
chatId?: string;
userName?: string;
commonCount?: number;
collectionCount?: number;
mutualFriendCount?: number;
phoneNumberConfirmed?: boolean;
lastInteractionTime?: number;
friendStatus?: UserFriendStatusInline;
}
export type UserFriendStatusInline =
| 'PendingSource'
| 'PendingTarget'
| 'AcceptedSource'
| 'AcceptedTarget'
| 'CancelledSource'
| 'CancelledTarget'
| 'BlockedSource'
| 'BlockedTarget'
| 'UnfriendTarget'
| 'UnfriendSource';
export type GroupListItemModel = {
key: string;
groupMemberPreview?: string | null;
memberCount?: number | null;
createdAt: number;
groupId: number;
name: string;
groupPicture?: string | null;
description?: string | null;
myMembershipState?: GroupMembershipTypeInline;
myGroupRole?: GroupMemberRoleInline | null;
privacy?: GroupPrivacyTypesInline;
lastInteractionTime?: number;
};
export type GroupMembershipTypeInline =
| 'Pending'
| 'Accepted'
| 'Banned'
| 'None';
export type GroupMemberRoleInline =
| 'Member'
| 'Admin'
| 'Creator'
| 'KeyHolder';
export type GroupPrivacyTypesInline = 'Public' | 'Private';
export type SimpleAlbumListItemModel = {
albumId: number;
name: string;
};Nitrogen CLI logs (with --logLevel="debug")
Parsing MediaService.nitro.ts...
⚙️ Generating specs for HybridObject "MediaService"...
❌ Failed to generate spec for MediaService! RangeError: Maximum call stack size exceeded
❌ No specs found in MediaService.nitro.ts!Nitro Specs (.nitro.ts)
import type { HybridObject } from 'react-native-nitro-modules';
import type {
AlbumItemOrderRequest,
AlbumListItemModel,
AlbumRequestModel,
FetchLifeGalleryDetailsModel,
UpdateGalleryItemModel,
UserGalleryListItem,
} from '../types';
export interface MediaService
extends HybridObject<{ ios: 'swift'; android: 'kotlin' }> {
fetchMyAlbums(lastFetchTime?: number | null): Promise<void>;
fetchMyGalleries(lastFetchTime?: number | null): Promise<void>;
deleteGalleryItems(mediaIds: number[]): Promise<void>;
updateGalleryItem(request: UpdateGalleryItemModel): Promise<void>;
editAlbum(request: AlbumRequestModel): Promise<number>;
createAlbum(request: AlbumRequestModel): Promise<number>;
deleteAlbums(albumIds: number[]): Promise<void>;
changeAlbumCoverImage(albumId: number, mediaId: number): Promise<void>;
fetchGalleryDetails(
request: FetchLifeGalleryDetailsModel
): Promise<UserGalleryListItem[]>;
addGalleryToAlbum(albumId: number, mediaIds: number[]): Promise<void>;
removeMediasFromAlbum(albumId: number, mediaIds: number[]): Promise<void>;
createMediaUploadContainer(containerId: string): Promise<void>;
completeUploadProgress(containerId: string): Promise<void>;
fetchUserAlbumItems(
userId: number,
albumId: number,
skip: number,
take: number
): Promise<UserGalleryListItem[]>;
fetchUserAlbums(userId: number): Promise<AlbumListItemModel[]>;
fetchUserGalleryItems(
userId: number,
skip: number,
take: number
): Promise<UserGalleryListItem[]>;
fetchUsersTaggedAlbumById(userId: number): Promise<UserGalleryListItem[]>;
updateAlbumItemsOrder(
albumId: number,
itemOrders: AlbumItemOrderRequest[]
): Promise<void>;
updateTaggedAlbumPrivacy(showTaggedPhotoAlbum: boolean): Promise<void>;
}Nitro Modules Version
0.31.10
Nitrogen Version
0.31.10
Operating system
MacOS
Additional information
- I have read and followed the Troubleshooting Guide.
- I created a reproduction PR to reproduce this issue here in the nitro repo. (See Contributing for more information)
- I searched for similar issues in this repository and found none.
Metadata
Metadata
Assignees
Labels
nitrogenIssue is related to the code-generator "Nitrogen"Issue is related to the code-generator "Nitrogen"