@parischap/conversions 0.1.0 → 0.3.0

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 (125) hide show
  1. package/README.md +50 -49
  2. package/cjs/BigDecimal.js +2 -2
  3. package/cjs/BigInt.js +7 -5
  4. package/cjs/BigInt.js.map +1 -1
  5. package/cjs/DateTime.js +144 -136
  6. package/cjs/DateTime.js.map +1 -1
  7. package/cjs/DateTimeFormat.js +7 -2
  8. package/cjs/DateTimeFormat.js.map +1 -1
  9. package/cjs/DateTimeFormatContext.js +11 -6
  10. package/cjs/DateTimeFormatContext.js.map +1 -1
  11. package/cjs/Email.js +11 -15
  12. package/cjs/Email.js.map +1 -1
  13. package/cjs/Integer.js +33 -23
  14. package/cjs/Integer.js.map +1 -1
  15. package/cjs/NumberBase10Format.js +65 -65
  16. package/cjs/PositiveInteger.js +44 -29
  17. package/cjs/PositiveInteger.js.map +1 -1
  18. package/cjs/PositiveReal.js +34 -24
  19. package/cjs/PositiveReal.js.map +1 -1
  20. package/cjs/Real.js +29 -18
  21. package/cjs/Real.js.map +1 -1
  22. package/cjs/RoundingMode.js +7 -4
  23. package/cjs/RoundingMode.js.map +1 -1
  24. package/cjs/RoundingOption.js +6 -6
  25. package/cjs/RoundingOption.js.map +1 -1
  26. package/cjs/Schema.js +29 -28
  27. package/cjs/Schema.js.map +1 -1
  28. package/cjs/SemVer.js +19 -20
  29. package/cjs/SemVer.js.map +1 -1
  30. package/cjs/Template.js +36 -31
  31. package/cjs/Template.js.map +1 -1
  32. package/cjs/TemplatePart.js +4 -4
  33. package/cjs/TemplateParts.js +3 -2
  34. package/cjs/TemplateParts.js.map +1 -1
  35. package/cjs/TemplatePlaceholder.js +56 -45
  36. package/cjs/TemplatePlaceholder.js.map +1 -1
  37. package/cjs/TemplateSeparator.js +17 -24
  38. package/cjs/TemplateSeparator.js.map +1 -1
  39. package/cjs/internal/Int.js +5 -8
  40. package/cjs/internal/Int.js.map +1 -1
  41. package/cjs/internal/Positive.js +5 -8
  42. package/cjs/internal/Positive.js.map +1 -1
  43. package/dts/BigDecimal.d.ts +2 -2
  44. package/dts/BigDecimal.d.ts.map +1 -1
  45. package/dts/BigInt.d.ts +7 -5
  46. package/dts/BigInt.d.ts.map +1 -1
  47. package/dts/DateTime.d.ts +145 -137
  48. package/dts/DateTime.d.ts.map +1 -1
  49. package/dts/DateTimeFormat.d.ts +7 -2
  50. package/dts/DateTimeFormat.d.ts.map +1 -1
  51. package/dts/DateTimeFormatContext.d.ts +17 -12
  52. package/dts/DateTimeFormatContext.d.ts.map +1 -1
  53. package/dts/Email.d.ts +16 -13
  54. package/dts/Email.d.ts.map +1 -1
  55. package/dts/Integer.d.ts +43 -21
  56. package/dts/Integer.d.ts.map +1 -1
  57. package/dts/NumberBase10Format.d.ts +68 -68
  58. package/dts/PositiveInteger.d.ts +54 -27
  59. package/dts/PositiveInteger.d.ts.map +1 -1
  60. package/dts/PositiveReal.d.ts +44 -22
  61. package/dts/PositiveReal.d.ts.map +1 -1
  62. package/dts/Real.d.ts +39 -16
  63. package/dts/Real.d.ts.map +1 -1
  64. package/dts/RoundingMode.d.ts +6 -3
  65. package/dts/RoundingMode.d.ts.map +1 -1
  66. package/dts/RoundingOption.d.ts +6 -6
  67. package/dts/Schema.d.ts +32 -33
  68. package/dts/Schema.d.ts.map +1 -1
  69. package/dts/SemVer.d.ts +25 -13
  70. package/dts/SemVer.d.ts.map +1 -1
  71. package/dts/Template.d.ts +30 -29
  72. package/dts/Template.d.ts.map +1 -1
  73. package/dts/TemplatePart.d.ts +4 -4
  74. package/dts/TemplateParts.d.ts +4 -3
  75. package/dts/TemplateParts.d.ts.map +1 -1
  76. package/dts/TemplatePlaceholder.d.ts +56 -44
  77. package/dts/TemplatePlaceholder.d.ts.map +1 -1
  78. package/dts/TemplateSeparator.d.ts +9 -51
  79. package/dts/TemplateSeparator.d.ts.map +1 -1
  80. package/dts/internal/Int.d.ts +0 -4
  81. package/dts/internal/Int.d.ts.map +1 -1
  82. package/dts/internal/Positive.d.ts +0 -4
  83. package/dts/internal/Positive.d.ts.map +1 -1
  84. package/esm/BigDecimal.js +2 -2
  85. package/esm/BigInt.js +7 -5
  86. package/esm/BigInt.js.map +1 -1
  87. package/esm/DateTime.js +144 -136
  88. package/esm/DateTime.js.map +1 -1
  89. package/esm/DateTimeFormat.js +7 -2
  90. package/esm/DateTimeFormat.js.map +1 -1
  91. package/esm/DateTimeFormatContext.js +11 -6
  92. package/esm/DateTimeFormatContext.js.map +1 -1
  93. package/esm/Email.js +10 -13
  94. package/esm/Email.js.map +1 -1
  95. package/esm/Integer.js +33 -23
  96. package/esm/Integer.js.map +1 -1
  97. package/esm/NumberBase10Format.js +65 -65
  98. package/esm/PositiveInteger.js +44 -29
  99. package/esm/PositiveInteger.js.map +1 -1
  100. package/esm/PositiveReal.js +34 -24
  101. package/esm/PositiveReal.js.map +1 -1
  102. package/esm/Real.js +29 -18
  103. package/esm/Real.js.map +1 -1
  104. package/esm/RoundingMode.js +6 -3
  105. package/esm/RoundingMode.js.map +1 -1
  106. package/esm/RoundingOption.js +6 -6
  107. package/esm/RoundingOption.js.map +1 -1
  108. package/esm/Schema.js +33 -34
  109. package/esm/Schema.js.map +1 -1
  110. package/esm/SemVer.js +18 -18
  111. package/esm/SemVer.js.map +1 -1
  112. package/esm/Template.js +36 -31
  113. package/esm/Template.js.map +1 -1
  114. package/esm/TemplatePart.js +4 -4
  115. package/esm/TemplateParts.js +3 -2
  116. package/esm/TemplateParts.js.map +1 -1
  117. package/esm/TemplatePlaceholder.js +55 -44
  118. package/esm/TemplatePlaceholder.js.map +1 -1
  119. package/esm/TemplateSeparator.js +16 -24
  120. package/esm/TemplateSeparator.js.map +1 -1
  121. package/esm/internal/Int.js +5 -7
  122. package/esm/internal/Int.js.map +1 -1
  123. package/esm/internal/Positive.js +5 -7
  124. package/esm/internal/Positive.js.map +1 -1
  125. package/package.json +2 -2
