pareto-json 0.3.89 → 0.3.91

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 (104) hide show
  1. package/dist/api.js +4 -4
  2. package/dist/interface/api.d.ts +6 -6
  3. package/dist/interface/api.js +6 -6
  4. package/dist/modules/deserialization/implementation/refiners/model/astn_parse_tree.d.ts +5 -0
  5. package/dist/modules/deserialization/implementation/refiners/model/astn_parse_tree.js +93 -0
  6. package/dist/modules/deserialization/implementation/refiners/model/list_of_characters.d.ts +10 -0
  7. package/dist/modules/deserialization/implementation/refiners/model/list_of_characters.js +5 -0
  8. package/dist/{_implementation → modules/deserialization/implementation}/refiners/primitives/list_of_characters.d.ts +1 -1
  9. package/dist/modules/deserialization/implementation/refiners/primitives/list_of_characters.js +83 -0
  10. package/dist/{_implementation/serializers/deserialize_json.d.ts → modules/deserialization/implementation/serializers/deserialization.d.ts} +1 -1
  11. package/dist/modules/deserialization/implementation/serializers/deserialization.js +26 -0
  12. package/dist/modules/deserialization/schemas/astn_parse_tree_deserialization.d.ts +1 -0
  13. package/dist/modules/deserialization/schemas/astn_parse_tree_deserialization.js +2 -0
  14. package/dist/modules/deserialization/schemas/deserialization.js +2 -0
  15. package/dist/modules/deserialization/schemas/list_of_characters.d.ts +1 -0
  16. package/dist/modules/deserialization/schemas/list_of_characters.js +2 -0
  17. package/dist/modules/deserialization/schemas/location.d.ts +1 -0
  18. package/dist/modules/deserialization/schemas/location.js +2 -0
  19. package/dist/modules/deserialization/schemas/model.js +2 -0
  20. package/dist/modules/deserialization/schemas/parse_tree.d.ts +1 -0
  21. package/dist/modules/deserialization/schemas/parse_tree.js +2 -0
  22. package/dist/modules/serialization/implementation/serializers/primitives.js +225 -0
  23. package/dist/{_implementation/transformers/json_with_guaranteed_unique_keys → modules/serialization/implementation/transformers/with_guaranteed_unique_keys}/paragraph.d.ts +2 -2
  24. package/dist/modules/serialization/implementation/transformers/with_guaranteed_unique_keys/paragraph.js +41 -0
  25. package/dist/{_implementation/transformers/json_without_guaranteed_unique_keys → modules/serialization/implementation/transformers/without_guaranteed_unique_keys}/paragraph.d.ts +2 -2
  26. package/dist/modules/serialization/implementation/transformers/without_guaranteed_unique_keys/paragraph.js +41 -0
  27. package/dist/{interface → modules/serialization}/schemas/paragraph.js +1 -1
  28. package/dist/modules/serialization/schemas/with_guaranteed_unique_keys.js +2 -0
  29. package/dist/modules/serialization/schemas/without_guaranteed_unique_keys.js +2 -0
  30. package/dist/{_implementation → modules/unmarshalling/implemenation}/refiners/unmarshalled/astn_parse_tree.js +1 -1
  31. package/dist/{_implementation → modules/unmarshalling/implemenation}/refiners/unmarshalled_json_value/json_with_parse_info.d.ts +3 -3
  32. package/dist/modules/unmarshalling/implemenation/refiners/unmarshalled_json_value/json_with_parse_info.js +118 -0
  33. package/dist/{_implementation/serializers/unmarshalled_from_json.d.ts → modules/unmarshalling/implemenation/serializers/json_value_unmarshalling.d.ts} +2 -2
  34. package/dist/modules/unmarshalling/implemenation/serializers/json_value_unmarshalling.js +31 -0
  35. package/dist/modules/unmarshalling/schemas/astn_value_unmarshalling.d.ts +1 -0
  36. package/dist/modules/unmarshalling/schemas/astn_value_unmarshalling.js +2 -0
  37. package/dist/modules/unmarshalling/schemas/json_value_unmarshalling.js +2 -0
  38. package/dist/modules/unmarshalling/schemas/location.d.ts +1 -0
  39. package/dist/modules/unmarshalling/schemas/location.js +2 -0
  40. package/dist/modules/unmarshalling/schemas/paragraph.d.ts +1 -0
  41. package/dist/modules/unmarshalling/schemas/paragraph.js +2 -0
  42. package/dist/{private_schemas/unmarshalled_from_parse_tree_x.d.ts → modules/unmarshalling/schemas/unmarshalled_from_parse_tree.d.ts} +2 -2
  43. package/dist/modules/unmarshalling/schemas/unmarshalled_from_parse_tree.js +2 -0
  44. package/dist/{interface → modules/unmarshalling}/schemas/unmarshalled_json_value.d.ts +1 -1
  45. package/dist/modules/unmarshalling/schemas/unmarshalled_json_value.js +2 -0
  46. package/dist/shorthands/json_with_guaranteed_unique_keys/target.d.ts +6 -1
  47. package/dist/shorthands/json_with_guaranteed_unique_keys/target.js +5 -8
  48. package/dist/shorthands/json_without_guaranteed_unique_keys/target.d.ts +6 -1
  49. package/dist/shorthands/json_without_guaranteed_unique_keys/target.js +5 -8
  50. package/package.json +1 -1
  51. package/dist/_implementation/refiners/json_with_parse_info/astn_parse_tree.d.ts +0 -5
  52. package/dist/_implementation/refiners/json_with_parse_info/astn_parse_tree.js +0 -93
  53. package/dist/_implementation/refiners/json_with_parse_info/list_of_characters.d.ts +0 -10
  54. package/dist/_implementation/refiners/json_with_parse_info/list_of_characters.js +0 -5
  55. package/dist/_implementation/refiners/json_y/json_with_parse_info.d.ts +0 -1
  56. package/dist/_implementation/refiners/json_y/json_with_parse_info.js +0 -4
  57. package/dist/_implementation/refiners/primitives/list_of_characters.js +0 -83
  58. package/dist/_implementation/refiners/unmarshalled_json_value/json_with_parse_info.js +0 -118
  59. package/dist/_implementation/serializers/deserialize_json.js +0 -26
  60. package/dist/_implementation/serializers/primitives.js +0 -225
  61. package/dist/_implementation/serializers/unmarshalled_from_json.js +0 -31
  62. package/dist/_implementation/serializers/unmarshalled_from_parse_tree.d.ts +0 -1
  63. package/dist/_implementation/serializers/unmarshalled_from_parse_tree.js +0 -21
  64. package/dist/_implementation/transformers/json_with_guaranteed_unique_keys/paragraph.js +0 -41
  65. package/dist/_implementation/transformers/json_without_guaranteed_unique_keys/paragraph.js +0 -41
  66. package/dist/declarations/refiners/json_with_parse_info/astn_parse_tree.d.ts +0 -1
  67. package/dist/declarations/refiners/json_with_parse_info/astn_parse_tree.js +0 -2
  68. package/dist/declarations/refiners/json_x/json_with_parse_info.d.ts +0 -1
  69. package/dist/declarations/refiners/json_x/json_with_parse_info.js +0 -2
  70. package/dist/declarations/refiners/json_y/json_with_parse_info.d.ts +0 -1
  71. package/dist/declarations/refiners/json_y/json_with_parse_info.js +0 -2
  72. package/dist/declarations/refiners/primitives/list_of_characters.d.ts +0 -1
  73. package/dist/declarations/refiners/primitives/list_of_characters.js +0 -2
  74. package/dist/declarations/refiners/unmarshalled/astn_parse_tree.d.ts +0 -1
  75. package/dist/declarations/refiners/unmarshalled/astn_parse_tree.js +0 -2
  76. package/dist/declarations/refiners/unmarshalled/text.d.ts +0 -1
  77. package/dist/declarations/refiners/unmarshalled/text.js +0 -2
  78. package/dist/interface/schemas/astn_parse_tree_deserialization.d.ts +0 -1
  79. package/dist/interface/schemas/astn_parse_tree_deserialization.js +0 -2
  80. package/dist/interface/schemas/deserialize_json.js +0 -2
  81. package/dist/interface/schemas/json_unmarshalling.js +0 -2
  82. package/dist/interface/schemas/json_with_guaranteed_unique_keys.js +0 -2
  83. package/dist/interface/schemas/json_with_parse_info.js +0 -2
  84. package/dist/interface/schemas/json_without_guaranteed_unique_keys.js +0 -2
  85. package/dist/interface/schemas/list_of_characters.d.ts +0 -1
  86. package/dist/interface/schemas/list_of_characters.js +0 -2
  87. package/dist/interface/schemas/location.d.ts +0 -1
  88. package/dist/interface/schemas/location.js +0 -2
  89. package/dist/interface/schemas/parse_tree.d.ts +0 -1
  90. package/dist/interface/schemas/parse_tree.js +0 -2
  91. package/dist/interface/schemas/unmarshalled_json_value.js +0 -2
  92. package/dist/private_schemas/unmarshall_json.d.ts +0 -3
  93. package/dist/private_schemas/unmarshall_json.js +0 -2
  94. package/dist/private_schemas/unmarshalled_from_parse_tree_x.js +0 -2
  95. package/dist/private_schemas/value_unmarshalling.d.ts +0 -1
  96. package/dist/private_schemas/value_unmarshalling.js +0 -2
  97. /package/dist/{interface/schemas/deserialize_json.d.ts → modules/deserialization/schemas/deserialization.d.ts} +0 -0
  98. /package/dist/{interface/schemas/json_with_parse_info.d.ts → modules/deserialization/schemas/model.d.ts} +0 -0
  99. /package/dist/{_implementation → modules/serialization/implementation}/serializers/primitives.d.ts +0 -0
  100. /package/dist/{interface → modules/serialization}/schemas/paragraph.d.ts +0 -0
  101. /package/dist/{interface/schemas/json_with_guaranteed_unique_keys.d.ts → modules/serialization/schemas/with_guaranteed_unique_keys.d.ts} +0 -0
  102. /package/dist/{interface/schemas/json_without_guaranteed_unique_keys.d.ts → modules/serialization/schemas/without_guaranteed_unique_keys.d.ts} +0 -0
  103. /package/dist/{_implementation → modules/unmarshalling/implemenation}/refiners/unmarshalled/astn_parse_tree.d.ts +0 -0
  104. /package/dist/{interface/schemas/json_unmarshalling.d.ts → modules/unmarshalling/schemas/json_value_unmarshalling.d.ts} +0 -0
