@digitalservicebund/a2j-xjustiz-bridge 0.7.1 → 0.9.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.
- package/dist/nachricht/zahlungsklage.d.ts +147 -146
- package/dist/nachricht/zahlungsklage.js +151 -40
- package/package.json +7 -7
|
@@ -2403,33 +2403,6 @@ type ConsumeCharactersFrom<Input extends string, SetOfCharactersToConsume extend
|
|
|
2403
2403
|
* Typically used to ensure the true identity of a base type.
|
|
2404
2404
|
*/
|
|
2405
2405
|
type Invariant<Basis> = (basis: Basis) => Basis;
|
|
2406
|
-
type IsTuple<MaybeTuple> = MaybeTuple extends readonly unknown[] ? number extends MaybeTuple["length"] ? false : true : false;
|
|
2407
|
-
type NTuple<Item, Length extends number, NMinusOneTuple extends readonly Item[] = []> = NMinusOneTuple["length"] extends Length ? NMinusOneTuple : NTuple<Item, Length, [...NMinusOneTuple, Item]>;
|
|
2408
|
-
/**
|
|
2409
|
-
* Increment a given literal number type by one.
|
|
2410
|
-
* Intended to by used without unions. In case of a union, it will increment the
|
|
2411
|
-
* smallest literal number type in the union
|
|
2412
|
-
*
|
|
2413
|
-
* @example
|
|
2414
|
-
* ```typescript
|
|
2415
|
-
* Increment<1> // 2
|
|
2416
|
-
* Increment<99> // 100
|
|
2417
|
-
* Increment<99, 5, 27> // 6
|
|
2418
|
-
* Increment<number> // 1
|
|
2419
|
-
* ```
|
|
2420
|
-
*/
|
|
2421
|
-
type Increment<Operand extends number> = [...NTuple<unknown, Operand>, unknown]["length"] extends (infer Incremented extends number) ? Incremented : never;
|
|
2422
|
-
type IsEqualTo<Left, Right> = (<Probe>() => Probe extends Left ? 1 : 2) extends (<Probe>() => Probe extends Right ? 1 : 2) ? true : false;
|
|
2423
|
-
/**
|
|
2424
|
-
* Just the clean numerical indices of the tuple entries. Exclude symbols for
|
|
2425
|
-
* iterator etc.
|
|
2426
|
-
*
|
|
2427
|
-
* @example
|
|
2428
|
-
* ```typescript
|
|
2429
|
-
* IndicesOfTuple<["a", "b", "c"]> // 1 | 2 | 3
|
|
2430
|
-
* ```
|
|
2431
|
-
*/
|
|
2432
|
-
type IndicesOfTuple<Tuple extends readonly unknown[]> = Extract<keyof Tuple, `${number}`> extends `${infer Indices extends number}` ? Indices : never;
|
|
2433
2406
|
//#endregion
|
|
2434
2407
|
//#region src/xjustiz-schemata/shared-kernel/refined-types.d.ts
|
|
2435
2408
|
/**
|
|
@@ -2655,20 +2628,21 @@ declare const datatypeA: RefinedTypeFactory<string, DatatypeA, <Value extends st
|
|
|
2655
2628
|
}>;
|
|
2656
2629
|
/**
|
|
2657
2630
|
* Adapted version of the default {@link Array.prototype.join} operation that
|
|
2658
|
-
* maintains the invariants of {@link DatatypeA}.
|
|
2659
|
-
*
|
|
2631
|
+
* maintains the invariants of {@link DatatypeA}. Any `undefined` entry in
|
|
2632
|
+
* `segments` is filtered automatically.
|
|
2660
2633
|
* @example
|
|
2661
2634
|
* ```typescript
|
|
2662
2635
|
* const fullName = join(
|
|
2663
2636
|
* datatypeA(" ").value,
|
|
2664
2637
|
* datatypeA("Frau").value,
|
|
2665
2638
|
* datatypeA("Erika").value,
|
|
2639
|
+
* undefined,
|
|
2666
2640
|
* datatypeA("Musterfrau").value,
|
|
2667
2641
|
* );
|
|
2668
2642
|
* // "Frau Erika Musterfrau" - still DatatypeA no plain string
|
|
2669
2643
|
* ```
|
|
2670
2644
|
*/
|
|
2671
|
-
declare function join(separator: DatatypeA, ...segments: readonly DatatypeA[]): DatatypeA;
|
|
2645
|
+
declare function join(separator: DatatypeA, ...segments: readonly (DatatypeA | undefined)[]): DatatypeA;
|
|
2672
2646
|
type DatatypeACharacterIncomplete = LateinischeBuchstabenIncomplete | NichtBuchstabenN1;
|
|
2673
2647
|
type GuaranteedInvalidCharacter = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "#" | "$" | "%" | "&" | "*" | "+" | "/" | "<" | "=" | ">" | "@" | "\\" | "^" | "_" | "|" | "!" | '"' | "(" | ")" | ":" | ";" | "?" | "[" | "]" | "{" | "}";
|
|
2674
2648
|
//#endregion
|
|
@@ -2716,20 +2690,24 @@ declare const datatypeB: RefinedTypeFactory<string, DatatypeB, <Value extends st
|
|
|
2716
2690
|
}>;
|
|
2717
2691
|
/**
|
|
2718
2692
|
* Adapted version of the default {@link Array.prototype.join} operation that
|
|
2719
|
-
* maintains the invariants of {@link DatatypeB}.
|
|
2693
|
+
* maintains the invariants of {@link DatatypeB}. Also supports passing
|
|
2694
|
+
* and mixing {@link DatatypeA} values, as any {@link DatentypA} is also a valid
|
|
2695
|
+
* {@link DatatypeB}. Any `undefined` entry in `segments` is filtered
|
|
2696
|
+
* automatically.
|
|
2720
2697
|
*
|
|
2721
2698
|
* @example
|
|
2722
2699
|
* ```typescript
|
|
2723
2700
|
* const fullAddress = join(
|
|
2724
|
-
*
|
|
2701
|
+
* datatypeA(" ").value,
|
|
2725
2702
|
* datatypeB("Musterstraße").value,
|
|
2726
2703
|
* datatypeB("1A").value,
|
|
2704
|
+
* undefined,
|
|
2727
2705
|
* datatypeB("Musterstadt").value,
|
|
2728
2706
|
* );
|
|
2729
2707
|
* // "Musterstraße 1A Musterstadt" - still DatatypeB no plain string
|
|
2730
2708
|
* ```
|
|
2731
2709
|
*/
|
|
2732
|
-
declare function join$1(separator: DatatypeB, ...segments: readonly DatatypeB[]): DatatypeB;
|
|
2710
|
+
declare function join$1(separator: DatatypeA | DatatypeB, ...segments: readonly (DatatypeA | DatatypeB | undefined)[]): DatatypeB;
|
|
2733
2711
|
type DatatypeBCharacterIncomplete = LateinischeBuchstabenIncomplete | NichtBuchstabenN1 | NichtBuchstabenN2;
|
|
2734
2712
|
//#endregion
|
|
2735
2713
|
//#region src/xjustiz-schemata/din-91379/datatypeC.d.ts
|
|
@@ -2779,20 +2757,24 @@ declare const datatypeC: RefinedTypeFactory<string, DatatypeC, <Value extends st
|
|
|
2779
2757
|
}>;
|
|
2780
2758
|
/**
|
|
2781
2759
|
* Adapted version of the default {@link Array.prototype.join} operation that
|
|
2782
|
-
* maintains the invariants of {@link DatatypeC}.
|
|
2760
|
+
* maintains the invariants of {@link DatatypeC}. Also supports passing
|
|
2761
|
+
* and mixing {@link DatatypeA} and {@link DatatypeB} values, as any of them is
|
|
2762
|
+
* also a valid {@link DatatypeC}. Any `undefined` entry in `segments` is
|
|
2763
|
+
* filtered automatically.
|
|
2783
2764
|
*
|
|
2784
2765
|
* @example
|
|
2785
2766
|
* ```typescript
|
|
2786
|
-
* const
|
|
2787
|
-
*
|
|
2767
|
+
* const output = join(
|
|
2768
|
+
* datatypeA(" ").value,
|
|
2788
2769
|
* datatypeC("Lorem").value,
|
|
2789
|
-
*
|
|
2770
|
+
* datatypeB("ipsum").value,
|
|
2771
|
+
* undefined,
|
|
2790
2772
|
* datatypeC("dolor").value,
|
|
2791
2773
|
* );
|
|
2792
2774
|
* // "Lorem ipsum dolor" - still DatatypeC no plain string
|
|
2793
2775
|
* ```
|
|
2794
2776
|
*/
|
|
2795
|
-
declare function join$2(separator: DatatypeC, ...segments: readonly DatatypeC[]): DatatypeC;
|
|
2777
|
+
declare function join$2(separator: DatatypeA | DatatypeB | DatatypeC, ...segments: readonly (DatatypeA | DatatypeB | DatatypeC | undefined)[]): DatatypeC;
|
|
2796
2778
|
//#endregion
|
|
2797
2779
|
//#region src/xjustiz-schemata/din-91379/datatypeD.d.ts
|
|
2798
2780
|
declare const TAG$9: unique symbol;
|
|
@@ -2843,20 +2825,24 @@ declare const datatypeD: RefinedTypeFactory<string, DatatypeD, <Value extends st
|
|
|
2843
2825
|
}>;
|
|
2844
2826
|
/**
|
|
2845
2827
|
* Adapted version of the default {@link Array.prototype.join} operation that
|
|
2846
|
-
* maintains the invariants of {@link DatatypeD}.
|
|
2828
|
+
* maintains the invariants of {@link DatatypeD}. Also supports passing
|
|
2829
|
+
* and mixing {@link DatatypeA} and {@link DatatypeB} values, as any of them is
|
|
2830
|
+
* also a valid {@link DatatypeD}. Any `undefined` entry in `segments` is
|
|
2831
|
+
* filtered automatically.
|
|
2847
2832
|
*
|
|
2848
2833
|
* @example
|
|
2849
2834
|
* ```typescript
|
|
2850
|
-
* const
|
|
2851
|
-
*
|
|
2835
|
+
* const output = join(
|
|
2836
|
+
* datatypeA(" ").value,
|
|
2852
2837
|
* datatypeD("Lorem").value,
|
|
2853
|
-
*
|
|
2838
|
+
* datatypeB("ipsum").value,
|
|
2839
|
+
* undefined,
|
|
2854
2840
|
* datatypeD("dolor").value,
|
|
2855
2841
|
* );
|
|
2856
2842
|
* // "Lorem ipsum dolor" - still DatatypeD no plain string
|
|
2857
2843
|
* ```
|
|
2858
2844
|
*/
|
|
2859
|
-
declare function join$3(separator: DatatypeD, ...segments: readonly DatatypeD[]): DatatypeD;
|
|
2845
|
+
declare function join$3(separator: DatatypeA | DatatypeB | DatatypeD, ...segments: readonly (DatatypeA | DatatypeB | DatatypeD | undefined)[]): DatatypeD;
|
|
2860
2846
|
//#endregion
|
|
2861
2847
|
//#region src/xjustiz-schemata/xml-schema-definition/decimal.d.ts
|
|
2862
2848
|
declare const TAG$8: unique symbol;
|
|
@@ -2898,9 +2884,6 @@ interface DistinctiveMarker<Value, Ordinal extends number> {
|
|
|
2898
2884
|
readonly [DISTINCTIVE_MARKER]: readonly [Value, Ordinal];
|
|
2899
2885
|
}
|
|
2900
2886
|
declare const DISTINCTIVE_MARKER: unique symbol;
|
|
2901
|
-
type GetDistinctValueFrom<MaybeDistinctivelyMarked> = MaybeDistinctivelyMarked extends {
|
|
2902
|
-
readonly [DISTINCTIVE_MARKER]: readonly [infer Value, infer Ordinal];
|
|
2903
|
-
} ? [Value, Ordinal] : MaybeDistinctivelyMarked;
|
|
2904
2887
|
//#endregion
|
|
2905
2888
|
//#region src/xjustiz-schemata/shared-kernel/identifiers/occurrences.d.ts
|
|
2906
2889
|
interface IdentifierDeclaration {
|
|
@@ -2917,39 +2900,6 @@ interface Reference<Identifier extends IdentifierDeclaration> {
|
|
|
2917
2900
|
readonly [IDENTIFIER_REFERENCE_MARKER]: Identifier;
|
|
2918
2901
|
}
|
|
2919
2902
|
declare const IDENTIFIER_REFERENCE_MARKER: unique symbol;
|
|
2920
|
-
type FindAllIdentifierDeclarations<DocumentPart> = DocumentPart extends IdentifierDeclaration ? DocumentPart : DocumentPart extends Reference<IdentifierDeclaration> ? never : DocumentPart extends readonly (infer Entry)[] ? FindAllIdentifierDeclarations<Entry> : DocumentPart extends object ? FindAllIdentifierDeclarations<DocumentPart[keyof DocumentPart]> : never;
|
|
2921
|
-
type FindAllIdentifierReferences<DocumentPart> = DocumentPart extends Reference<IdentifierDeclaration> ? ExtractIdentifierDeclarationFrom<DocumentPart> : DocumentPart extends readonly (infer Entry)[] ? FindAllIdentifierReferences<Entry> : DocumentPart extends object ? FindAllIdentifierReferences<DocumentPart[keyof DocumentPart]> : never;
|
|
2922
|
-
type ExtractIdentifierDeclarationFrom<SomeReference extends Reference<IdentifierDeclaration>> = SomeReference extends {
|
|
2923
|
-
readonly [IDENTIFIER_REFERENCE_MARKER]: infer Declaration;
|
|
2924
|
-
} ? Declaration : never;
|
|
2925
|
-
//#endregion
|
|
2926
|
-
//#region src/xjustiz-schemata/shared-kernel/identifiers/referential-integrity.d.ts
|
|
2927
|
-
type VerifyReferentialIntegrity<Document> = FindMissingIdentifierDeclarations<Document> extends (infer MissingIdentifierDeclarations) ? IsEmpty$2<MissingIdentifierDeclarations> extends true ? AllGood$2 : DanglingReferencesError<MissingIdentifierDeclarations> : Unreachable$2;
|
|
2928
|
-
type FindMissingIdentifierDeclarations<Document> = Exclude<FindAllIdentifierReferences<Document>, FindAllIdentifierDeclarations<Document>>;
|
|
2929
|
-
type DanglingReferencesError<MissingIdentifierDeclarations> = TypeError & "Found dangling references. Add all missing elements that are referenced." & {
|
|
2930
|
-
readonly missingIdentifierReferences: MissingIdentifierDeclarations;
|
|
2931
|
-
};
|
|
2932
|
-
type IsEmpty$2<MaybeEmpty> = [MaybeEmpty] extends [never] ? true : false;
|
|
2933
|
-
type AllGood$2 = never;
|
|
2934
|
-
type Unreachable$2 = never;
|
|
2935
|
-
//#endregion
|
|
2936
|
-
//#region src/xjustiz-schemata/shared-kernel/identifiers/uniqueness.d.ts
|
|
2937
|
-
type VerifyUniquenessOfIdentifierDeclarations<Document> = FindUncheckableCollectionsWithIdentifiers<Document> extends (infer UncheckableCollectionsWithIdentifiers) ? IsEmpty$1<UncheckableCollectionsWithIdentifiers> extends false ? UncheckableCollectionsWithIdentifiersError<UncheckableCollectionsWithIdentifiers> : FindDuplicateIdentifierDeclarations<Document> extends (infer DuplicateIdentifierDeclarations) ? IsEmpty$1<DuplicateIdentifierDeclarations> extends false ? DuplicateIdentifierDeclarationsError<DuplicateIdentifierDeclarations> : AllGood$1 : Unreachable$1 : Unreachable$1;
|
|
2938
|
-
type FindUncheckableCollectionsWithIdentifiers<DocumentPart> = DocumentPart extends readonly (infer Entry)[] ? IsTuple<DocumentPart> extends true ? FindUncheckableCollectionsWithIdentifiers<Entry> : IncludesIdentifierDeclarations<Entry> extends true ? Entry : AllGood$1 : DocumentPart extends object ? FindUncheckableCollectionsWithIdentifiers<DocumentPart[keyof DocumentPart]> : AllGood$1;
|
|
2939
|
-
type IncludesIdentifierDeclarations<DocumentPart> = IsEmpty$1<FindAllIdentifierDeclarations<DocumentPart>> extends true ? false : true;
|
|
2940
|
-
type UncheckableCollectionsWithIdentifiersError<UncheckableCollectionsWithIdentifiers> = TypeError & "Found collection including identifiers that can't be verified for uniqueness. Try to use the `satisfies` operator." & {
|
|
2941
|
-
readonly uncheckableCollectionsWithIdentifiers: UncheckableCollectionsWithIdentifiers;
|
|
2942
|
-
};
|
|
2943
|
-
type FindDuplicateIdentifierDeclarations<DocumentPart> = DocumentPart extends readonly unknown[] ? FindDuplicateIdentifierDeclarationsAmongSiblings<DocumentPart, IndicesOfTuple<DocumentPart>> : DocumentPart extends object ? FindDuplicateIdentifierDeclarationsAmongSiblings<DocumentPart, keyof DocumentPart> : NoDuplicates;
|
|
2944
|
-
type FindDuplicateIdentifierDeclarationsAmongSiblings<DocumentPart, Keys extends keyof DocumentPart> = { [Key in Keys]: FindDuplicateIdentifierDeclarations<DocumentPart[Key]> | (Exclude<Keys, Key> extends (infer SiblingKeys extends keyof DocumentPart) ? IsEmpty$1<SiblingKeys> extends true ? NoDuplicates : FindDuplicateIdentifierDeclarationsBetweenGroups<FindAllIdentifierDeclarations<DocumentPart[Key]>, FindAllIdentifierDeclarations<DocumentPart[SiblingKeys]>> : Unreachable$1); }[Keys];
|
|
2945
|
-
type FindDuplicateIdentifierDeclarationsBetweenGroups<Left, Right> = Left extends unknown ? Right extends unknown ? IsEqualTo<GetDistinctValueFrom<Left>, GetDistinctValueFrom<Right>> extends true ? Left : NoDuplicates : Unreachable$1 : Unreachable$1;
|
|
2946
|
-
type DuplicateIdentifierDeclarationsError<DuplicateIdentifierDeclarations> = TypeError & "Found duplicate identifier declarations. Remove duplicate element or generate separate identifier." & {
|
|
2947
|
-
readonly duplicateIdentifierDeclarations: DuplicateIdentifierDeclarations;
|
|
2948
|
-
};
|
|
2949
|
-
type IsEmpty$1<MaybeEmpty> = [MaybeEmpty] extends [never] ? true : false;
|
|
2950
|
-
type AllGood$1 = never;
|
|
2951
|
-
type NoDuplicates = never;
|
|
2952
|
-
type Unreachable$1 = never;
|
|
2953
2903
|
//#endregion
|
|
2954
2904
|
//#region src/xjustiz-schemata/shared-kernel/scoping.d.ts
|
|
2955
2905
|
/**
|
|
@@ -3000,7 +2950,6 @@ type ScopeGuard<Scope> = Invariant<Scope>;
|
|
|
3000
2950
|
//#endregion
|
|
3001
2951
|
//#region src/xjustiz-schemata/shared-kernel/identifiers/index.d.ts
|
|
3002
2952
|
interface WithIdentifierCapabilities<Value, Scope, Ordinal extends number> extends IdentifierDeclaration, DistinctiveMarker<Value, Ordinal>, WithScope<Scope> {}
|
|
3003
|
-
type VerifyIdentityConstraints<Document> = VerifyUniquenessOfIdentifierDeclarations<Document> | VerifyReferentialIntegrity<Document>;
|
|
3004
2953
|
//#endregion
|
|
3005
2954
|
//#region src/xjustiz-schemata/grunddatensatz/rollennummer.d.ts
|
|
3006
2955
|
/**
|
|
@@ -3055,9 +3004,14 @@ declare const ZUGEHOERIGE_ROLLENBEZEICHNUNG: unique symbol;
|
|
|
3055
3004
|
* ```
|
|
3056
3005
|
*/
|
|
3057
3006
|
declare function createRollennummerGenerator<NachrichtenScope>(scope: ScopeToken<NachrichtenScope>): RollennummerGenerator<NachrichtenScope>;
|
|
3007
|
+
/**
|
|
3008
|
+
* **ATTENTION:**
|
|
3009
|
+
* Incrementing ordinals for generated identifiers are currently turned off,
|
|
3010
|
+
* because of technical limitations to enable dynamic input lists.
|
|
3011
|
+
*/
|
|
3058
3012
|
interface RollennummerGenerator<NachrichtenScope> {
|
|
3059
|
-
first: <ZugehoerigeRollenbezeichnung extends Rollenbezeichnung>(zugehoerigeRollenbezeichnung: ZugehoerigeRollenbezeichnung) => Rollennummer<NachrichtenScope, ZugehoerigeRollenbezeichnung
|
|
3060
|
-
next: <ZugehoerigeRollenbezeichnung extends Rollenbezeichnung, Ordinal extends number>(previous: Rollennummer<NachrichtenScope, Rollenbezeichnung, Ordinal>, zugehoerigeRollenbezeichnung: ZugehoerigeRollenbezeichnung) => Rollennummer<NachrichtenScope, ZugehoerigeRollenbezeichnung
|
|
3013
|
+
first: <ZugehoerigeRollenbezeichnung extends Rollenbezeichnung>(zugehoerigeRollenbezeichnung: ZugehoerigeRollenbezeichnung) => Rollennummer<NachrichtenScope, ZugehoerigeRollenbezeichnung>;
|
|
3014
|
+
next: <ZugehoerigeRollenbezeichnung extends Rollenbezeichnung, Ordinal extends number>(previous: Rollennummer<NachrichtenScope, Rollenbezeichnung, Ordinal>, zugehoerigeRollenbezeichnung: ZugehoerigeRollenbezeichnung) => Rollennummer<NachrichtenScope, ZugehoerigeRollenbezeichnung>;
|
|
3061
3015
|
}
|
|
3062
3016
|
//#endregion
|
|
3063
3017
|
//#region src/xjustiz-schemata/grunddatensatz/uuid.d.ts
|
|
@@ -3095,15 +3049,26 @@ declare const TAG$5: unique symbol;
|
|
|
3095
3049
|
* ```
|
|
3096
3050
|
*/
|
|
3097
3051
|
declare function createUuidGenerator<NachrichtenScope>(scope: ScopeToken<NachrichtenScope>): UuidGenerator<NachrichtenScope>;
|
|
3052
|
+
/**
|
|
3053
|
+
* **ATTENTION:**
|
|
3054
|
+
* Incrementing ordinals for generated identifiers are currently turned off,
|
|
3055
|
+
* because of technical limitations to enable dynamic input lists.
|
|
3056
|
+
*/
|
|
3098
3057
|
interface UuidGenerator<NachrichtenScope> {
|
|
3099
|
-
first: () => UUID<NachrichtenScope
|
|
3100
|
-
next: <Ordinal extends number>(previous: UUID<NachrichtenScope, Ordinal>) => UUID<NachrichtenScope
|
|
3058
|
+
first: () => UUID<NachrichtenScope>;
|
|
3059
|
+
next: <Ordinal extends number>(previous: UUID<NachrichtenScope, Ordinal>) => UUID<NachrichtenScope>;
|
|
3101
3060
|
}
|
|
3102
3061
|
//#endregion
|
|
3103
3062
|
//#region src/xjustiz-schemata/grunddatensatz/composites.d.ts
|
|
3063
|
+
/**
|
|
3064
|
+
* The Herstellerinformationen are fixed agreed on with the Bundesministerium
|
|
3065
|
+
* der Justiz und für Verbraucherschutz. The `version` is expected to be the one
|
|
3066
|
+
* of the XJustiz-Bridge. It can be constructed ergonomically with the
|
|
3067
|
+
* {@link herstellerinformation} constructor function.
|
|
3068
|
+
*/
|
|
3104
3069
|
interface Herstellerinformation {
|
|
3105
|
-
nameDesProdukts:
|
|
3106
|
-
herstellerDesProdukts:
|
|
3070
|
+
nameDesProdukts: "Justizportal XJustiz Services";
|
|
3071
|
+
herstellerDesProdukts: "Bundesministerium der Justiz und für Verbraucherschutz, ausgeführt durch DigitalService GmbH des Bundes";
|
|
3107
3072
|
version: DatatypeC;
|
|
3108
3073
|
}
|
|
3109
3074
|
interface NatuerlichePerson {
|
|
@@ -3139,6 +3104,10 @@ interface Anschrift {
|
|
|
3139
3104
|
postleitzahl?: DatatypeC;
|
|
3140
3105
|
ort?: DatatypeB;
|
|
3141
3106
|
}
|
|
3107
|
+
/**
|
|
3108
|
+
* Can be constructed ergonomically with the {@link email} and {@link telefon}
|
|
3109
|
+
* constructor functions.
|
|
3110
|
+
*/
|
|
3142
3111
|
interface Kommunikation {
|
|
3143
3112
|
telekommunikationsart: Telekommunikationsart;
|
|
3144
3113
|
verbindung: DatatypeC;
|
|
@@ -3249,20 +3218,25 @@ declare const datatypeE: RefinedTypeFactory<string, DatatypeE, <Value extends st
|
|
|
3249
3218
|
}>;
|
|
3250
3219
|
/**
|
|
3251
3220
|
* Adapted version of the default {@link Array.prototype.join} operation that
|
|
3252
|
-
* maintains the invariants of {@link DatatypeE}.
|
|
3221
|
+
* maintains the invariants of {@link DatatypeE}. Also supports passing
|
|
3222
|
+
* and mixing {@link DatatypeA}, {@link DatatypeB}, {@link DatatypeC} and
|
|
3223
|
+
* {@link DatatypeD} values, as any of them is also a valid {@link DatatypeE}.
|
|
3224
|
+
* Any `undefined` entry in `segments` is filtered automatically.
|
|
3253
3225
|
*
|
|
3254
3226
|
* @example
|
|
3255
3227
|
* ```typescript
|
|
3256
|
-
* const
|
|
3257
|
-
*
|
|
3258
|
-
*
|
|
3259
|
-
*
|
|
3260
|
-
*
|
|
3228
|
+
* const output = join(
|
|
3229
|
+
* datatypeA(" ").value,
|
|
3230
|
+
* datatypeB("Lorem").value,
|
|
3231
|
+
* datatypeC("ipsum").value,
|
|
3232
|
+
* datatypeD("dolor").value,
|
|
3233
|
+
* undefined,
|
|
3234
|
+
* datatypeE("sit").value,
|
|
3261
3235
|
* );
|
|
3262
|
-
* // "Lorem ipsum dolor" - still DatatypeE no plain string
|
|
3236
|
+
* // "Lorem ipsum dolor sit" - still DatatypeE no plain string
|
|
3263
3237
|
* ```
|
|
3264
3238
|
*/
|
|
3265
|
-
declare function join$4(separator: DatatypeE, ...segments: readonly DatatypeE[]): DatatypeE;
|
|
3239
|
+
declare function join$4(separator: DatatypeA | DatatypeB | DatatypeC | DatatypeD | DatatypeE, ...segments: readonly (DatatypeA | DatatypeB | DatatypeC | DatatypeD | DatatypeE | undefined)[]): DatatypeE;
|
|
3266
3240
|
//#endregion
|
|
3267
3241
|
//#region src/xjustiz-schemata/klaver/fortlaufende-nummer.d.ts
|
|
3268
3242
|
/**
|
|
@@ -3309,9 +3283,14 @@ type ArtVonBezugselement = "Anspruch" | "Zinsanspruch";
|
|
|
3309
3283
|
* ```
|
|
3310
3284
|
*/
|
|
3311
3285
|
declare function createFortlaufendeNummerGenerator<NachrichtenScope>(scope: ScopeToken<NachrichtenScope>): FortlaufendeNummerGenerator<NachrichtenScope>;
|
|
3286
|
+
/**
|
|
3287
|
+
* **ATTENTION:**
|
|
3288
|
+
* Incrementing ordinals for generated identifiers are currently turned off,
|
|
3289
|
+
* because of technical limitations to enable dynamic input lists.
|
|
3290
|
+
*/
|
|
3312
3291
|
interface FortlaufendeNummerGenerator<NachrichtenScope> {
|
|
3313
|
-
first: <Bezugselement extends ArtVonBezugselement>(bezugselement: Bezugselement) => FortlaufendeNummer<NachrichtenScope, Bezugselement
|
|
3314
|
-
next: <Bezugselement extends ArtVonBezugselement, Ordinal extends number>(previous: FortlaufendeNummer<NachrichtenScope, ArtVonBezugselement, Ordinal>, bezugselement: Bezugselement) => FortlaufendeNummer<NachrichtenScope, Bezugselement
|
|
3292
|
+
first: <Bezugselement extends ArtVonBezugselement>(bezugselement: Bezugselement) => FortlaufendeNummer<NachrichtenScope, Bezugselement>;
|
|
3293
|
+
next: <Bezugselement extends ArtVonBezugselement, Ordinal extends number>(previous: FortlaufendeNummer<NachrichtenScope, ArtVonBezugselement, Ordinal>, bezugselement: Bezugselement) => FortlaufendeNummer<NachrichtenScope, Bezugselement>;
|
|
3315
3294
|
}
|
|
3316
3295
|
//#endregion
|
|
3317
3296
|
//#region src/xjustiz-schemata/klaver/composites.d.ts
|
|
@@ -3535,59 +3514,18 @@ type VerifiedNachricht<MessageProfile> = MessageProfile & {
|
|
|
3535
3514
|
};
|
|
3536
3515
|
declare const TAG: unique symbol;
|
|
3537
3516
|
/**
|
|
3517
|
+
* **!!! WARNING !!!**
|
|
3518
|
+
* Verification of constraints on a type-level is currently turned off due to
|
|
3519
|
+
* technical limitations on dynamic input lists. You **MUST** take great care to
|
|
3520
|
+
* not use the same identifier multiple times (uniqueness constraint) and include
|
|
3521
|
+
* any referenced identifier declaration in the final message (referential
|
|
3522
|
+
* integrity constraint). Until further updates, any violation passes silently.
|
|
3523
|
+
*
|
|
3538
3524
|
* Type-level verification of multiple constraints on `Nachricht`, based on the
|
|
3539
3525
|
* related `MessageProfile`. The resolved type can either be a successfully
|
|
3540
3526
|
* {@link VerifiedNachricht} or all the detected errors.
|
|
3541
3527
|
*/
|
|
3542
|
-
type VerifiedNachrichtOrErrors<Nachricht,
|
|
3543
|
-
type ExcessPropertiesError<ExcessProperties> = TypeError & "Found properties in Nachricht not allowed by the message profile. Remove excess properties." & {
|
|
3544
|
-
readonly excessProperties: ExcessProperties;
|
|
3545
|
-
};
|
|
3546
|
-
type VerifyNoExcessProperties<Nachricht, MessageProfile> = FindExcessProperties<Nachricht, MessageProfile> extends (infer ExcessProperties) ? IsEmpty<ExcessProperties> extends false ? ExcessPropertiesError<ExcessProperties> : AllGood : Unreachable;
|
|
3547
|
-
type FindExcessProperties<Nachricht, MessageProfile> = HasMatchingVariantOfMessageProfileWithoutExcessProperties<Nachricht, MessageProfile> extends true ? AllGood : Exclude<FindExcessPropertiesAgainst<Nachricht, MessageProfile>, StructuralIncompatibilityIssues>;
|
|
3548
|
-
/**
|
|
3549
|
-
* A `MessageProfile` can define type unions on different levels in the
|
|
3550
|
-
* document tree structure. Unions of objects with different key sets are
|
|
3551
|
-
* especially tricky in the context of finding excess properties.
|
|
3552
|
-
*
|
|
3553
|
-
* This predicate evaluates if there is any variant of the `MessageProfile`,
|
|
3554
|
-
* that cleanly matches the `Nachricht` without excess properties. Because
|
|
3555
|
-
* {@link FindMatchingVariantOfMessageProfileWithoutExcessProperties} must
|
|
3556
|
-
* distribute over the union of variants, this predicate type interprets the
|
|
3557
|
-
* result of it — a union of by itself.
|
|
3558
|
-
*
|
|
3559
|
-
* Because of dealing with unions, there is no way to implement it so excess
|
|
3560
|
-
* properties are collected, while trying to find a clean variant. In case this
|
|
3561
|
-
* predicate evaluates to `false`, the actual excess properties must be found
|
|
3562
|
-
* separate.
|
|
3563
|
-
*/
|
|
3564
|
-
type HasMatchingVariantOfMessageProfileWithoutExcessProperties<Nachricht, MessageProfile> = [FindMatchingVariantOfMessageProfileWithoutExcessProperties<Nachricht, MessageProfile>] extends [never] ? false : true;
|
|
3565
|
-
/**
|
|
3566
|
-
* This type distributes over the variants of the `MessageProfile`. In case the
|
|
3567
|
-
* `MessageProfile` is not a union, there is always only one variant. If the
|
|
3568
|
-
* `Nachricht` matches one of the variants, meaning it has no excess properties
|
|
3569
|
-
* in comparison, this variant is returned as clean match.
|
|
3570
|
-
*/
|
|
3571
|
-
type FindMatchingVariantOfMessageProfileWithoutExcessProperties<Nachricht, MessageProfile> = MessageProfile extends (infer VariantOfMessageProfile) ? FindExcessPropertiesAgainst<Nachricht, VariantOfMessageProfile> extends (infer ExcessProperties) ? IsEmpty<ExcessProperties> extends true ? VariantOfMessageProfile : never : Unreachable : Unreachable;
|
|
3572
|
-
type FindExcessPropertiesAgainst<Nachricht, MessageProfile> = Nachricht extends readonly unknown[] ? MessageProfile extends readonly unknown[] ? IsTuple<Nachricht> extends true ? IsTuple<MessageProfile> extends true ? FindExcessPropertiesBetweenTuples<Nachricht, MessageProfile> : FindExcessPropertiesBetweenTupleAndArray<Nachricht, MessageProfile> : FindExcessPropertiesBetweenArrays<Nachricht, MessageProfile> : StructuralIncompatibilityIssues : Nachricht extends object ? MessageProfile extends object ? FindExcessPropertiesBetweenObjects<Nachricht, MessageProfile> : StructuralIncompatibilityIssues : AllGood;
|
|
3573
|
-
type FindExcessPropertiesBetweenTuples<Nachricht extends readonly unknown[], MessageProfile extends readonly unknown[]> = { [Index in IndicesOfTuple<Nachricht>]: Index extends IndicesOfTuple<MessageProfile> ? FindExcessProperties<Nachricht[Index], MessageProfile[Index]> : Index; }[IndicesOfTuple<Nachricht>];
|
|
3574
|
-
type FindExcessPropertiesBetweenTupleAndArray<Nachricht extends readonly unknown[], MessageProfile extends readonly unknown[]> = { [Index in IndicesOfTuple<Nachricht>]: FindExcessProperties<Nachricht[Index], MessageProfile[number]>; }[IndicesOfTuple<Nachricht>];
|
|
3575
|
-
type FindExcessPropertiesBetweenArrays<Nachricht extends readonly unknown[], MessageProfile extends readonly unknown[]> = FindExcessProperties<Nachricht[number], MessageProfile[number]>;
|
|
3576
|
-
type FindExcessPropertiesBetweenObjects<Nachricht extends object, MessageProfile extends object> = Exclude<keyof Nachricht, keyof MessageProfile> | FindExcessPropertiesInSharedKeys<Nachricht, MessageProfile>;
|
|
3577
|
-
type FindExcessPropertiesInSharedKeys<Nachricht extends object, MessageProfile extends object> = { [Key in keyof Nachricht & keyof MessageProfile]: FindExcessProperties<Nachricht[Key], MessageProfile[Key]>; }[keyof Nachricht & keyof MessageProfile];
|
|
3578
|
-
type IsEmpty<MaybeEmpty> = [MaybeEmpty] extends [never] ? true : false;
|
|
3579
|
-
type AllGood = never;
|
|
3580
|
-
type Unreachable = never;
|
|
3581
|
-
/**
|
|
3582
|
-
* Nachricht and MessageProfile differ in a way they can't be compared with each
|
|
3583
|
-
* other to find excess properties. This is a separate and deeper issue to excess
|
|
3584
|
-
* properties. It is not a concern of the verification for no excess properties.
|
|
3585
|
-
* However, it must be distinctive in the type-level computation with a plain
|
|
3586
|
-
* `never` case, which in some cases indicates a positive match. Without, a
|
|
3587
|
-
* structural incompatible Nachricht would be reported as correct.
|
|
3588
|
-
*/
|
|
3589
|
-
type StructuralIncompatibilityIssues = typeof StructuralIncompatibilityIssues;
|
|
3590
|
-
declare const StructuralIncompatibilityIssues: unique symbol;
|
|
3528
|
+
type VerifiedNachrichtOrErrors<Nachricht, _MessageProfile> = VerifiedNachricht<Nachricht>;
|
|
3591
3529
|
//#endregion
|
|
3592
3530
|
//#region src/generate-xml-document.d.ts
|
|
3593
3531
|
type XjustizToolsConnectionParameter = {
|
|
@@ -3613,6 +3551,13 @@ type XjustizMessageXmlResult = {
|
|
|
3613
3551
|
*/
|
|
3614
3552
|
declare function zahlungsklage(compose: <NachrichtenScope>(scope: ScopeToken<NachrichtenScope>) => VerifiedNachricht<Zahlungsklage<NachrichtenScope>>, xjustizToolsConnectionParameter: XjustizToolsConnectionParameter): Promise<XjustizMessageXmlResult>;
|
|
3615
3553
|
/**
|
|
3554
|
+
* **!!! WARNING !!!**
|
|
3555
|
+
* Verification of constraints on a type-level is currently turned off due to
|
|
3556
|
+
* technical limitations on dynamic input lists. You **MUST** take great care to
|
|
3557
|
+
* not use the same identifier multiple times (uniqueness constraint) and include
|
|
3558
|
+
* any referenced identifier declaration in the final message (referential
|
|
3559
|
+
* integrity constraint). Until further updates, any violation passes silently.
|
|
3560
|
+
*
|
|
3616
3561
|
* Used as last step of composing a `Zahlungsklage` with the {@link zahlungsklage}
|
|
3617
3562
|
* orchestrator to output a valid {@link VerifiedNachricht}. It will apply
|
|
3618
3563
|
* multiple type-level computations to verify constraints like for identities or
|
|
@@ -3703,6 +3648,43 @@ declare function antragAufVersaeumnisurteil(): AntragAufVersaeumnisurteil;
|
|
|
3703
3648
|
*/
|
|
3704
3649
|
declare function weitererAntrag(antragInTextform: DatatypeE): WeitererAntrag;
|
|
3705
3650
|
//#endregion
|
|
3651
|
+
//#region src/nachricht/zahlungsklage/ergonomics/nachrichtenkopf.d.ts
|
|
3652
|
+
/**
|
|
3653
|
+
* Constructs a {@link NachrichtenkopfFuerZahlungsklage} with the `klaeger` as
|
|
3654
|
+
* Absender and `gericht` as Empfänger.
|
|
3655
|
+
*
|
|
3656
|
+
* The `erstellungszeitpunkt` will be current date-time at the call.
|
|
3657
|
+
*
|
|
3658
|
+
* The `klaeger` will be formatted based on their Geschlecht, Titel, Vorname and
|
|
3659
|
+
* Nachname. For example: `"Frau Dr. Erika Musterfrau"`. A Titel which can't be
|
|
3660
|
+
* parsed from {@link DatatypeC} to {@link DatatypeD} will be discarded. Any
|
|
3661
|
+
* Geschlecht but männlich or weiblich will also be discarded for the Anrede.
|
|
3662
|
+
*/
|
|
3663
|
+
declare function nachrichtenkopf<NachrichtenScope, const EigeneNachrichtenID extends UUID<NachrichtenScope>, const Gericht extends Gerichte>(_scope: ScopeToken<NachrichtenScope>, eigeneNachrichtenID: EigeneNachrichtenID, klaeger: Klaeger<NachrichtenScope> // oxlint-disable-line typescript/prefer-readonly-parameter-types -- false positive
|
|
3664
|
+
, gericht: Gericht): {
|
|
3665
|
+
xjustizVersion: "3.6.2";
|
|
3666
|
+
erstellungszeitpunkt: Temporal.Instant;
|
|
3667
|
+
absender: {
|
|
3668
|
+
informationen: {
|
|
3669
|
+
auswahlKommunikationspartner: {
|
|
3670
|
+
sonstige: DatatypeD;
|
|
3671
|
+
};
|
|
3672
|
+
};
|
|
3673
|
+
eigeneNachrichtenID: EigeneNachrichtenID;
|
|
3674
|
+
};
|
|
3675
|
+
empfaenger: {
|
|
3676
|
+
informationen: {
|
|
3677
|
+
auswahlKommunikationspartner: {
|
|
3678
|
+
gericht: Gerichte;
|
|
3679
|
+
};
|
|
3680
|
+
};
|
|
3681
|
+
auswahlAktenzeichen: {
|
|
3682
|
+
aktenzeichenNeu: true;
|
|
3683
|
+
};
|
|
3684
|
+
};
|
|
3685
|
+
herstellerinformation: Herstellerinformation;
|
|
3686
|
+
};
|
|
3687
|
+
//#endregion
|
|
3706
3688
|
//#region src/xjustiz-schemata/klaver/ergonomics/beweis.d.ts
|
|
3707
3689
|
/**
|
|
3708
3690
|
* Constructs a {@link Beweis} with Zeugen as Beweismittel. The referenced
|
|
@@ -3777,8 +3759,27 @@ declare function parteivernehmung<NachrichtenScope, const Nummer extends BeweisN
|
|
|
3777
3759
|
* ```
|
|
3778
3760
|
*/
|
|
3779
3761
|
declare function geldbetrag(zahl: Double): Geldbetrag;
|
|
3762
|
+
//#endregion
|
|
3763
|
+
//#region src/xjustiz-schemata/grunddatensatz/ergonomics/herstellerinformation.d.ts
|
|
3764
|
+
/**
|
|
3765
|
+
* Constructs the static {@link Herstellerinformationen} with the version of the
|
|
3766
|
+
* XJustiz-Bridge in use.
|
|
3767
|
+
*/
|
|
3768
|
+
declare function herstellerinformation(): Herstellerinformation;
|
|
3769
|
+
//#endregion
|
|
3770
|
+
//#region src/xjustiz-schemata/grunddatensatz/ergonomics/kommunikation.d.ts
|
|
3771
|
+
/**
|
|
3772
|
+
* Constructs a {@link Kommunikation} with {@link Telekommunikationsart.EMail}
|
|
3773
|
+
* as `telekommunikationsart`.
|
|
3774
|
+
*/
|
|
3775
|
+
declare function email(address: DatatypeC): Kommunikation;
|
|
3776
|
+
/**
|
|
3777
|
+
* Constructs a {@link Kommunikation} with {@link Telekommunikationsart.Telefon}
|
|
3778
|
+
* as `telekommunikationsart`.
|
|
3779
|
+
*/
|
|
3780
|
+
declare function telefon(number: DatatypeC): Kommunikation;
|
|
3780
3781
|
declare namespace index_d_exports {
|
|
3781
|
-
export { antragAufAnwaltskosten, antragAufVersaeumnisurteil, geldbetrag, parteivernehmung, weitererAntrag, zeuge };
|
|
3782
|
+
export { antragAufAnwaltskosten, antragAufVersaeumnisurteil, email, geldbetrag, herstellerinformation, nachrichtenkopf, parteivernehmung, telefon, weitererAntrag, zeuge };
|
|
3782
3783
|
}
|
|
3783
3784
|
//#endregion
|
|
3784
3785
|
export { type AnspruchFuerZahlungsklage, Anspruchsart, type AntraegeFuerZahlungsklage, type AntragAufAnwaltskosten, type AntragAufVersaeumnisurteil, AntragCodeliste, type AusfuehrungenFuerZahlungsklage, type BegruendetheitFuerZahlungsklage, type BeklagteOrganisation, type BeklagtePerson, type Beklagter, type DatatypeA, type DatatypeB, type DatatypeC, type DatatypeD, type DatatypeE, type Decimal, Gerichte, Geschlecht, type GesetzlicherVertreter, type GrunddatenFuerZahlungsklage, Kanzleiform, type Klaeger, type NachrichtenkopfFuerZahlungsklage, type Prozessbevollmaechtiger, Rollenbezeichnung, type ScopeToken, type SonstigerAntragFuerZahlungsklage, Telekommunikationsart, type VortragZurBegruendetheitFuerZahlungsklage, Waehrung, type WeitererAntrag, type Zahlungsklage, type Zeuge, Zinsmethode, createFortlaufendeNummerGenerator, createRollennummerGenerator, createUuidGenerator, datatypeA, datatypeB, datatypeC, datatypeD, datatypeE, decimal, index_d_exports as ergonomics, join as joinDatatyeA, join$1 as joinDatatyeB, join$2 as joinDatatyeC, join$3 as joinDatatyeD, join$4 as joinDatatyeE, verifyZahlungsklage, zahlungsklage };
|
|
@@ -2351,6 +2351,35 @@ const Gerichte = defineCodeliste({
|
|
|
2351
2351
|
"Der Generalbundesanwalt beim Bundesgerichtshof Ref. IV 3 AZ. IV 29 H 2/90": "Z7350"
|
|
2352
2352
|
});
|
|
2353
2353
|
//#endregion
|
|
2354
|
+
//#region src/xjustiz-schemata/grunddatensatz/ergonomics/geldbetrag.ts
|
|
2355
|
+
/**
|
|
2356
|
+
* Constructs a {@link Geldbetrag} from an amount in Euro.
|
|
2357
|
+
*
|
|
2358
|
+
* @example
|
|
2359
|
+
* ```typescript
|
|
2360
|
+
* const betrag = geldbetrag(5_000);
|
|
2361
|
+
* ```
|
|
2362
|
+
*/
|
|
2363
|
+
function geldbetrag(zahl) {
|
|
2364
|
+
return {
|
|
2365
|
+
zahl,
|
|
2366
|
+
auswahlWaehrung: { waehrung: Waehrung.Euro }
|
|
2367
|
+
};
|
|
2368
|
+
}
|
|
2369
|
+
//#endregion
|
|
2370
|
+
//#region src/xjustiz-schemata/grunddatensatz/ergonomics/herstellerinformation.ts
|
|
2371
|
+
/**
|
|
2372
|
+
* Constructs the static {@link Herstellerinformationen} with the version of the
|
|
2373
|
+
* XJustiz-Bridge in use.
|
|
2374
|
+
*/
|
|
2375
|
+
function herstellerinformation() {
|
|
2376
|
+
return {
|
|
2377
|
+
nameDesProdukts: "Justizportal XJustiz Services",
|
|
2378
|
+
herstellerDesProdukts: "Bundesministerium der Justiz und für Verbraucherschutz, ausgeführt durch DigitalService GmbH des Bundes",
|
|
2379
|
+
version: "\"0.9.0\""
|
|
2380
|
+
};
|
|
2381
|
+
}
|
|
2382
|
+
//#endregion
|
|
2354
2383
|
//#region src/xjustiz-schemata/shared-kernel/refined-types.ts
|
|
2355
2384
|
/**
|
|
2356
2385
|
* Produce a factory to construct valid instanced for a refined type.
|
|
@@ -2555,21 +2584,23 @@ invalidCharacters: (characters) => `Contains characters not allowed by DIN 91379
|
|
|
2555
2584
|
const datatypeA = defineRefinedType(isString, parseDatatypeA);
|
|
2556
2585
|
/**
|
|
2557
2586
|
* Adapted version of the default {@link Array.prototype.join} operation that
|
|
2558
|
-
* maintains the invariants of {@link DatatypeA}.
|
|
2559
|
-
*
|
|
2587
|
+
* maintains the invariants of {@link DatatypeA}. Any `undefined` entry in
|
|
2588
|
+
* `segments` is filtered automatically.
|
|
2589
|
+
|
|
2560
2590
|
* @example
|
|
2561
2591
|
* ```typescript
|
|
2562
2592
|
* const fullName = join(
|
|
2563
2593
|
* datatypeA(" ").value,
|
|
2564
2594
|
* datatypeA("Frau").value,
|
|
2565
2595
|
* datatypeA("Erika").value,
|
|
2596
|
+
* undefined,
|
|
2566
2597
|
* datatypeA("Musterfrau").value,
|
|
2567
2598
|
* );
|
|
2568
2599
|
* // "Frau Erika Musterfrau" - still DatatypeA no plain string
|
|
2569
2600
|
* ```
|
|
2570
2601
|
*/
|
|
2571
2602
|
function join(separator, ...segments) {
|
|
2572
|
-
return segments.join(separator);
|
|
2603
|
+
return segments.filter((segment) => segment !== void 0).join(separator);
|
|
2573
2604
|
}
|
|
2574
2605
|
const DATATYPE_A_PATTERN = transformXsdPatternToJavaScriptExpression(String.raw`( |'|[,-\.]|[A-Z]|[`-z]|~|¨|´|·|[À-Ö]|[Ø-ö]|[ø-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*`);
|
|
2575
2606
|
//#endregion
|
|
@@ -2612,21 +2643,25 @@ invalidCharacters: (characters) => `Contains characters not allowed by DIN 91379
|
|
|
2612
2643
|
const datatypeB = defineRefinedType(isString, parseDatatypeB);
|
|
2613
2644
|
/**
|
|
2614
2645
|
* Adapted version of the default {@link Array.prototype.join} operation that
|
|
2615
|
-
* maintains the invariants of {@link DatatypeB}.
|
|
2646
|
+
* maintains the invariants of {@link DatatypeB}. Also supports passing
|
|
2647
|
+
* and mixing {@link DatatypeA} values, as any {@link DatentypA} is also a valid
|
|
2648
|
+
* {@link DatatypeB}. Any `undefined` entry in `segments` is filtered
|
|
2649
|
+
* automatically.
|
|
2616
2650
|
*
|
|
2617
2651
|
* @example
|
|
2618
2652
|
* ```typescript
|
|
2619
2653
|
* const fullAddress = join(
|
|
2620
|
-
*
|
|
2654
|
+
* datatypeA(" ").value,
|
|
2621
2655
|
* datatypeB("Musterstraße").value,
|
|
2622
2656
|
* datatypeB("1A").value,
|
|
2657
|
+
* undefined,
|
|
2623
2658
|
* datatypeB("Musterstadt").value,
|
|
2624
2659
|
* );
|
|
2625
2660
|
* // "Musterstraße 1A Musterstadt" - still DatatypeB no plain string
|
|
2626
2661
|
* ```
|
|
2627
2662
|
*/
|
|
2628
2663
|
function join$1(separator, ...segments) {
|
|
2629
|
-
return segments.join(separator);
|
|
2664
|
+
return segments.filter((segment) => segment !== void 0).join(separator);
|
|
2630
2665
|
}
|
|
2631
2666
|
const DATATYPE_B_PATTERN = transformXsdPatternToJavaScriptExpression(String.raw`([ -~]|[¡-£]|¥|[§-¬]|[®-·]|[¹-»]|[¿-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*`);
|
|
2632
2667
|
//#endregion
|
|
@@ -2669,24 +2704,50 @@ invalidCharacters: (characters) => `Contains characters not allowed by DIN 91379
|
|
|
2669
2704
|
const datatypeC = defineRefinedType(isString, parseDatatypeC);
|
|
2670
2705
|
/**
|
|
2671
2706
|
* Adapted version of the default {@link Array.prototype.join} operation that
|
|
2672
|
-
* maintains the invariants of {@link DatatypeC}.
|
|
2707
|
+
* maintains the invariants of {@link DatatypeC}. Also supports passing
|
|
2708
|
+
* and mixing {@link DatatypeA} and {@link DatatypeB} values, as any of them is
|
|
2709
|
+
* also a valid {@link DatatypeC}. Any `undefined` entry in `segments` is
|
|
2710
|
+
* filtered automatically.
|
|
2673
2711
|
*
|
|
2674
2712
|
* @example
|
|
2675
2713
|
* ```typescript
|
|
2676
|
-
* const
|
|
2677
|
-
*
|
|
2714
|
+
* const output = join(
|
|
2715
|
+
* datatypeA(" ").value,
|
|
2678
2716
|
* datatypeC("Lorem").value,
|
|
2679
|
-
*
|
|
2717
|
+
* datatypeB("ipsum").value,
|
|
2718
|
+
* undefined,
|
|
2680
2719
|
* datatypeC("dolor").value,
|
|
2681
2720
|
* );
|
|
2682
2721
|
* // "Lorem ipsum dolor" - still DatatypeC no plain string
|
|
2683
2722
|
* ```
|
|
2684
2723
|
*/
|
|
2685
2724
|
function join$2(separator, ...segments) {
|
|
2686
|
-
return segments.join(separator);
|
|
2725
|
+
return segments.filter((segment) => segment !== void 0).join(separator);
|
|
2687
2726
|
}
|
|
2688
2727
|
const DATATYPE_C_PATTERN = transformXsdPatternToJavaScriptExpression(String.raw`([	-
]|
|[ -~]|[ -¬]|[®-ž]|[Ƈ-ƈ]|Ə|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|[ʹ-ʺ]|[ʾ-ʿ]|ˈ|ˌ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|’|‡|€|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*`);
|
|
2689
2728
|
//#endregion
|
|
2729
|
+
//#region src/xjustiz-schemata/grunddatensatz/ergonomics/kommunikation.ts
|
|
2730
|
+
/**
|
|
2731
|
+
* Constructs a {@link Kommunikation} with {@link Telekommunikationsart.EMail}
|
|
2732
|
+
* as `telekommunikationsart`.
|
|
2733
|
+
*/
|
|
2734
|
+
function email(address) {
|
|
2735
|
+
return {
|
|
2736
|
+
verbindung: address,
|
|
2737
|
+
telekommunikationsart: Telekommunikationsart.EMail
|
|
2738
|
+
};
|
|
2739
|
+
}
|
|
2740
|
+
/**
|
|
2741
|
+
* Constructs a {@link Kommunikation} with {@link Telekommunikationsart.Telefon}
|
|
2742
|
+
* as `telekommunikationsart`.
|
|
2743
|
+
*/
|
|
2744
|
+
function telefon(number) {
|
|
2745
|
+
return {
|
|
2746
|
+
verbindung: number,
|
|
2747
|
+
telekommunikationsart: Telekommunikationsart.Telefon
|
|
2748
|
+
};
|
|
2749
|
+
}
|
|
2750
|
+
//#endregion
|
|
2690
2751
|
//#region src/xjustiz-schemata/din-91379/datatypeD.ts
|
|
2691
2752
|
function parseDatatypeD(issueMessages = DEFAULT_ISSUE_MESSAGES$3) {
|
|
2692
2753
|
return function parse(input) {
|
|
@@ -2726,21 +2787,25 @@ invalidCharacters: (characters) => `Contains characters not allowed by DIN 91379
|
|
|
2726
2787
|
const datatypeD = defineRefinedType(isString, parseDatatypeD);
|
|
2727
2788
|
/**
|
|
2728
2789
|
* Adapted version of the default {@link Array.prototype.join} operation that
|
|
2729
|
-
* maintains the invariants of {@link DatatypeD}.
|
|
2790
|
+
* maintains the invariants of {@link DatatypeD}. Also supports passing
|
|
2791
|
+
* and mixing {@link DatatypeA} and {@link DatatypeB} values, as any of them is
|
|
2792
|
+
* also a valid {@link DatatypeD}. Any `undefined` entry in `segments` is
|
|
2793
|
+
* filtered automatically.
|
|
2730
2794
|
*
|
|
2731
2795
|
* @example
|
|
2732
2796
|
* ```typescript
|
|
2733
|
-
* const
|
|
2734
|
-
*
|
|
2797
|
+
* const output = join(
|
|
2798
|
+
* datatypeA(" ").value,
|
|
2735
2799
|
* datatypeD("Lorem").value,
|
|
2736
|
-
*
|
|
2800
|
+
* datatypeB("ipsum").value,
|
|
2801
|
+
* undefined,
|
|
2737
2802
|
* datatypeD("dolor").value,
|
|
2738
2803
|
* );
|
|
2739
2804
|
* // "Lorem ipsum dolor" - still DatatypeD no plain string
|
|
2740
2805
|
* ```
|
|
2741
2806
|
*/
|
|
2742
2807
|
function join$3(separator, ...segments) {
|
|
2743
|
-
return segments.join(separator);
|
|
2808
|
+
return segments.filter((segment) => segment !== void 0).join(separator);
|
|
2744
2809
|
}
|
|
2745
2810
|
const DATATYPE_D_PATTERN = transformXsdPatternToJavaScriptExpression(String.raw`([ -~]|[¡-¬]|[®-ž]|[Ƈ-ƈ]|Ə|ƒ|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|ʰ|ʳ|[ʹ-ʺ]|[ʾ-ʿ]|ˆ|ˈ|ˌ|˜|ˢ|Ά|[Έ-Ί]|Ό|[Ύ-Ρ]|[Σ-ώ]|ᵈ|ᵗ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|[‘-‚]|[“-„]|[†-‡]|…|‰|[′-″]|[‹-›]|⁰|[⁴-⁹]|[ⁿ-₉]|€|™|∞|[≤-≥]|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*`);
|
|
2746
2811
|
//#endregion
|
|
@@ -2937,22 +3002,6 @@ function randomUUID() {
|
|
|
2937
3002
|
return globalThis.crypto.randomUUID();
|
|
2938
3003
|
}
|
|
2939
3004
|
//#endregion
|
|
2940
|
-
//#region src/xjustiz-schemata/grunddatensatz/ergonomics/geldbetrag.ts
|
|
2941
|
-
/**
|
|
2942
|
-
* Constructs a {@link Geldbetrag} from an amount in Euro.
|
|
2943
|
-
*
|
|
2944
|
-
* @example
|
|
2945
|
-
* ```typescript
|
|
2946
|
-
* const betrag = geldbetrag(5_000);
|
|
2947
|
-
* ```
|
|
2948
|
-
*/
|
|
2949
|
-
function geldbetrag(zahl) {
|
|
2950
|
-
return {
|
|
2951
|
-
zahl,
|
|
2952
|
-
auswahlWaehrung: { waehrung: Waehrung.Euro }
|
|
2953
|
-
};
|
|
2954
|
-
}
|
|
2955
|
-
//#endregion
|
|
2956
3005
|
//#region src/xjustiz-schemata/din-91379/datatypeE.ts
|
|
2957
3006
|
function parseDatatypeE(issueMessages = DEFAULT_ISSUE_MESSAGES$1) {
|
|
2958
3007
|
return function parse(input) {
|
|
@@ -2993,21 +3042,26 @@ invalidCharacters: (characters) => `Contains characters not allowed by DIN 91379
|
|
|
2993
3042
|
const datatypeE = defineRefinedType(isString, parseDatatypeE);
|
|
2994
3043
|
/**
|
|
2995
3044
|
* Adapted version of the default {@link Array.prototype.join} operation that
|
|
2996
|
-
* maintains the invariants of {@link DatatypeE}.
|
|
3045
|
+
* maintains the invariants of {@link DatatypeE}. Also supports passing
|
|
3046
|
+
* and mixing {@link DatatypeA}, {@link DatatypeB}, {@link DatatypeC} and
|
|
3047
|
+
* {@link DatatypeD} values, as any of them is also a valid {@link DatatypeE}.
|
|
3048
|
+
* Any `undefined` entry in `segments` is filtered automatically.
|
|
2997
3049
|
*
|
|
2998
3050
|
* @example
|
|
2999
3051
|
* ```typescript
|
|
3000
|
-
* const
|
|
3001
|
-
*
|
|
3002
|
-
*
|
|
3003
|
-
*
|
|
3004
|
-
*
|
|
3052
|
+
* const output = join(
|
|
3053
|
+
* datatypeA(" ").value,
|
|
3054
|
+
* datatypeB("Lorem").value,
|
|
3055
|
+
* datatypeC("ipsum").value,
|
|
3056
|
+
* datatypeD("dolor").value,
|
|
3057
|
+
* undefined,
|
|
3058
|
+
* datatypeE("sit").value,
|
|
3005
3059
|
* );
|
|
3006
|
-
* // "Lorem ipsum dolor" - still DatatypeE no plain string
|
|
3060
|
+
* // "Lorem ipsum dolor sit" - still DatatypeE no plain string
|
|
3007
3061
|
* ```
|
|
3008
3062
|
*/
|
|
3009
3063
|
function join$4(separator, ...segments) {
|
|
3010
|
-
return segments.join(separator);
|
|
3064
|
+
return segments.filter((segment) => segment !== void 0).join(separator);
|
|
3011
3065
|
}
|
|
3012
3066
|
const DATATYPE_E_PATTERN = transformXsdPatternToJavaScriptExpression(String.raw`([	-
]|
|[ -~]|[ -¬]|[®-ž]|[Ƈ-ƈ]|Ə|ƒ|Ɨ|[Ơ-ơ]|[Ư-ư]|Ʒ|[Ǎ-ǜ]|[Ǟ-ǟ]|[Ǣ-ǰ]|[Ǵ-ǵ]|[Ǹ-ǿ]|[Ȓ-ȓ]|[Ș-ț]|[Ȟ-ȟ]|[ȧ-ȳ]|ə|ɨ|ʒ|ʰ|ʳ|[ʹ-ʺ]|[ʾ-ʿ]|ˆ|ˈ|ˌ|˜|ˢ|Ά|[Έ-Ί]|Ό|[Ύ-Ρ]|[Σ-ώ]|Ѝ|[А-Ъ]|Ь|[Ю-ъ]|ь|[ю-я]|ѝ|ᵈ|ᵗ|[Ḃ-ḃ]|[Ḇ-ḇ]|[Ḋ-ḑ]|ḗ|[Ḝ-ḫ]|[ḯ-ḷ]|[Ḻ-ḻ]|[Ṁ-ṉ]|[Ṓ-ṛ]|[Ṟ-ṣ]|[Ṫ-ṯ]|[Ẁ-ẇ]|[Ẍ-ẗ]|ẞ|[Ạ-ỹ]|[‘-‚]|[“-„]|[†-‡]|…|‰|[′-″]|[‹-›]|⁰|[⁴-⁹]|[ⁿ-₉]|€|™|∞|[≤-≥]|A̋|C(̀|̄|̆|̈|̕|̣|̦|̨̆)|D̂|F(̀|̄)|G̀|H(̄|̦|̱)|J(́|̌)|K(̀|̂|̄|̇|̕|̛|̦|͟H|͟h)|L(̂|̥|̥̄|̦)|M(̀|̂|̆|̐)|N(̂|̄|̆|̦)|P(̀|̄|̕|̣)|R(̆|̥|̥̄)|S(̀|̄|̛̄|̱)|T(̀|̄|̈|̕|̛)|U̇|Z(̀|̄|̆|̈|̧)|a̋|c(̀|̄|̆|̈|̕|̣|̦|̨̆)|d̂|f(̀|̄)|g̀|h(̄|̦)|j́|k(̀|̂|̄|̇|̕|̛|̦|͟h)|l(̂|̥|̥̄|̦)|m(̀|̂|̆|̐)|n(̂|̄|̆|̦)|p(̀|̄|̕|̣)|r(̆|̥|̥̄)|s(̀|̄|̛̄|̱)|t(̀|̄|̕|̛)|u̇|z(̀|̄|̆|̈|̧)|Ç̆|Û̄|ç̆|û̄|ÿ́|Č(̕|̣)|č(̕|̣)|ē̍|Ī́|ī́|ō̍|Ž(̦|̧)|ž(̦|̧)|Ḳ̄|ḳ̄|Ṣ̄|ṣ̄|Ṭ̄|ṭ̄|Ạ̈|ạ̈|Ọ̈|ọ̈|Ụ(̄|̈)|ụ(̄|̈))*`);
|
|
3013
3067
|
//#endregion
|
|
@@ -3258,6 +3312,13 @@ function zahlungsklage(compose, xjustizToolsConnectionParameter) {
|
|
|
3258
3312
|
});
|
|
3259
3313
|
}
|
|
3260
3314
|
/**
|
|
3315
|
+
* **!!! WARNING !!!**
|
|
3316
|
+
* Verification of constraints on a type-level is currently turned off due to
|
|
3317
|
+
* technical limitations on dynamic input lists. You **MUST** take great care to
|
|
3318
|
+
* not use the same identifier multiple times (uniqueness constraint) and include
|
|
3319
|
+
* any referenced identifier declaration in the final message (referential
|
|
3320
|
+
* integrity constraint). Until further updates, any violation passes silently.
|
|
3321
|
+
*
|
|
3261
3322
|
* Used as last step of composing a `Zahlungsklage` with the {@link zahlungsklage}
|
|
3262
3323
|
* orchestrator to output a valid {@link VerifiedNachricht}. It will apply
|
|
3263
3324
|
* multiple type-level computations to verify constraints like for identities or
|
|
@@ -3287,12 +3348,62 @@ function verifyZahlungsklage(_scope, nachricht) {
|
|
|
3287
3348
|
return nachricht;
|
|
3288
3349
|
}
|
|
3289
3350
|
//#endregion
|
|
3351
|
+
//#region src/nachricht/zahlungsklage/ergonomics/nachrichtenkopf.ts
|
|
3352
|
+
/**
|
|
3353
|
+
* Constructs a {@link NachrichtenkopfFuerZahlungsklage} with the `klaeger` as
|
|
3354
|
+
* Absender and `gericht` as Empfänger.
|
|
3355
|
+
*
|
|
3356
|
+
* The `erstellungszeitpunkt` will be current date-time at the call.
|
|
3357
|
+
*
|
|
3358
|
+
* The `klaeger` will be formatted based on their Geschlecht, Titel, Vorname and
|
|
3359
|
+
* Nachname. For example: `"Frau Dr. Erika Musterfrau"`. A Titel which can't be
|
|
3360
|
+
* parsed from {@link DatatypeC} to {@link DatatypeD} will be discarded. Any
|
|
3361
|
+
* Geschlecht but männlich or weiblich will also be discarded for the Anrede.
|
|
3362
|
+
*/
|
|
3363
|
+
function nachrichtenkopf(_scope, eigeneNachrichtenID, klaeger, gericht) {
|
|
3364
|
+
return {
|
|
3365
|
+
xjustizVersion: "3.6.2",
|
|
3366
|
+
erstellungszeitpunkt: Temporal.Now.instant(),
|
|
3367
|
+
absender: {
|
|
3368
|
+
informationen: { auswahlKommunikationspartner: { sonstige: formatKlaegerAsAbsender(klaeger.beteiligter.auswahlBeteiligter.natuerlichePerson) } },
|
|
3369
|
+
eigeneNachrichtenID
|
|
3370
|
+
},
|
|
3371
|
+
empfaenger: {
|
|
3372
|
+
informationen: { auswahlKommunikationspartner: { gericht } },
|
|
3373
|
+
auswahlAktenzeichen: { aktenzeichenNeu: true }
|
|
3374
|
+
},
|
|
3375
|
+
herstellerinformation: herstellerinformation()
|
|
3376
|
+
};
|
|
3377
|
+
}
|
|
3378
|
+
function formatKlaegerAsAbsender(klaeger) {
|
|
3379
|
+
return join$3(datatypeD(" ").value, mapGeschlechtToAndrede(klaeger.geschlecht), tryToParseTitelAsDatatypeD(klaeger.vollerName.titel), klaeger.vollerName.vorname, klaeger.vollerName.nachname);
|
|
3380
|
+
}
|
|
3381
|
+
function tryToParseTitelAsDatatypeD(titel) {
|
|
3382
|
+
const maybeResult = titel ? datatypeD(titel) : { issues: [] };
|
|
3383
|
+
return maybeResult.issues === void 0 ? maybeResult.value : void 0;
|
|
3384
|
+
}
|
|
3385
|
+
function mapGeschlechtToAndrede(geschlecht) {
|
|
3386
|
+
switch (geschlecht) {
|
|
3387
|
+
case void 0:
|
|
3388
|
+
case Geschlecht.Unbekannt:
|
|
3389
|
+
case Geschlecht.Divers:
|
|
3390
|
+
case Geschlecht.Saechlich: return;
|
|
3391
|
+
case Geschlecht.Maennlich: return datatypeD("Herr").value;
|
|
3392
|
+
case Geschlecht.Weiblich: return datatypeD("Frau").value;
|
|
3393
|
+
default: return;
|
|
3394
|
+
}
|
|
3395
|
+
}
|
|
3396
|
+
//#endregion
|
|
3290
3397
|
//#region src/nachricht/zahlungsklage/ergonomics/index.ts
|
|
3291
3398
|
var ergonomics_exports = /* @__PURE__ */ __exportAll({
|
|
3292
3399
|
antragAufAnwaltskosten: () => antragAufAnwaltskosten,
|
|
3293
3400
|
antragAufVersaeumnisurteil: () => antragAufVersaeumnisurteil,
|
|
3401
|
+
email: () => email,
|
|
3294
3402
|
geldbetrag: () => geldbetrag,
|
|
3403
|
+
herstellerinformation: () => herstellerinformation,
|
|
3404
|
+
nachrichtenkopf: () => nachrichtenkopf,
|
|
3295
3405
|
parteivernehmung: () => parteivernehmung,
|
|
3406
|
+
telefon: () => telefon,
|
|
3296
3407
|
weitererAntrag: () => weitererAntrag,
|
|
3297
3408
|
zeuge: () => zeuge
|
|
3298
3409
|
});
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://www.schemastore.org/package.json",
|
|
3
3
|
"name": "@digitalservicebund/a2j-xjustiz-bridge",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.9.0",
|
|
5
5
|
"description": "Assisted composition of XJustiz messages that are ensured to be valid.",
|
|
6
6
|
"author": "Team Court Communication (Access to Justice) - DigitalService GmbH des Bundes",
|
|
7
7
|
"license": "MIT",
|
|
@@ -28,14 +28,14 @@
|
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@standard-schema/spec": "^1.1.0",
|
|
31
|
-
"ky": "^2.0
|
|
32
|
-
"typescript": "^6.0.3"
|
|
31
|
+
"ky": "^2.1.0"
|
|
33
32
|
},
|
|
34
33
|
"devDependencies": {
|
|
35
|
-
"fast-check": "^4.
|
|
36
|
-
"publint": "^0.3.
|
|
34
|
+
"fast-check": "^4.9.0",
|
|
35
|
+
"publint": "^0.3.24",
|
|
37
36
|
"testcontainers": "^12.1.0",
|
|
38
|
-
"tsdown": "^0.22.
|
|
39
|
-
"
|
|
37
|
+
"tsdown": "^0.22.14",
|
|
38
|
+
"typescript": "^7.0.2",
|
|
39
|
+
"vitest": "^4.1.11"
|
|
40
40
|
}
|
|
41
41
|
}
|