Merged PR 212: Optimize FindChildrenById from O(n) to O(1)

Optimize FindChildrenById from O(n) to O(1):
- Deprecate FindContainerByIdDFS
- Container: Replace Children to string[]
- Add HashMap to IHistoryState that contains all containers

To access a container by id now cost O(1) without any additional cost

+ Implement CICD for SVGLibs
This commit is contained in:
Eric Nguyen 2022-10-12 09:39:54 +00:00
parent 466ef2b08b
commit c256a76e01
45 changed files with 775 additions and 450 deletions

View file

@ -13,6 +13,10 @@ pool:
variables:
pnpm_config_cache: $(Pipeline.Workspace)/.pnpm-store
CSWebProjectLocation: '$(System.DefaultWorkingDirectory)/csharp/SVGLDLibs/SVGLDWebAPI/SVGLDWebAPI.csproj'
CSLibsProjectLocation: '$(System.DefaultWorkingDirectory)/csharp/SVGLDLibs/SVGLDLibs/SVGLDLibs.csproj'
CSLibsProjectModelsLocation: '$(System.DefaultWorkingDirectory)/csharp/SVGLDLibs/SVGLDLibs/Models'
buildConfiguration: 'Release'
steps:
- task: Cache@2
@ -47,7 +51,7 @@ steps:
set -euo pipefail
node --version
node ./test-server/http.js &
dotnet run --project=./csharp/SVGLDLibs/SVGLDWebAPI/SVGLDWebAPI.csproj &
dotnet run --project=$(CSWebProjectLocation) &
jobs
sleep 10
pnpm i
@ -57,4 +61,13 @@ steps:
displayName: 'Test on Node.js 18.x Latest'
- publish: $(System.DefaultWorkingDirectory)/dist
artifact: svg-layout-designer
artifact: svg-layout-designer
- script: dotnet build $(CSLibsProjectLocation) --configuration $(buildConfiguration) --output $(build.artifactstagingdirectory)
displayName: 'dotnet build $(buildConfiguration)'
- publish: $(Build.ArtifactStagingDirectory)
artifact: svg-layout-designer-net
- publish: $(CSLibsProjectModelsLocation)
artifact: svg-layout-designer-net-source