package/dist/api.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as interface_ from "./interface/api.js";
2
- import * as r_json_with_parse_info_from_list_of_characters from "./_implementation/refiners/json_with_parse_info/list_of_characters.js";
3
- import * as ser_json_without_guaranteed_unique_keys_to_list_of_characters from "./_implementation/transformers/json_without_guaranteed_unique_keys/paragraph.js";
4
- import * as ser_json_with_guaranteed_unique_keys_to_list_of_characters from "./_implementation/transformers/json_with_guaranteed_unique_keys/paragraph.js";
2
+ import * as r_json_with_parse_info_from_list_of_characters from "./modules/deserialization/implementation/refiners/model/list_of_characters.js";
3
+ import * as ser_json_without_guaranteed_unique_keys_to_list_of_characters from "./modules/serialization/implementation/transformers/without_guaranteed_unique_keys/paragraph.js";
4
+ import * as ser_json_with_guaranteed_unique_keys_to_list_of_characters from "./modules/serialization/implementation/transformers/with_guaranteed_unique_keys/paragraph.js";
5
5
  export const api = {
6
6
  'serializers': {},
7
7
  'transformers': {
@@ -24,4 +24,4 @@ export const api = {
24
24
  }
25
25
  }
26
26
  };
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLG9CQUFvQixDQUFBO0FBRWhELE9BQU8sS0FBSyw4Q0FBOEMsTUFBTSx1RUFBdUUsQ0FBQTtBQUN2SSxPQUFPLEtBQUssNkRBQTZELE1BQU0saUZBQWlGLENBQUE7QUFDaEssT0FBTyxLQUFLLDBEQUEwRCxNQUFNLDhFQUE4RSxDQUFBO0FBRTFKLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBbUI7SUFDL0IsYUFBYSxFQUFFLEVBQ2Q7SUFDRCxjQUFjLEVBQUU7UUFFWiwwQkFBMEIsRUFBRTtZQUN4QixXQUFXLEVBQUU7Z0JBRVQsVUFBVSxFQUFFLDZEQUE2RCxDQUFDLFFBQVE7YUFDckY7U0FDSjtRQUNELHVCQUF1QixFQUFFO1lBQ3JCLFdBQVcsRUFBRTtnQkFFVCxVQUFVLEVBQUUsMERBQTBELENBQUMsUUFBUTthQUNsRjtTQUNKO0tBRUo7SUFDRCxVQUFVLEVBQUU7UUFDUixzQkFBc0IsRUFBRTtZQUNwQixvQkFBb0IsRUFBRTtnQkFFbEIsT0FBTyxFQUFFLDhDQUE4QyxDQUFDLEtBQUs7YUFDaEU7U0FDSjtLQUNKO0NBQ0osQ0FBQSJ9
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLG9CQUFvQixDQUFBO0FBRWhELE9BQU8sS0FBSyw4Q0FBOEMsTUFBTSwrRUFBK0UsQ0FBQTtBQUMvSSxPQUFPLEtBQUssNkRBQTZELE1BQU0saUdBQWlHLENBQUE7QUFDaEwsT0FBTyxLQUFLLDBEQUEwRCxNQUFNLDhGQUE4RixDQUFBO0FBRTFLLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBbUI7SUFDL0IsYUFBYSxFQUFFLEVBQ2Q7SUFDRCxjQUFjLEVBQUU7UUFFWiwwQkFBMEIsRUFBRTtZQUN4QixXQUFXLEVBQUU7Z0JBRVQsVUFBVSxFQUFFLDZEQUE2RCxDQUFDLFFBQVE7YUFDckY7U0FDSjtRQUNELHVCQUF1QixFQUFFO1lBQ3JCLFdBQVcsRUFBRTtnQkFFVCxVQUFVLEVBQUUsMERBQTBELENBQUMsUUFBUTthQUNsRjtTQUNKO0tBRUo7SUFDRCxVQUFVLEVBQUU7UUFDUixzQkFBc0IsRUFBRTtZQUNwQixvQkFBb0IsRUFBRTtnQkFFbEIsT0FBTyxFQUFFLDhDQUE4QyxDQUFDLEtBQUs7YUFDaEU7U0FDSjtLQUNKO0NBQ0osQ0FBQSJ9
@@ -1,11 +1,11 @@
1
1
  import * as p_t from 'pareto-core/interface/transformer';