package/dts/SemVer.d.ts CHANGED
@@ -1,6 +1,11 @@
1
- /** A module that implements a SemVer brand */
1
+ /**
2
+ * A module that implements a `CVSemVer` brand, i.e. a string that represents a valid semantic
3
+ * version. See the `Effect` documentation about Branding
4
+ * (https://effect.website/docs/code-style/branded-types/) if you are not familiar with this
5
+ * concept.
6
+ */
2
7
  import { MTypes } from '@parischap/effect-lib';
3
- import { Brand, Either, Option } from 'effect';
8
+ import { Brand, Either, Option, Schema } from 'effect';
4
9
  /**
5
10
  * Module tag
6
11
  *
@@ -15,47 +20,54 @@ export declare const moduleTag = "@parischap/conversions/SemVer/";
15
20
  export declare const TypeId: unique symbol;
16
21
  type _TypeId = typeof TypeId;
17
22
  /**
18
- * SemVer type
23
+ * `CVSemVer` Type
19
24
  *
20
25
  * @category Models
21
26
  */
22
27
  export type Type = Brand.Branded<string, _TypeId>;
23
28
  /**
24
- * Constructs a SemVer without any verifications
29
+ * Constructs a `CVSemVer` without any verifications
25
30
  *
26
31
  * @category Constructors
27
32
  */
28
33
  export declare const unsafeFromString: Brand.Brand.Constructor<Type>;
29
34
  /**
30
- * Constructs a SemVer from a string. Throws an error if the provided string does not represent a
31
- * SemVer
35
+ * Brand constructor. Should not be used directly
32
36
  *
33
- * @category Constructors
37
+ * @ignore
34
38
  */
35
39
  export declare const constructor: Brand.Brand.Constructor<Type>;
36
40
  /**
37
- * Constructs an Option of a SemVer from a string.
41
+ * Tries to construct a `CVSemVer` from a string. Returns a `Some` if the conversion can be
42
+ * performed, a `None` otherwise
38
43
  *
39
44
  * @category Constructors
40
45
  */
41
46
  export declare const fromStringOption: MTypes.OneArgFunction<string, Option.Option<Type>>;
42
47
  /**
43
- * Constructs an Either of a SemVer from a string.
48
+ * Tries to construct a `CVSemVer` from a string. Returns a `Right` if the conversion can be
49
+ * performed, a `Left` otherwise
44
50
  *
45
51
  * @category Constructors
46
52
  */
47
53
  export declare const fromString: MTypes.OneArgFunction<string, Either.Either<Type, Brand.Brand.BrandErrors>>;
48
54
  /**
49
- * Constructs a SemVer or throws.
55
+ * Constructs a `CVSemVer` if possible. Throws otherwise.
50
56
  *
51
57
  * @category Constructors
52
58
  */
53
59
  export declare const fromStringOrThrow: MTypes.OneArgFunction<string, Type>;
54
60
  /**
55
- * Checks if a string is a semver
61
+ * A `Schema` that transforms a string into a `CVSemVer`
62
+ *
63
+ * @ignore
64
+ */
65
+ export declare const SchemaFromString: Schema.Schema<Type, string>;
66
+ /**
67
+ * A `Schema` that represents a `CVSemVer`
56
68
  *
57
- * @category Refinement
69
+ * @ignore
58
70
  */
59
- export declare const has: (input: string) => input is Type;
71
+ export declare const SchemaFromSelf: Schema.Schema<Type>;
60
72
  export {};
61
73
  //# sourceMappingURL=SemVer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SemVer.d.ts","sourceRoot":"","sources":["../../esm/SemVer.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAE9C,OAAO,EAAW,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,SAAS,mCAAmC,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAAyC,CAAC;AACtE,KAAK,OAAO,GAAG,OAAO,MAAM,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,+BAAwB,CAAC;AAEtD;;;;;GAKG;AACH,eAAO,MAAM,WAAW,+BAEvB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,cAAc,CACnD,MAAM,EACN,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CACoB,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,cAAc,CAC7C,MAAM,EACN,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CACL,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAe,CAAC;AAElF;;;;GAIG;AACH,eAAO,MAAM,GAAG,GAAI,OAAO,MAAM,KAAG,KAAK,IAAI,IAA+B,CAAC"}
