astn 0.113.6 → 0.113.7

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 (21) hide show
  1. package/dist/core/iterator.d.ts +7 -0
  2. package/dist/core/iterator.js +3 -0
  3. package/dist/implementation/algorithms/commands/convert_to_json.js +2 -2
  4. package/dist/implementation/algorithms/commands/validate_astn.js +2 -2
  5. package/dist/implementation/algorithms/refiners/authoring_parse_tree/text/refiners.d.ts +6 -0
  6. package/dist/implementation/algorithms/refiners/authoring_parse_tree/text/refiners.js +44 -0
  7. package/dist/implementation/algorithms/refiners/authoring_parse_tree/token/context.d.ts +11 -0
  8. package/dist/implementation/algorithms/refiners/authoring_parse_tree/token/context.js +43 -0
  9. package/dist/implementation/algorithms/refiners/authoring_parse_tree/token/iterator.d.ts +9 -0
  10. package/dist/implementation/algorithms/refiners/authoring_parse_tree/token/iterator.js +29 -0
  11. package/dist/implementation/algorithms/refiners/authoring_parse_tree/token/refiners.d.ts +10 -0
  12. package/dist/implementation/algorithms/refiners/authoring_parse_tree/token/refiners.js +266 -0
  13. package/dist/implementation/algorithms/refiners/token/text/context.d.ts +1 -0
  14. package/dist/implementation/algorithms/refiners/token/text/context.js +24 -0
  15. package/dist/implementation/algorithms/refiners/token/text/iterator.d.ts +27 -0
  16. package/dist/implementation/algorithms/refiners/token/text/iterator.js +107 -0
  17. package/dist/implementation/algorithms/refiners/token/text/refiners.d.ts +9 -0
  18. package/dist/implementation/algorithms/refiners/token/text/refiners.js +522 -0
  19. package/dist/refiners/authoring_parse/iterator.d.ts +7 -0
  20. package/dist/refiners/authoring_parse/iterator.js +3 -0
  21. package/package.json +1 -1
