liana-core 0.0.2

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 (43) hide show
  1. package/dist/globals.d.ts +26 -0
  2. package/dist/globals.js +2 -0
  3. package/dist/implementation/manual/primitives/approximate_number/deserializers/scientific_notation.d.ts +2 -0
  4. package/dist/implementation/manual/primitives/approximate_number/deserializers/scientific_notation.js +118 -0
  5. package/dist/implementation/manual/primitives/approximate_number/serializers/scientific_notation.d.ts +2 -0
  6. package/dist/implementation/manual/primitives/approximate_number/serializers/scientific_notation.js +142 -0
  7. package/dist/implementation/manual/primitives/boolean/deserializers/true_false.d.ts +2 -0
  8. package/dist/implementation/manual/primitives/boolean/deserializers/true_false.js +10 -0
  9. package/dist/implementation/manual/primitives/boolean/serializers/true_false.d.ts +2 -0
  10. package/dist/implementation/manual/primitives/boolean/serializers/true_false.js +8 -0
  11. package/dist/implementation/manual/primitives/integer/deserializers/binary.d.ts +2 -0
  12. package/dist/implementation/manual/primitives/integer/deserializers/binary.js +80 -0
  13. package/dist/implementation/manual/primitives/integer/deserializers/decimal.d.ts +2 -0
  14. package/dist/implementation/manual/primitives/integer/deserializers/decimal.js +73 -0
  15. package/dist/implementation/manual/primitives/integer/deserializers/fractional_decimal.d.ts +2 -0
  16. package/dist/implementation/manual/primitives/integer/deserializers/fractional_decimal.js +99 -0
  17. package/dist/implementation/manual/primitives/integer/deserializers/hexadecimal.d.ts +2 -0
  18. package/dist/implementation/manual/primitives/integer/deserializers/hexadecimal.js +89 -0
  19. package/dist/implementation/manual/primitives/integer/deserializers/iso_udhr.d.ts +8 -0
  20. package/dist/implementation/manual/primitives/integer/deserializers/iso_udhr.js +115 -0
  21. package/dist/implementation/manual/primitives/integer/deserializers/octal.d.ts +2 -0
  22. package/dist/implementation/manual/primitives/integer/deserializers/octal.js +80 -0
  23. package/dist/implementation/manual/primitives/integer/serializers/binary.d.ts +2 -0
  24. package/dist/implementation/manual/primitives/integer/serializers/binary.js +60 -0
  25. package/dist/implementation/manual/primitives/integer/serializers/decimal.d.ts +2 -0
  26. package/dist/implementation/manual/primitives/integer/serializers/decimal.js +57 -0
  27. package/dist/implementation/manual/primitives/integer/serializers/fractional_decimal.d.ts +2 -0
  28. package/dist/implementation/manual/primitives/integer/serializers/fractional_decimal.js +94 -0
  29. package/dist/implementation/manual/primitives/integer/serializers/hexadecimal.d.ts +2 -0
  30. package/dist/implementation/manual/primitives/integer/serializers/hexadecimal.js +68 -0
  31. package/dist/implementation/manual/primitives/integer/serializers/iso_udhr.d.ts +2 -0
  32. package/dist/implementation/manual/primitives/integer/serializers/iso_udhr.js +133 -0
  33. package/dist/implementation/manual/primitives/integer/serializers/octal.d.ts +2 -0
  34. package/dist/implementation/manual/primitives/integer/serializers/octal.js +63 -0
  35. package/dist/index.d.ts +1 -0
  36. package/dist/index.js +5 -0
  37. package/dist/interface/signatures.d.ts +45 -0
  38. package/dist/interface/signatures.js +3 -0
  39. package/dist/interface/to_be_generated/deserializer_errors.d.ts +8 -0
  40. package/dist/interface/to_be_generated/deserializer_errors.js +3 -0
  41. package/dist/interface/to_be_generated/serializer_parameters.d.ts +6 -0
  42. package/dist/interface/to_be_generated/serializer_parameters.js +3 -0
  43. package/package.json +12 -0
@@ -0,0 +1,26 @@
1
+ interface Array<T> {
2
+ [n: number]: T;
3
+ length: number;
4
+ readonly __isArray: true;
5
+ }
6
+ interface Boolean {
7
+ }
8
+ interface CallableFunction {
9
+ }
10
+ interface Function {
11
+ (...args: unknown[]): unknown;
12
+ }
13
+ interface IArguments {
14
+ }
15
+ interface NewableFunction {
16
+ }
17
+ interface Number {
18
+ }
19
+ interface Object {
20
+ }
21
+ interface RegExp {
22
+ }
23
+ interface String {
24
+ }
25
+ interface Promise<T> {
26
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9nbG9iYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1,2 @@
1
+ import * as signatures from "../../../../../interface/signatures";
2
+ export declare const $$: signatures.deserializers.primitives.approximate_number.scientific_notation;
@@ -0,0 +1,118 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.$$ = void 0;
37
+ const _p = __importStar(require("pareto-core/dist/deserializer"));
38
+ const $$ = ($, abort) => {
39
+ const characters = _p.list.from_text($, ($) => $);
40
+ let result = 0;
41
+ let isNegative = false;
42
+ let startIndex = 0;
43
+ let decimalPart = 0;
44
+ let decimalDivisor = 1;
45
+ let exponent = 0;
46
+ let isExponentNegative = false;
47
+ let hasDecimal = false;
48
+ let inExponent = false;
49
+ const get_character_at = (index) => characters.__get_possible_element_at(index).__decide(($) => $, () => abort(`index out of bounds`));
50
+ // Check for negative sign
51
+ if (characters.__get_number_of_elements() > 0 && get_character_at(0) === 45) { // '-'
52
+ isNegative = true;
53
+ startIndex = 1;
54
+ }
55
+ // Parse the number
56
+ for (let i = startIndex; i < characters.__get_number_of_elements(); i++) {
57
+ const charCode = get_character_at(i);
58
+ if (charCode === 46) { // '.'
59
+ if (hasDecimal || inExponent) {
60
+ abort(`Invalid decimal format: multiple decimal points or decimal in exponent`);
61
+ }
62
+ hasDecimal = true;
63
+ }
64
+ else if (charCode === 101 || charCode === 69) { // 'e' or 'E'
65
+ if (inExponent) {
66
+ abort(`Invalid decimal format: multiple exponent markers`);
67
+ }
68
+ inExponent = true;
69
+ // Check for exponent sign
70
+ if (i + 1 < characters.__get_number_of_elements()) {
71
+ const nextChar = get_character_at(i + 1);
72
+ if (nextChar === 45) { // '-'
73
+ isExponentNegative = true;
74
+ i++;
75
+ }
76
+ else if (nextChar === 43) { // '+'
77
+ i++;
78
+ }
79
+ }
80
+ }
81
+ else if (charCode >= 48 && charCode <= 57) { // '0'-'9'
82
+ const digit = charCode - 48;
83
+ if (inExponent) {
84
+ exponent = exponent * 10 + digit;
85
+ }
86
+ else if (hasDecimal) {
87
+ decimalPart = decimalPart * 10 + digit;
88
+ decimalDivisor = decimalDivisor * 10;
89
+ }
90
+ else {
91
+ result = result * 10 + digit;
92
+ }
93
+ }
94
+ else {
95
+ abort(`Invalid character in decimal string`);
96
+ }
97
+ }
98
+ // Combine integer and decimal parts
99
+ let finalResult = result + (decimalPart / decimalDivisor);
100
+ // Apply exponent
101
+ if (isExponentNegative) {
102
+ exponent = -exponent;
103
+ }
104
+ // Apply exponent by multiplying/dividing by 10
105
+ if (exponent > 0) {
106
+ for (let i = 0; i < exponent; i++) {
107
+ finalResult = finalResult * 10;
108
+ }
109
+ }
110
+ else if (exponent < 0) {
111
+ for (let i = 0; i < -exponent; i++) {
112
+ finalResult = finalResult / 10;
113
+ }
114
+ }
115
+ return isNegative ? -finalResult : finalResult;
116
+ };
117
+ exports.$$ = $$;
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NpZW50aWZpY19ub3RhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9tYW51YWwvcHJpbWl0aXZlcy9hcHByb3hpbWF0ZV9udW1iZXIvZGVzZXJpYWxpemVycy9zY2llbnRpZmljX25vdGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtFQUFtRDtBQUk1QyxNQUFNLEVBQUUsR0FBK0UsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDdkcsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNqRCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUE7SUFDZCxJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUE7SUFDdEIsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFBO0lBQ2xCLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQTtJQUNuQixJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUE7SUFDdEIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFBO0lBQ2hCLElBQUksa0JBQWtCLEdBQUcsS0FBSyxDQUFBO0lBQzlCLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQTtJQUN0QixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUE7SUFFdEIsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWEsRUFBVSxFQUFFLENBQUMsVUFBVSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FDcEcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDUixHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FDckMsQ0FBQTtJQUVELDBCQUEwQjtJQUMxQixJQUFJLFVBQVUsQ0FB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
@@ -0,0 +1,2 @@
1
+ import * as signatures from "../../../../../interface/signatures";
2
+ export declare const $$: signatures.serializers.primitives.approximate_number.scientific_notation;
@@ -0,0 +1,142 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.$$ = void 0;
37
+ const _p = __importStar(require("pareto-core/dist/transformer"));
38
+ const _ps = __importStar(require("pareto-core/dist/serializer"));
39
+ const $$ = ($, $p) => {
40
+ return _ps.text.deprecated_build(($i) => {
41
+ // Handle special case for zero in scientific notation
42
+ if ($ === 0) {
43
+ $i.add_character(48); // '0'
44
+ // Add decimal point if we have more than 1 digit
45
+ if ($p.digits > 1) {
46
+ $i.add_character(46); // '.'
47
+ // Add the required number of zeros after decimal point
48
+ for (let i = 0; i < $p.digits - 1; i++) {
49
+ $i.add_character(48); // '0'
50
+ }
51
+ }
52
+ // Add exponent part for zero: e+0
53
+ $i.add_character(101); // 'e'
54
+ $i.add_character(43); // '+'
55
+ $i.add_character(48); // '0'
56
+ return;
57
+ }
58
+ // Handle negative numbers
59
+ if ($ < 0) {
60
+ $i.add_character(45); // '-'
61
+ $ = -$;
62
+ }
63
+ // Calculate exponent and mantissa for scientific notation
64
+ let exponent = 0;
65
+ let mantissa = $;
66
+ // Normalize to range [1, 10)
67
+ if (mantissa >= 10) {
68
+ while (mantissa >= 10) {
69
+ mantissa = mantissa / 10;
70
+ exponent++;
71
+ }
72
+ }
73
+ else if (mantissa < 1) {
74
+ while (mantissa < 1) {
75
+ mantissa = mantissa * 10;
76
+ exponent--;
77
+ }
78
+ }
79
+ // Create scale factor by multiplying
80
+ let scale_factor = 1;
81
+ for (let i = 0; i < $p.digits - 1; i++) {
82
+ scale_factor = scale_factor * 10;
83
+ }
84
+ // Simple rounding using integer operations
85
+ const mantissa_scaled = _p.integer.divide(mantissa * scale_factor + 0.5, 1, () => _p.unreachable_code_path());
86
+ // Convert mantissa to string
87
+ const digits = _p.list.deprecated_build(($i) => {
88
+ let temp = mantissa_scaled;
89
+ // temp is always > 0 here since mantissa_scaled = integer_division(mantissa * scale_factor + 0.5, 1)
90
+ // where mantissa >= 1.0 (normalized) and scale_factor >= 1, so result >= 1
91
+ do {
92
+ const digit = temp % 10;
93
+ $i['add element'](digit);
94
+ temp = _p.integer.divide(temp, 10, () => _p.unreachable_code_path());
95
+ } while (temp > 0);
96
+ });
97
+ // Add leading digit
98
+ const first_digit = digits.__get_possible_element_at(digits.__get_number_of_elements() - 1).__decide(($) => $, () => _p.unreachable_code_path() // index cannot be out of bounds
99
+ );
100
+ $i.add_character(48 + first_digit); // First digit
101
+ // Add decimal point if we have more digits
102
+ if ($p.digits > 1 && digits.__get_number_of_elements() > 1) {
103
+ $i.add_character(46); // '.'
104
+ // Add remaining digits in reverse order
105
+ for (let j = digits.__get_number_of_elements() - 2; j >= 0; j--) {
106
+ const digit = digits.__get_possible_element_at(j).__decide(($) => $, () => _p.unreachable_code_path() // index cannot be out of bounds
107
+ );
108
+ $i.add_character(48 + digit);
109
+ }
110
+ }
111
+ // Add exponent part
112
+ $i.add_character(101); // 'e'
113
+ if (exponent < 0) {
114
+ $i.add_character(45); // '-'
115
+ exponent = -exponent;
116
+ }
117
+ else {
118
+ $i.add_character(43); // '+'
119
+ }
120
+ // Convert exponent to string
121
+ const exp_digits = _p.list.deprecated_build(($i) => {
122
+ if (exponent === 0) {
123
+ $i['add element'](0);
124
+ }
125
+ else {
126
+ do {
127
+ const digit = exponent % 10;
128
+ $i['add element'](digit);
129
+ exponent = _p.integer.divide(exponent, 10, () => _p.unreachable_code_path());
130
+ } while (exponent > 0);
131
+ }
132
+ });
133
+ // Add exponent digits in reverse order
134
+ for (let j = exp_digits.__get_number_of_elements() - 1; j >= 0; j--) {
135
+ const digit = exp_digits.__get_possible_element_at(j).__decide(($) => $, () => _p.unreachable_code_path() // index cannot be out of bounds
136
+ );
137
+ $i.add_character(48 + digit);
138
+ }
139
+ });
140
+ };
141
+ exports.$$ = $$;
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NpZW50aWZpY19ub3RhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9tYW51YWwvcHJpbWl0aXZlcy9hcHByb3hpbWF0ZV9udW1iZXIvc2VyaWFsaXplcnMvc2NpZW50aWZpY19ub3RhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpRUFBa0Q7QUFDbEQsaUVBQWtEO0FBSTNDLE1BQU0sRUFBRSxHQUE2RSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRTtJQUNsRyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtRQUNwQyxzREFBc0Q7UUFDdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDVixFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsTUFBTTtZQUUzQixpREFBaUQ7WUFDakQsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNoQixFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsTUFBTTtnQkFFM0IsdURBQXVEO2dCQUN2RCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDckMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLE1BQU07Z0JBQy9CLENBQUM7WUFDTCxDQUFDO1lBRUQsa0NBQWtDO1lBQ2xDLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxNQUFNO1lBQzVCLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBRSxNQUFNO1lBQzVCLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBRSxNQUFNO1lBQzVCLE9BQU07UUFDVixDQUFDO1FBRUQsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ1IsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLE1BQU07WUFDM0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ1YsQ0FBQztRQUVELDBEQUEwRDtRQUMxRCxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUE7UUFDaEIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFBO1FBRWhCLDZCQUE2QjtRQUM3QixJQUFJLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNqQixPQUFPLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsUUFBUSxHQUFHLFFBQVEsR0FBRyxFQUFFLENBQUE7Z0JBQ3hCLFFBQVEsRUFBRSxDQUFBO1lBQ2QsQ0FBQztRQUNMLENBQUM7YUFBTSxJQUFJLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0QixPQUFPLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbEIsUUFBUSxHQUFHLFFBQVEsR0FBRyxFQUFFLENBQUE7Z0JBQ3hCLFFBQVEsRUFBRSxDQUFBO1lBQ2QsQ0FBQztRQUNMLENBQUM7UUFFRCxxQ0FBcUM7UUFDckMsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFBO1FBQ3BCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3JDLFlBQVksR0FBRyxZQUFZLEdBQUcsRUFBRSxDQUFBO1FBQ3BDLENBQUM7UUFFRCwyQ0FBMkM7UUFDM0MsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLFlBQVksR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUE7UUFFN0csNkJBQTZCO1FBQzdCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUNuRCxJQUFJLElBQUksR0FBRyxlQUFlLENBQUE7WUFDMUIscUdBQXFHO1lBQ3JHLDJFQUEyRTtZQUMzRSxHQUFHLENBQUM7Z0JBQ0EsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQTtnQkFDdkIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUN4QixJQUFJLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFBO1lBQ3hFLENBQUMsUUFBUSxJQUFJLEdBQUcsQ0FBQyxFQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFBO1FBRUYsb0JBQW9CO1FBQ3BCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQ2hHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQ1IsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLHFCQUFxQixFQUFFLENBQUMsZ0NBQWdDO1NBQ3BFLENBQUE7UUFDRCxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsR0FBRyxXQUFXLENBQUMsQ0FBQSxDQUFDLGNBQWM7UUFFakQsMkNBQTJDO1FBQzNDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDekQsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLE1BQU07WUFFM0Isd0NBQXdDO1lBQ3hDLEtBQUssSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDOUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FDdEQsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDUixHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxnQ0FBZ0M7aUJBQ3BFLENBQUE7Z0JBQ0QsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUE7WUFDaEMsQ0FBQztRQUNMLENBQUM7UUFFRCxvQkFBb0I7UUFDcEIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQSxDQUFDLE1BQU07UUFDNUIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZixFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsTUFBTTtZQUMzQixRQUFRLEdBQUcsQ0FBQyxRQUFRLENBQUE7UUFDeEIsQ0FBQzthQUFNLENBQUM7WUFDSixFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsTUFBTTtRQUMvQixDQUFDO1FBRUQsNkJBQTZCO1FBQzdCLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUN2RCxJQUFJLFFBQVEsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3hCLENBQUM7aUJBQU0sQ0FBQztnQkFDSixHQUFHLENBQUM7b0JBQ0EsTUFBTSxLQUFLLEdBQUcsUUFBUSxHQUFHLEVBQUUsQ0FBQTtvQkFDM0IsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO29CQUN4QixRQUFRLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFBO2dCQUNoRixDQUFDLFFBQVEsUUFBUSxHQUFHLENBQUMsRUFBQztZQUMxQixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUE7UUFFRix1Q0FBdUM7UUFDdkMsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2xFLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQzFELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQ1IsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLHFCQUFxQixFQUFFLENBQUMsZ0NBQWdDO2FBQ3BFLENBQUE7WUFDRCxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQTtRQUNoQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUE7QUF2SFksUUFBQSxFQUFFLE1BdUhkIn0=
@@ -0,0 +1,2 @@
1
+ import * as signatures from "../../../../../interface/signatures";
2
+ export declare const $$: signatures.deserializers.primitives.boolean.true_false;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.$$ = void 0;
4
+ const $$ = ($, abort) => $ === "true"
5
+ ? true
6
+ : $ === "false"
7
+ ? false
8
+ : abort("HANDLE UNEXPECTED VALUE!");
9
+ exports.$$ = $$;
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1ZV9mYWxzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9tYW51YWwvcHJpbWl0aXZlcy9ib29sZWFuL2Rlc2VyaWFsaXplcnMvdHJ1ZV9mYWxzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJTyxNQUFNLEVBQUUsR0FBMkQsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssTUFBTTtJQUNoRyxDQUFDLENBQUMsSUFBSTtJQUNOLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTztRQUNYLENBQUMsQ0FBQyxLQUFLO1FBQ1AsQ0FBQyxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO0FBSjlCLFFBQUEsRUFBRSxNQUk0QiJ9
@@ -0,0 +1,2 @@
1
+ import * as signatures from "../../../../../interface/signatures";
2
+ export declare const $$: signatures.serializers.primitives.boolean.true_false;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.$$ = void 0;
4
+ const $$ = ($) => {
5
+ return $ ? "true" : "false";
6
+ };
7
+ exports.$$ = $$;
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1ZV9mYWxzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9tYW51YWwvcHJpbWl0aXZlcy9ib29sZWFuL3NlcmlhbGl6ZXJzL3RydWVfZmFsc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSU8sTUFBTSxFQUFFLEdBQXlELENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDMUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBO0FBQy9CLENBQUMsQ0FBQTtBQUZZLFFBQUEsRUFBRSxNQUVkIn0=
@@ -0,0 +1,2 @@
1
+ import * as signatures from "../../../../../interface/signatures";
2
+ export declare const $$: signatures.deserializers.primitives.integer.binary;
@@ -0,0 +1,80 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.$$ = void 0;
37
+ const _pds = __importStar(require("pareto-core/dist/deserializer"));
38
+ const $$ = ($, abort) => {
39
+ const characters = _pds.list.from_text($, ($) => $);
40
+ let result = 0;
41
+ let isNegative = false;
42
+ let startIndex = 0;
43
+ // Check for empty string
44
+ if (characters.__get_number_of_elements() === 0) {
45
+ abort(`Empty string is not a valid binary number`);
46
+ }
47
+ const get_character_at = (index) => characters.__get_possible_element_at(index).__decide(($) => $, () => abort(`index out of bounds`));
48
+ // Check for negative sign
49
+ if (characters.__get_number_of_elements() > 0 && get_character_at(0) === 45) { // '-'
50
+ isNegative = true;
51
+ startIndex = 1;
52
+ }
53
+ // Check for "0b" prefix - REQUIRE it for binary
54
+ if (characters.__get_number_of_elements() <= startIndex + 1 ||
55
+ get_character_at(startIndex) !== 48 || // '0'
56
+ get_character_at(startIndex + 1) !== 98) { // 'b'
57
+ abort(`Binary number must have '0b' prefix`);
58
+ }
59
+ startIndex += 2;
60
+ // Check if there are digits after the prefix
61
+ if (startIndex >= characters.__get_number_of_elements()) {
62
+ abort(`Binary number must have digits after '0b' prefix`);
63
+ }
64
+ // Parse binary digits from left to right
65
+ for (let i = startIndex; i < characters.__get_number_of_elements(); i++) {
66
+ const charCode = get_character_at(i);
67
+ // Check if character is a binary digit (48-49 for '0'-'1')
68
+ if (charCode >= 48 && charCode <= 49) { // '0'-'1'
69
+ const digit = charCode - 48;
70
+ result = result * 2 + digit;
71
+ }
72
+ else {
73
+ // Invalid character
74
+ abort(`Invalid character in binary string`);
75
+ }
76
+ }
77
+ return isNegative ? -result : result;
78
+ };
79
+ exports.$$ = $$;
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL21hbnVhbC9wcmltaXRpdmVzL2ludGVnZXIvZGVzZXJpYWxpemVycy9iaW5hcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0VBQXFEO0FBSTlDLE1BQU0sRUFBRSxHQUF1RCxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUMvRSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ25ELElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQTtJQUNkLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQTtJQUN0QixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUE7SUFFbEIseUJBQXlCO0lBQ3pCLElBQUksVUFBVSxDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDOUMsS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUE7SUFDdEQsQ0FBQztJQUVELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFhLEVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQ3BHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQ1IsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQ3JDLENBQUE7SUFFRCwwQkFBMEI7SUFDMUIsSUFBSSxVQUFVLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxDQUFDLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ2pGLFVBQVUsR0FBRyxJQUFJLENBQUE7UUFDakIsVUFBVSxHQUFHLENBQUMsQ0FBQTtJQUNsQixDQUFDO0lBRUQsZ0RBQWdEO0lBQ2hELElBQUksVUFBVSxDQUFDLHdCQUF3QixFQUFFLElBQUksVUFBVSxHQUFHLENBQUM7UUFDdkQsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLE1BQU07UUFDN0MsZ0JBQWdCLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNqRCxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0lBQ0QsVUFBVSxJQUFJLENBQUMsQ0FBQTtJQUVmLDZDQUE2QztJQUM3QyxJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxDQUFDO1FBQ3RELEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFBO0lBQzdELENBQUM7SUFFRCx5Q0FBeUM7SUFDekMsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDdEUsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFcEMsMkRBQTJEO1FBQzNELElBQUksUUFBUSxJQUFJLEVBQUUsSUFBSSxRQUFRLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxVQUFVO1lBQzlDLE1BQU0sS0FBSyxHQUFHLFFBQVEsR0FBRyxFQUFFLENBQUE7WUFDM0IsTUFBTSxHQUFHLE1BQU0sR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFBO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ0osb0JBQW9CO1lBQ3BCLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFBO1FBQy9DLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7QUFDeEMsQ0FBQyxDQUFBO0FBbERZLFFBQUEsRUFBRSxNQWtEZCJ9
@@ -0,0 +1,2 @@
1
+ import * as signatures from "../../../../../interface/signatures";
2
+ export declare const $$: signatures.deserializers.primitives.integer.decimal;
@@ -0,0 +1,73 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.$$ = void 0;
37
+ const _p = __importStar(require("pareto-core/dist/deserializer"));
38
+ const $$ = ($, abort) => {
39
+ const characters = _p.list.from_text($, ($) => $);
40
+ let result = 0;
41
+ let isNegative = false;
42
+ let startIndex = 0;
43
+ // _p.iterate(characters, (iterator) => {
44
+ // })
45
+ // Check for empty string
46
+ if (characters.__get_number_of_elements() === 0) {
47
+ abort(`Empty string is not a valid decimal number`);
48
+ }
49
+ const get_character_at = (index) => {
50
+ return characters.__get_possible_element_at(index).__decide(($) => $, () => abort(`index out of bounds`));
51
+ };
52
+ // Check for negative sign
53
+ if (characters.__get_number_of_elements() > 0 && get_character_at(0) === 45) { // '-'
54
+ isNegative = true;
55
+ startIndex = 1;
56
+ }
57
+ // Parse digits from left to right
58
+ for (let i = startIndex; i < characters.__get_number_of_elements(); i++) {
59
+ const charCode = get_character_at(i);
60
+ // Check if character is a digit (48-57 for '0'-'9')
61
+ if (charCode >= 48 && charCode <= 57) {
62
+ const digit = charCode - 48;
63
+ result = result * 10 + digit;
64
+ }
65
+ else {
66
+ // Invalid character
67
+ abort(`Invalid character in decimal string`);
68
+ }
69
+ }
70
+ return isNegative ? -result : result;
71
+ };
72
+ exports.$$ = $$;
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaW1hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9tYW51YWwvcHJpbWl0aXZlcy9pbnRlZ2VyL2Rlc2VyaWFsaXplcnMvZGVjaW1hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrRUFBbUQ7QUFJNUMsTUFBTSxFQUFFLEdBQXdELENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQ2hGLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDakQsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFBO0lBQ2QsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFBO0lBQ3RCLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQTtJQUVsQix5Q0FBeUM7SUFFekMsS0FBSztJQUVMLHlCQUF5QjtJQUN6QixJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzlDLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFFRCxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBYSxFQUFVLEVBQUU7UUFDL0MsT0FBTyxVQUFVLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUN2RCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUNSLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUNyQyxDQUFBO0lBQ0wsQ0FBQyxDQUFBO0lBRUQsMEJBQTBCO0lBQzFCLElBQUksVUFBVSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNqRixVQUFVLEdBQUcsSUFBSSxDQUFBO1FBQ2pCLFVBQVUsR0FBRyxDQUFDLENBQUE7SUFDbEIsQ0FBQztJQUVELGtDQUFrQztJQUNsQyxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUN0RSxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUVwQyxvREFBb0Q7UUFDcEQsSUFBSSxRQUFRLElBQUksRUFBRSxJQUFJLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNuQyxNQUFNLEtBQUssR0FBRyxRQUFRLEdBQUcsRUFBRSxDQUFBO1lBQzNCLE1BQU0sR0FBRyxNQUFNLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQTtRQUNoQyxDQUFDO2FBQU0sQ0FBQztZQUNKLG9CQUFvQjtZQUNwQixLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQTtRQUNoRCxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFBO0FBQ3hDLENBQUMsQ0FBQTtBQTNDWSxRQUFBLEVBQUUsTUEyQ2QifQ==
@@ -0,0 +1,2 @@
1
+ import * as signatures from "../../../../../interface/signatures";
2
+ export declare const $$: signatures.deserializers.primitives.integer.fractional_decimal;
@@ -0,0 +1,99 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.$$ = void 0;
37
+ const _pds = __importStar(require("pareto-core/dist/deserializer"));
38
+ const $$ = ($, abort, $p) => {
39
+ const characters = _pds.list.from_text($, ($) => $);
40
+ let isNegative = false;
41
+ let startIndex = 0;
42
+ let decimalPointIndex = -1;
43
+ // Check for empty string
44
+ if (characters.__get_number_of_elements() === 0) {
45
+ abort(`Empty string is not a valid fractional decimal number`);
46
+ }
47
+ const get_character_at = (index) => {
48
+ return characters.__get_possible_element_at(index).__decide(($) => $, () => abort(`index out of bounds`));
49
+ };
50
+ // Check for negative sign
51
+ if (characters.__get_number_of_elements() > 0 && get_character_at(0) === 45) { // '-'
52
+ isNegative = true;
53
+ startIndex = 1;
54
+ }
55
+ // Find decimal point and validate characters
56
+ for (let i = startIndex; i < characters.__get_number_of_elements(); i++) {
57
+ const charCode = get_character_at(i);
58
+ if (charCode === 46) { // '.'
59
+ if (decimalPointIndex !== -1) {
60
+ abort(`Multiple decimal points found`);
61
+ }
62
+ decimalPointIndex = i;
63
+ }
64
+ else if (!(charCode >= 48 && charCode <= 57)) {
65
+ abort(`Invalid character in fractional decimal string`);
66
+ }
67
+ }
68
+ // Must have a decimal point
69
+ if (decimalPointIndex === -1) {
70
+ abort(`No decimal point found in fractional decimal string`);
71
+ }
72
+ // Check that we have digits before decimal point
73
+ if (decimalPointIndex === startIndex) {
74
+ abort(`No digits before decimal point`);
75
+ }
76
+ // Calculate number of fractional digits in input
77
+ const inputFractionalDigits = characters.__get_number_of_elements() - decimalPointIndex - 1;
78
+ const expectedFractionalDigits = $p['number of fractional digits'];
79
+ // Check that the number of fractional digits matches expected
80
+ if (inputFractionalDigits !== expectedFractionalDigits) {
81
+ abort(`Expected ${expectedFractionalDigits} fractional digits, but found ${inputFractionalDigits}`);
82
+ }
83
+ // Parse integer part
84
+ let result = 0;
85
+ for (let i = startIndex; i < decimalPointIndex; i++) {
86
+ const charCode = get_character_at(i);
87
+ const digit = charCode - 48;
88
+ result = result * 10 + digit;
89
+ }
90
+ // Parse fractional part
91
+ for (let i = decimalPointIndex + 1; i < characters.__get_number_of_elements(); i++) {
92
+ const charCode = get_character_at(i);
93
+ const digit = charCode - 48;
94
+ result = result * 10 + digit;
95
+ }
96
+ return isNegative ? -result : result;
97
+ };
98
+ exports.$$ = $$;
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhY3Rpb25hbF9kZWNpbWFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL21hbnVhbC9wcmltaXRpdmVzL2ludGVnZXIvZGVzZXJpYWxpemVycy9mcmFjdGlvbmFsX2RlY2ltYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0VBQXFEO0FBSTlDLE1BQU0sRUFBRSxHQUFtRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUU7SUFDL0YsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNuRCxJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUE7SUFDdEIsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFBO0lBQ2xCLElBQUksaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFFMUIseUJBQXlCO0lBQ3pCLElBQUksVUFBVSxDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDOUMsS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUE7SUFDbEUsQ0FBQztJQUVELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFhLEVBQVUsRUFBRTtRQUMvQyxPQUFPLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQ3ZELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQ1IsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQ3JDLENBQUE7SUFDTCxDQUFDLENBQUE7SUFFRCwwQkFBMEI7SUFDMUIsSUFBSSxVQUFVLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxDQUFDLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEtB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
@@ -0,0 +1,2 @@
1
+ import * as signatures from "../../../../../interface/signatures";
2
+ export declare const $$: signatures.deserializers.primitives.integer.hexadecimal;