1
+ {"version":3,"file":"SemVer.d.ts","sourceRoot":"","sources":["../../esm/SemVer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAW,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,SAAS,mCAAmC,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAAyC,CAAC;AACtE,KAAK,OAAO,GAAG,OAAO,MAAM,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,+BAAwB,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,WAAW,+BAEvB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,cAAc,CACnD,MAAM,EACN,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CACoB,CAAC;AAEzC;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,cAAc,CAC7C,MAAM,EACN,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CACL,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAe,CAAC;AAElF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAExD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAuC,CAAC"}
package/dts/Template.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  /**
2
- * A template is a model of a text that has always the same structure. In such a text, there are
3
- * immutable and mutable parts. Let's take the following two texts as an example:
2
+ * This module implements a `CVTemplate` which is a model of a text that has always the same
3
+ * structure. In such a text, there are immutable and mutable parts. Let's take the following two
4
+ * texts as an example:
4
5
  *
5
6
  * - Text1 = "John is a 47-year old man."
6
7
  * - Text2 = "Jehnny is a 5-year old girl."
@@ -10,37 +11,37 @@
10
11
  * Placeholder1 is a Placeholder2-year old Placeholder3.
11
12
  *
12
13
  * Placeholder1, Placeholder2 and Placeholder3 are the mutable parts of the template. They contain
13
- * valuable information. We call them `TemplatePlaceholder`'s.
14
+ * valuable information. We call them `CVTemplatePlaceholder`'s.
14
15
  *
15
- * " is a " and "-year old " are the immutable parts of the template. We call them
16
- * `TemplateSeperator`'s.
16
+ * " is a ", "-year old " and "." are the immutable parts of the template. We call them
17
+ * `CVTemplateSeperator`'s.
17
18
  *
18
19
  * From a text with the above structure, we can extract the values of Placeholder1, Placeholder2,
19
20
  * and Placeholder3. In the present case:
20
21
  *
21
- * - For text1: Placeholder1 = 'John', Placeholder2 = '47', Placeholder3 = 'man'
22
- * - For text2: Placeholder1 = 'Jehnny', Placeholder2 = '5', Placeholder3 = 'girl'
22
+ * - For text1: { Placeholder1 : 'John', Placeholder2 : '47', Placeholder3 : 'man' }
23
+ * - For text2: { Placeholder1 : 'Jehnny', Placeholder2 : '5', Placeholder3 : 'girl'}
23
24
  *
24
- * Extracting the values of placeholders from a text according to a template is called parsing.
25
+ * Extracting the values of placeholders from a text according to a template is called parsing. The
26
+ * result of parsing is an object whose properties are named after the name of the placeholders they
27
+ * represent.
25
28
  *
26
- * Inversely, given a template and the values of the placeholders that compose it, we can generate a
27
- * text. This is called formatting. In the present case, with:
29
+ * Inversely, given a template and the values of the placeholders that compose it (provided as the
30
+ * properties of an object), we can generate a text. This is called formatting. In the present case,
31
+ * with the object:
28
32
  *
29
- * Placeholder1 = 'Tom', Placeholder2 = '15', Placeholder3 = 'boy'
33
+ * { Placeholder1 : 'Tom', Placeholder2 : '15', Placeholder3 : 'boy' }
30
34
  *
31
35
  * We will obtain the text: "Tom is a 15-year old boy."
32
36
  *
33
- * A TemplatePart is either a TemplateSeparator or a TemplatePlaceholder. This module implements a
34
- * Template which is composed of a series of TemplatePart's. Note that Effect does provide the
35
- * Schema.TemplateLiteralParser API which partly addresses the same problem. But there are some
36
- * limitations to that API. For instance, template literal types cannot represent a fixed-length
37
- * string or a string composed only of capital letters... It is for instance impossible to represent
38
- * a date in the form YYYYMMDD with the TemplateLiteralParser. A schema in the form:
39
- *
40
- * `const schema = Schema.TemplateLiteralParser(Schema.NumberFromString,Schema.NumberFromString,
41
- * Schema.NumberFromString)`
42
- *
43
- * Would not work as the first NumberFromString combinator would read the whole date.
37
+ * Note that `Effect` does provide the `Schema.TemplateLiteralParser` API which partly addresses the
38
+ * same problem. But there are some limitations to that API. For instance, template literal types
39
+ * cannot represent a fixed-length string or a string composed only of capital letters... It is for
40
+ * instance impossible to represent a date in the form YYYYMMDD with the
41
+ * `Schema.TemplateLiteralParser`. A schema in the form `const schema =
42
+ * Schema.TemplateLiteralParser(Schema.NumberFromString,Schema.NumberFromString,
43
+ * Schema.NumberFromString)` does not work as the first NumberFromString combinator reads the whole
44
+ * date
44
45
  */
45
46
  import { MInputError, MInspectable, MTypes } from '@parischap/effect-lib';
46
47
  import { Either, Pipeable } from 'effect';
@@ -54,7 +55,7 @@ import * as CVTemplatePlaceholder from './TemplatePlaceholder.js';
54
55
  */
55
56
  export declare const moduleTag = "@parischap/conversions/Template/";
56
57
  /**
57
- * Type that represents a Template
58
+ * `CVTemplate` Type
58
59
  *
59
60
  * @category Models
60
61
  */
@@ -81,13 +82,14 @@ export declare const make: <const PS extends CVTemplateParts.Type>(...templatePa
81
82
  */
82
83
  export declare const templateParts: <const PS extends CVTemplateParts.Type>(self: Type<PS>) => PS;
83
84
  /**
84
- * Returns a function that parses a text into a record according to 'self' .
85
+ * Returns a function that tries to parse a text into an object according to 'self'. The generated
86
+ * parser returns a `Right` of an object upon success, a `Left` otherwise.
85
87
  *
86
88
  * @category Parsing
87
89
  */
88
90
  export declare const toParser: <const PS extends CVTemplateParts.Type>(self: Type<PS>) => MTypes.OneArgFunction<string, Either.Either<{ readonly [k in keyof MTypes.ArrayKeys<PS> as PS[k] extends CVTemplatePlaceholder.All ? CVTemplatePlaceholder.ExtractName<PS[k]> : never]: PS[k] extends CVTemplatePlaceholder.All ? CVTemplatePlaceholder.ExtractType<PS[k]> : never; }, MInputError.Type>>;
89
91
  /**
90
- * Same as toParser but the returned parser throws in case of error
92
+ * Same as `toParser` but the generated parser throws in case of failure
91
93
  *
92
94
  * @category Parsing
93
95
  */
@@ -95,15 +97,14 @@ export declare const toThrowingParser: <const PS extends CVTemplateParts.Type>(s
95
97
  readonly [k in keyof MTypes.ArrayKeys<PS> as PS[k] extends CVTemplatePlaceholder.All ? CVTemplatePlaceholder.ExtractName<PS[k]> : never]: PS[k] extends CVTemplatePlaceholder.All ? CVTemplatePlaceholder.ExtractType<PS[k]> : never;
96
98
  }>;
97
99
  /**
98
- * Returns a function that formats an object into the template represented by 'self' . When
99
- * strictMode is false, the formatter function of the templatepart's is replaced by the Either.right
100
- * function, i.e. no checks are carried out when encoding
100
+ * Returns a function that tries to format an object into a string according to 'self'. The
101
+ * generated formatter returns a `Right` of a string upon success, a `Left` otherwise.
101
102
  *
102
103
  * @category Formatting
103
104
  */
104
105
  export declare const toFormatter: <const PS extends CVTemplateParts.Type>(self: Type<PS>) => MTypes.OneArgFunction<{ readonly [k in keyof MTypes.ArrayKeys<PS> as PS[k] extends CVTemplatePlaceholder.All ? CVTemplatePlaceholder.ExtractName<PS[k]> : never]: PS[k] extends CVTemplatePlaceholder.All ? CVTemplatePlaceholder.ExtractType<PS[k]> : never; }, Either.Either<string, MInputError.Type>>;
105
106
  /**
106
- * Same as toFormatter but the returned formatter throws in case of error
107
+ * Same as `toFormatter` but the generated formatter throws in case of failure
107
108
  *
108
109
  * @category Formatting
109
110
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Template.d.ts","sourceRoot":"","sources":["../../esm/Template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,EACN,WAAW,EACX,YAAY,EAIZ,MAAM,EACN,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEN,MAAM,EAMN,QAAQ,EAKR,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,eAAe,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,qBAAqB,MAAM,0BAA0B,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,SAAS,qCAAqC,CAAC;AAI5D;;;;GAIG;AAEH,MAAM,WAAW,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,eAAe,CAAC,IAAI,CACxD,SAAQ,YAAY,CAAC,IAAI,EACxB,QAAQ,CAAC,QAAQ;IAClB,0DAA0D;IAC1D,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC;CAM3B;AAED;;;;GAIG;AACH,eAAO,MAAM,GAAG,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAC5D,CAAC;AAsBnC;;;;GAIG;AACH,eAAO,MAAM,IAAI,GAAI,KAAK,CAAC,EAAE,SAAS,eAAe,CAAC,IAAI,EAAE,GAAG,eAAe,EAAE,KAAG,IAAI,CAAC,EAAE,CACjE,CAAC;AAE1B;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAC3D,CAAC;AAE7B;;;;GAIG;AAEH,eAAO,MAAM,QAAQ,GACnB,KAAK,CAAC,EAAE,SAAS,eAAe,CAAC,IAAI,EACrC,MAAM,IAAI,CAAC,EAAE,CAAC,KACZ,MAAM,CAAC,cAAc,CACvB,MAAM,EACN,MAAM,CAAC,MAAM,CACZ,EACC,QAAQ,EAAE,CAAC,IAAI,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,qBAAqB,CAAC,GAAG,GACnF,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GACvC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,qBAAqB,CAAC,GAAG,GAAG,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAC1F,KAAK,GACP,EACD,WAAW,CAAC,IAAI,CAChB,CAkCC,CAAC;AAEL;;;;GAIG;AAEH,eAAO,MAAM,gBAAgB,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,eAAe,CAAC,IAAI,EACpE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,KACV,MAAM,CAAC,cAAc,CACzB,MAAM,EACN;IACC,QAAQ,EAAE,CAAC,IAAI,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,qBAAqB,CAAC,GAAG,GACnF,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GACvC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,qBAAqB,CAAC,GAAG,GAAG,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAC1F,KAAK;CACP,CACqF,CAAC;AAExF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,CAAC,EAAE,SAAS,eAAe,CAAC,IAAI,EAChE,MAAM,IAAI,CAAC,EAAE,CAAC,KACZ,MAAM,CAAC,cAAc,CACvB,EACC,QAAQ,EAAE,CAAC,IAAI,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,qBAAqB,CAAC,GAAG,GACnF,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GACvC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,qBAAqB,CAAC,GAAG,GAAG,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAC1F,KAAK,GACP,EACD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CA2BvC,CAAC;AAEF;;;;GAIG;AAEH,eAAO,MAAM,mBAAmB,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,eAAe,CAAC,IAAI,EACvE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,KACV,MAAM,CAAC,cAAc,CACzB;IACC,QAAQ,EAAE,CAAC,IAAI,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,qBAAqB,CAAC,GAAG,GACnF,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GACvC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,qBAAqB,CAAC,GAAG,GAAG,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAC1F,KAAK;CACP,EACD,MAAM,CACmF,CAAC"}
1
+ {"version":3,"file":"Template.d.ts","sourceRoot":"","sources":["../../esm/Template.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  /**
2
- * This module implements a TemplatePart type. TemplatePart's are the constituents of Template's
3
- * (see Template.ts).
2
+ * This module implements `CVTemplatePart`'s which are the constituents of `CVTemplate`'s (see
3
+ * Template.ts).
4
4
  *
5
- * There are two kinds of TemplateParts: TemplateSeparator's (see TemplateSeparator.ts) and
6
- * TemplatePlaceholder's (see TemplatePlaceholder.ts)
5
+ * There are two kinds of `CVTemplatePart`'s: `CVTemplateSeparator`'s (see TemplateSeparator.ts) and
6
+ * `CVTemplatePlaceholder`'s (see TemplatePlaceholder.ts)
7
7
  */
8
8
  import * as CVTemplatePlaceholder from './TemplatePlaceholder.js';
9
9
  import * as CVTemplateSeparator from './TemplateSeparator.js';
@@ -1,8 +1,8 @@
1
- /** This module implements an array of TemplatePart's (see TemplatePart.ts) */
1
+ /** This module implements an array of `CVTemplatePart`'s (see TemplatePart.ts) */
2
2
  import { MTypes } from '@parischap/effect-lib';
3
3
  import * as CVTemplatePart from './TemplatePart.js';
4
4
  /**
5
- * Type of a TemplateParts
5
+ * `CVTemplateParts` Type
6
6
  *
7
7
  * @category Models
8
8
  */
@@ -15,7 +15,8 @@ export interface Type<T = any> extends ReadonlyArray<CVTemplatePart.Type<string,
15
15
  */
16
16
  export declare const getSyntheticDescription: MTypes.OneArgFunction<Type, string>;
17
17
  /**
18
- * Shows a description of the placeholders of `self`, e.g.' #name is a #age-year-old #kind.'
18
+ * Shows a description of the `CVTemplatePlaceholder`'s of `self` (see description of
19
+ * `CVTemplatePlaceholder.getLabelledDescription`)
19
20
  *
20
21
  * @category Destructors
21
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateParts.d.ts","sourceRoot":"","sources":["../../esm/TemplateParts.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,OAAO,EAAU,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AAIpD;;;;GAIG;AAEH,MAAM,WAAW,IAAI,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CAAG;AAEvF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAUvE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAazE,CAAC"}
1
+ {"version":3,"file":"TemplateParts.d.ts","sourceRoot":"","sources":["../../esm/TemplateParts.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,EAAU,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AAIpD;;;;GAIG;AAEH,MAAM,WAAW,IAAI,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CAAG;AAEvF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAUvE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAazE,CAAC"}
@@ -1,16 +1,15 @@
1
1
  /**
2
- * This module implements a TemplatePlaceholder type which is a sub-type of the TemplatePart type
3
- * (see TemplatePart.ts)
2
+ * This module implements a `CVTemplatePlaceholder` type which is one of the constituents of
3
+ * `CVTemplate`'s (see Template.ts and TemplatePart.ts)
4
4
  *
5
- * A TemplatePlaceholder represents the mutable part of a template. Each Placeholder defines a
6
- * parser and a formatter:
5
+ * Each `CVTemplatePlaceholder` defines a parser and a formatter:
7
6
  *
8
- * - The parser takes a string, consumes a part of that string, optionnally converts the consumed part
9
- * to a value of type T and, if successful, returns a right of that value and of what has not been
10
- * consumed. In case of an error, it returns a left.
7
+ * - The parser takes a text, consumes a part of that text, optionnally converts the consumed part to
8
+ * a value of type T and, if successful, returns a `Right` of that value and of what has not been
9
+ * consumed. In case of failure, it returns a `Left`.
11
10
  * - The formatter takes a value of type T, converts it to a string (if T is not string), checks that
12
- * the result is coherent and, if so, returns a right of that string. Otherwise, it returns a
13
- * left.
11
+ * the result is coherent and, if so, returns a `Right` of that string. Otherwise, it returns a
12
+ * `Left`
14
13
  */
15
14
  import { MInputError, MInspectable, MString, MTypes } from '@parischap/effect-lib';
16
15
  import { Either, Pipeable, Schema } from 'effect';
@@ -51,7 +50,7 @@ export declare namespace Formatter {
51
50
  }
52
51
  }
53
52
  /**
54
- * Type that represents a TemplatePlaceholder
53
+ * `CVTemplatePlaceholder` Type
55
54
  *
56
55
  * @category Models
57
56
  */
@@ -66,23 +65,24 @@ export interface Type<out N extends string, in out T> extends MInspectable.Type,
66
65
  readonly parser: Parser.Type<T>;
67
66
  /** Formatter of this TemplatePlaceholder */
68
67
  readonly formatter: Formatter.Type<T>;
69
- readonly schemaInstance: Schema.Schema<T, T>;
68
+ /** Schema instance that represents type T */
69
+ readonly tSchemaInstance: Schema.Schema<T, T>;
70
70
  }
71
71
  /**
72
- * Type that represents a TemplatePlaceholder from and to any type
72
+ * Type that represents a `CVTemplatePlaceholder` from and to any type
73
73
  *
74
74
  * @category Models
75
75
  */
76
76
  export interface All extends Type<string, any> {
77
77
  }
78
78
  /**
79
- * Utility type that extracts the Name type of a TemplatePlaceholder
79
+ * Utility type that extracts the Name type of a `CVTemplatePlaceholder`
80
80
  *
81
81
  * @category Utility types
82
82
  */
83
83
  export type ExtractName<P extends All> = P extends Type<infer N, infer _> ? N : never;
84
84
  /**
85
- * Utility type that extracts the Type type of a TemplatePlaceholder
85
+ * Utility type that extracts the output type of a `CVTemplatePlaceholder`
86
86
  *
87
87
  * @category Utility types
88
88
  */
@@ -130,20 +130,21 @@ export declare const parser: <const N extends string, T>(self: Type<N, T>) => Pa
130
130
  */
131
131
  export declare const formatter: <const N extends string, T>(self: Type<N, T>) => Formatter.Type<T>;
132
132
  /**
133
- * Returns the `schemaInstance` property of `self`
133
+ * Returns the `tSchemaInstance` property of `self`
134
134
  *
135
135
  * @category Destructors
136
136
  */
137
- export declare const schemaInstance: <const N extends string, T>(self: Type<N, T>) => Schema.Schema<T, T>;
137
+ export declare const tSchemaInstance: <const N extends string, T>(self: Type<N, T>) => Schema.Schema<T, T>;
138
138
  /**
139
- * Returns the description of `self`
139
+ * Returns a description of `self`, e.g. "#dd: 2-character string left-padded with '0' to unsigned
140
+ * integer."
140
141
  *
141
142
  * @category Destructors
142
143
  */
143
144
  export declare const getLabelledDescription: <N extends string, T>(self: Type<N, T>) => string;
144
145
  /**
145
- * Returns a modified copy of `self` where a postParser function is executed after the parser of
146
- * `self` and a preFormatter function is executed before the formatter of `self`
146
+ * Returns a copy of `self` where a postParser function is executed after the parser of `self` and a
147
+ * preFormatter function is executed before the formatter of `self`
147
148
  *
148
149
  * @category Destructors
149
150
  */
@@ -161,7 +162,7 @@ export declare const modify: {
161
162
  }): <const N extends string>(self: Type<N, T>) => Type<N, T1>;
162
163
  };
163
164
  /**
164
- * Builds a TemplatePlaceholder instance that parses/formats exactly `length` characters from a
165
+ * Builds a `CVTemplatePlaceholder` instance that parses/formats exactly `length` characters from a
165
166
  * string. `length` must be a strictly positive integer.
166
167
  *
167
168
  * @category Constructors
@@ -171,10 +172,10 @@ export declare const fixedLength: <const N extends string>({ name, length }: {
171
172
  readonly length: number;
172
173
  }) => Type<N, string>;
173
174
  /**
174
- * Builds a TemplatePlaceholder instance that parses/formats exactly `length` characters from a
175
- * string and trims/pads the result at `padPosition` with `fillChar`. `fillChar` should be a
175
+ * Same as `fixedLength` but the consumed text is trimmed off of a `fillChar` at `fillPosition` and
176
+ * the written text is padded with a `fillChar` at `fillPosition`. `fillChar` should be a
176
177
  * one-character string. `length` must be a strictly positive integer. See the meaning of
177
- * `disallowEmptyString` in String.trim.
178
+ * `disallowEmptyString` in `MString.trim`
178
179
  *
179
180
  * @category Constructors
180
181
  */
@@ -182,15 +183,16 @@ export declare const paddedFixedLength: <const N extends string>(params: {
182
183
  readonly name: N;
183
184
  readonly length: number;
184
185
  readonly fillChar: string;
185
- readonly padPosition: MString.PadPosition;
186
+ readonly fillPosition: MString.FillPosition;
186
187
  readonly disallowEmptyString: boolean;
187
188
  }) => Type<N, string>;
188
189
  /**
189
- * Builds a TemplatePlaceholder instance that parses/formats a Real in the given
190
- * `numberBase10Format`. If the number to parse/format is less than `length` characters, `fillChar`
191
- * is trimmed/padded between the sign and the number so that the length condition is respected.
192
- * fillChar must be a one-character string (but no error is triggered if you do not respect that
193
- * condition)
190
+ * Same as `fixedLength` but the parser tries to convert the consumed text into a `CVReal` using the
191
+ * passed `CVNumberBase10Format`. The formatter takes a `CVReal` and tries to convert and write it
192
+ * as an n-character string. If the number to parse/format is less than `length` characters,
193
+ * `fillChar` is trimmed/padded between the sign and the number so that the length condition is
194
+ * respected. `fillChar` must be a one-character string (but no error is triggered if you do not
195
+ * respect that condition)
194
196
  *
195
197
  * @category Constructors
196
198
  */
@@ -201,7 +203,9 @@ export declare const fixedLengthToReal: <const N extends string>(params: {
201
203
  readonly numberBase10Format: CVNumberBase10Format.Type;
202
204
  }) => Type<N, CVReal.Type>;
203
205
  /**
204
- * Builds a TemplatePlaceholder instance that parses/formats a Real provided in
206
+ * Builds a `CVTemplatePlaceholder` whose parser reads from the text all the characters that it can
207
+ * interpret as a number in the provided `numberBase10Format` and converts the consumed text into a
208
+ * `CVReal`. The formatter takes a `CVReal` and converts it into a string according to the provided
205
209
  * `numberBase10Format`.
206
210
  *
207
211
  * @category Constructors
@@ -211,7 +215,7 @@ export declare const real: <const N extends string>({ name, numberBase10Format }
211
215
  readonly numberBase10Format: CVNumberBase10Format.Type;
212
216
  }) => Type<N, CVReal.Type>;
213
217
  /**
214
- * Builds a TemplatePlaceholder instance that works as a map:
218
+ * Builds a `CVTemplatePlaceholder` instance that works as a map:
215
219
  *
216
220
  * The parser expects one of the keys of `keyValuePairs` and will return the associated value. The
217
221
  * formatter expects one of the values of `keyValuePairs` and will return the associated key.
@@ -220,11 +224,11 @@ export declare const real: <const N extends string>({ name, numberBase10Format }
220
224
  * is best if the type of the values defines a toString method. Value equality is checked with The
221
225
  * Effect Equal.equals function.
222
226
  *
223
- * `schemaInstance` is a Schema instance that transforms a value of type T into a value of type T.
224
- * It is an optional parameter. You need only provide it if you intend to use a CVTemplate built
225
- * from it within the Effect Schema module. In that case, you can build such a Schema with the
226
- * Schema.declare function. If you don't provide it and use a CVTemplate built from it within the
227
- * Effect Schema module, it will not work.
227
+ * `schemaInstance` is a `Schema` instance that transforms a value of type T into a value of type T.
228
+ * It is an optional parameter. You need only provide it if you intend to use a `CVTemplate` built
229
+ * from this `CVTemplatePlaceholder` within the `Effect.Schema` module. In that case, you can build
230
+ * such a `Schema` with the `Schema.declare` function (if you don't provide it, the `Schema` will
231
+ * return an error)
228
232
  *
229
233
  * @category Constructors
230
234
  */
