@lazy-random/rng-abstract-core
Version:
1 lines • 2.63 kB
Source Map (JSON)
{"version":3,"file":"index.esm.mjs","sources":["../src/index.ts"],"sourcesContent":["\nexport interface IRNGLike\n{\n\tnext(): number\n\n\tseed?(seed?, opts?, ...argv)\n}\n\nexport abstract class RNGCore implements IRNGLike\n{\n\tprotected constructor();\n\tprotected constructor(seed?);\n\tprotected constructor(seed?, opts?, ...argv);\n\tprotected constructor(seed?, opts?, ...argv)\n\t{\n\n\t}\n\n\tprotected _init_check(seed?, opts?, ...argv)\n\t{\n\n\t}\n\n\tprotected _init(seed?, opts?, ...argv)\n\t{\n\t\tthis._init_check(seed, opts, ...argv);\n\t}\n\n\tpublic static create(seed?, opts?, ...argv)\n\t{\n\t\tif (this === RNGCore || !this)\n\t\t{\n\t\t\tthrow new ReferenceError('RNG is abstract class');\n\t\t}\n\n\t\t// @ts-ignore\n\t\treturn new this(seed, opts, ...argv);\n\t}\n\n\tpublic get name(): string\n\t{\n\t\tthrow new Error('RNG.name must be overridden');\n\t}\n\n\tpublic get options(): unknown\n\t{\n\t\treturn null;\n\t}\n\n\tpublic get seedable(): boolean\n\t{\n\t\treturn null;\n\t}\n\n\t/**\n\t * should return a float between 0 ~ 1\n\t */\n\t// @ts-ignore\n\tpublic abstract next(): number\n\t{\n\t\tthrow new ReferenceError('RNG.next must be overridden');\n\t}\n\n\tpublic seed(seed?, opts?, ...argv)\n\t{\n\t\t//throw new ReferenceError('RNG.seed must be overridden')\n\t}\n\n\tpublic clone(seed?, opts?, ...argv)\n\t{\n\t\tthrow new ReferenceError('RNG.clone must be overridden');\n\t}\n\n\tprotected _seedAuto(seed: number, opts?, ...argv): number;\n\tprotected _seedAuto(seed: unknown, opts?, ...argv): string;\n\tprotected _seedAuto(seed?, opts?, ...argv): number | string;\n\tprotected _seedAuto(seed?, opts?, ...argv): number | string\n\t{\n\t\tif (seed && typeof seed === 'number')\n\t\t{\n\t\t\treturn this._seedNum(seed, opts, ...argv);\n\t\t}\n\n\t\treturn this._seedStr(seed, opts, ...argv);\n\t}\n\n\t/**\n\t * return number for make new seed\n\t */\n\tprotected _seedNum(seed?, opts?, ...argv): number\n\t{\n\t\tthrow new ReferenceError('RNG._seedNum must be overridden');\n\t}\n\n\t/**\n\t * return string for make new seed\n\t */\n\tprotected _seedStr(seed?, opts?, ...argv): string\n\t{\n\t\tthrow new ReferenceError('RNG._seedStr must be overridden');\n\t}\n\n}\n\nexport default RNGCore;\n\n"],"names":["seed","opts","argv","_init","this","_init_check","create","ReferenceError","name","Error","options"],"mappings":";;cA4BkCA,GAAAC,MAAAC;EAahCC,KAAAA,CAAAH,GAAAC,MAAAC;IAGiBE,KAAAC,YAAAL,GAAAC,MAAAC;AAKlB;EAGC,aAAAI,CAAAN,GAAAC,MAAAC;mCAIE,MAAA,IAAAK,eAAA;eASuDH,KAAAJ,GAAAC,MAAAC;;UAKzDM;UACAC,IAAAA,MAAA;AAKS;aAIRC;WAGD;;;IAMS,OAAA;AAET;;IAaF,MAAA,IAAAH,eAAA;;;;;;;;;;;;;;;;;"}