@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.
- package/CHANGELOG.md +116 -0
- package/LICENSE +21 -0
- package/README.md +50 -7
- package/dist/chunk-D5CV3UF7.cjs +2754 -0
- package/dist/chunk-D5CV3UF7.cjs.map +1 -0
- package/dist/errors.js +76 -0
- package/dist/errors.js.map +1 -0
- package/dist/format/duration.js +36 -0
- package/dist/format/duration.js.map +1 -0
- package/dist/format/ingredient.js +49 -0
- package/dist/format/ingredient.js.map +1 -0
- package/dist/format/number.js +120 -0
- package/dist/format/number.js.map +1 -0
- package/dist/format/options.js +31 -0
- package/dist/format/options.js.map +1 -0
- package/dist/format/quantity.js +144 -0
- package/dist/format/quantity.js.map +1 -0
- package/dist/format/servings.js +68 -0
- package/dist/format/servings.js.map +1 -0
- package/dist/format/temperature.js +35 -0
- package/dist/format/temperature.js.map +1 -0
- package/dist/index.cjs +476 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +994 -0
- package/dist/index.d.ts +994 -5
- package/dist/index.js +48 -1
- package/dist/index.js.map +1 -0
- package/dist/ingredient/parse.js +412 -0
- package/dist/ingredient/parse.js.map +1 -0
- package/dist/issues.js +26 -0
- package/dist/issues.js.map +1 -0
- package/dist/quantity/amount.js +78 -0
- package/dist/quantity/amount.js.map +1 -0
- package/dist/quantity/parse.js +255 -0
- package/dist/quantity/parse.js.map +1 -0
- package/dist/quantity/scale.js +23 -0
- package/dist/quantity/scale.js.map +1 -0
- package/dist/recipe/duration.js +28 -0
- package/dist/recipe/duration.js.map +1 -0
- package/dist/recipe/ids.js +68 -0
- package/dist/recipe/ids.js.map +1 -0
- package/dist/recipe/infer.js +24 -0
- package/dist/recipe/infer.js.map +1 -0
- package/dist/recipe/nutrient-units.js +18 -0
- package/dist/recipe/nutrient-units.js.map +1 -0
- package/dist/recipe/nutrition.js +26 -0
- package/dist/recipe/nutrition.js.map +1 -0
- package/dist/recipe/parse.js +854 -0
- package/dist/recipe/parse.js.map +1 -0
- package/dist/recipe/schema.js +32 -0
- package/dist/recipe/schema.js.map +1 -0
- package/dist/recipe/url.js +9 -0
- package/dist/recipe/url.js.map +1 -0
- package/dist/resolve.js +120 -0
- package/dist/resolve.js.map +1 -0
- package/dist/schema-org/find.js +158 -0
- package/dist/schema-org/find.js.map +1 -0
- package/dist/schema-org/from-json-ld.js +647 -0
- package/dist/schema-org/from-json-ld.js.map +1 -0
- package/dist/schema-org/nutrients.js +19 -0
- package/dist/schema-org/nutrients.js.map +1 -0
- package/dist/schema-org/text.js +125 -0
- package/dist/schema-org/text.js.map +1 -0
- package/dist/schema-org/to-json-ld.js +151 -0
- package/dist/schema-org/to-json-ld.js.map +1 -0
- package/dist/schema-org.cjs +1062 -0
- package/dist/schema-org.cjs.map +1 -0
- package/dist/schema-org.d.cts +223 -0
- package/dist/schema-org.d.ts +223 -0
- package/dist/schema-org.js +10 -0
- package/dist/schema-org.js.map +1 -0
- package/dist/steps/segment.js +45 -0
- package/dist/steps/segment.js.map +1 -0
- package/dist/steps/temperature.js +174 -0
- package/dist/steps/temperature.js.map +1 -0
- package/dist/suggest.js +50 -0
- package/dist/suggest.js.map +1 -0
- package/dist/types-BknM8KOd.d.cts +628 -0
- package/dist/types-BknM8KOd.d.ts +628 -0
- package/dist/units/convert.js +79 -0
- package/dist/units/convert.js.map +1 -0
- package/dist/units/lookup.js +86 -0
- package/dist/units/lookup.js.map +1 -0
- package/dist/units/registry.js +183 -0
- package/dist/units/registry.js.map +1 -0
- package/dist/units/system.js +91 -0
- package/dist/units/system.js.map +1 -0
- package/dist/units/temperature.js +40 -0
- package/dist/units/temperature.js.map +1 -0
- package/dist/validation.js +90 -0
- package/dist/validation.js.map +1 -0
- package/package.json +53 -8
- package/schema-org/package.json +5 -0
- package/dist/chunk-22RBQQWH.mjs +0 -1
- package/dist/chunk-3CSP4UZG.mjs +0 -1
- package/dist/chunk-3FFMHRB7.mjs +0 -26
- package/dist/chunk-4EB3HG6B.mjs +0 -50
- package/dist/chunk-4EHNJLGI.mjs +0 -50
- package/dist/chunk-4IA5EEKI.mjs +0 -81
- package/dist/chunk-4TATADPT.mjs +0 -51
- package/dist/chunk-6GI5KLI4.mjs +0 -22
- package/dist/chunk-6QJZOZ6W.mjs +0 -49
- package/dist/chunk-6YYQ4RYZ.mjs +0 -26
- package/dist/chunk-7BBUDI2L.mjs +0 -0
- package/dist/chunk-7KEMNCV7.mjs +0 -26
- package/dist/chunk-7MMJZZ7Z.mjs +0 -75
- package/dist/chunk-BES4V7DM.mjs +0 -26
- package/dist/chunk-BRDXRIAH.mjs +0 -50
- package/dist/chunk-C45UD45A.mjs +0 -1
- package/dist/chunk-CBLJXA6P.mjs +0 -1
- package/dist/chunk-CFR2ZBPB.mjs +0 -77
- package/dist/chunk-DYMNVFL2.mjs +0 -78
- package/dist/chunk-F6AQKXJU.mjs +0 -51
- package/dist/chunk-FW4M2R43.mjs +0 -51
- package/dist/chunk-GCCEDUST.mjs +0 -75
- package/dist/chunk-GE7KBYZR.mjs +0 -26
- package/dist/chunk-GN7ZDGYC.mjs +0 -51
- package/dist/chunk-GOO2SCQX.mjs +0 -75
- package/dist/chunk-HAVKBQLH.mjs +0 -51
- package/dist/chunk-HCBIPANU.mjs +0 -50
- package/dist/chunk-IEBAGBS7.mjs +0 -51
- package/dist/chunk-IQ6WN2V4.mjs +0 -75
- package/dist/chunk-JB4Z2FR7.mjs +0 -77
- package/dist/chunk-JMTQOTBM.mjs +0 -75
- package/dist/chunk-JRO6JUES.mjs +0 -51
- package/dist/chunk-KH3SRXET.mjs +0 -52
- package/dist/chunk-KNZMCAQZ.mjs +0 -51
- package/dist/chunk-KXFUCO3R.mjs +0 -1
- package/dist/chunk-LEBGCVCJ.mjs +0 -75
- package/dist/chunk-MAHWFCIL.mjs +0 -51
- package/dist/chunk-MPH76SLC.mjs +0 -51
- package/dist/chunk-MQGMFBJQ.mjs +0 -26
- package/dist/chunk-NMIVG7T4.mjs +0 -6
- package/dist/chunk-Q3TT3AZ4.mjs +0 -26
- package/dist/chunk-QY5HJQIL.mjs +0 -51
- package/dist/chunk-RCPLSNKM.mjs +0 -1
- package/dist/chunk-SR2KFBT3.mjs +0 -1
- package/dist/chunk-ULDLBAEG.mjs +0 -1
- package/dist/chunk-UQ3EUYFR.mjs +0 -1
- package/dist/chunk-V26OCCTL.mjs +0 -82
- package/dist/chunk-WBQAMGXK.mjs +0 -0
- package/dist/chunk-WSW6FMUL.mjs +0 -51
- package/dist/chunk-WU55SBIV.mjs +0 -75
- package/dist/chunk-XINK45P3.mjs +0 -51
- package/dist/chunk-XNOHIWI3.mjs +0 -1
- package/dist/chunk-XV4QN4LA.mjs +0 -6
- package/dist/chunk-YHBXEVUX.mjs +0 -51
- package/dist/chunk-YSZSCEI7.mjs +0 -75
- package/dist/chunk-YY3SUQ7P.mjs +0 -16
- package/dist/chunk-YZB3IG47.mjs +0 -80
- package/dist/chunk-ZPZT4LMQ.mjs +0 -25
- package/dist/const/conversion.d.mts +0 -7
- package/dist/const/conversion.d.ts +0 -7
- package/dist/const/conversion.js +0 -1
- package/dist/const/conversion.mjs +0 -1
- package/dist/const/unit.d.mts +0 -119
- package/dist/const/unit.d.ts +0 -119
- package/dist/const/unit.js +0 -1
- package/dist/const/unit.mjs +0 -1
- package/dist/index.d.mts +0 -5
- package/dist/index.mjs +0 -1
- package/dist/lib/assert.d.mts +0 -18
- package/dist/lib/assert.d.ts +0 -18
- package/dist/lib/assert.js +0 -1
- package/dist/lib/assert.mjs +0 -1
- package/dist/lib/ingredient.d.mts +0 -9
- package/dist/lib/ingredient.d.ts +0 -9
- package/dist/lib/ingredient.js +0 -1
- package/dist/lib/ingredient.mjs +0 -1
- package/dist/lib/recipe.d.mts +0 -12
- package/dist/lib/recipe.d.ts +0 -12
- package/dist/lib/recipe.js +0 -1
- package/dist/lib/recipe.mjs +0 -1
- package/dist/lib/runtime.d.mts +0 -3
- package/dist/lib/runtime.d.ts +0 -3
- package/dist/lib/runtime.js +0 -1
- package/dist/lib/runtime.mjs +0 -1
- package/dist/lib/unit.d.mts +0 -19
- package/dist/lib/unit.d.ts +0 -19
- package/dist/lib/unit.js +0 -1
- package/dist/lib/unit.mjs +0 -1
- package/dist/types.d.mts +0 -36
- package/dist/types.d.ts +0 -36
- package/dist/types.js +0 -1
- package/dist/types.mjs +0 -1
package/dist/chunk-V26OCCTL.mjs
DELETED
|
@@ -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
|
-
};
|
package/dist/chunk-WBQAMGXK.mjs
DELETED
|
File without changes
|
package/dist/chunk-WSW6FMUL.mjs
DELETED
|
@@ -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
|
-
};
|
package/dist/chunk-WU55SBIV.mjs
DELETED
|
@@ -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
|
-
};
|
package/dist/chunk-XINK45P3.mjs
DELETED
|
@@ -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
|
-
};
|
package/dist/chunk-XNOHIWI3.mjs
DELETED
|
@@ -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};
|
package/dist/chunk-XV4QN4LA.mjs
DELETED
package/dist/chunk-YHBXEVUX.mjs
DELETED
|
@@ -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
|
-
};
|
package/dist/chunk-YSZSCEI7.mjs
DELETED
|
@@ -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
|
-
};
|
package/dist/chunk-YY3SUQ7P.mjs
DELETED
|
@@ -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
|
-
};
|
package/dist/chunk-YZB3IG47.mjs
DELETED
|
@@ -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
|
-
};
|
package/dist/chunk-ZPZT4LMQ.mjs
DELETED
|
@@ -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 };
|
package/dist/const/conversion.js
DELETED
|
@@ -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};
|
package/dist/const/unit.d.mts
DELETED
|
@@ -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 };
|