Skip to content

Limits

Resource limit benefit schema and validated constructor; no host resource mutation occurs.

const Limits: Schema.Union<readonly [Schema.Struct<{
resource: Schema.brand<Schema.String, "ResourceLimitKey">;
quantity: Schema.brand<Schema.Int, "ResourceLimitQuantity">;
entitlement: Schema.brand<Schema.String, "EntitlementKey">;
validity: Schema.Literal<"while_entitled">;
type: Schema.tag<"resource_limit">;
}>]> & {
discriminants: readonly ["resource_limit"];
cases: {
resource_limit: Schema.Struct<{
resource: Schema.brand<Schema.String, "ResourceLimitKey">;
quantity: Schema.brand<Schema.Int, "ResourceLimitQuantity">;
entitlement: Schema.brand<Schema.String, "EntitlementKey">;
validity: Schema.Literal<"while_entitled">;
type: Schema.tag<"resource_limit">;
}>;
};
isAnyOf: <Keys>(keys) => (value) => value is Extract<{ resource: string & any; quantity: number & any; entitlement: string & any; validity: "while_entitled"; type: "resource_limit" }, { type: Keys }>;
guards: {
resource_limit: (u) => u is { resource: string & any; quantity: number & any; entitlement: string & any; validity: "while_entitled"; type: "resource_limit" };
};
match: {
<Cases> (value, cases): Cases[keyof Cases] extends (value) => R ? any : never;
<Cases> (cases): (value) => Cases[keyof Cases] extends (value) => R ? any : never;
};
} & {
resource: (input) => Effect.Effect<typeof ResourceLimitBenefitDefinition.Type, Schema.SchemaError>;
};
readonly discriminants: readonly ["resource_limit"];
readonly cases: {
resource_limit: Schema.Struct<{
resource: Schema.brand<Schema.String, "ResourceLimitKey">;
quantity: Schema.brand<Schema.Int, "ResourceLimitQuantity">;
entitlement: Schema.brand<Schema.String, "EntitlementKey">;
validity: Schema.Literal<"while_entitled">;
type: Schema.tag<"resource_limit">;
}>;
};
resource_limit: Schema.Struct<{
resource: Schema.brand<Schema.String, "ResourceLimitKey">;
quantity: Schema.brand<Schema.Int, "ResourceLimitQuantity">;
entitlement: Schema.brand<Schema.String, "EntitlementKey">;
validity: Schema.Literal<"while_entitled">;
type: Schema.tag<"resource_limit">;
}>;
readonly isAnyOf: <Keys>(keys) => (value) => value is Extract<{ resource: string & any; quantity: number & any; entitlement: string & any; validity: "while_entitled"; type: "resource_limit" }, { type: Keys }>;

Keys

readonly Keys[]

(value) => value is Extract<{ resource: string & any; quantity: number & any; entitlement: string & any; validity: "while_entitled"; type: "resource_limit" }, { type: Keys }>

readonly guards: {
resource_limit: (u) => u is { resource: string & any; quantity: number & any; entitlement: string & any; validity: "while_entitled"; type: "resource_limit" };
};
resource_limit: (u) => u is { resource: string & any; quantity: number & any; entitlement: string & any; validity: "while_entitled"; type: "resource_limit" };

unknown

u is { resource: string & any; quantity: number & any; entitlement: string & any; validity: "while_entitled"; type: "resource_limit" }

readonly match: {
<Cases> (value, cases): Cases[keyof Cases] extends (value) => R ? any : never;
<Cases> (cases): (value) => Cases[keyof Cases] extends (value) => R ? any : never;
};
<Cases>(value, cases): Cases[keyof Cases] extends (value) => R ? any : never;

Cases extends { [key: string]: (value) => any; }

string & any

number & any

string & any

"while_entitled"

"resource_limit"

Cases

Cases[keyof Cases] extends (value) => R ? any : never

<Cases>(cases): (value) => Cases[keyof Cases] extends (value) => R ? any : never;

Cases extends { [key: string]: (value) => any; }

Cases

(value) => Cases[keyof Cases] extends (value) => R ? any : never

resource: (input) => Effect.Effect<typeof ResourceLimitBenefitDefinition.Type, Schema.SchemaError>;

Parses a resource limit associated with a same-purchase entitlement.

Omit<typeof ResourceLimitBenefitDefinition.Encoded, "type" | "validity">

Effect.Effect<typeof ResourceLimitBenefitDefinition.Type, Schema.SchemaError>