@digicatapult/dtdl-parser 0.0.12 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.depcheckrc +6 -0
- package/.github/CODEOWNERS +4 -0
- package/.github/workflows/release.yml +198 -0
- package/.github/workflows/test.yml +92 -0
- package/.gitignore +4 -0
- package/.prettierrc +9 -0
- package/.swcrc +32 -0
- package/build/error.d.ts +2 -0
- package/build/error.js +9 -0
- package/build/error.js.map +1 -0
- package/build/index.d.ts +8 -0
- package/build/index.js +59 -0
- package/build/index.js.map +1 -0
- package/build/interop/_framework/DTDLParserJSInterop.pdb +0 -0
- package/build/interop/_framework/DTDLParserJSInterop.wasm +0 -0
- package/build/interop/_framework/blazor.boot.json +3 -3
- package/build/interop.d.ts +5 -0
- package/dtdl/error/error.json +11 -0
- package/dtdl/simple/simple.json +9 -0
- package/eslint.config.mjs +52 -0
- package/package.json +14 -6
- package/src/__tests__/index.test.ts +119 -0
- package/src/error.ts +25 -0
- package/src/index.ts +134 -0
- package/src/interop/DTDLParserJSInterop.csproj +26 -0
- package/src/interop/LICENSE +21 -0
- package/src/interop/ModelParserInterop.cs +19 -0
- package/src/interop/README.md +1 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/DTDLParser.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/DTDLParserJSInterop.deps.json +921 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/DTDLParserJSInterop.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/DTDLParserJSInterop.pdb +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/DTDLParserJSInterop.runtimeconfig.json +40 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/Microsoft.CSharp.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/Microsoft.VisualBasic.Core.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/Microsoft.VisualBasic.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/Microsoft.Win32.Primitives.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/Microsoft.Win32.Registry.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.AppContext.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Buffers.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Collections.Concurrent.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Collections.Immutable.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Collections.NonGeneric.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Collections.Specialized.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Collections.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.ComponentModel.Annotations.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.ComponentModel.DataAnnotations.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.ComponentModel.EventBasedAsync.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.ComponentModel.Primitives.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.ComponentModel.TypeConverter.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.ComponentModel.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Configuration.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Console.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Core.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Data.Common.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Data.DataSetExtensions.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Data.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Diagnostics.Contracts.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Diagnostics.Debug.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Diagnostics.DiagnosticSource.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Diagnostics.FileVersionInfo.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Diagnostics.Process.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Diagnostics.StackTrace.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Diagnostics.TextWriterTraceListener.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Diagnostics.Tools.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Diagnostics.TraceSource.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Diagnostics.Tracing.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Drawing.Primitives.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Drawing.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Dynamic.Runtime.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Formats.Asn1.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Formats.Tar.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Globalization.Calendars.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Globalization.Extensions.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Globalization.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.IO.Compression.Brotli.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.IO.Compression.FileSystem.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.IO.Compression.ZipFile.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.IO.Compression.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.IO.FileSystem.AccessControl.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.IO.FileSystem.DriveInfo.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.IO.FileSystem.Primitives.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.IO.FileSystem.Watcher.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.IO.FileSystem.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.IO.IsolatedStorage.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.IO.MemoryMappedFiles.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.IO.Pipes.AccessControl.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.IO.Pipes.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.IO.UnmanagedMemoryStream.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.IO.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Linq.Expressions.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Linq.Parallel.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Linq.Queryable.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Linq.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Memory.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Net.Http.Json.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Net.Http.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Net.HttpListener.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Net.Mail.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Net.NameResolution.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Net.NetworkInformation.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Net.Ping.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Net.Primitives.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Net.Quic.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Net.Requests.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Net.Security.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Net.ServicePoint.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Net.Sockets.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Net.WebClient.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Net.WebHeaderCollection.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Net.WebProxy.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Net.WebSockets.Client.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Net.WebSockets.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Net.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Numerics.Vectors.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Numerics.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.ObjectModel.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Private.CoreLib.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Private.DataContractSerialization.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Private.Uri.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Private.Xml.Linq.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Private.Xml.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Reflection.DispatchProxy.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Reflection.Emit.ILGeneration.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Reflection.Emit.Lightweight.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Reflection.Emit.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Reflection.Extensions.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Reflection.Metadata.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Reflection.Primitives.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Reflection.TypeExtensions.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Reflection.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Resources.Reader.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Resources.ResourceManager.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Resources.Writer.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Runtime.CompilerServices.Unsafe.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Runtime.CompilerServices.VisualC.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Runtime.Extensions.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Runtime.Handles.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Runtime.InteropServices.JavaScript.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Runtime.InteropServices.RuntimeInformation.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Runtime.InteropServices.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Runtime.Intrinsics.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Runtime.Loader.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Runtime.Numerics.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Runtime.Serialization.Formatters.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Runtime.Serialization.Json.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Runtime.Serialization.Primitives.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Runtime.Serialization.Xml.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Runtime.Serialization.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Runtime.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Security.AccessControl.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Security.Claims.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Security.Cryptography.Algorithms.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Security.Cryptography.Cng.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Security.Cryptography.Csp.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Security.Cryptography.Encoding.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Security.Cryptography.OpenSsl.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Security.Cryptography.Primitives.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Security.Cryptography.X509Certificates.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Security.Cryptography.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Security.Principal.Windows.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Security.Principal.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Security.SecureString.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Security.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.ServiceModel.Web.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.ServiceProcess.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Text.Encoding.CodePages.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Text.Encoding.Extensions.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Text.Encoding.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Text.Encodings.Web.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Text.Json.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Text.RegularExpressions.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Threading.Channels.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Threading.Overlapped.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Threading.Tasks.Dataflow.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Threading.Tasks.Extensions.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Threading.Tasks.Parallel.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Threading.Tasks.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Threading.Thread.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Threading.ThreadPool.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Threading.Timer.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Threading.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Transactions.Local.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Transactions.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.ValueTuple.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Web.HttpUtility.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Web.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Windows.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Xml.Linq.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Xml.ReaderWriter.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Xml.Serialization.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Xml.XDocument.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Xml.XPath.XDocument.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Xml.XPath.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Xml.XmlDocument.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Xml.XmlSerializer.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.Xml.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/System.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/WindowsBase.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/corebindings.c +104 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/dotnet-legacy.d.ts +295 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/dotnet.d.ts +472 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/dotnet.es6.extpost.js +2 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/dotnet.es6.lib.js +163 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/dotnet.es6.pre.js +5 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/dotnet.js +4 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/dotnet.js.map +1 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/dotnet.native.js +17 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/dotnet.native.js.symbols +8582 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/dotnet.native.wasm +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/dotnet.runtime.js +4 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/dotnet.runtime.js.map +1 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/driver.c +1391 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/emcc-default.rsp +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/emcc-link.rsp +16 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/emcc-props.json +14 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/gc-common.h +73 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/icudt.dat +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/icudt_CJK.dat +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/icudt_EFIGS.dat +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/icudt_hybrid.dat +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/icudt_no_CJK.dat +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libSystem.Globalization.Native.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libSystem.IO.Compression.Native.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libSystem.Native.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libicudata.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libicui18n.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libicuuc.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libmono-component-debugger-static.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libmono-component-debugger-stub-static.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libmono-component-diagnostics_tracing-static.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libmono-component-diagnostics_tracing-stub-static.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libmono-component-hot_reload-static.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libmono-component-hot_reload-stub-static.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libmono-component-marshal-ilgen-static.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libmono-component-marshal-ilgen-stub-static.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libmono-ee-interp.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libmono-icall-table.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libmono-profiler-aot.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libmono-profiler-browser.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libmono-wasm-eh-js.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libmono-wasm-eh-wasm.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libmono-wasm-nosimd.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libmono-wasm-simd.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/libmonosgen-2.0.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/mscorlib.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/netstandard.dll +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/package.json +44 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/pal_random.lib.js +45 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/pinvoke.c +62 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/pinvoke.h +50 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/runtimeconfig.bin +1 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/wasm-bundled-timezones.a +0 -0
- package/src/interop/bin/Release/net8.0/browser-wasm/wasm-config.h +13 -0
- package/src/interop/modelParser.js +11 -0
- package/src/interop/obj/DTDLParserJSInterop.csproj.nuget.dgspec.json +83 -0
- package/src/interop/obj/DTDLParserJSInterop.csproj.nuget.g.props +21 -0
- package/src/interop/obj/DTDLParserJSInterop.csproj.nuget.g.targets +6 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs +4 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/DTDLPars.F465EEA8.Up2Date +0 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/DTDLParserJSInterop.AssemblyInfo.cs +22 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/DTDLParserJSInterop.AssemblyInfoInputs.cache +1 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/DTDLParserJSInterop.GeneratedMSBuildEditorConfig.editorconfig +17 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/DTDLParserJSInterop.assets.cache +0 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/DTDLParserJSInterop.csproj.AssemblyReference.cache +0 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/DTDLParserJSInterop.csproj.CoreCompileInputs.cache +1 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/DTDLParserJSInterop.csproj.FileListAbsolute.txt +237 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/DTDLParserJSInterop.dll +0 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/DTDLParserJSInterop.genruntimeconfig.cache +1 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/DTDLParserJSInterop.pdb +0 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/DTDLParserJSInterop.sourcelink.json +1 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/ref/DTDLParserJSInterop.dll +0 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/refint/DTDLParserJSInterop.dll +0 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/wasm/for-build/corebindings.o +0 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/wasm/for-build/dotnet.native.js +17 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/wasm/for-build/dotnet.native.wasm +0 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/wasm/for-build/driver.o +0 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/wasm/for-build/emcc-compile.rsp +12 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/wasm/for-build/emcc-link.rsp +38 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/wasm/for-build/icall-table.h +1653 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/wasm/for-build/m2n_cache.txt +3 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/wasm/for-build/pinvoke-table.h +329 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/wasm/for-build/pinvoke.o +0 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/wasm/for-build/runtime-icall-table.h +449 -0
- package/src/interop/obj/Release/net8.0/browser-wasm/wasm/for-build/wasm_m2n_invoke.g.h +522 -0
- package/src/interop/obj/project.assets.json +384 -0
- package/src/interop/obj/project.nuget.cache +13 -0
- package/src/interop/runtimeconfig.template.json +11 -0
- package/src/interop.ts +9 -0
- package/test/mocharc.json +6 -0
- package/tsconfig.json +31 -0
- package/types/DtdlErr.d.ts +26 -0
- package/types/DtdlOm.d.ts +372 -0
- package/build/package.json +0 -62
- package/build/src/error.js +0 -2
- package/build/src/error.js.map +0 -1
- package/build/src/index.js +0 -6
- package/build/src/index.js.map +0 -1
- package/build/src/interop.js +0 -2
- package/build/src/interop.js.map +0 -1
- /package/{build/src → src}/__tests__/fixtures/empty.json +0 -0
- /package/{build/src → src}/__tests__/fixtures/nested/nested.json +0 -0
package/.depcheckrc
ADDED
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: ['main', 'init-commit']
|
|
6
|
+
jobs:
|
|
7
|
+
preconditions:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
outputs:
|
|
10
|
+
repo_name: ${{ steps.repo_ids.outputs.REPO_NAME }}
|
|
11
|
+
org_name: ${{ steps.repo_ids.outputs.ORG_NAME }}
|
|
12
|
+
steps:
|
|
13
|
+
- name: Checkout
|
|
14
|
+
uses: actions/checkout@v4
|
|
15
|
+
with:
|
|
16
|
+
fetch-depth: 0
|
|
17
|
+
- name: Check Github token
|
|
18
|
+
run: |
|
|
19
|
+
if [ -z "${{ secrets.GITHUB_TOKEN }}"]; then
|
|
20
|
+
echo "Must provide a GITHUB_TOKEN secret in order to run release workflow"
|
|
21
|
+
exit 1
|
|
22
|
+
fi
|
|
23
|
+
- name: Check npmjs token
|
|
24
|
+
run: |
|
|
25
|
+
if [ -z "${{ secrets.NPMJS_TOKEN }}"]; then
|
|
26
|
+
echo "Must provide a NPMJS_TOKEN secret in order to run release workflow"
|
|
27
|
+
exit 1
|
|
28
|
+
fi
|
|
29
|
+
- name: Get repository identifiers
|
|
30
|
+
id: repo_ids
|
|
31
|
+
run: |
|
|
32
|
+
REPO_NAME=$(echo "${{ github.event.repository.name }}" | tr '[:upper:]' '[:lower:]')
|
|
33
|
+
ORG_NAME=$(echo "${{ github.event.repository.owner.name }}" | tr '[:upper:]' '[:lower:]')
|
|
34
|
+
echo "REPO_NAME=$REPO_NAME" >> $GITHUB_OUTPUT
|
|
35
|
+
echo "ORG_NAME=$ORG_NAME" >> $GITHUB_OUTPUT
|
|
36
|
+
static-checks:
|
|
37
|
+
name: Run Static Analysis Checks
|
|
38
|
+
strategy:
|
|
39
|
+
fail-fast: false
|
|
40
|
+
matrix:
|
|
41
|
+
command: [lint, depcheck, check]
|
|
42
|
+
runs-on: ubuntu-latest
|
|
43
|
+
steps:
|
|
44
|
+
- uses: actions/checkout@v4
|
|
45
|
+
- uses: actions/setup-node@v4
|
|
46
|
+
with:
|
|
47
|
+
node-version: 20.x
|
|
48
|
+
- name: Cache Node.js modules
|
|
49
|
+
uses: actions/cache@v4
|
|
50
|
+
with:
|
|
51
|
+
path: ~/.npm # npm cache files are stored in `~/.npm` on Linux/macOS
|
|
52
|
+
key: ${{ runner.OS }}-node-${{ hashFiles('**/package-lock.json') }}
|
|
53
|
+
restore-keys: |
|
|
54
|
+
${{ runner.OS }}-node-
|
|
55
|
+
${{ runner.OS }}-
|
|
56
|
+
- name: Install Packages
|
|
57
|
+
run: npm ci
|
|
58
|
+
- name: Checks
|
|
59
|
+
run: npm run ${{ matrix.command }}
|
|
60
|
+
tests:
|
|
61
|
+
name: Run tests
|
|
62
|
+
strategy:
|
|
63
|
+
fail-fast: false
|
|
64
|
+
matrix:
|
|
65
|
+
command: ['test']
|
|
66
|
+
runs-on: ubuntu-latest
|
|
67
|
+
steps:
|
|
68
|
+
- uses: actions/checkout@v4
|
|
69
|
+
- uses: actions/setup-dotnet@v4
|
|
70
|
+
with:
|
|
71
|
+
dotnet-version: '8.0.x'
|
|
72
|
+
- uses: actions/setup-node@v4
|
|
73
|
+
with:
|
|
74
|
+
node-version: 20.x
|
|
75
|
+
- name: Cache Node.js modules
|
|
76
|
+
uses: actions/cache@v4
|
|
77
|
+
with:
|
|
78
|
+
path: ~/.npm # npm cache files are stored in `~/.npm` on Linux/macOS
|
|
79
|
+
key: ${{ runner.OS }}-node-${{ hashFiles('**/package-lock.json') }}
|
|
80
|
+
restore-keys: |
|
|
81
|
+
${{ runner.OS }}-node-
|
|
82
|
+
${{ runner.OS }}-
|
|
83
|
+
- name: Install wasm tools
|
|
84
|
+
run: dotnet workload install wasm-tools
|
|
85
|
+
- name: Install Packages
|
|
86
|
+
run: npm ci
|
|
87
|
+
- name: Build
|
|
88
|
+
run: npm run build
|
|
89
|
+
- name: Run tests
|
|
90
|
+
run: npm run ${{ matrix.command }}
|
|
91
|
+
check-version:
|
|
92
|
+
name: 'Check version'
|
|
93
|
+
runs-on: ubuntu-latest
|
|
94
|
+
outputs:
|
|
95
|
+
is_new_version: ${{ steps.get_version.outputs.IS_NEW_VERSION }}
|
|
96
|
+
version: ${{ steps.get_version.outputs.VERSION }}
|
|
97
|
+
build_date: ${{ steps.get_version.outputs.BUILD_DATE }}
|
|
98
|
+
is_prerelease: ${{ steps.get_version.outputs.IS_PRERELEASE }}
|
|
99
|
+
|
|
100
|
+
steps:
|
|
101
|
+
- uses: actions/checkout@v4
|
|
102
|
+
- name: Check version
|
|
103
|
+
id: get_version
|
|
104
|
+
uses: digicatapult/check-version@v1
|
|
105
|
+
with:
|
|
106
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
107
|
+
publish-gh:
|
|
108
|
+
name: 'Publish Github package'
|
|
109
|
+
needs:
|
|
110
|
+
- preconditions
|
|
111
|
+
- static-checks
|
|
112
|
+
- tests
|
|
113
|
+
- check-version
|
|
114
|
+
runs-on: ubuntu-latest
|
|
115
|
+
if: ${{ needs.check-version.outputs.is_new_version == 'true' }}
|
|
116
|
+
|
|
117
|
+
steps:
|
|
118
|
+
- uses: actions/checkout@v4
|
|
119
|
+
- uses: actions/setup-node@v4
|
|
120
|
+
with:
|
|
121
|
+
node-version: '16.x'
|
|
122
|
+
registry-url: 'https://npm.pkg.github.com'
|
|
123
|
+
scope: '@digicatapult'
|
|
124
|
+
- name: Install packages
|
|
125
|
+
run: npm ci
|
|
126
|
+
- name: Publish to github packages
|
|
127
|
+
run: npm publish --access public
|
|
128
|
+
env:
|
|
129
|
+
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
130
|
+
|
|
131
|
+
publish-npm:
|
|
132
|
+
name: 'Publish package to NPMJS'
|
|
133
|
+
needs:
|
|
134
|
+
- preconditions
|
|
135
|
+
- static-checks
|
|
136
|
+
- tests
|
|
137
|
+
- check-version
|
|
138
|
+
runs-on: ubuntu-latest
|
|
139
|
+
if: ${{ needs.check-version.outputs.is_new_version == 'true' }}
|
|
140
|
+
|
|
141
|
+
steps:
|
|
142
|
+
- uses: actions/checkout@v4
|
|
143
|
+
- uses: actions/setup-node@v4
|
|
144
|
+
with:
|
|
145
|
+
node-version: '18.x'
|
|
146
|
+
registry-url: 'https://registry.npmjs.org'
|
|
147
|
+
scope: '@digicatapult'
|
|
148
|
+
- uses: actions/setup-dotnet@v4
|
|
149
|
+
with:
|
|
150
|
+
dotnet-version: '8.0.x'
|
|
151
|
+
- name: Install wasm tools
|
|
152
|
+
run: dotnet workload install wasm-tools
|
|
153
|
+
- name: Install packages
|
|
154
|
+
run: npm ci
|
|
155
|
+
- name: Build
|
|
156
|
+
run: npm run build
|
|
157
|
+
- name: Publish to npmjs packages
|
|
158
|
+
run: npm publish --access public
|
|
159
|
+
env:
|
|
160
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPMJS_TOKEN }}
|
|
161
|
+
|
|
162
|
+
publish:
|
|
163
|
+
name: 'Publish release'
|
|
164
|
+
needs: [preconditions, static-checks, tests, check-version]
|
|
165
|
+
runs-on: ubuntu-latest
|
|
166
|
+
if: ${{ needs.check-version.outputs.is_new_version == 'true' }}
|
|
167
|
+
|
|
168
|
+
steps:
|
|
169
|
+
- uses: actions/checkout@v4
|
|
170
|
+
|
|
171
|
+
- name: Build release version
|
|
172
|
+
uses: softprops/action-gh-release@v2
|
|
173
|
+
with:
|
|
174
|
+
token: '${{ secrets.GITHUB_TOKEN }}'
|
|
175
|
+
tag_name: ${{ needs.check-version.outputs.version }}
|
|
176
|
+
prerelease: false
|
|
177
|
+
name: ${{ needs.check-version.outputs.version }}
|
|
178
|
+
generate_release_notes: true
|
|
179
|
+
- name: Delete release latest
|
|
180
|
+
uses: actions/github-script@v7
|
|
181
|
+
with:
|
|
182
|
+
github-token: ${{secrets.GITHUB_TOKEN}}
|
|
183
|
+
script: |
|
|
184
|
+
const { owner, repo } = context.repo
|
|
185
|
+
try {
|
|
186
|
+
await github.rest.git.deleteRef({ owner, repo, ref: 'tags/latest' })
|
|
187
|
+
}
|
|
188
|
+
catch (err) {
|
|
189
|
+
if (err.status !== 422) throw err
|
|
190
|
+
}
|
|
191
|
+
- name: Build release latest
|
|
192
|
+
uses: softprops/action-gh-release@v2
|
|
193
|
+
with:
|
|
194
|
+
token: '${{ secrets.GITHUB_TOKEN }}'
|
|
195
|
+
tag_name: latest
|
|
196
|
+
prerelease: false
|
|
197
|
+
name: Latest ${{ needs.check-version.outputs.version }}
|
|
198
|
+
generate_release_notes: true
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
name: Lint and Test
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches-ignore: ['main']
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
repo_ids:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
outputs:
|
|
11
|
+
repo_name: ${{ steps.repo_ids.outputs.REPO_NAME }}
|
|
12
|
+
org_name: ${{ steps.repo_ids.outputs.ORG_NAME }}
|
|
13
|
+
steps:
|
|
14
|
+
- name: Checkout
|
|
15
|
+
uses: actions/checkout@v4
|
|
16
|
+
with:
|
|
17
|
+
fetch-depth: 0
|
|
18
|
+
- name: Get repository identifiers
|
|
19
|
+
id: repo_ids
|
|
20
|
+
run: |
|
|
21
|
+
REPO_NAME=$(echo "${{ github.event.repository.name }}" | tr '[:upper:]' '[:lower:]')
|
|
22
|
+
ORG_NAME=$(echo "${{ github.event.repository.owner.name }}" | tr '[:upper:]' '[:lower:]')
|
|
23
|
+
echo "REPO_NAME=$REPO_NAME" >> $GITHUB_OUTPUT
|
|
24
|
+
echo "ORG_NAME=$ORG_NAME" >> $GITHUB_OUTPUT
|
|
25
|
+
|
|
26
|
+
static-checks:
|
|
27
|
+
name: Run Static Analysis Checks
|
|
28
|
+
strategy:
|
|
29
|
+
fail-fast: false
|
|
30
|
+
matrix:
|
|
31
|
+
command: [lint, depcheck, check]
|
|
32
|
+
runs-on: ubuntu-latest
|
|
33
|
+
steps:
|
|
34
|
+
- uses: actions/checkout@v4
|
|
35
|
+
- uses: actions/setup-node@v4
|
|
36
|
+
with:
|
|
37
|
+
node-version: 20.x
|
|
38
|
+
- name: Cache Node.js modules
|
|
39
|
+
uses: actions/cache@v4
|
|
40
|
+
with:
|
|
41
|
+
path: ~/.npm # npm cache files are stored in `~/.npm` on Linux/macOS
|
|
42
|
+
key: ${{ runner.OS }}-node-${{ hashFiles('**/package-lock.json') }}
|
|
43
|
+
restore-keys: |
|
|
44
|
+
${{ runner.OS }}-node-
|
|
45
|
+
${{ runner.OS }}-
|
|
46
|
+
- name: Install Packages
|
|
47
|
+
run: npm ci
|
|
48
|
+
- name: Lint
|
|
49
|
+
run: npm run ${{ matrix.command }}
|
|
50
|
+
|
|
51
|
+
tests:
|
|
52
|
+
name: Run tests
|
|
53
|
+
strategy:
|
|
54
|
+
fail-fast: false
|
|
55
|
+
matrix:
|
|
56
|
+
command: ['test']
|
|
57
|
+
runs-on: ubuntu-latest
|
|
58
|
+
steps:
|
|
59
|
+
- uses: actions/checkout@v4
|
|
60
|
+
- uses: actions/setup-node@v4
|
|
61
|
+
with:
|
|
62
|
+
node-version: 20.x
|
|
63
|
+
- name: Cache Node.js modules
|
|
64
|
+
uses: actions/cache@v4
|
|
65
|
+
with:
|
|
66
|
+
path: ~/.npm # npm cache files are stored in `~/.npm` on Linux/macOS
|
|
67
|
+
key: ${{ runner.OS }}-node-${{ hashFiles('**/package-lock.json') }}
|
|
68
|
+
restore-keys: |
|
|
69
|
+
${{ runner.OS }}-node-
|
|
70
|
+
${{ runner.OS }}-
|
|
71
|
+
- uses: actions/setup-dotnet@v4
|
|
72
|
+
with:
|
|
73
|
+
dotnet-version: '8.0.x'
|
|
74
|
+
- name: Install wasm tools
|
|
75
|
+
run: dotnet workload install wasm-tools
|
|
76
|
+
- name: Install Packages
|
|
77
|
+
run: npm ci
|
|
78
|
+
- name: Build
|
|
79
|
+
run: npm run build
|
|
80
|
+
- name: Run tests
|
|
81
|
+
run: npm run ${{ matrix.command }}
|
|
82
|
+
|
|
83
|
+
check-version:
|
|
84
|
+
name: 'Check version'
|
|
85
|
+
runs-on: ubuntu-latest
|
|
86
|
+
steps:
|
|
87
|
+
- uses: actions/checkout@v4
|
|
88
|
+
- name: Check version
|
|
89
|
+
id: get_version
|
|
90
|
+
uses: digicatapult/check-version@v1
|
|
91
|
+
with:
|
|
92
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
package/.gitignore
ADDED
package/.prettierrc
ADDED
package/.swcrc
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://swc.rs/schema.json",
|
|
3
|
+
"jsc": {
|
|
4
|
+
"parser": {
|
|
5
|
+
"syntax": "typescript",
|
|
6
|
+
"decorators": true,
|
|
7
|
+
"topLevelAwait": true,
|
|
8
|
+
"importMeta": true
|
|
9
|
+
},
|
|
10
|
+
"transform": {
|
|
11
|
+
"legacyDecorator": true,
|
|
12
|
+
"decoratorMetadata": true,
|
|
13
|
+
"useDefineForClassFields": true
|
|
14
|
+
},
|
|
15
|
+
"minify": {
|
|
16
|
+
"compress": {
|
|
17
|
+
"unused": true
|
|
18
|
+
},
|
|
19
|
+
"mangle": true
|
|
20
|
+
},
|
|
21
|
+
"target": "esnext",
|
|
22
|
+
"experimental": {
|
|
23
|
+
"keepImportAttributes": true
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"exclude": [
|
|
27
|
+
"__tests__",
|
|
28
|
+
"interop"
|
|
29
|
+
],
|
|
30
|
+
"sourceMaps": true,
|
|
31
|
+
"isModule": true
|
|
32
|
+
}
|
package/build/error.d.ts
ADDED
package/build/error.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
let { error: e } = console, n = (e)=>'Parsing' === e.ExceptionKind, o = (e)=>'Resolution' === e.ExceptionKind;
|
|
2
|
+
export const isResolutionException = (e)=>e instanceof Error && o(JSON.parse(e.message));
|
|
3
|
+
export const errorHandler = (r)=>{
|
|
4
|
+
if (!(r instanceof Error)) return e(`Unexpected error: ${r}`);
|
|
5
|
+
let t = JSON.parse(r.message);
|
|
6
|
+
n(t) || o(t) || e('Unknown exception type'), e(t);
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/error.ts"],"sourcesContent":["import type { ModelingException, ParsingException, ResolutionException } from '../types/DtdlErr.d.ts'\n\nconst { error } = console\n\nconst isParsingEx = (exception: ModelingException): exception is ParsingException => {\n return exception.ExceptionKind === 'Parsing'\n}\n\nconst isResolutionEx = (exception: ModelingException): exception is ResolutionException => {\n return exception.ExceptionKind === 'Resolution'\n}\n\nexport const isResolutionException = (err: unknown) => {\n if (!(err instanceof Error)) return false\n return isResolutionEx(JSON.parse(err.message))\n}\n\nexport const errorHandler = (err: unknown) => {\n if (!(err instanceof Error)) return error(`Unexpected error: ${err}`)\n\n const exception = JSON.parse(err.message) as ModelingException\n\n if (!(isParsingEx(exception) || isResolutionEx(exception))) error('Unknown exception type')\n error(exception)\n}\n"],"names":["error","console","isParsingEx","exception","ExceptionKind","isResolutionEx","isResolutionException","err","Error","JSON","parse","message","errorHandler"],"mappings":"AAEA,IAAM,EAAEA,OAAAA,CAAK,EAAE,GAAGC,SAEZC,IAAc,CAACC,IACZA,AAA4B,cAA5BA,EAAUC,aAAa,EAG1BC,IAAiB,CAACF,IACfA,AAA4B,iBAA5BA,EAAUC,aAAa;AAGhC,OAAO,MAAME,wBAAwB,CAACC,IACpC,AAAMA,aAAeC,SACdH,EAAeI,KAAKC,KAAK,CAACH,EAAII,OAAO,GAC7C;AAED,OAAO,MAAMC,eAAe,CAACL;IAC3B,IAAI,CAAEA,CAAAA,aAAeC,KAAI,GAAI,OAAOR,EAAM,CAAC,kBAAkB,EAAEO,GAAK;IAEpE,IAAMJ,IAAYM,KAAKC,KAAK,CAACH,EAAII,OAAO;IAElCT,EAAYC,MAAcE,EAAeF,MAAaH,EAAM,2BAClEA,EAAMG;AACR,EAAC"}
|
package/build/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DtdlObjectModel } from '../types/DtdlOm.d.ts';
|
|
2
|
+
import type { Parser } from './interop.js';
|
|
3
|
+
export type * from '../types/DtdlErr.d.ts';
|
|
4
|
+
export type * from '../types/DtdlOm.d.ts';
|
|
5
|
+
export { getInterop } from './interop.js';
|
|
6
|
+
export declare const searchForJsonFiles: (directory: string) => string[];
|
|
7
|
+
export declare const validateDirectories: (directory: string, parser: Parser, incResolutionException: boolean) => boolean;
|
|
8
|
+
export declare const parseDirectories: (directory: string, parser: Parser) => DtdlObjectModel | null;
|
package/build/index.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import e from 'fs';
|
|
2
|
+
import r from 'path';
|
|
3
|
+
import { errorHandler as t, isResolutionException as l } from './error.js';
|
|
4
|
+
let { log: n, error: s } = console;
|
|
5
|
+
export { getInterop } from './interop.js';
|
|
6
|
+
export const searchForJsonFiles = (t)=>e.existsSync(t) ? e.readdirSync(t).map((e)=>r.join(t, e)).reduce((t, l)=>e.statSync(l).isDirectory() ? t.concat(searchForJsonFiles(l)) : '.json' === r.extname(l) ? t.concat(l) : t, []) : (s(`'${t}' not a valid filepath`), []);
|
|
7
|
+
let i = (r)=>{
|
|
8
|
+
try {
|
|
9
|
+
let t = e.readFileSync(r, 'utf-8');
|
|
10
|
+
return JSON.parse(t);
|
|
11
|
+
} catch (e) {
|
|
12
|
+
return s(`Invalid JSON at '${r}'`), s(e), null;
|
|
13
|
+
}
|
|
14
|
+
}, a = (e)=>{
|
|
15
|
+
let r = [];
|
|
16
|
+
for (let t of e){
|
|
17
|
+
let e = i(t);
|
|
18
|
+
if (null === e) return null;
|
|
19
|
+
r.push(e);
|
|
20
|
+
}
|
|
21
|
+
return r;
|
|
22
|
+
}, o = (r, i, a)=>{
|
|
23
|
+
try {
|
|
24
|
+
let t = e.readFileSync(r, 'utf-8');
|
|
25
|
+
return i.parse(t), n(`Successfully validated '${r}'`), !0;
|
|
26
|
+
} catch (e) {
|
|
27
|
+
if (!a && l(e)) return n(`Successfully validated '${r}'`), !0;
|
|
28
|
+
return s(`Error parsing '${r}'`), t(e), !1;
|
|
29
|
+
}
|
|
30
|
+
}, u = (e, r)=>{
|
|
31
|
+
try {
|
|
32
|
+
let t = JSON.parse(r.parse(JSON.stringify(e)));
|
|
33
|
+
return n("Successfully parsed"), t;
|
|
34
|
+
} catch (e) {
|
|
35
|
+
return s("Error parsing"), t(e), null;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
export const validateDirectories = (e, r, t)=>{
|
|
39
|
+
n(`${r.parserVersion()}\n`), n(`Validating DTDL at: '${e}'`);
|
|
40
|
+
let l = searchForJsonFiles(e);
|
|
41
|
+
if (l.length < 1) return !1;
|
|
42
|
+
for (let e of (n(`Found ${l.length} files:`), n(l), l))if (!o(e, r, t)) return !1;
|
|
43
|
+
return n(`All files validated!\n`), !0;
|
|
44
|
+
};
|
|
45
|
+
export const parseDirectories = (e, r)=>{
|
|
46
|
+
n(`${r.parserVersion()}\n`), n(`Parsing DTDL at: '${e}'`);
|
|
47
|
+
let t = searchForJsonFiles(e);
|
|
48
|
+
if (t.length < 1) return null;
|
|
49
|
+
n(`Found ${t.length} files:`), n(t);
|
|
50
|
+
let l = a(t);
|
|
51
|
+
if (null === l) return null;
|
|
52
|
+
let s = u(l, r);
|
|
53
|
+
if (null === s) return null;
|
|
54
|
+
n(`All files parsed!\n`), n("Entities:"), n(Object.keys(s));
|
|
55
|
+
let i = Object.values(s).filter((e)=>'Interface' === e.EntityKind);
|
|
56
|
+
return n(`Number of interfaces: ${i.length}`), s;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\nimport type { DtdlObjectModel, InterfaceInfo } from '../types/DtdlOm.d.ts'\nimport { errorHandler, isResolutionException } from './error.js'\nimport type { Parser } from './interop.js'\n\nconst { log, error } = console\n\nexport type * from '../types/DtdlErr.d.ts'\nexport type * from '../types/DtdlOm.d.ts'\nexport { getInterop } from './interop.js'\n\nexport const searchForJsonFiles = (directory: string): string[] => {\n if (!fs.existsSync(directory)) {\n error(`'${directory}' not a valid filepath`)\n return []\n }\n\n return fs\n .readdirSync(directory)\n .map((file) => path.join(directory, file))\n .reduce((jsonFiles, fullPath) => {\n if (fs.statSync(fullPath).isDirectory()) {\n return jsonFiles.concat(searchForJsonFiles(fullPath)) //recursive\n } else if (path.extname(fullPath) === '.json') {\n return jsonFiles.concat(fullPath)\n }\n return jsonFiles\n }, [] as string[])\n}\n\nconst readJsonFile = (filepath: string): unknown | null => {\n try {\n const file = fs.readFileSync(filepath, 'utf-8')\n const json = JSON.parse(file)\n return json\n } catch (err) {\n error(`Invalid JSON at '${filepath}'`)\n error(err)\n return null\n }\n}\n\nconst combineJson = (filepaths: string[]) => {\n const combinedJson: unknown[] = []\n\n for (const filepath of filepaths) {\n const json = readJsonFile(filepath)\n if (json === null) {\n return null // exit on any error\n }\n combinedJson.push(json)\n }\n\n return combinedJson\n}\n\nconst validateFile = (filepath: string, parserModule: Parser, incResolutionException: boolean): boolean => {\n try {\n const file = fs.readFileSync(filepath, 'utf-8')\n parserModule.parse(file)\n log(`Successfully validated '${filepath}'`)\n return true\n } catch (err) {\n if (!incResolutionException && isResolutionException(err)) {\n // ignore resolution exception\n log(`Successfully validated '${filepath}'`)\n return true\n }\n error(`Error parsing '${filepath}'`)\n errorHandler(err)\n return false\n }\n}\n\nconst parseDtdl = (json: unknown[], parserModule: Parser): DtdlObjectModel | null => {\n try {\n const model = JSON.parse(parserModule.parse(JSON.stringify(json))) as DtdlObjectModel\n log(`Successfully parsed`)\n return model\n } catch (err) {\n error(`Error parsing`)\n errorHandler(err)\n return null\n }\n}\n\nexport const validateDirectories = (directory: string, parser: Parser, incResolutionException: boolean): boolean => {\n log(`${parser.parserVersion()}\\n`)\n log(`Validating DTDL at: '${directory}'`)\n\n const filepaths = searchForJsonFiles(directory)\n if (filepaths.length < 1) return false\n\n log(`Found ${filepaths.length} files:`)\n log(filepaths)\n\n for (const filepath of filepaths) {\n const isValid = validateFile(filepath, parser, incResolutionException)\n if (!isValid) return false // stop validating if error\n }\n\n log(`All files validated!\\n`)\n return true\n}\n\nexport const parseDirectories = (directory: string, parser: Parser): DtdlObjectModel | null => {\n log(`${parser.parserVersion()}\\n`)\n log(`Parsing DTDL at: '${directory}'`)\n\n const filepaths = searchForJsonFiles(directory)\n if (filepaths.length < 1) return null\n\n log(`Found ${filepaths.length} files:`)\n log(filepaths)\n\n const fullJson = combineJson(filepaths)\n if (fullJson === null) return null\n\n const fullModel = parseDtdl(fullJson, parser)\n if (fullModel === null) return null\n\n log(`All files parsed!\\n`)\n log(`Entities:`)\n log(Object.keys(fullModel))\n\n // Example type guard\n const interfaces: InterfaceInfo[] = Object.values(fullModel).filter(\n (value): value is InterfaceInfo => value.EntityKind === 'Interface'\n )\n log(`Number of interfaces: ${interfaces.length}`)\n\n return fullModel\n}\n"],"names":["fs","path","errorHandler","isResolutionException","log","error","console","getInterop","searchForJsonFiles","directory","existsSync","readdirSync","map","file","join","reduce","jsonFiles","fullPath","statSync","isDirectory","concat","extname","readJsonFile","filepath","readFileSync","JSON","parse","err","combineJson","filepaths","combinedJson","json","push","validateFile","parserModule","incResolutionException","parseDtdl","model","stringify","validateDirectories","parser","parserVersion","length","parseDirectories","fullJson","fullModel","Object","keys","interfaces","values","filter","value","EntityKind"],"mappings":"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"}
|
|
Binary file
|
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"mainAssemblyName": "DTDLParserJSInterop.dll",
|
|
3
3
|
"resources": {
|
|
4
|
-
"hash": "sha256-
|
|
4
|
+
"hash": "sha256-QX5JG5/DtNnflHHj0ApuxEODJm2ljBbWqU8++LXEupQ=",
|
|
5
5
|
"jsModuleNative": {
|
|
6
6
|
"dotnet.native.js": "sha256-79LdZogK41buIci0KtOWmQvQc2swMI3jvDQCoN23NBM="
|
|
7
7
|
},
|
|
@@ -181,10 +181,10 @@
|
|
|
181
181
|
"mscorlib.wasm": "sha256-KvqZaNpjwhrOuzE4b4aMFsI+VUTyiWfoDI4zn4l9BM8=",
|
|
182
182
|
"netstandard.wasm": "sha256-v+s7sWxtOM6bnOvC0jFrtnm6uMfbDymwl2nHNgbS2LM=",
|
|
183
183
|
"System.Private.CoreLib.wasm": "sha256-pklll63uFQoY6vaD3vbluS9osYiJWLLLmob1yHFgepI=",
|
|
184
|
-
"DTDLParserJSInterop.wasm": "sha256-
|
|
184
|
+
"DTDLParserJSInterop.wasm": "sha256-LIeTpiKwtFb7qU5P0NKMm5a6hQkbwycXeHoKOsEC0uE="
|
|
185
185
|
},
|
|
186
186
|
"pdb": {
|
|
187
|
-
"DTDLParserJSInterop.pdb": "sha256-
|
|
187
|
+
"DTDLParserJSInterop.pdb": "sha256-st4B4B7o6fJ74mewyGLB7nd5YPDyE58Kqim9h+hnfdw="
|
|
188
188
|
},
|
|
189
189
|
"vfs": {
|
|
190
190
|
"runtimeconfig.bin": {
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { FlatCompat } from '@eslint/eslintrc'
|
|
2
|
+
import js from '@eslint/js'
|
|
3
|
+
import typescriptEslint from '@typescript-eslint/eslint-plugin'
|
|
4
|
+
import tsParser from '@typescript-eslint/parser'
|
|
5
|
+
import prettier from 'eslint-plugin-prettier'
|
|
6
|
+
import globals from 'globals'
|
|
7
|
+
import path from 'node:path'
|
|
8
|
+
import { fileURLToPath } from 'node:url'
|
|
9
|
+
|
|
10
|
+
const __filename = fileURLToPath(import.meta.url)
|
|
11
|
+
const __dirname = path.dirname(__filename)
|
|
12
|
+
const compat = new FlatCompat({
|
|
13
|
+
baseDirectory: __dirname,
|
|
14
|
+
recommendedConfig: js.configs.recommended,
|
|
15
|
+
allConfig: js.configs.all,
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
export default [
|
|
19
|
+
...compat.extends('eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'),
|
|
20
|
+
{
|
|
21
|
+
plugins: {
|
|
22
|
+
prettier,
|
|
23
|
+
'@typescript-eslint': typescriptEslint,
|
|
24
|
+
},
|
|
25
|
+
|
|
26
|
+
languageOptions: {
|
|
27
|
+
globals: {
|
|
28
|
+
...globals.node,
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
parser: tsParser,
|
|
32
|
+
ecmaVersion: 12,
|
|
33
|
+
sourceType: 'module',
|
|
34
|
+
},
|
|
35
|
+
|
|
36
|
+
rules: {
|
|
37
|
+
'prettier/prettier': 'error',
|
|
38
|
+
'@typescript-eslint/no-unused-vars': [
|
|
39
|
+
'warn',
|
|
40
|
+
{
|
|
41
|
+
ignoreRestSiblings: true,
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
|
|
45
|
+
'no-console': 2,
|
|
46
|
+
'no-duplicate-imports': 'warn',
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
ignores: ['build/', 'node_modules/', 'interop/'],
|
|
51
|
+
},
|
|
52
|
+
]
|
package/package.json
CHANGED
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digicatapult/dtdl-parser",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.14",
|
|
4
4
|
"description": "JS tool to parse DTDL defined Ontologies",
|
|
5
|
-
"main": "build/
|
|
5
|
+
"main": "build/index.js",
|
|
6
6
|
"type": "module",
|
|
7
|
+
"exports": {
|
|
8
|
+
"import": "./build/index.js"
|
|
9
|
+
},
|
|
10
|
+
"types": "./build/index.d.ts",
|
|
7
11
|
"scripts": {
|
|
8
12
|
"test": "NODE_ENV=test ./node_modules/.bin/mocha --config ./test/mocharc.json ./src/**/*.test.ts",
|
|
9
|
-
"build": "
|
|
13
|
+
"build": "npm run build:ts && npm run interop:build && npm run build:declarations",
|
|
14
|
+
"build:declarations": "tsc --emitDeclarationOnly",
|
|
10
15
|
"interop:debug": "dotnet build interop",
|
|
11
|
-
"interop:build": "dotnet build interop --configuration Release",
|
|
16
|
+
"interop:build": "dotnet build src/interop --configuration Release",
|
|
17
|
+
"build:ts": "swc ./src -d ./build --strip-leading-paths",
|
|
18
|
+
"check": "tsc --noEmit",
|
|
12
19
|
"clean": "rimraf -rf ./build",
|
|
13
20
|
"lint": "eslint .",
|
|
14
21
|
"depcheck": "depcheck"
|
|
@@ -18,7 +25,8 @@
|
|
|
18
25
|
"url": "git+https://github.com/digicatapult/dtdl-parser.git"
|
|
19
26
|
},
|
|
20
27
|
"files": [
|
|
21
|
-
"build"
|
|
28
|
+
"build",
|
|
29
|
+
""
|
|
22
30
|
],
|
|
23
31
|
"keywords": [
|
|
24
32
|
"dtdl",
|
|
@@ -59,4 +67,4 @@
|
|
|
59
67
|
"engines": {
|
|
60
68
|
"node": ">= 20"
|
|
61
69
|
}
|
|
62
|
-
}
|
|
70
|
+
}
|