#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?s)(?<first><<<<<<< HEAD\n.*?)(?<========)|(?<second>(?=>>>>>>>).*?\n)"
Local $sString = "<<<<<<< HEAD" & @CRLF & _
"import { readdir } from "fs";" & @CRLF & _
"import { createServer } from "../src/server.js";" & @CRLF & _
"import Jasmine from 'jasmine';" & @CRLF & _
"import dotenv from 'dotenv';" & @CRLF & _
"" & @CRLF & _
"const jasmine = new Jasmine();" & @CRLF & _
"=======" & @CRLF & _
"import { start } from "../src/index.js";" & @CRLF & _
"" & @CRLF & _
"import dotenv from 'dotenv';" & @CRLF & _
"import { readdir } from "fs";" & @CRLF & _
"import Jasmine from 'jasmine';" & @CRLF & _
"import { resolve } from 'path';" & @CRLF & _
"" & @CRLF & _
">>>>>>> c80322f... Refactor codebase. Removed ml parts into separate project." & @CRLF & _
"// jasmine.loadConfigFile(`tests/jasmine.json`);" & @CRLF & _
"" & @CRLF & _
"const importTests = () => {" & @CRLF & _
" return new Promise((resolve, reject) => {" & @CRLF & _
" readdir(`./tests`, (err, files) => {" & @CRLF & _
" if (err) {" & @CRLF & _
" reject(err);" & @CRLF & _
" }" & @CRLF & _
" files = files.filter(file => { " & @CRLF & _
" return file.includes(`test.js`);" & @CRLF & _
" });" & @CRLF & _
" console.log(files);" & @CRLF & _
" files = files.map(file => { " & @CRLF & _
" const relativePath = `./${file}`;" & @CRLF & _
" return import(relativePath)" & @CRLF & _
" .catch(error => {" & @CRLF & _
" console.error(`** Error loading ` + relativePath + `: `);" & @CRLF & _
" console.error(error);" & @CRLF & _
" process.exit(1);" & @CRLF & _
" });" & @CRLF & _
" });" & @CRLF & _
"" & @CRLF & _
" resolve(Promise.all(files));" & @CRLF & _
" });" & @CRLF & _
" });" & @CRLF & _
"};" & @CRLF & _
"" & @CRLF & _
"const runTests = () => {" & @CRLF & _
"<<<<<<< HEAD" & @CRLF & _
" dotenv.config();" & @CRLF & _
"" & @CRLF & _
" importTests().then(() => {" & @CRLF & _
" const server = createServer({" & @CRLF & _
" useAuth: false," & @CRLF & _
" });" & @CRLF & _
"" & @CRLF & _
" server.options.port = 4040;" & @CRLF & _
" process.env.GRAPHQL_ENDPOINT = `http://127.0.0.1:4040`;" & @CRLF & _
"" & @CRLF & _
" server.start(() => {" & @CRLF & _
" console.log(`Test server is running on 127.0.0.1:${server.options.port}`);" & @CRLF & _
" jasmine.execute();" & @CRLF & _
" });" & @CRLF & _
"=======" & @CRLF & _
" const jasmine = new Jasmine();" & @CRLF & _
" const environment = process.env.NODE_ENV || `staging`;" & @CRLF & _
"" & @CRLF & _
" dotenv.config({" & @CRLF & _
" path: resolve(`../src/config/${environment}/.env`)," & @CRLF & _
" });" & @CRLF & _
"" & @CRLF & _
" importTests().then(async () => {" & @CRLF & _
" process.env.MONGODB_URIS = `mongodb+srv://f4a-shared-t95ry.gcp.mongodb.net/test`;" & @CRLF & _
" process.env.GRAPHQL_ENDPOINT = `http://127.0.0.1:4040`;" & @CRLF & _
" process.env.PORT = `4040`;" & @CRLF & _
" await start();" & @CRLF & _
" console.log(`Test server is running on 127.0.0.1:${server.port}`);" & @CRLF & _
" jasmine.execute();" & @CRLF & _
">>>>>>> c80322f... Refactor codebase. Removed ml parts into separate project." & @CRLF & _
" });" & @CRLF & _
"};" & @CRLF & _
"runTests();"
Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH)
Local $aFullArray[0]
For $i = 0 To UBound($aArray) -1
_ArrayConcatenate($aFullArray, $aArray[$i])
Next
$aArray = $aFullArray
; Present the entire match result
_ArrayDisplay($aArray, "Result")
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm