perttool 0.4.0 → 0.5.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/CHANGELOG.md +44 -1
- package/README.md +84 -34
- package/dist/actuals/lifecycle.d.ts +101 -0
- package/dist/actuals/lifecycle.d.ts.map +1 -0
- package/dist/actuals/lifecycle.js +329 -0
- package/dist/actuals/lifecycle.js.map +1 -0
- package/dist/actuals/source.d.ts +36 -0
- package/dist/actuals/source.d.ts.map +1 -0
- package/dist/actuals/source.js +119 -0
- package/dist/actuals/source.js.map +1 -0
- package/dist/analysis/temporal-deadline.d.ts +2 -2
- package/dist/analysis/temporal-deadline.d.ts.map +1 -1
- package/dist/analysis/temporal-deadline.js.map +1 -1
- package/dist/analysis/temporal-precedence.d.ts +2 -2
- package/dist/analysis/temporal-precedence.d.ts.map +1 -1
- package/dist/analysis/temporal-precedence.js +2 -0
- package/dist/analysis/temporal-precedence.js.map +1 -1
- package/dist/analysis/temporal-resource.d.ts +2 -2
- package/dist/analysis/temporal-resource.d.ts.map +1 -1
- package/dist/analysis/temporal-resource.js +2 -0
- package/dist/analysis/temporal-resource.js.map +1 -1
- package/dist/application/analyze.d.ts +1 -0
- package/dist/application/analyze.d.ts.map +1 -1
- package/dist/application/analyze.js +38 -29
- package/dist/application/analyze.js.map +1 -1
- package/dist/application/check.d.ts +3 -0
- package/dist/application/check.d.ts.map +1 -1
- package/dist/application/check.js +17 -1
- package/dist/application/check.js.map +1 -1
- package/dist/application/contract6-actuals.d.ts +24 -0
- package/dist/application/contract6-actuals.d.ts.map +1 -0
- package/dist/application/contract6-actuals.js +51 -0
- package/dist/application/contract6-actuals.js.map +1 -0
- package/dist/application/contract6-mutation.d.ts +18 -0
- package/dist/application/contract6-mutation.d.ts.map +1 -0
- package/dist/application/contract6-mutation.js +173 -0
- package/dist/application/contract6-mutation.js.map +1 -0
- package/dist/application/contract6-projection.d.ts +9 -0
- package/dist/application/contract6-projection.d.ts.map +1 -0
- package/dist/application/contract6-projection.js +105 -0
- package/dist/application/contract6-projection.js.map +1 -0
- package/dist/application/init.d.ts +1 -1
- package/dist/application/init.js +3 -3
- package/dist/application/project.js +2 -2
- package/dist/application/target-actuals-advance.d.ts +12 -0
- package/dist/application/target-actuals-advance.d.ts.map +1 -0
- package/dist/application/target-actuals-advance.js +113 -0
- package/dist/application/target-actuals-advance.js.map +1 -0
- package/dist/application/target-actuals-analysis.d.ts +76 -0
- package/dist/application/target-actuals-analysis.d.ts.map +1 -0
- package/dist/application/target-actuals-analysis.js +250 -0
- package/dist/application/target-actuals-analysis.js.map +1 -0
- package/dist/application/target-actuals-mutation.d.ts +28 -0
- package/dist/application/target-actuals-mutation.d.ts.map +1 -0
- package/dist/application/target-actuals-mutation.js +404 -0
- package/dist/application/target-actuals-mutation.js.map +1 -0
- package/dist/application/target-actuals-write.d.ts +7 -0
- package/dist/application/target-actuals-write.d.ts.map +1 -0
- package/dist/application/target-actuals-write.js +37 -0
- package/dist/application/target-actuals-write.js.map +1 -0
- package/dist/application/target-governance-init.d.ts +3 -3
- package/dist/application/target-governance-init.d.ts.map +1 -1
- package/dist/application/target-governance-init.js +20 -10
- package/dist/application/target-governance-init.js.map +1 -1
- package/dist/application/target-governance-project.d.ts +4 -4
- package/dist/application/target-governance-project.d.ts.map +1 -1
- package/dist/application/target-governance-project.js +4 -2
- package/dist/application/target-governance-project.js.map +1 -1
- package/dist/application/target-governance-write.d.ts +8 -0
- package/dist/application/target-governance-write.d.ts.map +1 -1
- package/dist/application/target-governance-write.js +1 -1
- package/dist/application/target-governance-write.js.map +1 -1
- package/dist/application/target-mutate.d.ts +3 -1
- package/dist/application/target-mutate.d.ts.map +1 -1
- package/dist/application/target-mutate.js +34 -2
- package/dist/application/target-mutate.js.map +1 -1
- package/dist/application/target-project-history.d.ts +18 -0
- package/dist/application/target-project-history.d.ts.map +1 -0
- package/dist/application/target-project-history.js +279 -0
- package/dist/application/target-project-history.js.map +1 -0
- package/dist/application/target-temporal-analysis.d.ts +7 -1
- package/dist/application/target-temporal-analysis.d.ts.map +1 -1
- package/dist/application/target-temporal-analysis.js +10 -8
- package/dist/application/target-temporal-analysis.js.map +1 -1
- package/dist/application/target-temporal-input.d.ts +6 -4
- package/dist/application/target-temporal-input.d.ts.map +1 -1
- package/dist/application/target-temporal-input.js +10 -1
- package/dist/application/target-temporal-input.js.map +1 -1
- package/dist/application/target-unit-migration-candidate.d.ts +2 -2
- package/dist/application/target-unit-migration-candidate.d.ts.map +1 -1
- package/dist/application/target-unit-migration-candidate.js +21 -10
- package/dist/application/target-unit-migration-candidate.js.map +1 -1
- package/dist/application/target-unit-migration-request.d.ts +4 -4
- package/dist/application/target-unit-migration-request.d.ts.map +1 -1
- package/dist/application/target-unit-migration-request.js +6 -4
- package/dist/application/target-unit-migration-request.js.map +1 -1
- package/dist/application/target-unit-migration-result.d.ts +5 -5
- package/dist/application/target-unit-migration-result.d.ts.map +1 -1
- package/dist/application/target-unit-migration-result.js +1 -1
- package/dist/application/target-unit-migration-result.js.map +1 -1
- package/dist/application/target-velocity-observation.d.ts +11 -0
- package/dist/application/target-velocity-observation.d.ts.map +1 -0
- package/dist/application/target-velocity-observation.js +201 -0
- package/dist/application/target-velocity-observation.js.map +1 -0
- package/dist/application/unit-migration.d.ts +2 -2
- package/dist/application/unit-migration.d.ts.map +1 -1
- package/dist/application/unit-migration.js +2 -2
- package/dist/cli.js +285 -45
- package/dist/cli.js.map +1 -1
- package/dist/command/actuals-discovery.d.ts +26 -0
- package/dist/command/actuals-discovery.d.ts.map +1 -0
- package/dist/command/actuals-discovery.js +271 -0
- package/dist/command/actuals-discovery.js.map +1 -0
- package/dist/command/actuals-usage.d.ts +22 -0
- package/dist/command/actuals-usage.d.ts.map +1 -0
- package/dist/command/actuals-usage.js +122 -0
- package/dist/command/actuals-usage.js.map +1 -0
- package/dist/formatter/source-formatter.d.ts +3 -3
- package/dist/formatter/source-formatter.d.ts.map +1 -1
- package/dist/formatter/source-formatter.js +53 -5
- package/dist/formatter/source-formatter.js.map +1 -1
- package/dist/formatter/target-source-formatter.d.ts +2 -1
- package/dist/formatter/target-source-formatter.d.ts.map +1 -1
- package/dist/formatter/target-source-formatter.js +18 -2
- package/dist/formatter/target-source-formatter.js.map +1 -1
- package/dist/governance/authority.d.ts +7 -3
- package/dist/governance/authority.d.ts.map +1 -1
- package/dist/governance/authority.js.map +1 -1
- package/dist/governance/source.d.ts +2 -2
- package/dist/governance/source.d.ts.map +1 -1
- package/dist/governance/source.js.map +1 -1
- package/dist/help/actuals-guide.d.ts +10 -0
- package/dist/help/actuals-guide.d.ts.map +1 -0
- package/dist/help/actuals-guide.js +23 -0
- package/dist/help/actuals-guide.js.map +1 -0
- package/dist/help/guide.d.ts +1 -1
- package/dist/help/guide.d.ts.map +1 -1
- package/dist/help/registry.d.ts.map +1 -1
- package/dist/help/registry.js +97 -7
- package/dist/help/registry.js.map +1 -1
- package/dist/history/git-probe.d.ts +52 -0
- package/dist/history/git-probe.d.ts.map +1 -0
- package/dist/history/git-probe.js +565 -0
- package/dist/history/git-probe.js.map +1 -0
- package/dist/history/project-history.d.ts +112 -0
- package/dist/history/project-history.d.ts.map +1 -0
- package/dist/history/project-history.js +786 -0
- package/dist/history/project-history.js.map +1 -0
- package/dist/history/velocity-observation.d.ts +69 -0
- package/dist/history/velocity-observation.d.ts.map +1 -0
- package/dist/history/velocity-observation.js +604 -0
- package/dist/history/velocity-observation.js.map +1 -0
- package/dist/index.d.ts +19 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -5
- package/dist/index.js.map +1 -1
- package/dist/io/target-safe-write.d.ts +4 -1
- package/dist/io/target-safe-write.d.ts.map +1 -1
- package/dist/io/target-safe-write.js +19 -1
- package/dist/io/target-safe-write.js.map +1 -1
- package/dist/migration/conversion.d.ts +1 -1
- package/dist/migration/conversion.d.ts.map +1 -1
- package/dist/migration/grammar-boundary.d.ts +1 -1
- package/dist/migration/grammar-boundary.d.ts.map +1 -1
- package/dist/migration/grammar-boundary.js +11 -3
- package/dist/migration/grammar-boundary.js.map +1 -1
- package/dist/migration/request.d.ts +5 -5
- package/dist/migration/request.d.ts.map +1 -1
- package/dist/migration/request.js +15 -2
- package/dist/migration/request.js.map +1 -1
- package/dist/model/calendar.d.ts +2 -0
- package/dist/model/calendar.d.ts.map +1 -1
- package/dist/model/calendar.js +19 -0
- package/dist/model/calendar.js.map +1 -1
- package/dist/model/declaration-fields.d.ts +8 -0
- package/dist/model/declaration-fields.d.ts.map +1 -1
- package/dist/model/declaration-fields.js +13 -0
- package/dist/model/declaration-fields.js.map +1 -1
- package/dist/model/exact-person-hours-source.d.ts +2 -0
- package/dist/model/exact-person-hours-source.d.ts.map +1 -0
- package/dist/model/exact-person-hours-source.js +10 -0
- package/dist/model/exact-person-hours-source.js.map +1 -0
- package/dist/model/syntax.d.ts +23 -8
- package/dist/model/syntax.d.ts.map +1 -1
- package/dist/model/syntax.js.map +1 -1
- package/dist/mutation/actuals.d.ts +17 -0
- package/dist/mutation/actuals.d.ts.map +1 -0
- package/dist/mutation/actuals.js +90 -0
- package/dist/mutation/actuals.js.map +1 -0
- package/dist/mutation/advance.d.ts +9 -3
- package/dist/mutation/advance.d.ts.map +1 -1
- package/dist/mutation/advance.js +41 -12
- package/dist/mutation/advance.js.map +1 -1
- package/dist/mutation/entity-editor.d.ts +2 -2
- package/dist/mutation/entity-editor.d.ts.map +1 -1
- package/dist/mutation/entity-editor.js.map +1 -1
- package/dist/mutation/project.d.ts +2 -0
- package/dist/mutation/project.d.ts.map +1 -1
- package/dist/mutation/project.js +13 -4
- package/dist/mutation/project.js.map +1 -1
- package/dist/mutation/source.d.ts +3 -3
- package/dist/mutation/source.d.ts.map +1 -1
- package/dist/mutation/source.js.map +1 -1
- package/dist/parser/document-parser.d.ts +8 -1
- package/dist/parser/document-parser.d.ts.map +1 -1
- package/dist/parser/document-parser.js +151 -23
- package/dist/parser/document-parser.js.map +1 -1
- package/dist/recommendation/override-types.d.ts +2 -2
- package/dist/recommendation/override.d.ts +2 -2
- package/dist/recommendation/override.d.ts.map +1 -1
- package/dist/recommendation/override.js +2 -2
- package/dist/recommendation/override.js.map +1 -1
- package/dist/semantic/target-validator.d.ts +13 -2
- package/dist/semantic/target-validator.d.ts.map +1 -1
- package/dist/semantic/target-validator.js +46 -2
- package/dist/semantic/target-validator.js.map +1 -1
- package/dist/semantic/validator.d.ts +4 -1
- package/dist/semantic/validator.d.ts.map +1 -1
- package/dist/semantic/validator.js +152 -6
- package/dist/semantic/validator.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -2
package/dist/mutation/project.js
CHANGED
|
@@ -22,17 +22,20 @@ const activeClearableFields = new Set([
|
|
|
22
22
|
export const ACTIVE_PROJECT_MUTATION_PROFILE = Object.freeze({
|
|
23
23
|
exactDurations: false,
|
|
24
24
|
governanceSource: false,
|
|
25
|
+
governanceGrammarVersion: 4,
|
|
25
26
|
fieldOrder: activeFieldOrder,
|
|
26
27
|
});
|
|
27
28
|
export const TARGET_GRAMMAR_2_PROJECT_MUTATION_PROFILE = ACTIVE_PROJECT_MUTATION_PROFILE;
|
|
28
29
|
export const TARGET_GRAMMAR_3_PROJECT_MUTATION_PROFILE = Object.freeze({
|
|
29
30
|
exactDurations: true,
|
|
30
31
|
governanceSource: false,
|
|
32
|
+
governanceGrammarVersion: 4,
|
|
31
33
|
fieldOrder: activeFieldOrder,
|
|
32
34
|
});
|
|
33
35
|
export const TARGET_GRAMMAR_4_PROJECT_MUTATION_PROFILE = Object.freeze({
|
|
34
36
|
exactDurations: true,
|
|
35
37
|
governanceSource: true,
|
|
38
|
+
governanceGrammarVersion: 4,
|
|
36
39
|
fieldOrder: [
|
|
37
40
|
"version",
|
|
38
41
|
"title",
|
|
@@ -49,6 +52,10 @@ export const TARGET_GRAMMAR_4_PROJECT_MUTATION_PROFILE = Object.freeze({
|
|
|
49
52
|
"target_duration",
|
|
50
53
|
],
|
|
51
54
|
});
|
|
55
|
+
export const TARGET_GRAMMAR_5_PROJECT_MUTATION_PROFILE = Object.freeze({
|
|
56
|
+
...TARGET_GRAMMAR_4_PROJECT_MUTATION_PROFILE,
|
|
57
|
+
governanceGrammarVersion: 5,
|
|
58
|
+
});
|
|
52
59
|
function canonicalDuration(value, profile) {
|
|
53
60
|
if (!profile.exactDurations)
|
|
54
61
|
return value;
|
|
@@ -134,8 +141,10 @@ function requestError(value, profile) {
|
|
|
134
141
|
set.dagOwner,
|
|
135
142
|
set.dagDelegates,
|
|
136
143
|
].some((item) => item !== undefined);
|
|
137
|
-
if (governanceSet &&
|
|
138
|
-
|
|
144
|
+
if (governanceSet &&
|
|
145
|
+
set.version !== undefined &&
|
|
146
|
+
set.version !== profile.governanceGrammarVersion) {
|
|
147
|
+
return `setting governance fields requires version ${profile.governanceGrammarVersion}`;
|
|
139
148
|
}
|
|
140
149
|
}
|
|
141
150
|
if (set.version !== undefined && !Number.isSafeInteger(set.version)) {
|
|
@@ -202,8 +211,8 @@ function planSet(text, declaration, mutation, profile) {
|
|
|
202
211
|
editor.setScalar("version", String(set.version));
|
|
203
212
|
}
|
|
204
213
|
else if (governanceSet &&
|
|
205
|
-
editor.fieldValue("version") !==
|
|
206
|
-
editor.setScalar("version",
|
|
214
|
+
editor.fieldValue("version") !== profile.governanceGrammarVersion) {
|
|
215
|
+
editor.setScalar("version", String(profile.governanceGrammarVersion));
|
|
207
216
|
}
|
|
208
217
|
if (set.title !== undefined)
|
|
209
218
|
editor.setScalar("title", JSON.stringify(set.title));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/mutation/project.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oCAAoC,GACrC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAyB,MAAM,kBAAkB,CAAC;AAY7E,MAAM,gBAAgB,GAAG;IACvB,SAAS;IACT,OAAO;IACP,aAAa;IACb,OAAO;IACP,eAAe;IACf,UAAU;IACV,QAAQ;IACR,kBAAkB;IAClB,iBAAiB;CACT,CAAC;AAEX,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAwB;IAC3D,aAAa;IACb,OAAO;IACP,UAAU;IACV,kBAAkB;IAClB,iBAAiB;CAClB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/mutation/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DeclarationNode, FieldNode } from "../model/syntax.js";
|
|
1
|
+
import type { DeclarationNode, FieldNode, TargetDeclarationKind } from "../model/syntax.js";
|
|
2
2
|
import type { TextEdit } from "./text-edits.js";
|
|
3
3
|
export interface PhysicalLine {
|
|
4
4
|
readonly text: string;
|
|
@@ -13,10 +13,10 @@ export declare function contentEndOffset(field: FieldNode, lines: readonly Physi
|
|
|
13
13
|
export declare function contentTextEndOffset(field: FieldNode, lines: readonly PhysicalLine[]): number;
|
|
14
14
|
export declare function leadingCommentStart(lines: readonly PhysicalLine[], elementStart: number, indentation: number): number;
|
|
15
15
|
export declare function deleteFieldEdit(field: FieldNode, lines: readonly PhysicalLine[]): TextEdit;
|
|
16
|
-
export declare function deleteDeclarationEdit(declaration: DeclarationNode
|
|
16
|
+
export declare function deleteDeclarationEdit(declaration: DeclarationNode<TargetDeclarationKind>, lines: readonly PhysicalLine[]): TextEdit;
|
|
17
17
|
export declare function serializeTags(tags: readonly string[]): string;
|
|
18
18
|
export declare function serializeTextField(name: string, value: string, lineEnding: string): string;
|
|
19
|
-
export declare function fieldInsertionOffset(declaration: DeclarationNode
|
|
19
|
+
export declare function fieldInsertionOffset(declaration: DeclarationNode<TargetDeclarationKind>, name: string, deleted: ReadonlySet<string>, lines: readonly PhysicalLine[], fieldRank: ReadonlyMap<string, number>): number;
|
|
20
20
|
export declare function insertionText(text: string, offset: number, serializedFields: readonly string[], lineEnding: string): string;
|
|
21
21
|
export declare function appendDeclarationEdit(text: string, serialized: string, lineEnding?: "\n" | "\r\n"): TextEdit;
|
|
22
22
|
//# sourceMappingURL=source.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/mutation/source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/mutation/source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,SAAS,EAET,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAID,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,YAAY,EAAE,CAexE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAa3D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CASlF;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,YAAY,EAAE,GAC7B,MAAM,CAUR;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,YAAY,EAAE,GAC7B,MAAM,CAUR;AAaD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,MAAM,CAWR;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,YAAY,EAAE,GAC7B,QAAQ,CAMV;AAED,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,eAAe,CAAC,qBAAqB,CAAC,EACnD,KAAK,EAAE,SAAS,YAAY,EAAE,GAC7B,QAAQ,CAMV;AAMD,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAE7D;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GACjB,MAAM,CAaR;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,eAAe,CAAC,qBAAqB,CAAC,EACnD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAC5B,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,MAAM,CAWR;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,SAAS,MAAM,EAAE,EACnC,UAAU,EAAE,MAAM,GACjB,MAAM,CAIR;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,UAAU,gBAAwB,GACjC,QAAQ,CAgBV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/mutation/source.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/mutation/source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ParseResult } from "../model/syntax.js";
|
|
1
|
+
import type { ParseResult, TargetDeclarationKind } from "../model/syntax.js";
|
|
2
2
|
export interface ParseOptions {
|
|
3
3
|
readonly maxDiagnostics?: number;
|
|
4
4
|
}
|
|
@@ -20,8 +20,15 @@ export interface TargetGrammar4Capability {
|
|
|
20
20
|
readonly grammarVersion: 4;
|
|
21
21
|
}
|
|
22
22
|
export declare const TARGET_GRAMMAR_4_CAPABILITY: TargetGrammar4Capability;
|
|
23
|
+
export interface TargetGrammar5Capability {
|
|
24
|
+
readonly id: "perttool.target-grammar-5-actuals-source";
|
|
25
|
+
readonly version: 1;
|
|
26
|
+
readonly grammarVersion: 5;
|
|
27
|
+
}
|
|
28
|
+
export declare const TARGET_GRAMMAR_5_CAPABILITY: TargetGrammar5Capability;
|
|
23
29
|
export declare function parseDocument(text: string, options?: ParseOptions): ParseResult;
|
|
24
30
|
export declare function parseTargetDocument(text: string, capability: TargetGrammar2Capability, options?: ParseOptions): ParseResult;
|
|
25
31
|
export declare function parseTargetGrammar3Document(text: string, capability: TargetGrammar3Capability, options?: ParseOptions): ParseResult;
|
|
26
32
|
export declare function parseTargetGrammar4Document(text: string, capability: TargetGrammar4Capability, options?: ParseOptions): ParseResult;
|
|
33
|
+
export declare function parseTargetGrammar5Document(text: string, capability: TargetGrammar5Capability, options?: ParseOptions): ParseResult<TargetDeclarationKind>;
|
|
27
34
|
//# sourceMappingURL=document-parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-parser.d.ts","sourceRoot":"","sources":["../../src/parser/document-parser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"document-parser.d.ts","sourceRoot":"","sources":["../../src/parser/document-parser.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EASV,WAAW,EAEX,qBAAqB,EAGtB,MAAM,oBAAoB,CAAC;AAU5B,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,kCAAkC,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;CAC5B;AAED,eAAO,MAAM,2BAA2B,EAAE,wBAKtC,CAAC;AAEL,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,kCAAkC,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;CAC5B;AAED,eAAO,MAAM,2BAA2B,EAAE,wBAKtC,CAAC;AAEL,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,6CAA6C,CAAC;IAC3D,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;CAC5B;AAED,eAAO,MAAM,2BAA2B,EAAE,wBAKtC,CAAC;AAEL,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,0CAA0C,CAAC;IACxD,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;CAC5B;AAED,eAAO,MAAM,2BAA2B,EAAE,wBAKtC,CAAC;AAqqCL,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,YAAiB,GACzB,WAAW,CAEb;AAuDD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,YAAiB,GACzB,WAAW,CAgBb;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,YAAiB,GACzB,WAAW,CAKb;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,YAAiB,GACzB,WAAW,CAKb;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,YAAiB,GACzB,WAAW,CAAC,qBAAqB,CAAC,CAOpC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { countDiagnostics, limitDiagnostics, normalizeMaxDiagnostics, sortDiagnostics, } from "../model/diagnostics.js";
|
|
2
|
-
import { parseDeclaredCalendarValue } from "../model/calendar.js";
|
|
3
|
-
import { GRAMMAR_1_DECLARATION_FIELD_ORDER, TARGET_GRAMMAR_2_DECLARATION_FIELD_ORDER, TARGET_GRAMMAR_4_DECLARATION_FIELD_ORDER, } from "../model/declaration-fields.js";
|
|
2
|
+
import { parseDeclaredCalendarValue, parseEventDateTimeValue, } from "../model/calendar.js";
|
|
3
|
+
import { GRAMMAR_1_DECLARATION_FIELD_ORDER, TARGET_GRAMMAR_2_DECLARATION_FIELD_ORDER, TARGET_GRAMMAR_4_DECLARATION_FIELD_ORDER, TARGET_GRAMMAR_5_DECLARATION_FIELD_ORDER, } from "../model/declaration-fields.js";
|
|
4
4
|
export const TARGET_GRAMMAR_2_CAPABILITY = Object.freeze({
|
|
5
5
|
id: "perttool.target-grammar-2-source",
|
|
6
6
|
version: 1,
|
|
@@ -16,6 +16,11 @@ export const TARGET_GRAMMAR_4_CAPABILITY = Object.freeze({
|
|
|
16
16
|
version: 1,
|
|
17
17
|
grammarVersion: 4,
|
|
18
18
|
});
|
|
19
|
+
export const TARGET_GRAMMAR_5_CAPABILITY = Object.freeze({
|
|
20
|
+
id: "perttool.target-grammar-5-actuals-source",
|
|
21
|
+
version: 1,
|
|
22
|
+
grammarVersion: 5,
|
|
23
|
+
});
|
|
19
24
|
const identifierPattern = /^[A-Za-z][A-Za-z0-9_-]*$/;
|
|
20
25
|
const declarationKinds = new Set([
|
|
21
26
|
"project",
|
|
@@ -31,34 +36,52 @@ function allowedFieldsFromOrder(fieldOrder) {
|
|
|
31
36
|
milestone: new Set(fieldOrder.milestone),
|
|
32
37
|
task: new Set(fieldOrder.task),
|
|
33
38
|
gate: new Set(fieldOrder.gate),
|
|
39
|
+
work_event: new Set(fieldOrder.work_event ?? []),
|
|
34
40
|
};
|
|
35
41
|
}
|
|
36
42
|
const grammar1AllowedFields = allowedFieldsFromOrder(GRAMMAR_1_DECLARATION_FIELD_ORDER);
|
|
37
43
|
const grammar2AllowedFields = allowedFieldsFromOrder(TARGET_GRAMMAR_2_DECLARATION_FIELD_ORDER);
|
|
38
44
|
const grammar4AllowedFields = allowedFieldsFromOrder(TARGET_GRAMMAR_4_DECLARATION_FIELD_ORDER);
|
|
45
|
+
const grammar5AllowedFields = allowedFieldsFromOrder(TARGET_GRAMMAR_5_DECLARATION_FIELD_ORDER);
|
|
39
46
|
const grammar1Profile = {
|
|
40
47
|
allowedFields: grammar1AllowedFields,
|
|
41
48
|
typedCalendarValues: false,
|
|
42
49
|
exactFractionDurations: false,
|
|
43
50
|
governanceValues: false,
|
|
51
|
+
workEvents: false,
|
|
52
|
+
suspendedStatus: false,
|
|
44
53
|
};
|
|
45
54
|
const grammar2Profile = {
|
|
46
55
|
allowedFields: grammar2AllowedFields,
|
|
47
56
|
typedCalendarValues: true,
|
|
48
57
|
exactFractionDurations: false,
|
|
49
58
|
governanceValues: false,
|
|
59
|
+
workEvents: false,
|
|
60
|
+
suspendedStatus: false,
|
|
50
61
|
};
|
|
51
62
|
const grammar3Profile = {
|
|
52
63
|
allowedFields: grammar2AllowedFields,
|
|
53
64
|
typedCalendarValues: true,
|
|
54
65
|
exactFractionDurations: true,
|
|
55
66
|
governanceValues: false,
|
|
67
|
+
workEvents: false,
|
|
68
|
+
suspendedStatus: false,
|
|
56
69
|
};
|
|
57
70
|
const grammar4Profile = {
|
|
58
71
|
allowedFields: grammar4AllowedFields,
|
|
59
72
|
typedCalendarValues: true,
|
|
60
73
|
exactFractionDurations: true,
|
|
61
74
|
governanceValues: true,
|
|
75
|
+
workEvents: false,
|
|
76
|
+
suspendedStatus: false,
|
|
77
|
+
};
|
|
78
|
+
const grammar5Profile = {
|
|
79
|
+
allowedFields: grammar5AllowedFields,
|
|
80
|
+
typedCalendarValues: true,
|
|
81
|
+
exactFractionDurations: true,
|
|
82
|
+
governanceValues: true,
|
|
83
|
+
workEvents: true,
|
|
84
|
+
suspendedStatus: true,
|
|
62
85
|
};
|
|
63
86
|
function splitLines(text) {
|
|
64
87
|
if (text.length === 0)
|
|
@@ -198,6 +221,41 @@ function parseExactDuration(raw) {
|
|
|
198
221
|
suffix,
|
|
199
222
|
};
|
|
200
223
|
}
|
|
224
|
+
function parseExactPersonHours(raw) {
|
|
225
|
+
const decimal = /^([0-9]+)(?:\.([0-9]+))?ph$/.exec(raw);
|
|
226
|
+
if (decimal !== null) {
|
|
227
|
+
const whole = decimal[1];
|
|
228
|
+
const fraction = decimal[2] ?? "";
|
|
229
|
+
return {
|
|
230
|
+
text: raw,
|
|
231
|
+
digits: BigInt(`${whole}${fraction}`),
|
|
232
|
+
scale: fraction.length,
|
|
233
|
+
suffix: "ph",
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
const fraction = /^([0-9]+)\/([0-9]+)ph$/.exec(raw);
|
|
237
|
+
if (fraction === null)
|
|
238
|
+
return undefined;
|
|
239
|
+
const sourceNumerator = BigInt(fraction[1]);
|
|
240
|
+
const sourceDenominator = BigInt(fraction[2]);
|
|
241
|
+
if (sourceDenominator === 0n)
|
|
242
|
+
return undefined;
|
|
243
|
+
if (sourceNumerator === 0n) {
|
|
244
|
+
return {
|
|
245
|
+
text: raw,
|
|
246
|
+
numerator: 0n,
|
|
247
|
+
denominator: 1n,
|
|
248
|
+
suffix: "ph",
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
const divisor = greatestCommonDivisor(sourceNumerator, sourceDenominator);
|
|
252
|
+
return {
|
|
253
|
+
text: raw,
|
|
254
|
+
numerator: sourceNumerator / divisor,
|
|
255
|
+
denominator: sourceDenominator / divisor,
|
|
256
|
+
suffix: "ph",
|
|
257
|
+
};
|
|
258
|
+
}
|
|
201
259
|
function parseVelocity(raw) {
|
|
202
260
|
const match = /^([0-9]+(?:\.[0-9]+)?p)\/([0-9]+(?:\.[0-9]+)?[dh])$/.exec(raw);
|
|
203
261
|
if (match === null)
|
|
@@ -319,13 +377,14 @@ function scalarFieldValue(name, rawValue, profile) {
|
|
|
319
377
|
? { value: rawValue, code: "PTDSL-006", topic: "syntax.text" }
|
|
320
378
|
: { value };
|
|
321
379
|
}
|
|
322
|
-
if (["version", "capacity", "priority"].includes(name)) {
|
|
380
|
+
if (["version", "capacity", "priority", "model"].includes(name)) {
|
|
323
381
|
const value = parseInteger(rawValue);
|
|
324
382
|
return value === undefined
|
|
325
383
|
? { value: rawValue, code: "PTDSL-012", topic: "syntax" }
|
|
326
384
|
: { value };
|
|
327
385
|
}
|
|
328
|
-
if (["duration", "critical_epsilon", "target_duration"]
|
|
386
|
+
if (["duration", "critical_epsilon", "target_duration", "planned_value"]
|
|
387
|
+
.includes(name)) {
|
|
329
388
|
const value = profile.exactFractionDurations
|
|
330
389
|
? parseExactDuration(rawValue)
|
|
331
390
|
: parseDuration(rawValue);
|
|
@@ -333,6 +392,22 @@ function scalarFieldValue(name, rawValue, profile) {
|
|
|
333
392
|
? { value: rawValue, code: "PTDSL-007", topic: "syntax.duration" }
|
|
334
393
|
: { value };
|
|
335
394
|
}
|
|
395
|
+
if (name === "active_time") {
|
|
396
|
+
const value = profile.exactFractionDurations
|
|
397
|
+
? parseExactDuration(rawValue)
|
|
398
|
+
: undefined;
|
|
399
|
+
return value?.suffix === "h"
|
|
400
|
+
? { value }
|
|
401
|
+
: { value: rawValue, code: "PTDSL-007", topic: "syntax.duration" };
|
|
402
|
+
}
|
|
403
|
+
if (name === "effort") {
|
|
404
|
+
const value = profile.workEvents
|
|
405
|
+
? parseExactPersonHours(rawValue)
|
|
406
|
+
: undefined;
|
|
407
|
+
return value === undefined
|
|
408
|
+
? { value: rawValue, code: "PTDSL-007", topic: "syntax.duration" }
|
|
409
|
+
: { value };
|
|
410
|
+
}
|
|
336
411
|
if (name === "velocity") {
|
|
337
412
|
const value = parseVelocity(rawValue);
|
|
338
413
|
return value === undefined
|
|
@@ -344,6 +419,24 @@ function scalarFieldValue(name, rawValue, profile) {
|
|
|
344
419
|
? { value: rawValue }
|
|
345
420
|
: { value: rawValue, code: "PTDSL-004", topic: "syntax.project" };
|
|
346
421
|
}
|
|
422
|
+
if (name === "task") {
|
|
423
|
+
return identifierPattern.test(rawValue)
|
|
424
|
+
? { value: rawValue }
|
|
425
|
+
: { value: rawValue, code: "PTDSL-004", topic: "syntax.work-event" };
|
|
426
|
+
}
|
|
427
|
+
if (name === "kind") {
|
|
428
|
+
return ["start", "suspend", "resume", "finish"].includes(rawValue)
|
|
429
|
+
? { value: rawValue }
|
|
430
|
+
: { value: rawValue, code: "PTDSL-012", topic: "syntax.work-event" };
|
|
431
|
+
}
|
|
432
|
+
if (name === "occurred_at") {
|
|
433
|
+
const value = profile.workEvents
|
|
434
|
+
? parseEventDateTimeValue(rawValue)
|
|
435
|
+
: undefined;
|
|
436
|
+
return value === undefined
|
|
437
|
+
? { value: rawValue, code: "PTDSL-008", topic: "syntax.work-event" }
|
|
438
|
+
: { value };
|
|
439
|
+
}
|
|
347
440
|
if (profile.governanceValues &&
|
|
348
441
|
(name === "goal_owner" || name === "dag_owner")) {
|
|
349
442
|
return identifierPattern.test(rawValue)
|
|
@@ -368,7 +461,10 @@ function scalarFieldValue(name, rawValue, profile) {
|
|
|
368
461
|
: { value: rawValue, code: "PTDSL-012", topic: "syntax.milestone" };
|
|
369
462
|
}
|
|
370
463
|
if (name === "status") {
|
|
371
|
-
|
|
464
|
+
const values = profile.suspendedStatus
|
|
465
|
+
? ["planned", "active", "blocked", "suspended", "done"]
|
|
466
|
+
: ["planned", "active", "blocked", "done"];
|
|
467
|
+
return values.includes(rawValue)
|
|
372
468
|
? { value: rawValue }
|
|
373
469
|
: { value: rawValue, code: "PTDSL-012", topic: "syntax.task" };
|
|
374
470
|
}
|
|
@@ -595,12 +691,14 @@ function skipIndentedRegion(lines, startIndex, parentIndent) {
|
|
|
595
691
|
}
|
|
596
692
|
return index;
|
|
597
693
|
}
|
|
598
|
-
function isKnownDeclarationHeader(text) {
|
|
694
|
+
function isKnownDeclarationHeader(text, profile) {
|
|
599
695
|
const normalized = text.trimEnd();
|
|
600
696
|
return (/^(?:project|resource|milestone) +[A-Za-z][A-Za-z0-9_-]*:$/.test(normalized) ||
|
|
601
|
-
/^(?:task|gate) +[A-Za-z][A-Za-z0-9_-]* +[A-Za-z][A-Za-z0-9_-]* +-> +[A-Za-z][A-Za-z0-9_-]*:$/.test(normalized)
|
|
697
|
+
/^(?:task|gate) +[A-Za-z][A-Za-z0-9_-]* +[A-Za-z][A-Za-z0-9_-]* +-> +[A-Za-z][A-Za-z0-9_-]*:$/.test(normalized) ||
|
|
698
|
+
(profile.workEvents &&
|
|
699
|
+
/^work_event +[A-Za-z][A-Za-z0-9_-]*:$/.test(normalized)));
|
|
602
700
|
}
|
|
603
|
-
function skipInvalidTopLevelRegion(lines, startIndex, trivia) {
|
|
701
|
+
function skipInvalidTopLevelRegion(lines, startIndex, trivia, profile) {
|
|
604
702
|
let index = startIndex;
|
|
605
703
|
while (index < lines.length) {
|
|
606
704
|
const line = lines[index];
|
|
@@ -615,13 +713,15 @@ function skipInvalidTopLevelRegion(lines, startIndex, trivia) {
|
|
|
615
713
|
continue;
|
|
616
714
|
}
|
|
617
715
|
const indentation = leadingIndent(line);
|
|
618
|
-
if (indentation.indent === 0 &&
|
|
716
|
+
if (indentation.indent === 0 &&
|
|
717
|
+
isKnownDeclarationHeader(line.text, profile)) {
|
|
619
718
|
break;
|
|
719
|
+
}
|
|
620
720
|
index += 1;
|
|
621
721
|
}
|
|
622
722
|
return index;
|
|
623
723
|
}
|
|
624
|
-
function parseDeclarationHeader(line, diagnostics) {
|
|
724
|
+
function parseDeclarationHeader(line, diagnostics, profile) {
|
|
625
725
|
const normalized = line.text.trimEnd();
|
|
626
726
|
const edge = /^(task|gate) +([A-Za-z][A-Za-z0-9_-]*) +([A-Za-z][A-Za-z0-9_-]*) +-> +([A-Za-z][A-Za-z0-9_-]*):$/.exec(normalized);
|
|
627
727
|
if (edge !== null) {
|
|
@@ -645,7 +745,10 @@ function parseDeclarationHeader(line, diagnostics) {
|
|
|
645
745
|
arrowSpan: span(line, arrowStart, arrowStart + 2),
|
|
646
746
|
};
|
|
647
747
|
}
|
|
648
|
-
const
|
|
748
|
+
const simplePattern = profile.workEvents
|
|
749
|
+
? /^(project|resource|milestone|work_event) +([A-Za-z][A-Za-z0-9_-]*):$/
|
|
750
|
+
: /^(project|resource|milestone) +([A-Za-z][A-Za-z0-9_-]*):$/;
|
|
751
|
+
const simple = simplePattern.exec(normalized);
|
|
649
752
|
if (simple !== null) {
|
|
650
753
|
const kind = simple[1];
|
|
651
754
|
const id = simple[2];
|
|
@@ -658,7 +761,9 @@ function parseDeclarationHeader(line, diagnostics) {
|
|
|
658
761
|
};
|
|
659
762
|
}
|
|
660
763
|
const firstWord = line.text.trim().split(/\s+/, 1)[0] ?? "";
|
|
661
|
-
|
|
764
|
+
const knownDeclarationKind = declarationKinds.has(firstWord) ||
|
|
765
|
+
(profile.workEvents && firstWord === "work_event");
|
|
766
|
+
diagnostics.push(diagnostic(knownDeclarationKind ? "PTDSL-004" : "PTDSL-003", "Invalid top-level declaration header", lineSpan(line), "syntax.top-level"));
|
|
662
767
|
return undefined;
|
|
663
768
|
}
|
|
664
769
|
function parseDocumentWithProfile(text, options, profile) {
|
|
@@ -690,13 +795,13 @@ function parseDocumentWithProfile(text, options, profile) {
|
|
|
690
795
|
if (headerInlineCommentStart !== undefined) {
|
|
691
796
|
diagnostics.push(inlineCommentDiagnostic(headerLine, headerInlineCommentStart));
|
|
692
797
|
index += 1;
|
|
693
|
-
index = skipInvalidTopLevelRegion(lines, index, trivia);
|
|
798
|
+
index = skipInvalidTopLevelRegion(lines, index, trivia, profile);
|
|
694
799
|
continue;
|
|
695
800
|
}
|
|
696
|
-
const header = parseDeclarationHeader(headerLine, diagnostics);
|
|
801
|
+
const header = parseDeclarationHeader(headerLine, diagnostics, profile);
|
|
697
802
|
index += 1;
|
|
698
803
|
if (header === undefined) {
|
|
699
|
-
index = skipInvalidTopLevelRegion(lines, index, trivia);
|
|
804
|
+
index = skipInvalidTopLevelRegion(lines, index, trivia, profile);
|
|
700
805
|
continue;
|
|
701
806
|
}
|
|
702
807
|
const fields = [];
|
|
@@ -830,7 +935,11 @@ function parseDocumentWithProfile(text, options, profile) {
|
|
|
830
935
|
span: joinSpan(header.headerSpan, declarationEnd),
|
|
831
936
|
});
|
|
832
937
|
}
|
|
833
|
-
const document = {
|
|
938
|
+
const document = {
|
|
939
|
+
text,
|
|
940
|
+
declarations,
|
|
941
|
+
trivia,
|
|
942
|
+
};
|
|
834
943
|
const sortedDiagnostics = sortDiagnostics(diagnostics);
|
|
835
944
|
const limited = limitDiagnostics(sortedDiagnostics, maxDiagnostics);
|
|
836
945
|
return {
|
|
@@ -840,20 +949,23 @@ function parseDocumentWithProfile(text, options, profile) {
|
|
|
840
949
|
diagnosticsTruncated: limited.truncated,
|
|
841
950
|
};
|
|
842
951
|
}
|
|
952
|
+
function activeParseResult(result) {
|
|
953
|
+
return result;
|
|
954
|
+
}
|
|
843
955
|
export function parseDocument(text, options = {}) {
|
|
844
|
-
return
|
|
956
|
+
return activeParseResult(parseGrammar5CapableDocument(text, options));
|
|
845
957
|
}
|
|
846
958
|
function parseGrammar3CapableDocument(text, options) {
|
|
847
|
-
const grammar1 = parseDocumentWithProfile(text, options, grammar1Profile);
|
|
959
|
+
const grammar1 = activeParseResult(parseDocumentWithProfile(text, options, grammar1Profile));
|
|
848
960
|
const first = grammar1.document.declarations[0];
|
|
849
961
|
const version = first?.kind === "project"
|
|
850
962
|
? first.fields.find((field) => field.name === "version")?.value
|
|
851
963
|
: undefined;
|
|
852
964
|
if (version === 2) {
|
|
853
|
-
return parseDocumentWithProfile(text, options, grammar2Profile);
|
|
965
|
+
return activeParseResult(parseDocumentWithProfile(text, options, grammar2Profile));
|
|
854
966
|
}
|
|
855
967
|
return version === 3
|
|
856
|
-
? parseDocumentWithProfile(text, options, grammar3Profile)
|
|
968
|
+
? activeParseResult(parseDocumentWithProfile(text, options, grammar3Profile))
|
|
857
969
|
: grammar1;
|
|
858
970
|
}
|
|
859
971
|
function parseGrammar4CapableDocument(text, options) {
|
|
@@ -863,20 +975,30 @@ function parseGrammar4CapableDocument(text, options) {
|
|
|
863
975
|
? first.fields.find((field) => field.name === "version")?.value
|
|
864
976
|
: undefined;
|
|
865
977
|
return version === 4
|
|
866
|
-
? parseDocumentWithProfile(text, options, grammar4Profile)
|
|
978
|
+
? activeParseResult(parseDocumentWithProfile(text, options, grammar4Profile))
|
|
867
979
|
: grammar3;
|
|
868
980
|
}
|
|
981
|
+
function parseGrammar5CapableDocument(text, options) {
|
|
982
|
+
const grammar4 = parseGrammar4CapableDocument(text, options);
|
|
983
|
+
const first = grammar4.document.declarations[0];
|
|
984
|
+
const version = first?.kind === "project"
|
|
985
|
+
? first.fields.find((field) => field.name === "version")?.value
|
|
986
|
+
: undefined;
|
|
987
|
+
return version === 5
|
|
988
|
+
? parseDocumentWithProfile(text, options, grammar5Profile)
|
|
989
|
+
: grammar4;
|
|
990
|
+
}
|
|
869
991
|
export function parseTargetDocument(text, capability, options = {}) {
|
|
870
992
|
if (capability !== TARGET_GRAMMAR_2_CAPABILITY) {
|
|
871
993
|
throw new TypeError("The target Grammar 2 source capability is required");
|
|
872
994
|
}
|
|
873
|
-
const grammar1 = parseDocumentWithProfile(text, options, grammar1Profile);
|
|
995
|
+
const grammar1 = activeParseResult(parseDocumentWithProfile(text, options, grammar1Profile));
|
|
874
996
|
const first = grammar1.document.declarations[0];
|
|
875
997
|
const version = first?.kind === "project"
|
|
876
998
|
? first.fields.find((field) => field.name === "version")?.value
|
|
877
999
|
: undefined;
|
|
878
1000
|
return version === 2
|
|
879
|
-
? parseDocumentWithProfile(text, options, grammar2Profile)
|
|
1001
|
+
? activeParseResult(parseDocumentWithProfile(text, options, grammar2Profile))
|
|
880
1002
|
: grammar1;
|
|
881
1003
|
}
|
|
882
1004
|
export function parseTargetGrammar3Document(text, capability, options = {}) {
|
|
@@ -891,4 +1013,10 @@ export function parseTargetGrammar4Document(text, capability, options = {}) {
|
|
|
891
1013
|
}
|
|
892
1014
|
return parseGrammar4CapableDocument(text, options);
|
|
893
1015
|
}
|
|
1016
|
+
export function parseTargetGrammar5Document(text, capability, options = {}) {
|
|
1017
|
+
if (capability !== TARGET_GRAMMAR_5_CAPABILITY) {
|
|
1018
|
+
throw new TypeError("The target Grammar 5 actuals source capability is required");
|
|
1019
|
+
}
|
|
1020
|
+
return parseGrammar5CapableDocument(text, options);
|
|
1021
|
+
}
|
|
894
1022
|
//# sourceMappingURL=document-parser.js.map
|