@cravery/types 0.0.1
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/README.md +18 -0
- package/dist/common/allergen.d.ts +3 -0
- package/dist/common/allergen.d.ts.map +1 -0
- package/dist/common/allergen.js +19 -0
- package/dist/common/allergen.js.map +1 -0
- package/dist/common/cuisine.d.ts +3 -0
- package/dist/common/cuisine.d.ts.map +1 -0
- package/dist/common/cuisine.js +79 -0
- package/dist/common/cuisine.js.map +1 -0
- package/dist/common/currency.d.ts +6 -0
- package/dist/common/currency.d.ts.map +1 -0
- package/dist/common/currency.js +3 -0
- package/dist/common/currency.js.map +1 -0
- package/dist/common/currency_code.d.ts +3 -0
- package/dist/common/currency_code.d.ts.map +1 -0
- package/dist/common/currency_code.js +13 -0
- package/dist/common/currency_code.js.map +1 -0
- package/dist/common/dietary_tag.d.ts +3 -0
- package/dist/common/dietary_tag.d.ts.map +1 -0
- package/dist/common/dietary_tag.js +21 -0
- package/dist/common/dietary_tag.js.map +1 -0
- package/dist/common/difficulty.d.ts +3 -0
- package/dist/common/difficulty.d.ts.map +1 -0
- package/dist/common/difficulty.js +5 -0
- package/dist/common/difficulty.js.map +1 -0
- package/dist/common/index.d.ts +14 -0
- package/dist/common/index.d.ts.map +1 -0
- package/dist/common/index.js +30 -0
- package/dist/common/index.js.map +1 -0
- package/dist/common/meal_type.d.ts +3 -0
- package/dist/common/meal_type.d.ts.map +1 -0
- package/dist/common/meal_type.js +16 -0
- package/dist/common/meal_type.js.map +1 -0
- package/dist/common/measurement_system.d.ts +3 -0
- package/dist/common/measurement_system.d.ts.map +1 -0
- package/dist/common/measurement_system.js +5 -0
- package/dist/common/measurement_system.js.map +1 -0
- package/dist/common/nutrition.d.ts +12 -0
- package/dist/common/nutrition.d.ts.map +1 -0
- package/dist/common/nutrition.js +3 -0
- package/dist/common/nutrition.js.map +1 -0
- package/dist/common/price.d.ts +6 -0
- package/dist/common/price.d.ts.map +1 -0
- package/dist/common/price.js +3 -0
- package/dist/common/price.js.map +1 -0
- package/dist/common/spiciness.d.ts +3 -0
- package/dist/common/spiciness.d.ts.map +1 -0
- package/dist/common/spiciness.js +11 -0
- package/dist/common/spiciness.js.map +1 -0
- package/dist/common/temperature.d.ts +6 -0
- package/dist/common/temperature.d.ts.map +1 -0
- package/dist/common/temperature.js +3 -0
- package/dist/common/temperature.js.map +1 -0
- package/dist/common/temperature_unit.d.ts +3 -0
- package/dist/common/temperature_unit.d.ts.map +1 -0
- package/dist/common/temperature_unit.js +5 -0
- package/dist/common/temperature_unit.js.map +1 -0
- package/dist/common/unit.d.ts +3 -0
- package/dist/common/unit.d.ts.map +1 -0
- package/dist/common/unit.js +51 -0
- package/dist/common/unit.js.map +1 -0
- package/dist/core/api.d.ts +16 -0
- package/dist/core/api.d.ts.map +1 -0
- package/dist/core/api.js +14 -0
- package/dist/core/api.js.map +1 -0
- package/dist/core/entity.d.ts +8 -0
- package/dist/core/entity.d.ts.map +1 -0
- package/dist/core/entity.js +3 -0
- package/dist/core/entity.js.map +1 -0
- package/dist/core/errors.d.ts +44 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +108 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/index.d.ts +8 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +24 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/locale.d.ts +3 -0
- package/dist/core/locale.d.ts.map +1 -0
- package/dist/core/locale.js +5 -0
- package/dist/core/locale.js.map +1 -0
- package/dist/core/pagination.d.ts +14 -0
- package/dist/core/pagination.d.ts.map +1 -0
- package/dist/core/pagination.js +3 -0
- package/dist/core/pagination.js.map +1 -0
- package/dist/core/theme.d.ts +3 -0
- package/dist/core/theme.d.ts.map +1 -0
- package/dist/core/theme.js +5 -0
- package/dist/core/theme.js.map +1 -0
- package/dist/core/timestamp.d.ts +5 -0
- package/dist/core/timestamp.d.ts.map +1 -0
- package/dist/core/timestamp.js +3 -0
- package/dist/core/timestamp.js.map +1 -0
- package/dist/equipment/category.d.ts +3 -0
- package/dist/equipment/category.d.ts.map +1 -0
- package/dist/equipment/category.js +18 -0
- package/dist/equipment/category.js.map +1 -0
- package/dist/equipment/entity.d.ts +16 -0
- package/dist/equipment/entity.d.ts.map +1 -0
- package/dist/equipment/entity.js +3 -0
- package/dist/equipment/entity.js.map +1 -0
- package/dist/equipment/index.d.ts +5 -0
- package/dist/equipment/index.d.ts.map +1 -0
- package/dist/equipment/index.js +21 -0
- package/dist/equipment/index.js.map +1 -0
- package/dist/equipment/recipe.d.ts +13 -0
- package/dist/equipment/recipe.d.ts.map +1 -0
- package/dist/equipment/recipe.js +3 -0
- package/dist/equipment/recipe.js.map +1 -0
- package/dist/equipment/user.d.ts +10 -0
- package/dist/equipment/user.d.ts.map +1 -0
- package/dist/equipment/user.js +3 -0
- package/dist/equipment/user.js.map +1 -0
- package/dist/feed/category.d.ts +3 -0
- package/dist/feed/category.d.ts.map +1 -0
- package/dist/feed/category.js +31 -0
- package/dist/feed/category.js.map +1 -0
- package/dist/feed/index.d.ts +2 -0
- package/dist/feed/index.d.ts.map +1 -0
- package/dist/feed/index.js +18 -0
- package/dist/feed/index.js.map +1 -0
- package/dist/feed/recipe.d.ts +19 -0
- package/dist/feed/recipe.d.ts.map +1 -0
- package/dist/feed/recipe.js +43 -0
- package/dist/feed/recipe.js.map +1 -0
- package/dist/iam/index.d.ts +3 -0
- package/dist/iam/index.d.ts.map +1 -0
- package/dist/iam/index.js +19 -0
- package/dist/iam/index.js.map +1 -0
- package/dist/iam/role.d.ts +3 -0
- package/dist/iam/role.d.ts.map +1 -0
- package/dist/iam/role.js +11 -0
- package/dist/iam/role.js.map +1 -0
- package/dist/iam/user.d.ts +12 -0
- package/dist/iam/user.d.ts.map +1 -0
- package/dist/iam/user.js +3 -0
- package/dist/iam/user.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/dist/ingredients/category.d.ts +3 -0
- package/dist/ingredients/category.d.ts.map +1 -0
- package/dist/ingredients/category.js +31 -0
- package/dist/ingredients/category.js.map +1 -0
- package/dist/ingredients/entity.d.ts +19 -0
- package/dist/ingredients/entity.d.ts.map +1 -0
- package/dist/ingredients/entity.js +3 -0
- package/dist/ingredients/entity.js.map +1 -0
- package/dist/ingredients/group.d.ts +3 -0
- package/dist/ingredients/group.d.ts.map +1 -0
- package/dist/ingredients/group.js +11 -0
- package/dist/ingredients/group.js.map +1 -0
- package/dist/ingredients/index.d.ts +7 -0
- package/dist/ingredients/index.d.ts.map +1 -0
- package/dist/ingredients/index.js +23 -0
- package/dist/ingredients/index.js.map +1 -0
- package/dist/ingredients/recipe.d.ts +15 -0
- package/dist/ingredients/recipe.d.ts.map +1 -0
- package/dist/ingredients/recipe.js +3 -0
- package/dist/ingredients/recipe.js.map +1 -0
- package/dist/ingredients/section.d.ts +16 -0
- package/dist/ingredients/section.d.ts.map +1 -0
- package/dist/ingredients/section.js +3 -0
- package/dist/ingredients/section.js.map +1 -0
- package/dist/ingredients/user.d.ts +14 -0
- package/dist/ingredients/user.d.ts.map +1 -0
- package/dist/ingredients/user.js +3 -0
- package/dist/ingredients/user.js.map +1 -0
- package/dist/interactions/collection.d.ts +7 -0
- package/dist/interactions/collection.d.ts.map +1 -0
- package/dist/interactions/collection.js +3 -0
- package/dist/interactions/collection.js.map +1 -0
- package/dist/interactions/cooked.d.ts +6 -0
- package/dist/interactions/cooked.d.ts.map +1 -0
- package/dist/interactions/cooked.js +3 -0
- package/dist/interactions/cooked.js.map +1 -0
- package/dist/interactions/event.d.ts +10 -0
- package/dist/interactions/event.d.ts.map +1 -0
- package/dist/interactions/event.js +3 -0
- package/dist/interactions/event.js.map +1 -0
- package/dist/interactions/event_type.d.ts +3 -0
- package/dist/interactions/event_type.d.ts.map +1 -0
- package/dist/interactions/event_type.js +12 -0
- package/dist/interactions/event_type.js.map +1 -0
- package/dist/interactions/index.d.ts +6 -0
- package/dist/interactions/index.d.ts.map +1 -0
- package/dist/interactions/index.js +22 -0
- package/dist/interactions/index.js.map +1 -0
- package/dist/interactions/rated.d.ts +6 -0
- package/dist/interactions/rated.d.ts.map +1 -0
- package/dist/interactions/rated.js +3 -0
- package/dist/interactions/rated.js.map +1 -0
- package/dist/interactions/saved.d.ts +6 -0
- package/dist/interactions/saved.d.ts.map +1 -0
- package/dist/interactions/saved.js +3 -0
- package/dist/interactions/saved.js.map +1 -0
- package/dist/limits/index.d.ts +4 -0
- package/dist/limits/index.d.ts.map +1 -0
- package/dist/limits/index.js +20 -0
- package/dist/limits/index.js.map +1 -0
- package/dist/limits/limits.d.ts +5 -0
- package/dist/limits/limits.d.ts.map +1 -0
- package/dist/limits/limits.js +3 -0
- package/dist/limits/limits.js.map +1 -0
- package/dist/limits/operation.d.ts +3 -0
- package/dist/limits/operation.d.ts.map +1 -0
- package/dist/limits/operation.js +13 -0
- package/dist/limits/operation.js.map +1 -0
- package/dist/limits/usage.d.ts +8 -0
- package/dist/limits/usage.d.ts.map +1 -0
- package/dist/limits/usage.js +3 -0
- package/dist/limits/usage.js.map +1 -0
- package/dist/mealplan/day.d.ts +6 -0
- package/dist/mealplan/day.d.ts.map +1 -0
- package/dist/mealplan/day.js +3 -0
- package/dist/mealplan/day.js.map +1 -0
- package/dist/mealplan/index.d.ts +5 -0
- package/dist/mealplan/index.d.ts.map +1 -0
- package/dist/mealplan/index.js +21 -0
- package/dist/mealplan/index.js.map +1 -0
- package/dist/mealplan/meal.d.ts +9 -0
- package/dist/mealplan/meal.d.ts.map +1 -0
- package/dist/mealplan/meal.js +3 -0
- package/dist/mealplan/meal.js.map +1 -0
- package/dist/mealplan/plan.d.ts +9 -0
- package/dist/mealplan/plan.d.ts.map +1 -0
- package/dist/mealplan/plan.js +3 -0
- package/dist/mealplan/plan.js.map +1 -0
- package/dist/mealplan/slot.d.ts +3 -0
- package/dist/mealplan/slot.d.ts.map +1 -0
- package/dist/mealplan/slot.js +10 -0
- package/dist/mealplan/slot.js.map +1 -0
- package/dist/recipes/admin.d.ts +12 -0
- package/dist/recipes/admin.d.ts.map +1 -0
- package/dist/recipes/admin.js +3 -0
- package/dist/recipes/admin.js.map +1 -0
- package/dist/recipes/content.d.ts +14 -0
- package/dist/recipes/content.d.ts.map +1 -0
- package/dist/recipes/content.js +3 -0
- package/dist/recipes/content.js.map +1 -0
- package/dist/recipes/index.d.ts +5 -0
- package/dist/recipes/index.d.ts.map +1 -0
- package/dist/recipes/index.js +21 -0
- package/dist/recipes/index.js.map +1 -0
- package/dist/recipes/instruction.d.ts +18 -0
- package/dist/recipes/instruction.d.ts.map +1 -0
- package/dist/recipes/instruction.js +3 -0
- package/dist/recipes/instruction.js.map +1 -0
- package/dist/recipes/meta.d.ts +33 -0
- package/dist/recipes/meta.d.ts.map +1 -0
- package/dist/recipes/meta.js +3 -0
- package/dist/recipes/meta.js.map +1 -0
- package/dist/recipes/recipe.d.ts +30 -0
- package/dist/recipes/recipe.d.ts.map +1 -0
- package/dist/recipes/recipe.js +3 -0
- package/dist/recipes/recipe.js.map +1 -0
- package/dist/recipes/source.d.ts +3 -0
- package/dist/recipes/source.d.ts.map +1 -0
- package/dist/recipes/source.js +5 -0
- package/dist/recipes/source.js.map +1 -0
- package/dist/recipes/stats.d.ts +10 -0
- package/dist/recipes/stats.d.ts.map +1 -0
- package/dist/recipes/stats.js +3 -0
- package/dist/recipes/stats.js.map +1 -0
- package/dist/recipes/status.d.ts +3 -0
- package/dist/recipes/status.d.ts.map +1 -0
- package/dist/recipes/status.js +11 -0
- package/dist/recipes/status.js.map +1 -0
- package/dist/reports/category.d.ts +3 -0
- package/dist/reports/category.d.ts.map +1 -0
- package/dist/reports/category.js +14 -0
- package/dist/reports/category.js.map +1 -0
- package/dist/reports/index.d.ts +9 -0
- package/dist/reports/index.d.ts.map +1 -0
- package/dist/reports/index.js +25 -0
- package/dist/reports/index.js.map +1 -0
- package/dist/reports/priority.d.ts +3 -0
- package/dist/reports/priority.d.ts.map +1 -0
- package/dist/reports/priority.js +10 -0
- package/dist/reports/priority.js.map +1 -0
- package/dist/reports/report.d.ts +17 -0
- package/dist/reports/report.d.ts.map +1 -0
- package/dist/reports/report.js +3 -0
- package/dist/reports/report.js.map +1 -0
- package/dist/reports/status.d.ts +3 -0
- package/dist/reports/status.d.ts.map +1 -0
- package/dist/reports/status.js +12 -0
- package/dist/reports/status.js.map +1 -0
- package/dist/reports/submission.d.ts +8 -0
- package/dist/reports/submission.d.ts.map +1 -0
- package/dist/reports/submission.js +3 -0
- package/dist/reports/submission.js.map +1 -0
- package/dist/reports/target.d.ts +16 -0
- package/dist/reports/target.d.ts.map +1 -0
- package/dist/reports/target.js +3 -0
- package/dist/reports/target.js.map +1 -0
- package/dist/reports/update.d.ts +18 -0
- package/dist/reports/update.d.ts.map +1 -0
- package/dist/reports/update.js +3 -0
- package/dist/reports/update.js.map +1 -0
- package/dist/reports/update_type.d.ts +3 -0
- package/dist/reports/update_type.d.ts.map +1 -0
- package/dist/reports/update_type.js +5 -0
- package/dist/reports/update_type.js.map +1 -0
- package/dist/settings/index.d.ts +3 -0
- package/dist/settings/index.d.ts.map +1 -0
- package/dist/settings/index.js +19 -0
- package/dist/settings/index.js.map +1 -0
- package/dist/settings/notification.d.ts +7 -0
- package/dist/settings/notification.d.ts.map +1 -0
- package/dist/settings/notification.js +3 -0
- package/dist/settings/notification.js.map +1 -0
- package/dist/settings/settings.d.ts +19 -0
- package/dist/settings/settings.d.ts.map +1 -0
- package/dist/settings/settings.js +3 -0
- package/dist/settings/settings.js.map +1 -0
- package/dist/shopping/index.d.ts +4 -0
- package/dist/shopping/index.d.ts.map +1 -0
- package/dist/shopping/index.js +20 -0
- package/dist/shopping/index.js.map +1 -0
- package/dist/shopping/item.d.ts +9 -0
- package/dist/shopping/item.d.ts.map +1 -0
- package/dist/shopping/item.js +3 -0
- package/dist/shopping/item.js.map +1 -0
- package/dist/shopping/item_status.d.ts +3 -0
- package/dist/shopping/item_status.d.ts.map +1 -0
- package/dist/shopping/item_status.js +9 -0
- package/dist/shopping/item_status.js.map +1 -0
- package/dist/shopping/list.d.ts +9 -0
- package/dist/shopping/list.d.ts.map +1 -0
- package/dist/shopping/list.js +3 -0
- package/dist/shopping/list.js.map +1 -0
- package/dist/subscriptions/billing_period.d.ts +3 -0
- package/dist/subscriptions/billing_period.d.ts.map +1 -0
- package/dist/subscriptions/billing_period.js +5 -0
- package/dist/subscriptions/billing_period.js.map +1 -0
- package/dist/subscriptions/cost.d.ts +7 -0
- package/dist/subscriptions/cost.d.ts.map +1 -0
- package/dist/subscriptions/cost.js +3 -0
- package/dist/subscriptions/cost.js.map +1 -0
- package/dist/subscriptions/index.d.ts +9 -0
- package/dist/subscriptions/index.d.ts.map +1 -0
- package/dist/subscriptions/index.js +25 -0
- package/dist/subscriptions/index.js.map +1 -0
- package/dist/subscriptions/member.d.ts +10 -0
- package/dist/subscriptions/member.d.ts.map +1 -0
- package/dist/subscriptions/member.js +3 -0
- package/dist/subscriptions/member.js.map +1 -0
- package/dist/subscriptions/member_status.d.ts +3 -0
- package/dist/subscriptions/member_status.d.ts.map +1 -0
- package/dist/subscriptions/member_status.js +10 -0
- package/dist/subscriptions/member_status.js.map +1 -0
- package/dist/subscriptions/store.d.ts +3 -0
- package/dist/subscriptions/store.d.ts.map +1 -0
- package/dist/subscriptions/store.js +10 -0
- package/dist/subscriptions/store.js.map +1 -0
- package/dist/subscriptions/subscription.d.ts +22 -0
- package/dist/subscriptions/subscription.d.ts.map +1 -0
- package/dist/subscriptions/subscription.js +3 -0
- package/dist/subscriptions/subscription.js.map +1 -0
- package/dist/subscriptions/subscription_role.d.ts +3 -0
- package/dist/subscriptions/subscription_role.d.ts.map +1 -0
- package/dist/subscriptions/subscription_role.js +5 -0
- package/dist/subscriptions/subscription_role.js.map +1 -0
- package/dist/subscriptions/subscription_status.d.ts +3 -0
- package/dist/subscriptions/subscription_status.d.ts.map +1 -0
- package/dist/subscriptions/subscription_status.js +14 -0
- package/dist/subscriptions/subscription_status.js.map +1 -0
- package/dist/subscriptions/subscription_tier.d.ts +3 -0
- package/dist/subscriptions/subscription_tier.d.ts.map +1 -0
- package/dist/subscriptions/subscription_tier.js +5 -0
- package/dist/subscriptions/subscription_tier.js.map +1 -0
- package/package.json +35 -0
- package/src/common/allergen.ts +16 -0
- package/src/common/cuisine.ts +77 -0
- package/src/common/currency.ts +6 -0
- package/src/common/currency_code.ts +10 -0
- package/src/common/dietary_tag.ts +18 -0
- package/src/common/difficulty.ts +2 -0
- package/src/common/index.ts +13 -0
- package/src/common/meal_type.ts +13 -0
- package/src/common/measurement_system.ts +2 -0
- package/src/common/nutrition.ts +11 -0
- package/src/common/spiciness.ts +8 -0
- package/src/common/temperature.ts +6 -0
- package/src/common/temperature_unit.ts +2 -0
- package/src/common/unit.ts +48 -0
- package/src/core/api.ts +30 -0
- package/src/core/entity.ts +8 -0
- package/src/core/errors.ts +118 -0
- package/src/core/index.ts +7 -0
- package/src/core/locale.ts +2 -0
- package/src/core/pagination.ts +15 -0
- package/src/core/theme.ts +2 -0
- package/src/core/timestamp.ts +4 -0
- package/src/equipment/category.ts +15 -0
- package/src/equipment/entity.ts +18 -0
- package/src/equipment/index.ts +4 -0
- package/src/equipment/recipe.ts +14 -0
- package/src/equipment/user.ts +10 -0
- package/src/feed/index.ts +1 -0
- package/src/feed/recipe.ts +61 -0
- package/src/iam/index.ts +2 -0
- package/src/iam/role.ts +8 -0
- package/src/iam/user.ts +12 -0
- package/src/index.ts +13 -0
- package/src/ingredients/category.ts +28 -0
- package/src/ingredients/entity.ts +21 -0
- package/src/ingredients/group.ts +8 -0
- package/src/ingredients/index.ts +6 -0
- package/src/ingredients/recipe.ts +17 -0
- package/src/ingredients/section.ts +22 -0
- package/src/ingredients/user.ts +14 -0
- package/src/interactions/collection.ts +7 -0
- package/src/interactions/cooked.ts +6 -0
- package/src/interactions/event.ts +10 -0
- package/src/interactions/event_type.ts +9 -0
- package/src/interactions/index.ts +5 -0
- package/src/interactions/rated.ts +6 -0
- package/src/interactions/saved.ts +6 -0
- package/src/limits/index.ts +3 -0
- package/src/limits/limits.ts +6 -0
- package/src/limits/operation.ts +10 -0
- package/src/limits/usage.ts +9 -0
- package/src/mealplan/day.ts +6 -0
- package/src/mealplan/index.ts +4 -0
- package/src/mealplan/meal.ts +9 -0
- package/src/mealplan/plan.ts +9 -0
- package/src/mealplan/slot.ts +7 -0
- package/src/recipes/admin.ts +12 -0
- package/src/recipes/content.ts +14 -0
- package/src/recipes/index.ts +4 -0
- package/src/recipes/instruction.ts +19 -0
- package/src/recipes/meta.ts +42 -0
- package/src/recipes/recipe.ts +39 -0
- package/src/recipes/source.ts +2 -0
- package/src/recipes/stats.ts +9 -0
- package/src/recipes/status.ts +8 -0
- package/src/reports/category.ts +11 -0
- package/src/reports/index.ts +8 -0
- package/src/reports/priority.ts +7 -0
- package/src/reports/report.ts +18 -0
- package/src/reports/status.ts +9 -0
- package/src/reports/submission.ts +8 -0
- package/src/reports/target.ts +22 -0
- package/src/reports/update.ts +21 -0
- package/src/reports/update_type.ts +2 -0
- package/src/settings/index.ts +2 -0
- package/src/settings/notification.ts +6 -0
- package/src/settings/settings.ts +27 -0
- package/src/shopping/index.ts +3 -0
- package/src/shopping/item.ts +9 -0
- package/src/shopping/item_status.ts +6 -0
- package/src/shopping/list.ts +9 -0
- package/src/subscriptions/billing_period.ts +2 -0
- package/src/subscriptions/index.ts +8 -0
- package/src/subscriptions/member.ts +10 -0
- package/src/subscriptions/member_status.ts +7 -0
- package/src/subscriptions/store.ts +7 -0
- package/src/subscriptions/subscription.ts +22 -0
- package/src/subscriptions/subscription_role.ts +2 -0
- package/src/subscriptions/subscription_status.ts +11 -0
- package/src/subscriptions/subscription_tier.ts +2 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
export const CUISINE_VALUES = [
|
|
2
|
+
// East Asia
|
|
3
|
+
"chinese",
|
|
4
|
+
"japanese",
|
|
5
|
+
"korean",
|
|
6
|
+
// Southeast Asia
|
|
7
|
+
"filipino",
|
|
8
|
+
"indonesian",
|
|
9
|
+
"malaysian",
|
|
10
|
+
"singaporean",
|
|
11
|
+
"thai",
|
|
12
|
+
"vietnamese",
|
|
13
|
+
// South Asia
|
|
14
|
+
"bangladeshi",
|
|
15
|
+
"indian",
|
|
16
|
+
"pakistani",
|
|
17
|
+
"sri_lankan",
|
|
18
|
+
// Middle East
|
|
19
|
+
"emirati",
|
|
20
|
+
"iraqi",
|
|
21
|
+
"jordanian",
|
|
22
|
+
"lebanese",
|
|
23
|
+
"palestinian",
|
|
24
|
+
"saudi",
|
|
25
|
+
"syrian",
|
|
26
|
+
"yemeni",
|
|
27
|
+
// Central Asia & Caucasus
|
|
28
|
+
"persian",
|
|
29
|
+
"turkish",
|
|
30
|
+
// North Africa
|
|
31
|
+
"algerian",
|
|
32
|
+
"egyptian",
|
|
33
|
+
"moroccan",
|
|
34
|
+
"sudanese",
|
|
35
|
+
"tunisian",
|
|
36
|
+
// Sub-Saharan Africa
|
|
37
|
+
"ethiopian",
|
|
38
|
+
"ghanaian",
|
|
39
|
+
"kenyan",
|
|
40
|
+
"nigerian",
|
|
41
|
+
"south_african",
|
|
42
|
+
// Western Europe
|
|
43
|
+
"british",
|
|
44
|
+
"french",
|
|
45
|
+
"german",
|
|
46
|
+
"irish",
|
|
47
|
+
"italian",
|
|
48
|
+
"portuguese",
|
|
49
|
+
"spanish",
|
|
50
|
+
// Northern Europe
|
|
51
|
+
"danish",
|
|
52
|
+
"swedish",
|
|
53
|
+
// Eastern Europe
|
|
54
|
+
"greek",
|
|
55
|
+
"hungarian",
|
|
56
|
+
"polish",
|
|
57
|
+
"russian",
|
|
58
|
+
"ukrainian",
|
|
59
|
+
// North America
|
|
60
|
+
"american",
|
|
61
|
+
"cajun",
|
|
62
|
+
"mexican",
|
|
63
|
+
// Caribbean
|
|
64
|
+
"cuban",
|
|
65
|
+
"jamaican",
|
|
66
|
+
"puerto_rican",
|
|
67
|
+
// South America
|
|
68
|
+
"argentinian",
|
|
69
|
+
"brazilian",
|
|
70
|
+
"colombian",
|
|
71
|
+
"peruvian",
|
|
72
|
+
"venezuelan",
|
|
73
|
+
// Oceania
|
|
74
|
+
"australian",
|
|
75
|
+
] as const;
|
|
76
|
+
|
|
77
|
+
export type Cuisine = (typeof CUISINE_VALUES)[number];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export const DIETARY_TAG_VALUES = [
|
|
2
|
+
"dairy_free",
|
|
3
|
+
"egg_free",
|
|
4
|
+
"gluten_free",
|
|
5
|
+
"halal",
|
|
6
|
+
"high_protein",
|
|
7
|
+
"keto",
|
|
8
|
+
"low_carb",
|
|
9
|
+
"low_fat",
|
|
10
|
+
"low_sodium",
|
|
11
|
+
"low_sugar",
|
|
12
|
+
"nut_free",
|
|
13
|
+
"pescatarian",
|
|
14
|
+
"soy_free",
|
|
15
|
+
"vegan",
|
|
16
|
+
"vegetarian",
|
|
17
|
+
] as const;
|
|
18
|
+
export type DietaryTag = (typeof DIETARY_TAG_VALUES)[number];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from "./allergen";
|
|
2
|
+
export * from "./cuisine";
|
|
3
|
+
export * from "./currency";
|
|
4
|
+
export * from "./currency_code";
|
|
5
|
+
export * from "./dietary_tag";
|
|
6
|
+
export * from "./difficulty";
|
|
7
|
+
export * from "./meal_type";
|
|
8
|
+
export * from "./measurement_system";
|
|
9
|
+
export * from "./nutrition";
|
|
10
|
+
export * from "./spiciness";
|
|
11
|
+
export * from "./temperature_unit";
|
|
12
|
+
export * from "./temperature";
|
|
13
|
+
export * from "./unit";
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export const UNIT_VALUES = [
|
|
2
|
+
// Volume (metric)
|
|
3
|
+
"ml",
|
|
4
|
+
"l",
|
|
5
|
+
// Volume (imperial)
|
|
6
|
+
"tsp",
|
|
7
|
+
"tbsp",
|
|
8
|
+
"fl_oz",
|
|
9
|
+
"cup",
|
|
10
|
+
"pint",
|
|
11
|
+
"quart",
|
|
12
|
+
"gallon",
|
|
13
|
+
// Weight (metric)
|
|
14
|
+
"mg",
|
|
15
|
+
"g",
|
|
16
|
+
"kg",
|
|
17
|
+
// Weight (imperial)
|
|
18
|
+
"oz",
|
|
19
|
+
"lb",
|
|
20
|
+
// Count/portion
|
|
21
|
+
"piece",
|
|
22
|
+
"whole",
|
|
23
|
+
"half",
|
|
24
|
+
"quarter",
|
|
25
|
+
"slice",
|
|
26
|
+
"serving",
|
|
27
|
+
// Produce-specific
|
|
28
|
+
"clove",
|
|
29
|
+
"stalk",
|
|
30
|
+
"sprig",
|
|
31
|
+
"leaf",
|
|
32
|
+
"bunch",
|
|
33
|
+
"head",
|
|
34
|
+
"fillet",
|
|
35
|
+
"stick",
|
|
36
|
+
"sheet",
|
|
37
|
+
// Container
|
|
38
|
+
"can",
|
|
39
|
+
"package",
|
|
40
|
+
"bottle",
|
|
41
|
+
"jar",
|
|
42
|
+
// Imprecise
|
|
43
|
+
"handful",
|
|
44
|
+
"pinch",
|
|
45
|
+
"dash",
|
|
46
|
+
"drop",
|
|
47
|
+
] as const;
|
|
48
|
+
export type Unit = (typeof UNIT_VALUES)[number];
|
package/src/core/api.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { AppErrorCode } from "./errors";
|
|
2
|
+
|
|
3
|
+
export interface ApiSuccessResponse<T> {
|
|
4
|
+
success: true;
|
|
5
|
+
data: T;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface ApiErrorResponse {
|
|
9
|
+
success: false;
|
|
10
|
+
error: {
|
|
11
|
+
code: AppErrorCode;
|
|
12
|
+
message: string;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export type ApiResponse<T> = ApiSuccessResponse<T> | ApiErrorResponse;
|
|
17
|
+
|
|
18
|
+
export function success<T>(data: T): ApiSuccessResponse<T> {
|
|
19
|
+
return { success: true, data };
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function failure(
|
|
23
|
+
code: AppErrorCode,
|
|
24
|
+
message: string,
|
|
25
|
+
): ApiErrorResponse {
|
|
26
|
+
return {
|
|
27
|
+
success: false,
|
|
28
|
+
error: { code, message },
|
|
29
|
+
};
|
|
30
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
export const APP_ERROR_CODE_VALUES = [
|
|
2
|
+
"bad-request",
|
|
3
|
+
"conflict",
|
|
4
|
+
"daily-limit-reached",
|
|
5
|
+
"forbidden",
|
|
6
|
+
"internal-error",
|
|
7
|
+
"low-confidence",
|
|
8
|
+
"monthly-limit-reached",
|
|
9
|
+
"not-found",
|
|
10
|
+
"no-recipe-found",
|
|
11
|
+
"unauthorized",
|
|
12
|
+
"unsafe-content",
|
|
13
|
+
"validation-error",
|
|
14
|
+
] as const;
|
|
15
|
+
export type AppErrorCode = (typeof APP_ERROR_CODE_VALUES)[number];
|
|
16
|
+
|
|
17
|
+
export class AppError extends Error {
|
|
18
|
+
public readonly code: AppErrorCode;
|
|
19
|
+
public readonly context?: Record<string, unknown>;
|
|
20
|
+
|
|
21
|
+
constructor(
|
|
22
|
+
code: AppErrorCode,
|
|
23
|
+
message: string,
|
|
24
|
+
context?: Record<string, unknown>,
|
|
25
|
+
) {
|
|
26
|
+
super(message);
|
|
27
|
+
this.name = "AppError";
|
|
28
|
+
this.code = code;
|
|
29
|
+
this.context = context;
|
|
30
|
+
|
|
31
|
+
if (Error.captureStackTrace) {
|
|
32
|
+
Error.captureStackTrace(this, AppError);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
toJSON() {
|
|
37
|
+
return {
|
|
38
|
+
name: this.name,
|
|
39
|
+
code: this.code,
|
|
40
|
+
message: this.message,
|
|
41
|
+
context: this.context,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export class ValidationError extends AppError {
|
|
47
|
+
constructor(message: string, context?: Record<string, unknown>) {
|
|
48
|
+
super("validation-error", message, context);
|
|
49
|
+
this.name = "ValidationError";
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export class NotFoundError extends AppError {
|
|
54
|
+
constructor(message: string, context?: Record<string, unknown>) {
|
|
55
|
+
super("not-found", message, context);
|
|
56
|
+
this.name = "NotFoundError";
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export class UnauthorizedError extends AppError {
|
|
61
|
+
constructor(message: string, context?: Record<string, unknown>) {
|
|
62
|
+
super("unauthorized", message, context);
|
|
63
|
+
this.name = "UnauthorizedError";
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export class ForbiddenError extends AppError {
|
|
68
|
+
constructor(message: string, context?: Record<string, unknown>) {
|
|
69
|
+
super("forbidden", message, context);
|
|
70
|
+
this.name = "ForbiddenError";
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export class ConflictError extends AppError {
|
|
75
|
+
constructor(message: string, context?: Record<string, unknown>) {
|
|
76
|
+
super("conflict", message, context);
|
|
77
|
+
this.name = "ConflictError";
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export class DailyLimitError extends AppError {
|
|
82
|
+
constructor(message: string, context?: Record<string, unknown>) {
|
|
83
|
+
super("daily-limit-reached", message, context);
|
|
84
|
+
this.name = "DailyLimitError";
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export class MonthlyLimitError extends AppError {
|
|
89
|
+
constructor(message: string, context?: Record<string, unknown>) {
|
|
90
|
+
super("monthly-limit-reached", message, context);
|
|
91
|
+
this.name = "MonthlyLimitError";
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export class NoRecipeFoundError extends AppError {
|
|
96
|
+
constructor(reason: string, context?: Record<string, unknown>) {
|
|
97
|
+
super("no-recipe-found", reason, context);
|
|
98
|
+
this.name = "NoRecipeFoundError";
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export class LowConfidenceError extends AppError {
|
|
103
|
+
constructor(confidence: number, context?: Record<string, unknown>) {
|
|
104
|
+
super(
|
|
105
|
+
"low-confidence",
|
|
106
|
+
"We couldn't extract a complete recipe. Try a clearer image or more detailed text.",
|
|
107
|
+
{ ...context, confidence },
|
|
108
|
+
);
|
|
109
|
+
this.name = "LowConfidenceError";
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export class UnsafeContentError extends AppError {
|
|
114
|
+
constructor(context?: Record<string, unknown>) {
|
|
115
|
+
super("unsafe-content", "This content cannot be processed.", context);
|
|
116
|
+
this.name = "UnsafeContentError";
|
|
117
|
+
}
|
|
118
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type PaginationDirection = "forward" | "backward";
|
|
2
|
+
|
|
3
|
+
export interface PaginationParams {
|
|
4
|
+
limit?: number;
|
|
5
|
+
cursor?: string;
|
|
6
|
+
direction?: PaginationDirection;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface PaginatedResult<T> {
|
|
10
|
+
data: T[];
|
|
11
|
+
startCursor: string | null;
|
|
12
|
+
endCursor: string | null;
|
|
13
|
+
hasNextPage: boolean;
|
|
14
|
+
hasPreviousPage: boolean;
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const EQUIPMENT_CATEGORY_VALUES = [
|
|
2
|
+
"cookware",
|
|
3
|
+
"bakeware",
|
|
4
|
+
"cutlery",
|
|
5
|
+
"utensils",
|
|
6
|
+
"appliances",
|
|
7
|
+
"mixing",
|
|
8
|
+
"measuring",
|
|
9
|
+
"prep",
|
|
10
|
+
"baking_tools",
|
|
11
|
+
"storage",
|
|
12
|
+
"serving",
|
|
13
|
+
"specialty",
|
|
14
|
+
] as const;
|
|
15
|
+
export type EquipmentCategory = (typeof EQUIPMENT_CATEGORY_VALUES)[number];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Currency } from "../common";
|
|
2
|
+
import { Entity } from "../core";
|
|
3
|
+
import { EquipmentCategory } from "./category";
|
|
4
|
+
|
|
5
|
+
export interface EquipmentEntityMeta extends Entity {
|
|
6
|
+
category: EquipmentCategory;
|
|
7
|
+
cost: Currency;
|
|
8
|
+
slug: string;
|
|
9
|
+
imageUrl: string | null;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface EquipmentEntityContent {
|
|
13
|
+
name: string;
|
|
14
|
+
slug: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface EquipmentEntity
|
|
18
|
+
extends EquipmentEntityMeta, EquipmentEntityContent {}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface RecipeEquipmentMeta {
|
|
2
|
+
slug: string;
|
|
3
|
+
optional?: boolean;
|
|
4
|
+
quantity?: number;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export interface RecipeEquipmentContent {
|
|
8
|
+
name: string;
|
|
9
|
+
slug: string;
|
|
10
|
+
notes?: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface RecipeEquipment
|
|
14
|
+
extends RecipeEquipmentMeta, RecipeEquipmentContent {}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Currency } from "../common";
|
|
2
|
+
import { Entity } from "../core";
|
|
3
|
+
import { EquipmentCategory } from "./category";
|
|
4
|
+
|
|
5
|
+
export interface UserEquipment extends Entity {
|
|
6
|
+
category: EquipmentCategory;
|
|
7
|
+
cost: Currency;
|
|
8
|
+
slug: string;
|
|
9
|
+
quantity?: number;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./recipe";
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Allergen, Cuisine, Currency, DietaryTag, Difficulty, MealType, Spiciness } from "../common";
|
|
2
|
+
import { Entity, Locale } from "../core";
|
|
3
|
+
import { RecipeStats } from "../recipes";
|
|
4
|
+
|
|
5
|
+
export interface RecipeFeedItem extends Entity {
|
|
6
|
+
allergens: Allergen[];
|
|
7
|
+
cost: Currency;
|
|
8
|
+
cuisines: Cuisine[];
|
|
9
|
+
dietaryTags: DietaryTag[];
|
|
10
|
+
difficulty: Difficulty;
|
|
11
|
+
duration: number;
|
|
12
|
+
images: string[];
|
|
13
|
+
mealTypes: MealType[];
|
|
14
|
+
spiciness: Spiciness;
|
|
15
|
+
titles: Partial<Record<Locale, string>>;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface FeedRecipe extends RecipeFeedItem {
|
|
19
|
+
stats: RecipeStats;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/*
|
|
23
|
+
import { Cuisine } from "../recipes/cuisine";
|
|
24
|
+
import { DietaryTag } from "../recipes/dietary_tag";
|
|
25
|
+
import { Difficulty } from "../recipes/difficulty";
|
|
26
|
+
import { RecipeStats } from "../recipes/recipe_stats";
|
|
27
|
+
import { FeedReason } from "./feed_reason";
|
|
28
|
+
import { Region } from "./region";
|
|
29
|
+
|
|
30
|
+
export interface FeedItemBase {
|
|
31
|
+
recipeId: string;
|
|
32
|
+
rank: number;
|
|
33
|
+
score: number;
|
|
34
|
+
titles: Partial<Record<Locale, string>>;
|
|
35
|
+
imageUrl?: string;
|
|
36
|
+
difficulty: Difficulty;
|
|
37
|
+
time: number;
|
|
38
|
+
cuisines: Cuisine[];
|
|
39
|
+
dietaryTags: DietaryTag[];
|
|
40
|
+
stats: RecipeStats;
|
|
41
|
+
computedAt: Timestamp;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export interface GlobalFeedItem extends FeedItemBase {
|
|
45
|
+
type: "global";
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export interface RegionalFeedItem extends FeedItemBase {
|
|
49
|
+
type: "regional";
|
|
50
|
+
region: Region;
|
|
51
|
+
regionScore: number;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export interface PersonalFeedItem extends FeedItemBase {
|
|
55
|
+
type: "personal";
|
|
56
|
+
reason: FeedReason;
|
|
57
|
+
similarityScore?: number;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export type FeedItem = GlobalFeedItem | RegionalFeedItem | PersonalFeedItem;
|
|
61
|
+
*/
|
package/src/iam/index.ts
ADDED
package/src/iam/role.ts
ADDED
package/src/iam/user.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Entity } from "../core";
|
|
2
|
+
import { UserRole } from "./role";
|
|
3
|
+
|
|
4
|
+
export interface User extends Entity {
|
|
5
|
+
email: string;
|
|
6
|
+
imageUrl: string | null;
|
|
7
|
+
name: string;
|
|
8
|
+
role: UserRole;
|
|
9
|
+
score: number;
|
|
10
|
+
subscriptionId: string | null;
|
|
11
|
+
verified: boolean;
|
|
12
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from "./common";
|
|
2
|
+
export * from "./core";
|
|
3
|
+
export * from "./equipment";
|
|
4
|
+
export * from "./feed";
|
|
5
|
+
export * from "./iam";
|
|
6
|
+
export * from "./ingredients";
|
|
7
|
+
export * from "./limits";
|
|
8
|
+
export * from "./mealplan";
|
|
9
|
+
export * from "./recipes";
|
|
10
|
+
export * from "./reports";
|
|
11
|
+
export * from "./settings";
|
|
12
|
+
export * from "./shopping";
|
|
13
|
+
export * from "./subscriptions";
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export const INGREDIENT_CATEGORY_VALUES = [
|
|
2
|
+
"fruits",
|
|
3
|
+
"vegetables",
|
|
4
|
+
"meat",
|
|
5
|
+
"poultry",
|
|
6
|
+
"seafood",
|
|
7
|
+
"dairy",
|
|
8
|
+
"grains",
|
|
9
|
+
"legumes",
|
|
10
|
+
"spices",
|
|
11
|
+
"nuts_seeds",
|
|
12
|
+
"oils_fats",
|
|
13
|
+
"sauces",
|
|
14
|
+
"condiments",
|
|
15
|
+
"sweeteners",
|
|
16
|
+
"baking",
|
|
17
|
+
"pantry",
|
|
18
|
+
"canned",
|
|
19
|
+
"frozen",
|
|
20
|
+
"bakery",
|
|
21
|
+
"prepared",
|
|
22
|
+
"beverages",
|
|
23
|
+
"snacks",
|
|
24
|
+
"international",
|
|
25
|
+
"specialty",
|
|
26
|
+
"baby",
|
|
27
|
+
] as const;
|
|
28
|
+
export type IngredientCategory = (typeof INGREDIENT_CATEGORY_VALUES)[number];
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Currency, Unit } from "../common";
|
|
2
|
+
import { Entity } from "../core";
|
|
3
|
+
import { IngredientCategory } from "./category";
|
|
4
|
+
import { IngredientGroup } from "./group";
|
|
5
|
+
|
|
6
|
+
export interface IngredientEntityMeta extends Entity {
|
|
7
|
+
category: IngredientCategory;
|
|
8
|
+
cost: Currency;
|
|
9
|
+
group: IngredientGroup;
|
|
10
|
+
slug: string;
|
|
11
|
+
imageUrl: string | null;
|
|
12
|
+
standardUnit?: Unit;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface IngredientEntityContent {
|
|
16
|
+
name: string;
|
|
17
|
+
slug: string;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface IngredientEntity
|
|
21
|
+
extends IngredientEntityMeta, IngredientEntityContent {}
|