astn 0.112.0 → 0.113.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/bin/convert_to_json.js +0 -0
  2. package/dist/bin/validate_astn.js +0 -0
  3. package/dist/implementation/algorithms/procedures/unguaranteed/convert_to_json.d.ts +2 -1
  4. package/dist/implementation/algorithms/procedures/unguaranteed/convert_to_json.js +1 -1
  5. package/dist/implementation/algorithms/procedures/unguaranteed/validate_astn.d.ts +2 -1
  6. package/dist/implementation/algorithms/procedures/unguaranteed/validate_astn.js +1 -1
  7. package/dist/implementation/generated/pareto/generic/parse/string_iterator.js +2 -2
  8. package/dist/implementation/generated/pareto/generic/resolve.js +3 -3
  9. package/dist/interface/generated/pareto/core/resolve.d.ts +1 -1
  10. package/dist/interface/generated/pareto/core/resolved.d.ts +3 -3
  11. package/package.json +8 -15
  12. package/dist/exceptional/authoring_parse/ast/helpers.d.ts +0 -10
  13. package/dist/exceptional/authoring_parse/ast/helpers.js +0 -45
  14. package/dist/exceptional/authoring_parse/ast.d.ts +0 -10
  15. package/dist/exceptional/authoring_parse/ast.js +0 -266
  16. package/dist/exceptional/authoring_parse/astn_parse_generic.d.ts +0 -14
  17. package/dist/exceptional/authoring_parse/astn_parse_generic.js +0 -50
  18. package/dist/exceptional/authoring_parse/iterators/characters.d.ts +0 -36
  19. package/dist/exceptional/authoring_parse/iterators/characters.js +0 -113
  20. package/dist/exceptional/authoring_parse/iterators/string_iterator.d.ts +0 -36
  21. package/dist/exceptional/authoring_parse/iterators/string_iterator.js +0 -113
  22. package/dist/exceptional/authoring_parse/iterators/token_iterator.d.ts +0 -17
  23. package/dist/exceptional/authoring_parse/iterators/token_iterator.js +0 -50
  24. package/dist/exceptional/authoring_parse/iterators/tokens.d.ts +0 -22
  25. package/dist/exceptional/authoring_parse/iterators/tokens.js +0 -61
  26. package/dist/exceptional/authoring_parse/refine_guard.d.ts +0 -3
  27. package/dist/exceptional/authoring_parse/refine_guard.js +0 -48
  28. package/dist/exceptional/authoring_parse/refiners/ast.d.ts +0 -10
  29. package/dist/exceptional/authoring_parse/refiners/ast.js +0 -266
  30. package/dist/exceptional/authoring_parse/refiners/token.d.ts +0 -9
  31. package/dist/exceptional/authoring_parse/refiners/token.js +0 -519
  32. package/dist/exceptional/authoring_parse/string_iterator.d.ts +0 -36
  33. package/dist/exceptional/authoring_parse/string_iterator.js +0 -113
  34. package/dist/exceptional/authoring_parse/token.d.ts +0 -9
  35. package/dist/exceptional/authoring_parse/token.js +0 -519
  36. package/dist/exceptional/authoring_parse/token_iterator.d.ts +0 -5
  37. package/dist/exceptional/authoring_parse/token_iterator.js +0 -3
  38. package/dist/exceptional/authoring_parse/tokens/helpers.d.ts +0 -3
  39. package/dist/exceptional/authoring_parse/tokens/helpers.js +0 -14
  40. package/dist/exceptional/sealed_parse/ast.d.ts +0 -10
  41. package/dist/exceptional/sealed_parse/ast.js +0 -245
  42. package/dist/exceptional/sealed_parse/astn_parse_generic.d.ts +0 -13
  43. package/dist/exceptional/sealed_parse/astn_parse_generic.js +0 -50
  44. package/dist/exceptional/sealed_parse/parse.d.ts +0 -6
  45. package/dist/exceptional/sealed_parse/parse.js +0 -65
  46. package/dist/exceptional/sealed_parse/string_iterator.d.ts +0 -41
  47. package/dist/exceptional/sealed_parse/string_iterator.js +0 -113
  48. package/dist/exceptional/sealed_parse/token.d.ts +0 -9
  49. package/dist/exceptional/sealed_parse/token.js +0 -519
  50. package/dist/exceptional/serializers/astn.d.ts +0 -0
  51. package/dist/exceptional/serializers/astn.js +0 -28
  52. package/dist/exceptional/serializers/parse_result.d.ts +0 -5
  53. package/dist/exceptional/serializers/parse_result.js +0 -90
  54. package/dist/implementation/generated/pareto/schemas/sealed_ast/marshall.d.ts +0 -7
  55. package/dist/implementation/generated/pareto/schemas/sealed_ast/marshall.js +0 -208
  56. package/dist/implementation/generated/pareto/schemas/sealed_ast/unmarshall.d.ts +0 -7
  57. package/dist/implementation/generated/pareto/schemas/sealed_ast/unmarshall.js +0 -279
  58. package/dist/implementation/generated/pareto/schemas/sealed_parse_result/marshall.d.ts +0 -3
  59. package/dist/implementation/generated/pareto/schemas/sealed_parse_result/marshall.js +0 -188
  60. package/dist/implementation/generated/pareto/schemas/sealed_parse_result/unmarshall.d.ts +0 -3
  61. package/dist/implementation/generated/pareto/schemas/sealed_parse_result/unmarshall.js +0 -116
  62. package/dist/interface/generated/pareto/schemas/sealed_ast/data_types/resolve.d.ts +0 -1
  63. package/dist/interface/generated/pareto/schemas/sealed_ast/data_types/resolve.js +0 -7
  64. package/dist/interface/generated/pareto/schemas/sealed_ast/data_types/source.d.ts +0 -730
  65. package/dist/interface/generated/pareto/schemas/sealed_ast/data_types/source.js +0 -3
  66. package/dist/interface/generated/pareto/schemas/sealed_ast/data_types/target.d.ts +0 -730
  67. package/dist/interface/generated/pareto/schemas/sealed_ast/data_types/target.js +0 -3
  68. package/dist/interface/generated/pareto/schemas/sealed_ast/marshall.d.ts +0 -183
  69. package/dist/interface/generated/pareto/schemas/sealed_ast/marshall.js +0 -3
  70. package/dist/interface/generated/pareto/schemas/sealed_ast/migrate_boilerplate.d.ts +0 -134
  71. package/dist/interface/generated/pareto/schemas/sealed_ast/migrate_boilerplate.js +0 -3
  72. package/dist/interface/generated/pareto/schemas/sealed_ast/unmarshall.d.ts +0 -183
  73. package/dist/interface/generated/pareto/schemas/sealed_ast/unmarshall.js +0 -3
  74. package/dist/interface/generated/pareto/schemas/sealed_ast/value_deserializers.d.ts +0 -44
  75. package/dist/interface/generated/pareto/schemas/sealed_ast/value_deserializers.js +0 -3
  76. package/dist/interface/generated/pareto/schemas/sealed_ast/value_serializers.d.ts +0 -44
  77. package/dist/interface/generated/pareto/schemas/sealed_ast/value_serializers.js +0 -3
  78. package/dist/interface/generated/pareto/schemas/sealed_parse_result/data_types/resolve.d.ts +0 -1
  79. package/dist/interface/generated/pareto/schemas/sealed_parse_result/data_types/resolve.js +0 -7
  80. package/dist/interface/generated/pareto/schemas/sealed_parse_result/data_types/source.d.ts +0 -270
  81. package/dist/interface/generated/pareto/schemas/sealed_parse_result/data_types/source.js +0 -3
  82. package/dist/interface/generated/pareto/schemas/sealed_parse_result/data_types/target.d.ts +0 -270
  83. package/dist/interface/generated/pareto/schemas/sealed_parse_result/data_types/target.js +0 -3
  84. package/dist/interface/generated/pareto/schemas/sealed_parse_result/marshall.d.ts +0 -63
  85. package/dist/interface/generated/pareto/schemas/sealed_parse_result/marshall.js +0 -3
  86. package/dist/interface/generated/pareto/schemas/sealed_parse_result/migrate_boilerplate.d.ts +0 -46
  87. package/dist/interface/generated/pareto/schemas/sealed_parse_result/migrate_boilerplate.js +0 -3
  88. package/dist/interface/generated/pareto/schemas/sealed_parse_result/unmarshall.d.ts +0 -63
  89. package/dist/interface/generated/pareto/schemas/sealed_parse_result/unmarshall.js +0 -3
  90. package/dist/interface/generated/pareto/schemas/sealed_parse_result/value_deserializers.d.ts +0 -44
  91. package/dist/interface/generated/pareto/schemas/sealed_parse_result/value_deserializers.js +0 -3
  92. package/dist/interface/generated/pareto/schemas/sealed_parse_result/value_serializers.d.ts +0 -44
  93. package/dist/interface/generated/pareto/schemas/sealed_parse_result/value_serializers.js +0 -3
