@airtable/blocks 0.0.0-experimental-f52bc4e5e-20250709 → 0.0.0-experimental-75d011284-20250904

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.
Files changed (481) hide show
  1. package/dist/cjs/base/assert_run_context.js +12 -0
  2. package/dist/cjs/base/index.js +30 -30
  3. package/dist/cjs/base/models/abstract_model_with_async_data.js +154 -237
  4. package/dist/cjs/base/models/base.js +188 -267
  5. package/dist/cjs/base/models/create_aggregators.js +29 -46
  6. package/dist/cjs/base/models/cursor.js +206 -294
  7. package/dist/cjs/base/models/field.js +307 -395
  8. package/dist/cjs/base/models/grouped_record_query_result.js +219 -338
  9. package/dist/cjs/base/models/linked_records_query_result.js +450 -625
  10. package/dist/cjs/base/models/models.js +19 -22
  11. package/dist/cjs/base/models/mutations.js +267 -293
  12. package/dist/cjs/base/models/object_pool.js +117 -156
  13. package/dist/cjs/base/models/record.js +191 -256
  14. package/dist/cjs/base/models/record_coloring.js +6 -6
  15. package/dist/cjs/base/models/record_query_result.js +351 -435
  16. package/dist/cjs/base/models/record_store.js +403 -753
  17. package/dist/cjs/base/models/session.js +125 -153
  18. package/dist/cjs/base/models/table.js +457 -605
  19. package/dist/cjs/base/models/table_or_view_query_result.js +656 -920
  20. package/dist/cjs/base/models/view.js +284 -389
  21. package/dist/cjs/base/models/view_data_store.js +218 -356
  22. package/dist/cjs/base/models/view_metadata_query_result.js +109 -157
  23. package/dist/cjs/base/perform_record_action.js +89 -131
  24. package/dist/cjs/base/sdk.js +129 -184
  25. package/dist/cjs/base/settings_button.js +54 -74
  26. package/dist/cjs/base/types/airtable_interface.js +1 -1
  27. package/dist/cjs/base/types/mutations.js +5 -11
  28. package/dist/cjs/base/types/undo_redo.js +1 -1
  29. package/dist/cjs/base/types/view.js +1 -1
  30. package/dist/cjs/base/ui/base_provider.js +6 -8
  31. package/dist/cjs/base/ui/baymax_utils.js +436 -108
  32. package/dist/cjs/base/ui/block_wrapper.js +81 -106
  33. package/dist/cjs/base/ui/box.js +34 -60
  34. package/dist/cjs/base/ui/button.js +44 -74
  35. package/dist/cjs/base/ui/cell_renderer.js +132 -189
  36. package/dist/cjs/base/ui/choice_token.js +25 -42
  37. package/dist/cjs/base/ui/collaborator_token.js +31 -53
  38. package/dist/cjs/base/ui/color_palette.js +130 -173
  39. package/dist/cjs/base/ui/color_palette_synced.js +41 -70
  40. package/dist/cjs/base/ui/confirmation_dialog.js +70 -120
  41. package/dist/cjs/base/ui/control_sizes.js +24 -22
  42. package/dist/cjs/base/ui/create_detect_element_resize.js +6 -10
  43. package/dist/cjs/base/ui/css_helpers.js +1 -1
  44. package/dist/cjs/base/ui/dialog.js +57 -98
  45. package/dist/cjs/base/ui/dialog_close_button.js +52 -98
  46. package/dist/cjs/base/ui/expand_record.js +1 -2
  47. package/dist/cjs/base/ui/expand_record_list.js +3 -4
  48. package/dist/cjs/base/ui/expand_record_picker_async.js +28 -57
  49. package/dist/cjs/base/ui/field_icon.js +15 -33
  50. package/dist/cjs/base/ui/field_picker.js +25 -70
  51. package/dist/cjs/base/ui/field_picker_synced.js +18 -40
  52. package/dist/cjs/base/ui/form_field.js +27 -55
  53. package/dist/cjs/base/ui/geometry/geometry.js +5 -5
  54. package/dist/cjs/base/ui/geometry/point.js +10 -12
  55. package/dist/cjs/base/ui/geometry/rect.js +36 -52
  56. package/dist/cjs/base/ui/geometry/size.js +10 -12
  57. package/dist/cjs/base/ui/global_alert.js +31 -52
  58. package/dist/cjs/base/ui/heading.js +45 -94
  59. package/dist/cjs/base/ui/icon.js +39 -59
  60. package/dist/cjs/base/ui/icon_config.js +6 -12
  61. package/dist/cjs/base/ui/initialize_block.js +16 -35
  62. package/dist/cjs/base/ui/input.js +62 -101
  63. package/dist/cjs/base/ui/input_synced.js +17 -40
  64. package/dist/cjs/base/ui/key_codes.js +2 -3
  65. package/dist/cjs/base/ui/label.js +30 -55
  66. package/dist/cjs/base/ui/link.js +54 -87
  67. package/dist/cjs/base/ui/loader.js +15 -36
  68. package/dist/cjs/base/ui/modal.js +88 -127
  69. package/dist/cjs/base/ui/model_picker_select.js +18 -44
  70. package/dist/cjs/base/ui/popover.js +236 -328
  71. package/dist/cjs/base/ui/progress_bar.js +34 -47
  72. package/dist/cjs/base/ui/record_card.js +389 -478
  73. package/dist/cjs/base/ui/record_card_list.js +150 -224
  74. package/dist/cjs/base/ui/select.js +60 -116
  75. package/dist/cjs/base/ui/select_and_select_buttons_helpers.js +15 -39
  76. package/dist/cjs/base/ui/select_buttons.js +50 -83
  77. package/dist/cjs/base/ui/select_buttons_synced.js +17 -39
  78. package/dist/cjs/base/ui/select_synced.js +17 -39
  79. package/dist/cjs/base/ui/switch.js +42 -71
  80. package/dist/cjs/base/ui/switch_synced.js +16 -38
  81. package/dist/cjs/base/ui/synced.js +27 -48
  82. package/dist/cjs/base/ui/system/all_styles_set.js +4 -12
  83. package/dist/cjs/base/ui/system/appearance/appearance_set.js +10 -13
  84. package/dist/cjs/base/ui/system/appearance/background_color.js +3 -6
  85. package/dist/cjs/base/ui/system/appearance/border.js +3 -6
  86. package/dist/cjs/base/ui/system/appearance/border_radius.js +3 -6
  87. package/dist/cjs/base/ui/system/appearance/box_shadow.js +3 -6
  88. package/dist/cjs/base/ui/system/appearance/opacity.js +3 -6
  89. package/dist/cjs/base/ui/system/dimensions/dimensions_set.js +11 -13
  90. package/dist/cjs/base/ui/system/dimensions/height.js +3 -6
  91. package/dist/cjs/base/ui/system/dimensions/max_height.js +3 -6
  92. package/dist/cjs/base/ui/system/dimensions/max_width.js +3 -6
  93. package/dist/cjs/base/ui/system/dimensions/min_height.js +3 -6
  94. package/dist/cjs/base/ui/system/dimensions/min_width.js +3 -6
  95. package/dist/cjs/base/ui/system/dimensions/width.js +3 -6
  96. package/dist/cjs/base/ui/system/display.js +3 -6
  97. package/dist/cjs/base/ui/system/flex_container/align_content.js +3 -6
  98. package/dist/cjs/base/ui/system/flex_container/align_items.js +3 -6
  99. package/dist/cjs/base/ui/system/flex_container/flex_container_set.js +11 -13
  100. package/dist/cjs/base/ui/system/flex_container/flex_direction.js +3 -6
  101. package/dist/cjs/base/ui/system/flex_container/flex_wrap.js +3 -6
  102. package/dist/cjs/base/ui/system/flex_container/justify_content.js +3 -6
  103. package/dist/cjs/base/ui/system/flex_container/justify_items.js +3 -6
  104. package/dist/cjs/base/ui/system/flex_item/align_self.js +3 -6
  105. package/dist/cjs/base/ui/system/flex_item/flex.js +3 -6
  106. package/dist/cjs/base/ui/system/flex_item/flex_basis.js +3 -6
  107. package/dist/cjs/base/ui/system/flex_item/flex_grow.js +3 -6
  108. package/dist/cjs/base/ui/system/flex_item/flex_item_set.js +12 -13
  109. package/dist/cjs/base/ui/system/flex_item/flex_shrink.js +3 -6
  110. package/dist/cjs/base/ui/system/flex_item/justify_self.js +3 -6
  111. package/dist/cjs/base/ui/system/flex_item/order.js +3 -6
  112. package/dist/cjs/base/ui/system/index.js +104 -416
  113. package/dist/cjs/base/ui/system/overflow.js +3 -6
  114. package/dist/cjs/base/ui/system/position/bottom.js +4 -6
  115. package/dist/cjs/base/ui/system/position/left.js +4 -6
  116. package/dist/cjs/base/ui/system/position/position.js +3 -6
  117. package/dist/cjs/base/ui/system/position/position_set.js +11 -13
  118. package/dist/cjs/base/ui/system/position/right.js +4 -6
  119. package/dist/cjs/base/ui/system/position/top.js +4 -6
  120. package/dist/cjs/base/ui/system/position/z_index.js +3 -6
  121. package/dist/cjs/base/ui/system/spacing/margin.js +4 -6
  122. package/dist/cjs/base/ui/system/spacing/padding.js +4 -6
  123. package/dist/cjs/base/ui/system/spacing/spacing_set.js +7 -13
  124. package/dist/cjs/base/ui/system/typography/font_family.js +3 -6
  125. package/dist/cjs/base/ui/system/typography/font_size.js +3 -6
  126. package/dist/cjs/base/ui/system/typography/font_style.js +3 -6
  127. package/dist/cjs/base/ui/system/typography/font_weight.js +3 -6
  128. package/dist/cjs/base/ui/system/typography/letter_spacing.js +3 -6
  129. package/dist/cjs/base/ui/system/typography/line_height.js +3 -6
  130. package/dist/cjs/base/ui/system/typography/text_align.js +3 -6
  131. package/dist/cjs/base/ui/system/typography/text_color.js +3 -6
  132. package/dist/cjs/base/ui/system/typography/text_decoration.js +3 -6
  133. package/dist/cjs/base/ui/system/typography/text_transform.js +3 -6
  134. package/dist/cjs/base/ui/system/typography/typography_set.js +15 -13
  135. package/dist/cjs/base/ui/system/utils/ensure_numbers_are_within_scale.js +3 -4
  136. package/dist/cjs/base/ui/system/utils/get_style_props_for_responsive_prop.js +47 -87
  137. package/dist/cjs/base/ui/table_picker.js +18 -42
  138. package/dist/cjs/base/ui/table_picker_synced.js +17 -39
  139. package/dist/cjs/base/ui/text.js +40 -73
  140. package/dist/cjs/base/ui/text_button.js +51 -83
  141. package/dist/cjs/base/ui/theme/default_theme/button_variants.js +3 -3
  142. package/dist/cjs/base/ui/theme/default_theme/control_sizes.js +51 -45
  143. package/dist/cjs/base/ui/theme/default_theme/heading_styles.js +1 -1
  144. package/dist/cjs/base/ui/theme/default_theme/index.js +9 -15
  145. package/dist/cjs/base/ui/theme/default_theme/input_variants.js +3 -3
  146. package/dist/cjs/base/ui/theme/default_theme/link_variants.js +3 -3
  147. package/dist/cjs/base/ui/theme/default_theme/select_buttons_variants.js +4 -4
  148. package/dist/cjs/base/ui/theme/default_theme/select_variants.js +8 -17
  149. package/dist/cjs/base/ui/theme/default_theme/switch_variants.js +23 -29
  150. package/dist/cjs/base/ui/theme/default_theme/text_button_variants.js +5 -5
  151. package/dist/cjs/base/ui/theme/default_theme/text_styles.js +1 -1
  152. package/dist/cjs/base/ui/theme/default_theme/tokens.js +14 -14
  153. package/dist/cjs/base/ui/theme/theme_context.js +2 -2
  154. package/dist/cjs/base/ui/theme/use_theme.js +2 -2
  155. package/dist/cjs/base/ui/tooltip.js +134 -174
  156. package/dist/cjs/base/ui/types/aria_props.js +1 -23
  157. package/dist/cjs/base/ui/types/data_attributes_prop.js +1 -18
  158. package/dist/cjs/base/ui/types/tooltip_anchor_props.js +1 -17
  159. package/dist/cjs/base/ui/ui.js +48 -49
  160. package/dist/cjs/base/ui/unstable_standalone_ui.js +27 -27
  161. package/dist/cjs/base/ui/use_base.js +1 -1
  162. package/dist/cjs/base/ui/use_cursor.js +5 -4
  163. package/dist/cjs/base/ui/use_form_field.js +1 -1
  164. package/dist/cjs/base/ui/use_loadable.js +25 -91
  165. package/dist/cjs/base/ui/use_record_action_data.js +4 -3
  166. package/dist/cjs/base/ui/use_records.js +9 -13
  167. package/dist/cjs/base/ui/use_session.js +1 -1
  168. package/dist/cjs/base/ui/use_settings_button.js +4 -3
  169. package/dist/cjs/base/ui/use_styled_system.js +7 -14
  170. package/dist/cjs/base/ui/use_text_color_for_background_color.js +4 -3
  171. package/dist/cjs/base/ui/use_view_metadata.js +4 -4
  172. package/dist/cjs/base/ui/use_viewport.js +2 -2
  173. package/dist/cjs/base/ui/view_picker.js +26 -70
  174. package/dist/cjs/base/ui/view_picker_synced.js +18 -40
  175. package/dist/cjs/base/ui/viewport_constraint.js +67 -114
  176. package/dist/cjs/base/ui/with_styled_system.js +25 -61
  177. package/dist/cjs/base/undo_redo.js +21 -32
  178. package/dist/cjs/base/unstable_testing_utils.js +27 -27
  179. package/dist/cjs/base/viewport.js +268 -312
  180. package/dist/cjs/injected/airtable_interface.js +4 -4
  181. package/dist/cjs/interface/assert_run_context.js +12 -0
  182. package/dist/cjs/interface/index.js +4 -18
  183. package/dist/cjs/interface/models/base.js +15 -34
  184. package/dist/cjs/interface/models/field.js +5 -19
  185. package/dist/cjs/interface/models/models.js +8 -7
  186. package/dist/cjs/interface/models/mutations.js +50 -66
  187. package/dist/cjs/interface/models/record.js +29 -49
  188. package/dist/cjs/interface/models/record_store.js +25 -57
  189. package/dist/cjs/interface/models/session.js +2 -16
  190. package/dist/cjs/interface/models/table.js +66 -95
  191. package/dist/cjs/interface/sdk.js +61 -87
  192. package/dist/cjs/interface/types/airtable_interface.js +2 -2
  193. package/dist/cjs/interface/types/mutations.js +3 -10
  194. package/dist/cjs/interface/ui/block_wrapper.js +56 -48
  195. package/dist/cjs/interface/ui/initialize_block.js +13 -28
  196. package/dist/cjs/interface/ui/ui.js +20 -19
  197. package/dist/cjs/interface/ui/use_base.js +1 -1
  198. package/dist/cjs/interface/ui/use_custom_properties.js +19 -35
  199. package/dist/cjs/interface/ui/use_records.js +6 -5
  200. package/dist/cjs/interface/ui/use_run_info.js +2 -2
  201. package/dist/cjs/interface/ui/use_session.js +1 -1
  202. package/dist/cjs/shared/color_utils.js +9 -16
  203. package/dist/cjs/shared/colors.js +2 -2
  204. package/dist/cjs/shared/error_utils.js +9 -11
  205. package/dist/cjs/shared/event_tracker.js +3 -3
  206. package/dist/cjs/shared/global_config.js +337 -449
  207. package/dist/cjs/shared/models/abstract_model.js +72 -97
  208. package/dist/cjs/shared/models/base_core.js +394 -514
  209. package/dist/cjs/shared/models/field_core.js +236 -279
  210. package/dist/cjs/shared/models/mutations_core.js +283 -379
  211. package/dist/cjs/shared/models/record_core.js +174 -231
  212. package/dist/cjs/shared/models/record_store_core.js +119 -172
  213. package/dist/cjs/shared/models/session_core.js +116 -170
  214. package/dist/cjs/shared/models/table_core.js +1258 -1501
  215. package/dist/cjs/shared/private_utils.js +54 -124
  216. package/dist/cjs/shared/sdk_core.js +68 -70
  217. package/dist/cjs/shared/types/field_core.js +1 -1
  218. package/dist/cjs/shared/types/mutation_constants.js +4 -4
  219. package/dist/cjs/shared/types/mutations_core.js +1 -1
  220. package/dist/cjs/shared/types/permission_levels.js +1 -1
  221. package/dist/cjs/shared/ui/global_config_synced_component_helpers.js +9 -9
  222. package/dist/cjs/shared/ui/loader.js +14 -35
  223. package/dist/cjs/shared/ui/remote_utils.js +5 -7
  224. package/dist/cjs/shared/ui/sdk_context.js +4 -8
  225. package/dist/cjs/shared/ui/use_array_identity.js +2 -2
  226. package/dist/cjs/shared/ui/use_base.js +6 -5
  227. package/dist/cjs/shared/ui/use_color_scheme.js +3 -8
  228. package/dist/cjs/shared/ui/use_global_config.js +5 -4
  229. package/dist/cjs/shared/ui/use_session.js +6 -5
  230. package/dist/cjs/shared/ui/use_synced.js +7 -5
  231. package/dist/cjs/shared/ui/use_watchable.js +13 -42
  232. package/dist/cjs/shared/ui/with_hooks.js +6 -13
  233. package/dist/cjs/shared/unstable_private_utils.js +4 -6
  234. package/dist/cjs/shared/warning.js +5 -5
  235. package/dist/cjs/shared/watchable.js +110 -176
  236. package/dist/cjs/stats/block_stats.js +62 -85
  237. package/dist/cjs/testing/base/abstract_mock_airtable_interface.js +208 -0
  238. package/dist/cjs/testing/interface/abstract_mock_airtable_interface.js +124 -0
  239. package/dist/types/src/base/assert_run_context.d.ts +2 -0
  240. package/dist/types/src/base/assert_run_context.d.ts.map +1 -0
  241. package/dist/types/src/base/index.d.ts +1 -0
  242. package/dist/types/src/base/index.d.ts.map +1 -1
  243. package/dist/types/src/base/models/models.d.ts +1 -0
  244. package/dist/types/src/base/models/models.d.ts.map +1 -1
  245. package/dist/types/src/base/models/mutations.d.ts.map +1 -1
  246. package/dist/types/src/base/sdk.d.ts.map +1 -1
  247. package/dist/types/src/base/ui/block_wrapper.d.ts +1 -1
  248. package/dist/types/src/base/ui/box.d.ts.map +1 -1
  249. package/dist/types/src/base/ui/button.d.ts +0 -5
  250. package/dist/types/src/base/ui/button.d.ts.map +1 -1
  251. package/dist/types/src/base/ui/cell_renderer.d.ts +1 -22
  252. package/dist/types/src/base/ui/cell_renderer.d.ts.map +1 -1
  253. package/dist/types/src/base/ui/choice_token.d.ts +1 -21
  254. package/dist/types/src/base/ui/choice_token.d.ts.map +1 -1
  255. package/dist/types/src/base/ui/collaborator_token.d.ts +0 -20
  256. package/dist/types/src/base/ui/collaborator_token.d.ts.map +1 -1
  257. package/dist/types/src/base/ui/color_palette.d.ts +1 -32
  258. package/dist/types/src/base/ui/color_palette.d.ts.map +1 -1
  259. package/dist/types/src/base/ui/color_palette_synced.d.ts +0 -14
  260. package/dist/types/src/base/ui/color_palette_synced.d.ts.map +1 -1
  261. package/dist/types/src/base/ui/confirmation_dialog.d.ts +0 -17
  262. package/dist/types/src/base/ui/confirmation_dialog.d.ts.map +1 -1
  263. package/dist/types/src/base/ui/control_sizes.d.ts +0 -1
  264. package/dist/types/src/base/ui/control_sizes.d.ts.map +1 -1
  265. package/dist/types/src/base/ui/dialog.d.ts +1 -23
  266. package/dist/types/src/base/ui/dialog.d.ts.map +1 -1
  267. package/dist/types/src/base/ui/dialog_close_button.d.ts +2 -24
  268. package/dist/types/src/base/ui/dialog_close_button.d.ts.map +1 -1
  269. package/dist/types/src/base/ui/field_icon.d.ts +1 -17
  270. package/dist/types/src/base/ui/field_icon.d.ts.map +1 -1
  271. package/dist/types/src/base/ui/field_picker.d.ts +0 -23
  272. package/dist/types/src/base/ui/field_picker.d.ts.map +1 -1
  273. package/dist/types/src/base/ui/field_picker_synced.d.ts.map +1 -1
  274. package/dist/types/src/base/ui/form_field.d.ts +0 -4
  275. package/dist/types/src/base/ui/form_field.d.ts.map +1 -1
  276. package/dist/types/src/base/ui/heading.d.ts +1 -1
  277. package/dist/types/src/base/ui/heading.d.ts.map +1 -1
  278. package/dist/types/src/base/ui/icon.d.ts +0 -16
  279. package/dist/types/src/base/ui/icon.d.ts.map +1 -1
  280. package/dist/types/src/base/ui/icon_config.d.ts +50 -51
  281. package/dist/types/src/base/ui/icon_config.d.ts.map +1 -1
  282. package/dist/types/src/base/ui/initialize_block.d.ts.map +1 -1
  283. package/dist/types/src/base/ui/input.d.ts +12 -46
  284. package/dist/types/src/base/ui/input.d.ts.map +1 -1
  285. package/dist/types/src/base/ui/input_synced.d.ts.map +1 -1
  286. package/dist/types/src/base/ui/label.d.ts.map +1 -1
  287. package/dist/types/src/base/ui/link.d.ts +1 -5
  288. package/dist/types/src/base/ui/link.d.ts.map +1 -1
  289. package/dist/types/src/base/ui/loader.d.ts +3 -20
  290. package/dist/types/src/base/ui/loader.d.ts.map +1 -1
  291. package/dist/types/src/base/ui/modal.d.ts +1 -14
  292. package/dist/types/src/base/ui/modal.d.ts.map +1 -1
  293. package/dist/types/src/base/ui/model_picker_select.d.ts.map +1 -1
  294. package/dist/types/src/base/ui/popover.d.ts +1 -17
  295. package/dist/types/src/base/ui/popover.d.ts.map +1 -1
  296. package/dist/types/src/base/ui/progress_bar.d.ts +1 -24
  297. package/dist/types/src/base/ui/progress_bar.d.ts.map +1 -1
  298. package/dist/types/src/base/ui/record_card.d.ts +1 -23
  299. package/dist/types/src/base/ui/record_card.d.ts.map +1 -1
  300. package/dist/types/src/base/ui/record_card_list.d.ts +1 -18
  301. package/dist/types/src/base/ui/record_card_list.d.ts.map +1 -1
  302. package/dist/types/src/base/ui/select.d.ts +0 -44
  303. package/dist/types/src/base/ui/select.d.ts.map +1 -1
  304. package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts +0 -2
  305. package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts.map +1 -1
  306. package/dist/types/src/base/ui/select_buttons.d.ts +0 -22
  307. package/dist/types/src/base/ui/select_buttons.d.ts.map +1 -1
  308. package/dist/types/src/base/ui/select_buttons_synced.d.ts.map +1 -1
  309. package/dist/types/src/base/ui/select_synced.d.ts.map +1 -1
  310. package/dist/types/src/base/ui/switch.d.ts +0 -22
  311. package/dist/types/src/base/ui/switch.d.ts.map +1 -1
  312. package/dist/types/src/base/ui/switch_synced.d.ts.map +1 -1
  313. package/dist/types/src/base/ui/synced.d.ts +2 -8
  314. package/dist/types/src/base/ui/synced.d.ts.map +1 -1
  315. package/dist/types/src/base/ui/system/all_styles_set.d.ts +0 -3
  316. package/dist/types/src/base/ui/system/all_styles_set.d.ts.map +1 -1
  317. package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts +0 -1
  318. package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts.map +1 -1
  319. package/dist/types/src/base/ui/system/appearance/background_color.d.ts +0 -1
  320. package/dist/types/src/base/ui/system/appearance/background_color.d.ts.map +1 -1
  321. package/dist/types/src/base/ui/system/appearance/border.d.ts +0 -1
  322. package/dist/types/src/base/ui/system/appearance/border.d.ts.map +1 -1
  323. package/dist/types/src/base/ui/system/appearance/border_radius.d.ts +0 -1
  324. package/dist/types/src/base/ui/system/appearance/border_radius.d.ts.map +1 -1
  325. package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts +0 -1
  326. package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts.map +1 -1
  327. package/dist/types/src/base/ui/system/appearance/opacity.d.ts +0 -1
  328. package/dist/types/src/base/ui/system/appearance/opacity.d.ts.map +1 -1
  329. package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts +0 -1
  330. package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts.map +1 -1
  331. package/dist/types/src/base/ui/system/dimensions/height.d.ts +0 -1
  332. package/dist/types/src/base/ui/system/dimensions/height.d.ts.map +1 -1
  333. package/dist/types/src/base/ui/system/dimensions/max_height.d.ts +0 -1
  334. package/dist/types/src/base/ui/system/dimensions/max_height.d.ts.map +1 -1
  335. package/dist/types/src/base/ui/system/dimensions/max_width.d.ts +0 -1
  336. package/dist/types/src/base/ui/system/dimensions/max_width.d.ts.map +1 -1
  337. package/dist/types/src/base/ui/system/dimensions/min_height.d.ts +0 -1
  338. package/dist/types/src/base/ui/system/dimensions/min_height.d.ts.map +1 -1
  339. package/dist/types/src/base/ui/system/dimensions/min_width.d.ts +0 -1
  340. package/dist/types/src/base/ui/system/dimensions/min_width.d.ts.map +1 -1
  341. package/dist/types/src/base/ui/system/dimensions/width.d.ts +0 -1
  342. package/dist/types/src/base/ui/system/dimensions/width.d.ts.map +1 -1
  343. package/dist/types/src/base/ui/system/display.d.ts +0 -1
  344. package/dist/types/src/base/ui/system/display.d.ts.map +1 -1
  345. package/dist/types/src/base/ui/system/flex_container/align_content.d.ts +0 -1
  346. package/dist/types/src/base/ui/system/flex_container/align_content.d.ts.map +1 -1
  347. package/dist/types/src/base/ui/system/flex_container/align_items.d.ts +0 -1
  348. package/dist/types/src/base/ui/system/flex_container/align_items.d.ts.map +1 -1
  349. package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts +0 -1
  350. package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts.map +1 -1
  351. package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts +0 -1
  352. package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts.map +1 -1
  353. package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts +0 -1
  354. package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts.map +1 -1
  355. package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts +0 -1
  356. package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts.map +1 -1
  357. package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts +0 -1
  358. package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts.map +1 -1
  359. package/dist/types/src/base/ui/system/flex_item/align_self.d.ts +0 -1
  360. package/dist/types/src/base/ui/system/flex_item/align_self.d.ts.map +1 -1
  361. package/dist/types/src/base/ui/system/flex_item/flex.d.ts +0 -1
  362. package/dist/types/src/base/ui/system/flex_item/flex.d.ts.map +1 -1
  363. package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts +0 -1
  364. package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts.map +1 -1
  365. package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts +0 -1
  366. package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts.map +1 -1
  367. package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts +0 -1
  368. package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts.map +1 -1
  369. package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts +0 -1
  370. package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts.map +1 -1
  371. package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts +0 -1
  372. package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts.map +1 -1
  373. package/dist/types/src/base/ui/system/flex_item/order.d.ts +0 -1
  374. package/dist/types/src/base/ui/system/flex_item/order.d.ts.map +1 -1
  375. package/dist/types/src/base/ui/system/index.d.ts +52 -52
  376. package/dist/types/src/base/ui/system/index.d.ts.map +1 -1
  377. package/dist/types/src/base/ui/system/overflow.d.ts +0 -1
  378. package/dist/types/src/base/ui/system/overflow.d.ts.map +1 -1
  379. package/dist/types/src/base/ui/system/position/bottom.d.ts +0 -1
  380. package/dist/types/src/base/ui/system/position/bottom.d.ts.map +1 -1
  381. package/dist/types/src/base/ui/system/position/left.d.ts +0 -1
  382. package/dist/types/src/base/ui/system/position/left.d.ts.map +1 -1
  383. package/dist/types/src/base/ui/system/position/position.d.ts +0 -1
  384. package/dist/types/src/base/ui/system/position/position.d.ts.map +1 -1
  385. package/dist/types/src/base/ui/system/position/position_set.d.ts +0 -1
  386. package/dist/types/src/base/ui/system/position/position_set.d.ts.map +1 -1
  387. package/dist/types/src/base/ui/system/position/right.d.ts +0 -1
  388. package/dist/types/src/base/ui/system/position/right.d.ts.map +1 -1
  389. package/dist/types/src/base/ui/system/position/top.d.ts +0 -1
  390. package/dist/types/src/base/ui/system/position/top.d.ts.map +1 -1
  391. package/dist/types/src/base/ui/system/position/z_index.d.ts +0 -1
  392. package/dist/types/src/base/ui/system/position/z_index.d.ts.map +1 -1
  393. package/dist/types/src/base/ui/system/spacing/margin.d.ts +0 -1
  394. package/dist/types/src/base/ui/system/spacing/margin.d.ts.map +1 -1
  395. package/dist/types/src/base/ui/system/spacing/padding.d.ts +0 -1
  396. package/dist/types/src/base/ui/system/spacing/padding.d.ts.map +1 -1
  397. package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts +0 -1
  398. package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts.map +1 -1
  399. package/dist/types/src/base/ui/system/typography/font_family.d.ts +0 -1
  400. package/dist/types/src/base/ui/system/typography/font_family.d.ts.map +1 -1
  401. package/dist/types/src/base/ui/system/typography/font_size.d.ts +0 -1
  402. package/dist/types/src/base/ui/system/typography/font_size.d.ts.map +1 -1
  403. package/dist/types/src/base/ui/system/typography/font_style.d.ts +0 -1
  404. package/dist/types/src/base/ui/system/typography/font_style.d.ts.map +1 -1
  405. package/dist/types/src/base/ui/system/typography/font_weight.d.ts +0 -1
  406. package/dist/types/src/base/ui/system/typography/font_weight.d.ts.map +1 -1
  407. package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts +0 -1
  408. package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts.map +1 -1
  409. package/dist/types/src/base/ui/system/typography/line_height.d.ts +0 -1
  410. package/dist/types/src/base/ui/system/typography/line_height.d.ts.map +1 -1
  411. package/dist/types/src/base/ui/system/typography/text_align.d.ts +0 -1
  412. package/dist/types/src/base/ui/system/typography/text_align.d.ts.map +1 -1
  413. package/dist/types/src/base/ui/system/typography/text_color.d.ts +0 -1
  414. package/dist/types/src/base/ui/system/typography/text_color.d.ts.map +1 -1
  415. package/dist/types/src/base/ui/system/typography/text_decoration.d.ts +0 -1
  416. package/dist/types/src/base/ui/system/typography/text_decoration.d.ts.map +1 -1
  417. package/dist/types/src/base/ui/system/typography/text_transform.d.ts +0 -1
  418. package/dist/types/src/base/ui/system/typography/text_transform.d.ts.map +1 -1
  419. package/dist/types/src/base/ui/system/typography/typography_set.d.ts +0 -1
  420. package/dist/types/src/base/ui/system/typography/typography_set.d.ts.map +1 -1
  421. package/dist/types/src/base/ui/table_picker.d.ts +0 -21
  422. package/dist/types/src/base/ui/table_picker.d.ts.map +1 -1
  423. package/dist/types/src/base/ui/table_picker_synced.d.ts.map +1 -1
  424. package/dist/types/src/base/ui/text.d.ts +0 -3
  425. package/dist/types/src/base/ui/text.d.ts.map +1 -1
  426. package/dist/types/src/base/ui/text_button.d.ts +1 -5
  427. package/dist/types/src/base/ui/text_button.d.ts.map +1 -1
  428. package/dist/types/src/base/ui/theme/default_theme/index.d.ts +1 -1
  429. package/dist/types/src/base/ui/theme/theme_context.d.ts +1 -1
  430. package/dist/types/src/base/ui/theme/use_theme.d.ts +1 -1
  431. package/dist/types/src/base/ui/tooltip.d.ts +0 -16
  432. package/dist/types/src/base/ui/tooltip.d.ts.map +1 -1
  433. package/dist/types/src/base/ui/types/aria_props.d.ts.map +1 -1
  434. package/dist/types/src/base/ui/types/data_attributes_prop.d.ts +0 -4
  435. package/dist/types/src/base/ui/types/data_attributes_prop.d.ts.map +1 -1
  436. package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts +0 -7
  437. package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts.map +1 -1
  438. package/dist/types/src/base/ui/ui.d.ts +1 -0
  439. package/dist/types/src/base/ui/ui.d.ts.map +1 -1
  440. package/dist/types/src/base/ui/view_picker.d.ts +0 -23
  441. package/dist/types/src/base/ui/view_picker.d.ts.map +1 -1
  442. package/dist/types/src/base/ui/view_picker_synced.d.ts.map +1 -1
  443. package/dist/types/src/base/ui/viewport_constraint.d.ts +1 -14
  444. package/dist/types/src/base/ui/viewport_constraint.d.ts.map +1 -1
  445. package/dist/types/src/base/unstable_testing_utils.d.ts +1 -1
  446. package/dist/types/src/base/unstable_testing_utils.d.ts.map +1 -1
  447. package/dist/types/src/interface/assert_run_context.d.ts +2 -0
  448. package/dist/types/src/interface/assert_run_context.d.ts.map +1 -0
  449. package/dist/types/src/interface/index.d.ts +1 -6
  450. package/dist/types/src/interface/index.d.ts.map +1 -1
  451. package/dist/types/src/interface/models/models.d.ts +1 -0
  452. package/dist/types/src/interface/models/models.d.ts.map +1 -1
  453. package/dist/types/src/interface/models/mutations.d.ts.map +1 -1
  454. package/dist/types/src/interface/ui/initialize_block.d.ts.map +1 -1
  455. package/dist/types/src/interface/ui/ui.d.ts +1 -0
  456. package/dist/types/src/interface/ui/ui.d.ts.map +1 -1
  457. package/dist/types/src/interface/ui/use_custom_properties.d.ts +1 -1
  458. package/dist/types/src/shared/models/mutations_core.d.ts.map +1 -1
  459. package/dist/types/src/shared/private_utils.d.ts +0 -9
  460. package/dist/types/src/shared/private_utils.d.ts.map +1 -1
  461. package/dist/types/src/shared/ui/global_config_synced_component_helpers.d.ts +0 -2
  462. package/dist/types/src/shared/ui/global_config_synced_component_helpers.d.ts.map +1 -1
  463. package/dist/types/src/shared/ui/loader.d.ts.map +1 -1
  464. package/dist/types/src/shared/ui/with_hooks.d.ts +2 -2
  465. package/dist/types/src/shared/ui/with_hooks.d.ts.map +1 -1
  466. package/dist/types/src/testing/{abstract_mock_airtable_interface.d.ts → base/abstract_mock_airtable_interface.d.ts} +13 -13
  467. package/dist/types/src/testing/base/abstract_mock_airtable_interface.d.ts.map +1 -0
  468. package/dist/types/src/testing/interface/abstract_mock_airtable_interface.d.ts +51 -0
  469. package/dist/types/src/testing/interface/abstract_mock_airtable_interface.d.ts.map +1 -0
  470. package/package.json +13 -13
  471. package/dist/cjs/base/ui/system/utils/create_responsive_prop_type.js +0 -19
  472. package/dist/cjs/base/ui/system/utils/create_style_prop_types.js +0 -24
  473. package/dist/cjs/base/ui/system/utils/enum_prop_type_utils.js +0 -35
  474. package/dist/cjs/testing/abstract_mock_airtable_interface.js +0 -277
  475. package/dist/types/src/base/ui/system/utils/create_responsive_prop_type.d.ts +0 -2
  476. package/dist/types/src/base/ui/system/utils/create_responsive_prop_type.d.ts.map +0 -1
  477. package/dist/types/src/base/ui/system/utils/create_style_prop_types.d.ts +0 -4
  478. package/dist/types/src/base/ui/system/utils/create_style_prop_types.d.ts.map +0 -1
  479. package/dist/types/src/base/ui/system/utils/enum_prop_type_utils.d.ts +0 -21
  480. package/dist/types/src/base/ui/system/utils/enum_prop_type_utils.d.ts.map +0 -1
  481. package/dist/types/src/testing/abstract_mock_airtable_interface.d.ts.map +0 -1
