@recipe-book/core 0.0.3 → 0.1.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.
Files changed (185) hide show
  1. package/CHANGELOG.md +116 -0
  2. package/LICENSE +21 -0
  3. package/README.md +50 -7
  4. package/dist/chunk-D5CV3UF7.cjs +2754 -0
  5. package/dist/chunk-D5CV3UF7.cjs.map +1 -0
  6. package/dist/errors.js +76 -0
  7. package/dist/errors.js.map +1 -0
  8. package/dist/format/duration.js +36 -0
  9. package/dist/format/duration.js.map +1 -0
  10. package/dist/format/ingredient.js +49 -0
  11. package/dist/format/ingredient.js.map +1 -0
  12. package/dist/format/number.js +120 -0
  13. package/dist/format/number.js.map +1 -0
  14. package/dist/format/options.js +31 -0
  15. package/dist/format/options.js.map +1 -0
  16. package/dist/format/quantity.js +144 -0
  17. package/dist/format/quantity.js.map +1 -0
  18. package/dist/format/servings.js +68 -0
  19. package/dist/format/servings.js.map +1 -0
  20. package/dist/format/temperature.js +35 -0
  21. package/dist/format/temperature.js.map +1 -0
  22. package/dist/index.cjs +476 -0
  23. package/dist/index.cjs.map +1 -0
  24. package/dist/index.d.cts +994 -0
  25. package/dist/index.d.ts +994 -5
  26. package/dist/index.js +48 -1
  27. package/dist/index.js.map +1 -0
  28. package/dist/ingredient/parse.js +412 -0
  29. package/dist/ingredient/parse.js.map +1 -0
  30. package/dist/issues.js +26 -0
  31. package/dist/issues.js.map +1 -0
  32. package/dist/quantity/amount.js +78 -0
  33. package/dist/quantity/amount.js.map +1 -0
  34. package/dist/quantity/parse.js +255 -0
  35. package/dist/quantity/parse.js.map +1 -0
  36. package/dist/quantity/scale.js +23 -0
  37. package/dist/quantity/scale.js.map +1 -0
  38. package/dist/recipe/duration.js +28 -0
  39. package/dist/recipe/duration.js.map +1 -0
  40. package/dist/recipe/ids.js +68 -0
  41. package/dist/recipe/ids.js.map +1 -0
  42. package/dist/recipe/infer.js +24 -0
  43. package/dist/recipe/infer.js.map +1 -0
  44. package/dist/recipe/nutrient-units.js +18 -0
  45. package/dist/recipe/nutrient-units.js.map +1 -0
  46. package/dist/recipe/nutrition.js +26 -0
  47. package/dist/recipe/nutrition.js.map +1 -0
  48. package/dist/recipe/parse.js +854 -0
  49. package/dist/recipe/parse.js.map +1 -0
  50. package/dist/recipe/schema.js +32 -0
  51. package/dist/recipe/schema.js.map +1 -0
  52. package/dist/recipe/url.js +9 -0
  53. package/dist/recipe/url.js.map +1 -0
  54. package/dist/resolve.js +120 -0
  55. package/dist/resolve.js.map +1 -0
  56. package/dist/schema-org/find.js +158 -0
  57. package/dist/schema-org/find.js.map +1 -0
  58. package/dist/schema-org/from-json-ld.js +647 -0
  59. package/dist/schema-org/from-json-ld.js.map +1 -0
  60. package/dist/schema-org/nutrients.js +19 -0
  61. package/dist/schema-org/nutrients.js.map +1 -0
  62. package/dist/schema-org/text.js +125 -0
  63. package/dist/schema-org/text.js.map +1 -0
  64. package/dist/schema-org/to-json-ld.js +151 -0
  65. package/dist/schema-org/to-json-ld.js.map +1 -0
  66. package/dist/schema-org.cjs +1062 -0
  67. package/dist/schema-org.cjs.map +1 -0
  68. package/dist/schema-org.d.cts +223 -0
  69. package/dist/schema-org.d.ts +223 -0
  70. package/dist/schema-org.js +10 -0
  71. package/dist/schema-org.js.map +1 -0
  72. package/dist/steps/segment.js +45 -0
  73. package/dist/steps/segment.js.map +1 -0
  74. package/dist/steps/temperature.js +174 -0
  75. package/dist/steps/temperature.js.map +1 -0
  76. package/dist/suggest.js +50 -0
  77. package/dist/suggest.js.map +1 -0
  78. package/dist/types-BknM8KOd.d.cts +628 -0
  79. package/dist/types-BknM8KOd.d.ts +628 -0
  80. package/dist/units/convert.js +79 -0
  81. package/dist/units/convert.js.map +1 -0
  82. package/dist/units/lookup.js +86 -0
  83. package/dist/units/lookup.js.map +1 -0
  84. package/dist/units/registry.js +183 -0
  85. package/dist/units/registry.js.map +1 -0
  86. package/dist/units/system.js +91 -0
  87. package/dist/units/system.js.map +1 -0
  88. package/dist/units/temperature.js +40 -0
  89. package/dist/units/temperature.js.map +1 -0
  90. package/dist/validation.js +90 -0
  91. package/dist/validation.js.map +1 -0
  92. package/package.json +53 -8
  93. package/schema-org/package.json +5 -0
  94. package/dist/chunk-22RBQQWH.mjs +0 -1
  95. package/dist/chunk-3CSP4UZG.mjs +0 -1
  96. package/dist/chunk-3FFMHRB7.mjs +0 -26
  97. package/dist/chunk-4EB3HG6B.mjs +0 -50
  98. package/dist/chunk-4EHNJLGI.mjs +0 -50
  99. package/dist/chunk-4IA5EEKI.mjs +0 -81
  100. package/dist/chunk-4TATADPT.mjs +0 -51
  101. package/dist/chunk-6GI5KLI4.mjs +0 -22
  102. package/dist/chunk-6QJZOZ6W.mjs +0 -49
  103. package/dist/chunk-6YYQ4RYZ.mjs +0 -26
  104. package/dist/chunk-7BBUDI2L.mjs +0 -0
  105. package/dist/chunk-7KEMNCV7.mjs +0 -26
  106. package/dist/chunk-7MMJZZ7Z.mjs +0 -75
  107. package/dist/chunk-BES4V7DM.mjs +0 -26
  108. package/dist/chunk-BRDXRIAH.mjs +0 -50
  109. package/dist/chunk-C45UD45A.mjs +0 -1
  110. package/dist/chunk-CBLJXA6P.mjs +0 -1
  111. package/dist/chunk-CFR2ZBPB.mjs +0 -77
  112. package/dist/chunk-DYMNVFL2.mjs +0 -78
  113. package/dist/chunk-F6AQKXJU.mjs +0 -51
  114. package/dist/chunk-FW4M2R43.mjs +0 -51
  115. package/dist/chunk-GCCEDUST.mjs +0 -75
  116. package/dist/chunk-GE7KBYZR.mjs +0 -26
  117. package/dist/chunk-GN7ZDGYC.mjs +0 -51
  118. package/dist/chunk-GOO2SCQX.mjs +0 -75
  119. package/dist/chunk-HAVKBQLH.mjs +0 -51
  120. package/dist/chunk-HCBIPANU.mjs +0 -50
  121. package/dist/chunk-IEBAGBS7.mjs +0 -51
  122. package/dist/chunk-IQ6WN2V4.mjs +0 -75
  123. package/dist/chunk-JB4Z2FR7.mjs +0 -77
  124. package/dist/chunk-JMTQOTBM.mjs +0 -75
  125. package/dist/chunk-JRO6JUES.mjs +0 -51
  126. package/dist/chunk-KH3SRXET.mjs +0 -52
  127. package/dist/chunk-KNZMCAQZ.mjs +0 -51
  128. package/dist/chunk-KXFUCO3R.mjs +0 -1
  129. package/dist/chunk-LEBGCVCJ.mjs +0 -75
  130. package/dist/chunk-MAHWFCIL.mjs +0 -51
  131. package/dist/chunk-MPH76SLC.mjs +0 -51
  132. package/dist/chunk-MQGMFBJQ.mjs +0 -26
  133. package/dist/chunk-NMIVG7T4.mjs +0 -6
  134. package/dist/chunk-Q3TT3AZ4.mjs +0 -26
  135. package/dist/chunk-QY5HJQIL.mjs +0 -51
  136. package/dist/chunk-RCPLSNKM.mjs +0 -1
  137. package/dist/chunk-SR2KFBT3.mjs +0 -1
  138. package/dist/chunk-ULDLBAEG.mjs +0 -1
  139. package/dist/chunk-UQ3EUYFR.mjs +0 -1
  140. package/dist/chunk-V26OCCTL.mjs +0 -82
  141. package/dist/chunk-WBQAMGXK.mjs +0 -0
  142. package/dist/chunk-WSW6FMUL.mjs +0 -51
  143. package/dist/chunk-WU55SBIV.mjs +0 -75
  144. package/dist/chunk-XINK45P3.mjs +0 -51
  145. package/dist/chunk-XNOHIWI3.mjs +0 -1
  146. package/dist/chunk-XV4QN4LA.mjs +0 -6
  147. package/dist/chunk-YHBXEVUX.mjs +0 -51
  148. package/dist/chunk-YSZSCEI7.mjs +0 -75
  149. package/dist/chunk-YY3SUQ7P.mjs +0 -16
  150. package/dist/chunk-YZB3IG47.mjs +0 -80
  151. package/dist/chunk-ZPZT4LMQ.mjs +0 -25
  152. package/dist/const/conversion.d.mts +0 -7
  153. package/dist/const/conversion.d.ts +0 -7
  154. package/dist/const/conversion.js +0 -1
  155. package/dist/const/conversion.mjs +0 -1
  156. package/dist/const/unit.d.mts +0 -119
  157. package/dist/const/unit.d.ts +0 -119
  158. package/dist/const/unit.js +0 -1
  159. package/dist/const/unit.mjs +0 -1
  160. package/dist/index.d.mts +0 -5
  161. package/dist/index.mjs +0 -1
  162. package/dist/lib/assert.d.mts +0 -18
  163. package/dist/lib/assert.d.ts +0 -18
  164. package/dist/lib/assert.js +0 -1
  165. package/dist/lib/assert.mjs +0 -1
  166. package/dist/lib/ingredient.d.mts +0 -9
  167. package/dist/lib/ingredient.d.ts +0 -9
  168. package/dist/lib/ingredient.js +0 -1
  169. package/dist/lib/ingredient.mjs +0 -1
  170. package/dist/lib/recipe.d.mts +0 -12
  171. package/dist/lib/recipe.d.ts +0 -12
  172. package/dist/lib/recipe.js +0 -1
  173. package/dist/lib/recipe.mjs +0 -1
  174. package/dist/lib/runtime.d.mts +0 -3
  175. package/dist/lib/runtime.d.ts +0 -3
  176. package/dist/lib/runtime.js +0 -1
  177. package/dist/lib/runtime.mjs +0 -1
  178. package/dist/lib/unit.d.mts +0 -19
  179. package/dist/lib/unit.d.ts +0 -19
  180. package/dist/lib/unit.js +0 -1
  181. package/dist/lib/unit.mjs +0 -1
  182. package/dist/types.d.mts +0 -36
  183. package/dist/types.d.ts +0 -36
  184. package/dist/types.js +0 -1
  185. package/dist/types.mjs +0 -1
