exupery 0.1.27 → 0.1.29

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 (111) hide show
  1. package/dist/{generated/implementation → implementation/generated/pareto}/generic/resolve.d.ts +3 -3
  2. package/dist/implementation/generated/pareto/generic/resolve.js +276 -0
  3. package/dist/{generated/implementation → implementation/generated/pareto}/generic/unmarshall.d.ts +3 -3
  4. package/dist/implementation/generated/pareto/generic/unmarshall.js +238 -0
  5. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/implementation/marshall.d.ts +1 -1
  6. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/implementation/marshall.js +1 -1
  7. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/implementation/resolve.d.ts +1 -1
  8. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/implementation/resolve.js +1 -1
  9. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/implementation/unmarshall.d.ts +1 -1
  10. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/implementation/unmarshall.js +1 -1
  11. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/interface/marshall.d.ts +1 -1
  12. package/dist/implementation/generated/pareto/schemas/interface/marshall.js +297 -0
  13. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/interface/resolve.d.ts +1 -1
  14. package/dist/implementation/generated/pareto/schemas/interface/resolve.js +436 -0
  15. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/interface/unmarshall.d.ts +1 -1
  16. package/dist/implementation/generated/pareto/schemas/interface/unmarshall.js +251 -0
  17. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/typescript_light/marshall.d.ts +1 -1
  18. package/dist/implementation/generated/pareto/schemas/typescript_light/marshall.js +441 -0
  19. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/typescript_light/unmarshall.d.ts +1 -1
  20. package/dist/implementation/generated/pareto/schemas/typescript_light/unmarshall.js +415 -0
  21. package/dist/{operations → implementation/operations}/impure/text/create_identifier.js +1 -1
  22. package/dist/{operations → implementation/operations}/impure/text/serialize_apostrophed_string.js +1 -1
  23. package/dist/{operations → implementation/operations}/impure/text/serialize_backticked_string.js +1 -1
  24. package/dist/{operations → implementation/operations}/impure/text/serialize_quoted_string.js +1 -1
  25. package/dist/{transformations → implementation/transformations}/implementation/typescript_light.d.ts +2 -2
  26. package/dist/implementation/transformations/implementation/typescript_light.js +572 -0
  27. package/dist/{transformations → implementation/transformations}/interface/typescript_light.d.ts +3 -3
  28. package/dist/implementation/transformations/interface/typescript_light.js +525 -0
  29. package/dist/implementation/transformations/library/typescript_light.d.ts +10 -0
  30. package/dist/{transformations → implementation/transformations}/library/typescript_light.js +1 -1
  31. package/dist/{transformations → implementation/transformations}/typescript_light/fountain_pen_block.d.ts +1 -1
  32. package/dist/implementation/transformations/typescript_light/fountain_pen_block.js +312 -0
  33. package/dist/{generated/interface → interface/generated/pareto}/core/astn_source.js +1 -1
  34. package/dist/{generated/interface → interface/generated/pareto}/core/astn_target.js +1 -1
  35. package/dist/{generated/interface → interface/generated/pareto}/core/resolve.js +1 -1
  36. package/dist/{generated/interface → interface/generated/pareto}/core/resolved.js +1 -1
  37. package/dist/{generated/interface → interface/generated/pareto}/core/unconstrained.js +1 -1
  38. package/dist/{generated/interface → interface/generated/pareto}/core/unresolved.js +1 -1
  39. package/dist/{generated/interface/schemas/interface → interface/generated/pareto/schemas/implementation}/data_types/resolve.js +1 -1
  40. package/dist/{generated/interface/schemas/interface → interface/generated/pareto/schemas/implementation}/data_types/source.js +1 -1
  41. package/dist/{generated/interface/schemas/interface → interface/generated/pareto/schemas/implementation}/data_types/target.js +1 -1
  42. package/dist/{generated/interface/schemas/interface → interface/generated/pareto/schemas/implementation}/marshall.js +1 -1
  43. package/dist/{generated/interface/schemas/interface → interface/generated/pareto/schemas/implementation}/migrate_boilerplate.js +1 -1
  44. package/dist/{generated/interface/schemas/interface → interface/generated/pareto/schemas/implementation}/unmarshall.js +1 -1
  45. package/dist/{generated/interface/schemas/interface → interface/generated/pareto/schemas/implementation}/value_deserializers.js +1 -1
  46. package/dist/{generated/interface/schemas/interface → interface/generated/pareto/schemas/implementation}/value_serializers.js +1 -1
  47. package/dist/{generated/interface/schemas/implementation → interface/generated/pareto/schemas/interface}/data_types/resolve.js +1 -1
  48. package/dist/{generated/interface/schemas/implementation → interface/generated/pareto/schemas/interface}/data_types/source.js +1 -1
  49. package/dist/{generated/interface/schemas/implementation → interface/generated/pareto/schemas/interface}/data_types/target.js +1 -1
  50. package/dist/{generated/interface/schemas/implementation → interface/generated/pareto/schemas/interface}/marshall.js +1 -1
  51. package/dist/{generated/interface/schemas/implementation → interface/generated/pareto/schemas/interface}/migrate_boilerplate.js +1 -1
  52. package/dist/{generated/interface/schemas/implementation → interface/generated/pareto/schemas/interface}/unmarshall.js +1 -1
  53. package/dist/{generated/interface/schemas/implementation → interface/generated/pareto/schemas/interface}/value_deserializers.js +1 -1
  54. package/dist/{generated/interface/schemas/implementation → interface/generated/pareto/schemas/interface}/value_serializers.js +1 -1
  55. package/dist/{generated/interface → interface/generated/pareto}/schemas/typescript_light/data_types/resolve.js +1 -1
  56. package/dist/{generated/interface → interface/generated/pareto}/schemas/typescript_light/data_types/source.js +1 -1
  57. package/dist/{generated/interface → interface/generated/pareto}/schemas/typescript_light/data_types/target.js +1 -1
  58. package/dist/{generated/interface → interface/generated/pareto}/schemas/typescript_light/marshall.js +1 -1
  59. package/dist/{generated/interface → interface/generated/pareto}/schemas/typescript_light/migrate_boilerplate.js +1 -1
  60. package/dist/{generated/interface → interface/generated/pareto}/schemas/typescript_light/unmarshall.js +1 -1
  61. package/dist/{generated/interface → interface/generated/pareto}/schemas/typescript_light/value_deserializers.js +1 -1
  62. package/dist/{generated/interface → interface/generated/pareto}/schemas/typescript_light/value_serializers.js +1 -1
  63. package/dist/shorthands/implementation.d.ts +2 -2
  64. package/dist/shorthands/interface.d.ts +1 -1
  65. package/dist/shorthands/typescript_light.d.ts +1 -1
  66. package/package.json +1 -1
  67. package/dist/generated/implementation/generic/resolve.js +0 -276
  68. package/dist/generated/implementation/generic/unmarshall.js +0 -238
  69. package/dist/generated/implementation/schemas/interface/marshall.js +0 -297
  70. package/dist/generated/implementation/schemas/interface/resolve.js +0 -436
  71. package/dist/generated/implementation/schemas/interface/unmarshall.js +0 -251
  72. package/dist/generated/implementation/schemas/typescript_light/marshall.js +0 -441
  73. package/dist/generated/implementation/schemas/typescript_light/unmarshall.js +0 -415
  74. package/dist/transformations/implementation/typescript_light.js +0 -572
  75. package/dist/transformations/interface/typescript_light.js +0 -525
  76. package/dist/transformations/library/typescript_light.d.ts +0 -10
  77. package/dist/transformations/typescript_light/fountain_pen_block.js +0 -312
  78. /package/dist/{operations → implementation/operations}/impure/text/create_identifier.d.ts +0 -0
  79. /package/dist/{operations → implementation/operations}/impure/text/serialize_apostrophed_string.d.ts +0 -0
  80. /package/dist/{operations → implementation/operations}/impure/text/serialize_backticked_string.d.ts +0 -0
  81. /package/dist/{operations → implementation/operations}/impure/text/serialize_quoted_string.d.ts +0 -0
  82. /package/dist/{generated/interface → interface/generated/pareto}/core/astn_source.d.ts +0 -0
  83. /package/dist/{generated/interface → interface/generated/pareto}/core/astn_target.d.ts +0 -0
  84. /package/dist/{generated/interface → interface/generated/pareto}/core/resolve.d.ts +0 -0
  85. /package/dist/{generated/interface → interface/generated/pareto}/core/resolved.d.ts +0 -0
  86. /package/dist/{generated/interface → interface/generated/pareto}/core/unconstrained.d.ts +0 -0
  87. /package/dist/{generated/interface → interface/generated/pareto}/core/unresolved.d.ts +0 -0
  88. /package/dist/{generated/interface → interface/generated/pareto}/schemas/implementation/data_types/resolve.d.ts +0 -0
  89. /package/dist/{generated/interface → interface/generated/pareto}/schemas/implementation/data_types/source.d.ts +0 -0
  90. /package/dist/{generated/interface → interface/generated/pareto}/schemas/implementation/data_types/target.d.ts +0 -0
  91. /package/dist/{generated/interface → interface/generated/pareto}/schemas/implementation/marshall.d.ts +0 -0
  92. /package/dist/{generated/interface → interface/generated/pareto}/schemas/implementation/migrate_boilerplate.d.ts +0 -0
  93. /package/dist/{generated/interface → interface/generated/pareto}/schemas/implementation/unmarshall.d.ts +0 -0
  94. /package/dist/{generated/interface → interface/generated/pareto}/schemas/implementation/value_deserializers.d.ts +0 -0
  95. /package/dist/{generated/interface → interface/generated/pareto}/schemas/implementation/value_serializers.d.ts +0 -0
  96. /package/dist/{generated/interface → interface/generated/pareto}/schemas/interface/data_types/resolve.d.ts +0 -0
  97. /package/dist/{generated/interface → interface/generated/pareto}/schemas/interface/data_types/source.d.ts +0 -0
  98. /package/dist/{generated/interface → interface/generated/pareto}/schemas/interface/data_types/target.d.ts +0 -0
  99. /package/dist/{generated/interface → interface/generated/pareto}/schemas/interface/marshall.d.ts +0 -0
  100. /package/dist/{generated/interface → interface/generated/pareto}/schemas/interface/migrate_boilerplate.d.ts +0 -0
  101. /package/dist/{generated/interface → interface/generated/pareto}/schemas/interface/unmarshall.d.ts +0 -0
  102. /package/dist/{generated/interface → interface/generated/pareto}/schemas/interface/value_deserializers.d.ts +0 -0
  103. /package/dist/{generated/interface → interface/generated/pareto}/schemas/interface/value_serializers.d.ts +0 -0
  104. /package/dist/{generated/interface → interface/generated/pareto}/schemas/typescript_light/data_types/resolve.d.ts +0 -0
  105. /package/dist/{generated/interface → interface/generated/pareto}/schemas/typescript_light/data_types/source.d.ts +0 -0
  106. /package/dist/{generated/interface → interface/generated/pareto}/schemas/typescript_light/data_types/target.d.ts +0 -0
  107. /package/dist/{generated/interface → interface/generated/pareto}/schemas/typescript_light/marshall.d.ts +0 -0
  108. /package/dist/{generated/interface → interface/generated/pareto}/schemas/typescript_light/migrate_boilerplate.d.ts +0 -0
  109. /package/dist/{generated/interface → interface/generated/pareto}/schemas/typescript_light/unmarshall.d.ts +0 -0
  110. /package/dist/{generated/interface → interface/generated/pareto}/schemas/typescript_light/value_deserializers.d.ts +0 -0
  111. /package/dist/{generated/interface → interface/generated/pareto}/schemas/typescript_light/value_serializers.d.ts +0 -0
