cooklang-parse 1.0.0 → 1.1.0
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/dist/index.js +6 -31
- package/dist/semantics.d.ts.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -11456,32 +11456,6 @@ semantics.addOperation("toAST", {
|
|
|
11456
11456
|
return null;
|
|
11457
11457
|
}
|
|
11458
11458
|
});
|
|
11459
|
-
function detectUnclosedBraces(steps) {
|
|
11460
|
-
const warnings = [];
|
|
11461
|
-
for (const step of steps) {
|
|
11462
|
-
for (let i = 0;i < step.length; i++) {
|
|
11463
|
-
const item = step[i];
|
|
11464
|
-
if (!item || item.type !== "text")
|
|
11465
|
-
continue;
|
|
11466
|
-
const prev = i > 0 ? step[i - 1] : undefined;
|
|
11467
|
-
if (prev && prev.type !== "text" && item.value.includes("{")) {
|
|
11468
|
-
warnings.push({
|
|
11469
|
-
message: `Possible unclosed brace after ${prev.type} "${prev.name}"`,
|
|
11470
|
-
position: { line: 0, column: 0, offset: 0 },
|
|
11471
|
-
severity: "warning"
|
|
11472
|
-
});
|
|
11473
|
-
}
|
|
11474
|
-
if (/[@#~]\w*\{[^}]*$/.test(item.value)) {
|
|
11475
|
-
warnings.push({
|
|
11476
|
-
message: "Possible unclosed brace in text",
|
|
11477
|
-
position: { line: 0, column: 0, offset: 0 },
|
|
11478
|
-
severity: "warning"
|
|
11479
|
-
});
|
|
11480
|
-
}
|
|
11481
|
-
}
|
|
11482
|
-
}
|
|
11483
|
-
return warnings;
|
|
11484
|
-
}
|
|
11485
11459
|
function parseCooklang(source) {
|
|
11486
11460
|
const directives = extractMetadataDirectives(source);
|
|
11487
11461
|
const matchResult = grammar2.match(directives.strippedSource);
|
|
@@ -11504,21 +11478,21 @@ function parseCooklang(source) {
|
|
|
11504
11478
|
position: { line: pos.lineNum, column: pos.colNum, offset: mappedOffset },
|
|
11505
11479
|
severity: "error"
|
|
11506
11480
|
}
|
|
11507
|
-
]
|
|
11481
|
+
],
|
|
11482
|
+
warnings: []
|
|
11508
11483
|
};
|
|
11509
11484
|
}
|
|
11510
11485
|
const result = semantics(matchResult).toAST();
|
|
11511
11486
|
const yamlStartOffset = result.frontmatter ? source.indexOf("---") + 4 : 0;
|
|
11512
11487
|
const yaml = result.frontmatter ? parseYamlFrontmatter(result.frontmatter, yamlStartOffset) : null;
|
|
11513
|
-
const
|
|
11488
|
+
const warnings = [];
|
|
11514
11489
|
if (yaml?.warning) {
|
|
11515
|
-
|
|
11490
|
+
warnings.push({
|
|
11516
11491
|
message: yaml.warning,
|
|
11517
11492
|
position: yaml.position ?? { line: 1, column: 1, offset: 0 },
|
|
11518
11493
|
severity: "warning"
|
|
11519
11494
|
});
|
|
11520
11495
|
}
|
|
11521
|
-
errors.push(...detectUnclosedBraces(result.steps));
|
|
11522
11496
|
const metadata = { ...yaml?.data, ...directives.metadata };
|
|
11523
11497
|
const keyFn = (i) => `${i.name}|${i.quantity}|${i.units}`;
|
|
11524
11498
|
return {
|
|
@@ -11529,7 +11503,8 @@ function parseCooklang(source) {
|
|
|
11529
11503
|
timers: collectUnique(result.steps, "timer", keyFn),
|
|
11530
11504
|
sections: result.sections,
|
|
11531
11505
|
notes: result.notes,
|
|
11532
|
-
errors
|
|
11506
|
+
errors: [],
|
|
11507
|
+
warnings
|
|
11533
11508
|
};
|
|
11534
11509
|
}
|
|
11535
11510
|
export {
|
package/dist/semantics.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantics.d.ts","sourceRoot":"","sources":["../src/semantics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAA;AAG7B,OAAO,KAAK,EACV,cAAc,EAOf,MAAM,SAAS,CAAA;AAEhB,QAAA,MAAM,OAAO,aAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"semantics.d.ts","sourceRoot":"","sources":["../src/semantics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAA;AAG7B,OAAO,KAAK,EACV,cAAc,EAOf,MAAM,SAAS,CAAA;AAEhB,QAAA,MAAM,OAAO,aAA6B,CAAA;AAoS1C,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CA0D5D;AAED,OAAO,EAAE,OAAO,EAAE,CAAA"}
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,cAAc,CAAA;IACxB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,KAAK,EAAE,cAAc,EAAE,EAAE,CAAA;IACzB,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,EAAE,UAAU,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,cAAc,CAAA;IACxB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,KAAK,EAAE,cAAc,EAAE,EAAE,CAAA;IACzB,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,EAAE,UAAU,EAAE,CAAA;IACpB,QAAQ,EAAE,UAAU,EAAE,CAAA;CACvB;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B,gBAAgB,GAChB,cAAc,GACd,WAAW,CAAA;AAEf,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,YAAY,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;CACd"}
|