UNPKG

@lazy-random/rng-abstract-core

Version:
1 lines 2.97 kB
{"version":3,"file":"index.cjs.development.cjs","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":["_init_check","seed","opts","argv","_init","create","ReferenceError","name","Error","options"],"mappings":";;;;;;aA4BkCA,CAAAC,IAAA,EAAAC,IAAA,EAAA,GAAAC,IAAA;AAahCC,EAAAA,KAAAA,CAAAH,IAAA,EAAAC,IAAA,KAAAC,IAAA,EAAA;AAGiB,IAAA,IAAA,CAAAH,WAAA,CAAAC,IAAA,EAAAC,IAAA,KAAAC,IAAA,CAAA,CAAA;AAKlB,GAAA;AAGC,EAAA,OAAAE,MAAAA,CAAAJ,IAAA,EAAAC,IAAA,EAAA,GAAAC,IAAA,EAAA;;AAIE,MAAA,MAAA,IAAAG,cAAA,CAAA,uBAAA,CAAA,CAAA;AAEiB,KAAA;;eAOsC,IAAA,CAAAL,IAAA,EAAAC,IAAA,EAAA,GAAAC,IAAA,CAAA,CAAA;;MAKzDI,IAAA,GAAA;UACAC,IAAAA,KAAA,CAAA,6BAAA,CAAA,CAAA;AAKS,GAAA;MAIRC,OAAOA,GAAA;WAGR,IAAO,CAAA;;;AAME,IAAA,OAAA,IAAS,CAAA;AAElB,GAAA;AAGD;;;;;AAUD,IAAA,MAAA,IAAAH,cAAA,CAAA,6BAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}