astn 0.113.2 → 0.113.3

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 (45) hide show
  1. package/dist/bin/convert_to_json.js +9 -8
  2. package/dist/bin/validate_astn.js +9 -9
  3. package/dist/exceptional/authoring_parse/parse.d.ts +1 -1
  4. package/dist/exceptional/authoring_parse/parse.js +9 -9
  5. package/dist/implementation/algorithms/procedures/convert_to_json.d.ts +16 -0
  6. package/dist/implementation/algorithms/procedures/convert_to_json.js +55 -0
  7. package/dist/implementation/algorithms/procedures/{unguaranteed/validate_astn.d.ts → validate_astn.d.ts} +7 -6
  8. package/dist/implementation/algorithms/procedures/validate_astn.js +53 -0
  9. package/dist/{exceptional/authoring_parse/ast → implementation/algorithms/refiners/authoring_parse_tree}/context.d.ts +2 -2
  10. package/dist/{exceptional/authoring_parse/ast → implementation/algorithms/refiners/authoring_parse_tree}/context.js +2 -2
  11. package/dist/{exceptional/authoring_parse/ast → implementation/algorithms/refiners/authoring_parse_tree}/iterator.d.ts +3 -3
  12. package/dist/implementation/algorithms/refiners/authoring_parse_tree/iterator.js +29 -0
  13. package/dist/{exceptional/authoring_parse/ast → implementation/algorithms/refiners/authoring_parse_tree}/refiners.d.ts +3 -3
  14. package/dist/{exceptional/authoring_parse/ast → implementation/algorithms/refiners/authoring_parse_tree}/refiners.js +1 -1
  15. package/dist/{exceptional/authoring_parse/tokens → implementation/algorithms/refiners/token}/context.d.ts +2 -2
  16. package/dist/{exceptional/authoring_parse/tokens → implementation/algorithms/refiners/token}/context.js +2 -2
  17. package/dist/{exceptional/authoring_parse/tokens → implementation/algorithms/refiners/token}/iterator.d.ts +1 -1
  18. package/dist/{exceptional/authoring_parse/tokens → implementation/algorithms/refiners/token}/iterator.js +1 -1
  19. package/dist/{exceptional/authoring_parse/tokens → implementation/algorithms/refiners/token}/refiners.d.ts +1 -1
  20. package/dist/{exceptional/authoring_parse/tokens → implementation/algorithms/refiners/token}/refiners.js +1 -1
  21. package/dist/implementation/algorithms/{transformations → transformers}/authoring_parse_tree/authoring_target.js +1 -1
  22. package/dist/implementation/algorithms/transformers/authoring_parse_tree/ide.js +171 -0
  23. package/dist/implementation/algorithms/transformers/authoring_parse_tree/json_target.js +90 -0
  24. package/dist/implementation/algorithms/transformers/authoring_parse_tree/temp_value_range.js +88 -0
  25. package/dist/implementation/algorithms/transformers/authoring_target/fountain_pen_block.js +179 -0
  26. package/dist/implementation/algorithms/{transformations → transformers}/parse_result/string.js +1 -1
  27. package/dist/implementation/algorithms/{transformations → transformers}/sealed_target/fountain_pen_block.js +1 -1
  28. package/dist/implementation/generated/pareto/generic/parse/parse.d.ts +1 -1
  29. package/dist/implementation/generated/pareto/generic/parse/parse.js +4 -3
  30. package/package.json +4 -4
  31. package/dist/exceptional/authoring_parse/ast/iterator.js +0 -29
  32. package/dist/implementation/algorithms/procedures/unguaranteed/convert_to_json.d.ts +0 -13
  33. package/dist/implementation/algorithms/procedures/unguaranteed/convert_to_json.js +0 -48
  34. package/dist/implementation/algorithms/procedures/unguaranteed/validate_astn.js +0 -43
  35. package/dist/implementation/algorithms/transformations/authoring_parse_tree/ide.js +0 -171
  36. package/dist/implementation/algorithms/transformations/authoring_parse_tree/json_target.js +0 -90
  37. package/dist/implementation/algorithms/transformations/authoring_parse_tree/temp_value_range.js +0 -88
  38. package/dist/implementation/algorithms/transformations/authoring_target/fountain_pen_block.js +0 -179
  39. /package/dist/implementation/algorithms/{transformations → transformers}/authoring_parse_tree/authoring_target.d.ts +0 -0
  40. /package/dist/implementation/algorithms/{transformations → transformers}/authoring_parse_tree/ide.d.ts +0 -0
  41. /package/dist/implementation/algorithms/{transformations → transformers}/authoring_parse_tree/json_target.d.ts +0 -0
  42. /package/dist/implementation/algorithms/{transformations → transformers}/authoring_parse_tree/temp_value_range.d.ts +0 -0
  43. /package/dist/implementation/algorithms/{transformations → transformers}/authoring_target/fountain_pen_block.d.ts +0 -0
  44. /package/dist/implementation/algorithms/{transformations → transformers}/parse_result/string.d.ts +0 -0
  45. /package/dist/implementation/algorithms/{transformations → transformers}/sealed_target/fountain_pen_block.d.ts +0 -0