@@ -1,82 +0,0 @@
1
- // src/const/conversion.ts
2
- var WEIGHT_CONVERSION_TABLE = {
3
- g: {
4
- g: 1,
5
- kg: 1e3,
6
- oz: 28.3495,
7
- lb: 453.592
8
- },
9
- kg: {
10
- g: 1e-3,
11
- kg: 1,
12
- oz: 0.0283495,
13
- lb: 0.453592
14
- },
15
- oz: {
16
- g: 0.035274,
17
- kg: 35.274,
18
- oz: 1,
19
- lb: 16
20
- },
21
- lb: {
22
- g: 220462e-8,
23
- kg: 2.20462,
24
- oz: 0.0625,
25
- lb: 1
26
- }
27
- };
28
- var VOLUME_CONVERSION_TABLE = {
29
- L: {
30
- L: 1,
31
- gal: 3.78541,
32
- mL: 1e-3,
33
- cup: 0.0625,
34
- tsp: 0.202884,
35
- tbsp: 0.067628
36
- },
37
- gal: {
38
- L: 0.264172,
39
- gal: 1,
40
- mL: 264172e-9,
41
- cup: 0.016,
42
- tsp: 0.0515037,
43
- tbsp: 0.0171679
44
- },
45
- mL: {
46
- L: 1e3,
47
- gal: 3785.41,
48
- mL: 1,
49
- cup: 422675e-8,
50
- tsp: 0.033814,
51
- tbsp: 422675e-8
52
- },
53
- cup: {
54
- L: 4.22675,
55
- gal: 16,
56
- mL: 236.588,
57
- cup: 1,
58
- tsp: 3.2,
59
- tbsp: 1.06667
60
- },
61
- tsp: {
62
- L: 4.92892,
63
- gal: 18.6184,
64
- mL: 4.92892,
65
- cup: 0.3125,
66
- tsp: 1,
67
- tbsp: 0.333333
68
- },
69
- tbsp: {
70
- L: 14.7868,
71
- gal: 56,
72
- mL: 14.7868,
73
- cup: 0.9375,
74
- tsp: 3,
75
- tbsp: 1
76
- }
77
- };
78
-
79
- export {
80
- WEIGHT_CONVERSION_TABLE,
81
- VOLUME_CONVERSION_TABLE
82
- };
File without changes
@@ -1,51 +0,0 @@
1
- import {
2
- warn
3
- } from "./chunk-YY3SUQ7P.mjs";
4
- import {
5
- IS_DEV
6
- } from "./chunk-XV4QN4LA.mjs";
7
-
8
- // src/lib/recipe.ts
9
- var RecipeUtilsImpl = class {
10
- scopedMessageFactory(recipe) {
11
- return (message) => `${recipe.name}: ${message}`;
12
- }
13
- validateConfig(config) {
14
- if (!IS_DEV) {
15
- return;
16
- }
17
- const msg = this.scopedMessageFactory(config);
18
- warn(
19
- config.instructions,
20
- (instructions) => instructions.length > 0,
21
- msg("Recipe has no instructions")
22
- );
23
- warn(
24
- config.serves,
25
- (servings) => servings !== void 0 && servings <= 0,
26
- msg("Recipe serves less than 1 person")
27
- );
28
- warn(
29
- config.ingredients,
30
- (ingredients) => ingredients.length > 0,
31
- msg("Recipe has no ingredients")
32
- );
33
- }
34
- create(config) {
35
- this.validateConfig(config);
36
- return {
37
- name: config.name,
38
- ingredients: config.ingredients,
39
- units: config.units,
40
- // optional
41
- thumbnail: config.thumbnail,
42
- servings: config.servings ?? 1,
43
- instructions: config.instructions ?? []
44
- };
45
- }
46
- };
47
- var RecipeUtils = new RecipeUtilsImpl();
48
-
49
- export {
50
- RecipeUtils
51
- };
@@ -1,75 +0,0 @@
1
- import {
2
- warn
3
- } from "./chunk-YY3SUQ7P.mjs";
4
- import {
5
- IS_DEV
6
- } from "./chunk-XV4QN4LA.mjs";
7
-
8
- // src/lib/recipe.ts
9
- var RecipeUtilsImpl = class {
10
- scopedMessageFactory(recipe) {
11
- return (message) => `${recipe.name}: ${message}`;
12
- }
13
- validateConfig(config) {
14
- if (!IS_DEV) {
15
- return;
16
- }
17
- const msg = this.scopedMessageFactory(config);
18
- warn(
19
- config.instructions,
20
- (instructions) => instructions.length > 0,
21
- msg("Recipe has no instructions")
22
- );
23
- warn(
24
- config.serves,
25
- (serves) => serves === void 0 || serves > 0,
26
- msg("Recipe serves less than 1 person")
27
- );
28
- warn(
29
- config.ingredients,
30
- (ingredients) => ingredients.length > 0,
31
- msg("Recipe has no ingredients")
32
- );
33
- }
34
- determineMeasurementSystem(config) {
35
- const { ingredients } = config;
36
- const hasMetric = ingredients.some(
37
- (ingredient) => {
38
- var _a;
39
- return (_a = ingredient.conversion) == null ? void 0 : _a.metric;
40
- }
41
- );
42
- const hasImperial = ingredients.some(
43
- (ingredient) => {
44
- var _a;
45
- return (_a = ingredient.conversion) == null ? void 0 : _a["us-customary"];
46
- }
47
- );
48
- if (hasMetric && hasImperial) {
49
- return void 0;
50
- }
51
- if (hasMetric) {
52
- return "metric";
53
- }
54
- if (hasImperial) {
55
- return "us-customary";
56
- }
57
- return undeifned;
58
- }
59
- create(config) {
60
- this.validateConfig(config);
61
- return {
62
- name: config.name,
63
- ingredients: config.ingredients,
64
- // optional
65
- thumbnail: config.thumbnail,
66
- serves: config.serves ?? 1,
67
- instructions: config.instructions ?? []
68
- };
69
- }
70
- };
71
- var RecipeUtils = new RecipeUtilsImpl();
72
-
73
- export {
74
- RecipeUtils
75
- };
@@ -1,51 +0,0 @@
1
- import {
2
- warn
3
- } from "./chunk-YY3SUQ7P.mjs";
4
- import {
5
- IS_DEV
6
- } from "./chunk-XV4QN4LA.mjs";
7
-
8
- // src/lib/recipe.ts
9
- var RecipeUtilsImpl = class {
10
- static scopedMessageFactory(recipe) {
11
- return (message) => `${recipe.name}: ${message}`;
12
- }
13
- static validateConfig(config) {
14
- if (!IS_DEV) {
15
- return;
16
- }
17
- const msg = this.scopedMessageFactory(config);
18
- warn(
19
- config.instructions,
20
- (instructions) => instructions.length > 0,
21
- msg("Recipe has no instructions")
22
- );
23
- warn(
24
- config.servings,
25
- (servings) => servings !== void 0 && servings <= 0,
26
- msg("Recipe has less than one serving")
27
- );
28
- warn(
29
- config.ingredients,
30
- (ingredients) => ingredients.length > 0,
31
- msg("Recipe has no ingredients")
32
- );
33
- }
34
- create(config) {
35
- this.validateConfig(config);
36
- return {
37
- name: config.name,
38
- ingredients: config.ingredients,
39
- units: config.units,
40
- // optional
41
- thumbnail: config.thumbnail,
42
- servings: config.servings ?? 1,
43
- instructions: config.instructions ?? []
44
- };
45
- }
46
- };
47
- var RecipeUtils = new RecipeUtilsImpl();
48
-
49
- export {
50
- RecipeUtils
51
- };
@@ -1 +0,0 @@
1
- import{a as v,b as m}from"./chunk-KXFUCO3R.mjs";import{c as U}from"./chunk-22RBQQWH.mjs";import{a as i}from"./chunk-C45UD45A.mjs";var r=class{getUnit(n){let e=U.find(t=>t.abbreviation===n||t.name===n);return i(e,t=>!!t,`No unit found for key: ${n}`),e}getConversionRatio(n,e){let{type:t,abbreviation:o}=this.getUnit(n),s=(t==="volume"?m:v)[o],c=e==="metric"?t==="volume"?"L":"g":e;return i(s,b=>!!b[c],`No conversion table available for unit ${n} to ${e}`),s[c]}convert(n,e,t){if(e===t)return n;let o=this.getConversionRatio(e,t),a=n*o;return Math.round(a*100)/100}},f=new r;export{f as a};
@@ -1,6 +0,0 @@
1
- // src/lib/runtime.ts
2
- var IS_DEV = true;
3
-
4
- export {
5
- IS_DEV
6
- };
@@ -1,51 +0,0 @@
1
- import {
2
- warn
3
- } from "./chunk-YY3SUQ7P.mjs";
4
- import {
5
- IS_DEV
6
- } from "./chunk-XV4QN4LA.mjs";
7
-
8
- // src/lib/recipe.ts
9
- var RecipeUtilsImpl = class {
10
- scopedMessageFactory(recipe) {
11
- return (message) => `${recipe.name}: ${message}`;
12
- }
13
- validateConfig(config) {
14
- if (!IS_DEV) {
15
- return;
16
- }
17
- const msg = this.scopedMessageFactory(config);
18
- warn(
19
- config.instructions,
20
- (instructions) => instructions.length > 0,
21
- msg("Recipe has no instructions")
22
- );
23
- warn(
24
- config.serves,
25
- (serves) => serves === void 0 || serves > 0,
26
- msg("Recipe serves less than 1 person")
27
- );
28
- warn(
29
- config.ingredients,
30
- (ingredients) => ingredients.length > 0,
31
- msg("Recipe has no ingredients")
32
- );
33
- }
34
- create(config) {
35
- this.validateConfig(config);
36
- return {
37
- name: config.name,
38
- ingredients: config.ingredients,
39
- units: config.units,
40
- // optional
41
- thumbnail: config.thumbnail,
42
- serves: config.serves ?? 1,
43
- instructions: config.instructions ?? []
44
- };
45
- }
46
- };
47
- var RecipeUtils = new RecipeUtilsImpl();
48
-
49
- export {
50
- RecipeUtils
51
- };
@@ -1,75 +0,0 @@
1
- import {
2
- warn
3
- } from "./chunk-YY3SUQ7P.mjs";
4
- import {
5
- IS_DEV
6
- } from "./chunk-XV4QN4LA.mjs";
7
-
8
- // src/lib/recipe.ts
9
- var RecipeUtilsImpl = class {
10
- scopedMessageFactory(recipe) {
11
- return (message) => `${recipe.name}: ${message}`;
12
- }
13
- validateConfig(config) {
14
- if (!IS_DEV) {
15
- return;
16
- }
17
- const msg = this.scopedMessageFactory(config);
18
- warn(
19
- config.instructions,
20
- (instructions) => instructions.length > 0,
21
- msg("Recipe has no instructions")
22
- );
23
- warn(
24
- config.serves,
25
- (serves) => serves === void 0 || serves > 0,
26
- msg("Recipe serves less than 1 person")
27
- );
28
- warn(
29
- config.ingredients,
30
- (ingredients) => ingredients.length > 0,
31
- msg("Recipe has no ingredients")
32
- );
33
- }
34
- determineMeasurementSystem(config) {
35
- const { ingredients } = config;
36
- const hasMetric = ingredients.some(
37
- (ingredient) => ingredient.amount.unit === "g"
38
- );
39
- const hasImperial = ingredients.some(
40
- (ingredient) => ingredient.amount.unit === "oz"
41
- );
42
- if (hasMetric && hasImperial) {
43
- return void 0;
44
- }
45
- if (hasMetric) {
46
- return "metric";
47
- }
48
- if (hasImperial) {
49
- return "us-customary";
50
- }
51
- return void 0;
52
- }
53
- create(config) {
54
- this.validateConfig(config);
55
- return {
56
- name: config.name,
57
- ingredients: config.ingredients,
58
- // optional
59
- thumbnail: config.thumbnail,
60
- serves: config.serves ?? 1,
61
- instructions: config.instructions ?? [],
62
- // computed
63
- measurements: (
64
- // if the user has specified a measurement system, use that
65
- // otherwise, determine the measurement system based on the ingredients
66
- config.measurements ?? this.determineMeasurementSystem(config)
67
- )
68
- };
69
- }
70
- };
71
- var RecipeUtils = new RecipeUtilsImpl();
72
-
73
- export {
74
- RecipeUtils
75
- };
@@ -1,16 +0,0 @@
1
- // src/lib/assert.ts
2
- function assert(value, assertion, message) {
3
- if (!assertion(value)) {
4
- throw new Error(message);
5
- }
6
- }
7
- function warn(value, assertion, message) {
8
- if (!assertion(value)) {
9
- console.warn(message);
10
- }
11
- }
12
-
13
- export {
14
- assert,
15
- warn
16
- };
@@ -1,80 +0,0 @@
1
- // src/const/unit.ts
2
- var WEIGHT_UNITS = [
3
- {
4
- key: true,
5
- name: "gram",
6
- abbreviation: "g",
7
- value: 1,
8
- type: "weight"
9
- },
10
- {
11
- name: "kilogram",
12
- abbreviation: "kg",
13
- value: 1e3,
14
- type: "weight"
15
- },
16
- {
17
- name: "ounce",
18
- abbreviation: "oz",
19
- value: 28.3495,
20
- type: "weight"
21
- },
22
- {
23
- name: "pound",
24
- abbreviation: "lb",
25
- value: 453.592,
26
- type: "weight"
27
- }
28
- ];
29
- var VOLUME_UNITS = [
30
- {
31
- key: true,
32
- name: "liter",
33
- abbreviation: "L",
34
- value: 1,
35
- type: "volume"
36
- },
37
- {
38
- name: "gallon",
39
- abbreviation: "gal",
40
- value: 3.78541,
41
- type: "volume"
42
- },
43
- {
44
- name: "milliliter",
45
- abbreviation: "mL",
46
- value: 1e-3,
47
- type: "volume"
48
- },
49
- {
50
- name: "cup",
51
- abbreviation: "cup",
52
- value: 0.0625,
53
- type: "volume"
54
- },
55
- {
56
- name: "teaspoon",
57
- abbreviation: "tsp",
58
- value: 0.0208333,
59
- type: "volume"
60
- },
61
- {
62
- name: "tablespoon",
63
- abbreviation: "tbsp",
64
- value: 0.0625,
65
- type: "volume"
66
- },
67
- {
68
- name: "fluid ounce",
69
- abbreviation: "fl oz",
70
- value: 0.125,
71
- type: "volume"
72
- }
73
- ];
74
- var UNITS = [...WEIGHT_UNITS, ...VOLUME_UNITS];
75
-
76
- export {
77
- WEIGHT_UNITS,
78
- VOLUME_UNITS,
79
- UNITS
80
- };
@@ -1,25 +0,0 @@
1
- import {
2
- UnitUtils
3
- } from "./chunk-6QJZOZ6W.mjs";
4
-
5
- // src/lib/ingredient.ts
6
- var IngredientUtils = class {
7
- convert(ingredient, to) {
8
- const amount = UnitUtils.convert(
9
- ingredient.amount.value,
10
- ingredient.amount.unit,
11
- to
12
- );
13
- return {
14
- ...ingredient,
15
- amount: {
16
- value: amount,
17
- unit: to
18
- }
19
- };
20
- }
21
- };
22
-
23
- export {
24
- IngredientUtils
25
- };
@@ -1,7 +0,0 @@
1
- type weightAbbreviation = 'g' | 'kg' | 'oz' | 'lb';
2
- type volumeAbbreviation = 'L' | 'gal' | 'mL' | 'cup' | 'tsp' | 'tbsp';
3
- type conversionTable<T extends string> = Record<T, Partial<Record<T, number>>>;
4
- declare const WEIGHT_CONVERSION_TABLE: conversionTable<weightAbbreviation>;
5
- declare const VOLUME_CONVERSION_TABLE: conversionTable<volumeAbbreviation>;
6
-
7
- export { VOLUME_CONVERSION_TABLE, WEIGHT_CONVERSION_TABLE };
@@ -1,7 +0,0 @@
1
- type weightAbbreviation = 'g' | 'kg' | 'oz' | 'lb';
2
- type volumeAbbreviation = 'L' | 'gal' | 'mL' | 'cup' | 'tsp' | 'tbsp';
3
- type conversionTable<T extends string> = Record<T, Partial<Record<T, number>>>;
4
- declare const WEIGHT_CONVERSION_TABLE: conversionTable<weightAbbreviation>;
5
- declare const VOLUME_CONVERSION_TABLE: conversionTable<volumeAbbreviation>;
6
-
7
- export { VOLUME_CONVERSION_TABLE, WEIGHT_CONVERSION_TABLE };
@@ -1 +0,0 @@
1
- var o=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var L=(p,t)=>{for(var b in t)o(p,b,{get:t[b],enumerable:!0})},c=(p,t,b,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of l(t))!a.call(p,s)&&s!==b&&o(p,s,{get:()=>t[s],enumerable:!(e=g(t,s))||e.enumerable});return p};var n=p=>c(o({},"__esModule",{value:!0}),p);var m={};L(m,{VOLUME_CONVERSION_TABLE:()=>r,WEIGHT_CONVERSION_TABLE:()=>i});module.exports=n(m);var i={g:{g:1,kg:1e3,oz:28.3495,lb:453.592},kg:{g:.001,kg:1,oz:.0283495,lb:.453592},oz:{g:.035274,kg:35.274,oz:1,lb:16},lb:{g:.00220462,kg:2.20462,oz:.0625,lb:1}},r={L:{L:1,gal:3.78541,mL:.001,cup:.0625,tsp:.202884,tbsp:.067628},gal:{L:.264172,gal:1,mL:264172e-9,cup:.016,tsp:.0515037,tbsp:.0171679},mL:{L:1e3,gal:3785.41,mL:1,cup:.00422675,tsp:.033814,tbsp:.00422675},cup:{L:4.22675,gal:16,mL:236.588,cup:1,tsp:3.2,tbsp:1.06667},tsp:{L:4.92892,gal:18.6184,mL:4.92892,cup:.3125,tsp:1,tbsp:.333333},tbsp:{L:14.7868,gal:56,mL:14.7868,cup:.9375,tsp:3,tbsp:1}};0&&(module.exports={VOLUME_CONVERSION_TABLE,WEIGHT_CONVERSION_TABLE});
@@ -1 +0,0 @@
1
- import{a,b}from"../chunk-KXFUCO3R.mjs";export{b as VOLUME_CONVERSION_TABLE,a as WEIGHT_CONVERSION_TABLE};
@@ -1,119 +0,0 @@
1
- declare const WEIGHT_UNITS: readonly [{
2
- readonly key: true;
3
- readonly name: "gram";
4
- readonly abbreviation: "g";
5
- readonly value: 1;
6
- readonly type: "weight";
7
- }, {
8
- readonly name: "kilogram";
9
- readonly abbreviation: "kg";
10
- readonly value: 1000;
11
- readonly type: "weight";
12
- }, {
13
- readonly name: "ounce";
14
- readonly abbreviation: "oz";
15
- readonly value: 28.3495;
16
- readonly type: "weight";
17
- }, {
18
- readonly name: "pound";
19
- readonly abbreviation: "lb";
20
- readonly value: 453.592;
21
- readonly type: "weight";
22
- }];
23
- declare const VOLUME_UNITS: readonly [{
24
- readonly key: true;
25
- readonly name: "liter";
26
- readonly abbreviation: "L";
27
- readonly value: 1;
28
- readonly type: "volume";
29
- }, {
30
- readonly name: "gallon";
31
- readonly abbreviation: "gal";
32
- readonly value: 3.78541;
33
- readonly type: "volume";
34
- }, {
35
- readonly name: "milliliter";
36
- readonly abbreviation: "mL";
37
- readonly value: 0.001;
38
- readonly type: "volume";
39
- }, {
40
- readonly name: "cup";
41
- readonly abbreviation: "cup";
42
- readonly value: 0.0625;
43
- readonly type: "volume";
44
- }, {
45
- readonly name: "teaspoon";
46
- readonly abbreviation: "tsp";
47
- readonly value: 0.0208333;
48
- readonly type: "volume";
49
- }, {
50
- readonly name: "tablespoon";
51
- readonly abbreviation: "tbsp";
52
- readonly value: 0.0625;
53
- readonly type: "volume";
54
- }, {
55
- readonly name: "fluid ounce";
56
- readonly abbreviation: "fl oz";
57
- readonly value: 0.125;
58
- readonly type: "volume";
59
- }];
60
- declare const UNITS: ({
61
- readonly key: true;
62
- readonly name: "gram";
63
- readonly abbreviation: "g";
64
- readonly value: 1;
65
- readonly type: "weight";
66
- } | {
67
- readonly name: "kilogram";
68
- readonly abbreviation: "kg";
69
- readonly value: 1000;
70
- readonly type: "weight";
71
- } | {
72
- readonly name: "ounce";
73
- readonly abbreviation: "oz";
74
- readonly value: 28.3495;
75
- readonly type: "weight";
76
- } | {
77
- readonly name: "pound";
78
- readonly abbreviation: "lb";
79
- readonly value: 453.592;
80
- readonly type: "weight";
81
- } | {
82
- readonly key: true;
83
- readonly name: "liter";
84
- readonly abbreviation: "L";
85
- readonly value: 1;
86
- readonly type: "volume";
87
- } | {
88
- readonly name: "gallon";
89
- readonly abbreviation: "gal";
90
- readonly value: 3.78541;
91
- readonly type: "volume";
92
- } | {
93
- readonly name: "milliliter";
94
- readonly abbreviation: "mL";
95
- readonly value: 0.001;
96
- readonly type: "volume";
97
- } | {
98
- readonly name: "cup";
99
- readonly abbreviation: "cup";
100
- readonly value: 0.0625;
101
- readonly type: "volume";
102
- } | {
103
- readonly name: "teaspoon";
104
- readonly abbreviation: "tsp";
105
- readonly value: 0.0208333;
106
- readonly type: "volume";
107
- } | {
108
- readonly name: "tablespoon";
109
- readonly abbreviation: "tbsp";
110
- readonly value: 0.0625;
111
- readonly type: "volume";
112
- } | {
113
- readonly name: "fluid ounce";
114
- readonly abbreviation: "fl oz";
115
- readonly value: 0.125;
116
- readonly type: "volume";
117
- })[];
118
-
119
- export { UNITS, VOLUME_UNITS, WEIGHT_UNITS };