relay-test-utils-internal 0.0.0-main-18b0ca99 → 0.0.0-main-c9053e02
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AstrologicalSignUtils.js.flow +105 -0
- package/ExampleExternalStateStore.js.flow +61 -0
- package/index.js +1 -1
- package/lib/AstrologicalSignUtils.js +62 -0
- package/lib/ExampleExternalStateStore.js +76 -0
- package/lib/resolvers/AstrologicalSignHouseResolver.js +49 -0
- package/lib/resolvers/AstrologicalSignNameResolver.js +49 -0
- package/lib/resolvers/AstrologicalSignOppositeResolver.js +50 -0
- package/lib/resolvers/AstrologicalSignSelfResolver.js +60 -0
- package/lib/resolvers/CounterPlusOneResolver.js +48 -0
- package/lib/resolvers/CounterSuspendsWhenOdd.js +72 -0
- package/lib/resolvers/LiveCounterResolver.js +63 -0
- package/lib/resolvers/LivePingPongResolver.js +61 -0
- package/lib/resolvers/QueryAllAstrologicalSignsResolver.js +53 -0
- package/lib/resolvers/ResolverThatThrows.js +56 -0
- package/lib/resolvers/ThrowBeforeReadResolver.js +52 -0
- package/lib/resolvers/UndefinedFieldResolver.js +50 -0
- package/lib/resolvers/UserAlwaysThrowsResolver.js +48 -0
- package/lib/resolvers/UserAlwaysThrowsTransitivelyResolver.js +48 -0
- package/lib/resolvers/UserAnotherClientEdgeResolver.js +47 -0
- package/lib/resolvers/UserAstrologicalSignResolver.js +53 -0
- package/lib/resolvers/UserBestFriendGreetingResolver.js +49 -0
- package/lib/resolvers/UserBestFriendShoutedGreetingResolver.js +49 -0
- package/lib/resolvers/UserClientEdgeResolver.js +47 -0
- package/lib/resolvers/UserConstantDependentResolver.js +49 -0
- package/lib/resolvers/UserConstantResolver.js +48 -0
- package/lib/resolvers/UserCustomGreetingResolver.js +51 -0
- package/lib/resolvers/UserGreetingResolver.js +51 -0
- package/lib/resolvers/UserNameAndCounterSuspendsWhenOdd.js +49 -0
- package/lib/resolvers/UserNamePassthroughResolver.js +46 -0
- package/lib/resolvers/UserNullClientEdgeResolver.js +47 -0
- package/lib/resolvers/UserProfilePictureResolver.js +48 -0
- package/lib/resolvers/UserProfilePictureUriSuspendsWhenTheCounterIsOdd.js +71 -0
- package/lib/resolvers/UserProfilePictureWithDefaultValueResolver.js +48 -0
- package/lib/resolvers/UserProfilePictureWithRuntimeArgumentResolver.js +51 -0
- package/lib/resolvers/UserReadsClientEdgeResolver.js +48 -0
- package/lib/resolvers/UserRequiredNameResolver.js +49 -0
- package/lib/resolvers/UserShoutedGreetingResolver.js +49 -0
- package/lib/resolvers/__generated__/AstrologicalSignHouseResolver.graphql.js +63 -0
- package/lib/resolvers/__generated__/AstrologicalSignNameResolver.graphql.js +63 -0
- package/lib/resolvers/__generated__/AstrologicalSignOppositeResolver.graphql.js +63 -0
- package/lib/resolvers/__generated__/AstrologicalSignSelfResolver.graphql.js +64 -0
- package/lib/resolvers/__generated__/ClientEdgeQuery_UserReadsClientEdgeResolver_client_edge.graphql.js +134 -0
- package/lib/resolvers/__generated__/CounterPlusOneResolver.graphql.js +68 -0
- package/lib/resolvers/__generated__/CounterSuspendsWhenOdd.graphql.js +70 -0
- package/lib/resolvers/__generated__/LiveCounterResolver.graphql.js +70 -0
- package/lib/resolvers/__generated__/LivePingPongResolver.graphql.js +70 -0
- package/lib/resolvers/__generated__/QueryAllAstrologicalSignsResolver.graphql.js +67 -0
- package/lib/resolvers/__generated__/RefetchableClientEdgeQuery_UserReadsClientEdgeResolver_client_edge.graphql.js +71 -0
- package/lib/resolvers/__generated__/ResolverThatThrows.graphql.js +61 -0
- package/lib/resolvers/__generated__/ThrowBeforeReadResolver.graphql.js +70 -0
- package/lib/resolvers/__generated__/UndefinedFieldResolver.graphql.js +70 -0
- package/lib/resolvers/__generated__/UserAlwaysThrowsResolver.graphql.js +61 -0
- package/lib/resolvers/__generated__/UserAlwaysThrowsTransitivelyResolver.graphql.js +63 -0
- package/lib/resolvers/__generated__/UserAnotherClientEdgeResolver.graphql.js +61 -0
- package/lib/resolvers/__generated__/UserAstrologicalSignResolver.graphql.js +89 -0
- package/lib/resolvers/__generated__/UserBestFriendGreetingResolver.graphql.js +100 -0
- package/lib/resolvers/__generated__/UserBestFriendShoutedGreetingResolver.graphql.js +107 -0
- package/lib/resolvers/__generated__/UserClientEdgeResolver.graphql.js +56 -0
- package/lib/resolvers/__generated__/UserConstantDependentResolver.graphql.js +63 -0
- package/lib/resolvers/__generated__/UserConstantResolver.graphql.js +56 -0
- package/lib/resolvers/__generated__/UserCustomGreetingResolver.graphql.js +56 -0
- package/lib/resolvers/__generated__/UserGreetingResolver.graphql.js +56 -0
- package/lib/resolvers/__generated__/UserNameAndCounterSuspendsWhenOdd.graphql.js +81 -0
- package/lib/resolvers/__generated__/UserNamePassthroughResolver.graphql.js +56 -0
- package/lib/resolvers/__generated__/UserNullClientEdgeResolver.graphql.js +56 -0
- package/lib/resolvers/__generated__/UserProfilePictureResolver.graphql.js +75 -0
- package/lib/resolvers/__generated__/UserProfilePictureUriSuspendsWhenTheCounterIsOdd.graphql.js +85 -0
- package/lib/resolvers/__generated__/UserProfilePictureWithDefaultValueResolver.graphql.js +75 -0
- package/lib/resolvers/__generated__/UserProfilePictureWithRuntimeArgumentResolver.graphql.js +75 -0
- package/lib/resolvers/__generated__/UserReadsClientEdgeResolver.graphql.js +84 -0
- package/lib/resolvers/__generated__/UserRequiredNameResolver.graphql.js +61 -0
- package/lib/resolvers/__generated__/UserShoutedGreetingResolver.graphql.js +63 -0
- package/package.json +2 -2
- package/relay-test-utils-internal.js +1 -1
- package/relay-test-utils-internal.min.js +1 -1
- package/resolvers/AstrologicalSignHouseResolver.js.flow +41 -0
- package/resolvers/AstrologicalSignNameResolver.js.flow +41 -0
- package/resolvers/AstrologicalSignOppositeResolver.js.flow +42 -0
- package/resolvers/AstrologicalSignSelfResolver.js.flow +55 -0
- package/resolvers/CounterPlusOneResolver.js.flow +41 -0
- package/resolvers/CounterSuspendsWhenOdd.js.flow +66 -0
- package/resolvers/LiveCounterResolver.js.flow +57 -0
- package/resolvers/LivePingPongResolver.js.flow +58 -0
- package/resolvers/QueryAllAstrologicalSignsResolver.js.flow +48 -0
- package/resolvers/ResolverThatThrows.js.flow +53 -0
- package/resolvers/ThrowBeforeReadResolver.js.flow +49 -0
- package/resolvers/UndefinedFieldResolver.js.flow +46 -0
- package/resolvers/UserAlwaysThrowsResolver.js.flow +41 -0
- package/resolvers/UserAlwaysThrowsTransitivelyResolver.js.flow +43 -0
- package/resolvers/UserAnotherClientEdgeResolver.js.flow +43 -0
- package/resolvers/UserAstrologicalSignResolver.js.flow +50 -0
- package/resolvers/UserBestFriendGreetingResolver.js.flow +49 -0
- package/resolvers/UserBestFriendShoutedGreetingResolver.js.flow +49 -0
- package/resolvers/UserClientEdgeResolver.js.flow +41 -0
- package/resolvers/UserConstantDependentResolver.js.flow +43 -0
- package/resolvers/UserConstantResolver.js.flow +41 -0
- package/resolvers/UserCustomGreetingResolver.js.flow +45 -0
- package/resolvers/UserGreetingResolver.js.flow +42 -0
- package/resolvers/UserNameAndCounterSuspendsWhenOdd.js.flow +45 -0
- package/resolvers/UserNamePassthroughResolver.js.flow +39 -0
- package/resolvers/UserNullClientEdgeResolver.js.flow +43 -0
- package/resolvers/UserProfilePictureResolver.js.flow +42 -0
- package/resolvers/UserProfilePictureUriSuspendsWhenTheCounterIsOdd.js.flow +65 -0
- package/resolvers/UserProfilePictureWithDefaultValueResolver.js.flow +44 -0
- package/resolvers/UserProfilePictureWithRuntimeArgumentResolver.js.flow +47 -0
- package/resolvers/UserReadsClientEdgeResolver.js.flow +45 -0
- package/resolvers/UserRequiredNameResolver.js.flow +41 -0
- package/resolvers/UserShoutedGreetingResolver.js.flow +40 -0
- package/resolvers/__generated__/AstrologicalSignHouseResolver.graphql.js.flow +64 -0
- package/resolvers/__generated__/AstrologicalSignNameResolver.graphql.js.flow +64 -0
- package/resolvers/__generated__/AstrologicalSignOppositeResolver.graphql.js.flow +64 -0
- package/resolvers/__generated__/AstrologicalSignSelfResolver.graphql.js.flow +67 -0
- package/resolvers/__generated__/ClientEdgeQuery_UserReadsClientEdgeResolver_client_edge.graphql.js.flow +141 -0
- package/resolvers/__generated__/CounterPlusOneResolver.graphql.js.flow +69 -0
- package/resolvers/__generated__/CounterSuspendsWhenOdd.graphql.js.flow +75 -0
- package/resolvers/__generated__/LiveCounterResolver.graphql.js.flow +75 -0
- package/resolvers/__generated__/LivePingPongResolver.graphql.js.flow +75 -0
- package/resolvers/__generated__/QueryAllAstrologicalSignsResolver.graphql.js.flow +70 -0
- package/resolvers/__generated__/RefetchableClientEdgeQuery_UserReadsClientEdgeResolver_client_edge.graphql.js.flow +76 -0
- package/resolvers/__generated__/ResolverThatThrows.graphql.js.flow +62 -0
- package/resolvers/__generated__/ThrowBeforeReadResolver.graphql.js.flow +75 -0
- package/resolvers/__generated__/UndefinedFieldResolver.graphql.js.flow +75 -0
- package/resolvers/__generated__/UserAlwaysThrowsResolver.graphql.js.flow +62 -0
- package/resolvers/__generated__/UserAlwaysThrowsTransitivelyResolver.graphql.js.flow +64 -0
- package/resolvers/__generated__/UserAnotherClientEdgeResolver.graphql.js.flow +62 -0
- package/resolvers/__generated__/UserAstrologicalSignResolver.graphql.js.flow +93 -0
- package/resolvers/__generated__/UserBestFriendGreetingResolver.graphql.js.flow +110 -0
- package/resolvers/__generated__/UserBestFriendShoutedGreetingResolver.graphql.js.flow +117 -0
- package/resolvers/__generated__/UserClientEdgeResolver.graphql.js.flow +57 -0
- package/resolvers/__generated__/UserConstantDependentResolver.graphql.js.flow +64 -0
- package/resolvers/__generated__/UserConstantResolver.graphql.js.flow +57 -0
- package/resolvers/__generated__/UserCustomGreetingResolver.graphql.js.flow +57 -0
- package/resolvers/__generated__/UserGreetingResolver.graphql.js.flow +57 -0
- package/resolvers/__generated__/UserNameAndCounterSuspendsWhenOdd.graphql.js.flow +85 -0
- package/resolvers/__generated__/UserNamePassthroughResolver.graphql.js.flow +57 -0
- package/resolvers/__generated__/UserNullClientEdgeResolver.graphql.js.flow +57 -0
- package/resolvers/__generated__/UserProfilePictureResolver.graphql.js.flow +82 -0
- package/resolvers/__generated__/UserProfilePictureUriSuspendsWhenTheCounterIsOdd.graphql.js.flow +91 -0
- package/resolvers/__generated__/UserProfilePictureWithDefaultValueResolver.graphql.js.flow +82 -0
- package/resolvers/__generated__/UserProfilePictureWithRuntimeArgumentResolver.graphql.js.flow +82 -0
- package/resolvers/__generated__/UserReadsClientEdgeResolver.graphql.js.flow +87 -0
- package/resolvers/__generated__/UserRequiredNameResolver.graphql.js.flow +62 -0
- package/resolvers/__generated__/UserShoutedGreetingResolver.graphql.js.flow +64 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @emails oncall+relay
|
|
8
|
+
* @flow strict-local
|
|
9
|
+
* @format
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
'use strict';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Utility functions used to back our example of a client-only GraphQL types.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
export type AstrologicalSignID =
|
|
19
|
+
| 'Aquarius'
|
|
20
|
+
| 'Pisces'
|
|
21
|
+
| 'Aries'
|
|
22
|
+
| 'Taurus'
|
|
23
|
+
| 'Gemini'
|
|
24
|
+
| 'Cancer'
|
|
25
|
+
| 'Leo'
|
|
26
|
+
| 'Virgo'
|
|
27
|
+
| 'Libra'
|
|
28
|
+
| 'Scorpio'
|
|
29
|
+
| 'Sagittarius'
|
|
30
|
+
| 'Capricorn';
|
|
31
|
+
|
|
32
|
+
// Data that we know about a given astrological sign on the client.
|
|
33
|
+
export type ClientAstrologicalSignData = {
|
|
34
|
+
name: string,
|
|
35
|
+
house: number,
|
|
36
|
+
oppositeSignId: AstrologicalSignID,
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const OPPOSITES = {
|
|
40
|
+
Aries: 'Libra',
|
|
41
|
+
Libra: 'Aries',
|
|
42
|
+
Taurus: 'Scorpio',
|
|
43
|
+
Scorpio: 'Taurus',
|
|
44
|
+
Gemini: 'Sagittarius',
|
|
45
|
+
Sagittarius: 'Gemini',
|
|
46
|
+
Cancer: 'Capricorn',
|
|
47
|
+
Capricorn: 'Cancer',
|
|
48
|
+
Leo: 'Aquarius',
|
|
49
|
+
Aquarius: 'Leo',
|
|
50
|
+
Virgo: 'Pisces',
|
|
51
|
+
Pisces: 'Virgo',
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
const HOUSE_ORDER = [
|
|
55
|
+
'Aries',
|
|
56
|
+
'Taurus',
|
|
57
|
+
'Gemini',
|
|
58
|
+
'Cancer',
|
|
59
|
+
'Leo',
|
|
60
|
+
'Virgo',
|
|
61
|
+
'Libra',
|
|
62
|
+
'Scorpio',
|
|
63
|
+
'Sagittarius',
|
|
64
|
+
'Capricorn',
|
|
65
|
+
'Aquarius',
|
|
66
|
+
'Pisces',
|
|
67
|
+
];
|
|
68
|
+
|
|
69
|
+
function findSign(month: number, day: number): AstrologicalSignID {
|
|
70
|
+
const days = [21, 20, 21, 21, 22, 22, 23, 24, 24, 24, 23, 22];
|
|
71
|
+
const signs = [
|
|
72
|
+
'Aquarius',
|
|
73
|
+
'Pisces',
|
|
74
|
+
'Aries',
|
|
75
|
+
'Taurus',
|
|
76
|
+
'Gemini',
|
|
77
|
+
'Cancer',
|
|
78
|
+
'Leo',
|
|
79
|
+
'Virgo',
|
|
80
|
+
'Libra',
|
|
81
|
+
'Scorpio',
|
|
82
|
+
'Sagittarius',
|
|
83
|
+
'Capricorn',
|
|
84
|
+
];
|
|
85
|
+
|
|
86
|
+
const dayIndex = day - 1;
|
|
87
|
+
const monthIndex = month - 1;
|
|
88
|
+
let index = monthIndex;
|
|
89
|
+
if (monthIndex === 0 && dayIndex <= 20) {
|
|
90
|
+
index = 11;
|
|
91
|
+
} else if (dayIndex < days[monthIndex]) {
|
|
92
|
+
index = monthIndex - 1;
|
|
93
|
+
}
|
|
94
|
+
return signs[index];
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
function getOpposite(id: AstrologicalSignID): AstrologicalSignID {
|
|
98
|
+
return OPPOSITES[id];
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
function getHouse(id: AstrologicalSignID): number {
|
|
102
|
+
return HOUSE_ORDER.indexOf(id) + 1;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
module.exports = {findSign, getOpposite, getHouse, HOUSE_ORDER};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @emails oncall+relay
|
|
8
|
+
* @flow strict-local
|
|
9
|
+
* @format
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
'use strict';
|
|
13
|
+
|
|
14
|
+
type State = number;
|
|
15
|
+
|
|
16
|
+
// A fake flux-like store for testing purposes.
|
|
17
|
+
class Store {
|
|
18
|
+
_state: State;
|
|
19
|
+
_subscriptions: Array<() => void>;
|
|
20
|
+
constructor() {
|
|
21
|
+
this._state = 0;
|
|
22
|
+
this._subscriptions = [];
|
|
23
|
+
}
|
|
24
|
+
getState(): State {
|
|
25
|
+
return this._state;
|
|
26
|
+
}
|
|
27
|
+
dispatch(action: {|type: 'INCREMENT'|}) {
|
|
28
|
+
switch (action.type) {
|
|
29
|
+
case 'INCREMENT':
|
|
30
|
+
this._state = this._state + 1;
|
|
31
|
+
break;
|
|
32
|
+
default:
|
|
33
|
+
(action.type: empty);
|
|
34
|
+
}
|
|
35
|
+
this._subscriptions.forEach(cb => cb());
|
|
36
|
+
}
|
|
37
|
+
subscribe(cb: () => void): () => void {
|
|
38
|
+
this._subscriptions.push(cb);
|
|
39
|
+
return () => {
|
|
40
|
+
this._subscriptions = this._subscriptions.filter(x => x !== cb);
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
reset() {
|
|
44
|
+
this._state = 0;
|
|
45
|
+
this._subscriptions = [];
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const Selectors = {
|
|
50
|
+
getNumber(state: State): number {
|
|
51
|
+
return state;
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
const GLOBAL_STORE: Store = new Store();
|
|
56
|
+
|
|
57
|
+
function resetStore() {
|
|
58
|
+
GLOBAL_STORE.reset();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
module.exports = {GLOBAL_STORE, Selectors, resetStore};
|
package/index.js
CHANGED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @emails oncall+relay
|
|
8
|
+
*
|
|
9
|
+
* @format
|
|
10
|
+
*/
|
|
11
|
+
'use strict';
|
|
12
|
+
/**
|
|
13
|
+
* Utility functions used to back our example of a client-only GraphQL types.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
// Data that we know about a given astrological sign on the client.
|
|
17
|
+
var OPPOSITES = {
|
|
18
|
+
Aries: 'Libra',
|
|
19
|
+
Libra: 'Aries',
|
|
20
|
+
Taurus: 'Scorpio',
|
|
21
|
+
Scorpio: 'Taurus',
|
|
22
|
+
Gemini: 'Sagittarius',
|
|
23
|
+
Sagittarius: 'Gemini',
|
|
24
|
+
Cancer: 'Capricorn',
|
|
25
|
+
Capricorn: 'Cancer',
|
|
26
|
+
Leo: 'Aquarius',
|
|
27
|
+
Aquarius: 'Leo',
|
|
28
|
+
Virgo: 'Pisces',
|
|
29
|
+
Pisces: 'Virgo'
|
|
30
|
+
};
|
|
31
|
+
var HOUSE_ORDER = ['Aries', 'Taurus', 'Gemini', 'Cancer', 'Leo', 'Virgo', 'Libra', 'Scorpio', 'Sagittarius', 'Capricorn', 'Aquarius', 'Pisces'];
|
|
32
|
+
|
|
33
|
+
function findSign(month, day) {
|
|
34
|
+
var days = [21, 20, 21, 21, 22, 22, 23, 24, 24, 24, 23, 22];
|
|
35
|
+
var signs = ['Aquarius', 'Pisces', 'Aries', 'Taurus', 'Gemini', 'Cancer', 'Leo', 'Virgo', 'Libra', 'Scorpio', 'Sagittarius', 'Capricorn'];
|
|
36
|
+
var dayIndex = day - 1;
|
|
37
|
+
var monthIndex = month - 1;
|
|
38
|
+
var index = monthIndex;
|
|
39
|
+
|
|
40
|
+
if (monthIndex === 0 && dayIndex <= 20) {
|
|
41
|
+
index = 11;
|
|
42
|
+
} else if (dayIndex < days[monthIndex]) {
|
|
43
|
+
index = monthIndex - 1;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return signs[index];
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function getOpposite(id) {
|
|
50
|
+
return OPPOSITES[id];
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function getHouse(id) {
|
|
54
|
+
return HOUSE_ORDER.indexOf(id) + 1;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
module.exports = {
|
|
58
|
+
findSign: findSign,
|
|
59
|
+
getOpposite: getOpposite,
|
|
60
|
+
getHouse: getHouse,
|
|
61
|
+
HOUSE_ORDER: HOUSE_ORDER
|
|
62
|
+
};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @emails oncall+relay
|
|
8
|
+
*
|
|
9
|
+
* @format
|
|
10
|
+
*/
|
|
11
|
+
'use strict';
|
|
12
|
+
|
|
13
|
+
// A fake flux-like store for testing purposes.
|
|
14
|
+
var Store = /*#__PURE__*/function () {
|
|
15
|
+
function Store() {
|
|
16
|
+
this._state = 0;
|
|
17
|
+
this._subscriptions = [];
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
var _proto = Store.prototype;
|
|
21
|
+
|
|
22
|
+
_proto.getState = function getState() {
|
|
23
|
+
return this._state;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
_proto.dispatch = function dispatch(action) {
|
|
27
|
+
switch (action.type) {
|
|
28
|
+
case 'INCREMENT':
|
|
29
|
+
this._state = this._state + 1;
|
|
30
|
+
break;
|
|
31
|
+
|
|
32
|
+
default:
|
|
33
|
+
action.type;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
this._subscriptions.forEach(function (cb) {
|
|
37
|
+
return cb();
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
_proto.subscribe = function subscribe(cb) {
|
|
42
|
+
var _this = this;
|
|
43
|
+
|
|
44
|
+
this._subscriptions.push(cb);
|
|
45
|
+
|
|
46
|
+
return function () {
|
|
47
|
+
_this._subscriptions = _this._subscriptions.filter(function (x) {
|
|
48
|
+
return x !== cb;
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
_proto.reset = function reset() {
|
|
54
|
+
this._state = 0;
|
|
55
|
+
this._subscriptions = [];
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
return Store;
|
|
59
|
+
}();
|
|
60
|
+
|
|
61
|
+
var Selectors = {
|
|
62
|
+
getNumber: function getNumber(state) {
|
|
63
|
+
return state;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
var GLOBAL_STORE = new Store();
|
|
67
|
+
|
|
68
|
+
function resetStore() {
|
|
69
|
+
GLOBAL_STORE.reset();
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
module.exports = {
|
|
73
|
+
GLOBAL_STORE: GLOBAL_STORE,
|
|
74
|
+
Selectors: Selectors,
|
|
75
|
+
resetStore: resetStore
|
|
76
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @format
|
|
8
|
+
*
|
|
9
|
+
* @emails oncall+relay
|
|
10
|
+
*/
|
|
11
|
+
'use strict';
|
|
12
|
+
|
|
13
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
14
|
+
|
|
15
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
16
|
+
|
|
17
|
+
function _templateObject() {
|
|
18
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n fragment AstrologicalSignHouseResolver on AstrologicalSign {\n self\n }\n "]);
|
|
19
|
+
|
|
20
|
+
_templateObject = function _templateObject() {
|
|
21
|
+
return data;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
return data;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
var _require = require('relay-runtime'),
|
|
28
|
+
graphql = _require.graphql;
|
|
29
|
+
|
|
30
|
+
var _require2 = require('relay-runtime/store/ResolverFragments'),
|
|
31
|
+
readFragment = _require2.readFragment;
|
|
32
|
+
/**
|
|
33
|
+
* @RelayResolver
|
|
34
|
+
* @fieldName house
|
|
35
|
+
* @rootFragment AstrologicalSignHouseResolver
|
|
36
|
+
* @onType AstrologicalSign
|
|
37
|
+
*
|
|
38
|
+
* Re-expose `house` from our client fat `self` object.
|
|
39
|
+
*/
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
function astrologicalSignHouse(rootKey) {
|
|
43
|
+
var _sign$self$house, _sign$self;
|
|
44
|
+
|
|
45
|
+
var sign = readFragment(graphql(_templateObject()), rootKey);
|
|
46
|
+
return (_sign$self$house = (_sign$self = sign.self) === null || _sign$self === void 0 ? void 0 : _sign$self.house) !== null && _sign$self$house !== void 0 ? _sign$self$house : null;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
module.exports = astrologicalSignHouse;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @format
|
|
8
|
+
*
|
|
9
|
+
* @emails oncall+relay
|
|
10
|
+
*/
|
|
11
|
+
'use strict';
|
|
12
|
+
|
|
13
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
14
|
+
|
|
15
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
16
|
+
|
|
17
|
+
function _templateObject() {
|
|
18
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n fragment AstrologicalSignNameResolver on AstrologicalSign {\n self\n }\n "]);
|
|
19
|
+
|
|
20
|
+
_templateObject = function _templateObject() {
|
|
21
|
+
return data;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
return data;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
var _require = require('relay-runtime'),
|
|
28
|
+
graphql = _require.graphql;
|
|
29
|
+
|
|
30
|
+
var _require2 = require('relay-runtime/store/ResolverFragments'),
|
|
31
|
+
readFragment = _require2.readFragment;
|
|
32
|
+
/**
|
|
33
|
+
* @RelayResolver
|
|
34
|
+
* @fieldName name
|
|
35
|
+
* @rootFragment AstrologicalSignNameResolver
|
|
36
|
+
* @onType AstrologicalSign
|
|
37
|
+
*
|
|
38
|
+
* Re-expose `Name` from our client fat `self` object.
|
|
39
|
+
*/
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
function astrologicalSignName(rootKey) {
|
|
43
|
+
var _sign$self$name, _sign$self;
|
|
44
|
+
|
|
45
|
+
var sign = readFragment(graphql(_templateObject()), rootKey);
|
|
46
|
+
return (_sign$self$name = (_sign$self = sign.self) === null || _sign$self === void 0 ? void 0 : _sign$self.name) !== null && _sign$self$name !== void 0 ? _sign$self$name : null;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
module.exports = astrologicalSignName;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @format
|
|
8
|
+
*
|
|
9
|
+
* @emails oncall+relay
|
|
10
|
+
*/
|
|
11
|
+
'use strict';
|
|
12
|
+
|
|
13
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
14
|
+
|
|
15
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
16
|
+
|
|
17
|
+
function _templateObject() {
|
|
18
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n fragment AstrologicalSignOppositeResolver on AstrologicalSign {\n self\n }\n "]);
|
|
19
|
+
|
|
20
|
+
_templateObject = function _templateObject() {
|
|
21
|
+
return data;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
return data;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
var _require = require('relay-runtime'),
|
|
28
|
+
graphql = _require.graphql;
|
|
29
|
+
|
|
30
|
+
var _require2 = require('relay-runtime/store/ResolverFragments'),
|
|
31
|
+
readFragment = _require2.readFragment;
|
|
32
|
+
/**
|
|
33
|
+
* @RelayResolver
|
|
34
|
+
* @fieldName opposite
|
|
35
|
+
* @rootFragment AstrologicalSignOppositeResolver
|
|
36
|
+
* @onType AstrologicalSign
|
|
37
|
+
* @edgeTo AstrologicalSign
|
|
38
|
+
*
|
|
39
|
+
* Expose a sign's opposite as an edge in the graph.
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
function astrologicalSignOpposite(rootKey) {
|
|
44
|
+
var _sign$self$oppositeSi, _sign$self;
|
|
45
|
+
|
|
46
|
+
var sign = readFragment(graphql(_templateObject()), rootKey);
|
|
47
|
+
return (_sign$self$oppositeSi = (_sign$self = sign.self) === null || _sign$self === void 0 ? void 0 : _sign$self.oppositeSignId) !== null && _sign$self$oppositeSi !== void 0 ? _sign$self$oppositeSi : null;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
module.exports = astrologicalSignOpposite;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @format
|
|
8
|
+
*
|
|
9
|
+
* @emails oncall+relay
|
|
10
|
+
*/
|
|
11
|
+
'use strict';
|
|
12
|
+
|
|
13
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
14
|
+
|
|
15
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
16
|
+
|
|
17
|
+
function _templateObject() {
|
|
18
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n fragment AstrologicalSignSelfResolver on AstrologicalSign {\n id @required(action: THROW)\n }\n "]);
|
|
19
|
+
|
|
20
|
+
_templateObject = function _templateObject() {
|
|
21
|
+
return data;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
return data;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
var _require = require('../AstrologicalSignUtils'),
|
|
28
|
+
getHouse = _require.getHouse,
|
|
29
|
+
getOpposite = _require.getOpposite;
|
|
30
|
+
|
|
31
|
+
var _require2 = require('relay-runtime'),
|
|
32
|
+
graphql = _require2.graphql;
|
|
33
|
+
|
|
34
|
+
var _require3 = require('relay-runtime/store/ResolverFragments'),
|
|
35
|
+
readFragment = _require3.readFragment;
|
|
36
|
+
/**
|
|
37
|
+
* @RelayResolver
|
|
38
|
+
* @fieldName self
|
|
39
|
+
* @rootFragment AstrologicalSignSelfResolver
|
|
40
|
+
* @onType AstrologicalSign
|
|
41
|
+
*
|
|
42
|
+
* Local state knowledge of the user's astological sign.
|
|
43
|
+
*/
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
function astrologicalSignSelf(rootKey) {
|
|
47
|
+
var sign = readFragment(graphql(_templateObject()), rootKey); // id is ID in the schema, but `AstrologicalSignID` in the resolver
|
|
48
|
+
// which actually returns it. This is a typehole we'll need to patch.
|
|
49
|
+
// $FlowFixMe
|
|
50
|
+
|
|
51
|
+
var id = sign.id;
|
|
52
|
+
return {
|
|
53
|
+
name: sign.id,
|
|
54
|
+
// The id is actually the human readable name.
|
|
55
|
+
oppositeSignId: getOpposite(id),
|
|
56
|
+
house: getHouse(id)
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
module.exports = astrologicalSignSelf;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @format
|
|
8
|
+
*
|
|
9
|
+
* @emails oncall+relay
|
|
10
|
+
*/
|
|
11
|
+
// flowlint ambiguous-object-type:error
|
|
12
|
+
'use strict';
|
|
13
|
+
|
|
14
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
15
|
+
|
|
16
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
17
|
+
|
|
18
|
+
function _templateObject() {
|
|
19
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n fragment CounterPlusOneResolver on Query {\n counter @required(action: THROW)\n }\n "]);
|
|
20
|
+
|
|
21
|
+
_templateObject = function _templateObject() {
|
|
22
|
+
return data;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
return data;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
var _require = require('relay-runtime'),
|
|
29
|
+
graphql = _require.graphql;
|
|
30
|
+
|
|
31
|
+
var _require2 = require('relay-runtime/store/ResolverFragments'),
|
|
32
|
+
readFragment = _require2.readFragment;
|
|
33
|
+
/**
|
|
34
|
+
* @RelayResolver
|
|
35
|
+
* @fieldName counter_plus_one
|
|
36
|
+
* @rootFragment CounterPlusOneResolver
|
|
37
|
+
* @onType Query
|
|
38
|
+
*
|
|
39
|
+
* A resolver which reads a @live resover field (`counter`) to return `counter + 1`.
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
function counterPlusOne(rootKey) {
|
|
44
|
+
var data = readFragment(graphql(_templateObject()), rootKey);
|
|
45
|
+
return data.counter + 1;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
module.exports = counterPlusOne;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @format
|
|
8
|
+
*
|
|
9
|
+
* @emails oncall+relay
|
|
10
|
+
*/
|
|
11
|
+
// flowlint ambiguous-object-type:error
|
|
12
|
+
'use strict';
|
|
13
|
+
|
|
14
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
15
|
+
|
|
16
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
17
|
+
|
|
18
|
+
function _templateObject() {
|
|
19
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n fragment CounterSuspendsWhenOdd on Query {\n me {\n __id\n }\n }\n "]);
|
|
20
|
+
|
|
21
|
+
_templateObject = function _templateObject() {
|
|
22
|
+
return data;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
return data;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
var _require = require('../ExampleExternalStateStore'),
|
|
29
|
+
GLOBAL_STORE = _require.GLOBAL_STORE,
|
|
30
|
+
Selectors = _require.Selectors;
|
|
31
|
+
|
|
32
|
+
var _require2 = require('relay-runtime'),
|
|
33
|
+
graphql = _require2.graphql;
|
|
34
|
+
|
|
35
|
+
var _require3 = require('relay-runtime/store/experimental-live-resolvers/LiveResolverSuspenseSentinel'),
|
|
36
|
+
suspenseSentinel = _require3.suspenseSentinel;
|
|
37
|
+
|
|
38
|
+
var _require4 = require('relay-runtime/store/ResolverFragments'),
|
|
39
|
+
readFragment = _require4.readFragment;
|
|
40
|
+
/**
|
|
41
|
+
* @RelayResolver
|
|
42
|
+
* @fieldName counter_suspends_when_odd
|
|
43
|
+
* @rootFragment CounterSuspendsWhenOdd
|
|
44
|
+
* @onType Query
|
|
45
|
+
* @live
|
|
46
|
+
*
|
|
47
|
+
* A Relay Resolver that returns an object implementing the External State
|
|
48
|
+
* Resolver interface.
|
|
49
|
+
*/
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
function CounterSuspendsWhenOdd(rootKey) {
|
|
53
|
+
readFragment(graphql(_templateObject()), rootKey);
|
|
54
|
+
return {
|
|
55
|
+
read: function read() {
|
|
56
|
+
var number = Selectors.getNumber(GLOBAL_STORE.getState());
|
|
57
|
+
|
|
58
|
+
if (number % 2 !== 0) {
|
|
59
|
+
return suspenseSentinel();
|
|
60
|
+
} else {
|
|
61
|
+
return number;
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
subscribe: function subscribe(cb) {
|
|
65
|
+
// Here we could try to run the selector and short-circuit if
|
|
66
|
+
// the value has not changed, but for now we'll over-notify.
|
|
67
|
+
return GLOBAL_STORE.subscribe(cb);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
module.exports = CounterSuspendsWhenOdd;
|