@@ -0,0 +1,107 @@
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.create_iterator = exports.is_control_character = void 0;
27
+ const _ea = __importStar(require("exupery-core-alg"));
28
+ const WhitespaceChars = {
29
+ tab: 0x09, // \t
30
+ line_feed: 0x0A, // \n
31
+ carriage_return: 0x0D, // \r
32
+ space: 0x20, //
33
+ };
34
+ const is_control_character = ($) => {
35
+ return ($ < 0x20 && $ !== WhitespaceChars.tab && $ !== WhitespaceChars.line_feed && $ !== WhitespaceChars.carriage_return);
36
+ };
37
+ exports.is_control_character = is_control_character;
38
+ /**
39
+ * Creates a string iterator that allows iterating over characters in a string,
40
+ * while keeping track of line numbers, columns, and line indentation.
41
+ */
42
+ const create_iterator = ($, $p) => {
43
+ const characters = _ea.text_to_character_list($);
44
+ let found_carriage_return_before = false;
45
+ let position = 0;
46
+ let relative_position = {
47
+ 'line': 0,
48
+ 'column': 0,
49
+ 'line indentation': null
50
+ };
51
+ return {
52
+ 'consume': () => {
53
+ const c = characters.__get_element_at(position);
54
+ const start = relative_position;
55
+ relative_position = c.transform(($) => {
56
+ return $ === WhitespaceChars.line_feed
57
+ ? {
58
+ 'line': relative_position.line + 1,
59
+ 'column': 0,
60
+ 'line indentation': null,
61
+ }
62
+ : found_carriage_return_before
63
+ ? {
64
+ 'line': relative_position.line + 1,
65
+ 'column': 0,
66
+ 'line indentation': null,
67
+ }
68
+ : {
69
+ 'line': relative_position.line,
70
+ 'column': relative_position['column'] + ($ === WhitespaceChars.tab
71
+ ? $p['tab size']
72
+ : 1),
73
+ 'line indentation': relative_position['line indentation'] !== null
74
+ ? relative_position['line indentation']
75
+ : $ === WhitespaceChars.space || $ === WhitespaceChars.tab
76
+ ? null
77
+ : relative_position['column'],
78
+ };
79
+ }, () => relative_position //this is weird, we were already at the end of the list
80
+ );
81
+ found_carriage_return_before = c.transform(($) => $ === WhitespaceChars.carriage_return, () => false);
82
+ position += 1;
83
+ },
84
+ 'get current': () => {
85
+ return characters.__get_element_at(position).transform(($) => _ea.set($), () => _ea.not_set());
86
+ },
87
+ 'look ahead': (offset) => {
88
+ return characters.__get_element_at(position + offset).transform(($) => _ea.set($), () => _ea.not_set());
89
+ },
90
+ 'get state': () => {
91
+ return {
92
+ 'location': {
93
+ 'absolute': position,
94
+ 'relative': {
95
+ 'line': relative_position.line,
96
+ 'column': relative_position['column'],
97
+ }
98
+ },
99
+ 'line indentation': relative_position['line indentation'] !== null
100
+ ? relative_position['line indentation']
101
+ : relative_position['column']
102
+ };
103
+ }
104
+ };
105
+ };
106
+ exports.create_iterator = create_iterator;
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvaW1wbGVtZW50YXRpb24vYWxnb3JpdGhtcy9yZWZpbmVycy90b2tlbi90ZXh0L2l0ZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0RBQXVDO0FBNEJ2QyxNQUFNLGVBQWUsR0FBRztJQUNwQixHQUFHLEVBQUUsSUFBSSxFQUFtQixLQUFLO0lBQ2pDLFNBQVMsRUFBRSxJQUFJLEVBQWEsS0FBSztJQUNqQyxlQUFlLEVBQUUsSUFBSSxFQUFPLEtBQUs7SUFDakMsS0FBSyxFQUFFLElBQUksRUFBaUIsRUFBRTtDQUNqQyxDQUFBO0FBRU0sTUFBTSxvQkFBb0IsR0FBRyxDQUFDLENBQVMsRUFBVyxFQUFFO0lBQ3ZELE9BQU8sQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxlQUFlLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxlQUFlLENBQUMsU0FBUyxJQUFJLENBQUMsS0FBSyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUE7QUFDOUgsQ0FBQyxDQUFBO0FBRlksUUFBQSxvQkFBb0Isd0JBRWhDO0FBRUQ7OztHQUdHO0FBRUksTUFBTSxlQUFlLEdBQUcsQ0FDM0IsQ0FBUyxFQUNULEVBRUMsRUFDa0IsRUFBRTtJQUNyQixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFRaEQsSUFBSSw0QkFBNEIsR0FBRyxLQUFLLENBQUE7SUFDeEMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFBO0lBQ2hCLElBQUksaUJBQWlCLEdBQWtDO1FBQ25ELE1BQU0sRUFBRSxDQUFDO1FBQ1QsUUFBUSxFQUFFLENBQUM7UUFDWCxrQkFBa0IsRUFBRSxJQUFJO0tBQzNCLENBQUE7SUFFRCxPQUFPO1FBQ0gsU0FBUyxFQUFFLEdBQUcsRUFBRTtZQUNa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
@@ -0,0 +1,9 @@
1
+ import * as _ea from 'exupery-core-alg';
2
+ import * as _out from "../../../../../interface/generated/pareto/schemas/token/data_types/target";
3
+ import * as _parse_result from "../../../../../interface/generated/pareto/schemas/authoring_parse_result/data_types/target";
4
+ import { Characters_Iterator } from "./iterator";
5
+ export declare const Whitespace: (iterator: Characters_Iterator, abort: _ea.Abort<_parse_result.Parse_Error>) => _out.Whitespace;
6
+ export declare const Trivia: (iterator: Characters_Iterator, abort: _ea.Abort<_parse_result.Parse_Error>) => _out.Trivia;
7
+ export declare const Annotated_Token: (iterator: Characters_Iterator, abort: _ea.Abort<_parse_result.Parse_Error>) => _out.Annotated_Token;
8
+ export declare const Delimited_String: (is_end_character: (character: number) => boolean, allow_newlines: boolean, iterator: Characters_Iterator, abort: _ea.Abort<_parse_result.Parse_Error>) => _out.Delimited_String;
9
+ export declare const Tokenizer_Result: (iterator: Characters_Iterator, abort: _ea.Abort<_parse_result.Parse_Error>) => _out.Tokenizer_Result;