aboutsummaryrefslogtreecommitdiff
path: root/src/runtime.ts
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2023-01-06 17:57:26 +0530
committerAkshay Nair <phenax5@gmail.com>2023-01-06 17:57:26 +0530
commit549440bf01ac5fa76d34d0b263f409a9802121e4 (patch)
tree3e19a0da914c1caf3a38c7321cfd588894253ed4 /src/runtime.ts
parent395b01feaadb896c1747696cd874bd70de727110 (diff)
downloadts-types-lang-549440bf01ac5fa76d34d0b263f409a9802121e4.tar.gz
ts-types-lang-549440bf01ac5fa76d34d0b263f409a9802121e4.zip
refactor: uses uuid instead of your shitty math.random bullshit
Diffstat (limited to '')
-rw-r--r--src/runtime.ts16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/runtime.ts b/src/runtime.ts
index b3c49c3..f066df9 100644
--- a/src/runtime.ts
+++ b/src/runtime.ts
@@ -3,6 +3,7 @@ import path from 'path'
import { promises as fs } from 'fs'
import readline from 'readline';
import { stdout } from 'process';
+import { v4 as uuid } from 'uuid';
const rl = readline.createInterface({
input: process.stdin,
@@ -54,9 +55,6 @@ const addResult = (name: string, ty: string) => {
}
}
-const createHash = () =>
- Math.random().toFixed(8).slice(2)
-
const match = <K extends string, R>(k: K | undefined, pattern: { [key in K | '_']: () => R }) =>
k && pattern[k] ? pattern[k]() : pattern._()
@@ -68,7 +66,7 @@ const accumulateResults = async (effTyp: Type, node: Node): Promise<string[]> =>
const [pathTyp] = effTyp.getTypeArguments()
const filePath = JSON.parse(typeToString(pathTyp))
const contents = await fs.readFile(filePath, 'utf-8')
- const hash = createHash()
+ const hash = uuid()
addResult(hash, JSON.stringify(contents))
return [hash]
},
@@ -82,20 +80,20 @@ const accumulateResults = async (effTyp: Type, node: Node): Promise<string[]> =>
GetEnv: async () => {
const [envTyp] = effTyp.getTypeArguments()
const envName = JSON.parse(typeToString(envTyp))
- const hash = createHash()
+ const hash = uuid()
addResult(hash, `${JSON.stringify(process.env[envName] ?? '')}`)
return [hash]
},
GetArgs: async () => {
- const hash = createHash()
+ const hash = uuid()
addResult(hash, `${JSON.stringify(process.argv.slice(2))}`)
return [hash]
},
ReadLine: async () => {
const line = await readLineFromStdin()
- const hash = createHash()
+ const hash = uuid()
addResult(hash, `${JSON.stringify(line)}`)
return [hash]
},
@@ -104,7 +102,7 @@ const accumulateResults = async (effTyp: Type, node: Node): Promise<string[]> =>
const [exprTyp] = effTyp.getTypeArguments()
const exprStr = JSON.parse(typeToString(exprTyp))
const result = eval(`JSON.stringify(${exprStr})`)
- const hash = createHash()
+ const hash = uuid()
addResult(hash, `${result}`)
return [hash]
},
@@ -159,6 +157,8 @@ const evalAccumulator = async (effNode: Node, node: Node) => {
await evalAccumulator(updateEffNode, node)
},
+ ReplacePlaceholders: async () => { },
+
_: async () => {
console.log(effNode.print())
console.log('TTTT', typeToString(effTyp))