From 861e07136e601d45ba26d596cbb71e9e85874770 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20Turin=CC=83o?= Date: Wed, 11 Mar 2020 17:52:08 +0000 Subject: [PATCH] feat: exporting types for KeyLabelSetSerialized and all individual types --- src/lib/key-set.ts | 10 ++++++++++ src/lib/key-set/-base.ts | 25 +++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/src/lib/key-set.ts b/src/lib/key-set.ts index 06ffc1b..8c02054 100644 --- a/src/lib/key-set.ts +++ b/src/lib/key-set.ts @@ -7,6 +7,11 @@ import { isValidKey, Key, KeyLabelSet, + KeyLabelSetAllExceptSomeSerialized, + KeyLabelSetAllSerialized, + KeyLabelSetNoneSerialized, + KeyLabelSetSerialized, + KeyLabelSetSomeSerialized, KeySet, KeySetAllExceptSomeSerialized, KeySetAllSerialized, @@ -68,6 +73,11 @@ export { KeySetAllSerialized, KeySetNoneSerialized, KeySetSomeSerialized, + KeyLabelSetAllSerialized, + KeyLabelSetNoneSerialized, + KeyLabelSetSomeSerialized, + KeyLabelSetAllExceptSomeSerialized, + KeyLabelSetSerialized, IKeyLabel, InvalidKeySetError, InvalidEmptySetError, diff --git a/src/lib/key-set/-base.ts b/src/lib/key-set/-base.ts index b692d59..cc62653 100644 --- a/src/lib/key-set/-base.ts +++ b/src/lib/key-set/-base.ts @@ -65,6 +65,31 @@ export type KeySetSerialized = | KeySetSomeSerialized | KeySetAllExceptSomeSerialized; +export type KeyLabelSetAllSerialized = + | { type: KeySetTypes.all } + | { type: KeySetTypes.all; elements: EmptyArray }; + +export type KeyLabelSetNoneSerialized = + | { type: KeySetTypes.none } + | { type: KeySetTypes.none; elements: EmptyArray }; + +export type KeyLabelSetSomeSerialized = { + type: KeySetTypes.some; + elements: NonEmptyArray>; +}; + +export type KeyLabelSetAllExceptSomeSerialized = { + type: KeySetTypes.allExceptSome; + elements: NonEmptyArray>; +}; + +export type KeyLabelSetSerialized = + | { type: KeySetTypes } + | KeyLabelSetAllSerialized + | KeyLabelSetNoneSerialized + | KeyLabelSetSomeSerialized + | KeyLabelSetAllExceptSomeSerialized; + export interface IKeySetClass { /** * returns the KeySetType that defines this class