1pub const STRING_METHODS: &[&str] = &[
19 "count",
20 "empty",
21 "contains",
22 "includes",
23 "replace",
24 "split",
25 "trim",
26 "starts_with",
27 "ends_with",
28 "lowercase",
29 "uppercase",
30 "substring",
31 "slice",
32 "index_of",
33 "chars",
34 "repeat",
35 "reverse",
36 "pad_left",
37 "pad_right",
38 "trim_start",
39 "trim_end",
40 "lines",
41 "char_at",
42 "last_index_of",
43 "rfind",
44 "lower",
45 "to_lower",
46 "upper",
47 "to_upper",
48 "len",
49 "iter",
50];
51
52pub const LIST_METHODS: &[&str] = &[
55 "count",
56 "empty",
57 "map",
58 "filter",
59 "find",
60 "flat_map",
61 "sort_by",
62 "partition",
63 "group_by",
64 "reduce",
65 "any",
66 "all",
67 "every",
68 "all?",
69 "sort",
70 "reverse",
71 "join",
72 "contains",
73 "includes",
74 "index_of",
75 "enumerate",
76 "zip",
77 "slice",
78 "unique",
79 "take",
80 "skip",
81 "sum",
82 "min",
83 "max",
84 "flatten",
85 "push",
86 "pop",
87 "none",
88 "none?",
89 "find_index",
90 "first",
91 "last",
92 "chunk",
93 "each_slice",
94 "min_by",
95 "max_by",
96 "compact",
97 "window",
98 "each_cons",
99 "sliding_window",
100 "tally",
101 "to_list",
102 "to_set",
103 "take_while",
104 "drop_while",
105 "count_by",
106 "iter",
107];
108
109pub const SET_METHODS: &[&str] = &[
112 "count",
113 "len",
114 "empty",
115 "contains",
116 "includes",
117 "add",
118 "remove",
119 "delete",
120 "union",
121 "intersect",
122 "intersection",
123 "difference",
124 "symmetric_difference",
125 "is_subset",
126 "is_superset",
127 "is_disjoint",
128 "to_list",
129 "to_set",
130 "map",
131 "filter",
132 "any",
133 "all",
134 "every",
135 "iter",
136];
137
138pub const DICT_METHODS: &[&str] = &[
143 "keys",
144 "values",
145 "entries",
146 "count",
147 "has",
148 "merge",
149 "map_values",
150 "rekey",
151 "map_keys",
152 "filter",
153 "remove",
154 "get",
155 "to_dict",
156 "to_list",
157 "iter",
158];
159
160pub const RANGE_METHODS: &[&str] = &[
162 "len",
163 "count",
164 "empty",
165 "contains",
166 "includes",
167 "first",
168 "last",
169 "to_string",
170 "iter",
171];
172
173pub const ITER_METHODS: &[&str] = &[
176 "iter",
177 "map",
178 "flat_map",
179 "filter",
180 "take",
181 "skip",
182 "take_while",
183 "skip_while",
184 "zip",
185 "enumerate",
186 "chain",
187 "chunks",
188 "windows",
189 "to_list",
190 "to_set",
191 "to_dict",
192 "count",
193 "sum",
194 "min",
195 "max",
196 "first",
197 "last",
198 "find",
199 "any",
200 "all",
201 "for_each",
202 "reduce",
203];
204
205pub const GENERATOR_METHODS: &[&str] = &["done", "next", "value"];
207
208pub(super) fn is_any_known_builtin_method(method: &str) -> bool {
215 STRING_METHODS.contains(&method)
216 || LIST_METHODS.contains(&method)
217 || SET_METHODS.contains(&method)
218 || DICT_METHODS.contains(&method)
219 || RANGE_METHODS.contains(&method)
220 || ITER_METHODS.contains(&method)
221 || GENERATOR_METHODS.contains(&method)
222}