@altostra/core
Version:
Core library for shared types and logic
27 lines (26 loc) • 1.62 kB
TypeScript
import type { AnyTypeValidation, TypeValidation } from '@altostra/type-validations';
import type { Base64 } from "./Base64";
import type { Cidr } from "./Cidr";
import type { ConditionFunction } from "./Conditions/common";
import type { FindInMap } from "./FindInMap";
import type { GetAtt } from "./GetAtt";
import type { GetAZs } from "./GetAZs";
import type { If } from "./If";
import type { ImportValue } from "./ImportValue";
import type { Join } from "./Join";
import type { Length } from "./Length";
import type { Ref } from "./Ref";
import type { Select } from "./Select";
import type { Split } from "./Split";
import type { Sub } from "./Sub";
import type { Transform } from "./Transform";
export declare type IntrinsicFunction = Base64 | Cidr | ConditionFunction | FindInMap | GetAtt | GetAZs | If | ImportValue | Join | Length | Ref | Select | Split | Sub | Transform;
export declare type CloudFormationValue<T = string> = IntrinsicFunction | T;
export declare type CloudFormationString<T extends string = string> = CloudFormationValue<T>;
export declare const isIntrinsicFunc: TypeValidation<IntrinsicFunction>;
export declare const isIntristicFunc: TypeValidation<IntrinsicFunction>;
export declare function isCloudFormationValue(): TypeValidation<CloudFormationValue<string>>;
export declare function isCloudFormationValue<T>(baseValidation: AnyTypeValidation<T>): TypeValidation<CloudFormationValue<T>>;
export declare const isCloudFormationString: TypeValidation<CloudFormationValue<string>>;
export declare type Numeric = number | string;
export declare const isNumeric: TypeValidation<string | number>;