Skip to content

Instantly share code, notes, and snippets.

@atulsmadhugiri
Created December 14, 2023 18:12
Show Gist options
  • Save atulsmadhugiri/6ba7892f2a1bb0d5d7c215d7ffc212cb to your computer and use it in GitHub Desktop.
Save atulsmadhugiri/6ba7892f2a1bb0d5d7c215d7ffc212cb to your computer and use it in GitHub Desktop.
yarn run v1.22.19
$ yarn workspace lib flow && yarn workspace web flow && yarn workspace landing flow && yarn workspace native flow && yarn workspace keyserver flow && yarn workspace desktop flow && yarn workspace electron-update-server flow
$ /Users/atul/comm/node_modules/.bin/flow
Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ selectors/user-selectors.js:96:10
Cannot assign object literal to relativeMemberInfo because property username is missing in object type [1] but exists in
object literal [2]. [incompatible-type]
[1] 93│ const relativeMemberInfo: $ReadOnly<{
94│ ...$Call<ExtractArrayParam, $PropertyType<TI, 'members'>>,
95│ +isViewer: boolean,
[2] 96│ }> = {
97│ ...memberInfo,
98│ username,
99│ isViewer,
100│ };
101│ if (isViewer) {
102│ relativeMemberInfos.unshift(relativeMemberInfo);
103│ } else {
Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ selectors/user-selectors.js:96:10
Cannot assign object literal to relativeMemberInfo because: [incompatible-type]
• Either property minimallyEncoded is missing in object type [1] but exists in object literal [2].
• Or property username is missing in object type [1] but exists in object literal [2].
[1] 93│ const relativeMemberInfo: $ReadOnly<{
94│ ...$Call<ExtractArrayParam, $PropertyType<TI, 'members'>>,
95│ +isViewer: boolean,
[2] 96│ }> = {
97│ ...memberInfo,
98│ username,
99│ isViewer,
100│ };
101│ if (isViewer) {
102│ relativeMemberInfos.unshift(relativeMemberInfo);
103│ } else {
Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ selectors/user-selectors.js:121:10
Cannot call createSelector because: [incompatible-call]
• Either no more than 2 arguments are expected by function type [1].
• Or no more than 2 arguments are expected by function type [2].
• Or no more than 3 arguments are expected by function type [3].
• Or no more than 2 arguments are expected by function type [4].
• Or property username is missing in object type [5] but exists in LegacyRelativeMemberInfo [6] in array element of
the return value.
• Or property minimallyEncoded is missing in object type [5] but exists in MinimallyEncodedRelativeMemberInfo [7] in
array element of the return value.
• Or a call signature declaring the expected parameter / return type is missing in object type [8] but exists in
function type [9].
• Or no more than 2 arguments are expected by function type [10].
• Or no more than 2 arguments are expected by function type [11].
• Or no more than 2 arguments are expected by function type [12].
• Or no more than 2 arguments are expected by function type [13].
• Or no more than 2 arguments are expected by function type [14].
• Or no more than 2 arguments are expected by function type [15].
• Or no more than 2 arguments are expected by function type [16].
• Or no more than 2 arguments are expected by function type [17].
• Or no more than 2 arguments are expected by function type [18].
• Or no more than 2 arguments are expected by function type [19].
• Or no more than 2 arguments are expected by function type [20].
• Or no more than 2 arguments are expected by function type [21].
• Or no more than 2 arguments are expected by function type [22].
• Or no more than 2 arguments are expected by function type [23].
selectors/user-selectors.js
[5] 66│ $ReadOnly<{
67│ ...$Call<ExtractArrayParam, $PropertyType<TI, 'members'>>,
68│ +isViewer: boolean,
69│ }>,
:
[9] 115│ ) => (state: BaseAppState<>) => $ReadOnlyArray<RelativeMemberInfo> = (
116│ threadID: ?string,
117│ ) => {
118│ if (!threadID) {
119│ return () => emptyArray;
120│ }
121│ return createSelector(
122│ (state: BaseAppState<>) => state.threadStore.threadInfos[threadID],
123│ (state: BaseAppState<>) =>
124│ state.currentUserInfo && state.currentUserInfo.id,
flow-typed/npm/reselect_v3.x.x.js
[8] 12│ & {
13│ recomputations(): number,
14│ resetRecomputations(): number,
15│ resultFunc(state: TState, props: TProps, ...rest: Array<any>): TResult,
16│ };
17│
18│ declare type SelectorCreator = {
[1] 19│ <TState, TProps, TResult, T1>(
20│ selector1: InputSelector<TState, TProps, T1>,
21│ resultFunc: (arg1: T1) => TResult
22│ ): OutputSelector<TState, TProps, TResult>,
[2] 23│ <TState, TProps, TResult, T1>(
24│ selectors: [InputSelector<TState, TProps, T1>],
25│ resultFunc: (arg1: T1) => TResult
26│ ): OutputSelector<TState, TProps, TResult>,
27│
[3] 28│ <TState, TProps, TResult, T1, T2>(
29│ selector1: InputSelector<TState, TProps, T1>,
30│ selector2: InputSelector<TState, TProps, T2>,
31│ resultFunc: (arg1: T1, arg2: T2) => TResult
32│ ): OutputSelector<TState, TProps, TResult>,
[4] 33│ <TState, TProps, TResult, T1, T2>(
34│ selectors: [InputSelector<TState, TProps, T1>, InputSelector<TState, TProps, T2>],
35│ resultFunc: (arg1: T1, arg2: T2) => TResult
36│ ): OutputSelector<TState, TProps, TResult>,
:
[10] 44│ <TState, TProps, TResult, T1, T2, T3>(
45│ selectors: [
46│ InputSelector<TState, TProps, T1>,
47│ InputSelector<TState, TProps, T2>,
48│ InputSelector<TState, TProps, T3>
49│ ],
50│ resultFunc: (arg1: T1, arg2: T2, arg3: T3) => TResult
51│ ): OutputSelector<TState, TProps, TResult>,
:
[11] 60│ <TState, TProps, TResult, T1, T2, T3, T4>(
61│ selectors: [
62│ InputSelector<TState, TProps, T1>,
63│ InputSelector<TState, TProps, T2>,
64│ InputSelector<TState, TProps, T3>,
65│ InputSelector<TState, TProps, T4>
66│ ],
67│ resultFunc: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => TResult
68│ ): OutputSelector<TState, TProps, TResult>,
:
[12] 78│ <TState, TProps, TResult, T1, T2, T3, T4, T5>(
79│ selectors: [
80│ InputSelector<TState, TProps, T1>,
81│ InputSelector<TState, TProps, T2>,
82│ InputSelector<TState, TProps, T3>,
83│ InputSelector<TState, TProps, T4>,
84│ InputSelector<TState, TProps, T5>
85│ ],
86│ resultFunc: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => TResult
87│ ): OutputSelector<TState, TProps, TResult>,
:
[13] 105│ <TState, TProps, TResult, T1, T2, T3, T4, T5, T6>(
106│ selectors: [
107│ InputSelector<TState, TProps, T1>,
108│ InputSelector<TState, TProps, T2>,
109│ InputSelector<TState, TProps, T3>,
110│ InputSelector<TState, TProps, T4>,
111│ InputSelector<TState, TProps, T5>,
112│ InputSelector<TState, TProps, T6>
113│ ],
114│ resultFunc: (
115│ arg1: T1,
116│ arg2: T2,
117│ arg3: T3,
118│ arg4: T4,
119│ arg5: T5,
120│ arg6: T6
121│ ) => TResult
122│ ): OutputSelector<TState, TProps, TResult>,
:
[14] 142│ <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7>(
143│ selectors: [
144│ InputSelector<TState, TProps, T1>,
145│ InputSelector<TState, TProps, T2>,
146│ InputSelector<TState, TProps, T3>,
147│ InputSelector<TState, TProps, T4>,
148│ InputSelector<TState, TProps, T5>,
149│ InputSelector<TState, TProps, T6>,
150│ InputSelector<TState, TProps, T7>
151│ ],
152│ resultFunc: (
153│ arg1: T1,
154│ arg2: T2,
155│ arg3: T3,
156│ arg4: T4,
157│ arg5: T5,
158│ arg6: T6,
159│ arg7: T7
160│ ) => TResult
161│ ): OutputSelector<TState, TProps, TResult>,
:
[15] 183│ <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7, T8>(
184│ selectors: [
185│ InputSelector<TState, TProps, T1>,
186│ InputSelector<TState, TProps, T2>,
187│ InputSelector<TState, TProps, T3>,
188│ InputSelector<TState, TProps, T4>,
189│ InputSelector<TState, TProps, T5>,
190│ InputSelector<TState, TProps, T6>,
191│ InputSelector<TState, TProps, T7>,
192│ InputSelector<TState, TProps, T8>
193│ ],
194│ resultFunc: (
195│ arg1: T1,
196│ arg2: T2,
197│ arg3: T3,
198│ arg4: T4,
199│ arg5: T5,
200│ arg6: T6,
201│ arg7: T7,
202│ arg8: T8
203│ ) => TResult
204│ ): OutputSelector<TState, TProps, TResult>,
:
[16] 228│ <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7, T8, T9>(
229│ selectors: [
230│ InputSelector<TState, TProps, T1>,
231│ InputSelector<TState, TProps, T2>,
232│ InputSelector<TState, TProps, T3>,
233│ InputSelector<TState, TProps, T4>,
234│ InputSelector<TState, TProps, T5>,
235│ InputSelector<TState, TProps, T6>,
236│ InputSelector<TState, TProps, T7>,
237│ InputSelector<TState, TProps, T8>,
238│ InputSelector<TState, TProps, T9>
239│ ],
240│ resultFunc: (
241│ arg1: T1,
242│ arg2: T2,
243│ arg3: T3,
244│ arg4: T4,
245│ arg5: T5,
246│ arg6: T6,
247│ arg7: T7,
248│ arg8: T8,
249│ arg9: T9
250│ ) => TResult
251│ ): OutputSelector<TState, TProps, TResult>,
:
[17] 277│ <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(
278│ selectors: [
279│ InputSelector<TState, TProps, T1>,
280│ InputSelector<TState, TProps, T2>,
281│ InputSelector<TState, TProps, T3>,
282│ InputSelector<TState, TProps, T4>,
283│ InputSelector<TState, TProps, T5>,
284│ InputSelector<TState, TProps, T6>,
285│ InputSelector<TState, TProps, T7>,
286│ InputSelector<TState, TProps, T8>,
287│ InputSelector<TState, TProps, T9>,
288│ InputSelector<TState, TProps, T10>
289│ ],
290│ resultFunc: (
291│ arg1: T1,
292│ arg2: T2,
293│ arg3: T3,
294│ arg4: T4,
295│ arg5: T5,
296│ arg6: T6,
297│ arg7: T7,
298│ arg8: T8,
299│ arg9: T9,
300│ arg10: T10
301│ ) => TResult
302│ ): OutputSelector<TState, TProps, TResult>,
:
[18] 330│ <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(
331│ selectors: [
332│ InputSelector<TState, TProps, T1>,
333│ InputSelector<TState, TProps, T2>,
334│ InputSelector<TState, TProps, T3>,
335│ InputSelector<TState, TProps, T4>,
336│ InputSelector<TState, TProps, T5>,
337│ InputSelector<TState, TProps, T6>,
338│ InputSelector<TState, TProps, T7>,
339│ InputSelector<TState, TProps, T8>,
340│ InputSelector<TState, TProps, T9>,
341│ InputSelector<TState, TProps, T10>,
342│ InputSelector<TState, TProps, T11>
343│ ],
344│ resultFunc: (
345│ arg1: T1,
346│ arg2: T2,
347│ arg3: T3,
348│ arg4: T4,
349│ arg5: T5,
350│ arg6: T6,
351│ arg7: T7,
352│ arg8: T8,
353│ arg9: T9,
354│ arg10: T10,
355│ arg11: T11
356│ ) => TResult
357│ ): OutputSelector<TState, TProps, TResult>,
:
[19] 403│ <
404│ TState,
405│ TProps,
406│ TResult,
407│ T1,
408│ T2,
409│ T3,
410│ T4,
411│ T5,
412│ T6,
413│ T7,
414│ T8,
415│ T9,
416│ T10,
417│ T11,
:
434│ resultFunc: (
435│ arg1: T1,
436│ arg2: T2,
437│ arg3: T3,
438│ arg4: T4,
439│ arg5: T5,
440│ arg6: T6,
441│ arg7: T7,
442│ arg8: T8,
443│ arg9: T9,
444│ arg10: T10,
445│ arg11: T11,
446│ arg12: T12
447│ ) => TResult
448│ ): OutputSelector<TState, TProps, TResult>,
:
[20] 497│ <
498│ TState,
499│ TProps,
500│ TResult,
501│ T1,
502│ T2,
503│ T3,
504│ T4,
505│ T5,
506│ T6,
507│ T7,
508│ T8,
509│ T9,
510│ T10,
511│ T11,
:
531│ arg1: T1,
532│ arg2: T2,
533│ arg3: T3,
534│ arg4: T4,
535│ arg5: T5,
536│ arg6: T6,
537│ arg7: T7,
538│ arg8: T8,
539│ arg9: T9,
540│ arg10: T10,
541│ arg11: T11,
542│ arg12: T12,
543│ arg13: T13
544│ ) => TResult
545│ ): OutputSelector<TState, TProps, TResult>,
:
[21] 597│ <
598│ TState,
599│ TProps,
600│ TResult,
601│ T1,
602│ T2,
603│ T3,
604│ T4,
605│ T5,
606│ T6,
607│ T7,
608│ T8,
609│ T9,
610│ T10,
611│ T11,
:
634│ arg2: T2,
635│ arg3: T3,
636│ arg4: T4,
637│ arg5: T5,
638│ arg6: T6,
639│ arg7: T7,
640│ arg8: T8,
641│ arg9: T9,
642│ arg10: T10,
643│ arg11: T11,
644│ arg12: T12,
645│ arg13: T13,
646│ arg14: T14
647│ ) => TResult
648│ ): OutputSelector<TState, TProps, TResult>,
:
[22] 703│ <
704│ TState,
705│ TProps,
706│ TResult,
707│ T1,
708│ T2,
709│ T3,
710│ T4,
711│ T5,
712│ T6,
713│ T7,
714│ T8,
715│ T9,
716│ T10,
717│ T11,
:
743│ arg3: T3,
744│ arg4: T4,
745│ arg5: T5,
746│ arg6: T6,
747│ arg7: T7,
748│ arg8: T8,
749│ arg9: T9,
750│ arg10: T10,
751│ arg11: T11,
752│ arg12: T12,
753│ arg13: T13,
754│ arg14: T14,
755│ arg15: T15
756│ ) => TResult
757│ ): OutputSelector<TState, TProps, TResult>,
:
[23] 815│ <
816│ TState,
817│ TProps,
818│ TResult,
819│ T1,
820│ T2,
821│ T3,
822│ T4,
823│ T5,
824│ T6,
825│ T7,
826│ T8,
827│ T9,
828│ T10,
829│ T11,
:
858│ arg4: T4,
859│ arg5: T5,
860│ arg6: T6,
861│ arg7: T7,
862│ arg8: T8,
863│ arg9: T9,
864│ arg10: T10,
865│ arg11: T11,
866│ arg12: T12,
867│ arg13: T13,
868│ arg14: T14,
869│ arg15: T15,
870│ arg16: T16
871│ ) => TResult
872│ ): OutputSelector<TState, TProps, TResult>
types/thread-types.js
[6] 73│ | LegacyRelativeMemberInfo
[7] 74│ | MinimallyEncodedRelativeMemberInfo;
Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ shared/thread-utils.js:904:14
Cannot assign object literal to threadInfo because property username is missing in object type [1] but exists in
LegacyRelativeMemberInfo [2] in array element of property members. [prop-missing]
shared/thread-utils.js
901│ parentThreadID: rawThreadInfo.parentThreadID,
902│ containingThreadID: rawThreadInfo.containingThreadID,
903│ community: rawThreadInfo.community,
904│ members: getRelativeMemberInfos(rawThreadInfo, viewerID, userInfos),
905│ roles: rawThreadInfo.roles,
906│ currentUser: getCurrentUser(rawThreadInfo, viewerID, userInfos),
907│ repliesCount: rawThreadInfo.repliesCount,
selectors/user-selectors.js
[1] 66│ $ReadOnly<{
67│ ...$Call<ExtractArrayParam, $PropertyType<TI, 'members'>>,
68│ +isViewer: boolean,
69│ }>,
types/thread-types.js
[2] 164│ +members: $ReadOnlyArray<LegacyRelativeMemberInfo>,
Found 4 errors
Only showing the most relevant union/intersection branches.
To see all branches, re-run Flow with --show-all-branches
error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed.
Exit code: 2
Command: /nix/store/4v3g4sxwrfxpy24kfkgcv33dyh6r9lf3-nodejs-18.17.1/bin/node
Arguments: /nix/store/kxli919jahplrnfxc6q35wpgyfdy00ym-yarn-1.22.19/libexec/yarn/lib/cli.js flow
Directory: /Users/atul/comm/lib
Output:
info Visit https://yarnpkg.com/en/docs/cli/workspace for documentation about this command.
error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment