Skip to content

Licensing

Licensing benefit schema and validated eligibility constructor; never automatic key issuance.

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

Keys

readonly Keys[]

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

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

unknown

u is { entitlement: string & any; activationLimit: number; type: "license_eligibility"; validity: "while_entitled" }

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

"license_eligibility"

"while_entitled"

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

eligibility: (input) => Effect.Effect<typeof LicensingBenefit.Type, Schema.SchemaError>;

Parses license eligibility without requiring its wire-format tag or fixed validity value.

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

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