kaabalah
Version:
The de-facto library for any esoteric calculations and tooling
173 lines (168 loc) • 6.73 kB
TypeScript
import { a6 as NodeId, $ as LetterTypes, Z as TreeOfLife } from '../correspondence-model-DWXbAjC-.js';
/**
* Extended master numbers used in gematria reduction.
* Includes traditional master numbers (11, 22, 33, 44) and extended ones (55, 66, 77, 88, 99).
*/
declare const EXTENDED_MASTER_NUMBERS: readonly [11, 22, 33, 44, 55, 66, 77, 88, 99];
/**
* Information about how a number was reduced, including all reduction steps
* and any master number found in the reduction path.
*/
type ReductionInfo = {
/** The original sum before any reduction */
originalSum: number;
/** All steps in the reduction path, e.g., [289, 19, 10, 1] */
reductionSteps: number[];
/** The final reduced value (1-9, or a master number if preserved) */
finalValue: number;
/** The master number found in the reduction path, if any */
masterNumber?: number;
};
type ReverseGematriaOptions = {
/** Target individuality (vowels sum) */
targetVowels?: number;
/** Target personality (consonants sum) */
targetConsonants?: number;
/** Target synthesis (total) */
targetSynthesis?: number;
/** Minimum letters (default: 1) */
minLength?: number;
/** Maximum letters (default: 8) */
maxLength?: number;
/** Maximum results (default: 100) */
maxResults?: number;
/** Include digraphs like PH, SH, etc. (default: true) */
includeDigraphs?: boolean;
/** Maximum times a single letter/digraph can repeat (e.g., 2 = "AAB" ok, "AAAB" filtered) */
maxLetterRepeat?: number;
/** Source text to derive results from */
suggestionText?: string;
/** How to use the suggestion text: "subsequence" preserves order, "anagram" allows reordering */
suggestionMode?: "subsequence" | "anagram";
/**
* When true, target values match any step in the reduction path.
* e.g., targetConsonants: 19 matches a result with consonantsSum: 289
* because 289 reduces to [289, 19, 10, 1].
* Default: true
*/
matchReductionStep?: boolean;
/**
* Master numbers to preserve during reduction.
* Default: [11, 22, 33, 44, 55, 66, 77, 88, 99]
*/
masterNumbers?: number[];
};
type ReverseGematriaResult = {
letters: string;
letterDetails: LetterResult[];
/** @deprecated Use vowels.originalSum instead */
vowelsSum: number;
/** @deprecated Use consonants.originalSum instead */
consonantsSum: number;
/** @deprecated Use synthesis.originalSum instead */
synthesisSum: number;
/** Reduction info for vowels (individuality) */
vowels: ReductionInfo;
/** Reduction info for consonants (personality) */
consonants: ReductionInfo;
/** Reduction info for synthesis (total) */
synthesis: ReductionInfo;
};
type ReverseGematriaOutput = {
results: ReverseGematriaResult[];
hasMore: boolean;
totalFound: number;
};
declare const DIGRAPHS: Set<string>;
type LetterResult = {
latinLetterId: NodeId<LetterTypes.LATIN_LETTER>;
value: number;
hebrewLetterId: NodeId<LetterTypes.HEBREW_LETTER>;
hebrewCharacter: string;
isVowel: boolean;
};
type WordResult = {
letters: LetterResult[];
vowelsSum: number;
consonantsSum: number;
includedGematriaValues: Set<number>;
};
type GematriaState = {
includedLetters: LetterResult[];
vowelsSum: number;
consonantsSum: number;
includedGematriaValues: Set<number>;
};
type LetterPercentages = {
percentageOfVowels: number;
percentageOfConsonants: number;
letters: Record<string, number>;
};
declare enum GematriaNumbersWithMeaning {
One = 1,
Two = 2,
Three = 3,
Four = 4,
Five = 5,
Six = 6,
Seven = 7,
Eight = 8,
Nine = 9,
Eleven = 11,
TwentyTwo = 22,
ThirtyThree = 33,
FortyFour = 44
}
declare const INDIVIDUALITY_NUMBER_MEANINGS: Record<GematriaNumbersWithMeaning, string>;
declare const PERSONALITY_NUMBER_MEANINGS: Record<GematriaNumbersWithMeaning, string>;
declare const SYNTHESIS_NUMBER_MEANINGS: Record<GematriaNumbersWithMeaning, string>;
declare const data_DIGRAPHS: typeof DIGRAPHS;
declare const data_EXTENDED_MASTER_NUMBERS: typeof EXTENDED_MASTER_NUMBERS;
type data_GematriaNumbersWithMeaning = GematriaNumbersWithMeaning;
declare const data_GematriaNumbersWithMeaning: typeof GematriaNumbersWithMeaning;
type data_GematriaState = GematriaState;
declare const data_INDIVIDUALITY_NUMBER_MEANINGS: typeof INDIVIDUALITY_NUMBER_MEANINGS;
type data_LetterPercentages = LetterPercentages;
type data_LetterResult = LetterResult;
declare const data_PERSONALITY_NUMBER_MEANINGS: typeof PERSONALITY_NUMBER_MEANINGS;
type data_ReductionInfo = ReductionInfo;
type data_ReverseGematriaOptions = ReverseGematriaOptions;
type data_ReverseGematriaOutput = ReverseGematriaOutput;
type data_ReverseGematriaResult = ReverseGematriaResult;
declare const data_SYNTHESIS_NUMBER_MEANINGS: typeof SYNTHESIS_NUMBER_MEANINGS;
type data_WordResult = WordResult;
declare namespace data {
export { data_DIGRAPHS as DIGRAPHS, data_EXTENDED_MASTER_NUMBERS as EXTENDED_MASTER_NUMBERS, data_GematriaNumbersWithMeaning as GematriaNumbersWithMeaning, type data_GematriaState as GematriaState, data_INDIVIDUALITY_NUMBER_MEANINGS as INDIVIDUALITY_NUMBER_MEANINGS, type data_LetterPercentages as LetterPercentages, type data_LetterResult as LetterResult, data_PERSONALITY_NUMBER_MEANINGS as PERSONALITY_NUMBER_MEANINGS, type data_ReductionInfo as ReductionInfo, type data_ReverseGematriaOptions as ReverseGematriaOptions, type data_ReverseGematriaOutput as ReverseGematriaOutput, type data_ReverseGematriaResult as ReverseGematriaResult, data_SYNTHESIS_NUMBER_MEANINGS as SYNTHESIS_NUMBER_MEANINGS, type data_WordResult as WordResult };
}
/**
* Reverse gematria - find letter combinations that match target values
*/
declare const reverseGematria: (options: ReverseGematriaOptions, tree?: TreeOfLife) => ReverseGematriaOutput;
declare const calculateGematria: (phrase: string, options?: {
missing?: boolean;
percentages?: boolean;
}, tree?: TreeOfLife) => {
vowels: {
originalSum: number;
reductionSteps: number[];
finalValue: number;
};
consonants: {
originalSum: number;
reductionSteps: number[];
finalValue: number;
};
synthesis: {
originalSum: number;
reductionSteps: number[];
finalValue: number;
};
includedLetters: LetterResult[];
missingGematriaValues: {
value: number;
hebrewLetterId: NodeId<LetterTypes.HEBREW_LETTER>;
whenEnding: boolean;
}[] | undefined;
letterPercentages: LetterPercentages | undefined;
};
export { data as GematriaData, calculateGematria, reverseGematria };