pareto 0.80.53 → 0.80.55

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 (110) hide show
  1. package/dist/declarations/transformers/interface/typescript.d.ts +2 -2
  2. package/dist/declarations/transformers/text/filename.d.ts +1 -1
  3. package/dist/implementation/{manual/transformers/interface → transformers/implementation}/serialized_typescript.d.ts +1 -1
  4. package/dist/implementation/transformers/implementation/serialized_typescript.js +30 -0
  5. package/dist/implementation/{manual/transformers → transformers}/implementation/typescript.d.ts +3 -3
  6. package/dist/implementation/transformers/implementation/typescript.js +690 -0
  7. package/dist/implementation/{manual/transformers/implementation → transformers/interface}/serialized_typescript.d.ts +1 -1
  8. package/dist/implementation/transformers/interface/serialized_typescript.js +16 -0
  9. package/dist/implementation/{manual/transformers → transformers}/interface/typescript.d.ts +3 -3
  10. package/dist/implementation/transformers/interface/typescript.js +290 -0
  11. package/dist/implementation/transformers/library/typescript.d.ts +13 -0
  12. package/dist/implementation/transformers/library/typescript.js +13 -0
  13. package/dist/implementation/transformers/text/filename.d.ts +2 -0
  14. package/dist/implementation/transformers/text/filename.js +25 -0
  15. package/dist/interface/data/typescript_light.js +3 -0
  16. package/dist/{interface/generated/liana/schemas/implementation → modules/implementation/interface}/data/resolved.d.ts +1 -1
  17. package/dist/modules/implementation/interface/data/resolved.js +4 -0
  18. package/dist/{interface/generated/liana/schemas/implementation → modules/implementation/interface}/data/unresolved.d.ts +1 -1
  19. package/dist/modules/implementation/interface/data/unresolved.js +5 -0
  20. package/dist/modules/interface/interface/data/resolved.js +3 -0
  21. package/dist/{interface/generated/liana/schemas → modules/interface}/interface/data/unresolved.js +1 -1
  22. package/dist/modules/typescript_light/implementation/{manual/transformers → transformers}/text/identifier.d.ts +1 -1
  23. package/dist/modules/typescript_light/implementation/{manual/transformers → transformers}/text/identifier.js +1 -1
  24. package/dist/modules/typescript_light/implementation/{manual/transformers → transformers}/typescript_light/prose.d.ts +3 -3
  25. package/dist/modules/typescript_light/implementation/transformers/typescript_light/prose.js +753 -0
  26. package/dist/modules/typescript_light/shorthands/typescript_light/target.d.ts +1 -1
  27. package/dist/modules/typescript_light/shorthands/typescript_light/target.js +2 -2
  28. package/dist/shorthands/implementation/target.d.ts +2 -2
  29. package/dist/shorthands/interface/target.d.ts +1 -1
  30. package/package.json +1 -1
  31. package/dist/implementation/generated/liana/schemas/implementation/resolved/refiners/unresolved.d.ts +0 -7
  32. package/dist/implementation/generated/liana/schemas/implementation/resolved/refiners/unresolved.js +0 -1108
  33. package/dist/implementation/generated/liana/schemas/implementation/resolved/transformers/astn_sealed_target.d.ts +0 -7
  34. package/dist/implementation/generated/liana/schemas/implementation/resolved/transformers/astn_sealed_target.js +0 -1247
  35. package/dist/implementation/generated/liana/schemas/implementation/resolved/transformers/fountain_pen.d.ts +0 -7
  36. package/dist/implementation/generated/liana/schemas/implementation/resolved/transformers/fountain_pen.js +0 -11
  37. package/dist/implementation/generated/liana/schemas/implementation/unresolved/refiners/astn_parse_tree.d.ts +0 -7
  38. package/dist/implementation/generated/liana/schemas/implementation/unresolved/refiners/astn_parse_tree.js +0 -2921
  39. package/dist/implementation/generated/liana/schemas/implementation/unresolved/refiners/list_of_characters.d.ts +0 -7
  40. package/dist/implementation/generated/liana/schemas/implementation/unresolved/refiners/list_of_characters.js +0 -23
  41. package/dist/implementation/generated/liana/schemas/interface/resolved/refiners/unresolved.d.ts +0 -6
  42. package/dist/implementation/generated/liana/schemas/interface/resolved/refiners/unresolved.js +0 -225
  43. package/dist/implementation/generated/liana/schemas/interface/resolved/transformers/astn_sealed_target.d.ts +0 -6
  44. package/dist/implementation/generated/liana/schemas/interface/resolved/transformers/astn_sealed_target.js +0 -295
  45. package/dist/implementation/generated/liana/schemas/interface/resolved/transformers/fountain_pen.d.ts +0 -6
  46. package/dist/implementation/generated/liana/schemas/interface/resolved/transformers/fountain_pen.js +0 -10
  47. package/dist/implementation/generated/liana/schemas/interface/unresolved/refiners/astn_parse_tree.d.ts +0 -6
  48. package/dist/implementation/generated/liana/schemas/interface/unresolved/refiners/astn_parse_tree.js +0 -652
  49. package/dist/implementation/generated/liana/schemas/interface/unresolved/refiners/list_of_characters.d.ts +0 -6
  50. package/dist/implementation/generated/liana/schemas/interface/unresolved/refiners/list_of_characters.js +0 -20
  51. package/dist/implementation/generated/liana/schemas/typescript_light/refiners/astn_parse_tree.d.ts +0 -9
  52. package/dist/implementation/generated/liana/schemas/typescript_light/refiners/astn_parse_tree.js +0 -964
  53. package/dist/implementation/generated/liana/schemas/typescript_light/refiners/list_of_characters.d.ts +0 -9
  54. package/dist/implementation/generated/liana/schemas/typescript_light/refiners/list_of_characters.js +0 -29
  55. package/dist/implementation/generated/liana/schemas/typescript_light/transformers/astn_sealed_target.d.ts +0 -9
  56. package/dist/implementation/generated/liana/schemas/typescript_light/transformers/astn_sealed_target.js +0 -529
  57. package/dist/implementation/generated/liana/schemas/typescript_light/transformers/boilerplate_for_migrate.d.ts +0 -9
  58. package/dist/implementation/generated/liana/schemas/typescript_light/transformers/boilerplate_for_migrate.js +0 -306
  59. package/dist/implementation/generated/liana/schemas/typescript_light/transformers/fountain_pen.d.ts +0 -9
  60. package/dist/implementation/generated/liana/schemas/typescript_light/transformers/fountain_pen.js +0 -13
  61. package/dist/implementation/manual/transformers/implementation/serialized_typescript.js +0 -30
  62. package/dist/implementation/manual/transformers/implementation/typescript.js +0 -690
  63. package/dist/implementation/manual/transformers/interface/serialized_typescript.js +0 -16
  64. package/dist/implementation/manual/transformers/interface/typescript.js +0 -290
  65. package/dist/implementation/manual/transformers/library/typescript.d.ts +0 -13
  66. package/dist/implementation/manual/transformers/library/typescript.js +0 -13
  67. package/dist/implementation/manual/transformers/text/filename.d.ts +0 -2
  68. package/dist/implementation/manual/transformers/text/filename.js +0 -25
  69. package/dist/interface/generated/liana/schemas/implementation/data/resolved.js +0 -4
  70. package/dist/interface/generated/liana/schemas/implementation/data/unresolved.js +0 -5
  71. package/dist/interface/generated/liana/schemas/implementation/signatures/resolved/refiners/unresolved.d.ts +0 -53
  72. package/dist/interface/generated/liana/schemas/implementation/signatures/resolved/refiners/unresolved.js +0 -5
  73. package/dist/interface/generated/liana/schemas/implementation/signatures/resolved/transformers/astn_sealed_target.d.ts +0 -45
  74. package/dist/interface/generated/liana/schemas/implementation/signatures/resolved/transformers/astn_sealed_target.js +0 -4
  75. package/dist/interface/generated/liana/schemas/implementation/signatures/resolved/transformers/boilerplate_for_migrate.d.ts +0 -45
  76. package/dist/interface/generated/liana/schemas/implementation/signatures/resolved/transformers/boilerplate_for_migrate.js +0 -4
  77. package/dist/interface/generated/liana/schemas/implementation/signatures/resolved/transformers/fountain_pen.d.ts +0 -45
  78. package/dist/interface/generated/liana/schemas/implementation/signatures/resolved/transformers/fountain_pen.js +0 -4
  79. package/dist/interface/generated/liana/schemas/implementation/signatures/unresolved/refiners/astn_parse_tree.d.ts +0 -53
  80. package/dist/interface/generated/liana/schemas/implementation/signatures/unresolved/refiners/astn_parse_tree.js +0 -5
  81. package/dist/interface/generated/liana/schemas/implementation/signatures/unresolved/refiners/list_of_characters.d.ts +0 -71
  82. package/dist/interface/generated/liana/schemas/implementation/signatures/unresolved/refiners/list_of_characters.js +0 -5
  83. package/dist/interface/generated/liana/schemas/interface/data/resolved.js +0 -3
  84. package/dist/interface/generated/liana/schemas/interface/signatures/resolved/refiners/unresolved.d.ts +0 -45
  85. package/dist/interface/generated/liana/schemas/interface/signatures/resolved/refiners/unresolved.js +0 -5
  86. package/dist/interface/generated/liana/schemas/interface/signatures/resolved/transformers/astn_sealed_target.d.ts +0 -38
  87. package/dist/interface/generated/liana/schemas/interface/signatures/resolved/transformers/astn_sealed_target.js +0 -4
  88. package/dist/interface/generated/liana/schemas/interface/signatures/resolved/transformers/boilerplate_for_migrate.d.ts +0 -38
  89. package/dist/interface/generated/liana/schemas/interface/signatures/resolved/transformers/boilerplate_for_migrate.js +0 -4
  90. package/dist/interface/generated/liana/schemas/interface/signatures/resolved/transformers/fountain_pen.d.ts +0 -38
  91. package/dist/interface/generated/liana/schemas/interface/signatures/resolved/transformers/fountain_pen.js +0 -4
  92. package/dist/interface/generated/liana/schemas/interface/signatures/unresolved/refiners/astn_parse_tree.d.ts +0 -45
  93. package/dist/interface/generated/liana/schemas/interface/signatures/unresolved/refiners/astn_parse_tree.js +0 -5
  94. package/dist/interface/generated/liana/schemas/interface/signatures/unresolved/refiners/list_of_characters.d.ts +0 -60
  95. package/dist/interface/generated/liana/schemas/interface/signatures/unresolved/refiners/list_of_characters.js +0 -5
  96. package/dist/interface/generated/liana/schemas/typescript_light/data.js +0 -3
  97. package/dist/interface/generated/liana/schemas/typescript_light/signatures/refiners/astn_parse_tree.d.ts +0 -69
  98. package/dist/interface/generated/liana/schemas/typescript_light/signatures/refiners/astn_parse_tree.js +0 -5
  99. package/dist/interface/generated/liana/schemas/typescript_light/signatures/refiners/list_of_characters.d.ts +0 -93
  100. package/dist/interface/generated/liana/schemas/typescript_light/signatures/refiners/list_of_characters.js +0 -5
  101. package/dist/interface/generated/liana/schemas/typescript_light/signatures/transformers/astn_sealed_target.d.ts +0 -59
  102. package/dist/interface/generated/liana/schemas/typescript_light/signatures/transformers/astn_sealed_target.js +0 -4
  103. package/dist/interface/generated/liana/schemas/typescript_light/signatures/transformers/boilerplate_for_migrate.d.ts +0 -59
  104. package/dist/interface/generated/liana/schemas/typescript_light/signatures/transformers/boilerplate_for_migrate.js +0 -4
  105. package/dist/interface/generated/liana/schemas/typescript_light/signatures/transformers/fountain_pen.d.ts +0 -59
  106. package/dist/interface/generated/liana/schemas/typescript_light/signatures/transformers/fountain_pen.js +0 -4
  107. package/dist/modules/typescript_light/implementation/manual/transformers/typescript_light/prose.js +0 -753
  108. /package/dist/interface/{generated/liana/schemas/typescript_light/data.d.ts → data/typescript_light.d.ts} +0 -0
  109. /package/dist/{interface/generated/liana/schemas → modules/interface}/interface/data/resolved.d.ts +0 -0
  110. /package/dist/{interface/generated/liana/schemas → modules/interface}/interface/data/unresolved.d.ts +0 -0