@@ -1,179 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Document = exports.Value = void 0;
27
- const _ea = __importStar(require("exupery-core-alg"));
28
- const sh = __importStar(require("pareto-fountain-pen/dist/shorthands/block"));
29
- const enrich_with_position_information_1 = require("pareto-standard-operations/dist/implementation/algorithms/operations/impure/list/enrich_with_position_information");
30
- const serialize_apostrophed_string_1 = require("../../operations/impure/string/serialize_apostrophed_string");
31
- const serialize_quoted_string_1 = require("../../operations/impure/string/serialize_quoted_string");
32
- const serialize_backticked_string_1 = require("../../operations/impure/string/serialize_backticked_string");
33
- const Value = ($, $p) => {
34
- return sh.b.sub([
35
- // does it need a leading space
36
- $p['in concise group']
37
- ? _ea.cc($.type, ($) => {
38
- switch ($[0]) {
39
- case 'verbose group': return _ea.ss($, ($) => true);
40
- case 'concise group': return _ea.ss($, ($) => false);
41
- case 'dictionary': return _ea.ss($, ($) => true);
42
- case 'list': return _ea.ss($, ($) => true);
43
- case 'nothing': return _ea.ss($, ($) => true);
44
- case 'state': return _ea.ss($, ($) => true);
45
- case 'text': return _ea.ss($, ($) => true);
46
- case 'optional': return _ea.ss($, ($) => true);
47
- default: return _ea.au($[0]);
48
- }
49
- })
50
- ? sh.b.snippet(" ")
51
- : sh.b.nothing()
52
- : sh.b.nothing(),
53
- _ea.cc($.type, ($) => {
54
- switch ($[0]) {
55
- case 'dictionary': return _ea.ss($, ($) => sh.b.sub([
56
- $p['write delimiters'] ? sh.b.snippet("{") : sh.b.snippet(""), //we always want a newline here
57
- sh.b.indent([
58
- sh.g.sub($.map(($) => sh.g.nested_block([
59
- sh.b.snippet((0, serialize_backticked_string_1.$$)({
60
- 'value': $.key,
61
- 'add delimiters': true,
62
- })),
63
- sh.b.snippet(": "),
64
- (0, exports.Value)($.value, {
65
- 'in concise group': false,
66
- 'write delimiters': true,
67
- }),
68
- ]))),
69
- ]),
70
- $p['write delimiters'] ? sh.b.snippet("}") : sh.b.nothing(),
71
- ]));
72
- case 'verbose group': return _ea.ss($, ($) => sh.b.sub([
73
- _ea.block(() => {
74
- const entries = $;
75
- return sh.b.sub([
76
- $p['write delimiters'] ? sh.b.snippet("(") : sh.b.snippet(""), //we always want a newline here
77
- sh.b.indent([
78
- sh.g.sub(entries.map(($) => sh.g.nested_block([
79
- sh.b.snippet((0, serialize_apostrophed_string_1.$$)({
80
- 'value': $.key,
81
- 'add delimiters': true,
82
- })),
83
- sh.b.snippet(": "),
84
- (0, exports.Value)($.value, {
85
- 'in concise group': false,
86
- 'write delimiters': true,
87
- }),
88
- ]))),
89
- ]),
90
- $p['write delimiters'] ? sh.b.snippet(")") : sh.b.nothing(),
91
- ]);
92
- })
93
- ]));
94
- case 'list': return _ea.ss($, ($) => sh.b.sub([
95
- $p['write delimiters'] ? sh.b.snippet("[") : sh.b.nothing(),
96
- sh.b.sub((0, enrich_with_position_information_1.$$)($).map(($) => sh.b.sub([
97
- sh.b.snippet(" "),
98
- (0, exports.Value)($.value, {
99
- 'in concise group': false,
100
- 'write delimiters': true,
101
- }),
102
- ]))),
103
- $p['write delimiters'] ? sh.b.snippet("]") : sh.b.nothing(),
104
- ]));
105
- case 'concise group': return _ea.ss($, ($) => sh.b.sub([
106
- $p['write delimiters'] ? sh.b.snippet("<") : sh.b.nothing(),
107
- sh.b.sub((0, enrich_with_position_information_1.$$)($).map(($) => (0, exports.Value)($.value, {
108
- 'in concise group': true,
109
- 'write delimiters': true,
110
- }))),
111
- $p['write delimiters'] ? sh.b.snippet(">") : sh.b.nothing(),
112
- ]));
113
- case 'state': return _ea.ss($, ($) => _ea.cc($, ($) => {
114
- switch ($[0]) {
115
- case 'missing data': return _ea.ss($, ($) => sh.b.snippet("| #"));
116
- case 'set': return _ea.ss($, ($) => sh.b.sub([
117
- $p['in concise group']
118
- ? sh.b.nothing()
119
- : $p['write delimiters'] ? sh.b.snippet("| ") : sh.b.nothing(),
120
- sh.b.snippet((0, serialize_apostrophed_string_1.$$)({
121
- 'value': $.state,
122
- 'add delimiters': $p['write delimiters'],
123
- })),
124
- $p['in concise group']
125
- ? sh.b.nothing()
126
- : sh.b.snippet(" "),
127
- (0, exports.Value)($.value, {
128
- 'in concise group': $p['in concise group'],
129
- 'write delimiters': true
130
- }),
131
- ]));
132
- default: return _ea.au($[0]);
133
- }
134
- }));
135
- case 'optional': return _ea.ss($, ($) => _ea.cc($, ($) => {
136
- switch ($[0]) {
137
- case 'not set': return _ea.ss($, ($) => sh.b.snippet("~"));
138
- case 'set': return _ea.ss($, ($) => sh.b.sub([
139
- sh.b.snippet("* "),
140
- (0, exports.Value)($, {
141
- 'in concise group': $p['in concise group'],
142
- 'write delimiters': true,
143
- }),
144
- ]));
145
- default: return _ea.au($[0]);
146
- }
147
- }));
148
- case 'nothing': return _ea.ss($, ($) => sh.b.snippet("~"));
149
- case 'text': return _ea.ss($, ($) => {
150
- const value = $.value;
151
- return _ea.cc($.delimiter, ($) => {
152
- switch ($[0]) {
153
- case 'backtick': return _ea.ss($, ($) => sh.b.snippet((0, serialize_backticked_string_1.$$)({
154
- 'value': value,
155
- 'add delimiters': $p['write delimiters'],
156
- })));
157
- case 'quote': return _ea.ss($, ($) => sh.b.snippet((0, serialize_quoted_string_1.$$)({
158
- 'value': value,
159
- 'add delimiters': $p['write delimiters'],
160
- })));
161
- case 'none': return _ea.ss($, ($) => sh.b.snippet(value));
162
- default: return _ea.au($[0]);
163
- }
164
- });
165
- });
166
- default: return _ea.au($[0]);
167
- }
168
- })
169
- ]);
170
- };
171
- exports.Value = Value;
172
- const Document = ($, $p) => sh.group([sh.g.nested_block([
173
- (0, exports.Value)($, {
174
- 'in concise group': false,
175
- 'write delimiters': true,
176
- }),
177
- ])]);
178
- exports.Document = Document;
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm91bnRhaW5fcGVuX2Jsb2NrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL2FsZ29yaXRobXMvdHJhbnNmb3JtYXRpb25zL2F1dGhvcmluZ190YXJnZXQvZm91bnRhaW5fcGVuX2Jsb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0RBQXVDO0FBTXZDLDhFQUErRDtBQUUvRCx3S0FBMkw7QUFDM0wsOEdBQTBIO0FBQzFILG9HQUFnSDtBQUNoSCw0R0FBb0g7QUFTN0csTUFBTSxLQUFLLEdBQThFLENBQzVGLENBQUMsRUFDRCxFQUFFLEVBQ0osRUFBRTtJQUNBLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDWiwrQkFBK0I7UUFDL0IsRUFBRSxDQUFDLGtCQUFrQixDQUFDO1lBQ2xCLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDbkIsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDWCxLQUFLLGVBQWUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFBO29CQUNuRCxLQUFLLGVBQWUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFBO29CQUNwRCxLQUFLLFlBQVksQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFBO29CQUNoRCxLQUFLLE1BQU0sQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVB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