@@ -234,8 +238,8 @@ export declare const mappedLiterals: <const N extends string, T>({ name, keyValu
234
238
  readonly schemaInstance?: Schema.Schema<T, T>;
235
239
  }) => Type<N, T>;
236
240
  /**
237
- * Same as `mappedLiterals` but `T` is assumed to be `CVReal.Type` which should be the most usual
238
- * use case
241
+ * Same as `mappedLiterals` but `T` is assumed to be `CVReal` which should be the most usual use
242
+ * case
239
243
  *
240
244
  * @category Constructors
241
245
  */
@@ -244,8 +248,10 @@ export declare const realMappedLiterals: <const N extends string>(params: {
244
248
  readonly keyValuePairs: ReadonlyArray<readonly [string, CVReal.Type]>;
245
249
  }) => Type<N, CVReal.Type>;
246
250
  /**
247
- * Builds a TemplatePlaceholder instance that parses/formats the regular expression regExp. `regExp`
248
- * must start with the ^ character. Otherwise, the parser and formatter will not work properly.
251
+ * Builds a `CVTemplatePlaceholder` whose parser reads as much of the text as it can that fulfills
252
+ * the passed regular expression. The formatter only accepts a string that matches the passed
253
+ * regular expression and writes it into the text. `regExp` must start with the ^ character.
254
+ * Otherwise, the parser and formatter will not work properly.
249
255
  *
250
256
  * @category Constructors
251
257
  */
@@ -255,9 +261,12 @@ export declare const fulfilling: <const N extends string>({ name, regExp, regExp
255
261
  readonly regExpDescriptor: string;
256
262
  }) => Type<N, string>;
257
263
  /**
258
- * Builds a TemplatePlaceholder instance that parses/formats a non-empty string made up of
259
- * characters other than those contained in `forbiddenChars`. `forbiddenChars` should be an array of
260
- * 1-character strings (will not throw otherwise but strange behaviors can be expected)
264
+ * This `CVTemplatePlaceholder` instance is a special case of the `fulfilling`
265
+ * `CVTemplatePlaceholder` instance. The parser of this Placeholder reads from the text until it
266
+ * meets one of the `forbiddenChars` passed as parameter (the result must be a non-empty string).
267
+ * The formatter only accepts a non-empty string that does not contain any of the forbidden chars
268
+ * and write it to the text. `forbiddenChars` should be an array of 1-character strings (will not
269
+ * throw otherwise but strange behaviors can be expected)
261
270
  *
262
271
  * @category Constructors
263
272
  */
@@ -266,7 +275,10 @@ export declare const anythingBut: <const N extends string>({ name, forbiddenChar
266
275
  readonly forbiddenChars: MTypes.OverOne<string>;
267
276
  }) => Type<N, string>;
268
277
  /**
269
- * Builds a TemplatePlaceholder instance that parses/formats all the remaining text.
278
+ * This `CVTemplatePlaceholder` instance is another special case of the `fulfilling`
279
+ * `CVTemplatePlaceholder` instance. The parser of this `CVTemplatePlaceholder` reads all the
280
+ * remaining text. The formatter accepts any string and writes it. This `CVTemplatePlaceholder`
281
+ * should only be used as the last `CVTemplatePart` of a `CVTemplate`.
270
282
  *
271
283
  * @category Constructors
272
284
  */
