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.
- package/dist/implementation/serializer.d.ts +4 -6
- package/dist/implementation/serializer.js +13 -32
- package/dist/temp/fountain_pen/{prose.d.ts → paragraph.d.ts} +1 -1
- package/dist/temp/fountain_pen/paragraph.js +2 -0
- package/dist/temp/fountain_pen/phrase.d.ts +2 -0
- package/dist/temp/fountain_pen/phrase.js +2 -0
- package/dist/temp/fountain_pen/rich_phrase.d.ts +40 -0
- package/dist/temp/fountain_pen/rich_phrase.js +2 -0
- package/dist/temp/fountain_pen/serializers/{prose.d.ts → paragraph.d.ts} +1 -1
- package/dist/temp/fountain_pen/serializers/paragraph.js +18 -0
- package/dist/temp/fountain_pen/serializers/rich_phrase.d.ts +2 -0
- package/dist/temp/fountain_pen/serializers/rich_phrase.js +5 -0
- package/dist/temp/fountain_pen/transformers/{prose → paragraph}/lines.d.ts +1 -1
- package/dist/temp/fountain_pen/transformers/{prose → paragraph}/lines.js +1 -1
- package/dist/temp/fountain_pen/transformers/{prose → paragraph}/semi_lines.d.ts +1 -1
- package/dist/temp/fountain_pen/transformers/paragraph/semi_lines.js +169 -0
- package/dist/temp/fountain_pen/transformers/rich_phrase/list_of_strings.d.ts +3 -0
- package/dist/temp/fountain_pen/transformers/rich_phrase/list_of_strings.js +48 -0
- package/package.json +1 -1
- package/dist/temp/fountain_pen/prose.js +0 -2
- package/dist/temp/fountain_pen/serializers/prose.js +0 -18
- package/dist/temp/fountain_pen/transformers/prose/semi_lines.js +0 -169
|
@@ -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
|
|
6
|
-
export type Phrase_Serializer<Input extends Value> = ($: Input) =>
|
|
7
|
-
export type Phrase_Serializer_With_Parameter<Input extends Value, Parameter extends Value> = ($: Input, $p: Parameter) =>
|
|
8
|
-
export
|
|
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/
|
|
6
|
-
import * as
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
//
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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,
|
|
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_ =
|
|
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
|
+
//# 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 "../
|
|
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,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 "../../
|
|
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,
|
|
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 "../../
|
|
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,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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdF9vZl9zdHJpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3RlbXAvZm91bnRhaW5fcGVuL3RyYW5zZm9ybWVycy9yaWNoX3BocmFzZS9saXN0X29mX3N0cmluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQTtBQUsvRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsQ0FDbEIsQ0FBYyxFQUNHLEVBQUU7SUFDbkIsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN4QixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFTO1lBQzNCLENBQUM7U0FDSixDQUFDLENBQUE7SUFDTixDQUFDO0lBQ0QsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQzFCLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDRixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1gsS0FBSyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3BDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQVM7b0JBQzFCLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDcEIsQ0FBQyxDQUFDLEVBQVUsRUFBRTt3QkFDVixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDOzRCQUNYLEtBQUssTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7NEJBQzFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTt3QkFDdkMsQ0FBQztvQkFDTCxDQUFDLENBQUM7aUJBRVQsQ0FBQyxDQUFBO1lBQ04sQ0FBQyxDQUFDLENBQUE7WUFDRixLQUFLLGFBQWEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDMUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFBO2dCQUN0QixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLENBQ3JDLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQ0YsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtvQkFDbEQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUE7b0JBQ2hELElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFBO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO3dCQUM3QixNQUFNLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQzt3QkFDM0MsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUNuQixDQUFDLENBQUMsRUFBRSxFQUFFOzRCQUNGLE9BQU8sRUFBRSxDQUFBOzRCQUNULE9BQU8sT0FBTyxHQUFHLE1BQU0sR0FBRyxDQUFDO2dDQUN2QixDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7b0NBQ3hCLE1BQU0sQ0FBQyxDQUFDLENBQUM7b0NBQ1QsTUFBTSxDQUFDLEdBQUcsQ0FBQztpQ0FDZCxDQUFDO2dDQUNGLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7d0JBQ25CLENBQUMsQ0FDSjt3QkFDRCxNQUFNLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEtBQUssQ0FBQztxQkFFN0MsQ0FBQyxDQUFBO2dCQUNOLENBQUMsRUFDRCxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQzlCLENBQUE7WUFDTCxDQUFDLENBQUMsQ0FBQTtZQUNGLEtBQUssVUFBVSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUMvRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUNuQixDQUFDLENBQUE7WUFDRixLQUFLLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDbEUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFDaEIsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQVMsRUFBRSxDQUFDLENBQ3BDLENBQUMsQ0FBQTtZQUNGLEtBQUssU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUN2RSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDdkMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFBO0FBQ1YsQ0FBQyxDQUFBIn0=
|
package/package.json
CHANGED
|
@@ -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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
|