@@ -1,441 +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.Type = exports.String_Literal = exports.Statements = exports.Lines = exports.Group_Part = exports.Group = exports.Expression = exports.Directory = exports.Block_Part = exports.Block = void 0;
27
- const _pa = __importStar(require("exupery-core-alg"));
28
- const Block = ($, $p) => ['list', $.map(($) => (0, exports.Block_Part)($, {
29
- 'value serializers': $p['value serializers'],
30
- }))];
31
- exports.Block = Block;
32
- const Block_Part = ($, $p) => ['state', _pa.cc($, ($) => {
33
- switch ($[0]) {
34
- case 'indent': return _pa.ss($, ($) => ({
35
- 'state': "indent",
36
- 'value': (0, exports.Group)($, {
37
- 'value serializers': $p['value serializers'],
38
- }),
39
- }));
40
- case 'nothing': return _pa.ss($, ($) => ({
41
- 'state': "nothing",
42
- 'value': ['nothing', null],
43
- }));
44
- case 'optional': return _pa.ss($, ($) => ({
45
- 'state': "optional",
46
- 'value': ['optional', $.transform(($) => ['set', (0, exports.Block_Part)($, {
47
- 'value serializers': $p['value serializers'],
48
- })], () => ['not set', null])],
49
- }));
50
- case 'snippet': return _pa.ss($, ($) => ({
51
- 'state': "snippet",
52
- 'value': ['text', ({
53
- 'delimiter': ['quote', null],
54
- 'value': $,
55
- })],
56
- }));
57
- case 'sub block': return _pa.ss($, ($) => ({
58
- 'state': "sub block",
59
- 'value': (0, exports.Block)($, {
60
- 'value serializers': $p['value serializers'],
61
- }),
62
- }));
63
- default: return _pa.au($[0]);
64
- }
65
- })];
66
- exports.Block_Part = Block_Part;
67
- const Directory = ($, $p) => ['dictionary', $.map(($) => ['state', _pa.cc($, ($) => {
68
- switch ($[0]) {
69
- case 'directory': return _pa.ss($, ($) => ({
70
- 'state': "directory",
71
- 'value': (0, exports.Directory)($, {
72
- 'value serializers': $p['value serializers'],
73
- }),
74
- }));
75
- case 'file': return _pa.ss($, ($) => ({
76
- 'state': "file",
77
- 'value': (0, exports.Group)($, {
78
- 'value serializers': $p['value serializers'],
79
- }),
80
- }));
81
- default: return _pa.au($[0]);
82
- }
83
- })])];
84
- exports.Directory = Directory;
85
- const Expression = ($, $p) => ['state', _pa.cc($, ($) => {
86
- switch ($[0]) {
87
- case 'array literal': return _pa.ss($, ($) => ({
88
- 'state': "array literal",
89
- 'value': ['list', $.map(($) => (0, exports.Expression)($, {
90
- 'value serializers': $p['value serializers'],
91
- }))],
92
- }));
93
- case 'arrow function': return _pa.ss($, ($) => ({
94
- 'state': "arrow function",
95
- 'value': ['verbose group', _pa.dictionary_literal({
96
- 'parameters': _pa.cc($['parameters'], ($) => ['list', $.map(($) => ['verbose group', _pa.dictionary_literal({
97
- 'name': _pa.cc($['name'], ($) => ['text', ({
98
- 'delimiter': ['quote', null],
99
- 'value': $,
100
- })]),
101
- 'type': _pa.cc($['type'], ($) => ['optional', $.transform(($) => ['set', (0, exports.Type)($, {
102
- 'value serializers': $p['value serializers'],
103
- })], () => ['not set', null])]),
104
- })])]),
105
- 'return type': _pa.cc($['return type'], ($) => ['optional', $.transform(($) => ['set', (0, exports.Type)($, {
106
- 'value serializers': $p['value serializers'],
107
- })], () => ['not set', null])]),
108
- 'type': _pa.cc($['type'], ($) => ['state', _pa.cc($, ($) => {
109
- switch ($[0]) {
110
- case 'block': return _pa.ss($, ($) => ({
111
- 'state': "block",
112
- 'value': (0, exports.Statements)($, {
113
- 'value serializers': $p['value serializers'],
114
- }),
115
- }));
116
- case 'expression': return _pa.ss($, ($) => ({
117
- 'state': "expression",
118
- 'value': (0, exports.Expression)($, {
119
- 'value serializers': $p['value serializers'],
120
- }),
121
- }));
122
- default: return _pa.au($[0]);
123
- }
124
- })]),
125
- })],
126
- }));
127
- case 'call': return _pa.ss($, ($) => ({
128
- 'state': "call",
129
- 'value': ['verbose group', _pa.dictionary_literal({
130
- 'arguments': _pa.cc($['arguments'], ($) => ['list', $.map(($) => (0, exports.Expression)($, {
131
- 'value serializers': $p['value serializers'],
132
- }))]),
133
- 'function selection': _pa.cc($['function selection'], ($) => (0, exports.Expression)($, {
134
- 'value serializers': $p['value serializers'],
135
- })),
136
- })],
137
- }));
138
- case 'false': return _pa.ss($, ($) => ({
139
- 'state': "false",
140
- 'value': ['nothing', null],
141
- }));
142
- case 'null': return _pa.ss($, ($) => ({
143
- 'state': "null",
144
- 'value': ['nothing', null],
145
- }));
146
- case 'number literal': return _pa.ss($, ($) => ({
147
- 'state': "number literal",
148
- 'value': ['text', ({
149
- 'delimiter': ['backtick', null],
150
- 'value': $p['value serializers']['default number']($, null),
151
- })],
152
- }));
153
- case 'object literal': return _pa.ss($, ($) => ({
154
- 'state': "object literal",
155
- 'value': ['verbose group', _pa.dictionary_literal({
156
- 'properties': _pa.cc($['properties'], ($) => ['dictionary', $.map(($) => (0, exports.Expression)($, {
157
- 'value serializers': $p['value serializers'],
158
- }))]),
159
- })],
160
- }));
161
- case 'string literal': return _pa.ss($, ($) => ({
162
- 'state': "string literal",
163
- 'value': (0, exports.String_Literal)($, {
164
- 'value serializers': $p['value serializers'],
165
- }),
166
- }));
167
- case 'true': return _pa.ss($, ($) => ({
168
- 'state': "true",
169
- 'value': ['nothing', null],
170
- }));
171
- default: return _pa.au($[0]);
172
- }
173
- })];
174
- exports.Expression = Expression;
175
- const Group = ($, $p) => ['list', $.map(($) => (0, exports.Group_Part)($, {
176
- 'value serializers': $p['value serializers'],
177
- }))];
178
- exports.Group = Group;
179
- const Group_Part = ($, $p) => ['state', _pa.cc($, ($) => {
180
- switch ($[0]) {
181
- case 'block': return _pa.ss($, ($) => ({
182
- 'state': "block",
183
- 'value': ['text', ({
184
- 'delimiter': ['quote', null],
185
- 'value': $,
186
- })],
187
- }));
188
- case 'nested block': return _pa.ss($, ($) => ({
189
- 'state': "nested block",
190
- 'value': (0, exports.Block)($, {
191
- 'value serializers': $p['value serializers'],
192
- }),
193
- }));
194
- case 'nothing': return _pa.ss($, ($) => ({
195
- 'state': "nothing",
196
- 'value': ['nothing', null],
197
- }));
198
- case 'optional': return _pa.ss($, ($) => ({
199
- 'state': "optional",
200
- 'value': ['optional', $.transform(($) => ['set', (0, exports.Group_Part)($, {
201
- 'value serializers': $p['value serializers'],
202
- })], () => ['not set', null])],
203
- }));
204
- case 'sub group': return _pa.ss($, ($) => ({
205
- 'state': "sub group",
206
- 'value': (0, exports.Group)($, {
207
- 'value serializers': $p['value serializers'],
208
- }),
209
- }));
210
- default: return _pa.au($[0]);
211
- }
212
- })];
213
- exports.Group_Part = Group_Part;
214
- const Lines = ($, $p) => ['list', $.map(($) => ['verbose group', _pa.dictionary_literal({
215
- 'indentation': _pa.cc($['indentation'], ($) => ['text', ({
216
- 'delimiter': ['backtick', null],
217
- 'value': $p['value serializers']['default number']($, null),
218
- })]),
219
- 'text': _pa.cc($['text'], ($) => ['text', ({
220
- 'delimiter': ['quote', null],
221
- 'value': $,
222
- })]),
223
- })])];
224
- exports.Lines = Lines;
225
- const Statements = ($, $p) => ['list', $.map(($) => ['state', _pa.cc($, ($) => {
226
- switch ($[0]) {
227
- case 'import': return _pa.ss($, ($) => ({
228
- 'state': "import",
229
- 'value': ['verbose group', _pa.dictionary_literal({
230
- 'from': _pa.cc($['from'], ($) => ['text', ({
231
- 'delimiter': ['quote', null],
232
- 'value': $,
233
- })]),
234
- 'type': _pa.cc($['type'], ($) => ['state', _pa.cc($, ($) => {
235
- switch ($[0]) {
236
- case 'named': return _pa.ss($, ($) => ({
237
- 'state': "named",
238
- 'value': ['verbose group', _pa.dictionary_literal({
239
- 'specifiers': _pa.cc($['specifiers'], ($) => ['dictionary', $.map(($) => ['text', ({
240
- 'delimiter': ['quote', null],
241
- 'value': $,
242
- })])]),
243
- })],
244
- }));
245
- case 'namespace': return _pa.ss($, ($) => ({
246
- 'state': "namespace",
247
- 'value': ['text', ({
248
- 'delimiter': ['quote', null],
249
- 'value': $,
250
- })],
251
- }));
252
- default: return _pa.au($[0]);
253
- }
254
- })]),
255
- })],
256
- }));
257
- case 'module declaration': return _pa.ss($, ($) => ({
258
- 'state': "module declaration",
259
- 'value': ['verbose group', _pa.dictionary_literal({
260
- 'block': _pa.cc($['block'], ($) => (0, exports.Statements)($, {
261
- 'value serializers': $p['value serializers'],
262
- })),
263
- 'export': _pa.cc($['export'], ($) => ['text', ({
264
- 'delimiter': ['backtick', null],
265
- 'value': $p['value serializers']['boolean']($, null),
266
- })]),
267
- 'name': _pa.cc($['name'], ($) => ['text', ({
268
- 'delimiter': ['quote', null],
269
- 'value': $,
270
- })]),
271
- })],
272
- }));
273
- case 'type alias declaration': return _pa.ss($, ($) => ({
274
- 'state': "type alias declaration",
275
- 'value': ['verbose group', _pa.dictionary_literal({
276
- 'export': _pa.cc($['export'], ($) => ['text', ({
277
- 'delimiter': ['backtick', null],
278
- 'value': $p['value serializers']['boolean']($, null),
279
- })]),
280
- 'name': _pa.cc($['name'], ($) => ['text', ({
281
- 'delimiter': ['quote', null],
282
- 'value': $,
283
- })]),
284
- 'parameters': _pa.cc($['parameters'], ($) => ['list', $.map(($) => ['text', ({
285
- 'delimiter': ['quote', null],
286
- 'value': $,
287
- })])]),
288
- 'type': _pa.cc($['type'], ($) => (0, exports.Type)($, {
289
- 'value serializers': $p['value serializers'],
290
- })),
291
- })],
292
- }));
293
- case 'variable': return _pa.ss($, ($) => ({
294
- 'state': "variable",
295
- 'value': ['verbose group', _pa.dictionary_literal({
296
- 'const': _pa.cc($['const'], ($) => ['text', ({
297
- 'delimiter': ['backtick', null],
298
- 'value': $p['value serializers']['boolean']($, null),
299
- })]),
300
- 'export': _pa.cc($['export'], ($) => ['text', ({
301
- 'delimiter': ['backtick', null],
302
- 'value': $p['value serializers']['boolean']($, null),
303
- })]),
304
- 'expression': _pa.cc($['expression'], ($) => ['optional', $.transform(($) => ['set', (0, exports.Expression)($, {
305
- 'value serializers': $p['value serializers'],
306
- })], () => ['not set', null])]),
307
- 'name': _pa.cc($['name'], ($) => ['text', ({
308
- 'delimiter': ['quote', null],
309
- 'value': $,
310
- })]),
311
- 'type': _pa.cc($['type'], ($) => ['optional', $.transform(($) => ['set', (0, exports.Type)($, {
312
- 'value serializers': $p['value serializers'],
313
- })], () => ['not set', null])]),
314
- })],
315
- }));
316
- default: return _pa.au($[0]);
317
- }
318
- })])];
319
- exports.Statements = Statements;
320
- const String_Literal = ($, $p) => ['verbose group', _pa.dictionary_literal({
321
- 'delimiter': _pa.cc($['delimiter'], ($) => ['state', _pa.cc($, ($) => {
322
- switch ($[0]) {
323
- case 'apostrophe': return _pa.ss($, ($) => ({
324
- 'state': "apostrophe",
325
- 'value': ['nothing', null],
326
- }));
327
- case 'quote': return _pa.ss($, ($) => ({
328
- 'state': "quote",
329
- 'value': ['nothing', null],
330
- }));
331
- default: return _pa.au($[0]);
332
- }
333
- })]),
334
- 'value': _pa.cc($['value'], ($) => ['text', ({
335
- 'delimiter': ['quote', null],
336
- 'value': $,
337
- })]),
338
- })];
339
- exports.String_Literal = String_Literal;
340
- const Type = ($, $p) => ['state', _pa.cc($, ($) => {
341
- switch ($[0]) {
342
- case 'boolean': return _pa.ss($, ($) => ({
343
- 'state': "boolean",
344
- 'value': ['nothing', null],
345
- }));
346
- case 'function': return _pa.ss($, ($) => ({
347
- 'state': "function",
348
- 'value': ['verbose group', _pa.dictionary_literal({
349
- 'parameters': _pa.cc($['parameters'], ($) => ['list', $.map(($) => ['verbose group', _pa.dictionary_literal({
350
- 'name': _pa.cc($['name'], ($) => ['text', ({
351
- 'delimiter': ['quote', null],
352
- 'value': $,
353
- })]),
354
- 'type': _pa.cc($['type'], ($) => ['optional', $.transform(($) => ['set', (0, exports.Type)($, {
355
- 'value serializers': $p['value serializers'],
356
- })], () => ['not set', null])]),
357
- })])]),
358
- 'return': _pa.cc($['return'], ($) => (0, exports.Type)($, {
359
- 'value serializers': $p['value serializers'],
360
- })),
361
- 'type parameters': _pa.cc($['type parameters'], ($) => ['list', $.map(($) => ['text', ({
362
- 'delimiter': ['quote', null],
363
- 'value': $,
364
- })])]),
365
- })],
366
- }));
367
- case 'literal type': return _pa.ss($, ($) => ({
368
- 'state': "literal type",
369
- 'value': (0, exports.String_Literal)($, {
370
- 'value serializers': $p['value serializers'],
371
- }),
372
- }));
373
- case 'null': return _pa.ss($, ($) => ({
374
- 'state': "null",
375
- 'value': ['nothing', null],
376
- }));
377
- case 'number': return _pa.ss($, ($) => ({
378
- 'state': "number",
379
- 'value': ['nothing', null],
380
- }));
381
- case 'string': return _pa.ss($, ($) => ({
382
- 'state': "string",
383
- 'value': ['nothing', null],
384
- }));
385
- case 'tuple': return _pa.ss($, ($) => ({
386
- 'state': "tuple",
387
- 'value': ['verbose group', _pa.dictionary_literal({
388
- 'elements': _pa.cc($['elements'], ($) => ['list', $.map(($) => (0, exports.Type)($, {
389
- 'value serializers': $p['value serializers'],
390
- }))]),
391
- 'readonly': _pa.cc($['readonly'], ($) => ['text', ({
392
- 'delimiter': ['backtick', null],
393
- 'value': $p['value serializers']['boolean']($, null),
394
- })]),
395
- })],
396
- }));
397
- case 'type literal': return _pa.ss($, ($) => ({
398
- 'state': "type literal",
399
- 'value': ['verbose group', _pa.dictionary_literal({
400
- 'properties': _pa.cc($['properties'], ($) => ['dictionary', $.map(($) => ['verbose group', _pa.dictionary_literal({
401
- 'readonly': _pa.cc($['readonly'], ($) => ['text', ({
402
- 'delimiter': ['backtick', null],
403
- 'value': $p['value serializers']['boolean']($, null),
404
- })]),
405
- 'type': _pa.cc($['type'], ($) => (0, exports.Type)($, {
406
- 'value serializers': $p['value serializers'],
407
- })),
408
- })])]),
409
- })],
410
- }));
411
- case 'type reference': return _pa.ss($, ($) => ({
412
- 'state': "type reference",
413
- 'value': ['verbose group', _pa.dictionary_literal({
414
- 'start': _pa.cc($['start'], ($) => ['text', ({
415
- 'delimiter': ['quote', null],
416
- 'value': $,
417
- })]),
418
- 'tail': _pa.cc($['tail'], ($) => ['list', $.map(($) => ['text', ({
419
- 'delimiter': ['quote', null],
420
- 'value': $,
421
- })])]),
422
- 'type arguments': _pa.cc($['type arguments'], ($) => ['list', $.map(($) => (0, exports.Type)($, {
423
- 'value serializers': $p['value serializers'],
424
- }))]),
425
- })],
426
- }));
427
- case 'union': return _pa.ss($, ($) => ({
428
- 'state': "union",
429
- 'value': ['list', $.map(($) => (0, exports.Type)($, {
430
- 'value serializers': $p['value serializers'],
431
- }))],
432
- }));
433
- case 'void': return _pa.ss($, ($) => ({
434
- 'state': "void",
435
- 'value': ['nothing', null],
436
- }));
437
- default: return _pa.au($[0]);
438
- }
439
- })];
440
- exports.Type = Type;
441
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyc2hhbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL2ltcGxlbWVudGF0aW9uL3NjaGVtYXMvdHlwZXNjcmlwdF9saWdodC9tYXJzaGFsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUF1QztBQU9oQyxNQUFNLEtBQUssR0FBMkIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFBLGtCQUFVLEVBQ3BGLENBQUMsRUFDRDtRQUNJLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztLQUMvQyxDQUNKLENBQUMsQ0FBQyxDQUFBO0FBTFUsUUFBQSxLQUFLLFNBS2Y7QUFDSSxNQUFNLFVBQVUsR0FBZ0MsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBNEIsRUFBRTtRQUNsSCxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1gsS0FBSyxRQUFRLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNwQyxPQUFPLEVBQUUsUUFBUTtnQkFDakIsT0FBTyxFQUFFLElBQUEsYUFBSyxFQUNWLENBQUMsRUFDRDtvQkFDSSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQy9DLENBQ0o7YUFDSixDQUFDLENBQUMsQ0FBQTtZQUNILEtBQUssU0FBUyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxF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