Added TODO Comments + File Deletion

This commit is contained in:
Jason Casareno
2022-08-03 17:04:13 -07:00
parent 7ce85fee81
commit 21d8b8fb2e
3 changed files with 8 additions and 79 deletions

View File

@@ -6,4 +6,8 @@
</div>
</template>
<script setup lang="ts"></script>
<script setup lang="ts">
/**
* TODO: Code duplication between QueryParams and Variables
*/
</script>

View File

@@ -85,6 +85,9 @@ export function parseTemplateStringE(
depth++
}
/**
* TODO: Create an error statement for variables
*/
while (result.match(REGEX_MY_VAR) != null && errorBound <= ENV_MAX_EXPAND_LIMIT) {
result = decodeURI(encodeURI(result)).replace(
REGEX_MY_VAR,

View File

@@ -1,78 +0,0 @@
import { pipe } from "fp-ts/function"
import * as E from "fp-ts/Either"
import {parseTemplateStringE} from "./environment";
export type Environment = {
name: string
variables: {
key: string
value: string
}[]
}
export type Variables = {
key: string
value: string
}[]
const REGEX_ENV_VAR = /<<([^>]*)>>/g // "<<myVariable>>"
const REGEX_MY_VAR = /{{([^}]*)}}/g // "{{myVariable}}"
/**
* How much times can we expand environment variables
*/
const ENV_MAX_EXPAND_LIMIT = 10
/**
* Error state when there is a suspected loop while
* recursively expanding variables
*/
const ENV_EXPAND_LOOP = "ENV_EXPAND_LOOP" as const
export function parseTemplateStringEV(
str: string,
variables: Environment["variables"],
myVariables: Variables
) {
if (!variables || !str || !myVariables) {
return E.right(str)
}
let result = str
let depth = 0
let errorBound = 0
while (result.match(REGEX_ENV_VAR) != null && depth <= ENV_MAX_EXPAND_LIMIT) {
result = decodeURI(encodeURI(result)).replace(
REGEX_ENV_VAR,
(_, p1) => variables.find((x) => x.key === p1)?.value || ""
)
depth++
}
/**
* TODO: Create an error statement for variables
*/
while (result.match(REGEX_MY_VAR) != null && errorBound <= ENV_MAX_EXPAND_LIMIT) {
result = decodeURI(encodeURI(result)).replace(
REGEX_MY_VAR,
(_, p1) => myVariables.find((x) => x.key === p1)?.value || ""
)
errorBound++
}
return depth <= ENV_MAX_EXPAND_LIMIT && errorBound <= ENV_MAX_EXPAND_LIMIT ? E.right(result) : E.left(ENV_EXPAND_LOOP);
}
/**
* @deprecated Use `parseTemplateStringEV` instead
*/
export const parseTemplateStringV = (
str: string,
variables: Environment["variables"],
myVariables: Variables
) =>
pipe(
parseTemplateStringEV(str, variables, myVariables),
E.getOrElse(() => str)
)