pareto-json 0.3.13 → 0.3.15
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.
- package/dist/implementation/manual/primitives/approximate_number/deserializers/scientific_notation.d.ts +2 -0
- package/dist/implementation/manual/primitives/approximate_number/deserializers/scientific_notation.js +108 -0
- package/dist/implementation/manual/primitives/approximate_number/serializers/scientific_notation.d.ts +2 -0
- package/dist/implementation/manual/primitives/approximate_number/serializers/scientific_notation.js +132 -0
- package/dist/implementation/manual/primitives/integer/deserializers/fractional_decimal.d.ts +2 -0
- package/dist/implementation/manual/primitives/integer/deserializers/fractional_decimal.js +89 -0
- package/dist/implementation/manual/primitives/integer/serializers/fractional_decimal.d.ts +2 -0
- package/dist/implementation/manual/primitives/integer/serializers/fractional_decimal.js +84 -0
- package/dist/implementation/manual/primitives/text/serializers/quoted.js +5 -4
- package/dist/implementation/manual/schemas/json/transformers/fountain_pen_block.js +4 -4
- package/dist/interface/signatures.d.ts +35 -0
- package/dist/interface/signatures.js +3 -0
- package/package.json +4 -5
|
@@ -0,0 +1,108 @@
|
|
|
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.$$ = void 0;
|
|
27
|
+
const _p = __importStar(require("pareto-core-deserializer"));
|
|
28
|
+
const $$ = ($, abort) => {
|
|
29
|
+
const characters = _p.list.from_text($, ($) => $);
|
|
30
|
+
let result = 0;
|
|
31
|
+
let isNegative = false;
|
|
32
|
+
let startIndex = 0;
|
|
33
|
+
let decimalPart = 0;
|
|
34
|
+
let decimalDivisor = 1;
|
|
35
|
+
let exponent = 0;
|
|
36
|
+
let isExponentNegative = false;
|
|
37
|
+
let hasDecimal = false;
|
|
38
|
+
let inExponent = false;
|
|
39
|
+
const get_character_at = (index) => characters.__get_possible_element_at(index).__decide(($) => $, () => abort(`index out of bounds`));
|
|
40
|
+
// Check for negative sign
|
|
41
|
+
if (characters.__get_number_of_elements() > 0 && get_character_at(0) === 45) { // '-'
|
|
42
|
+
isNegative = true;
|
|
43
|
+
startIndex = 1;
|
|
44
|
+
}
|
|
45
|
+
// Parse the number
|
|
46
|
+
for (let i = startIndex; i < characters.__get_number_of_elements(); i++) {
|
|
47
|
+
const charCode = get_character_at(i);
|
|
48
|
+
if (charCode === 46) { // '.'
|
|
49
|
+
if (hasDecimal || inExponent) {
|
|
50
|
+
abort(`Invalid decimal format: multiple decimal points or decimal in exponent`);
|
|
51
|
+
}
|
|
52
|
+
hasDecimal = true;
|
|
53
|
+
}
|
|
54
|
+
else if (charCode === 101 || charCode === 69) { // 'e' or 'E'
|
|
55
|
+
if (inExponent) {
|
|
56
|
+
abort(`Invalid decimal format: multiple exponent markers`);
|
|
57
|
+
}
|
|
58
|
+
inExponent = true;
|
|
59
|
+
// Check for exponent sign
|
|
60
|
+
if (i + 1 < characters.__get_number_of_elements()) {
|
|
61
|
+
const nextChar = get_character_at(i + 1);
|
|
62
|
+
if (nextChar === 45) { // '-'
|
|
63
|
+
isExponentNegative = true;
|
|
64
|
+
i++;
|
|
65
|
+
}
|
|
66
|
+
else if (nextChar === 43) { // '+'
|
|
67
|
+
i++;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
else if (charCode >= 48 && charCode <= 57) { // '0'-'9'
|
|
72
|
+
const digit = charCode - 48;
|
|
73
|
+
if (inExponent) {
|
|
74
|
+
exponent = exponent * 10 + digit;
|
|
75
|
+
}
|
|
76
|
+
else if (hasDecimal) {
|
|
77
|
+
decimalPart = decimalPart * 10 + digit;
|
|
78
|
+
decimalDivisor = decimalDivisor * 10;
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
result = result * 10 + digit;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
abort(`Invalid character in decimal string`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// Combine integer and decimal parts
|
|
89
|
+
let finalResult = result + (decimalPart / decimalDivisor);
|
|
90
|
+
// Apply exponent
|
|
91
|
+
if (isExponentNegative) {
|
|
92
|
+
exponent = -exponent;
|
|
93
|
+
}
|
|
94
|
+
// Apply exponent by multiplying/dividing by 10
|
|
95
|
+
if (exponent > 0) {
|
|
96
|
+
for (let i = 0; i < exponent; i++) {
|
|
97
|
+
finalResult = finalResult * 10;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
else if (exponent < 0) {
|
|
101
|
+
for (let i = 0; i < -exponent; i++) {
|
|
102
|
+
finalResult = finalResult / 10;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return isNegative ? -finalResult : finalResult;
|
|
106
|
+
};
|
|
107
|
+
exports.$$ = $$;
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NpZW50aWZpY19ub3RhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9tYW51YWwvcHJpbWl0aXZlcy9hcHByb3hpbWF0ZV9udW1iZXIvZGVzZXJpYWxpemVycy9zY2llbnRpZmljX25vdGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQThDO0FBSXZDLE1BQU0sRUFBRSxHQUErRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUN2RyxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2pELElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQTtJQUNkLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQTtJQUN0QixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUE7SUFDbEIsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFBO0lBQ25CLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQTtJQUN0QixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUE7SUFDaEIsSUFBSSxrQkFBa0IsR0FBRyxLQUFLLENBQUE7SUFDOUIsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFBO0lBQ3RCLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQTtJQUV0QixNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBYSxFQUFVLEVBQUUsQ0FBQyxVQUFVLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUNwRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUNSLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUNyQyxDQUFBO0lBRUQsMEJBQTBCO0lBQzFCLElBQUksVUFBVSxDQUFDLHdCQUF3QixF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
|
package/dist/implementation/manual/primitives/approximate_number/serializers/scientific_notation.js
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
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.$$ = void 0;
|
|
27
|
+
const _p = __importStar(require("pareto-core-refiner"));
|
|
28
|
+
const _ps = __importStar(require("pareto-core-serializer"));
|
|
29
|
+
const $$ = ($, $p) => {
|
|
30
|
+
return _ps.text.deprecated_build(($i) => {
|
|
31
|
+
// Handle special case for zero in scientific notation
|
|
32
|
+
if ($ === 0) {
|
|
33
|
+
$i['add character'](48); // '0'
|
|
34
|
+
// Add decimal point if we have more than 1 digit
|
|
35
|
+
if ($p.digits > 1) {
|
|
36
|
+
$i['add character'](46); // '.'
|
|
37
|
+
// Add the required number of zeros after decimal point
|
|
38
|
+
for (let i = 0; i < $p.digits - 1; i++) {
|
|
39
|
+
$i['add character'](48); // '0'
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// Add exponent part for zero: e+0
|
|
43
|
+
$i['add character'](101); // 'e'
|
|
44
|
+
$i['add character'](43); // '+'
|
|
45
|
+
$i['add character'](48); // '0'
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
// Handle negative numbers
|
|
49
|
+
if ($ < 0) {
|
|
50
|
+
$i['add character'](45); // '-'
|
|
51
|
+
$ = -$;
|
|
52
|
+
}
|
|
53
|
+
// Calculate exponent and mantissa for scientific notation
|
|
54
|
+
let exponent = 0;
|
|
55
|
+
let mantissa = $;
|
|
56
|
+
// Normalize to range [1, 10)
|
|
57
|
+
if (mantissa >= 10) {
|
|
58
|
+
while (mantissa >= 10) {
|
|
59
|
+
mantissa = mantissa / 10;
|
|
60
|
+
exponent++;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else if (mantissa < 1) {
|
|
64
|
+
while (mantissa < 1) {
|
|
65
|
+
mantissa = mantissa * 10;
|
|
66
|
+
exponent--;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// Create scale factor by multiplying
|
|
70
|
+
let scale_factor = 1;
|
|
71
|
+
for (let i = 0; i < $p.digits - 1; i++) {
|
|
72
|
+
scale_factor = scale_factor * 10;
|
|
73
|
+
}
|
|
74
|
+
// Simple rounding using integer operations
|
|
75
|
+
const mantissa_scaled = _p.integer.divide(mantissa * scale_factor + 0.5, 1, () => _p.unreachable_code_path());
|
|
76
|
+
// Convert mantissa to string
|
|
77
|
+
const digits = _p.list.deprecated_build(($i) => {
|
|
78
|
+
let temp = mantissa_scaled;
|
|
79
|
+
// temp is always > 0 here since mantissa_scaled = integer_division(mantissa * scale_factor + 0.5, 1)
|
|
80
|
+
// where mantissa >= 1.0 (normalized) and scale_factor >= 1, so result >= 1
|
|
81
|
+
do {
|
|
82
|
+
const digit = temp % 10;
|
|
83
|
+
$i['add element'](digit);
|
|
84
|
+
temp = _p.integer.divide(temp, 10, () => _p.unreachable_code_path());
|
|
85
|
+
} while (temp > 0);
|
|
86
|
+
});
|
|
87
|
+
// Add leading digit
|
|
88
|
+
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
|
|
89
|
+
);
|
|
90
|
+
$i['add character'](48 + first_digit); // First digit
|
|
91
|
+
// Add decimal point if we have more digits
|
|
92
|
+
if ($p.digits > 1 && digits.__get_number_of_elements() > 1) {
|
|
93
|
+
$i['add character'](46); // '.'
|
|
94
|
+
// Add remaining digits in reverse order
|
|
95
|
+
for (let j = digits.__get_number_of_elements() - 2; j >= 0; j--) {
|
|
96
|
+
const digit = digits.__get_possible_element_at(j).__decide(($) => $, () => _p.unreachable_code_path() // index cannot be out of bounds
|
|
97
|
+
);
|
|
98
|
+
$i['add character'](48 + digit);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// Add exponent part
|
|
102
|
+
$i['add character'](101); // 'e'
|
|
103
|
+
if (exponent < 0) {
|
|
104
|
+
$i['add character'](45); // '-'
|
|
105
|
+
exponent = -exponent;
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
$i['add character'](43); // '+'
|
|
109
|
+
}
|
|
110
|
+
// Convert exponent to string
|
|
111
|
+
const exp_digits = _p.list.deprecated_build(($i) => {
|
|
112
|
+
if (exponent === 0) {
|
|
113
|
+
$i['add element'](0);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
do {
|
|
117
|
+
const digit = exponent % 10;
|
|
118
|
+
$i['add element'](digit);
|
|
119
|
+
exponent = _p.integer.divide(exponent, 10, () => _p.unreachable_code_path());
|
|
120
|
+
} while (exponent > 0);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
// Add exponent digits in reverse order
|
|
124
|
+
for (let j = exp_digits.__get_number_of_elements() - 1; j >= 0; j--) {
|
|
125
|
+
const digit = exp_digits.__get_possible_element_at(j).__decide(($) => $, () => _p.unreachable_code_path() // index cannot be out of bounds
|
|
126
|
+
);
|
|
127
|
+
$i['add character'](48 + digit);
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
};
|
|
131
|
+
exports.$$ = $$;
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NpZW50aWZpY19ub3RhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9tYW51YWwvcHJpbWl0aXZlcy9hcHByb3hpbWF0ZV9udW1iZXIvc2VyaWFsaXplcnMvc2NpZW50aWZpY19ub3RhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdEQUF5QztBQUN6Qyw0REFBNkM7QUFJdEMsTUFBTSxFQUFFLEdBQTZFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFO0lBQ2xHLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1FBQ3BDLHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNWLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLE1BQU07WUFFOUIsaURBQWlEO1lBQ2pELElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDaEIsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsTUFBTTtnQkFFOUIsdURBQXVEO2dCQUN2RCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDckMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsTUFBTTtnQkFDbEMsQ0FBQztZQUNMLENBQUM7WUFFRCxrQ0FBa0M7WUFDbEMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUMsTUFBTTtZQUMvQixFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FB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
|
|
@@ -0,0 +1,89 @@
|
|
|
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.$$ = void 0;
|
|
27
|
+
const _pds = __importStar(require("pareto-core-deserializer"));
|
|
28
|
+
const $$ = ($, abort, $p) => {
|
|
29
|
+
const characters = _pds.list.from_text($, ($) => $);
|
|
30
|
+
let isNegative = false;
|
|
31
|
+
let startIndex = 0;
|
|
32
|
+
let decimalPointIndex = -1;
|
|
33
|
+
// Check for empty string
|
|
34
|
+
if (characters.__get_number_of_elements() === 0) {
|
|
35
|
+
abort(`Empty string is not a valid fractional decimal number`);
|
|
36
|
+
}
|
|
37
|
+
const get_character_at = (index) => {
|
|
38
|
+
return characters.__get_possible_element_at(index).__decide(($) => $, () => abort(`index out of bounds`));
|
|
39
|
+
};
|
|
40
|
+
// Check for negative sign
|
|
41
|
+
if (characters.__get_number_of_elements() > 0 && get_character_at(0) === 45) { // '-'
|
|
42
|
+
isNegative = true;
|
|
43
|
+
startIndex = 1;
|
|
44
|
+
}
|
|
45
|
+
// Find decimal point and validate characters
|
|
46
|
+
for (let i = startIndex; i < characters.__get_number_of_elements(); i++) {
|
|
47
|
+
const charCode = get_character_at(i);
|
|
48
|
+
if (charCode === 46) { // '.'
|
|
49
|
+
if (decimalPointIndex !== -1) {
|
|
50
|
+
abort(`Multiple decimal points found`);
|
|
51
|
+
}
|
|
52
|
+
decimalPointIndex = i;
|
|
53
|
+
}
|
|
54
|
+
else if (!(charCode >= 48 && charCode <= 57)) {
|
|
55
|
+
abort(`Invalid character in fractional decimal string`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// Must have a decimal point
|
|
59
|
+
if (decimalPointIndex === -1) {
|
|
60
|
+
abort(`No decimal point found in fractional decimal string`);
|
|
61
|
+
}
|
|
62
|
+
// Check that we have digits before decimal point
|
|
63
|
+
if (decimalPointIndex === startIndex) {
|
|
64
|
+
abort(`No digits before decimal point`);
|
|
65
|
+
}
|
|
66
|
+
// Calculate number of fractional digits in input
|
|
67
|
+
const inputFractionalDigits = characters.__get_number_of_elements() - decimalPointIndex - 1;
|
|
68
|
+
const expectedFractionalDigits = $p['number of fractional digits'];
|
|
69
|
+
// Check that the number of fractional digits matches expected
|
|
70
|
+
if (inputFractionalDigits !== expectedFractionalDigits) {
|
|
71
|
+
abort(`Expected ${expectedFractionalDigits} fractional digits, but found ${inputFractionalDigits}`);
|
|
72
|
+
}
|
|
73
|
+
// Parse integer part
|
|
74
|
+
let result = 0;
|
|
75
|
+
for (let i = startIndex; i < decimalPointIndex; i++) {
|
|
76
|
+
const charCode = get_character_at(i);
|
|
77
|
+
const digit = charCode - 48;
|
|
78
|
+
result = result * 10 + digit;
|
|
79
|
+
}
|
|
80
|
+
// Parse fractional part
|
|
81
|
+
for (let i = decimalPointIndex + 1; i < characters.__get_number_of_elements(); i++) {
|
|
82
|
+
const charCode = get_character_at(i);
|
|
83
|
+
const digit = charCode - 48;
|
|
84
|
+
result = result * 10 + digit;
|
|
85
|
+
}
|
|
86
|
+
return isNegative ? -result : result;
|
|
87
|
+
};
|
|
88
|
+
exports.$$ = $$;
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhY3Rpb25hbF9kZWNpbWFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL21hbnVhbC9wcmltaXRpdmVzL2ludGVnZXIvZGVzZXJpYWxpemVycy9mcmFjdGlvbmFsX2RlY2ltYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrREFBZ0Q7QUFJekMsTUFBTSxFQUFFLEdBQW1FLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRTtJQUMvRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ25ELElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQTtJQUN0QixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUE7SUFDbEIsSUFBSSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUUxQix5QkFBeUI7SUFDekIsSUFBSSxVQUFVLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM5QyxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQTtJQUNsRSxDQUFDO0lBRUQsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWEsRUFBVSxFQUFFO1FBQy9DLE9BQU8sVUFBVSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FDdkQsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDUixHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FDckMsQ0FBQTtJQUNMLENBQUMsQ0FBQTtJQUVELDBCQUEwQjtJQUMxQixJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxHQUFHLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVB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
|
|
@@ -0,0 +1,84 @@
|
|
|
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.$$ = void 0;
|
|
27
|
+
const _p = __importStar(require("pareto-core-refiner"));
|
|
28
|
+
const _ps = __importStar(require("pareto-core-serializer"));
|
|
29
|
+
const $$ = ($, $p) => {
|
|
30
|
+
const fractionalDigits = $p['number of fractional digits'];
|
|
31
|
+
return _ps.text.from_list(_p.list.deprecated_build(($i) => {
|
|
32
|
+
let value = $;
|
|
33
|
+
// Handle negative numbers
|
|
34
|
+
if (value < 0) {
|
|
35
|
+
$i['add element'](45); // '-'
|
|
36
|
+
value = -value;
|
|
37
|
+
}
|
|
38
|
+
// Calculate the divisor for the fractional part (10^fractionalDigits)
|
|
39
|
+
let divisor = 1;
|
|
40
|
+
for (let i = 0; i < fractionalDigits; i++) {
|
|
41
|
+
divisor *= 10;
|
|
42
|
+
}
|
|
43
|
+
// Split into integer and fractional parts
|
|
44
|
+
const integerPart = _p.integer.divide(value, divisor, () => _p.unreachable_code_path());
|
|
45
|
+
const fractionalPart = value % divisor;
|
|
46
|
+
// Generate integer part digits
|
|
47
|
+
const integerDigits = _p.list.deprecated_build(($i) => {
|
|
48
|
+
let temp = integerPart;
|
|
49
|
+
if (temp === 0) {
|
|
50
|
+
$i['add element'](0);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
while (temp > 0) {
|
|
54
|
+
const digit = temp % 10;
|
|
55
|
+
$i['add element'](digit);
|
|
56
|
+
temp = _p.integer.divide(temp, 10, () => _p.unreachable_code_path());
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
// Add integer part (reverse order)
|
|
61
|
+
for (let j = integerDigits.__get_number_of_elements() - 1; j >= 0; j--) {
|
|
62
|
+
$i['add element'](48 + integerDigits.__get_possible_element_at(j).__decide(($) => $, () => _p.unreachable_code_path() // index cannot be out of bounds
|
|
63
|
+
));
|
|
64
|
+
}
|
|
65
|
+
// Add decimal point
|
|
66
|
+
$i['add element'](46); // '.'
|
|
67
|
+
// Generate fractional part digits
|
|
68
|
+
const fractionalDigits_list = _p.list.deprecated_build(($i) => {
|
|
69
|
+
let temp = fractionalPart;
|
|
70
|
+
for (let i = 0; i < fractionalDigits; i++) {
|
|
71
|
+
const digit = temp % 10;
|
|
72
|
+
$i['add element'](digit);
|
|
73
|
+
temp = _p.integer.divide(temp, 10, () => _p.unreachable_code_path());
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
// Add fractional part (reverse order)
|
|
77
|
+
for (let j = fractionalDigits_list.__get_number_of_elements() - 1; j >= 0; j--) {
|
|
78
|
+
$i['add element'](48 + fractionalDigits_list.__get_possible_element_at(j).__decide(($) => $, () => _p.unreachable_code_path() // index cannot be out of bounds
|
|
79
|
+
));
|
|
80
|
+
}
|
|
81
|
+
}), ($) => $);
|
|
82
|
+
};
|
|
83
|
+
exports.$$ = $$;
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhY3Rpb25hbF9kZWNpbWFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL21hbnVhbC9wcmltaXRpdmVzL2ludGVnZXIvc2VyaWFsaXplcnMvZnJhY3Rpb25hbF9kZWNpbWFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsd0RBQXlDO0FBQ3pDLDREQUE2QztBQUt0QyxNQUFNLEVBQUUsR0FBaUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUU7SUFDdEYsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtJQUUxRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUNyQixFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFTLENBQUMsRUFBRSxFQUFFLEVBQUU7UUFDcEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFBO1FBRWIsMEJBQTBCO1FBQzFCLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ1osRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsTUFBTTtZQUM1QixLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUE7UUFDbEIsQ0FBQztRQUVELHNFQUFzRTtRQUN0RSxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUE7UUFDZixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN4QyxPQUFPLElBQUksRUFBRSxDQUFBO1FBQ2pCLENBQUM7UUFFRCwwQ0FBMEM7UUFDMUMsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxD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
|
|
@@ -24,10 +24,11 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.$$ = void 0;
|
|
27
|
-
const
|
|
27
|
+
const _ps = __importStar(require("pareto-core-serializer"));
|
|
28
|
+
const _pd = __importStar(require("pareto-core-deserializer"));
|
|
28
29
|
const $$ = ($) => '"'
|
|
29
|
-
+
|
|
30
|
-
|
|
30
|
+
+ _ps.text.deprecated_build(($i) => {
|
|
31
|
+
_pd.list.from_text($, ($) => $).__for_each(($) => {
|
|
31
32
|
switch ($) {
|
|
32
33
|
case 0x2F: // slash (\/)
|
|
33
34
|
$i['add character'](0x5C); // \
|
|
@@ -73,4 +74,4 @@ const $$ = ($) => '"'
|
|
|
73
74
|
})
|
|
74
75
|
+ '"';
|
|
75
76
|
exports.$$ = $$;
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL21hbnVhbC9wcmltaXRpdmVzL3RleHQvc2VyaWFsaXplcnMvcXVvdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsNERBQTZDO0FBQzdDLDhEQUErQztBQUV4QyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQVMsRUFBVSxFQUFFLENBQUMsR0FBRztNQUN0QyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7UUFDL0IsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM3QyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNSLEtBQUssSUFBSSxFQUFFLGFBQWE7b0JBQ3BCLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLElBQUk7b0JBQzlCLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLElBQUk7b0JBQzlCLE1BQUs7Z0JBQ1QsS0FBSyxJQUFJLEVBQUUsU0FBUztvQkFDaEIsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsSUFBSTtvQkFDOUIsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsSUFBSTtvQkFDOUIsTUFBSztnQkFFVCxLQUFLLElBQUksRUFBRSxTQUFTO29CQUNoQixFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxJQUFJO29CQUM5QixFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxJQUFJO29CQUM5QixNQUFLO2dCQUVULEtBQUssSUFBSSxFQUFFLGlCQUFpQjtvQkFDeEIsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsSUFBSTtvQkFDOUIsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsSUFBSTtvQkFDOUIsTUFBSztnQkFFVCxLQUFLLElBQUksRUFBRSxpQkFBaUI7b0JBQ3hCLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLElBQUk7b0JBQzlCLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLElBQUk7b0JBQzlCLE1BQUs7Z0JBRVQsS0FBSyxJQUFJLEVBQUUsaUJBQWlCO29CQUN4QixFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxJQUFJO29CQUM5QixFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxJQUFJO29CQUM5QixNQUFLO2dCQUVULEtBQUssSUFBSSxFQUFFLHVCQUF1QjtvQkFDOUIsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsSUFBSTtvQkFDOUIsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsSUFBSTtvQkFDOUIsTUFBSztnQkFFVCxLQUFLLElBQUksRUFBRSxzQkFBc0I7b0JBQzdCLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLElBQUk7b0JBQzlCLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLElBQUk7b0JBQzlCLE1BQUs7Z0JBRVQsS0FBSyxJQUFJLEVBQUUsb0JBQW9CO29CQUMzQixFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxJQUFJO29CQUM5QixFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxJQUFJO29CQUM5QixNQUFLO2dCQUNULE9BQU8sQ0FBQyxDQUFDLENBQUM7b0JBQ1AsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUN6QixDQUFDO1lBRUwsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDO01BQ0EsR0FBRyxDQUFBO0FBdERJLFFBQUEsRUFBRSxNQXNETiJ9
|
|
@@ -30,8 +30,8 @@ const sh = __importStar(require("pareto-fountain-pen/dist/shorthands/block"));
|
|
|
30
30
|
//dependencies
|
|
31
31
|
const enrich_with_position_information_1 = require("pareto-fountain-pen/dist/implementation/temp/enrich_with_position_information");
|
|
32
32
|
const quoted_1 = require("../../../primitives/text/serializers/quoted");
|
|
33
|
-
const
|
|
34
|
-
const scientific_notation_1 = require("
|
|
33
|
+
const fractional_decimal_1 = require("../../../primitives/integer/serializers/fractional_decimal");
|
|
34
|
+
const scientific_notation_1 = require("../../../primitives/approximate_number/serializers/scientific_notation");
|
|
35
35
|
const String = ($ //FIX should have been a schema type
|
|
36
36
|
) => sh.b.snippet((0, quoted_1.$$)($));
|
|
37
37
|
const Value = ($) => _p.sg($, ($) => {
|
|
@@ -72,7 +72,7 @@ const Value = ($) => _p.sg($, ($) => {
|
|
|
72
72
|
case 'null': return _p.ss($, ($) => sh.b.snippet("null"));
|
|
73
73
|
case 'number': return _p.ss($, ($) => _p.sg($, ($) => {
|
|
74
74
|
switch ($[0]) {
|
|
75
|
-
case 'integer': return _p.ss($, ($) => sh.b.snippet((0,
|
|
75
|
+
case 'integer': return _p.ss($, ($) => sh.b.snippet((0, fractional_decimal_1.$$)($, { 'number of fractional digits': 0 })));
|
|
76
76
|
case 'float': return _p.ss($, ($) => sh.b.snippet((0, scientific_notation_1.$$)($, { 'digits': 15 })));
|
|
77
77
|
default: return _p.au($[0]);
|
|
78
78
|
}
|
|
@@ -86,4 +86,4 @@ const Document = ($) => sh.group([sh.g.nested_block([
|
|
|
86
86
|
(0, exports.Value)($),
|
|
87
87
|
])]);
|
|
88
88
|
exports.Document = Document;
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm91bnRhaW5fcGVuX2Jsb2NrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL21hbnVhbC9zY2hlbWFzL2pzb24vdHJhbnNmb3JtZXJzL2ZvdW50YWluX3Blbl9ibG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDREQUE2QztBQU03QyxZQUFZO0FBQ1osOEVBQStEO0FBRS9ELGNBQWM7QUFDZCxvSUFBdUo7QUFDdkosd0VBQTRFO0FBQzVFLG1HQUE0RjtBQUM1RixnSEFBb0g7QUFFcEgsTUFBTSxNQUFNLEdBQUcsQ0FDWCxDQUFTLENBQUMsb0NBQW9DO0VBQzlCLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFBLFdBQVEsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBRXpDLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBYSxFQUFvQixFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNyRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1gsS0FBSyxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUMzQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDakIsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7Z0JBQ1IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQW9CLEVBQUU7b0JBQzdCLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7d0JBQ1gsS0FBSyxZQUFZLENBQUMsQ0FBQyxPQUFP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O1lBQ0osRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1NBQ3BCLENBQUMsQ0FBQyxDQUFBO1FBQ0gsS0FBSyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQ3pELEtBQUssU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7UUFDMUUsS0FBSyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQ3pELEtBQUssUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNqRCxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNYLEtBQUssU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBQSx1QkFBUyxFQUFDLENBQUMsRUFBRSxFQUFFLDZCQUE2QixFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUN4RyxLQUFLLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUEsd0JBQXFCLEVBQUMsQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUM5RixPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDL0IsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDSCxLQUFLLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2hELE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMvQixDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUE7QUE5Q1csUUFBQSxLQUFLLFNBOENoQjtBQUVLLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBaUIsRUFBZSxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO1FBQ3BGLElBQUEsYUFBSyxFQUFDLENBQUMsQ0FBQztLQUNYLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFGUyxRQUFBLFFBQVEsWUFFakIifQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as _pi from 'pareto-core-interface';
|
|
2
|
+
export declare namespace deserializers {
|
|
3
|
+
namespace primitives {
|
|
4
|
+
namespace approximate_number {
|
|
5
|
+
type scientific_notation = _pi.Number_Deserializer<string>;
|
|
6
|
+
}
|
|
7
|
+
namespace integer {
|
|
8
|
+
type fractional_decimal = _pi.Number_Deserializer_With_Parameters<string, {
|
|
9
|
+
'number of fractional digits': number;
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
12
|
+
namespace boolean {
|
|
13
|
+
type true_false = _pi.Boolean_Deserializer<string>;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export declare namespace serializers {
|
|
18
|
+
namespace primitives {
|
|
19
|
+
namespace approximate_number {
|
|
20
|
+
type scientific_notation = _pi.Number_Serializer_With_Parameters<{
|
|
21
|
+
'digits': number;
|
|
22
|
+
}>;
|
|
23
|
+
}
|
|
24
|
+
namespace integer {
|
|
25
|
+
type fractional_decimal = _pi.Number_Serializer_With_Parameters<{
|
|
26
|
+
'number of fractional digits': number;
|
|
27
|
+
}>;
|
|
28
|
+
}
|
|
29
|
+
namespace boolean {
|
|
30
|
+
type true_false = _pi.Boolean_Serializer;
|
|
31
|
+
}
|
|
32
|
+
namespace text {
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlcmZhY2Uvc2lnbmF0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pareto-json",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.15",
|
|
4
4
|
"description": "A TypeScript library for building JSON values in Pareto-style which can then be serialized",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -27,9 +27,8 @@
|
|
|
27
27
|
"node": ">=14.0.0"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"
|
|
31
|
-
"pareto-core-shorthands": "^0.
|
|
32
|
-
"pareto-fountain-pen": "^0.
|
|
33
|
-
"pareto-standard-operations": "^0.3.41"
|
|
30
|
+
"pareto-core-deserializer": "^0.3.2",
|
|
31
|
+
"pareto-core-shorthands": "^0.2.3",
|
|
32
|
+
"pareto-fountain-pen": "^0.4.2"
|
|
34
33
|
}
|
|
35
34
|
}
|