@@ -1 +1 @@
1
- {"version":3,"file":"TemplatePlaceholder.d.ts","sourceRoot":"","sources":["../../esm/TemplatePlaceholder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TemplatePlaceholder.d.ts","sourceRoot":"","sources":["../../esm/TemplatePlaceholder.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,9 @@
1
1
  /**
2
- * This module implements a TemplateSeparator type which is a sub-type of the TemplatePart type (see
3
- * TemplatePart.ts)
4
- *
5
- * A TemplateSeparator represents the immutable part of a template. Upon parsing, we must check that
6
- * it is present as is in the text. Upon formatting, it must be inserted as is into the text. A
7
- * Separator contains no valuable information
2
+ * This module implements a `CVTemplateSeparator` type which is one of the constituents of
3
+ * `CVTemplate`'s (see Template.ts and TemplatePart.ts)
8
4
  */
9
5
  import { MInputError, MInspectable, MTypes } from '@parischap/effect-lib';
10
- import { Either, Function, Pipeable } from 'effect';
6
+ import { Either, Pipeable } from 'effect';
11
7
  /**
12
8
  * Module tag
13
9
  *
@@ -15,45 +11,13 @@ import { Either, Function, Pipeable } from 'effect';
15
11
  */
16
12
  export declare const moduleTag = "@parischap/conversions/TemplateSeparator/";
17
13
  /**
18
- * Namespace of a Parser
19
- *
20
- * @category Models
21
- */
22
- export declare namespace Parser {
23
- /**
24
- * Type that describes a Parser
25
- *
26
- * @category Models
27
- */
28
- interface Type extends MTypes.OneArgFunction<number, MTypes.OneArgFunction<string, Either.Either<string, MInputError.Type>>> {
29
- }
30
- }
31
- /**
32
- * Namespace of a Formatter
33
- *
34
- * @category Models
35
- */
36
- export declare namespace Formatter {
37
- /**
38
- * Type that describes a Formatter
39
- *
40
- * @category Models
41
- */
42
- interface Type extends Function.LazyArg<string> {
43
- }
44
- }
45
- /**
46
- * Type that represents a TemplateSeparator
14
+ * `CVTemplateSeparator` Type
47
15
  *
48
16
  * @category Models
49
17
  */
50
18
  export interface Type extends MInspectable.Type, Pipeable.Pipeable {
51
19
  /** The string representing this separator */
52
20
  readonly value: string;
53
- /** Parser of this TemplateSeparator */
54
- readonly parser: Parser.Type;
55
- /** Formatter of this TemplateSeparator */
56
- readonly formatter: Formatter.Type;
57
21
  }
58
22
  /**
59
23
  * Type guard
@@ -62,29 +26,23 @@ export interface Type extends MInspectable.Type, Pipeable.Pipeable {
62
26
  */
63
27
  export declare const has: (u: unknown) => u is Type;
64
28
  /**
65
- * Builds a Separator instance that parses/formats a given string.
29
+ * Constructor
66
30
  *
67
31
  * @category Constructors
68
32
  */
69
33
  export declare const make: (value: string) => Type;
70
34
  /**
71
- * Returns the `value` property of `self`
35
+ * Builds a parser that implements this `CVTemplateSeparator`
72
36
  *
73
37
  * @category Destructors
74
38
  */
75
- export declare const value: MTypes.OneArgFunction<Type, string>;
39
+ export declare const toParser: (self: Type) => (pos: number, text: string) => Either.Either<string, MInputError.Type>;
76
40
  /**
77
- * Returns the `parser` property of `self`
78
- *
79
- * @category Destructors
80
- */
81
- export declare const parser: MTypes.OneArgFunction<Type, Parser.Type>;
82
- /**
83
- * Returns the `formatter` property of `self`
41
+ * Returns the `value` property of `self`
84
42
  *
85
43
  * @category Destructors
86
44
  */
87
- export declare const formatter: MTypes.OneArgFunction<Type, Formatter.Type>;
45
+ export declare const value: MTypes.OneArgFunction<Type, string>;
88
46
  /**
89
47
  * Slash Separator instance
90
48
  *
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateSeparator.d.ts","sourceRoot":"","sources":["../../esm/TemplateSeparator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAsB,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE9F,OAAO,EAAE,MAAM,EAAQ,QAAQ,EAAE,QAAQ,EAAqB,MAAM,QAAQ,CAAC;AAE7E;;;;GAIG;AACH,eAAO,MAAM,SAAS,8CAA8C,CAAC;AAIrE;;;;GAIG;AACH,yBAAiB,MAAM,CAAC;IACvB;;;;OAIG;IACH,UAAiB,IAChB,SAAQ,MAAM,CAAC,cAAc,CAC5B,MAAM,EACN,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CACtE;KAAG;CACL;AAED;;;;GAIG;AACH,yBAAiB,SAAS,CAAC;IAC1B;;;;OAIG;IACH,UAAiB,IAAK,SAAQ,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;KAAG;CACzD;AAED;;;;GAIG;AACH,MAAM,WAAW,IAAK,SAAQ,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ;IACjE,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,uCAAuC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;IAE7B,0CAA0C;IAC1C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC;CAInC;AAED;;;;GAIG;AACH,eAAO,MAAM,GAAG,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,IAAyC,CAAC;AAchF;;;;GAIG;AACH,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,KAAG,IAYlC,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAuB,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAwB,CAAC;AAErF;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAA2B,CAAC;AAE9F;;;;GAIG;AACH,eAAO,MAAM,KAAK,EAAE,IAAgB,CAAC;AAErC;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,IAAiB,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,GAAG,EAAE,IAAgB,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,MAAM,EAAE,IAAgB,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,KAAK,EAAE,IAAgB,CAAC;AAErC;;;;GAIG;AACH,eAAO,MAAM,KAAK,EAAE,IAAgB,CAAC;AAErC;;;;GAIG;AACH,eAAO,MAAM,KAAK,EAAE,IAAgB,CAAC"}
1
+ {"version":3,"file":"TemplateSeparator.d.ts","sourceRoot":"","sources":["../../esm/TemplateSeparator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAsB,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE9F,OAAO,EAAE,MAAM,EAAQ,QAAQ,EAAqB,MAAM,QAAQ,CAAC;AAEnE;;;;GAIG;AACH,eAAO,MAAM,SAAS,8CAA8C,CAAC;AAIrE;;;;GAIG;AACH,MAAM,WAAW,IAAK,SAAQ,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ;IACjE,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAIvB;AAED;;;;GAIG;AACH,eAAO,MAAM,GAAG,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,IAAyC,CAAC;AAchF;;;;GAIG;AACH,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,KAAG,IAAwB,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GACnB,MAAM,IAAI,MACV,KAAK,MAAM,EAAE,MAAM,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAWlE,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAuB,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,KAAK,EAAE,IAAgB,CAAC;AAErC;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,IAAiB,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,GAAG,EAAE,IAAgB,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,MAAM,EAAE,IAAgB,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,KAAK,EAAE,IAAgB,CAAC;AAErC;;;;GAIG;AACH,eAAO,MAAM,KAAK,EAAE,IAAgB,CAAC;AAErC;;;;GAIG;AACH,eAAO,MAAM,KAAK,EAAE,IAAgB,CAAC"}