pareto-core 0.1.279 → 0.1.280

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.
@@ -2,9 +2,7 @@ import { type Value } from "../interface/__internal/schema/Value.js";
2
2
  export * from "./__internal/sync/data_switch.js";
3
3
  export * as from from "./__internal/transformer/from.js";
4
4
  export * as literal from "./__internal/sync/literal.js";
5
- import { type Phrase, type Paragraph } from "../temp/fountain_pen/prose.js";
6
- export type Phrase_Serializer<Input extends Value> = ($: Input) => Phrase;
7
- export type Phrase_Serializer_With_Parameter<Input extends Value, Parameter extends Value> = ($: Input, $p: Parameter) => Phrase;
8
- export type Paragraph_Serializer<Input extends Value> = ($: Input) => Paragraph;
9
- export type Paragraph_Serializer_With_Parameter<Input extends Value, Parameter extends Value> = ($: Input, $p: Parameter) => Paragraph;
10
- export declare const text_from_phrase: ($: Phrase, indentation: string, newline: string) => string;
5
+ import { type Phrase } from "../temp/fountain_pen/phrase.js";
6
+ export type Phrase_Serializer<Input extends Value> = ($: Input) => string;
7
+ export type Phrase_Serializer_With_Parameter<Input extends Value, Parameter extends Value> = ($: Input, $p: Parameter) => string;
8
+ export declare const text_from_phrase: ($: Phrase) => string;
@@ -2,36 +2,17 @@ import {} from "../interface/__internal/schema/Value.js";
2
2
  export * from "./__internal/sync/data_switch.js";
3
3
  export * as from from "./__internal/transformer/from.js";
4
4
  export * as literal from "./__internal/sync/literal.js";
5
- import {} from "../temp/fountain_pen/prose.js";
6
- import * as fp_serialize from "../temp/fountain_pen/serializers/prose.js";
7
- import p_text_from_list from "../implementation/transformer/specials/text_from_list.js";
8
- // export const text_from_list_of_characters = ($: List_Of_Characters): string => {
9
- // let out = ""
10
- // const chunkSize = 100000;
11
- // for (let i = 0; i < $.raw.length; i += chunkSize) {
12
- // const chunk = $.raw.slice(i, i + chunkSize);
13
- // out += String.fromCharCode(...chunk);
14
- // }
15
- // return out
16
- // }
17
- // export const list_of_characters_from_text = ($: string): List_Of_Characters => {
18
- // const raw: number[] = []
19
- // for (let i = 0; i < $.length; i++) {
20
- // raw.push($.charCodeAt(i))
21
- // }
22
- // return { raw }
23
- // }
24
- // export const list_of_characters_from_list = <T extends Value>(
25
- // list: import("../interface/__internal/schema/List.js").List<T>,
26
- // assign_character: (item: T) => number,
27
- // ): List_Of_Characters => {
28
- // const raw = list.__get_raw().map(($) => assign_character($))
29
- // return { raw }
30
- // }
31
- export const text_from_phrase = ($, indentation, newline) => {
32
- return p_text_from_list(fp_serialize.Phrase($, {
33
- 'newline': newline,
34
- 'indentation': indentation,
35
- }), ($) => $);
5
+ import {} from "../temp/fountain_pen/phrase.js";
6
+ import * as data_switch from "./__internal/sync/data_switch.js";
7
+ export const text_from_phrase = ($) => {
8
+ if (typeof $ === 'string') {
9
+ return $; // return the string directly
10
+ }
11
+ switch ($[0]) {
12
+ case 'value': return $[1]; // return the string directly
13
+ case 'composed': return $[1].__get_raw().map(($) => text_from_phrase($)).join("");
14
+ case 'nothing': return "";
15
+ default: return data_switch.exhaustive($[0]);
16
+ }
36
17
  };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9zZXJpYWxpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxNQUFNLHlDQUF5QyxDQUFBO0FBRXBFLGNBQWMsa0NBQWtDLENBQUE7QUFFaEQsT0FBTyxLQUFLLElBQUksTUFBTSxrQ0FBa0MsQ0FBQTtBQUV4RCxPQUFPLEtBQUssT0FBTyxNQUFNLDhCQUE4QixDQUFBO0FBQ3ZELE9BQU8sRUFBK0IsTUFBTSwrQkFBK0IsQ0FBQTtBQUMzRSxPQUFPLEtBQUssWUFBWSxNQUFNLDJDQUEyQyxDQUFBO0FBQ3pFLE9BQU8sZ0JBQWdCLE1BQU0sMERBQTBELENBQUE7QUErQnZGLG1GQUFtRjtBQUNuRixtQkFBbUI7QUFDbkIsZ0NBQWdDO0FBQ2hDLDBEQUEwRDtBQUMxRCx1REFBdUQ7QUFDdkQsZ0RBQWdEO0FBQ2hELFFBQVE7QUFDUixpQkFBaUI7QUFDakIsSUFBSTtBQUVKLG1GQUFtRjtBQUNuRiwrQkFBK0I7QUFDL0IsMkNBQTJDO0FBQzNDLG9DQUFvQztBQUNwQyxRQUFRO0FBQ1IscUJBQXFCO0FBQ3JCLElBQUk7QUFFSixpRUFBaUU7QUFDakUsc0VBQXNFO0FBQ3RFLDZDQUE2QztBQUM3Qyw2QkFBNkI7QUFDN0IsbUVBQW1FO0FBQ25FLHFCQUFxQjtBQUNyQixJQUFJO0FBRUosTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFTLEVBQUUsV0FBbUIsRUFBRSxPQUFlLEVBQVUsRUFBRTtJQUN4RixPQUFPLGdCQUFnQixDQUNuQixZQUFZLENBQUMsTUFBTSxDQUNmLENBQUMsRUFDRDtRQUNJLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLGFBQWEsRUFBRSxXQUFXO0tBQzdCLENBQ0osRUFDRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUNYLENBQUE7QUFDTCxDQUFDLENBQUEifQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9zZXJpYWxpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxNQUFNLHlDQUF5QyxDQUFBO0FBRXBFLGNBQWMsa0NBQWtDLENBQUE7QUFFaEQsT0FBTyxLQUFLLElBQUksTUFBTSxrQ0FBa0MsQ0FBQTtBQUV4RCxPQUFPLEtBQUssT0FBTyxNQUFNLDhCQUE4QixDQUFBO0FBQ3ZELE9BQU8sRUFBZSxNQUFNLGdDQUFnQyxDQUFBO0FBQzVELE9BQU8sS0FBSyxXQUFXLE1BQU0sa0NBQWtDLENBQUE7QUFpQi9ELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQzVCLENBQVMsRUFDSCxFQUFFO0lBQ1IsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN4QixPQUFPLENBQUMsQ0FBQSxDQUFDLDZCQUE2QjtJQUMxQyxDQUFDO0lBRUQsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNYLEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyw2QkFBNkI7UUFDdkQsS0FBSyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ2pGLEtBQUssU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDekIsT0FBTyxDQUFDLENBQUMsT0FBTyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2hELENBQUM7QUFDTCxDQUFDLENBQUEifQ==
@@ -115,5 +115,5 @@ declare namespace Phrase_ {
115
115
  readonly 'if not empty': rich_phrase.if_not_empty;
116
116
  };
117
117
  }
