UNPKG

the-moby-effect

Version:
104 lines 2.77 kB
/** * Operating system port schema. * * @since 1.0.0 */ import * as Brand from "effect/Brand"; import * as Schema from "effect/Schema"; /** * @since 1.0.0 * @category Branded types */ export type PortBrand = number & Brand.Brand<"Port">; /** * @since 1.0.0 * @category Branded constructors */ export declare const PortBrand: Brand.Brand.Constructor<PortBrand>; /** * @since 1.0.0 * @category Api interface */ export interface $Port extends Schema.Annotable<$Port, PortBrand, Brand.Brand.Unbranded<PortBrand>, never> { } /** * An operating system port number. * * @since 1.0.0 * @category Schemas * @example * import * as Schema from "effect/Schema"; * import { Port } from "the-moby-effect/schemas/index.js"; * * const decodePort = Schema.decodeSync(Port); * assert.strictEqual(decodePort(8080), 8080); * * assert.throws(() => decodePort(65536)); * assert.doesNotThrow(() => decodePort(8080)); */ export declare const Port: $Port; /** * @since 1.0.0 * @category Api interface */ export interface $PortWithMaybeProtocol extends Schema.Union<[ Schema.TemplateLiteral<`${number}`>, Schema.TemplateLiteral<`${number}/tcp`>, Schema.TemplateLiteral<`${number}/udp`> ]> { } /** * An operating system port number with an optional protocol. * * @since 1.0.0 * @category Schemas */ export declare const PortWithMaybeProtocol: $PortWithMaybeProtocol; /** * @since 1.0.0 * @category Api interface */ export interface $PortSet extends Schema.Record$<$PortWithMaybeProtocol, typeof Schema.Object> { } /** * A set of operating system ports. * * @since 1.0.0 * @category Schemas * @see https://github.com/docker/go-connections/blob/5df8d2b30ca886f2d94740ce3c54abd58a5bb2c9/nat/nat.go#L23 */ export declare const PortSet: $PortSet; /** * @since 1.0.0 * @category Api interface */ export interface $PortBinding extends Schema.Struct<{ HostIp: Schema.optionalWith<typeof Schema.String, { nullable: true; }>; HostPort: typeof Schema.String; }> { } /** * A port binding between the exposed port (container) and the host. * * @since 1.0.0 * @category Schemas * @see https://github.com/docker/go-connections/blob/5df8d2b30ca886f2d94740ce3c54abd58a5bb2c9/nat/nat.go#L11-L17 */ export declare const PortBinding: $PortBinding; /** * @since 1.0.0 * @category Api interface */ export interface $PortMap extends Schema.Record$<typeof PortWithMaybeProtocol, Schema.Array$<$PortBinding>> { } /** * Port mapping between the exposed port (container) and the host. * * @since 1.0.0 * @category Schemas * @see https://github.com/docker/go-connections/blob/5df8d2b30ca886f2d94740ce3c54abd58a5bb2c9/nat/nat.go#L20 */ export declare const PortMap: $PortMap; //# sourceMappingURL=port.d.ts.map