2
2
  import * as p_r from 'pareto-core/interface/refiner';
3
- import * as s_deserialize_json from "./schemas/deserialize_json.js";
4
- import * as s_list_of_characters from "./schemas/list_of_characters.js";
5
- import * as s_json_with_guaranteed_unique_keys from "./schemas/json_with_guaranteed_unique_keys.js";
6
- import * as s_json_with_parse_info from "./schemas/json_with_parse_info.js";
7
- import * as s_json_without_guaranteed_unique_keys from "./schemas/json_without_guaranteed_unique_keys.js";
8
- import type * as s_paragraph from "./schemas/paragraph.js";
3
+ import * as s_deserialize_json from "../modules/deserialization/schemas/deserialization.js";
4
+ import * as s_list_of_characters from "../modules/deserialization/schemas/list_of_characters.js";
5
+ import * as s_json_with_guaranteed_unique_keys from "../modules/serialization/schemas/with_guaranteed_unique_keys.js";
6
+ import * as s_json_with_parse_info from "../modules/deserialization/schemas/model.js";
7
+ import * as s_json_without_guaranteed_unique_keys from "../modules/serialization/schemas/without_guaranteed_unique_keys.js";
8
+ import type * as s_paragraph from "../modules/serialization/schemas/paragraph.js";
9
9
  export type API = {
10
10
  'serializers': {};
11
11
  'transformers': {
@@ -2,9 +2,9 @@ import * as p_t from 'pareto-core/interface/transformer';
2
2
  import * as p_r from 'pareto-core/interface/refiner';
3
3
  import * as p_s from 'pareto-core/implementation/serializer';
4
4
  //schemas
5
- import * as s_deserialize_json from "./schemas/deserialize_json.js";
6
- import * as s_list_of_characters from "./schemas/list_of_characters.js";
7
- import * as s_json_with_guaranteed_unique_keys from "./schemas/json_with_guaranteed_unique_keys.js";
8
- import * as s_json_with_parse_info from "./schemas/json_with_parse_info.js";
9
- import * as s_json_without_guaranteed_unique_keys from "./schemas/json_without_guaranteed_unique_keys.js";
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZS9hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEdBQUcsTUFBTSxtQ0FBbUMsQ0FBQTtBQUN4RCxPQUFPLEtBQUssR0FBRyxNQUFNLCtCQUErQixDQUFBO0FBQ3BELE9BQU8sS0FBSyxHQUFHLE1BQU0sdUNBQXVDLENBQUE7QUFFNUQsU0FBUztBQUNULE9BQU8sS0FBSyxrQkFBa0IsTUFBTSwrQkFBK0IsQ0FBQTtBQUNuRSxPQUFPLEtBQUssb0JBQW9CLE1BQU0saUNBQWlDLENBQUE7QUFDdkUsT0FBTyxLQUFLLGtDQUFrQyxNQUFNLCtDQUErQyxDQUFBO0FBQ25HLE9BQU8sS0FBSyxzQkFBc0IsTUFBTSxtQ0FBbUMsQ0FBQTtBQUMzRSxPQUFPLEtBQUsscUNBQXFDLE1BQU0sa0RBQWtELENBQUEifQ==
5
+ import * as s_deserialize_json from "../modules/deserialization/schemas/deserialization.js";
6
+ import * as s_list_of_characters from "../modules/deserialization/schemas/list_of_characters.js";
7
+ import * as s_json_with_guaranteed_unique_keys from "../modules/serialization/schemas/with_guaranteed_unique_keys.js";
8
+ import * as s_json_with_parse_info from "../modules/deserialization/schemas/model.js";
9
+ import * as s_json_without_guaranteed_unique_keys from "../modules/serialization/schemas/without_guaranteed_unique_keys.js";
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZS9hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEdBQUcsTUFBTSxtQ0FBbUMsQ0FBQTtBQUN4RCxPQUFPLEtBQUssR0FBRyxNQUFNLCtCQUErQixDQUFBO0FBQ3BELE9BQU8sS0FBSyxHQUFHLE1BQU0sdUNBQXVDLENBQUE7QUFFNUQsU0FBUztBQUNULE9BQU8sS0FBSyxrQkFBa0IsTUFBTSx1REFBdUQsQ0FBQTtBQUMzRixPQUFPLEtBQUssb0JBQW9CLE1BQU0sMERBQTBELENBQUE7QUFDaEcsT0FBTyxLQUFLLGtDQUFrQyxNQUFNLGlFQUFpRSxDQUFBO0FBQ3JILE9BQU8sS0FBSyxzQkFBc0IsTUFBTSw2Q0FBNkMsQ0FBQTtBQUNyRixPQUFPLEtBQUsscUNBQXFDLE1BQU0sb0VBQW9FLENBQUEifQ==
@@ -0,0 +1,5 @@
1
+ import type * as p_i from 'pareto-core/interface/refiner';
2
+ import type * as s_in from "../../../schemas/parse_tree.js";
3
+ import type * as s_out from "../../../schemas/model.js";
4
+ import type * as s_error from "../../../schemas/deserialization.js";
5
+ export declare const Value: p_i.Refiner<s_out.Value, s_error.JSONify_Error, s_in.Value>;
@@ -0,0 +1,93 @@
1
+ import * as p_ from 'pareto-core/implementation/refiner';
2
+ import p_list_from_text from 'pareto-core/implementation/refiner/specials/list_from_text';
3
+ //dependencies
4
+ import * as api_astn_core from "astn-core/api";
5
+ import * as r_primitives_from_loc from "../../refiners/primitives/list_of_characters.js";
6
+ export const Value = ($, abort) => {
7
+ const range = api_astn_core.api.deserialization.transformers['parse tree']['full value range'].Value($);
8
+ return {
9
+ 'range': range,
10
+ 'type': p_.from.state($.type).decide(($) => {
11
+ switch ($[0]) {
12
+ case 'concrete': return p_.option($, ($) => p_.from.state($).decide(($) => {
13
+ switch ($[0]) {
14
+ case 'dictionary': return p_.option($, ($) => ['object', {
15
+ 'dictionary': $,
16
+ 'entries': p_.from.list($.entries).map(($) => ({
17
+ 'key': $.id,
18
+ 'value': p_.from.optional($.assignment).decide(($) => p_.from.optional($.value).decide(($) => Value($, abort), () => abort({
19
+ 'range': range,
20
+ 'type': ['missing property', null]
21
+ })), () => abort({
22
+ 'range': range,
23
+ 'type': ['missing property', null]
24
+ })),
25
+ }))
26
+ }]);
27
+ case 'group': return p_.option($, ($) => abort({
28
+ 'range': range,
29
+ 'type': ['group', null]
30
+ }));
31
+ case 'list': return p_.option($, ($) => ['array', {
32
+ 'items': p_.from.list($.items).map(($) => Value($.value, abort))
33
+ }]);
34
+ case 'nothing': return p_.option($, ($) => abort({
35
+ 'range': range,
36
+ 'type': ['nothing', null]
37
+ }));
38
+ case 'optional': return p_.option($, ($) => abort({
39
+ 'range': range,
40
+ 'type': ['optional', null]
41
+ }));
42
+ case 'state': return p_.option($, ($) => abort({
43
+ 'range': range,
44
+ 'type': ['state', null]
45
+ }));
46
+ case 'text': return p_.option($, ($) => {
47
+ const x = $;
48
+ return p_.from.state($.token.type).decide(($) => {
49
+ switch ($[0]) {
50
+ case 'quoted': return p_.option($, ($) => ['string', x]);
51
+ case 'apostrophed': return p_.option($, ($) => abort({
52
+ 'range': range,
53
+ 'type': ['apostrophed text', null]
54
+ }));
55
+ case 'undelimited': return p_.option($, ($) => {
56
+ return x.token.value === "null"
57
+ ? ['null', x]
58
+ : x.token.value === "true"
59
+ ? ['boolean', { 'text': x, 'value': true }]
60
+ : x.token.value === "false"
61
+ ? ['boolean', { 'text': x, 'value': false }]
62
+ : ['number', {
63
+ 'text': x, 'value': r_primitives_from_loc.Number(p_list_from_text(x.token.value, ($) => $), ($) => abort({
64
+ 'range': range,
65
+ 'type': ['undelimited text', null]
66
+ }))
67
+ }];
68
+ });
69
+ case 'backticked': return p_.option($, ($) => abort({
70
+ 'range': range,
71
+ 'type': ['backticked text', null]
72
+ }));
73
+ default: return p_.exhaustive($[0]);
74
+ }
75
+ });
76
+ });
77
+ default: return p_.exhaustive($[0]);
78
+ }
79
+ }));
80
+ case 'include': return p_.option($, ($) => abort({
81
+ 'range': range,
82
+ 'type': ['include', null]
83
+ }));
84
+ case 'missing': return p_.option($, ($) => abort({
85
+ 'range': range,
86
+ 'type': ['missing data', null]
87
+ }));
88
+ default: return p_.exhaustive($[0]);
89
+ }
90
+ })
91
+ };
92
+ };
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0bl9wYXJzZV90cmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZGVzZXJpYWxpemF0aW9uL2ltcGxlbWVudGF0aW9uL3JlZmluZXJzL21vZGVsL2FzdG5fcGFyc2VfdHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBRXhELE9BQU8sZ0JBQWdCLE1BQU0sNERBQTRELENBQUE7QUFPekYsY0FBYztBQUNkLE9BQU8sS0FBSyxhQUFhLE1BQU0sZUFBZSxDQUFBO0FBQzlDLE9BQU8sS0FBSyxxQkFBcUIsTUFBTSxpREFBaUQsQ0FBQTtBQUV4RixNQUFNLENBQUMsTUFBTSxLQUFLLEdBSWQsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDYixNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDdkcsT0FBTztRQUNILE9BQU8sRUFBRSxLQUFLO1FBQ2QsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQ2hDLENBQUMsQ0FBQyxFQUFvQixFQUFFO1lBQ3BCLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1gsS0FBSyxVQUFVLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQy9ELENBQUMsQ0FBQyxFQUFvQixFQUFFO29CQUNwQixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxD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
@@ -0,0 +1,10 @@
1
+ import type * as p_ from 'pareto-core/implementation/refiner';
2
+ import type * as s_out from "../../../schemas/model.js";
3
+ import type * as s_error from "../../../schemas/deserialization.js";
4
+ import type * as s_parameters from "../../../schemas/astn_parse_tree_deserialization.js";
5
+ import type * as s_in from "../../../schemas/list_of_characters.js";
6
+ declare namespace declarations {
7
+ type Value = p_.Refiner_With_Parameter<s_out.Value, s_error.Error, s_in.List_Of_Characters, s_parameters.Parameters>;
8
+ }
9
+ export declare const Value: declarations.Value;
10
+ export {};
@@ -0,0 +1,5 @@
1
+ //dependencies
2
+ import * as r_from_parse_tree from "./astn_parse_tree.js";
3
+ import * as api_astn_core from "astn-core/api";
4
+ export const Value = ($, abort, $p) => r_from_parse_tree.Value(api_astn_core.api.deserialization.refiners['parse tree']['list of characters'].Document($, ($) => abort(['deserialize astn parse tree', $]), $p).content, ($) => abort(['jsonify', $]));
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdF9vZl9jaGFyYWN0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZGVzZXJpYWxpemF0aW9uL2ltcGxlbWVudGF0aW9uL3JlZmluZXJzL21vZGVsL2xpc3Rfb2ZfY2hhcmFjdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsY0FBYztBQUNkLE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxzQkFBc0IsQ0FBQTtBQUN6RCxPQUFPLEtBQUssYUFBYSxNQUFNLGVBQWUsQ0FBQTtBQUU5QyxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQXVCLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FDOUUsYUFBYSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsUUFBUSxDQUNuRixDQUFDLEVBQ0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLDZCQUE2QixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQ2hELEVBQUUsQ0FDTCxDQUFDLE9BQU8sRUFDVCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQy9CLENBQUEifQ==
@@ -1,3 +1,3 @@
1
1
  import * as p_ from 'pareto-core/implementation/refiner';
2
- import * as s_list_of_characters from "../../../interface/schemas/list_of_characters.js";
2
+ import * as s_list_of_characters from "../../../schemas/list_of_characters.js";
3
3
  export declare const Number: p_.Refiner<number, string, s_list_of_characters.List_Of_Characters>;
@@ -0,0 +1,83 @@
1
+ import * as p_ from 'pareto-core/implementation/refiner';
2
+ import * as p_t from 'pareto-core/implementation/transformer';
3
+ import * as s_list_of_characters from "../../../schemas/list_of_characters.js";
4
+ export const Number = ($, abort) => {
5
+ const characters = $;
6
+ let result = 0;
7
+ let isNegative = false;
8
+ let startIndex = 0;
9
+ let decimalPart = 0;
10
+ let decimalDivisor = 1;
11
+ let exponent = 0;
12
+ let isExponentNegative = false;
13
+ let hasDecimal = false;
14
+ let inExponent = false;
15
+ const get_character_at = (index) => p_t.from.optional(characters.__deprecated_get_possible_item_at(index)).decide(($) => $, () => abort("index out of bounds"));
16
+ // Check for negative sign
17
+ if (p_t.from.list(characters).amount_of_items() > 0 && get_character_at(0) === 45) { // '-'
18
+ isNegative = true;
19
+ startIndex = 1;
20
+ }
21
+ // Parse the number
22
+ for (let i = startIndex; i < p_t.from.list(characters).amount_of_items(); i++) {
23
+ const charCode = get_character_at(i);
24
+ if (charCode === 46) { // '.'
25
+ if (hasDecimal || inExponent) {
26
+ abort("Invalid decimal format: multiple decimal points or decimal in exponent");
27
+ }
28
+ hasDecimal = true;
29
+ }
30
+ else if (charCode === 101 || charCode === 69) { // 'e' or 'E'
31
+ if (inExponent) {
32
+ abort("Invalid decimal format: multiple exponent markers");
33
+ }
34
+ inExponent = true;
35
+ // Check for exponent sign
36
+ if (i + 1 < p_t.from.list(characters).amount_of_items()) {
37
+ const nextChar = get_character_at(i + 1);
38
+ if (nextChar === 45) { // '-'
39
+ isExponentNegative = true;
40
+ i++;
41
+ }
42
+ else if (nextChar === 43) { // '+'
43
+ i++;
44
+ }
45
+ }
46
+ }
47
+ else if (charCode >= 48 && charCode <= 57) { // '0'-'9'
48
+ const digit = charCode - 48;
49
+ if (inExponent) {
50
+ exponent = exponent * 10 + digit;
51
+ }
52
+ else if (hasDecimal) {
53
+ decimalPart = decimalPart * 10 + digit;
54
+ decimalDivisor = decimalDivisor * 10;
55
+ }
56
+ else {
57
+ result = result * 10 + digit;
58
+ }
59
+ }
60
+ else {
61
+ abort("Invalid character in decimal string");
62
+ }
63
+ }
64
+ // Combine integer and decimal parts
65
+ let finalResult = result + (decimalPart / decimalDivisor);
66
+ // Apply exponent
67
+ if (isExponentNegative) {
68
+ exponent = -exponent;
69
+ }
70
+ // Apply exponent by multiplying/dividing by 10
71
+ if (exponent > 0) {
72
+ for (let i = 0; i < exponent; i++) {
73
+ finalResult = finalResult * 10;
74
+ }
75
+ }
76
+ else if (exponent < 0) {
77
+ for (let i = 0; i < -exponent; i++) {
78
+ finalResult = finalResult / 10;
79
+ }
80
+ }
81
+ return isNegative ? -finalResult : finalResult;
82
+ };
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdF9vZl9jaGFyYWN0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZGVzZXJpYWxpemF0aW9uL2ltcGxlbWVudGF0aW9uL3JlZmluZXJzL3ByaW1pdGl2ZXMvbGlzdF9vZl9jaGFyYWN0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDeEQsT0FBTyxLQUFLLEdBQUcsTUFBTSx3Q0FBd0MsQ0FBQTtBQUU3RCxPQUFPLEtBQUssb0JBQW9CLE1BQU0sd0NBQXdDLENBQUE7QUFFOUUsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUlmLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQ2IsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFBO0lBQ3BCLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQTtJQUNkLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQTtJQUN0QixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUE7SUFDbEIsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFBO0lBQ25CLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQTtJQUN0QixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUE7SUFDaEIsSUFBSSxrQkFBa0IsR0FBRyxLQUFLLENBQUE7SUFDOUIsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFBO0lBQ3RCLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQTtJQUV0QixNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBYSxFQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsaUNBQWlDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQzdILENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQ1IsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQ3JDLENBQUE7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
@@ -1,5 +1,5 @@
1
1
  import * as p_ from 'pareto-core/implementation/serializer';
2
- import type * as s_in from "../../interface/schemas/deserialize_json.js";
2
+ import type * as s_in from "../../schemas/deserialization.js";
3
3
  declare namespace declarations {
4
4
  type Error = p_.Serializer<s_in.Error>;
5
5
  type JSONify_Error = p_.Serializer<s_in.JSONify_Error>;
@@ -0,0 +1,26 @@
1
+ import * as p_ from 'pareto-core/implementation/serializer';
2
+ //dependencies
3
+ import * as api_astn_core from "astn-core/api";
4
+ export const Error = ($) => p_.from.state($).decide(($) => {
5
+ switch ($[0]) {
6
+ case 'deserialize astn parse tree': return p_.option($, ($) => api_astn_core.api.deserialization.serializers['parse tree deserialization'].Error($));
7
+ case 'jsonify': return p_.option($, ($) => JSONify_Error($));
8
+ default: return p_.exhaustive($[0]);
9
+ }
10
+ });
11
+ export const JSONify_Error = ($) => p_.from.state($.type).decide(($) => {
12
+ switch ($[0]) {
13
+ case 'missing property': return p_.option($, ($) => p_.ph.literal("missing property"));
14
+ case 'apostrophed text': return p_.option($, ($) => p_.ph.literal("apostrophed text"));
15
+ case 'backticked text': return p_.option($, ($) => p_.ph.literal("backticked text"));
16
+ case 'undelimited text': return p_.option($, ($) => p_.ph.literal("undelimited text"));
17
+ case 'group': return p_.option($, ($) => p_.ph.literal("group"));
18
+ case 'include': return p_.option($, ($) => p_.ph.literal("include"));
19
+ case 'missing data': return p_.option($, ($) => p_.ph.literal("missing data"));
20
+ case 'nothing': return p_.option($, ($) => p_.ph.literal("nothing"));
21
+ case 'optional': return p_.option($, ($) => p_.ph.literal("optional"));
22
+ case 'state': return p_.option($, ($) => p_.ph.literal("state"));
23
+ default: return p_.exhaustive($[0]);
24
+ }
25
+ });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzZXJpYWxpemF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZGVzZXJpYWxpemF0aW9uL2ltcGxlbWVudGF0aW9uL3NlcmlhbGl6ZXJzL2Rlc2VyaWFsaXphdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLHVDQUF1QyxDQUFBO0FBYzNELGNBQWM7QUFDZCxPQUFPLEtBQUssYUFBYSxNQUFNLGVBQWUsQ0FBQTtBQUU5QyxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQXVCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQ25FLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDRixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1gsS0FBSyw2QkFBNkIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3BKLEtBQUssU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDNUQsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7QUFDTCxDQUFDLENBQ0osQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBK0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQ3hGLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDRixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1gsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQTtRQUN0RixLQUFLLGtCQUFrQixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFBO1FBQ3RGLEtBQUssaUJBQWlCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUE7UUFDcEYsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQTtRQUN0RixLQUFLLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7UUFDaEUsS0FBSyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO1FBQ3BFLEtBQUssY0FBYyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQTtRQUM5RSxLQUFLLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7UUFDcEUsS0FBSyxVQUFVLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBO1FBQ3RFLEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUVoRSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDdkMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFBIn0=
@@ -0,0 +1 @@
1
+ export * from "astn-core/modules/deserialization/schemas/parse_tree_deserialization";
@@ -0,0 +1,2 @@
1
+ export * from "astn-core/modules/deserialization/schemas/parse_tree_deserialization";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0bl9wYXJzZV90cmVlX2Rlc2VyaWFsaXphdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2Rlc2VyaWFsaXphdGlvbi9zY2hlbWFzL2FzdG5fcGFyc2VfdHJlZV9kZXNlcmlhbGl6YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzRUFBc0UsQ0FBQSJ9
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzZXJpYWxpemF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZGVzZXJpYWxpemF0aW9uL3NjaGVtYXMvZGVzZXJpYWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1 @@
1
+ export * from "astn-core/modules/deserialization/schemas/list_of_characters";
@@ -0,0 +1,2 @@
1
+ export * from "astn-core/modules/deserialization/schemas/list_of_characters";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdF9vZl9jaGFyYWN0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZGVzZXJpYWxpemF0aW9uL3NjaGVtYXMvbGlzdF9vZl9jaGFyYWN0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOERBQThELENBQUEifQ==
@@ -0,0 +1 @@
1
+ export * from "astn-core/modules/deserialization/schemas/location";
@@ -0,0 +1,2 @@
1
+ export * from "astn-core/modules/deserialization/schemas/location";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kZXNlcmlhbGl6YXRpb24vc2NoZW1hcy9sb2NhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9EQUFvRCxDQUFBIn0=
@@ -0,0 +1,2 @@
1
+ import * as p_ from 'pareto-core/interface/schema';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kZXNlcmlhbGl6YXRpb24vc2NoZW1hcy9tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLDhCQUE4QixDQUFBIn0=
@@ -0,0 +1 @@
1
+ export * from "astn-core/modules/deserialization/schemas/parse_tree";
@@ -0,0 +1,2 @@
1
+ export * from "astn-core/modules/deserialization/schemas/parse_tree";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VfdHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2Rlc2VyaWFsaXphdGlvbi9zY2hlbWFzL3BhcnNlX3RyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzREFBc0QsQ0FBQSJ9
@@ -0,0 +1,225 @@
1
+ import * as p_ from 'pareto-core/implementation/serializer';
2
+ import p_list_from_text from 'pareto-core/implementation/refiner/specials/list_from_text';
3
+ import p_unreachable_code_path from 'pareto-core/implementation/transformer/specials/unreachable_code_path';
4
+ import p_list_build_deprecated from 'pareto-core/implementation/refiner/specials/list_build_deprecated';
5
+ export const Float = ($, $p) => p_.ph.list_of_characters(p_list_build_deprecated(($i) => {
6
+ // Handle special case for zero in scientific notation
7
+ if ($ === 0) {
8
+ $i['add item'](48); // '0'
9
+ // Add decimal point if we have more than 1 digit
10
+ if ($p.digits > 1) {
11
+ $i['add item'](46); // '.'
12
+ // Add the required number of zeros after decimal point
13
+ for (let i = 0; i < $p.digits - 1; i++) {
14
+ $i['add item'](48); // '0'
15
+ }
16
+ }
17
+ // Add exponent part for zero: e+0
18
+ $i['add item'](101); // 'e'
19
+ $i['add item'](43); // '+'
20
+ $i['add item'](48); // '0'
21
+ return;
22
+ }
23
+ // Handle negative numbers
24
+ if ($ < 0) {
25
+ $i['add item'](45); // '-'
26
+ $ = -$;
27
+ }
28
+ // Calculate exponent and mantissa for scientific notation
29
+ let exponent = 0;
30
+ let mantissa = $;
31
+ // Normalize to range [1, 10)
32
+ if (mantissa >= 10) {
33
+ while (mantissa >= 10) {
34
+ mantissa = mantissa / 10;
35
+ exponent++;
36
+ }
37
+ }
38
+ else if (mantissa < 1) {
39
+ while (mantissa < 1) {
40
+ mantissa = mantissa * 10;
41
+ exponent--;
42
+ }
43
+ }
44
+ // Create scale factor by multiplying
45
+ let scale_factor = 1;
46
+ for (let i = 0; i < $p.digits - 1; i++) {
47
+ scale_factor = scale_factor * 10;
48
+ }
49
+ // Simple rounding using integer operations
50
+ const mantissa_scaled = p_.from.number(mantissa * scale_factor + 0.5).divide(1, ['towards zero', null], {
51
+ divided_by_zero: () => p_unreachable_code_path("the divisor is hardcoded to 1")
52
+ });
53
+ // Convert mantissa to string
54
+ const digits = p_list_build_deprecated(($i) => {
55
+ let temp = mantissa_scaled;
56
+ // temp is always > 0 here since mantissa_scaled = integer_division(mantissa * scale_factor + 0.5, 1)
57
+ // where mantissa >= 1.0 (normalized) and scale_factor >= 1, so result >= 1
58
+ do {
59
+ const digit = temp % 10;
60
+ $i['add item'](digit);
61
+ temp = p_.from.number(temp).divide(10, ['towards zero', null], {
62
+ divided_by_zero: () => p_unreachable_code_path("the divisor is hardcoded to 10")
63
+ });
64
+ } while (temp > 0);
65
+ });
66
+ // Add leading digit
67
+ const first_digit = p_.from.optional(digits.__deprecated_get_possible_item_at(p_.from.list(digits).amount_of_items() - 1)).decide(($) => $, () => p_unreachable_code_path("index cannot be out of bounds"));
68
+ $i['add item'](48 + first_digit); // First digit
69
+ // Add decimal point if we have more digits
70
+ if ($p.digits > 1 && p_.from.list(digits).amount_of_items() > 1) {
71
+ $i['add item'](46); // '.'
72
+ // Add remaining digits in reverse order
73
+ for (let j = p_.from.list(digits).amount_of_items() - 2; j >= 0; j--) {
74
+ const digit = p_.from.optional(digits.__deprecated_get_possible_item_at(j)).decide(($) => $, () => p_unreachable_code_path("index cannot be out of bounds"));
75
+ $i['add item'](48 + digit);
76
+ }
77
+ }
78
+ // Add exponent part
79
+ $i['add item'](101); // 'e'
80
+ if (exponent < 0) {
81
+ $i['add item'](45); // '-'
82
+ exponent = -exponent;
83
+ }
84
+ else {
85
+ $i['add item'](43); // '+'
86
+ }
87
+ // Convert exponent to string
88
+ const exp_digits = p_list_build_deprecated(($i) => {
89
+ if (exponent === 0) {
90
+ $i['add item'](0);
91
+ }
92
+ else {
93
+ do {
94
+ const digit = exponent % 10;
95
+ $i['add item'](digit);
96
+ exponent = p_.from.number(exponent).divide(10, ['towards zero', null], {
97
+ divided_by_zero: () => p_unreachable_code_path("the divisor is hardcoded to 10")
98
+ });
99
+ } while (exponent > 0);
100
+ }
101
+ });
102
+ // Add exponent digits in reverse order
103
+ for (let j = p_.from.list(exp_digits).amount_of_items() - 1; j >= 0; j--) {
104
+ const digit = p_.from.optional(exp_digits.__deprecated_get_possible_item_at(j)).decide(($) => $, () => p_unreachable_code_path("index cannot be out of bounds"));
105
+ $i['add item'](48 + digit);
106
+ }
107
+ }));
108
+ export const Fractional_Decimal = ($, $p) => p_.ph.list_of_characters(p_list_build_deprecated(($i) => {
109
+ let value = $;
110
+ // Handle negative numbers
111
+ if (value < 0) {
112
+ $i['add item'](45); // '-'
113
+ value = -value;
114
+ }
115
+ // Calculate the divisor for the fractional part (10^fractionalDigits)
116
+ let divisor = 1;
117
+ for (let i = 0; i < $p['number of fractional digits']; i++) {
118
+ divisor *= 10;
119
+ }
120
+ // Split into integer and fractional parts
121
+ const integerPart = p_.from.number(value).divide(divisor, ['towards zero', null], {
122
+ divided_by_zero: () => p_unreachable_code_path("the divisor is starting at 1 and is multiplied by 10 in each iteration, so it cannot be zero")
123
+ });
124
+ const fractionalPart = value % divisor;
125
+ // Generate integer part digits
126
+ const $v_integer_digits = p_list_build_deprecated(($i) => {
127
+ let temp = integerPart;
128
+ if (temp === 0) {
129
+ $i['add item'](0);
130
+ }
131
+ else {
132
+ while (temp > 0) {
133
+ const digit = temp % 10;
134
+ $i['add item'](digit);
135
+ temp = p_.from.number(temp).divide(10, ['towards zero', null], {
136
+ divided_by_zero: () => p_unreachable_code_path("the divisor is hardcoded to 10")
137
+ });
138
+ }
139
+ }
140
+ });
141
+ // Add integer part (reverse order)
142
+ for (let j = p_.from.list($v_integer_digits).amount_of_items() - 1; j >= 0; j--) {
143
+ $i['add item'](48 + p_.from.optional($v_integer_digits.__deprecated_get_possible_item_at(j)).decide(($) => $, () => p_unreachable_code_path("index cannot be out of bounds")));
144
+ }
145
+ // Add decimal point
146
+ $i['add item'](46); // '.'
147
+ // Generate fractional part digits
148
+ const fractionalDigits_list = p_list_build_deprecated(($i) => {
149
+ let temp = fractionalPart;
150
+ for (let i = 0; i < $p['number of fractional digits']; i++) {
151
+ const digit = temp % 10;
152
+ $i['add item'](digit);
153
+ temp = p_.from.number(temp).divide(10, ['towards zero', null], {
154
+ divided_by_zero: () => p_unreachable_code_path("the divisor is hardcoded to 10")
155
+ });
156
+ }
157
+ });
158
+ // Add fractional part (reverse order)
159
+ for (let j = p_.from.list(fractionalDigits_list).amount_of_items() - 1; j >= 0; j--) {
160
+ $i['add item'](48 + p_.from.optional(fractionalDigits_list.__deprecated_get_possible_item_at(j)).decide(($) => $, () => p_unreachable_code_path("index cannot be out of bounds")));
161
+ }
162
+ }));
163
+ export const String = ($) => p_.ph.list_of_characters(p_.literal.segmented_list([
164
+ p_.literal.list([
165
+ 0x22, // "
166
+ ]),
167
+ p_.from.list(p_list_from_text($, ($) => $)).flatten(($) => {
168
+ switch ($) {
169
+ case 0x2F: // slap_.(\/)
170
+ return p_.literal.list([
171
+ 0x5c, // \
172
+ 0x2f, // /
173
+ ]);
174
+ case 0x22: // " (\")
175
+ return p_.literal.list([
176
+ 0x5C, // \
177
+ 0x22, // "
178
+ ]);
179
+ case 0x5C: // \ (\\)
180
+ return p_.literal.list([
181
+ 0x5C, // \
182
+ 0x5C, // \
183
+ ]);
184
+ case 0x08: // backspace (\b)
185
+ return p_.literal.list([
186
+ 0x5C, // \
187
+ 0x62, // b
188
+ ]);
189
+ case 0x0C: // form feed (\f)
190
+ return p_.literal.list([
191
+ 0x5C, // \
192
+ 0x66, // f
193
+ ]);
194
+ case 0x0A: // line feed (\n)
195
+ return p_.literal.list([
196
+ 0x5C, // \
197
+ 0x6E, // n
198
+ ]);
199
+ case 0x0D: // carriage return (\r)
200
+ return p_.literal.list([
201
+ 0x5C, // \
202
+ 0x72, // r
203
+ ]);
204
+ case 0x09: // horizontal tab (\t)
205
+ return p_.literal.list([
206
+ 0x5C, // \
207
+ 0x74, // t
208
+ ]);
209
+ case 0x0B: // vertical tab (\v)
210
+ return p_.literal.list([
211
+ 0x5C, // \
212
+ 0x76, // v
213
+ ]);
214
+ default: {
215
+ return p_.literal.list([
216
+ $,
217
+ ]);
218
+ }
219
+ }
220
+ }),
221
+ p_.literal.list([
222
+ 0x22, // "
223
+ ])
224
+ ]));
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3NlcmlhbGl6YXRpb24vaW1wbGVtZW50YXRpb24vc2VyaWFsaXplcnMvcHJpbWl0aXZlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLHVDQUF1QyxDQUFBO0FBRTNELE9BQU8sZ0JBQWdCLE1BQU0sNERBQTRELENBQUE7QUFDekYsT0FBTyx1QkFBdUIsTUFBTSx1RUFBdUUsQ0FBQTtBQUMzRyxPQUFPLHVCQUF1QixNQUFNLG1FQUFtRSxDQUFBO0FBeUJ2RyxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQXVCLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FDeEUsdUJBQXVCLENBQ25CLENBQUMsRUFBRSxFQUFFLEVBQUU7SUFDSCxzREFBc0Q7SUFDdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDVixFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxNQUFNO1FBRXpCLGlEQUFpRDtRQUNqRCxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsTUFBTTtZQUV6Qix1REFBdUQ7WUFDdkQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ3JDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLE1BQU07WUFDN0IsQ0FBQztRQUNMLENBQUM7UUFFRCxrQ0FBa0M7UUFDbEMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcs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