@@ -1,14 +0,0 @@
1
- import * as _et from 'exupery-core-types';
2
- import * as string_iterator from "./string_iterator";
3
- import * as token_iterator from "./token_iterator";
4
- import * as _source from "../../interface/generated/pareto/schemas/token/data_types/source";
5
- import * as d_parse_result from "../../interface/generated/pareto/schemas/authoring_parse_result/data_types/target";
6
- export declare class Parse_Error_Class {
7
- readonly type: d_parse_result.Parse_Error._type;
8
- readonly range: _source.Range;
9
- constructor(type: d_parse_result.Parse_Error._type, range: _source.Range);
10
- }
11
- export declare const throw_lexer_error: (type: d_parse_result.Parse_Error._type.SG.lexer, range: _source.Range) => never;
12
- export declare const throw_unexpected_token: (found: _source.Annotated_Token, expected: _et.Array<d_parse_result.Parse_Error._type.SG.parser.expected.L>) => never;
13
- export type ASTN_Token_Iterator = token_iterator.Token_Iterator<d_parse_result.Parse_Error._type.SG.parser.expected.L, _source.Annotated_Token>;
14
- export declare const create_astn_token_iterator: ($: _source.Tokenizer_Result.tokens, end: string_iterator.Iterator_Location) => ASTN_Token_Iterator;
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.create_astn_token_iterator = exports.throw_unexpected_token = exports.throw_lexer_error = exports.Parse_Error_Class = void 0;
4
- class Parse_Error_Class {
5
- type;
6
- range;
7
- constructor(type, range) {
8
- this.type = type;
9
- this.range = range;
10
- }
11
- }
12
- exports.Parse_Error_Class = Parse_Error_Class;
13
- const throw_parse_error = (type, range) => {
14
- throw new Parse_Error_Class(type, range);
15
- };
16
- const throw_lexer_error = (type, range) => {
17
- throw new Parse_Error_Class(['lexer', type], range);
18
- };
19
- exports.throw_lexer_error = throw_lexer_error;
20
- const throw_unexpected_token = (found, expected) => {
21
- return throw_parse_error(['parser', {
22
- 'expected': expected,
23
- 'cause': ['unexpected token', {
24
- 'found': found.type,
25
- }]
26
- }], {
27
- 'start': found.start,
28
- 'end': found.end
29
- });
30
- };
31
- exports.throw_unexpected_token = throw_unexpected_token;
32
- const create_astn_token_iterator = ($, end) => {
33
- let position = 0;
34
- return {
35
- 'get required token': (pet) => {
36
- return $.__get_element_at(position).transform(($) => $, () => throw_parse_error(['parser', {
37
- 'expected': pet,
38
- 'cause': ['missing token', null]
39
- }], {
40
- 'start': end,
41
- 'end': end,
42
- }));
43
- },
44
- 'consume token': () => {
45
- position += 1;
46
- },
47
- };
48
- };
49
- exports.create_astn_token_iterator = create_astn_token_iterator;
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0bl9wYXJzZV9nZW5lcmljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2V4Y2VwdGlvbmFsL2F1dGhvcmluZ19wYXJzZS9hc3RuX3BhcnNlX2dlbmVyaWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBU0EsTUFBYSxpQkFBaUI7SUFHTjtJQUNBO0lBRnBCLFlBQ29CLElBQXNDLEVBQ3RDLEtBQW9CO1FBRHBCLFNBQUksR0FBSixJQUFJLENBQWtDO1FBQ3RDLFVBQUssR0FBTCxLQUFLLENBQWU7SUFFdkMsQ0FBQztDQUNMO0FBUEQsOENBT0M7QUFFRCxNQUFNLGlCQUFpQixHQUFHLENBQ3RCLElBQXNDLEVBQ3RDLEtBQW9CLEVBQ2YsRUFBRTtJQUNQLE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUE7QUFDNUMsQ0FBQyxDQUFBO0FBRU0sTUFBTSxpQkFBaUIsR0FBRyxDQUM3QixJQUErQyxFQUMvQyxLQUFvQixFQUNmLEVBQUU7SUFDUCxNQUFNLElBQUksaUJBQWlCLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7QUFDdkQsQ0FBQyxDQUFBO0FBTFksUUFBQSxpQkFBaUIscUJBSzdCO0FBRU0sTUFBTSxzQkFBc0IsR0FBRyxDQUNsQyxLQUE4QixFQUM5QixRQUEwRSxFQUNyRSxFQUFFO0lBQ1AsT0FBTyxpQkFBaUIsQ0FDcEIsQ0FBQyxRQUFRLEVBQUU7WUFDUCxVQUFVLEVBQUUsUUFBUTtZQUNwQixPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRTtvQkFDMUIsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJO2lCQUN0QixDQUFDO1NBQ0wsQ0FBQyxFQUNGO1FBQ0ksT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLO1FBQ3BCLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRztLQUNuQixDQUNKLENBQUE7QUFDTCxDQUFDLENBQUE7QUFoQlksUUFBQSxzQkFBc0IsMEJBZ0JsQztBQUlNLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxDQUFrQyxFQUFFLEdBQXNDLEVBQXVCLEVBQUU7SUFDMUksSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFBO0lBQ2hCLE9BQU87UUFDSCxvQkFBb0IsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzFCLE9BQU8sQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FDekMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDUixHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FDbkIsQ0FBQyxRQUFRLEVBQUU7b0JBQ1AsVUFBVSxFQUFFLEdBQUc7b0JBQ2YsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQztpQkFDbkMsQ0FBQyxFQUNGO2dCQUNJLE9BQU8sRUFBRSxHQUFHO2dCQUNaLEtBQUssRUFBRSxHQUFHO2FBQ2IsQ0FDSixDQUNKLENBQUE7UUFDTCxDQUFDO1FBQ0QsZUFBZSxFQUFFLEdBQUcsRUFBRTtZQUNsQixRQUFRLElBQUksQ0FBQyxDQUFBO1FBQ2pCLENBQUM7S0FDSixDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBdEJZLFFBQUEsMEJBQTBCLDhCQXNCdEMifQ==
@@ -1,36 +0,0 @@
1
- export type Iterator_Location = {
2
- 'absolute': number;
3
- 'relative': {
4
- 'line': number;
5
- 'column': number;
6
- };
7
- };
8
- export type Characters_Iterator = {
9
- 'consume character': () => void;
10
- 'consume string': ($: string) => void;
11
- /**
12
- * returns the current character, or null if the end of the string has been reached.
13
- * equivalent to `look ahead(0)`
14
- */
15
- 'get current character': () => number | null;
16
- 'look ahead': ($: number) => number | null;
17
- 'create offset location info': (subtract: number) => Iterator_Location;
18
- 'create location info': () => Iterator_Location;
19
- 'create location info string': () => string;
20
- /**
21
- * if no non-whitespace character has been found yet on the current line,
22
- * this will return the current column,
23
- * otherwise it will return the offset of that first non-whitespace character
24
- * (which is the indentation of the line)
25
- */
26
- 'get line indentation': () => number;
27
- 'starts with': ($: string) => boolean;
28
- };
29
- export declare const is_control_character: ($: number) => boolean;
30
- /**
31
- * Creates a string iterator that allows iterating over characters in a string,
32
- * while keeping track of line numbers, columns, and line indentation.
33
- */
34
- export declare const create_string_iterator: ($: string, $p: {
35
- "tab size": number;
36
- }) => Characters_Iterator;
@@ -1,113 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.create_string_iterator = exports.is_control_character = void 0;
4
- const to_character_list_1 = require("exupery-standard-library/dist/implementation/operations/impure/text/to_character_list");
5
- const starts_with_1 = require("exupery-standard-library/dist/implementation/operations/impure/text/starts_with");
6
- const WhitespaceChars = {
7
- tab: 0x09, // \t
8
- line_feed: 0x0A, // \n
9
- carriage_return: 0x0D, // \r
10
- space: 0x20, //
11
- };
12
- const is_control_character = ($) => {
13
- return ($ < 0x20 && $ !== WhitespaceChars.tab && $ !== WhitespaceChars.line_feed && $ !== WhitespaceChars.carriage_return);
14
- };
15
- exports.is_control_character = is_control_character;
16
- /**
17
- * Creates a string iterator that allows iterating over characters in a string,
18
- * while keeping track of line numbers, columns, and line indentation.
19
- */
20
- const create_string_iterator = ($, $p) => {
21
- const source = $;
22
- const characters = (0, to_character_list_1.$$)($);
23
- const length = characters.__get_length();
24
- let found_carriage_return_before = false;
25
- let position = 0;
26
- let relative_position = {
27
- 'line': 0,
28
- 'column': 0,
29
- 'line indentation': null
30
- };
31
- const consume_character = () => {
32
- const c = characters.__get_element_at(position);
33
- const start = relative_position;
34
- relative_position = c.transform(($) => {
35
- return $ === WhitespaceChars.line_feed
36
- ? {
37
- 'line': relative_position.line + 1,
38
- 'column': 0,
39
- 'line indentation': null,
40
- }
41
- : found_carriage_return_before
42
- ? {
43
- 'line': relative_position.line + 1,
44
- 'column': 0,
45
- 'line indentation': null,
46
- }
47
- : {
48
- 'line': relative_position.line,
49
- 'column': relative_position['column'] + ($ === WhitespaceChars.tab
50
- ? $p['tab size']
51
- : 1),
52
- 'line indentation': relative_position['line indentation'] !== null
53
- ? relative_position['line indentation']
54
- : $ === WhitespaceChars.space || $ === WhitespaceChars.tab
55
- ? null
56
- : relative_position['column'],
57
- };
58
- }, () => relative_position //this is weird, we were already at the end of the list
59
- );
60
- found_carriage_return_before = c.transform(($) => $ === WhitespaceChars.carriage_return, () => false);
61
- position += 1;
62
- };
63
- return {
64
- 'consume string': ($) => {
65
- (0, to_character_list_1.$$)($).__for_each(() => {
66
- consume_character();
67
- });
68
- },
69
- 'consume character': consume_character,
70
- 'get current character': () => {
71
- if (position === length) {
72
- return null;
73
- }
74
- return characters.__get_element_at(position).transform(($) => $, () => null);
75
- },
76
- 'look ahead': ($) => {
77
- const next_position = position + $;
78
- if (next_position >= length) {
79
- return null;
80
- }
81
- return characters.__get_element_at(next_position).transform(($) => $, () => null);
82
- },
83
- 'create location info': () => {
84
- return {
85
- 'absolute': position,
86
- 'relative': {
87
- 'line': relative_position.line,
88
- 'column': relative_position['column'],
89
- }
90
- };
91
- },
92
- 'create offset location info': (subtract) => {
93
- return {
94
- 'absolute': position - subtract,
95
- 'relative': {
96
- 'line': relative_position.line,
97
- 'column': relative_position['column'] - subtract,
98
- }
99
- };
100
- },
101
- 'create location info string': () => `${relative_position.line}:${relative_position['column']}`,
102
- 'get line indentation': () => {
103
- return relative_position['line indentation'] !== null
104
- ? relative_position['line indentation']
105
- : relative_position['column'];
106
- },
107
- 'starts with': ($) => {
108
- return (0, starts_with_1.$$)(source, $, position);
109
- }
110
- };
111
- };
112
- exports.create_string_iterator = create_string_iterator;
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcmFjdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9leGNlcHRpb25hbC9hdXRob3JpbmdfcGFyc2UvaXRlcmF0b3JzL2NoYXJhY3RlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBcUNBLDZIQUFrSTtBQUNsSSxpSEFBc0g7QUFFdEgsTUFBTSxlQUFlLEdBQUc7SUFDcEIsR0FBRyxFQUFFLElBQUksRUFBbUIsS0FBSztJQUNqQyxTQUFTLEVBQUUsSUFBSSxFQUFhLEtBQUs7SUFDakMsZUFBZSxFQUFFLElBQUksRUFBTyxLQUFLO0lBQ2pDLEtBQUssRUFBRSxJQUFJLEVBQWlCLEVBQUU7Q0FDakMsQ0FBQTtBQUVNLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxDQUFTLEVBQVcsRUFBRTtJQUN2RCxPQUFPLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssZUFBZSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssZUFBZSxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFBO0FBQzlILENBQUMsQ0FBQTtBQUZZLFFBQUEsb0JBQW9CLHdCQUVoQztBQUVEOzs7R0FHRztBQUVJLE1BQU0sc0JBQXNCLEdBQUcsQ0FDbEMsQ0FBUyxFQUNULEVBRUMsRUFDa0IsRUFBRTtJQUNyQixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUE7SUFDaEIsTUFBTSxVQUFVLEdBQUcsSUFBQSxzQkFBb0IsRUFBQyxDQUFDLENBQUMsQ0FBQTtJQUMxQyxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUE7SUFReEMsSUFBSSw0QkFBNEIsR0FBRyxLQUFLLENBQUE7SUFDeEMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFBO0lBQ2hCLElBQUksaUJBQWlCLEdBQWtDO1FBQ25ELE1BQU0sRUFBRSxDQUFDO1FBQ1QsUUFBUSxFQUFFLENBQUM7UUFDWCxrQkFBa0IsRUFBRSxJ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
@@ -1,36 +0,0 @@
1
- export type Iterator_Location = {
2
- 'absolute': number;
3
- 'relative': {
4
- 'line': number;
5
- 'column': number;
6
- };
7
- };
8
- export type String_Iterator = {
9
- 'consume character': () => void;
10
- 'consume string': ($: string) => void;
11
- /**
12
- * returns the current character, or null if the end of the string has been reached.
13
- * equivalent to `look ahead(0)`
14
- */
15
- 'get current character': () => number | null;
16
- 'look ahead': ($: number) => number | null;
17
- 'create offset location info': (subtract: number) => Iterator_Location;
18
- 'create location info': () => Iterator_Location;
19
- 'create location info string': () => string;
20
- /**
21
- * if no non-whitespace character has been found yet on the current line,
22
- * this will return the current column,
23
- * otherwise it will return the offset of that first non-whitespace character
24
- * (which is the indentation of the line)
25
- */
26
- 'get line indentation': () => number;
27
- 'starts with': ($: string) => boolean;
28
- };
29
- export declare const is_control_character: ($: number) => boolean;
30
- /**
31
- * Creates a string iterator that allows iterating over characters in a string,
32
- * while keeping track of line numbers, columns, and line indentation.
33
- */
34
- export declare const create_string_iterator: ($: string, $p: {
35
- "tab size": number;
36
- }) => String_Iterator;
@@ -1,113 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.create_string_iterator = exports.is_control_character = void 0;
4
- const to_character_list_1 = require("exupery-standard-library/dist/implementation/operations/impure/text/to_character_list");
5
- const starts_with_1 = require("exupery-standard-library/dist/implementation/operations/impure/text/starts_with");
6
- const WhitespaceChars = {
7
- tab: 0x09, // \t
8
- line_feed: 0x0A, // \n
9
- carriage_return: 0x0D, // \r
10
- space: 0x20, //
11
- };
12
- const is_control_character = ($) => {
13
- return ($ < 0x20 && $ !== WhitespaceChars.tab && $ !== WhitespaceChars.line_feed && $ !== WhitespaceChars.carriage_return);
14
- };
15
- exports.is_control_character = is_control_character;
16
- /**
17
- * Creates a string iterator that allows iterating over characters in a string,
18
- * while keeping track of line numbers, columns, and line indentation.
19
- */
20
- const create_string_iterator = ($, $p) => {
21
- const source = $;
22
- const characters = (0, to_character_list_1.$$)($);
23
- const length = characters.__get_length();
24
- let found_carriage_return_before = false;
25
- let position = 0;
26
- let relative_position = {
27
- 'line': 0,
28
- 'column': 0,
29
- 'line indentation': null
30
- };
31
- const consume_character = () => {
32
- const c = characters.__get_element_at(position);
33
- const start = relative_position;
34
- relative_position = c.transform(($) => {
35
- return $ === WhitespaceChars.line_feed
36
- ? {
37
- 'line': relative_position.line + 1,
38
- 'column': 0,
39
- 'line indentation': null,
40
- }
41
- : found_carriage_return_before
42
- ? {
43
- 'line': relative_position.line + 1,
44
- 'column': 0,
45
- 'line indentation': null,
46
- }
47
- : {
48
- 'line': relative_position.line,
49
- 'column': relative_position['column'] + ($ === WhitespaceChars.tab
50
- ? $p['tab size']
51
- : 1),
52
- 'line indentation': relative_position['line indentation'] !== null
53
- ? relative_position['line indentation']
54
- : $ === WhitespaceChars.space || $ === WhitespaceChars.tab
55
- ? null
56
- : relative_position['column'],
57
- };
58
- }, () => relative_position //this is weird, we were already at the end of the list
59
- );
60
- found_carriage_return_before = c.transform(($) => $ === WhitespaceChars.carriage_return, () => false);
61
- position += 1;
62
- };
63
- return {
64
- 'consume string': ($) => {
65
- (0, to_character_list_1.$$)($).__for_each(() => {
66
- consume_character();
67
- });
68
- },
69
- 'consume character': consume_character,
70
- 'get current character': () => {
71
- if (position === length) {
72
- return null;
73
- }
74
- return characters.__get_element_at(position).transform(($) => $, () => null);
75
- },
76
- 'look ahead': ($) => {
77
- const next_position = position + $;
78
- if (next_position >= length) {
79
- return null;
80
- }
81
- return characters.__get_element_at(next_position).transform(($) => $, () => null);
82
- },
83
- 'create location info': () => {
84
- return {
85
- 'absolute': position,
86
- 'relative': {
87
- 'line': relative_position.line,
88
- 'column': relative_position['column'],
89
- }
90
- };
91
- },
92
- 'create offset location info': (subtract) => {
93
- return {
94
- 'absolute': position - subtract,
95
- 'relative': {
96
- 'line': relative_position.line,
97
- 'column': relative_position['column'] - subtract,
98
- }
99
- };
100
- },
101
- 'create location info string': () => `${relative_position.line}:${relative_position['column']}`,
102
- 'get line indentation': () => {
103
- return relative_position['line indentation'] !== null
104
- ? relative_position['line indentation']
105
- : relative_position['column'];
106
- },
107
- 'starts with': ($) => {
108
- return (0, starts_with_1.$$)(source, $, position);
109
- }
110
- };
111
- };
112
- exports.create_string_iterator = create_string_iterator;
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nX2l0ZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2V4Y2VwdGlvbmFsL2F1dGhvcmluZ19wYXJzZS9pdGVyYXRvcnMvc3RyaW5nX2l0ZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXFDQSw2SEFBa0k7QUFDbEksaUhBQXNIO0FBRXRILE1BQU0sZUFBZSxHQUFHO0lBQ3BCLEdBQUcsRUFBRSxJQUFJLEVBQW1CLEtBQUs7SUFDakMsU0FBUyxFQUFFLElBQUksRUFBYSxLQUFLO0lBQ2pDLGVBQWUsRUFBRSxJQUFJLEVBQU8sS0FBSztJQUNqQyxLQUFLLEVBQUUsSUFBSSxFQUFpQixFQUFFO0NBQ2pDLENBQUE7QUFFTSxNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBUyxFQUFXLEVBQUU7SUFDdkQsT0FBTyxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLGVBQWUsQ0FBQyxTQUFTLElBQUksQ0FBQyxLQUFLLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQTtBQUM5SCxDQUFDLENBQUE7QUFGWSxRQUFBLG9CQUFvQix3QkFFaEM7QUFFRDs7O0dBR0c7QUFFSSxNQUFNLHNCQUFzQixHQUFHLENBQ2xDLENBQVMsRUFDVCxFQUVDLEVBQ2MsRUFBRTtJQUNqQixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUE7SUFDaEIsTUFBTSxVQUFVLEdBQUcsSUFBQSxzQkFBb0IsRUFBQyxDQUFDLENBQUMsQ0FBQTtJQUMxQyxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUE7SUFReEMsSUFBSSw0QkFBNEIsR0FBRyxLQUFLLENBQUE7SUFDeEMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFBO0lBQ2hCLElBQUksaUJBQWlCLEdBQWtDO1FBQ25ELE1BQU0sRUFBRSxDQUFDO1FBQ1QsUUFBUSxFQUFFLENBQUM7UUFDWCxrQkFB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
@@ -1,17 +0,0 @@
1
- import * as _et from 'exupery-core-types';
2
- import * as string_iterator from "./string_iterator";
3
- import * as _source from "../../../interface/generated/pareto/schemas/token/data_types/source";
4
- import * as d_parse_result from "../../../interface/generated/pareto/schemas/authoring_parse_result/data_types/target";
5
- export type Token_Iterator<Expected, Token> = {
6
- 'get required token': (expected: _et.Array<Expected>) => Token;
7
- 'consume token': () => void;
8
- };
9
- export declare class Parse_Error_Class {
10
- readonly type: d_parse_result.Parse_Error._type;
11
- readonly range: _source.Range;
12
- constructor(type: d_parse_result.Parse_Error._type, range: _source.Range);
13
- }
14
- export declare const throw_lexer_error: (type: d_parse_result.Parse_Error._type.SG.lexer, range: _source.Range) => never;
15
- export declare const throw_unexpected_token: (found: _source.Annotated_Token, expected: _et.Array<d_parse_result.Parse_Error._type.SG.parser.expected.L>) => never;
16
- export type ASTN_Token_Iterator = Token_Iterator<d_parse_result.Parse_Error._type.SG.parser.expected.L, _source.Annotated_Token>;
17
- export declare const create_astn_token_iterator: ($: _source.Tokenizer_Result.tokens, end: string_iterator.Iterator_Location) => ASTN_Token_Iterator;
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.create_astn_token_iterator = exports.throw_unexpected_token = exports.throw_lexer_error = exports.Parse_Error_Class = void 0;
4
- class Parse_Error_Class {
5
- type;
6
- range;
7
- constructor(type, range) {
8
- this.type = type;
9
- this.range = range;
10
- }
11
- }
12
- exports.Parse_Error_Class = Parse_Error_Class;
13
- const throw_parse_error = (type, range) => {
14
- throw new Parse_Error_Class(type, range);
15
- };
16
- const throw_lexer_error = (type, range) => {
17
- throw new Parse_Error_Class(['lexer', type], range);
18
- };
19
- exports.throw_lexer_error = throw_lexer_error;
20
- const throw_unexpected_token = (found, expected) => {
21
- return throw_parse_error(['parser', {
22
- 'expected': expected,
23
- 'cause': ['unexpected token', {
24
- 'found': found.type,
25
- }]
26
- }], {
27
- 'start': found.start,
28
- 'end': found.end
29
- });
30
- };
31
- exports.throw_unexpected_token = throw_unexpected_token;
32
- const create_astn_token_iterator = ($, end) => {
33
- let position = 0;
34
- return {
35
- 'get required token': (pet) => {
36
- return $.__get_element_at(position).transform(($) => $, () => throw_parse_error(['parser', {
37
- 'expected': pet,
38
- 'cause': ['missing token', null]
39
- }], {
40
- 'start': end,
41
- 'end': end,
42
- }));
43
- },
44
- 'consume token': () => {
45
- position += 1;
46
- },
47
- };
48
- };
49
- exports.create_astn_token_iterator = create_astn_token_iterator;
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5faXRlcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZXhjZXB0aW9uYWwvYXV0aG9yaW5nX3BhcnNlL2l0ZXJhdG9ycy90b2tlbl9pdGVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFhQSxNQUFhLGlCQUFpQjtJQUdOO0lBQ0E7SUFGcEIsWUFDb0IsSUFBc0MsRUFDdEMsS0FBb0I7UUFEcEIsU0FBSSxHQUFKLElBQUksQ0FBa0M7UUFDdEMsVUFBSyxHQUFMLEtBQUssQ0FBZTtJQUV2QyxDQUFDO0NBQ0w7QUFQRCw4Q0FPQztBQUVELE1BQU0saUJBQWlCLEdBQUcsQ0FDdEIsSUFBc0MsRUFDdEMsS0FBb0IsRUFDZixFQUFFO0lBQ1AsTUFBTSxJQUFJLGlCQUFpQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQTtBQUM1QyxDQUFDLENBQUE7QUFFTSxNQUFNLGlCQUFpQixHQUFHLENBQzdCLElBQStDLEVBQy9DLEtBQW9CLEVBQ2YsRUFBRTtJQUNQLE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQTtBQUN2RCxDQUFDLENBQUE7QUFMWSxRQUFBLGlCQUFpQixxQkFLN0I7QUFFTSxNQUFNLHNCQUFzQixHQUFHLENBQ2xDLEtBQThCLEVBQzlCLFFBQTBFLEVBQ3JFLEVBQUU7SUFDUCxPQUFPLGlCQUFpQixDQUNwQixDQUFDLFFBQVEsRUFBRTtZQUNQLFVBQVUsRUFBRSxRQUFRO1lBQ3BCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFO29CQUMxQixPQUFPLEVBQUUsS0FBSyxDQUFDLElBQUk7aUJBQ3RCLENBQUM7U0FDTCxDQUFDLEVBQ0Y7UUFDSSxPQUFPLEVBQUUsS0FBSyxDQUFDLEtBQUs7UUFDcEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHO0tBQ25CLENBQ0osQ0FBQTtBQUNMLENBQUMsQ0FBQTtBQWhCWSxRQUFBLHNCQUFzQiwwQkFnQmxDO0FBSU0sTUFBTSwwQkFBMEIsR0FBRyxDQUFDLENBQWtDLEVBQUUsR0FBc0MsRUFBdUIsRUFBRTtJQUMxSSxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUE7SUFDaEIsT0FBTztRQUNILG9CQUFvQixFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDMUIsT0FBTyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUN6QyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUNSLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUNuQixDQUFDLFFBQVEsRUFBRTtvQkFDUCxVQUFVLEVBQUUsR0FBRztvQkFDZixPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDO2lCQUNuQyxDQUFDLEVBQ0Y7Z0JBQ0ksT0FBTyxFQUFFLEdBQUc7Z0JBQ1osS0FBSyxFQUFFLEdBQUc7YUFDYixDQUNKLENBQ0osQ0FBQTtRQUNMLENBQUM7UUFDRCxlQUFlLEVBQUUsR0FBRyxFQUFFO1lBQ2xCLFFBQVEsSUFBSSxDQUFDLENBQUE7UUFDakIsQ0FBQztLQUNKLENBQUE7QUFDTCxDQUFDLENBQUE7QUF0QlksUUFBQSwwQkFBMEIsOEJBc0J0QyJ9
@@ -1,22 +0,0 @@
1
- import * as _et from 'exupery-core-types';
2
- import * as string_iterator from "../tokens/iterator";
3
- import * as _source from "../../../interface/generated/pareto/schemas/token/data_types/source";
4
- import * as d_parse_result from "../../../interface/generated/pareto/schemas/authoring_parse_result/data_types/target";
5
- export type Token_Iterator<Token> = {
6
- 'get next token': () => _et.Optional_Value<Token>;
7
- 'get location': () => {
8
- 'start': string_iterator.Iterator_Location;
9
- 'end': string_iterator.Iterator_Location;
10
- };
11
- 'consume token': () => void;
12
- };
13
- export declare class Parse_Error_Class {
14
- readonly type: d_parse_result.Parse_Error._type;
15
- readonly range: _source.Range;
16
- constructor(type: d_parse_result.Parse_Error._type, range: _source.Range);
17
- }
18
- export declare const throw_lexer_error: (type: d_parse_result.Parse_Error._type.SG.lexer, range: _source.Range) => never;
19
- export declare const throw_unexpected_token: (found: _source.Annotated_Token, expected: _et.Array<d_parse_result.Parse_Error._type.SG.parser.expected.L>) => never;
20
- export declare const get_required_token: <Token>(token_iterator: Token_Iterator<Token>, expected: _et.Array<d_parse_result.Parse_Error._type.SG.parser.expected.L>) => Token;
21
- export type ASTN_Tokens_Iterator = Token_Iterator<_source.Annotated_Token>;
22
- export declare const create_astn_token_iterator: ($: _source.Tokenizer_Result.tokens, end: string_iterator.Iterator_Location) => ASTN_Tokens_Iterator;
@@ -1,61 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.create_astn_token_iterator = exports.get_required_token = exports.throw_unexpected_token = exports.throw_lexer_error = exports.Parse_Error_Class = void 0;
4
- class Parse_Error_Class {
5
- type;
6
- range;
7
- constructor(type, range) {
8
- this.type = type;
9
- this.range = range;
10
- }
11
- }
12
- exports.Parse_Error_Class = Parse_Error_Class;
13
- const throw_parse_error = (type, range) => {
14
- throw new Parse_Error_Class(type, range);
15
- };
16
- const throw_lexer_error = (type, range) => {
17
- throw new Parse_Error_Class(['lexer', type], range);
18
- };
19
- exports.throw_lexer_error = throw_lexer_error;
20
- const throw_unexpected_token = (found, expected) => {
21
- return throw_parse_error(['parser', {
22
- 'expected': expected,
23
- 'cause': ['unexpected token', {
24
- 'found': found.type,
25
- }]
26
- }], {
27
- 'start': found.start,
28
- 'end': found.end
29
- });
30
- };
31
- exports.throw_unexpected_token = throw_unexpected_token;
32
- const get_required_token = (token_iterator, expected) => {
33
- return token_iterator['get next token']().transform(($) => $, () => throw_parse_error(['parser', {
34
- 'expected': expected,
35
- 'cause': ['missing token', null]
36
- }], token_iterator['get location']()));
37
- };
38
- exports.get_required_token = get_required_token;
39
- const create_astn_token_iterator = ($, end) => {
40
- let position = 0;
41
- return {
42
- 'get next token': () => {
43
- return $.__get_element_at(position);
44
- },
45
- 'get location': () => {
46
- const current_token = $.__get_element_at(position);
47
- return current_token.transform(($) => ({
48
- 'start': $.start,
49
- 'end': $.end,
50
- }), () => ({
51
- 'start': end,
52
- 'end': end,
53
- }));
54
- },
55
- 'consume token': () => {
56
- position += 1;
57
- },
58
- };
59
- };
60
- exports.create_astn_token_iterator = create_astn_token_iterator;
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2V4Y2VwdGlvbmFsL2F1dGhvcmluZ19wYXJzZS9pdGVyYXRvcnMvdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWlCQSxNQUFhLGlCQUFpQjtJQUdOO0lBQ0E7SUFGcEIsWUFDb0IsSUFBc0MsRUFDdEMsS0FBb0I7UUFEcEIsU0FBSSxHQUFKLElBQUksQ0FBa0M7UUFDdEMsVUFBSyxHQUFMLEtBQUssQ0FBZTtJQUV4QyxDQUFDO0NBQ0o7QUFQRCw4Q0FPQztBQUVELE1BQU0saUJBQWlCLEdBQUcsQ0FDdEIsSUFBc0MsRUFDdEMsS0FBb0IsRUFDZixFQUFFO0lBQ1AsTUFBTSxJQUFJLGlCQUFpQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQTtBQUM1QyxDQUFDLENBQUE7QUFFTSxNQUFNLGlCQUFpQixHQUFHLENBQzdCLElBQStDLEVBQy9DLEtBQW9CLEVBQ2YsRUFBRTtJQUNQLE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQTtBQUN2RCxDQUFDLENBQUE7QUFMWSxRQUFBLGlCQUFpQixxQkFLN0I7QUFFTSxNQUFNLHNCQUFzQixHQUFHLENBQ2xDLEtBQThCLEVBQzlCLFFBQTBFLEVBQ3JFLEVBQUU7SUFDUCxPQUFPLGlCQUFpQixDQUNwQixDQUFDLFFBQVEsRUFBRTtZQUNQLFVBQVUsRUFBRSxRQUFRO1lBQ3BCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFO29CQUMxQixPQUFPLEVBQUUsS0FBSyxDQUFDLElBQUk7aUJBQ3RCLENBQUM7U0FDTCxDQUFDLEVBQ0Y7UUFDSSxPQUFPLEVBQUUsS0FBSyxDQUFDLEtBQUs7UUFDcEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHO0tBQ25CLENBQ0osQ0FBQTtBQUNMLENBQUMsQ0FBQTtBQWhCWSxRQUFBLHNCQUFzQiwwQkFnQmxDO0FBRU0sTUFBTSxrQkFBa0IsR0FBRyxDQUM5QixjQUFxQyxFQUNyQyxRQUEwRSxFQUNyRSxFQUFFO0lBQ1AsT0FBTyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FDL0MsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDUixHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FDbkIsQ0FBQyxRQUFRLEVBQUU7WUFDUCxVQUFVLEVBQUUsUUFBUTtZQUNwQixPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDO1NBQ25DLENBQUMsRUFDRixjQUFjLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FDbkMsQ0FDSixDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBZFksUUFBQSxrQkFBa0Isc0JBYzlCO0FBSU0sTUFBTSwwQkFBMEIsR0FBRyxDQUFDLENBQWtDLEVBQUUsR0FBc0MsRUFBd0IsRUFBRTtJQUMzSSxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUE7SUFDaEIsT0FBTztRQUNILGdCQUFnQixFQUFFLEdBQUcsRUFBRTtZQUNuQixPQUFPLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN2QyxDQUFDO1FBQ0QsY0FBYyxFQUFFLEdBQUcsRUFBRTtZQUNqQixNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDbEQsT0FBTyxhQUFhLENBQUMsU0FBUyxDQUMxQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDSixPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUs7Z0JBQ2hCLEtBQUssRUFBRSxDQUFDLENBQUMsR0FBRzthQUNmLENBQUMsRUFDRixHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNILE9BQU8sRUFBRSxHQUFHO2dCQUNaLEtBQUssRUFBRSxHQUFHO2FBQ2IsQ0FBQyxDQUNMLENBQUE7UUFDTCxDQUFDO1FBQ0QsZUFBZSxFQUFFLEdBQUcsRUFBRTtZQUNsQixRQUFRLElBQUksQ0FBQyxDQUFBO1FBQ2pCLENBQUM7S0FDSixDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBdkJZLFFBQUEsMEJBQTBCLDhCQXVCdEMifQ==
@@ -1,3 +0,0 @@
1
- import * as _ea from 'exupery-core-alg';
2
- export type Abort<Error> = (error: Error) => never;
3
- export declare const refine_guard: <Result, Error>(callback: (abort: Abort<Error>) => Result) => _ea.Refinement_Result<Result, Error>;
@@ -1,48 +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.refine_guard = void 0;
27
- const _ea = __importStar(require("exupery-core-alg"));
28
- class Refine_Guard_Abort_Exception {
29
- error;
30
- constructor(error) {
31
- this.error = error;
32
- }
33
- }
34
- const refine_guard = (callback) => {
35
- try {
36
- return _ea.refinement.successful(callback((error) => {
37
- throw new Refine_Guard_Abort_Exception(error);
38
- }));
39
- }
40
- catch (e) {
41
- if (e instanceof Refine_Guard_Abort_Exception) {
42
- return _ea.refinement.failed(e.error);
43
- }
44
- throw e;
45
- }
46
- };
47
- exports.refine_guard = refine_guard;
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmaW5lX2d1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2V4Y2VwdGlvbmFsL2F1dGhvcmluZ19wYXJzZS9yZWZpbmVfZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzREFBdUM7QUFHdkMsTUFBTSw0QkFBNEI7SUFFVjtJQURwQixZQUNvQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztJQUM1QixDQUFDO0NBQ1I7QUFJTSxNQUFNLFlBQVksR0FBRyxDQUN4QixRQUF5QyxFQUNMLEVBQUU7SUFDdEMsSUFBSSxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNoRCxNQUFNLElBQUksNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNQLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1QsSUFBSSxDQUFDLFlBQVksNEJBQTRCLEVBQUUsQ0FBQztZQUM1QyxPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFnQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDeEQsQ0FBQztRQUNELE1BQU0sQ0FBQyxDQUFBO0lBQ1gsQ0FBQztBQUNMLENBQUMsQ0FBQTtBQWJZLFFBQUEsWUFBWSxnQkFheEIifQ==
@@ -1,10 +0,0 @@
1
- import * as _target from "../../../interface/generated/pareto/schemas/authoring_parse_tree/data_types/target";
2
- import * as d_parse_result from "../../../interface/generated/pareto/schemas/authoring_parse_result/data_types/target";
3
- import * as _source from "../../../interface/generated/pareto/schemas/token/data_types/source";
4
- import * as ti from "../iterators/tokens";
5
- export declare const Structural_Token: (token: _source.Annotated_Token) => _target.Structural_Token;
6
- export declare const String: (token_iterator: ti.ASTN_Tokens_Iterator) => _target.String;
7
- export declare const Document: (token_iterator: ti.ASTN_Tokens_Iterator) => _target.Document;
8
- export declare const Elements: (token_iterator: ti.ASTN_Tokens_Iterator, end_reached: ($: _source.Token_Type) => boolean, end_token: d_parse_result.Parse_Error._type.SG.parser.expected.L) => _target.Elements;
9
- export declare const Key_Value_Pairs: (token_iterator: ti.ASTN_Tokens_Iterator, end_reached: ($: _source.Token_Type) => boolean, end_token: d_parse_result.Parse_Error._type.SG.parser.expected.L) => _target.Key_Value_Pairs;
10
- export declare const Value: (token_iterator: ti.ASTN_Tokens_Iterator) => _target.Value;