diff options
Diffstat (limited to 'frontend/app/api/crud.types.js')
| -rw-r--r-- | frontend/app/api/crud.types.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/frontend/app/api/crud.types.js b/frontend/app/api/crud.types.js new file mode 100644 index 0000000..7b24811 --- /dev/null +++ b/frontend/app/api/crud.types.js @@ -0,0 +1,36 @@ + +export const as_type = (a, b) => [a, b].join('_').toUpperCase() + +export const with_type = (type, actions) => + actions.reduce((a, b) => (a[b] = as_type(type, b)) && a, {}) + +export const crud_type = (type, actions=[]) => + with_type(type, actions.concat([ + 'index_loading', + 'index', + 'index_error', + 'index_sort', + 'show_loading', + 'show', + 'show_error', + 'create_loading', + 'create', + 'create_error', + 'update_loading', + 'update', + 'update_error', + 'destroy_loading', + 'destroy', + 'destroy_error', + 'upload_loading', + 'upload_progress', + 'upload_waiting', + 'upload_complete', + 'upload_error', + 'sort', + 'update_option', + 'update_options', + 'loading', + 'loaded', + 'error', + ])) |