118
- type Phrase_ = string | readonly ['value', Phrase_.value] | readonly ['indent', Phrase_.indent] | readonly ['composed', Phrase_.composed] | readonly ['optional', Phrase_.optional] | readonly ['nothing', Phrase_.nothing] | readonly ['rich paragraph', Phrase_.rich_paragraph] | readonly ['rich phrase', Phrase_.rich_phrase];
118
+ type Phrase_ = readonly ['value', Phrase_.value] | readonly ['indent', Phrase_.indent] | readonly ['composed', Phrase_.composed] | readonly ['optional', Phrase_.optional] | readonly ['nothing', Phrase_.nothing] | readonly ['rich paragraph', Phrase_.rich_paragraph] | readonly ['rich phrase', Phrase_.rich_phrase];
119
119
  export type { Paragraph_ as Paragraph, Sentence_ as Sentence, Phrase_ as Phrase, };
@@ -0,0 +1,2 @@
1
+ import * as p_ from '../../interface/schema.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWdyYXBoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RlbXAvZm91bnRhaW5fcGVuL3BhcmFncmFwaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFBIn0=
@@ -0,0 +1,2 @@
1
+ import * as p_ from '../../interface/schema.js';
2
+ export type Phrase = string | readonly ['value', string] | readonly ['composed', p_.List<Phrase>] | readonly ['nothing', null];
@@ -0,0 +1,2 @@
1
+ import * as p_ from '../../interface/schema.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhyYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RlbXAvZm91bnRhaW5fcGVuL3BocmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFBIn0=
@@ -0,0 +1,40 @@
1
+ import * as p_ from '../../interface/schema.js';
2
+ declare namespace Phrase_ {
3
+ namespace value {
4
+ type text = string;
5
+ }
6
+ type value = readonly ['text', value.text];
7
+ namespace composed {
8
+ type L = Phrase_;
9
+ }
10
+ type composed = p_.List<composed.L>;
11
+ namespace optional {
12
+ type O = Phrase_;
13
+ }
14
+ type optional = p_.Optional_Value<optional.O>;
15
+ type nothing = null;
16
+ namespace rich_phrase {
17
+ namespace items {
18
+ type L = Phrase_;
19
+ }
20
+ type items = p_.List<items.L>;
21
+ type if_empty = Phrase_;
22
+ namespace if_not_empty {
23
+ type before = Phrase_;
24
+ type separator = Phrase_;
25
+ type after = Phrase_;
26
+ }
27
+ type if_not_empty = {
28
+ readonly 'before': if_not_empty.before;
29
+ readonly 'separator': if_not_empty.separator;
30
+ readonly 'after': if_not_empty.after;
31
+ };
32
+ }
33
+ type rich_phrase = {
34
+ readonly 'items': rich_phrase.items;
35
+ readonly 'if empty': rich_phrase.if_empty;
36
+ readonly 'if not empty': rich_phrase.if_not_empty;
37
+ };
38
+ }
39
+ type Phrase_ = readonly ['value', Phrase_.value] | readonly ['composed', Phrase_.composed] | readonly ['optional', Phrase_.optional] | readonly ['nothing', Phrase_.nothing] | readonly ['rich phrase', Phrase_.rich_phrase];
40
+ export type { Phrase_ as Phrase, };
@@ -0,0 +1,2 @@
1
+ import * as p_ from '../../interface/schema.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaF9waHJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVtcC9mb3VudGFpbl9wZW4vcmljaF9waHJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQSJ9
@@ -1,5 +1,5 @@
1
1
  import * as p_schema from '../../../interface/schema.js';