@@ -1,338 +1,312 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.array.from.js");
4
- require("core-js/modules/es.array.slice.js");
5
- require("core-js/modules/es.regexp.exec.js");
6
- require("core-js/modules/es.regexp.to-string.js");
7
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
8
3
  Object.defineProperty(exports, "__esModule", {
9
4
  value: true
10
5
  });
11
6
  exports.default = void 0;
12
- require("core-js/modules/es.symbol.js");
13
- require("core-js/modules/es.symbol.description.js");
14
- require("core-js/modules/es.array.flat-map.js");
15
- require("core-js/modules/es.array.includes.js");
16
- require("core-js/modules/es.array.iterator.js");
17
- require("core-js/modules/es.array.map.js");
18
- require("core-js/modules/es.array.unscopables.flat-map.js");
19
- require("core-js/modules/es.object.to-string.js");
20
- require("core-js/modules/es.set.js");
21
- require("core-js/modules/es.string.includes.js");
22
- require("core-js/modules/web.dom-collections.iterator.js");
23
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
24
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
25
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
26
- var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
27
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
28
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
29
7
  var _airtable_interface = require("../types/airtable_interface");
30
8
  var _mutations = require("../types/mutations");
31
9
  var _error_utils = require("../../shared/error_utils");
32
10
  var _mutation_constants = require("../../shared/types/mutation_constants");