@@ -1,1247 +0,0 @@
1
- import * as p_ from 'pareto-core/implementation/transformer';
2
- import * as p_di from 'pareto-core/interface/data';
3
- const p_decide_state = ($, assign) => assign($);
4
- const p_decide_optional = ($, assign, otherwise) => p_.from.optional($).decide(assign, otherwise);
5
- const p_decide_text = ($, assign) => assign($);
6
- import p_change_context from 'pareto-core/implementation/refiner/specials/change_context';
7
- import _p_text_from_list from 'pareto-core/implementation/transformer/specials/text_from_list';
8
- import * as t_signatures from "../../../../../../../interface/generated/liana/schemas/implementation/signatures/resolved/transformers/astn_sealed_target.js";
9
- import * as t_out from "astn-core/interface/generated/liana/schemas/sealed_target/data";
10
- import * as v_primitives_to_text from "liana-core/implementation/manual/transformers/primitives/text";
11
- import * as v_external_interface from "../../../interface/resolved/transformers/astn_sealed_target.js";
12
- export const Package_Set = ($) => ['dictionary', p_.from.dictionary($).map(($, id) => ['state', p_decide_state($, ($) => {
13
- switch ($[0]) {
14
- case 'package':
15
- return p_.option($, ($) => ({
16
- 'option': 'package',
17
- 'value': Package($),
18
- }));
19
- case 'set':
20
- return p_.option($, ($) => ({
21
- 'option': 'set',
22
- 'value': Package_Set($),
23
- }));
24
- default:
25
- return p_.au($[0]);
26
- }
27
- })])];
28
- export const Package = ($) => ['group', ['verbose', p_.literal.dictionary({
29
- "specials": p_change_context($['specials'], ($) => ['group', ['verbose', p_.literal.dictionary({
30
- "abort": p_change_context($['abort'], ($) => ['text', {
31
- 'delimiter': ['none', null],
32
- 'value': v_primitives_to_text.true_false($),
33
- }]),
34
- "change context": p_change_context($['change context'], ($) => ['text', {
35
- 'delimiter': ['none', null],
36
- 'value': v_primitives_to_text.true_false($),
37
- }]),
38
- "implement me": p_change_context($['implement me'], ($) => ['text', {
39
- 'delimiter': ['none', null],
40
- 'value': v_primitives_to_text.true_false($),
41
- }]),
42
- "iterate": p_change_context($['iterate'], ($) => ['text', {
43
- 'delimiter': ['none', null],
44
- 'value': v_primitives_to_text.true_false($),
45
- }]),
46
- "lookups": p_change_context($['lookups'], ($) => ['text', {
47
- 'delimiter': ['none', null],
48
- 'value': v_primitives_to_text.true_false($),
49
- }]),
50
- "list from text": p_change_context($['list from text'], ($) => ['text', {
51
- 'delimiter': ['none', null],
52
- 'value': v_primitives_to_text.true_false($),
53
- }]),
54
- "text from list": p_change_context($['text from list'], ($) => ['text', {
55
- 'delimiter': ['none', null],
56
- 'value': v_primitives_to_text.true_false($),
57
- }]),
58
- "unreachable code path": p_change_context($['unreachable code path'], ($) => ['text', {
59
- 'delimiter': ['none', null],
60
- 'value': v_primitives_to_text.true_false($),
61
- }]),
62
- "variables": p_change_context($['variables'], ($) => ['text', {
63
- 'delimiter': ['none', null],
64
- 'value': v_primitives_to_text.true_false($),
65
- }]),
66
- })]]),
67
- "type imports": p_change_context($['type imports'], ($) => v_external_interface.Imports($)),
68
- "variable imports": p_change_context($['variable imports'], ($) => ['dictionary', p_.from.dictionary($).map(($, id) => ['group', ['verbose', p_.literal.dictionary({
69
- "tail": p_change_context($['tail'], ($) => ['list', p_.from.list($).map(($) => ['text', {
70
- 'delimiter': ['quote', null],
71
- 'value': $,
72
- }])]),
73
- "type": p_change_context($['type'], ($) => ['state', p_decide_state($, ($) => {
74
- switch ($[0]) {
75
- case 'ancestor':
76
- return p_.option($, ($) => ({
77
- 'option': 'ancestor',
78
- 'value': ['group', ['verbose', p_.literal.dictionary({
79
- "dependency": p_change_context($['dependency'], ($) => ['text', {
80
- 'delimiter': ['quote', null],
81
- 'value': $,
82
- }]),
83
- "number of steps": p_change_context($['number of steps'], ($) => ['text', {
84
- 'delimiter': ['none', null],
85
- 'value': v_primitives_to_text.decimal($),
86
- }]),
87
- })]],
88
- }));
89
- case 'external':
90
- return p_.option($, ($) => ({
91
- 'option': 'external',
92
- 'value': ['text', {
93
- 'delimiter': ['quote', null],
94
- 'value': $,
95
- }],
96
- }));
97
- case 'sibling':
98
- return p_.option($, ($) => ({
99
- 'option': 'sibling',
100
- 'value': ['text', {
101
- 'delimiter': ['quote', null],
102
- 'value': $,
103
- }],
104
- }));
105
- default:
106
- return p_.au($[0]);
107
- }
108
- })]),
109
- })]])]),
110
- "functions": p_change_context($['functions'], ($) => ['dictionary', p_.from.dictionary($).map(($, id) => ['group', ['verbose', p_.literal.dictionary({
111
- "type": p_change_context($['type'], ($) => ['group', ['verbose', p_.literal.dictionary({
112
- "import": p_change_context($['import'], ($) => ['text', {
113
- 'delimiter': ['quote', null],
114
- 'value': $,
115
- }]),
116
- "type": p_change_context($['type'], ($) => ['text', {
117
- 'delimiter': ['quote', null],
118
- 'value': $,
119
- }]),
120
- })]]),
121
- "expression": p_change_context($['expression'], ($) => Assign($)),
122
- "temp has abort": p_change_context($['temp has abort'], ($) => ['text', {
123
- 'delimiter': ['none', null],
124
- 'value': v_primitives_to_text.true_false($),
125
- }]),
126
- "temp has lookups": p_change_context($['temp has lookups'], ($) => ['text', {
127
- 'delimiter': ['none', null],
128
- 'value': v_primitives_to_text.true_false($),
129
- }]),
130
- "temp has parameters": p_change_context($['temp has parameters'], ($) => ['text', {
131
- 'delimiter': ['none', null],
132
- 'value': v_primitives_to_text.true_false($),
133
- }]),
134
- })]])]),
135
- })]];
136
- export const Temp_Value_Type_Specification = ($) => ['group', ['verbose', p_.literal.dictionary({
137
- "type": p_change_context($['type'], ($) => ['group', ['verbose', p_.literal.dictionary({
138
- "import": p_change_context($['import'], ($) => ['text', {
139
- 'delimiter': ['quote', null],
140
- 'value': $,
141
- }]),
142
- "type": p_change_context($['type'], ($) => ['text', {
143
- 'delimiter': ['quote', null],
144
- 'value': $,
145
- }]),
146
- })]]),
147
- "sub selection": p_change_context($['sub selection'], ($) => ['list', p_.from.list($).map(($) => ['state', p_decide_state($, ($) => {
148
- switch ($[0]) {
149
- case 'dictionary':
150
- return p_.option($, ($) => ({
151
- 'option': 'dictionary',
152
- 'value': ['nothing', null],
153
- }));
154
- case 'group':
155
- return p_.option($, ($) => ({
156
- 'option': 'group',
157
- 'value': ['text', {
158
- 'delimiter': ['quote', null],
159
- 'value': $,
160
- }],
161
- }));
162
- case 'list':
163
- return p_.option($, ($) => ({
164
- 'option': 'list',
165
- 'value': ['nothing', null],
166
- }));
167
- case 'optional':
168
- return p_.option($, ($) => ({
169
- 'option': 'optional',
170
- 'value': ['nothing', null],
171
- }));
172
- case 'state':
173
- return p_.option($, ($) => ({
174
- 'option': 'state',
175
- 'value': ['text', {
176
- 'delimiter': ['quote', null],
177
- 'value': $,
178
- }],
179
- }));
180
- default:
181
- return p_.au($[0]);
182
- }
183
- })])]),
184
- })]];
185
- export const Assign = ($) => ['state', p_decide_state($, ($) => {
186
- switch ($[0]) {
187
- case 'decide':
188
- return p_.option($, ($) => ({
189
- 'option': 'decide',
190
- 'value': ['group', ['verbose', p_.literal.dictionary({
191
- "source": p_change_context($['source'], ($) => Select_Value($)),
192
- "type": p_change_context($['type'], ($) => ['state', p_decide_state($, ($) => {
193
- switch ($[0]) {
194
- case 'boolean':
195
- return p_.option($, ($) => ({
196
- 'option': 'boolean',
197
- 'value': ['group', ['verbose', p_.literal.dictionary({
198
- "temp resulting node": p_change_context($['temp resulting node'], ($) => ['optional', p_decide_optional($, ($) => ['set', Temp_Value_Type_Specification($)], () => ['not set', null])]),
199
- "if false": p_change_context($['if false'], ($) => Assign($)),
200
- "if true": p_change_context($['if true'], ($) => Assign($)),
201
- })]],
202
- }));
203
- case 'optional':
204
- return p_.option($, ($) => ({
205
- 'option': 'optional',
206
- 'value': ['group', ['verbose', p_.literal.dictionary({
207
- "temp resulting node": p_change_context($['temp resulting node'], ($) => ['optional', p_decide_optional($, ($) => ['set', Temp_Value_Type_Specification($)], () => ['not set', null])]),
208
- "if not set": p_change_context($['if not set'], ($) => Assign($)),
209
- "if set": p_change_context($['if set'], ($) => Assign($)),
210
- })]],
211
- }));
212
- case 'state':
213
- return p_.option($, ($) => ({
214
- 'option': 'state',
215
- 'value': ['group', ['verbose', p_.literal.dictionary({
216
- "temp resulting node": p_change_context($['temp resulting node'], ($) => ['optional', p_decide_optional($, ($) => ['set', Temp_Value_Type_Specification($)], () => ['not set', null])]),
217
- "type": p_change_context($['type'], ($) => ['state', p_decide_state($, ($) => {
218
- switch ($[0]) {
219
- case 'partial':
220
- return p_.option($, ($) => ({
221
- 'option': 'partial',
222
- 'value': ['group', ['verbose', p_.literal.dictionary({
223
- "options": p_change_context($['options'], ($) => ['dictionary', p_.from.dictionary($).map(($, id) => Assign($))]),
224
- "default": p_change_context($['default'], ($) => Assign($)),
225
- })]],
226
- }));
227
- case 'full':
228
- return p_.option($, ($) => ({
229
- 'option': 'full',
230
- 'value': ['group', ['verbose', p_.literal.dictionary({
231
- "options": p_change_context($['options'], ($) => ['dictionary', p_.from.dictionary($).map(($, id) => Assign($))]),
232
- })]],
233
- }));
234
- case 'single':
235
- return p_.option($, ($) => ({
236
- 'option': 'single',
237
- 'value': ['group', ['verbose', p_.literal.dictionary({
238
- "option": p_change_context($['option'], ($) => ['text', {
239
- 'delimiter': ['quote', null],
240
- 'value': $,
241
- }]),
242
- "if true": p_change_context($['if true'], ($) => Assign($)),
243
- "if false": p_change_context($['if false'], ($) => Assign($)),
244
- })]],
245
- }));
246
- default:
247
- return p_.au($[0]);
248
- }
249
- })]),
250
- })]],
251
- }));
252
- case 'text':
253
- return p_.option($, ($) => ({
254
- 'option': 'text',
255
- 'value': ['group', ['verbose', p_.literal.dictionary({
256
- "temp resulting node": p_change_context($['temp resulting node'], ($) => ['optional', p_decide_optional($, ($) => ['set', Temp_Value_Type_Specification($)], () => ['not set', null])]),
257
- "cases": p_change_context($['cases'], ($) => ['dictionary', p_.from.dictionary($).map(($, id) => Assign($))]),
258
- "default": p_change_context($['default'], ($) => Assign($)),
259
- })]],
260
- }));
261
- default:
262
- return p_.au($[0]);
263
- }
264
- })]),
265
- })]],
266
- }));
267
- case 'construct':
268
- return p_.option($, ($) => ({
269
- 'option': 'construct',
270
- 'value': ['state', p_decide_state($, ($) => {
271
- switch ($[0]) {
272
- case 'boolean':
273
- return p_.option($, ($) => ({
274
- 'option': 'boolean',
275
- 'value': ['state', p_decide_state($, ($) => {
276
- switch ($[0]) {
277
- case 'literal':
278
- return p_.option($, ($) => ({
279
- 'option': 'literal',
280
- 'value': ['state', p_decide_state($, ($) => {
281
- switch ($[0]) {
282
- case 'false':
283
- return p_.option($, ($) => ({
284
- 'option': 'false',
285
- 'value': ['nothing', null],
286
- }));
287
- case 'true':
288
- return p_.option($, ($) => ({
289
- 'option': 'true',
290
- 'value': ['nothing', null],
291
- }));
292
- default:
293
- return p_.au($[0]);
294
- }
295
- })],
296
- }));
297
- case 'from':
298
- return p_.option($, ($) => ({
299
- 'option': 'from',
300
- 'value': ['group', ['verbose', p_.literal.dictionary({
301
- "selection": p_change_context($['selection'], ($) => Select_Value($)),
302
- "type": p_change_context($['type'], ($) => ['state', p_decide_state($, ($) => {
303
- switch ($[0]) {
304
- case 'boolean':
305
- return p_.option($, ($) => ({
306
- 'option': 'boolean',
307
- 'value': ['state', p_decide_state($, ($) => {
308
- switch ($[0]) {
309
- case 'not':
310
- return p_.option($, ($) => ({
311
- 'option': 'not',
312
- 'value': ['nothing', null],
313
- }));
314
- case 'copy':
315
- return p_.option($, ($) => ({
316
- 'option': 'copy',
317
- 'value': ['nothing', null],
318
- }));
319
- default:
320
- return p_.au($[0]);
321
- }
322
- })],
323
- }));
324
- case 'dictionary':
325
- return p_.option($, ($) => ({
326
- 'option': 'dictionary',
327
- 'value': ['state', p_decide_state($, ($) => {
328
- switch ($[0]) {
329
- case 'is empty':
330
- return p_.option($, ($) => ({
331
- 'option': 'is empty',
332
- 'value': ['nothing', null],
333
- }));
334
- default:
335
- return p_.au($[0]);
336
- }
337
- })],
338
- }));
339
- case 'list':
340
- return p_.option($, ($) => ({
341
- 'option': 'list',
342
- 'value': ['state', p_decide_state($, ($) => {
343
- switch ($[0]) {
344
- case 'is empty':
345
- return p_.option($, ($) => ({
346
- 'option': 'is empty',
347
- 'value': ['nothing', null],
348
- }));
349
- default:
350
- return p_.au($[0]);
351
- }
352
- })],
353
- }));
354
- default:
355
- return p_.au($[0]);
356
- }
357
- })]),
358
- })]],
359
- }));
360
- default:
361
- return p_.au($[0]);
362
- }
363
- })],
364
- }));
365
- case 'dictionary':
366
- return p_.option($, ($) => ({
367
- 'option': 'dictionary',
368
- 'value': ['state', p_decide_state($, ($) => {
369
- switch ($[0]) {
370
- case 'literal':
371
- return p_.option($, ($) => ({
372
- 'option': 'literal',
373
- 'value': ['dictionary', p_.from.dictionary($).map(($, id) => Assign($))],
374
- }));
375
- case 'from':
376
- return p_.option($, ($) => ({
377
- 'option': 'from',
378
- 'value': ['group', ['verbose', p_.literal.dictionary({
379
- "selection": p_change_context($['selection'], ($) => Select_Value($)),
380
- "type": p_change_context($['type'], ($) => ['state', p_decide_state($, ($) => {
381
- switch ($[0]) {
382
- case 'dictionary':
383
- return p_.option($, ($) => ({
384
- 'option': 'dictionary',
385
- 'value': ['state', p_decide_state($, ($) => {
386
- switch ($[0]) {
387
- case 'filter':
388
- return p_.option($, ($) => ({
389
- 'option': 'filter',
390
- 'value': ['group', ['verbose', p_.literal.dictionary({
391
- "assign entry": p_change_context($['assign entry'], ($) => Assign($)),
392
- })]],
393
- }));
394
- case 'map':
395
- return p_.option($, ($) => ({
396
- 'option': 'map',
397
- 'value': ['group', ['verbose', p_.literal.dictionary({
398
- "assign entry": p_change_context($['assign entry'], ($) => Assign($)),
399
- })]],
400
- }));
401
- case 'resolve':
402
- return p_.option($, ($) => ({
403
- 'option': 'resolve',
404
- 'value': ['group', ['verbose', p_.literal.dictionary({
405
- "assign entry": p_change_context($['assign entry'], ($) => Assign($)),
406
- "temp resulting entry node": p_change_context($['temp resulting entry node'], ($) => Temp_Value_Type_Specification($)),
407
- })]],
408
- }));
409
- default:
410
- return p_.au($[0]);
411
- }
412
- })],
413
- }));
414
- case 'list':
415
- return p_.option($, ($) => ({
416
- 'option': 'list',
417
- 'value': ['state', p_decide_state($, ($) => {
418
- switch ($[0]) {
419
- case 'convert':
420
- return p_.option($, ($) => ({
421
- 'option': 'convert',
422
- 'value': ['group', ['verbose', p_.literal.dictionary({
423
- "assign id": p_change_context($['assign id'], ($) => Assign($)),
424
- "assign entry": p_change_context($['assign entry'], ($) => Assign($)),
425
- "abort": p_change_context($['abort'], ($) => Assign($)),
426
- })]],
427
- }));
428
- default:
429
- return p_.au($[0]);
430
- }
431
- })],
432
- }));
433
- default:
434
- return p_.au($[0]);
435
- }
436
- })]),
437
- })]],
438
- }));
439
- default:
440
- return p_.au($[0]);
441
- }
442
- })],
443
- }));
444
- case 'group':
445
- return p_.option($, ($) => ({
446
- 'option': 'group',
447
- 'value': ['state', p_decide_state($, ($) => {
448
- switch ($[0]) {
449
- case 'literal':
450
- return p_.option($, ($) => ({
451
- 'option': 'literal',
452
- 'value': ['group', ['verbose', p_.literal.dictionary({
453
- "properties": p_change_context($['properties'], ($) => ['dictionary', p_.from.dictionary($).map(($, id) => Assign($))]),
454
- "have dependencies": p_change_context($['have dependencies'], ($) => ['text', {
455
- 'delimiter': ['none', null],
456
- 'value': v_primitives_to_text.true_false($),
457
- }]),
458
- })]],
459
- }));
460
- default:
461
- return p_.au($[0]);
462
- }
463
- })],
464
- }));
465
- case 'list':
466
- return p_.option($, ($) => ({
467
- 'option': 'list',
468
- 'value': ['state', p_decide_state($, ($) => {
469
- switch ($[0]) {
470
- case 'literal':
471
- return p_.option($, ($) => ({
472
- 'option': 'literal',
473
- 'value': ['list', p_.from.list($).map(($) => Assign($))],
474
- }));
475
- case 'from':
476
- return p_.option($, ($) => ({
477
- 'option': 'from',
478
- 'value': ['group', ['verbose', p_.literal.dictionary({
479
- "selection": p_change_context($['selection'], ($) => Select_Value($)),
480
- "type": p_change_context($['type'], ($) => ['state', p_decide_state($, ($) => {
481
- switch ($[0]) {
482
- case 'dictionary':
483
- return p_.option($, ($) => ({
484
- 'option': 'dictionary',
485
- 'value': ['state', p_decide_state($, ($) => {
486
- switch ($[0]) {
487
- case 'convert':
488
- return p_.option($, ($) => ({
489
- 'option': 'convert',
490
- 'value': ['group', ['verbose', p_.literal.dictionary({
491
- "assign entry": p_change_context($['assign entry'], ($) => Assign($)),
492
- })]],
493
- }));
494
- default:
495
- return p_.au($[0]);
496
- }
497
- })],
498
- }));
499
- case 'list':
500
- return p_.option($, ($) => ({
501
- 'option': 'list',
502
- 'value': ['state', p_decide_state($, ($) => {
503
- switch ($[0]) {
504
- case 'filter':
505
- return p_.option($, ($) => ({
506
- 'option': 'filter',
507
- 'value': ['group', ['verbose', p_.literal.dictionary({
508
- "assign item": p_change_context($['assign item'], ($) => Assign($)),
509
- })]],
510
- }));
511
- case 'map':
512
- return p_.option($, ($) => ({
513
- 'option': 'map',
514
- 'value': ['group', ['verbose', p_.literal.dictionary({
515
- "assign item": p_change_context($['assign item'], ($) => Assign($)),
516
- })]],
517
- }));
518
- case 'map with state':
519
- return p_.option($, ($) => ({
520
- 'option': 'map with state',
521
- 'value': ['group', ['verbose', p_.literal.dictionary({
522
- "initialize state": p_change_context($['initialize state'], ($) => Assign($)),
523
- "assign item": p_change_context($['assign item'], ($) => Assign($)),
524
- "update state": p_change_context($['update state'], ($) => Assign($)),
525
- "wrap up": p_change_context($['wrap up'], ($) => Assign($)),
526
- })]],
527
- }));
528
- case 'reduce':
529
- return p_.option($, ($) => ({
530
- 'option': 'reduce',
531
- 'value': ['group', ['verbose', p_.literal.dictionary({
532
- "initialize state": p_change_context($['initialize state'], ($) => Assign($)),
533
- "assign item": p_change_context($['assign item'], ($) => Assign($)),
534
- })]],
535
- }));
536
- case 'reverse':
537
- return p_.option($, ($) => ({
538
- 'option': 'reverse',
539
- 'value': ['nothing', null],
540
- }));
541
- default:
542
- return p_.au($[0]);
543
- }
544
- })],
545
- }));
546
- default:
547
- return p_.au($[0]);
548
- }
549
- })]),
550
- })]],
551
- }));
552
- default:
553
- return p_.au($[0]);
554
- }
555
- })],
556
- }));
557
- case 'nothing':
558
- return p_.option($, ($) => ({
559
- 'option': 'nothing',
560
- 'value': ['nothing', null],
561
- }));
562
- case 'number':
563
- return p_.option($, ($) => ({
564
- 'option': 'number',
565
- 'value': ['state', p_decide_state($, ($) => {
566
- switch ($[0]) {
567
- case 'approximation':
568
- return p_.option($, ($) => ({
569
- 'option': 'approximation',
570
- 'value': ['state', p_decide_state($, ($) => {
571
- switch ($[0]) {
572
- case 'literal':
573
- return p_.option($, ($) => ({
574
- 'option': 'literal',
575
- 'value': ['text', {
576
- 'delimiter': ['none', null],
577
- 'value': v_primitives_to_text.scientific_notation($, {
578
- 'digits': 10,
579
- }),
580
- }],
581
- }));
582
- case 'copy':
583
- return p_.option($, ($) => ({
584
- 'option': 'copy',
585
- 'value': Select_Value($),
586
- }));
587
- default:
588
- return p_.au($[0]);
589
- }
590
- })],
591
- }));
592
- case 'integer':
593
- return p_.option($, ($) => ({
594
- 'option': 'integer',
595
- 'value': ['state', p_decide_state($, ($) => {
596
- switch ($[0]) {
597
- case 'copy':
598
- return p_.option($, ($) => ({
599
- 'option': 'copy',
600
- 'value': Select_Value($),
601
- }));
602
- case 'divide':
603
- return p_.option($, ($) => ({
604
- 'option': 'divide',
605
- 'value': ['group', ['verbose', p_.literal.dictionary({
606
- "assign dividend": p_change_context($['assign dividend'], ($) => Select_Value($)),
607
- "assign divisor": p_change_context($['assign divisor'], ($) => Select_Value($)),
608
- "abort": p_change_context($['abort'], ($) => Assign($)),
609
- })]],
610
- }));
611
- case 'literal':
612
- return p_.option($, ($) => ({
613
- 'option': 'literal',
614
- 'value': ['text', {
615
- 'delimiter': ['none', null],
616
- 'value': v_primitives_to_text.decimal($),
617
- }],
618
- }));
619
- default:
620
- return p_.au($[0]);
621
- }
622
- })],
623
- }));
624
- case 'natural':
625
- return p_.option($, ($) => ({
626
- 'option': 'natural',
627
- 'value': ['state', p_decide_state($, ($) => {
628
- switch ($[0]) {
629
- case 'literal':
630
- return p_.option($, ($) => ({
631
- 'option': 'literal',
632
- 'value': ['text', {
633
- 'delimiter': ['none', null],
634
- 'value': v_primitives_to_text.decimal($),
635
- }],
636
- }));
637
- case 'copy':
638
- return p_.option($, ($) => ({
639
- 'option': 'copy',
640
- 'value': Select_Value($),
641
- }));
642
- case 'number of dictionary entries':
643
- return p_.option($, ($) => ({
644
- 'option': 'number of dictionary entries',
645
- 'value': ['group', ['verbose', p_.literal.dictionary({
646
- "dictionary": p_change_context($['dictionary'], ($) => Select_Value($)),
647
- })]],
648
- }));
649
- case 'number of list items':
650
- return p_.option($, ($) => ({
651
- 'option': 'number of list items',
652
- 'value': ['group', ['verbose', p_.literal.dictionary({
653
- "list": p_change_context($['list'], ($) => Select_Value($)),
654
- })]],
655
- }));
656
- case 'source column':
657
- return p_.option($, ($) => ({
658
- 'option': 'source column',
659
- 'value': ['nothing', null],
660
- }));
661
- case 'source line':
662
- return p_.option($, ($) => ({
663
- 'option': 'source line',
664
- 'value': ['nothing', null],
665
- }));
666
- default:
667
- return p_.au($[0]);
668
- }
669
- })],
670
- }));
671
- default:
672
- return p_.au($[0]);
673
- }
674
- })],
675
- }));
676
- case 'optional':
677
- return p_.option($, ($) => ({
678
- 'option': 'optional',
679
- 'value': ['state', p_decide_state($, ($) => {
680
- switch ($[0]) {
681
- case 'literal':
682
- return p_.option($, ($) => ({
683
- 'option': 'literal',
684
- 'value': ['state', p_decide_state($, ($) => {
685
- switch ($[0]) {
686
- case 'not set':
687
- return p_.option($, ($) => ({
688
- 'option': 'not set',
689
- 'value': ['nothing', null],
690
- }));
691
- case 'set':
692
- return p_.option($, ($) => ({
693
- 'option': 'set',
694
- 'value': Assign($),
695
- }));
696
- default:
697
- return p_.au($[0]);
698
- }
699
- })],
700
- }));
701
- case 'from':
702
- return p_.option($, ($) => ({
703
- 'option': 'from',
704
- 'value': ['group', ['verbose', p_.literal.dictionary({
705
- "selection": p_change_context($['selection'], ($) => Select_Value($)),
706
- "type": p_change_context($['type'], ($) => ['state', p_decide_state($, ($) => {
707
- switch ($[0]) {
708
- case 'boolean':
709
- return p_.option($, ($) => ({
710
- 'option': 'boolean',
711
- 'value': ['state', p_decide_state($, ($) => {
712
- switch ($[0]) {
713
- case 'convert':
714
- return p_.option($, ($) => ({
715
- 'option': 'convert',
716
- 'value': ['group', ['verbose', p_.literal.dictionary({
717
- "assign set": p_change_context($['assign set'], ($) => Assign($)),
718
- })]],
719
- }));
720
- default:
721
- return p_.au($[0]);
722
- }
723
- })],
724
- }));
725
- case 'optional':
726
- return p_.option($, ($) => ({
727
- 'option': 'optional',
728
- 'value': ['state', p_decide_state($, ($) => {
729
- switch ($[0]) {
730
- case 'map':
731
- return p_.option($, ($) => ({
732
- 'option': 'map',
733
- 'value': ['group', ['verbose', p_.literal.dictionary({
734
- "assign set": p_change_context($['assign set'], ($) => Assign($)),
735
- })]],
736
- }));
737
- default:
738
- return p_.au($[0]);
739
- }
740
- })],
741
- }));
742
- default:
743
- return p_.au($[0]);
744
- }
745
- })]),
746
- })]],
747
- }));
748
- default:
749
- return p_.au($[0]);
750
- }
751
- })],
752
- }));
753
- case 'state':
754
- return p_.option($, ($) => ({
755
- 'option': 'state',
756
- 'value': ['state', p_decide_state($, ($) => {
757
- switch ($[0]) {
758
- case 'literal':
759
- return p_.option($, ($) => ({
760
- 'option': 'literal',
761
- 'value': ['group', ['verbose', p_.literal.dictionary({
762
- "option": p_change_context($['option'], ($) => ['text', {
763
- 'delimiter': ['quote', null],
764
- 'value': $,
765
- }]),
766
- "assign option": p_change_context($['assign option'], ($) => Assign($)),
767
- })]],
768
- }));
769
- default:
770
- return p_.au($[0]);
771
- }
772
- })],
773
- }));
774
- case 'text':
775
- return p_.option($, ($) => ({
776
- 'option': 'text',
777
- 'value': ['state', p_decide_state($, ($) => {
778
- switch ($[0]) {
779
- case 'literal':
780
- return p_.option($, ($) => ({
781
- 'option': 'literal',
782
- 'value': ['group', ['verbose', p_.literal.dictionary({
783
- "type": p_change_context($['type'], ($) => ['state', p_decide_state($, ($) => {
784
- switch ($[0]) {
785
- case 'identifier':
786
- return p_.option($, ($) => ({
787
- 'option': 'identifier',
788
- 'value': ['nothing', null],
789
- }));
790
- case 'freeform':
791
- return p_.option($, ($) => ({
792
- 'option': 'freeform',
793
- 'value': ['nothing', null],
794
- }));
795
- default:
796
- return p_.au($[0]);
797
- }
798
- })]),
799
- "value": p_change_context($['value'], ($) => ['text', {
800
- 'delimiter': ['quote', null],
801
- 'value': $,
802
- }]),
803
- })]],
804
- }));
805
- case 'from':
806
- return p_.option($, ($) => ({
807
- 'option': 'from',
808
- 'value': ['group', ['verbose', p_.literal.dictionary({
809
- "selection": p_change_context($['selection'], ($) => Select_Value($)),
810
- "type": p_change_context($['type'], ($) => ['state', p_decide_state($, ($) => {
811
- switch ($[0]) {
812
- case 'text':
813
- return p_.option($, ($) => ({
814
- 'option': 'text',
815
- 'value': ['state', p_decide_state($, ($) => {
816
- switch ($[0]) {
817
- case 'copy':
818
- return p_.option($, ($) => ({
819
- 'option': 'copy',
820
- 'value': ['nothing', null],
821
- }));
822
- default:
823
- return p_.au($[0]);
824
- }
825
- })],
826
- }));
827
- default:
828
- return p_.au($[0]);
829
- }
830
- })]),
831
- })]],
832
- }));
833
- case 'source document':
834
- return p_.option($, ($) => ({
835
- 'option': 'source document',
836
- 'value': ['nothing', null],
837
- }));
838
- case 'entry id':
839
- return p_.option($, ($) => ({
840
- 'option': 'entry id',
841
- 'value': ['nothing', null],
842
- }));
843
- case 'option name':
844
- return p_.option($, ($) => ({
845
- 'option': 'option name',
846
- 'value': ['nothing', null],
847
- }));
848
- default:
849
- return p_.au($[0]);
850
- }
851
- })],
852
- }));
853
- default:
854
- return p_.au($[0]);
855
- }
856
- })],
857
- }));
858
- case 'select':
859
- return p_.option($, ($) => ({
860
- 'option': 'select',
861
- 'value': Select_Value($),
862
- }));
863
- case 'special':
864
- return p_.option($, ($) => ({
865
- 'option': 'special',
866
- 'value': ['state', p_decide_state($, ($) => {
867
- switch ($[0]) {
868
- case 'abort':
869
- return p_.option($, ($) => ({
870
- 'option': 'abort',
871
- 'value': Assign($),
872
- }));
873
- case 'assert':
874
- return p_.option($, ($) => ({
875
- 'option': 'assert',
876
- 'value': ['group', ['verbose', p_.literal.dictionary({
877
- "tester": p_change_context($['tester'], ($) => Assign($)),
878
- "normal flow": p_change_context($['normal flow'], ($) => Assign($)),
879
- })]],
880
- }));
881
- case 'change context':
882
- return p_.option($, ($) => ({
883
- 'option': 'change context',
884
- 'value': ['group', ['verbose', p_.literal.dictionary({
885
- "new context": p_change_context($['new context'], ($) => Select_Value($)),
886
- "expression": p_change_context($['expression'], ($) => Assign($)),
887
- })]],
888
- }));
889
- case 'variables':
890
- return p_.option($, ($) => ({
891
- 'option': 'variables',
892
- 'value': ['group', ['verbose', p_.literal.dictionary({
893
- "variables": p_change_context($['variables'], ($) => ['dictionary', p_.from.dictionary($).map(($, id) => Assign($))]),
894
- "assign": p_change_context($['assign'], ($) => Assign($)),
895
- })]],
896
- }));
897
- case 'implement me':
898
- return p_.option($, ($) => ({
899
- 'option': 'implement me',
900
- 'value': ['text', {
901
- 'delimiter': ['quote', null],
902
- 'value': $,
903
- }],
904
- }));
905
- case 'iterate':
906
- return p_.option($, ($) => ({
907
- 'option': 'iterate',
908
- 'value': ['group', ['verbose', p_.literal.dictionary({
909
- "list": p_change_context($['list'], ($) => Select_Value($)),
910
- "assign": p_change_context($['assign'], ($) => Assign($)),
911
- })]],
912
- }));
913
- case 'unreachable':
914
- return p_.option($, ($) => ({
915
- 'option': 'unreachable',
916
- 'value': ['group', ['verbose', p_.literal.dictionary({
917
- "explanation": p_change_context($['explanation'], ($) => ['text', {
918
- 'delimiter': ['quote', null],
919
- 'value': $,
920
- }]),
921
- })]],
922
- }));
923
- default:
924
- return p_.au($[0]);
925
- }
926
- })],
927
- }));
928
- default:
929
- return p_.au($[0]);
930
- }
931
- })];
932
- export const Select_Value = ($) => ['state', p_decide_state($, ($) => {
933
- switch ($[0]) {
934
- case 'implement me':
935
- return p_.option($, ($) => ({
936
- 'option': 'implement me',
937
- 'value': ['text', {
938
- 'delimiter': ['quote', null],
939
- 'value': $,
940
- }],
941
- }));
942
- case 'regular':
943
- return p_.option($, ($) => ({
944
- 'option': 'regular',
945
- 'value': ['group', ['verbose', p_.literal.dictionary({
946
- "start": p_change_context($['start'], ($) => ['state', p_decide_state($, ($) => {
947
- switch ($[0]) {
948
- case 'call':
949
- return p_.option($, ($) => ({
950
- 'option': 'call',
951
- 'value': ['group', ['verbose', p_.literal.dictionary({
952
- "source": p_change_context($['source'], ($) => ['state', p_decide_state($, ($) => {
953
- switch ($[0]) {
954
- case 'local':
955
- return p_.option($, ($) => ({
956
- 'option': 'local',
957
- 'value': ['text', {
958
- 'delimiter': ['quote', null],
959
- 'value': $,
960
- }],
961
- }));
962
- case 'imported':
963
- return p_.option($, ($) => ({
964
- 'option': 'imported',
965
- 'value': ['group', ['verbose', p_.literal.dictionary({
966
- "import": p_change_context($['import'], ($) => ['text', {
967
- 'delimiter': ['quote', null],
968
- 'value': $,
969
- }]),
970
- "variable": p_change_context($['variable'], ($) => ['text', {
971
- 'delimiter': ['quote', null],
972
- 'value': $,
973
- }]),
974
- })]],
975
- }));
976
- default:
977
- return p_.au($[0]);
978
- }
979
- })]),
980
- "context": p_change_context($['context'], ($) => Assign($)),
981
- "abort": p_change_context($['abort'], ($) => ['optional', p_decide_optional($, ($) => ['set', Assign($)], () => ['not set', null])]),
982
- "lookups": p_change_context($['lookups'], ($) => ['optional', p_decide_optional($, ($) => ['set', ['state', p_decide_state($, ($) => {
983
- switch ($[0]) {
984
- case 'initialize':
985
- return p_.option($, ($) => ({
986
- 'option': 'initialize',
987
- 'value': ['dictionary', p_.from.dictionary($).map(($, id) => Select_Lookup($))],
988
- }));
989
- case 'pass through':
990
- return p_.option($, ($) => ({
991
- 'option': 'pass through',
992
- 'value': ['nothing', null],
993
- }));
994
- default:
995
- return p_.au($[0]);
996
- }
997
- })]], () => ['not set', null])]),
998
- "arguments": p_change_context($['arguments'], ($) => ['optional', p_decide_optional($, ($) => ['set', ['state', p_decide_state($, ($) => {
999
- switch ($[0]) {
1000
- case 'initialize':
1001
- return p_.option($, ($) => ({
1002
- 'option': 'initialize',
1003
- 'value': ['dictionary', p_.from.dictionary($).map(($, id) => Assign($))],
1004
- }));
1005
- case 'pass through':
1006
- return p_.option($, ($) => ({
1007
- 'option': 'pass through',
1008
- 'value': ['nothing', null],
1009
- }));
1010
- default:
1011
- return p_.au($[0]);
1012
- }
1013
- })]], () => ['not set', null])]),
1014
- })]],
1015
- }));
1016
- case 'context':
1017
- return p_.option($, ($) => ({
1018
- 'option': 'context',
1019
- 'value': ['nothing', null],
1020
- }));
1021
- case 'dictionary entry':
1022
- return p_.option($, ($) => ({
1023
- 'option': 'dictionary entry',
1024
- 'value': ['group', ['verbose', p_.literal.dictionary({
1025
- "dictionary": p_change_context($['dictionary'], ($) => Select_Value($)),
1026
- "id": p_change_context($['id'], ($) => Assign($)),
1027
- "no such entry handler": p_change_context($['no such entry handler'], ($) => Assign($)),
1028
- })]],
1029
- }));
1030
- case 'list from text':
1031
- return p_.option($, ($) => ({
1032
- 'option': 'list from text',
1033
- 'value': ['group', ['verbose', p_.literal.dictionary({
1034
- "source": p_change_context($['source'], ($) => Select_Value($)),
1035
- "assign item": p_change_context($['assign item'], ($) => Assign($)),
1036
- })]],
1037
- }));
1038
- case 'lookup entry':
1039
- return p_.option($, ($) => ({
1040
- 'option': 'lookup entry',
1041
- 'value': ['group', ['verbose', p_.literal.dictionary({
1042
- "lookup": p_change_context($['lookup'], ($) => Select_Lookup($)),
1043
- "id": p_change_context($['id'], ($) => Assign($)),
1044
- "type": p_change_context($['type'], ($) => ['state', p_decide_state($, ($) => {
1045
- switch ($[0]) {
1046
- case 'acyclic':
1047
- return p_.option($, ($) => ({
1048
- 'option': 'acyclic',
1049
- 'value': ['group', ['verbose', p_.literal.dictionary({
1050
- "abort handlers": p_change_context($['abort handlers'], ($) => ['group', ['verbose', p_.literal.dictionary({
1051
- "no such entry": p_change_context($['no such entry'], ($) => Assign($)),
1052
- "no context lookup": p_change_context($['no context lookup'], ($) => Assign($)),
1053
- "cycle detected": p_change_context($['cycle detected'], ($) => Assign($)),
1054
- })]]),
1055
- })]],
1056
- }));
1057
- case 'cyclic':
1058
- return p_.option($, ($) => ({
1059
- 'option': 'cyclic',
1060
- 'value': ['group', ['verbose', p_.literal.dictionary({
1061
- "abort handlers": p_change_context($['abort handlers'], ($) => ['group', ['verbose', p_.literal.dictionary({
1062
- "no such entry": p_change_context($['no such entry'], ($) => Assign($)),
1063
- "no context lookup": p_change_context($['no context lookup'], ($) => Assign($)),
1064
- "accessing cyclic sibling before it is resolved": p_change_context($['accessing cyclic sibling before it is resolved'], ($) => Assign($)),
1065
- })]]),
1066
- })]],
1067
- }));
1068
- case 'stack':
1069
- return p_.option($, ($) => ({
1070
- 'option': 'stack',
1071
- 'value': ['group', ['verbose', p_.literal.dictionary({
1072
- "abort handlers": p_change_context($['abort handlers'], ($) => ['group', ['verbose', p_.literal.dictionary({
1073
- "no such entry": p_change_context($['no such entry'], ($) => Assign($)),
1074
- "no context lookup": p_change_context($['no context lookup'], ($) => Assign($)),
1075
- "cycle detected": p_change_context($['cycle detected'], ($) => Assign($)),
1076
- })]]),
1077
- })]],
1078
- }));
1079
- default:
1080
- return p_.au($[0]);
1081
- }
1082
- })]),
1083
- })]],
1084
- }));
1085
- case 'lookup entry depth':
1086
- return p_.option($, ($) => ({
1087
- 'option': 'lookup entry depth',
1088
- 'value': ['group', ['verbose', p_.literal.dictionary({
1089
- "lookup": p_change_context($['lookup'], ($) => Select_Lookup($)),
1090
- "id": p_change_context($['id'], ($) => Assign($)),
1091
- "abort handlers": p_change_context($['abort handlers'], ($) => ['group', ['verbose', p_.literal.dictionary({
1092
- "no such entry": p_change_context($['no such entry'], ($) => Assign($)),
1093
- "no context lookup": p_change_context($['no context lookup'], ($) => Assign($)),
1094
- "cycle detected": p_change_context($['cycle detected'], ($) => Assign($)),
1095
- })]]),
1096
- })]],
1097
- }));
1098
- case 'parameter':
1099
- return p_.option($, ($) => ({
1100
- 'option': 'parameter',
1101
- 'value': ['text', {
1102
- 'delimiter': ['quote', null],
1103
- 'value': $,
1104
- }],
1105
- }));
1106
- case 'parent sibling':
1107
- return p_.option($, ($) => ({
1108
- 'option': 'parent sibling',
1109
- 'value': ['text', {
1110
- 'delimiter': ['quote', null],
1111
- 'value': $,
1112
- }],
1113
- }));
1114
- case 'sibling':
1115
- return p_.option($, ($) => ({
1116
- 'option': 'sibling',
1117
- 'value': ['text', {
1118
- 'delimiter': ['quote', null],
1119
- 'value': $,
1120
- }],
1121
- }));
1122
- case 'state':
1123
- return p_.option($, ($) => ({
1124
- 'option': 'state',
1125
- 'value': ['nothing', null],
1126
- }));
1127
- case 'text from list':
1128
- return p_.option($, ($) => ({
1129
- 'option': 'text from list',
1130
- 'value': ['group', ['verbose', p_.literal.dictionary({
1131
- "source": p_change_context($['source'], ($) => Select_Value($)),
1132
- "assign character": p_change_context($['assign character'], ($) => Assign($)),
1133
- })]],
1134
- }));
1135
- case 'variable':
1136
- return p_.option($, ($) => ({
1137
- 'option': 'variable',
1138
- 'value': ['text', {
1139
- 'delimiter': ['quote', null],
1140
- 'value': $,
1141
- }],
1142
- }));
1143
- default:
1144
- return p_.au($[0]);
1145
- }
1146
- })]),
1147
- "tail": p_change_context($['tail'], ($) => ['list', p_.from.list($).map(($) => ['text', {
1148
- 'delimiter': ['quote', null],
1149
- 'value': $,
1150
- }])]),
1151
- })]],
1152
- }));
1153
- default:
1154
- return p_.au($[0]);
1155
- }
1156
- })];
1157
- export const Select_Lookup = ($) => ['state', p_decide_state($, ($) => {
1158
- switch ($[0]) {
1159
- case 'implement me':
1160
- return p_.option($, ($) => ({
1161
- 'option': 'implement me',
1162
- 'value': ['text', {
1163
- 'delimiter': ['quote', null],
1164
- 'value': $,
1165
- }],
1166
- }));
1167
- case 'from parameter':
1168
- return p_.option($, ($) => ({
1169
- 'option': 'from parameter',
1170
- 'value': ['text', {
1171
- 'delimiter': ['quote', null],
1172
- 'value': $,
1173
- }],
1174
- }));
1175
- case 'stack':
1176
- return p_.option($, ($) => ({
1177
- 'option': 'stack',
1178
- 'value': ['state', p_decide_state($, ($) => {
1179
- switch ($[0]) {
1180
- case 'empty':
1181
- return p_.option($, ($) => ({
1182
- 'option': 'empty',
1183
- 'value': ['nothing', null],
1184
- }));
1185
- case 'push':
1186
- return p_.option($, ($) => ({
1187
- 'option': 'push',
1188
- 'value': ['group', ['verbose', p_.literal.dictionary({
1189
- "stack": p_change_context($['stack'], ($) => Select_Lookup($)),
1190
- "acyclic": p_change_context($['acyclic'], ($) => Select_Lookup($)),
1191
- })]],
1192
- }));
1193
- default:
1194
- return p_.au($[0]);
1195
- }
1196
- })],
1197
- }));
1198
- case 'acyclic':
1199
- return p_.option($, ($) => ({
1200
- 'option': 'acyclic',
1201
- 'value': ['state', p_decide_state($, ($) => {
1202
- switch ($[0]) {
1203
- case 'not set':
1204
- return p_.option($, ($) => ({
1205
- 'option': 'not set',
1206
- 'value': ['nothing', null],
1207
- }));
1208
- case 'siblings':
1209
- return p_.option($, ($) => ({
1210
- 'option': 'siblings',
1211
- 'value': ['nothing', null],
1212
- }));
1213
- case 'resolved dictionary':
1214
- return p_.option($, ($) => ({
1215
- 'option': 'resolved dictionary',
1216
- 'value': Select_Value($),
1217
- }));
1218
- default:
1219
- return p_.au($[0]);
1220
- }
1221
- })],
1222
- }));
1223
- case 'cyclic':
1224
- return p_.option($, ($) => ({
1225
- 'option': 'cyclic',
1226
- 'value': ['state', p_decide_state($, ($) => {
1227
- switch ($[0]) {
1228
- case 'not set':
1229
- return p_.option($, ($) => ({
1230
- 'option': 'not set',
1231
- 'value': ['nothing', null],
1232
- }));
1233
- case 'siblings':
1234
- return p_.option($, ($) => ({
1235
- 'option': 'siblings',
1236
- 'value': ['nothing', null],
1237
- }));
1238
- default:
1239
- return p_.au($[0]);
1240
- }
1241
- })],
1242
- }));
1243
- default:
1244
- return p_.au($[0]);
1245
- }
1246
- })];
1247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0bl9zZWFsZWRfdGFyZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL2dlbmVyYXRlZC9saWFuYS9zY2hlbWFzL2ltcGxlbWVudGF0aW9uL3Jlc29sdmVkL3RyYW5zZm9ybWVycy9hc3RuX3NlYWxlZF90YXJnZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUM1RCxPQUFPLEtBQUssSUFBSSxNQUFNLDRCQUE0QixDQUFBO0FBQ2xELE1BQU0sY0FBYyxHQUFHLENBQVcsQ0FBUSxFQUFFLE1BQXVCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNqRixNQUFNLGlCQUFpQixHQUFHLENBQThDLENBQTBCLEVBQUUsTUFBb0IsRUFBRSxTQUFrQixFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0FBQzlMLE1BQU0sYUFBYSxHQUFHLENBQUksQ0FBUyxFQUFFLE1BQXdCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUUzRSxPQUFPLGdCQUFnQixNQUFNLDREQUE0RCxDQUFBO0FBRXpGLE9BQU8saUJBQWlCLE1BQU0sZ0VBQWdFLENBQUE7QUFFOUYsT0FBTyxLQUFLLFlBQVksTUFBTSw4SEFBOEgsQ0FBQTtBQUU1SixPQUFPLEtBQUssS0FBSyxNQUFNLGdFQUFnRSxDQUFBO0FBRXZGLE9BQU8sS0FBSyxvQkFBb0IsTUFBTSwrREFBK0QsQ0FBQTtBQUVyRyxPQUFPLEtBQUssb0JBQW9CLE1BQU0sZ0VBQWdFLENBQUE7QUFFdEcsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUE2QixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FB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