2
- import type * as s_in from "../prose.js";
2
+ import type * as s_in from "../paragraph.js";
3
3
  import type * as s_parameters from "../serialize_prose.js";
4
4
  export declare const Paragraph: ($: s_in.Paragraph, $p: s_parameters.Parameters) => p_schema.List<number>;
5
5
  export declare const Phrase: ($: s_in.Phrase, $p: s_parameters.Parameters) => p_schema.List<number>;
@@ -0,0 +1,18 @@
1
+ import * as p_ from '../../../implementation/serializer.js';
2
+ import * as p_schema from '../../../interface/schema.js';
3
+ //dependencies
4
+ import * as t_fountain_pen_block_to_semi_lines from "../transformers/paragraph/semi_lines.js";
5
+ import * as t_semi_lines_to_list_of_characters from "./semi_lines.js";
6
+ export const Paragraph = ($, $p) => t_semi_lines_to_list_of_characters.Lines(t_fountain_pen_block_to_semi_lines.Paragraph($, { 'indentation level': 0 }), {
7
+ 'indentation': $p.indentation,
8
+ 'newline': $p['newline'],
9
+ 'trailing newline': true,
10
+ });
11
+ export const Phrase = ($, $p) => t_semi_lines_to_list_of_characters.Lines(t_fountain_pen_block_to_semi_lines.Sentence(p_.literal.list([
12
+ $
13
+ ]), { 'indentation level': 0 }), {
14
+ 'indentation': $p.indentation,
15
+ 'newline': $p['newline'],
16
+ 'trailing newline': false,
17
+ });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWdyYXBoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RlbXAvZm91bnRhaW5fcGVuL3NlcmlhbGl6ZXJzL3BhcmFncmFwaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLHVDQUF1QyxDQUFBO0FBQzNELE9BQU8sS0FBSyxRQUFRLE1BQU0sOEJBQThCLENBQUE7QUFNeEQsY0FBYztBQUNkLE9BQU8sS0FBSyxrQ0FBa0MsTUFBTSx5Q0FBeUMsQ0FBQTtBQUM3RixPQUFPLEtBQUssa0NBQWtDLE1BQU0saUJBQWlCLENBQUE7QUFHckUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBaUIsRUFBRSxFQUEyQixFQUF5QixFQUFFLENBQUMsa0NBQWtDLENBQUMsS0FBSyxDQUN4SSxrQ0FBa0MsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFDM0U7SUFDSSxhQUFhLEVBQUUsRUFBRSxDQUFDLFdBQVc7SUFDN0IsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDeEIsa0JBQWtCLEVBQUUsSUFBSTtDQUMzQixDQUNKLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFjLEVBQUUsRUFBMkIsRUFBeUIsRUFBRSxDQUFDLGtDQUFrQyxDQUFDLEtBQUssQ0FDbEksa0NBQWtDLENBQUMsUUFBUSxDQUN2QyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUNaLENBQUM7Q0FDSixDQUFDLEVBQ0YsRUFBRSxtQkFBbUIsRUFBRSxDQUFDLEVBQUUsQ0FDN0IsRUFDRDtJQUNJLGFBQWEsRUFBRSxFQUFFLENBQUMsV0FBVztJQUM3QixTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUN4QixrQkFBa0IsRUFBRSxLQUFLO0NBQzVCLENBQ0osQ0FBQSJ9
@@ -0,0 +1,2 @@
1
+ import type * as s_in from "../rich_phrase.js";
2
+ export declare const Phrase: ($: s_in.Phrase) => string;
@@ -0,0 +1,5 @@
1
+ import * as p_ from '../../../implementation/serializer.js';
2
+ //dependencies
3
+ import * as t_to_list_of_strings from "../transformers/rich_phrase/list_of_strings.js";
4
+ export const Phrase = ($) => p_.text_from_phrase(['composed', t_to_list_of_strings.Phrase($)]);
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaF9waHJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGVtcC9mb3VudGFpbl9wZW4vc2VyaWFsaXplcnMvcmljaF9waHJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQTtBQUszRCxjQUFjO0FBQ2QsT0FBTyxLQUFLLG9CQUFvQixNQUFNLGdEQUFnRCxDQUFBO0FBSXRGLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQWMsRUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUMsVUFBVSxFQUFFLG9CQUFvQixDQUFDLE1BQU0sQ0FDMUcsQ0FBQyxDQUNKLENBQUMsQ0FBQyxDQUFBIn0=
@@ -1,5 +1,5 @@
1
1
  import type * as p_i from '../../../../interface/transformer.js';
2
- import type * as s_in from "../../prose.js";
2
+ import type * as s_in from "../../paragraph.js";
3
3
  import type * as s_out from "../../private_schemas/lines.js";
4
4
  declare namespace declarations {
5
5
  type Paragraph = p_i.Transformer_With_Parameter<s_in.Paragraph, s_out.Lines, {
@@ -18,4 +18,4 @@ export const Paragraph = ($, $p) => t_semi_lines_to_lines.Lines(t_to_semi_lines.
18
18
  // ),
19
19
  // { 'indentation text': $p.indentation }
20
20
  // )
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdGVtcC9mb3VudGFpbl9wZW4vdHJhbnNmb3JtZXJzL3Byb3NlL2xpbmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUEyQi9ELGNBQWM7QUFDZCxPQUFPLEtBQUsscUJBQXFCLE1BQU0seUJBQXlCLENBQUE7QUFDaEUsT0FBTyxLQUFLLGVBQWUsTUFBTSxpQkFBaUIsQ0FBQTtBQUVsRCxZQUFZO0FBQ1osbUVBQW1FO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBMkIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQ25GLGVBQWUsQ0FBQyxTQUFTLENBQ3JCLENBQUMsRUFDRDtJQUNJLG1CQUFtQixFQUFFLENBQUM7Q0FDekIsQ0FDSixFQUNEO0lBQ0ksa0JBQWtCLEVBQUUsRUFBRSxDQUFDLFdBQVc7Q0FDckMsQ0FDSixDQUFBO0FBSUQscUZBQXFGO0FBQ3JGLGlDQUFpQztBQUNqQyxzREFBc0Q7QUFDdEQsa0NBQWtDO0FBQ2xDLGdCQUFnQjtBQUNoQixxQ0FBcUM7QUFDckMsU0FBUztBQUNULDZDQUE2QztBQUM3QyxJQUFJIn0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdGVtcC9mb3VudGFpbl9wZW4vdHJhbnNmb3JtZXJzL3BhcmFncmFwaC9saW5lcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLDJDQUEyQyxDQUFBO0FBMkIvRCxjQUFjO0FBQ2QsT0FBTyxLQUFLLHFCQUFxQixNQUFNLHlCQUF5QixDQUFBO0FBQ2hFLE9BQU8sS0FBSyxlQUFlLE1BQU0saUJBQWlCLENBQUE7QUFFbEQsWUFBWTtBQUNaLG1FQUFtRTtBQUVuRSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQTJCLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUNuRixlQUFlLENBQUMsU0FBUyxDQUNyQixDQUFDLEVBQ0Q7SUFDSSxtQkFBbUIsRUFBRSxDQUFDO0NBQ3pCLENBQ0osRUFDRDtJQUNJLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxXQUFXO0NBQ3JDLENBQ0osQ0FBQTtBQUlELHFGQUFxRjtBQUNyRixpQ0FBaUM7QUFDakMsc0RBQXNEO0FBQ3RELGtDQUFrQztBQUNsQyxnQkFBZ0I7QUFDaEIscUNBQXFDO0FBQ3JDLFNBQVM7QUFDVCw2Q0FBNkM7QUFDN0MsSUFBSSJ9
@@ -1,5 +1,5 @@
1
1
  import type * as p_i from '../../../../interface/transformer.js';
2
- import type * as s_in from "../../prose.js";
2
+ import type * as s_in from "../../paragraph.js";
3
3
  import type * as s_out from "../../private_schemas/semi_lines.js";
4
4
  declare namespace declarations {
5
5
  type Paragraph = p_i.Transformer_With_Parameter<s_in.Paragraph, s_out.Lines, {
@@ -0,0 +1,169 @@
1
+ import * as p_ from '../../../../implementation/transformer.js';
2
+ import p_list_build_deprecated from '../../../../implementation/refiner/specials/list_build_deprecated.js';
3
+ import p_text_from_list from '../../../../implementation/transformer/specials/text_from_list.js';
4
+ import p_variables from '../../../../implementation/transformer/specials/variables.js';
5
+ export const Paragraph = ($, $p) => p_.from.state($).decide(($) => {
6
+ switch ($[0]) {
7
+ case 'composed': return p_.option($, ($) => p_.from.list($).flatten(($) => Paragraph($, $p)));
8
+ case 'sentences': return p_.option($, ($) => p_.from.list($).flatten(($) => Sentence($, $p)));
9
+ case 'optional': return p_.option($, ($) => p_.from.optional($).decide(($) => Paragraph($, $p), () => p_.literal.list([])));
10
+ case 'nothing': return p_.option($, ($) => p_.literal.list([]));
11
+ case 'rich list': return p_.option($, ($) => {
12
+ const $v_rich_list = $;
13
+ return p_.from.list($.items).on_has_items(($) => p_.literal.segmented_list([
14
+ p_.from.optional($v_rich_list['if not empty'].before).decide(($) => Sentence($, $p), () => p_.literal.list([])),
15
+ p_variables(() => {
16
+ const $v_if_not_empty = $v_rich_list['if not empty'];
17
+ const $v_amount = p_.from.list($).amount_of_items();
18
+ let current = -1;
19
+ return p_.from.list($).flatten(($) => p_variables(() => {
20
+ const sentence = $;
21
+ current++;
22
+ return Sentence(p_.from.optional($v_if_not_empty.separator).decide(($) => current < $v_amount - 1
23
+ ? p_.literal.segmented_list([
24
+ sentence,
25
+ p_.literal.list([
26
+ $
27
+ ])
28
+ ])
29
+ : sentence, () => $), {
30
+ 'indentation level': $p['indentation level'] + ($v_if_not_empty.indent ? 1 : 0),
31
+ });
32
+ }));
33
+ }),
34
+ p_.from.optional($v_rich_list['if not empty'].after).decide(($) => Sentence($, $p), () => p_.literal.list([])),
35
+ ]), () => p_.from.optional($['if empty']).decide(($) => Sentence($, $p), () => p_.literal.list([])));
36
+ });
37
+ default: return p_.exhaustive($[0]);
38
+ }
39
+ });
40
+ const Phrase = ($, $p) => {
41
+ if (typeof $ === 'string') {
42
+ return p_.literal.list([
43
+ ['append', $]
44
+ ]);
45
+ }
46
+ return p_.from.state($).decide(($) => {
47
+ switch ($[0]) {
48
+ case 'value': return p_.option($, ($) => {
49
+ return p_.literal.list([
50
+ ['append', p_.from.state($).decide(($) => {
51
+ switch ($[0]) {
52
+ case 'text': return p_.option($, ($) => $);
53
+ default: return p_.exhaustive($[0]);
54
+ }
55
+ })],
56
+ ]);
57
+ });
58
+ case 'indent': return p_.option($, ($) => {
59
+ const paragraph = Paragraph($, {
60
+ 'indentation level': $p['indentation level'] + 1,
61
+ });
62
+ if (p_.from.list(paragraph).amount_of_items() !== 0) {
63
+ return p_.literal.list([
64
+ ['add paragraph', paragraph]
65
+ ]);
66
+ }
67
+ else {
68
+ return p_.literal.list([]);
69
+ }
70
+ });
71
+ case 'rich paragraph': return p_.option($, ($) => {
72
+ const $v_rich_list = $;
73
+ return p_.from.list($.items).on_has_items(($) => {
74
+ const sep = $v_rich_list['if not empty'].separator;
75
+ const amount = p_.from.list($).amount_of_items();
76
+ if (amount === 0) {
77
+ return p_.literal.list([]);
78
+ }
79
+ let current = -1;
80
+ return p_.literal.segmented_list([
81
+ Phrase($v_rich_list['if not empty'].before, $p),
82
+ p_.from.list($).flatten(($) => {
83
+ current++;
84
+ const sentence_input = current < amount - 1
85
+ ? p_.literal.segmented_list([$, p_.literal.list([sep])])
86
+ : $;
87
+ const lines = Sentence(sentence_input, { 'indentation level': $p['indentation level'] + 1 });
88
+ return p_.from.list(lines).amount_of_items() !== 0
89
+ ? p_.literal.list([['add paragraph', lines]])
90
+ : p_.literal.list([]);
91
+ }),
92
+ Phrase($v_rich_list['if not empty'].after, $p)
93
+ ]);
94
+ }, () => Phrase($['if empty'], $p));
95
+ });
96
+ case 'rich phrase': return p_.option($, ($) => {
97
+ const $v_rich_list = $;
98
+ return p_.from.list($.items).on_has_items(($) => {
99
+ const sep = $v_rich_list['if not empty'].separator;
100
+ const amount = p_.from.list($).amount_of_items();
101
+ let current = -1;
102
+ return p_.literal.segmented_list([
103
+ Phrase($v_rich_list['if not empty'].before, $p),
104
+ p_.from.list($).flatten(($) => {
105
+ current++;
106
+ return current < amount - 1
107
+ ? p_.literal.segmented_list([
108
+ Phrase($, $p),
109
+ Phrase(sep, $p)
110
+ ])
111
+ : Phrase($, $p);
112
+ }),
113
+ Phrase($v_rich_list['if not empty'].after, $p)
114
+ ]);
115
+ }, () => Phrase($['if empty'], $p));
116
+ });
117
+ case 'composed': return p_.option($, ($) => p_.from.list($).flatten(($) => Phrase($, $p)));
118
+ case 'optional': return p_.option($, ($) => p_.from.optional($).decide(($) => Phrase($, $p), () => p_.literal.list([])));
119
+ case 'nothing': return p_.option($, ($) => p_.literal.list([]));
120
+ default: return p_.exhaustive($[0]);
121
+ }
122
+ });
123
+ };
124
+ export const Sentence = ($, $p) => p_list_build_deprecated(($i) => {
125
+ let current_line = null;
126
+ let found_indentation = false;
127
+ p_.from.list($).map(($) => p_.from.list(Phrase($, {
128
+ 'indentation level': $p['indentation level'],
129
+ })).map(($) => p_.from.state($).decide(($) => {
130
+ switch ($[0]) {
131
+ case 'append': return p_.option($, ($) => {
132
+ if (current_line === null) {
133
+ current_line = "";
134
+ }
135
+ current_line += $;
136
+ return null;
137
+ });
138
+ case 'add paragraph': return p_.option($, ($) => {
139
+ found_indentation = true;
140
+ if (current_line !== null) {
141
+ $i['add item']({
142
+ 'indentation': $p['indentation level'],
143
+ 'text': current_line,
144
+ });
145
+ current_line = null;
146
+ }
147
+ $i['add list']($);
148
+ return null;
149
+ });
150
+ default: return p_.exhaustive($[0]);
151
+ }
152
+ })));
153
+ //this is a sentence, always add the current line if no indentation was found, even if it's null, to create an empty line
154
+ if (current_line === null) {
155
+ if (!found_indentation) {
156
+ $i['add item']({
157
+ 'indentation': $p['indentation level'],
158
+ 'text': "",
159
+ });
160
+ }
161
+ }
162
+ else {
163
+ $i['add item']({
164
+ 'indentation': $p['indentation level'],
165
+ 'text': current_line,
166
+ });
167
+ }
168
+ });
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VtaV9saW5lcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy90ZW1wL2ZvdW50YWluX3Blbi90cmFuc2Zvcm1lcnMvcGFyYWdyYXBoL3NlbWlfbGluZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQTtBQUcvRCxPQUFPLHVCQUF1QixNQUFNLHNFQUFzRSxDQUFBO0FBQzFHLE9BQU8sZ0JBQWdCLE1BQU0sbUVBQW1FLENBQUE7QUFDaEcsT0FBTyxXQUFXLE1BQU0sOERBQThELENBQUE7QUEwQnRGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBMkIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQy9FLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDRixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1gsS0FBSyxVQUFVLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQy9ELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUMxQixDQUFDLENBQUE7UUFDRixLQUFLLFdBQVcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDaEUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQ3pC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
@@ -0,0 +1,3 @@
1
+ import type * as p_di from '../../../../interface/schema.js';
2
+ import type * as s_in from "../../rich_phrase.js";
3
+ export declare const Phrase: ($: s_in.Phrase) => p_di.List<string>;
@@ -0,0 +1,48 @@
1
+ import * as p_ from '../../../../implementation/transformer.js';
2
+ export const Phrase = ($) => {
3
+ if (typeof $ === 'string') {
4
+ return p_.literal.list([
5
+ $
6
+ ]);
7
+ }
8
+ return p_.from.state($).decide(($) => {
9
+ switch ($[0]) {
10
+ case 'value': return p_.option($, ($) => {
11
+ return p_.literal.list([
12
+ p_.from.state($).decide(($) => {
13
+ switch ($[0]) {
14
+ case 'text': return p_.option($, ($) => $);
15
+ default: return p_.exhaustive($[0]);
16
+ }
17
+ }),
18
+ ]);
19
+ });
20
+ case 'rich phrase': return p_.option($, ($) => {
21
+ const $v_rich_list = $;
22
+ return p_.from.list($.items).on_has_items(($) => {
23
+ const sep = $v_rich_list['if not empty'].separator;
24
+ const amount = p_.from.list($).amount_of_items();
25
+ let current = -1;
26
+ return p_.literal.segmented_list([
27
+ Phrase($v_rich_list['if not empty'].before),
28
+ p_.from.list($).flatten(($) => {
29
+ current++;
30
+ return current < amount - 1
31
+ ? p_.literal.segmented_list([
32
+ Phrase($),
33
+ Phrase(sep)
34
+ ])
35
+ : Phrase($);
36
+ }),
37
+ Phrase($v_rich_list['if not empty'].after)
38
+ ]);
39
+ }, () => Phrase($['if empty']));
40
+ });
41
+ case 'composed': return p_.option($, ($) => p_.from.list($).flatten(($) => Phrase($)));
42
+ case 'optional': return p_.option($, ($) => p_.from.optional($).decide(($) => Phrase($), () => p_.literal.list([])));
43
+ case 'nothing': return p_.option($, ($) => p_.literal.list([]));
44
+ default: return p_.exhaustive($[0]);
45
+ }
46
+ });
47
+ };
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdF9vZl9zdHJpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3RlbXAvZm91bnRhaW5fcGVuL3RyYW5zZm9ybWVycy9yaWNoX3BocmFzZS9saXN0X29mX3N0cmluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQTtBQUsvRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsQ0FDbEIsQ0FBYyxFQUNHLEVBQUU7SUFDbkIsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN4QixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFTO1lBQzNCLENBQUM7U0FDSixDQUFDLENBQUE7SUFDTixDQUFDO0lBQ0QsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQzFCLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDRixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1gsS0FBSyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3BDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQVM7b0JBQzFCLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDcEIsQ0FBQyxDQUFDLEVBQVUsRUFBRTt3QkFDVixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDOzRCQUNYLEtBQUssTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7NEJBQzFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pareto-core",
3
- "version": "0.1.279",
3
+ "version": "0.1.280",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Corno",
6
6
  "description": "the core language constructs for the Pareto programming language (in TypeScript)",
@@ -1,2 +0,0 @@
1
- import * as p_ from '../../interface/schema.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVtcC9mb3VudGFpbl9wZW4vcHJvc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQSJ9
@@ -1,18 +0,0 @@
1
- import * as p_ from '../../../implementation/serializer.js';
2
- import * as p_schema from '../../../interface/schema.js';
3
- //dependencies
4
- import * as t_fountain_pen_block_to_semi_lines from "../transformers/prose/semi_lines.js";
5
- import * as t_semi_lines_to_list_of_characters from "./semi_lines.js";
6
- export const Paragraph = ($, $p) => t_semi_lines_to_list_of_characters.Lines(t_fountain_pen_block_to_semi_lines.Paragraph($, { 'indentation level': 0 }), {
7
- 'indentation': $p.indentation,
8
- 'newline': $p['newline'],
9
- 'trailing newline': true,
10
- });
11
- export const Phrase = ($, $p) => t_semi_lines_to_list_of_characters.Lines(t_fountain_pen_block_to_semi_lines.Sentence(p_.literal.list([
12
- $
13
- ]), { 'indentation level': 0 }), {
14
- 'indentation': $p.indentation,
15
- 'newline': $p['newline'],
16
- 'trailing newline': false,
17
- });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGVtcC9mb3VudGFpbl9wZW4vc2VyaWFsaXplcnMvcHJvc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQTtBQUMzRCxPQUFPLEtBQUssUUFBUSxNQUFNLDhCQUE4QixDQUFBO0FBTXhELGNBQWM7QUFDZCxPQUFPLEtBQUssa0NBQWtDLE1BQU0scUNBQXFDLENBQUE7QUFDekYsT0FBTyxLQUFLLGtDQUFrQyxNQUFNLGlCQUFpQixDQUFBO0FBR3JFLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQWlCLEVBQUUsRUFBMkIsRUFBeUIsRUFBRSxDQUFDLGtDQUFrQyxDQUFDLEtBQUssQ0FDeEksa0NBQWtDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLG1CQUFtQixFQUFFLENBQUMsRUFBRSxDQUFDLEVBQzNFO0lBQ0ksYUFBYSxFQUFFLEVBQUUsQ0FBQyxXQUFXO0lBQzdCLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQ3hCLGtCQUFrQixFQUFFLElBQUk7Q0FDM0IsQ0FDSixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBYyxFQUFFLEVBQTJCLEVBQXlCLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQyxLQUFLLENBQ2xJLGtDQUFrQyxDQUFDLFFBQVEsQ0FDdkMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDWixDQUFDO0NBQ0osQ0FBQyxFQUNGLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLENBQzdCLEVBQ0Q7SUFDSSxhQUFhLEVBQUUsRUFBRSxDQUFDLFdBQVc7SUFDN0IsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDeEIsa0JBQWtCLEVBQUUsS0FBSztDQUM1QixDQUNKLENBQUEifQ==
@@ -1,169 +0,0 @@
1
- import * as p_ from '../../../../implementation/transformer.js';
2
- import p_list_build_deprecated from '../../../../implementation/refiner/specials/list_build_deprecated.js';
3
- import p_text_from_list from '../../../../implementation/transformer/specials/text_from_list.js';
4
- import p_variables from '../../../../implementation/transformer/specials/variables.js';
5
- export const Paragraph = ($, $p) => p_.from.state($).decide(($) => {
6
- switch ($[0]) {
7
- case 'composed': return p_.option($, ($) => p_.from.list($).flatten(($) => Paragraph($, $p)));
8
- case 'sentences': return p_.option($, ($) => p_.from.list($).flatten(($) => Sentence($, $p)));
9
- case 'optional': return p_.option($, ($) => p_.from.optional($).decide(($) => Paragraph($, $p), () => p_.literal.list([])));
10
- case 'nothing': return p_.option($, ($) => p_.literal.list([]));
11
- case 'rich list': return p_.option($, ($) => {
12
- const $v_rich_list = $;
13
- return p_.from.list($.items).on_has_items(($) => p_.literal.segmented_list([
14
- p_.from.optional($v_rich_list['if not empty'].before).decide(($) => Sentence($, $p), () => p_.literal.list([])),
15
- p_variables(() => {
16
- const $v_if_not_empty = $v_rich_list['if not empty'];
17
- const $v_amount = p_.from.list($).amount_of_items();
18
- let current = -1;
19
- return p_.from.list($).flatten(($) => p_variables(() => {
20
- const sentence = $;
21
- current++;
22
- return Sentence(p_.from.optional($v_if_not_empty.separator).decide(($) => current < $v_amount - 1
23
- ? p_.literal.segmented_list([
24
- sentence,
25
- p_.literal.list([
26
- $
27
- ])
28
- ])
29
- : sentence, () => $), {
30
- 'indentation level': $p['indentation level'] + ($v_if_not_empty.indent ? 1 : 0),
31
- });
32
- }));
33
- }),
34
- p_.from.optional($v_rich_list['if not empty'].after).decide(($) => Sentence($, $p), () => p_.literal.list([])),
35
- ]), () => p_.from.optional($['if empty']).decide(($) => Sentence($, $p), () => p_.literal.list([])));
36
- });
37
- default: return p_.exhaustive($[0]);
38
- }
39
- });
40
- const Phrase = ($, $p) => {
41
- if (typeof $ === 'string') {
42
- return p_.literal.list([
43
- ['append', $]
44
- ]);
45
- }
46
- return p_.from.state($).decide(($) => {
47
- switch ($[0]) {
48
- case 'value': return p_.option($, ($) => {
49
- return p_.literal.list([
50
- ['append', p_.from.state($).decide(($) => {
51
- switch ($[0]) {
52
- case 'text': return p_.option($, ($) => $);
53
- default: return p_.exhaustive($[0]);
54
- }
55
- })],
56
- ]);
57
- });
58
- case 'indent': return p_.option($, ($) => {
59
- const paragraph = Paragraph($, {
60
- 'indentation level': $p['indentation level'] + 1,
61
- });
62
- if (p_.from.list(paragraph).amount_of_items() !== 0) {
63
- return p_.literal.list([
64
- ['add paragraph', paragraph]
65
- ]);
66
- }
67
- else {
68
- return p_.literal.list([]);
69
- }
70
- });
71
- case 'rich paragraph': return p_.option($, ($) => {
72
- const $v_rich_list = $;
73
- return p_.from.list($.items).on_has_items(($) => {
74
- const sep = $v_rich_list['if not empty'].separator;
75
- const amount = p_.from.list($).amount_of_items();
76
- if (amount === 0) {
77
- return p_.literal.list([]);
78
- }
79
- let current = -1;
80
- return p_.literal.segmented_list([
81
- Phrase($v_rich_list['if not empty'].before, $p),
82
- p_.from.list($).flatten(($) => {
83
- current++;
84
- const sentence_input = current < amount - 1
85
- ? p_.literal.segmented_list([$, p_.literal.list([sep])])
86
- : $;
87
- const lines = Sentence(sentence_input, { 'indentation level': $p['indentation level'] + 1 });
88
- return p_.from.list(lines).amount_of_items() !== 0
89
- ? p_.literal.list([['add paragraph', lines]])
90
- : p_.literal.list([]);
91
- }),
92
- Phrase($v_rich_list['if not empty'].after, $p)
93
- ]);
94
- }, () => Phrase($['if empty'], $p));
95
- });
96
- case 'rich phrase': return p_.option($, ($) => {
97
- const $v_rich_list = $;
98
- return p_.from.list($.items).on_has_items(($) => {
99
- const sep = $v_rich_list['if not empty'].separator;
100
- const amount = p_.from.list($).amount_of_items();
101
- let current = -1;
102
- return p_.literal.segmented_list([
103
- Phrase($v_rich_list['if not empty'].before, $p),
104
- p_.from.list($).flatten(($) => {
105
- current++;
106
- return current < amount - 1
107
- ? p_.literal.segmented_list([
108
- Phrase($, $p),
109
- Phrase(sep, $p)
110
- ])
111
- : Phrase($, $p);
112
- }),
113
- Phrase($v_rich_list['if not empty'].after, $p)
114
- ]);
115
- }, () => Phrase($['if empty'], $p));
116
- });
117
- case 'composed': return p_.option($, ($) => p_.from.list($).flatten(($) => Phrase($, $p)));
118
- case 'optional': return p_.option($, ($) => p_.from.optional($).decide(($) => Phrase($, $p), () => p_.literal.list([])));
119
- case 'nothing': return p_.option($, ($) => p_.literal.list([]));
120
- default: return p_.exhaustive($[0]);
121
- }
122
- });
123
- };
124
- export const Sentence = ($, $p) => p_list_build_deprecated(($i) => {
125
- let current_line = null;
126
- let found_indentation = false;
127
- p_.from.list($).map(($) => p_.from.list(Phrase($, {
128
- 'indentation level': $p['indentation level'],
129
- })).map(($) => p_.from.state($).decide(($) => {
130
- switch ($[0]) {
131
- case 'append': return p_.option($, ($) => {
132
- if (current_line === null) {
133
- current_line = "";
134
- }
135
- current_line += $;
136
- return null;
137
- });
138
- case 'add paragraph': return p_.option($, ($) => {
139
- found_indentation = true;
140
- if (current_line !== null) {
141
- $i['add item']({
142
- 'indentation': $p['indentation level'],
143
- 'text': current_line,
144
- });
145
- current_line = null;
146
- }
147
- $i['add list']($);
148
- return null;
149
- });
150
- default: return p_.exhaustive($[0]);
151
- }
152
- })));
153
- //this is a sentence, always add the current line if no indentation was found, even if it's null, to create an empty line
154
- if (current_line === null) {
155
- if (!found_indentation) {
156
- $i['add item']({
157
- 'indentation': $p['indentation level'],
158
- 'text': "",
159
- });
160
- }
161
- }
162
- else {
163
- $i['add item']({
164
- 'indentation': $p['indentation level'],
165
- 'text': current_line,
166
- });
167
- }
168
- });
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VtaV9saW5lcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy90ZW1wL2ZvdW50YWluX3Blbi90cmFuc2Zvcm1lcnMvcHJvc2Uvc2VtaV9saW5lcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLDJDQUEyQyxDQUFBO0FBRy9ELE9BQU8sdUJBQXVCLE1BQU0sc0VBQXNFLENBQUE7QUFDMUcsT0FBTyxnQkFBZ0IsTUFBTSxtRUFBbUUsQ0FBQTtBQUNoRyxPQUFPLFdBQVcsTUFBTSw4REFBOEQsQ0FBQTtBQTBCdEYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUEyQixDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDL0UsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNGLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDWCxLQUFLLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDL0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQzFCLENBQUMsQ0FBQTtRQUNGLEtBQUssV0FBVyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUNoRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FDekIsQ0FB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