33
11
  var _mutations_core = require("../../shared/models/mutations_core");
34
- function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
35
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
36
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
37
- function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
38
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
39
12
  /** @hidden */
40
- var Mutations = /*#__PURE__*/function (_MutationsCore) {
41
- function Mutations() {
42
- (0, _classCallCheck2.default)(this, Mutations);
43
- return _callSuper(this, Mutations, arguments);
13
+ class Mutations extends _mutations_core.MutationsCore {
14
+ /** @internal */
15
+ _isRecordStoreReadyForMutations(recordStore) {
16
+ return recordStore.isRecordMetadataLoaded;
44
17
  }
45
- (0, _inherits2.default)(Mutations, _MutationsCore);
46
- return (0, _createClass2.default)(Mutations, [{
47
- key: "_isRecordStoreReadyForMutations",
48
- value: /** @internal */
49
- function _isRecordStoreReadyForMutations(recordStore) {
50
- return recordStore.isRecordMetadataLoaded;
51
- }
52
18
 
53
- /** @internal */
54
- }, {
55
- key: "_isFieldAvailableForMutation",
56
- value: function _isFieldAvailableForMutation(recordStore, fieldId) {
57
- return recordStore.areCellValuesLoadedForFieldId(fieldId);
58
- }
19
+ /** @internal */
20
+ _isFieldAvailableForMutation(recordStore, fieldId) {
21
+ return recordStore.areCellValuesLoadedForFieldId(fieldId);
22
+ }
23
+
24
+ /** @internal */
25
+ _getDefaultRecordProperties() {
26
+ return {
27
+ commentCount: 0,
28
+ createdTime: new Date().toJSON()
29
+ };
30
+ }
59
31
 
60
- /** @internal */
61
- }, {
62
- key: "_assertMutationIsValid",
63
- value: function _assertMutationIsValid(mutation) {
64
- // We call validate the data (including any cell values) because if the data required for
65
- // us to do that is already loaded in the block, we can error out before applying
66
- // optimistic updates or sending the update to liveapp. That means that the error is
67
- // recoverable. Once we apply optimistic updates, if liveapp rejects the update then we
68
- // can't recover from that - we have to crash the block. We _could_ skip over these
69
- // validations - it wouldn't cause issues outside of the block frame. But running them
70
- // gives us slightly more confidence that we can do something other than completely crash
71
- // the block in the event of an invalid mutation.
32
+ /** @internal */
33
+ _assertMutationIsValid(mutation) {
34
+ // We call validate the data (including any cell values) because if the data required for
35
+ // us to do that is already loaded in the block, we can error out before applying
36
+ // optimistic updates or sending the update to liveapp. That means that the error is
37
+ // recoverable. Once we apply optimistic updates, if liveapp rejects the update then we
38
+ // can't recover from that - we have to crash the block. We _could_ skip over these
39
+ // validations - it wouldn't cause issues outside of the block frame. But running them
40
+ // gives us slightly more confidence that we can do something other than completely crash
41
+ // the block in the event of an invalid mutation.
72
42
 
73
- var appInterface = this._sdk.__appInterface;
74
- var billingPlanGrouping = this._base.__billingPlanGrouping;
75
- switch (mutation.type) {
76
- case _mutations.MutationTypes.SET_MULTIPLE_GLOBAL_CONFIG_PATHS:
77
- case _mutations.MutationTypes.SET_MULTIPLE_RECORDS_CELL_VALUES:
78
- case _mutations.MutationTypes.CREATE_MULTIPLE_RECORDS:
79
- case _mutations.MutationTypes.DELETE_MULTIPLE_RECORDS:
80
- {
81
- (0, _get2.default)((0, _getPrototypeOf2.default)(Mutations.prototype), "_assertMutationIsValid", this).call(this, mutation);
82
- return;
43
+ const appInterface = this._sdk.__appInterface;
44
+ const billingPlanGrouping = this._base.__billingPlanGrouping;
45
+ switch (mutation.type) {
46
+ case _mutations.MutationTypes.SET_MULTIPLE_GLOBAL_CONFIG_PATHS:
47
+ case _mutations.MutationTypes.SET_MULTIPLE_RECORDS_CELL_VALUES:
48
+ case _mutations.MutationTypes.CREATE_MULTIPLE_RECORDS:
49
+ case _mutations.MutationTypes.DELETE_MULTIPLE_RECORDS:
50
+ {
51
+ super._assertMutationIsValid(mutation);
52
+ return;
53
+ }
54
+ case _mutations.MutationTypes.CREATE_SINGLE_FIELD:
55
+ {
56
+ const {
57
+ tableId,
58
+ name,
59
+ config,
60
+ description
61
+ } = mutation;
62
+ const table = this._base.getTableByIdIfExists(tableId);
63
+ if (!table) {
64
+ throw (0, _error_utils.spawnError)("Can't create field: No table with id %s exists", tableId);
83
65
  }
84
- case _mutations.MutationTypes.CREATE_SINGLE_FIELD:
85
- {
86
- var tableId = mutation.tableId,
87
- name = mutation.name,
88
- config = mutation.config,
89
- description = mutation.description;
90
- var table = this._base.getTableByIdIfExists(tableId);
91
- if (!table) {
92
- throw (0, _error_utils.spawnError)("Can't create field: No table with id %s exists", tableId);
93
- }
94
- if (table.fields.length >= _mutation_constants.MAX_NUM_FIELDS_PER_TABLE) {
95
- throw (0, _error_utils.spawnError)("Can't create field: table already has the maximum of %s fields", _mutation_constants.MAX_NUM_FIELDS_PER_TABLE);
96
- }
97
- this._assertFieldNameIsValidForMutation(name, table);
66
+ if (table.fields.length >= _mutation_constants.MAX_NUM_FIELDS_PER_TABLE) {
67
+ throw (0, _error_utils.spawnError)("Can't create field: table already has the maximum of %s fields", _mutation_constants.MAX_NUM_FIELDS_PER_TABLE);
68
+ }
69
+ this._assertFieldNameIsValidForMutation(name, table);
98
70
 
99
- // Current config / field data is null since the field doesn't exist.
100
- var validationResult = this._airtableInterface.fieldTypeProvider.validateConfigForUpdate(appInterface, config, null, null, billingPlanGrouping);
101
- if (!validationResult.isValid) {
102
- throw (0, _error_utils.spawnError)("Can't create field: invalid field config.\n%s", validationResult.reason);
103
- }
104
- if (description && description.length > _mutation_constants.MAX_FIELD_DESCRIPTION_LENGTH) {
105
- throw (0, _error_utils.spawnError)("Can't create field: description exceeds maximum length of %s characters", _mutation_constants.MAX_FIELD_DESCRIPTION_LENGTH);
106
- }
107
- return;
71
+ // Current config / field data is null since the field doesn't exist.
72
+ const validationResult = this._airtableInterface.fieldTypeProvider.validateConfigForUpdate(appInterface, config, null, null, billingPlanGrouping);
73
+ if (!validationResult.isValid) {
74
+ throw (0, _error_utils.spawnError)("Can't create field: invalid field config.\n%s", validationResult.reason);
75
+ }
76
+ if (description && description.length > _mutation_constants.MAX_FIELD_DESCRIPTION_LENGTH) {
77
+ throw (0, _error_utils.spawnError)("Can't create field: description exceeds maximum length of %s characters", _mutation_constants.MAX_FIELD_DESCRIPTION_LENGTH);
78
+ }
79
+ return;
80
+ }
81
+ case _mutations.MutationTypes.UPDATE_SINGLE_FIELD_CONFIG:
82
+ {
83
+ const {
84
+ tableId,
85
+ id,
86
+ config,
87
+ opts
88
+ } = mutation;
89
+ const table = this._base.getTableByIdIfExists(tableId);
90
+ if (!table) {
91
+ throw (0, _error_utils.spawnError)("Can't update field: No table with id %s exists", tableId);
92
+ }
93
+ const field = table.getFieldByIdIfExists(id);
94
+ if (!field) {
95
+ throw (0, _error_utils.spawnError)("Can't update field: No field with id %s exists", id);
108
96
  }
109
- case _mutations.MutationTypes.UPDATE_SINGLE_FIELD_CONFIG:
110
- {
111
- var _tableId = mutation.tableId,
112
- id = mutation.id,
113
- _config = mutation.config,
114
- opts = mutation.opts;
115
- var _table = this._base.getTableByIdIfExists(_tableId);
116
- if (!_table) {
117
- throw (0, _error_utils.spawnError)("Can't update field: No table with id %s exists", _tableId);
118
- }
119
- var field = _table.getFieldByIdIfExists(id);
120
- if (!field) {
121
- throw (0, _error_utils.spawnError)("Can't update field: No field with id %s exists", id);
122
- }
123
97
 
124
- // we get the config directly instead of using field.type/field.options to get it
125
- // in one call and because field.options returns null instead of undefined when
126
- // a field does not have options, whilst we need to pass undefined
127
- var currentConfig = this._airtableInterface.fieldTypeProvider.getConfig(appInterface, field._data, field.parentTable.__getFieldNamesById());
128
- var _validationResult = this._airtableInterface.fieldTypeProvider.validateConfigForUpdate(appInterface, _config, currentConfig, field._data, billingPlanGrouping, opts);
129
- if (!_validationResult.isValid) {
130
- throw (0, _error_utils.spawnError)("Can't update field: invalid field config.\n%s", _validationResult.reason);
131
- }
132
- return;
98
+ // we get the config directly instead of using field.type/field.options to get it
99
+ // in one call and because field.options returns null instead of undefined when
100
+ // a field does not have options, whilst we need to pass undefined
101
+ const currentConfig = this._airtableInterface.fieldTypeProvider.getConfig(appInterface, field._data, field.parentTable.__getFieldNamesById());
102
+ const validationResult = this._airtableInterface.fieldTypeProvider.validateConfigForUpdate(appInterface, config, currentConfig, field._data, billingPlanGrouping, opts);
103
+ if (!validationResult.isValid) {
104
+ throw (0, _error_utils.spawnError)("Can't update field: invalid field config.\n%s", validationResult.reason);
133
105
  }
134
- case _mutations.MutationTypes.UPDATE_SINGLE_FIELD_DESCRIPTION:
135
- {
136
- var _tableId2 = mutation.tableId,
137
- _id = mutation.id,
138
- _description = mutation.description;
139
- var _table2 = this._base.getTableByIdIfExists(_tableId2);
140
- if (!_table2) {
141
- throw (0, _error_utils.spawnError)("Can't update field: No table with id %s exists", _tableId2);
142
- }
143
- var _field = _table2.getFieldByIdIfExists(_id);
144
- if (!_field) {
145
- throw (0, _error_utils.spawnError)("Can't update field: No field with id %s exists", _id);
146
- }
147
- if (_description && _description.length > _mutation_constants.MAX_FIELD_DESCRIPTION_LENGTH) {
148
- throw (0, _error_utils.spawnError)("Can't update field: description exceeds maximum length of %s characters", _mutation_constants.MAX_FIELD_DESCRIPTION_LENGTH);
149
- }
150
- return;
106
+ return;
107
+ }
108
+ case _mutations.MutationTypes.UPDATE_SINGLE_FIELD_DESCRIPTION:
109
+ {
110
+ const {
111
+ tableId,
112
+ id,
113
+ description
114
+ } = mutation;
115
+ const table = this._base.getTableByIdIfExists(tableId);
116
+ if (!table) {
117
+ throw (0, _error_utils.spawnError)("Can't update field: No table with id %s exists", tableId);
118
+ }
119
+ const field = table.getFieldByIdIfExists(id);
120
+ if (!field) {
121
+ throw (0, _error_utils.spawnError)("Can't update field: No field with id %s exists", id);
122
+ }
123
+ if (description && description.length > _mutation_constants.MAX_FIELD_DESCRIPTION_LENGTH) {
124
+ throw (0, _error_utils.spawnError)("Can't update field: description exceeds maximum length of %s characters", _mutation_constants.MAX_FIELD_DESCRIPTION_LENGTH);
125
+ }
126
+ return;
127
+ }
128
+ case _mutations.MutationTypes.UPDATE_SINGLE_FIELD_NAME:
129
+ {
130
+ const {
131
+ tableId,
132
+ id,
133
+ name
134
+ } = mutation;
135
+ const table = this._base.getTableByIdIfExists(tableId);
136
+ if (!table) {
137
+ throw (0, _error_utils.spawnError)("Can't update field: No table with id %s exists", tableId);
138
+ }
139
+ const field = table.getFieldByIdIfExists(id);
140
+ if (!field) {
141
+ throw (0, _error_utils.spawnError)("Can't update field: No field with id %s exists", id);
151
142
  }
152
- case _mutations.MutationTypes.UPDATE_SINGLE_FIELD_NAME:
153
- {
154
- var _tableId3 = mutation.tableId,
155
- _id2 = mutation.id,
156
- _name = mutation.name;
157
- var _table3 = this._base.getTableByIdIfExists(_tableId3);
158
- if (!_table3) {
159
- throw (0, _error_utils.spawnError)("Can't update field: No table with id %s exists", _tableId3);
160
- }
161
- var _field2 = _table3.getFieldByIdIfExists(_id2);
162
- if (!_field2) {
163
- throw (0, _error_utils.spawnError)("Can't update field: No field with id %s exists", _id2);
164
- }
165
143
 
166
- // We skip name validation if it's the same name:
167
- // If it's exactly same name, this will result in no-op;
168
- // If it's only case change, we allow update and we know this name is already validated before;
169
- if (_field2.name.toLowerCase() !== _name.toLowerCase()) {
170
- this._assertFieldNameIsValidForMutation(_name, _table3);
171
- }
172
- return;
144
+ // We skip name validation if it's the same name:
145
+ // If it's exactly same name, this will result in no-op;
146
+ // If it's only case change, we allow update and we know this name is already validated before;
147
+ if (field.name.toLowerCase() !== name.toLowerCase()) {
148
+ this._assertFieldNameIsValidForMutation(name, table);
173
149
  }
174
- case _mutations.MutationTypes.CREATE_SINGLE_TABLE:
175
- {
176
- var _name2 = mutation.name,
177
- fields = mutation.fields;
178
- if (!_name2) {
179
- throw (0, _error_utils.spawnError)("Can't create table: must provide non-empty name");
180
- }
181
- if (_name2.length > _mutation_constants.MAX_TABLE_NAME_LENGTH) {
182
- throw (0, _error_utils.spawnError)("Can't create table: name '%s' exceeds maximum length of %s characters", _name2, _mutation_constants.MAX_TABLE_NAME_LENGTH);
183
- }
184
- var existingLowercaseTableNames = this._base.tables.map(table => table.name.toLowerCase());
185
- if (existingLowercaseTableNames.includes(_name2.toLowerCase())) {
186
- throw (0, _error_utils.spawnError)("Can't create table: table with name '%s' already exists", _name2);
150
+ return;
151
+ }
152
+ case _mutations.MutationTypes.CREATE_SINGLE_TABLE:
153
+ {
154
+ const {
155
+ name,
156
+ fields
157
+ } = mutation;
158
+ if (!name) {
159
+ throw (0, _error_utils.spawnError)("Can't create table: must provide non-empty name");
160
+ }
161
+ if (name.length > _mutation_constants.MAX_TABLE_NAME_LENGTH) {
162
+ throw (0, _error_utils.spawnError)("Can't create table: name '%s' exceeds maximum length of %s characters", name, _mutation_constants.MAX_TABLE_NAME_LENGTH);
163
+ }
164
+ const existingLowercaseTableNames = this._base.tables.map(table => table.name.toLowerCase());
165
+ if (existingLowercaseTableNames.includes(name.toLowerCase())) {
166
+ throw (0, _error_utils.spawnError)("Can't create table: table with name '%s' already exists", name);
167
+ }
168
+ if (fields.length === 0) {
169
+ throw (0, _error_utils.spawnError)("Can't create table: must specify at least one field");
170
+ }
171
+ if (fields.length > _mutation_constants.MAX_NUM_FIELDS_PER_TABLE) {
172
+ throw (0, _error_utils.spawnError)("Can't create table: number of fields exceeds maximum of %s", _mutation_constants.MAX_NUM_FIELDS_PER_TABLE);
173
+ }
174
+ const lowercaseFieldNames = new Set();
175
+ for (const field of fields) {
176
+ if (!field.name) {
177
+ throw (0, _error_utils.spawnError)("Can't create table: must provide non-empty name for every field");
187
178
  }
188
- if (fields.length === 0) {
189
- throw (0, _error_utils.spawnError)("Can't create table: must specify at least one field");
179
+ if (field.name.length > _mutation_constants.MAX_FIELD_NAME_LENGTH) {
180
+ throw (0, _error_utils.spawnError)("Can't create table: field name '%s' exceeds maximum length of %s characters", field.name, _mutation_constants.MAX_FIELD_NAME_LENGTH);
190
181
  }
191
- if (fields.length > _mutation_constants.MAX_NUM_FIELDS_PER_TABLE) {
192
- throw (0, _error_utils.spawnError)("Can't create table: number of fields exceeds maximum of %s", _mutation_constants.MAX_NUM_FIELDS_PER_TABLE);
182
+ const lowercaseFieldName = field.name.toLowerCase();
183
+ if (lowercaseFieldNames.has(lowercaseFieldName)) {
184
+ throw (0, _error_utils.spawnError)("Can't create table: duplicate field name '%s'", field.name);
193
185
  }
194
- var lowercaseFieldNames = new Set();
195
- var _iterator = _createForOfIteratorHelper(fields),
196
- _step;
197
- try {
198
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
199
- var _field3 = _step.value;
200
- if (!_field3.name) {
201
- throw (0, _error_utils.spawnError)("Can't create table: must provide non-empty name for every field");
202
- }
203
- if (_field3.name.length > _mutation_constants.MAX_FIELD_NAME_LENGTH) {
204
- throw (0, _error_utils.spawnError)("Can't create table: field name '%s' exceeds maximum length of %s characters", _field3.name, _mutation_constants.MAX_FIELD_NAME_LENGTH);
205
- }
206
- var lowercaseFieldName = _field3.name.toLowerCase();
207
- if (lowercaseFieldNames.has(lowercaseFieldName)) {
208
- throw (0, _error_utils.spawnError)("Can't create table: duplicate field name '%s'", _field3.name);
209
- }
210
- lowercaseFieldNames.add(lowercaseFieldName);
186
+ lowercaseFieldNames.add(lowercaseFieldName);
211
187
 
212
- // Current config / field data is null since the field doesn't exist.
213
- var _validationResult2 = this._airtableInterface.fieldTypeProvider.validateConfigForUpdate(appInterface, _field3.config, null, null, billingPlanGrouping);
214
- if (!_validationResult2.isValid) {
215
- throw (0, _error_utils.spawnError)("Can't create table: invalid field config for field '%s'.\n%s", _field3.name, _validationResult2.reason);
216
- }
217
- if (_field3.description && _field3.description.length > _mutation_constants.MAX_FIELD_DESCRIPTION_LENGTH) {
218
- throw (0, _error_utils.spawnError)("Can't create table: description for field '%s' exceeds maximum length of %s characters", _field3.name, _mutation_constants.MAX_FIELD_DESCRIPTION_LENGTH);
219
- }
220
- }
221
- } catch (err) {
222
- _iterator.e(err);
223
- } finally {
224
- _iterator.f();
188
+ // Current config / field data is null since the field doesn't exist.
189
+ const validationResult = this._airtableInterface.fieldTypeProvider.validateConfigForUpdate(appInterface, field.config, null, null, billingPlanGrouping);
190
+ if (!validationResult.isValid) {
191
+ throw (0, _error_utils.spawnError)("Can't create table: invalid field config for field '%s'.\n%s", field.name, validationResult.reason);
225
192
  }
226
- var primaryField = fields[0];
227
- if (!this._airtableInterface.fieldTypeProvider.canBePrimary(appInterface, primaryField.config, billingPlanGrouping)) {
228
- throw (0, _error_utils.spawnError)("Can't create table: first field '%s' has type '%s' which cannot be a primary field", primaryField.name, primaryField.config.type);
193
+ if (field.description && field.description.length > _mutation_constants.MAX_FIELD_DESCRIPTION_LENGTH) {
194
+ throw (0, _error_utils.spawnError)("Can't create table: description for field '%s' exceeds maximum length of %s characters", field.name, _mutation_constants.MAX_FIELD_DESCRIPTION_LENGTH);
229
195
  }
230
- return;
231
196
  }
232
- case _mutations.MutationTypes.UPDATE_VIEW_METADATA:
233
- {
234
- var _tableId4 = mutation.tableId,
235
- viewId = mutation.viewId;
236
- var runContext = this._airtableInterface.sdkInitData.runContext;
237
- if (runContext.type !== _airtable_interface.BlockRunContextType.VIEW) {
238
- throw (0, _error_utils.spawnError)('Setting view metadata is only valid for views');
239
- }
240
- if (runContext.viewId !== viewId || runContext.tableId !== _tableId4) {
241
- throw (0, _error_utils.spawnError)('Custom views can only set view metadata on themselves');
242
- }
243
- var _table4 = this._base.getTableByIdIfExists(_tableId4);
244
- if (!_table4) {
245
- throw (0, _error_utils.spawnError)("Can't update metadata: No table with id %s exists", _tableId4);
246
- }
247
- var view = _table4.getViewByIdIfExists(viewId);
248
- if (!view) {
249
- throw (0, _error_utils.spawnError)("Can't update metadata: No view with id %s exists", viewId);
250
- }
251
- return;
197
+ const primaryField = fields[0];
198
+ if (!this._airtableInterface.fieldTypeProvider.canBePrimary(appInterface, primaryField.config, billingPlanGrouping)) {
199
+ throw (0, _error_utils.spawnError)("Can't create table: first field '%s' has type '%s' which cannot be a primary field", primaryField.name, primaryField.config.type);
200
+ }
201
+ return;
202
+ }
203
+ case _mutations.MutationTypes.UPDATE_VIEW_METADATA:
204
+ {
205
+ const {
206
+ tableId,
207
+ viewId
208
+ } = mutation;
209
+ const {
210
+ runContext
211
+ } = this._airtableInterface.sdkInitData;
212
+ if (runContext.type !== _airtable_interface.BlockRunContextType.VIEW) {
213
+ throw (0, _error_utils.spawnError)('Setting view metadata is only valid for views');
252
214
  }
253
- default:
254
- throw (0, _error_utils.spawnUnknownSwitchCaseError)('mutation type', mutation, 'type');
255
- }
215
+ if (runContext.viewId !== viewId || runContext.tableId !== tableId) {
216
+ throw (0, _error_utils.spawnError)('Custom views can only set view metadata on themselves');
217
+ }
218
+ const table = this._base.getTableByIdIfExists(tableId);
219
+ if (!table) {
220
+ throw (0, _error_utils.spawnError)("Can't update metadata: No table with id %s exists", tableId);
221
+ }
222
+ const view = table.getViewByIdIfExists(viewId);
223
+ if (!view) {
224
+ throw (0, _error_utils.spawnError)("Can't update metadata: No view with id %s exists", viewId);
225
+ }
226
+ return;
227
+ }
228
+ default:
229
+ throw (0, _error_utils.spawnUnknownSwitchCaseError)('mutation type', mutation, 'type');
256
230
  }
231
+ }
257
232
 
258
- /** @internal */
259
- }, {
260
- key: "_assertFieldNameIsValidForMutation",
261
- value: function _assertFieldNameIsValidForMutation(name, table) {
262
- if (!name) {
263
- throw (0, _error_utils.spawnError)("Can't create or update field: must provide non-empty name");
264
- }
265
- if (name.length > _mutation_constants.MAX_FIELD_NAME_LENGTH) {
266
- throw (0, _error_utils.spawnError)("Can't create or update field: name '%s' exceeds maximum length of %s characters", name, _mutation_constants.MAX_FIELD_NAME_LENGTH);
267
- }
233
+ /** @internal */
234
+ _assertFieldNameIsValidForMutation(name, table) {
235
+ if (!name) {
236
+ throw (0, _error_utils.spawnError)("Can't create or update field: must provide non-empty name");
237
+ }
238
+ if (name.length > _mutation_constants.MAX_FIELD_NAME_LENGTH) {
239
+ throw (0, _error_utils.spawnError)("Can't create or update field: name '%s' exceeds maximum length of %s characters", name, _mutation_constants.MAX_FIELD_NAME_LENGTH);
240
+ }
268
241
 
269
- // Verify the new name doesn't collide with any existing field name.
270
- var existingLowercaseFieldNames = table.fields.map(field => field.name.toLowerCase());
271
- if (existingLowercaseFieldNames.includes(name.toLowerCase())) {
272
- throw (0, _error_utils.spawnError)("Can't create or update field: field with name '%s' already exists", name);
273
- }
242
+ // Verify the new name doesn't collide with any existing field name.
243
+ const existingLowercaseFieldNames = table.fields.map(field => field.name.toLowerCase());
244
+ if (existingLowercaseFieldNames.includes(name.toLowerCase())) {
245
+ throw (0, _error_utils.spawnError)("Can't create or update field: field with name '%s' already exists", name);
274
246
  }
247
+ }
275
248
 
276
- /** @internal */
277
- }, {
278
- key: "_getOptimisticModelChangesForMutation",
279
- value: function _getOptimisticModelChangesForMutation(mutation) {
280
- switch (mutation.type) {
281
- case _mutations.MutationTypes.SET_MULTIPLE_GLOBAL_CONFIG_PATHS:
282
- case _mutations.MutationTypes.SET_MULTIPLE_RECORDS_CELL_VALUES:
283
- return (0, _get2.default)((0, _getPrototypeOf2.default)(Mutations.prototype), "_getOptimisticModelChangesForMutation", this).call(this, mutation);
284
- case _mutations.MutationTypes.CREATE_MULTIPLE_RECORDS:
285
- {
286
- var tableId = mutation.tableId,
287
- records = mutation.records;
288
- var recordStore = this._base.__getRecordStore(tableId);
289
- if (!recordStore.isRecordMetadataLoaded) {
290
- return [];
291
- }
292
- var superChanges = (0, _get2.default)((0, _getPrototypeOf2.default)(Mutations.prototype), "_getOptimisticModelChangesForMutation", this).call(this, mutation);
293
- return [...superChanges, ...this._base.getTableById(tableId).views.flatMap(view => {
294
- var viewDataStore = recordStore.getViewDataStore(view.id);
295
- if (!viewDataStore.isDataLoaded) {
296
- return [];
297
- }
298
- return viewDataStore.__generateChangesForParentTableAddMultipleRecords(records.map(record => record.id));
299
- })];
249
+ /** @internal */
250
+ _getOptimisticModelChangesForMutation(mutation) {
251
+ switch (mutation.type) {
252
+ case _mutations.MutationTypes.SET_MULTIPLE_GLOBAL_CONFIG_PATHS:
253
+ case _mutations.MutationTypes.SET_MULTIPLE_RECORDS_CELL_VALUES:
254
+ return super._getOptimisticModelChangesForMutation(mutation);
255
+ case _mutations.MutationTypes.CREATE_MULTIPLE_RECORDS:
256
+ {
257
+ const {
258
+ tableId,
259
+ records
260
+ } = mutation;
261
+ const recordStore = this._base.__getRecordStore(tableId);
262
+ if (!recordStore.isRecordMetadataLoaded) {
263
+ return [];
300
264
  }
301
- case _mutations.MutationTypes.DELETE_MULTIPLE_RECORDS:
302
- {
303
- var _tableId5 = mutation.tableId,
304
- recordIds = mutation.recordIds;
305
- var _recordStore = this._base.__getRecordStore(_tableId5);
306
- if (!_recordStore.isRecordMetadataLoaded) {
265
+ const superChanges = super._getOptimisticModelChangesForMutation(mutation);
266
+ return [...superChanges, ...this._base.getTableById(tableId).views.flatMap(view => {
267
+ const viewDataStore = recordStore.getViewDataStore(view.id);
268
+ if (!viewDataStore.isDataLoaded) {
307
269
  return [];
308
270
  }
309
- var _superChanges = (0, _get2.default)((0, _getPrototypeOf2.default)(Mutations.prototype), "_getOptimisticModelChangesForMutation", this).call(this, mutation);
310
- return [..._superChanges, ...this._base.getTableById(_tableId5).views.flatMap(view => {
311
- var viewDataStore = _recordStore.getViewDataStore(view.id);
312
- if (!viewDataStore.isDataLoaded) {
313
- return [];
314
- }
315
- return viewDataStore.__generateChangesForParentTableDeleteMultipleRecords(recordIds);
316
- })];
317
- }
318
- case _mutations.MutationTypes.CREATE_SINGLE_FIELD:
319
- case _mutations.MutationTypes.UPDATE_SINGLE_FIELD_CONFIG:
320
- case _mutations.MutationTypes.UPDATE_SINGLE_FIELD_DESCRIPTION:
321
- case _mutations.MutationTypes.UPDATE_SINGLE_FIELD_NAME:
322
- case _mutations.MutationTypes.UPDATE_VIEW_METADATA:
323
- case _mutations.MutationTypes.CREATE_SINGLE_TABLE:
324
- {
325
- // No optimistic updates for field, view metadata, or table mutations.
271
+ return viewDataStore.__generateChangesForParentTableAddMultipleRecords(records.map(record => record.id));
272
+ })];
273
+ }
274
+ case _mutations.MutationTypes.DELETE_MULTIPLE_RECORDS:
275
+ {
276
+ const {
277
+ tableId,
278
+ recordIds
279
+ } = mutation;
280
+ const recordStore = this._base.__getRecordStore(tableId);
281
+ if (!recordStore.isRecordMetadataLoaded) {
326
282
  return [];
327
283
  }
284
+ const superChanges = super._getOptimisticModelChangesForMutation(mutation);
285
+ return [...superChanges, ...this._base.getTableById(tableId).views.flatMap(view => {
286
+ const viewDataStore = recordStore.getViewDataStore(view.id);
287
+ if (!viewDataStore.isDataLoaded) {
288
+ return [];
289
+ }
290
+ return viewDataStore.__generateChangesForParentTableDeleteMultipleRecords(recordIds);
291
+ })];
292
+ }
293
+ case _mutations.MutationTypes.CREATE_SINGLE_FIELD:
294
+ case _mutations.MutationTypes.UPDATE_SINGLE_FIELD_CONFIG:
295
+ case _mutations.MutationTypes.UPDATE_SINGLE_FIELD_DESCRIPTION:
296
+ case _mutations.MutationTypes.UPDATE_SINGLE_FIELD_NAME:
297
+ case _mutations.MutationTypes.UPDATE_VIEW_METADATA:
298
+ case _mutations.MutationTypes.CREATE_SINGLE_TABLE:
299
+ {
300
+ // No optimistic updates for field, view metadata, or table mutations.
301
+ return [];
302
+ }
328
303
 
329
- // The following branch is unreachable because this method's only
330
- // call site is preceded by an explicit guard for this condition.
331
- // istanbul ignore next
332
- default:
333
- throw (0, _error_utils.spawnUnknownSwitchCaseError)('mutation type', mutation, 'type');
334
- }
304
+ // The following branch is unreachable because this method's only
305
+ // call site is preceded by an explicit guard for this condition.
306
+ // istanbul ignore next
307
+ default:
308
+ throw (0, _error_utils.spawnUnknownSwitchCaseError)('mutation type', mutation, 'type');
335
309
  }
336
- }]);
337
- }(_mutations_core.MutationsCore);
310
+ }
311
+ }
338
312
  var _default = exports.default = Mutations;