@alloy-js/csharp 0.23.0-dev.1 → 0.23.0-dev.11
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/CHANGELOG.md +1 -14
- package/dist/dev/scripts/components/library-interface.js +67 -0
- package/dist/dev/scripts/components/library-interface.js.map +1 -0
- package/dist/dev/scripts/components/namespace-directory.js +160 -0
- package/dist/dev/scripts/components/namespace-directory.js.map +1 -0
- package/dist/dev/scripts/generate-builtins.js +45 -0
- package/dist/dev/scripts/generate-builtins.js.map +1 -0
- package/dist/dev/scripts/process-docfx.js +316 -0
- package/dist/dev/scripts/process-docfx.js.map +1 -0
- package/dist/dev/src/access.js +73 -0
- package/dist/dev/src/access.js.map +1 -0
- package/dist/dev/src/access.test.js +43 -0
- package/dist/dev/src/access.test.js.map +1 -0
- package/dist/dev/src/builtins/Microsoft/CSharp/RuntimeBinder/index.js +23 -0
- package/dist/dev/src/builtins/Microsoft/CSharp/RuntimeBinder/index.js.map +1 -0
- package/dist/dev/src/builtins/Microsoft/CSharp/index.js +5 -0
- package/dist/dev/src/builtins/Microsoft/CSharp/index.js.map +1 -0
- package/dist/dev/src/builtins/Microsoft/VisualBasic/FileIO/index.js +473 -0
- package/dist/dev/src/builtins/Microsoft/VisualBasic/FileIO/index.js.map +1 -0
- package/dist/dev/src/builtins/Microsoft/VisualBasic/index.js +2534 -0
- package/dist/dev/src/builtins/Microsoft/VisualBasic/index.js.map +1 -0
- package/dist/dev/src/builtins/Microsoft/Win32/SafeHandles/index.js +320 -0
- package/dist/dev/src/builtins/Microsoft/Win32/SafeHandles/index.js.map +1 -0
- package/dist/dev/src/builtins/Microsoft/Win32/index.js +362 -0
- package/dist/dev/src/builtins/Microsoft/Win32/index.js.map +1 -0
- package/dist/dev/src/builtins/Microsoft/index.js +7 -0
- package/dist/dev/src/builtins/Microsoft/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Buffers/Binary/index.js +536 -0
- package/dist/dev/src/builtins/System/Buffers/Binary/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Buffers/Text/index.js +144 -0
- package/dist/dev/src/builtins/System/Buffers/Text/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Buffers/index.js +605 -0
- package/dist/dev/src/builtins/System/Buffers/index.js.map +1 -0
- package/dist/dev/src/builtins/System/CodeDom/Compiler/index.js +131 -0
- package/dist/dev/src/builtins/System/CodeDom/Compiler/index.js.map +1 -0
- package/dist/dev/src/builtins/System/CodeDom/index.js +5 -0
- package/dist/dev/src/builtins/System/CodeDom/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Collections/Concurrent/index.js +399 -0
- package/dist/dev/src/builtins/System/Collections/Concurrent/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Collections/Frozen/index.js +88 -0
- package/dist/dev/src/builtins/System/Collections/Frozen/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Collections/Generic/index.js +978 -0
- package/dist/dev/src/builtins/System/Collections/Generic/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Collections/Immutable/index.js +1049 -0
- package/dist/dev/src/builtins/System/Collections/Immutable/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Collections/ObjectModel/index.js +394 -0
- package/dist/dev/src/builtins/System/Collections/ObjectModel/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Collections/Specialized/index.js +716 -0
- package/dist/dev/src/builtins/System/Collections/Specialized/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Collections/index.js +1355 -0
- package/dist/dev/src/builtins/System/Collections/index.js.map +1 -0
- package/dist/dev/src/builtins/System/ComponentModel/DataAnnotations/Schema/index.js +143 -0
- package/dist/dev/src/builtins/System/ComponentModel/DataAnnotations/Schema/index.js.map +1 -0
- package/dist/dev/src/builtins/System/ComponentModel/DataAnnotations/index.js +1237 -0
- package/dist/dev/src/builtins/System/ComponentModel/DataAnnotations/index.js.map +1 -0
- package/dist/dev/src/builtins/System/ComponentModel/Design/Serialization/index.js +535 -0
- package/dist/dev/src/builtins/System/ComponentModel/Design/Serialization/index.js.map +1 -0
- package/dist/dev/src/builtins/System/ComponentModel/Design/index.js +2008 -0
- package/dist/dev/src/builtins/System/ComponentModel/Design/index.js.map +1 -0
- package/dist/dev/src/builtins/System/ComponentModel/index.js +6649 -0
- package/dist/dev/src/builtins/System/ComponentModel/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Configuration/Assemblies/index.js +69 -0
- package/dist/dev/src/builtins/System/Configuration/Assemblies/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Configuration/index.js +5 -0
- package/dist/dev/src/builtins/System/Configuration/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Data/Common/index.js +3279 -0
- package/dist/dev/src/builtins/System/Data/Common/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Data/SqlTypes/index.js +2655 -0
- package/dist/dev/src/builtins/System/Data/SqlTypes/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Data/index.js +4504 -0
- package/dist/dev/src/builtins/System/Data/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Diagnostics/CodeAnalysis/index.js +705 -0
- package/dist/dev/src/builtins/System/Diagnostics/CodeAnalysis/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Diagnostics/Contracts/index.js +309 -0
- package/dist/dev/src/builtins/System/Diagnostics/Contracts/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Diagnostics/Metrics/index.js +323 -0
- package/dist/dev/src/builtins/System/Diagnostics/Metrics/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Diagnostics/SymbolStore/index.js +610 -0
- package/dist/dev/src/builtins/System/Diagnostics/SymbolStore/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Diagnostics/Tracing/index.js +954 -0
- package/dist/dev/src/builtins/System/Diagnostics/Tracing/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Diagnostics/index.js +3826 -0
- package/dist/dev/src/builtins/System/Diagnostics/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Drawing/index.js +3305 -0
- package/dist/dev/src/builtins/System/Drawing/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Dynamic/index.js +795 -0
- package/dist/dev/src/builtins/System/Dynamic/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Formats/Asn1/index.js +843 -0
- package/dist/dev/src/builtins/System/Formats/Asn1/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Formats/Tar/index.js +436 -0
- package/dist/dev/src/builtins/System/Formats/Tar/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Formats/index.js +6 -0
- package/dist/dev/src/builtins/System/Formats/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Globalization/index.js +3848 -0
- package/dist/dev/src/builtins/System/Globalization/index.js.map +1 -0
- package/dist/dev/src/builtins/System/IO/Compression/index.js +894 -0
- package/dist/dev/src/builtins/System/IO/Compression/index.js.map +1 -0
- package/dist/dev/src/builtins/System/IO/Enumeration/index.js +218 -0
- package/dist/dev/src/builtins/System/IO/Enumeration/index.js.map +1 -0
- package/dist/dev/src/builtins/System/IO/IsolatedStorage/index.js +495 -0
- package/dist/dev/src/builtins/System/IO/IsolatedStorage/index.js.map +1 -0
- package/dist/dev/src/builtins/System/IO/MemoryMappedFiles/index.js +251 -0
- package/dist/dev/src/builtins/System/IO/MemoryMappedFiles/index.js.map +1 -0
- package/dist/dev/src/builtins/System/IO/Pipelines/index.js +415 -0
- package/dist/dev/src/builtins/System/IO/Pipelines/index.js.map +1 -0
- package/dist/dev/src/builtins/System/IO/Pipes/index.js +723 -0
- package/dist/dev/src/builtins/System/IO/Pipes/index.js.map +1 -0
- package/dist/dev/src/builtins/System/IO/index.js +3713 -0
- package/dist/dev/src/builtins/System/IO/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Linq/Expressions/index.js +2253 -0
- package/dist/dev/src/builtins/System/Linq/Expressions/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Linq/index.js +275 -0
- package/dist/dev/src/builtins/System/Linq/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/Cache/index.js +217 -0
- package/dist/dev/src/builtins/System/Net/Cache/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/Http/Headers/index.js +1668 -0
- package/dist/dev/src/builtins/System/Net/Http/Headers/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/Http/Json/index.js +72 -0
- package/dist/dev/src/builtins/System/Net/Http/Json/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/Http/Metrics/index.js +40 -0
- package/dist/dev/src/builtins/System/Net/Http/Metrics/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/Http/index.js +1458 -0
- package/dist/dev/src/builtins/System/Net/Http/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/Mail/index.js +871 -0
- package/dist/dev/src/builtins/System/Net/Mail/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/Mime/index.js +500 -0
- package/dist/dev/src/builtins/System/Net/Mime/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/NetworkInformation/index.js +2776 -0
- package/dist/dev/src/builtins/System/Net/NetworkInformation/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/Quic/index.js +635 -0
- package/dist/dev/src/builtins/System/Net/Quic/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/Security/index.js +1432 -0
- package/dist/dev/src/builtins/System/Net/Security/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/Sockets/index.js +3095 -0
- package/dist/dev/src/builtins/System/Net/Sockets/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/WebSockets/index.js +876 -0
- package/dist/dev/src/builtins/System/Net/WebSockets/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/index.js +5481 -0
- package/dist/dev/src/builtins/System/Net/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Numerics/index.js +3425 -0
- package/dist/dev/src/builtins/System/Numerics/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Reflection/Emit/index.js +4293 -0
- package/dist/dev/src/builtins/System/Reflection/Emit/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Reflection/Metadata/Ecma335/index.js +2218 -0
- package/dist/dev/src/builtins/System/Reflection/Metadata/Ecma335/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Reflection/Metadata/index.js +6045 -0
- package/dist/dev/src/builtins/System/Reflection/Metadata/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Reflection/PortableExecutable/index.js +2020 -0
- package/dist/dev/src/builtins/System/Reflection/PortableExecutable/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Reflection/index.js +5244 -0
- package/dist/dev/src/builtins/System/Reflection/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Resources/index.js +289 -0
- package/dist/dev/src/builtins/System/Resources/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/CompilerServices/index.js +1896 -0
- package/dist/dev/src/builtins/System/Runtime/CompilerServices/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/ConstrainedExecution/index.js +103 -0
- package/dist/dev/src/builtins/System/Runtime/ConstrainedExecution/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/ExceptionServices/index.js +62 -0
- package/dist/dev/src/builtins/System/Runtime/ExceptionServices/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/ComTypes/index.js +67 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/ComTypes/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/JavaScript/index.js +210 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/JavaScript/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/Marshalling/index.js +1012 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/Marshalling/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/ObjectiveC/index.js +79 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/ObjectiveC/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/Swift/index.js +49 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/Swift/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/index.js +3626 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Intrinsics/Arm/index.js +1297 -0
- package/dist/dev/src/builtins/System/Runtime/Intrinsics/Arm/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Intrinsics/Wasm/index.js +338 -0
- package/dist/dev/src/builtins/System/Runtime/Intrinsics/Wasm/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Intrinsics/X86/index.js +1372 -0
- package/dist/dev/src/builtins/System/Runtime/Intrinsics/X86/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Intrinsics/index.js +273 -0
- package/dist/dev/src/builtins/System/Runtime/Intrinsics/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Loader/index.js +140 -0
- package/dist/dev/src/builtins/System/Runtime/Loader/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Remoting/index.js +18 -0
- package/dist/dev/src/builtins/System/Runtime/Remoting/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Serialization/DataContracts/index.js +265 -0
- package/dist/dev/src/builtins/System/Runtime/Serialization/DataContracts/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Serialization/Formatters/Binary/index.js +61 -0
- package/dist/dev/src/builtins/System/Runtime/Serialization/Formatters/Binary/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Serialization/Formatters/index.js +83 -0
- package/dist/dev/src/builtins/System/Runtime/Serialization/Formatters/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Serialization/Json/index.js +192 -0
- package/dist/dev/src/builtins/System/Runtime/Serialization/Json/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Serialization/index.js +1611 -0
- package/dist/dev/src/builtins/System/Runtime/Serialization/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Versioning/index.js +336 -0
- package/dist/dev/src/builtins/System/Runtime/Versioning/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/index.js +245 -0
- package/dist/dev/src/builtins/System/Runtime/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Security/AccessControl/index.js +2343 -0
- package/dist/dev/src/builtins/System/Security/AccessControl/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Security/Authentication/ExtendedProtection/index.js +169 -0
- package/dist/dev/src/builtins/System/Security/Authentication/ExtendedProtection/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Security/Authentication/index.js +212 -0
- package/dist/dev/src/builtins/System/Security/Authentication/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Security/Claims/index.js +844 -0
- package/dist/dev/src/builtins/System/Security/Claims/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Security/Cryptography/X509Certificates/index.js +2633 -0
- package/dist/dev/src/builtins/System/Security/Cryptography/X509Certificates/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Security/Cryptography/index.js +6673 -0
- package/dist/dev/src/builtins/System/Security/Cryptography/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Security/Permissions/index.js +325 -0
- package/dist/dev/src/builtins/System/Security/Permissions/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Security/Policy/index.js +101 -0
- package/dist/dev/src/builtins/System/Security/Policy/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Security/Principal/index.js +1338 -0
- package/dist/dev/src/builtins/System/Security/Principal/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Security/index.js +672 -0
- package/dist/dev/src/builtins/System/Security/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Text/Encodings/Web/index.js +162 -0
- package/dist/dev/src/builtins/System/Text/Encodings/Web/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Text/Encodings/index.js +5 -0
- package/dist/dev/src/builtins/System/Text/Encodings/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Text/Json/Nodes/index.js +250 -0
- package/dist/dev/src/builtins/System/Text/Json/Nodes/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Text/Json/Schema/index.js +78 -0
- package/dist/dev/src/builtins/System/Text/Json/Schema/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Text/Json/Serialization/Metadata/index.js +328 -0
- package/dist/dev/src/builtins/System/Text/Json/Serialization/Metadata/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Text/Json/Serialization/index.js +840 -0
- package/dist/dev/src/builtins/System/Text/Json/Serialization/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Text/Json/index.js +1185 -0
- package/dist/dev/src/builtins/System/Text/Json/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Text/RegularExpressions/index.js +732 -0
- package/dist/dev/src/builtins/System/Text/RegularExpressions/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Text/Unicode/index.js +1199 -0
- package/dist/dev/src/builtins/System/Text/Unicode/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Text/index.js +1748 -0
- package/dist/dev/src/builtins/System/Text/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Threading/Channels/index.js +229 -0
- package/dist/dev/src/builtins/System/Threading/Channels/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Threading/Tasks/Dataflow/index.js +676 -0
- package/dist/dev/src/builtins/System/Threading/Tasks/Dataflow/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Threading/Tasks/Sources/index.js +117 -0
- package/dist/dev/src/builtins/System/Threading/Tasks/Sources/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Threading/Tasks/index.js +721 -0
- package/dist/dev/src/builtins/System/Threading/Tasks/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Threading/index.js +2292 -0
- package/dist/dev/src/builtins/System/Threading/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Timers/index.js +129 -0
- package/dist/dev/src/builtins/System/Timers/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Transactions/index.js +727 -0
- package/dist/dev/src/builtins/System/Transactions/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Web/index.js +84 -0
- package/dist/dev/src/builtins/System/Web/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Windows/Input/index.js +18 -0
- package/dist/dev/src/builtins/System/Windows/Input/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Windows/Markup/index.js +28 -0
- package/dist/dev/src/builtins/System/Windows/Markup/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Windows/index.js +6 -0
- package/dist/dev/src/builtins/System/Windows/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Xml/Linq/index.js +1086 -0
- package/dist/dev/src/builtins/System/Xml/Linq/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Xml/Resolvers/index.js +86 -0
- package/dist/dev/src/builtins/System/Xml/Resolvers/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Xml/Schema/index.js +2993 -0
- package/dist/dev/src/builtins/System/Xml/Schema/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Xml/Serialization/index.js +2356 -0
- package/dist/dev/src/builtins/System/Xml/Serialization/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Xml/XPath/index.js +917 -0
- package/dist/dev/src/builtins/System/Xml/XPath/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Xml/Xsl/index.js +315 -0
- package/dist/dev/src/builtins/System/Xml/Xsl/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Xml/index.js +5736 -0
- package/dist/dev/src/builtins/System/Xml/index.js.map +1 -0
- package/dist/dev/src/builtins/System/index.js +14587 -0
- package/dist/dev/src/builtins/System/index.js.map +1 -0
- package/dist/dev/src/builtins/index.js +3 -0
- package/dist/dev/src/builtins/index.js.map +1 -0
- package/dist/dev/src/components/Declaration.js +9 -0
- package/dist/dev/src/components/Declaration.js.map +1 -0
- package/dist/dev/src/components/Name.js +12 -0
- package/dist/dev/src/components/Name.js.map +1 -0
- package/dist/dev/src/components/Reference.js +13 -0
- package/dist/dev/src/components/Reference.js.map +1 -0
- package/dist/dev/src/components/access-expression/access-expression.js +288 -0
- package/dist/dev/src/components/access-expression/access-expression.js.map +1 -0
- package/dist/dev/src/components/access-expression/access-expression.test.js +608 -0
- package/dist/dev/src/components/access-expression/access-expression.test.js.map +1 -0
- package/dist/dev/src/components/access-expression/part-descriptors.js +14 -0
- package/dist/dev/src/components/access-expression/part-descriptors.js.map +1 -0
- package/dist/dev/src/components/attributes/attributes.js +113 -0
- package/dist/dev/src/components/attributes/attributes.js.map +1 -0
- package/dist/dev/src/components/attributes/attributes.test.js +201 -0
- package/dist/dev/src/components/attributes/attributes.test.js.map +1 -0
- package/dist/dev/src/components/class/declaration.js +123 -0
- package/dist/dev/src/components/class/declaration.js.map +1 -0
- package/dist/dev/src/components/class/declaration.test.js +893 -0
- package/dist/dev/src/components/class/declaration.test.js.map +1 -0
- package/dist/dev/src/components/constructor/constructor.js +129 -0
- package/dist/dev/src/components/constructor/constructor.js.map +1 -0
- package/dist/dev/src/components/constructor/constructor.test.js +228 -0
- package/dist/dev/src/components/constructor/constructor.test.js.map +1 -0
- package/dist/dev/src/components/csproj-file/csproj-file.js +32 -0
- package/dist/dev/src/components/csproj-file/csproj-file.js.map +1 -0
- package/dist/dev/src/components/csproj-file/csproj-file.test.js +70 -0
- package/dist/dev/src/components/csproj-file/csproj-file.test.js.map +1 -0
- package/dist/dev/src/components/doc/comment.js +129 -0
- package/dist/dev/src/components/doc/comment.js.map +1 -0
- package/dist/dev/src/components/doc/comment.test.js +577 -0
- package/dist/dev/src/components/doc/comment.test.js.map +1 -0
- package/dist/dev/src/components/doc/from-markdown.js +83 -0
- package/dist/dev/src/components/doc/from-markdown.js.map +1 -0
- package/dist/dev/src/components/doc/from-markdown.test.js +112 -0
- package/dist/dev/src/components/doc/from-markdown.test.js.map +1 -0
- package/dist/dev/src/components/enum/declaration.js +80 -0
- package/dist/dev/src/components/enum/declaration.js.map +1 -0
- package/dist/dev/src/components/enum/declaration.ref.test.js +221 -0
- package/dist/dev/src/components/enum/declaration.ref.test.js.map +1 -0
- package/dist/dev/src/components/enum/declaration.test.js +122 -0
- package/dist/dev/src/components/enum/declaration.test.js.map +1 -0
- package/dist/dev/src/components/enum/member.js +47 -0
- package/dist/dev/src/components/enum/member.js.map +1 -0
- package/dist/dev/src/components/enum/member.test.js +126 -0
- package/dist/dev/src/components/enum/member.test.js.map +1 -0
- package/dist/dev/src/components/field/field.js +43 -0
- package/dist/dev/src/components/field/field.js.map +1 -0
- package/dist/dev/src/components/field/field.test.js +242 -0
- package/dist/dev/src/components/field/field.test.js.map +1 -0
- package/dist/dev/src/components/if/if-statement.js +56 -0
- package/dist/dev/src/components/if/if-statement.js.map +1 -0
- package/dist/dev/src/components/if/if-statement.test.js +41 -0
- package/dist/dev/src/components/if/if-statement.test.js.map +1 -0
- package/dist/dev/src/components/index.js +31 -0
- package/dist/dev/src/components/index.js.map +1 -0
- package/dist/dev/src/components/interface/declaration.js +114 -0
- package/dist/dev/src/components/interface/declaration.js.map +1 -0
- package/dist/dev/src/components/interface/declaration.test.js +264 -0
- package/dist/dev/src/components/interface/declaration.test.js.map +1 -0
- package/dist/dev/src/components/interface/method.js +100 -0
- package/dist/dev/src/components/interface/method.js.map +1 -0
- package/dist/dev/src/components/interface/method.test.js +432 -0
- package/dist/dev/src/components/interface/method.test.js.map +1 -0
- package/dist/dev/src/components/interface/property.js +80 -0
- package/dist/dev/src/components/interface/property.js.map +1 -0
- package/dist/dev/src/components/interface/property.test.js +305 -0
- package/dist/dev/src/components/interface/property.test.js.map +1 -0
- package/dist/dev/src/components/invocation-expression/invocation-expression.js +94 -0
- package/dist/dev/src/components/invocation-expression/invocation-expression.js.map +1 -0
- package/dist/dev/src/components/invocation-expression/invocation-expression.test.js +153 -0
- package/dist/dev/src/components/invocation-expression/invocation-expression.test.js.map +1 -0
- package/dist/dev/src/components/lexical-scope.js +30 -0
- package/dist/dev/src/components/lexical-scope.js.map +1 -0
- package/dist/dev/src/components/method/method.js +134 -0
- package/dist/dev/src/components/method/method.js.map +1 -0
- package/dist/dev/src/components/method/method.test.js +422 -0
- package/dist/dev/src/components/method/method.test.js.map +1 -0
- package/dist/dev/src/components/method-scope.js +30 -0
- package/dist/dev/src/components/method-scope.js.map +1 -0
- package/dist/dev/src/components/namespace/namespace-name.js +20 -0
- package/dist/dev/src/components/namespace/namespace-name.js.map +1 -0
- package/dist/dev/src/components/namespace/namespace.js +61 -0
- package/dist/dev/src/components/namespace/namespace.js.map +1 -0
- package/dist/dev/src/components/namespace/namespace.test.js +419 -0
- package/dist/dev/src/components/namespace/namespace.test.js.map +1 -0
- package/dist/dev/src/components/namespace-scopes.js +68 -0
- package/dist/dev/src/components/namespace-scopes.js.map +1 -0
- package/dist/dev/src/components/namespace.ref.test.js +431 -0
- package/dist/dev/src/components/namespace.ref.test.js.map +1 -0
- package/dist/dev/src/components/parameters/parameters.js +96 -0
- package/dist/dev/src/components/parameters/parameters.js.map +1 -0
- package/dist/dev/src/components/parameters/parameters.test.js +317 -0
- package/dist/dev/src/components/parameters/parameters.test.js.map +1 -0
- package/dist/dev/src/components/property/property.js +192 -0
- package/dist/dev/src/components/property/property.js.map +1 -0
- package/dist/dev/src/components/property/property.test.js +535 -0
- package/dist/dev/src/components/property/property.test.js.map +1 -0
- package/dist/dev/src/components/record/declaration.js +132 -0
- package/dist/dev/src/components/record/declaration.js.map +1 -0
- package/dist/dev/src/components/record/declaration.test.js +231 -0
- package/dist/dev/src/components/record/declaration.test.js.map +1 -0
- package/dist/dev/src/components/region/region.js +14 -0
- package/dist/dev/src/components/region/region.js.map +1 -0
- package/dist/dev/src/components/region/region.test.js +39 -0
- package/dist/dev/src/components/region/region.test.js.map +1 -0
- package/dist/dev/src/components/source-file/source-file.js +164 -0
- package/dist/dev/src/components/source-file/source-file.js.map +1 -0
- package/dist/dev/src/components/source-file/source-file.test.js +271 -0
- package/dist/dev/src/components/source-file/source-file.test.js.map +1 -0
- package/dist/dev/src/components/source-file/using.test.js +201 -0
- package/dist/dev/src/components/source-file/using.test.js.map +1 -0
- package/dist/dev/src/components/stc/index.js +13 -0
- package/dist/dev/src/components/stc/index.js.map +1 -0
- package/dist/dev/src/components/struct/declaration.js +113 -0
- package/dist/dev/src/components/struct/declaration.js.map +1 -0
- package/dist/dev/src/components/struct/declaration.test.js +400 -0
- package/dist/dev/src/components/struct/declaration.test.js.map +1 -0
- package/dist/dev/src/components/type-parameters/type-parameter-constraints.js +73 -0
- package/dist/dev/src/components/type-parameters/type-parameter-constraints.js.map +1 -0
- package/dist/dev/src/components/type-parameters/type-parameter-constraints.test.js +92 -0
- package/dist/dev/src/components/type-parameters/type-parameter-constraints.test.js.map +1 -0
- package/dist/dev/src/components/type-parameters/type-parameter.js +28 -0
- package/dist/dev/src/components/type-parameters/type-parameter.js.map +1 -0
- package/dist/dev/src/components/type-parameters/type-parameters.js +71 -0
- package/dist/dev/src/components/type-parameters/type-parameters.js.map +1 -0
- package/dist/dev/src/components/type-parameters/type-parameters.test.js +103 -0
- package/dist/dev/src/components/type-parameters/type-parameters.test.js.map +1 -0
- package/dist/dev/src/components/using/using.js +45 -0
- package/dist/dev/src/components/using/using.js.map +1 -0
- package/dist/dev/src/components/using/using.test.js +27 -0
- package/dist/dev/src/components/using/using.test.js.map +1 -0
- package/dist/dev/src/components/var/declaration.js +72 -0
- package/dist/dev/src/components/var/declaration.js.map +1 -0
- package/dist/dev/src/components/var/declaration.test.js +167 -0
- package/dist/dev/src/components/var/declaration.test.js.map +1 -0
- package/dist/dev/src/contexts/format-options.js +9 -0
- package/dist/dev/src/contexts/format-options.js.map +1 -0
- package/dist/dev/src/contexts/global-namespace.js +30 -0
- package/dist/dev/src/contexts/global-namespace.js.map +1 -0
- package/dist/dev/src/contexts/namespace.js +6 -0
- package/dist/dev/src/contexts/namespace.js.map +1 -0
- package/dist/dev/src/contexts/reference-context.js +15 -0
- package/dist/dev/src/contexts/reference-context.js.map +1 -0
- package/dist/dev/src/create-library.js +136 -0
- package/dist/dev/src/create-library.js.map +1 -0
- package/dist/dev/src/create-library.test.js +289 -0
- package/dist/dev/src/create-library.test.js.map +1 -0
- package/dist/dev/src/identifier-utils.js +45 -0
- package/dist/dev/src/identifier-utils.js.map +1 -0
- package/dist/dev/src/index.js +11 -0
- package/dist/dev/src/index.js.map +1 -0
- package/dist/dev/src/keywords.js +39 -0
- package/dist/dev/src/keywords.js.map +1 -0
- package/dist/dev/src/modifiers.js +21 -0
- package/dist/dev/src/modifiers.js.map +1 -0
- package/dist/dev/src/name-policy.js +59 -0
- package/dist/dev/src/name-policy.js.map +1 -0
- package/dist/dev/src/name-policy.test.js +167 -0
- package/dist/dev/src/name-policy.test.js.map +1 -0
- package/dist/dev/src/scopes/class.js +11 -0
- package/dist/dev/src/scopes/class.js.map +1 -0
- package/dist/dev/src/scopes/contexts.js +34 -0
- package/dist/dev/src/scopes/contexts.js.map +1 -0
- package/dist/dev/src/scopes/csharp.js +25 -0
- package/dist/dev/src/scopes/csharp.js.map +1 -0
- package/dist/dev/src/scopes/factories.js +25 -0
- package/dist/dev/src/scopes/factories.js.map +1 -0
- package/dist/dev/src/scopes/index.js +10 -0
- package/dist/dev/src/scopes/index.js.map +1 -0
- package/dist/dev/src/scopes/lexical.js +8 -0
- package/dist/dev/src/scopes/lexical.js.map +1 -0
- package/dist/dev/src/scopes/method.js +14 -0
- package/dist/dev/src/scopes/method.js.map +1 -0
- package/dist/dev/src/scopes/named-type.js +33 -0
- package/dist/dev/src/scopes/named-type.js.map +1 -0
- package/dist/dev/src/scopes/namespace.js +39 -0
- package/dist/dev/src/scopes/namespace.js.map +1 -0
- package/dist/dev/src/scopes/source-file.js +44 -0
- package/dist/dev/src/scopes/source-file.js.map +1 -0
- package/dist/dev/src/symbols/csharp.js +263 -0
- package/dist/dev/src/symbols/csharp.js.map +1 -0
- package/dist/dev/src/symbols/factories.js +145 -0
- package/dist/dev/src/symbols/factories.js.map +1 -0
- package/dist/dev/src/symbols/index.js +7 -0
- package/dist/dev/src/symbols/index.js.map +1 -0
- package/dist/dev/src/symbols/method.js +16 -0
- package/dist/dev/src/symbols/method.js.map +1 -0
- package/dist/dev/src/symbols/named-type.js +42 -0
- package/dist/dev/src/symbols/named-type.js.map +1 -0
- package/dist/dev/src/symbols/namespace.js +55 -0
- package/dist/dev/src/symbols/namespace.js.map +1 -0
- package/dist/dev/src/symbols/reference.js +79 -0
- package/dist/dev/src/symbols/reference.js.map +1 -0
- package/dist/dev/test/utils.js +111 -0
- package/dist/dev/test/utils.js.map +1 -0
- package/dist/dev/test/vitest.setup.js +2 -0
- package/dist/dev/test/vitest.setup.js.map +1 -0
- package/dist/dev/testing/create-wrapper.js +13 -0
- package/dist/dev/testing/create-wrapper.js.map +1 -0
- package/dist/dev/testing/create-wrapper.test.js +300 -0
- package/dist/dev/testing/create-wrapper.test.js.map +1 -0
- package/dist/dev/testing/index.js +2 -0
- package/dist/dev/testing/index.js.map +1 -0
- package/dist/src/components/access-expression/access-expression.d.ts +7 -2
- package/dist/src/components/access-expression/access-expression.d.ts.map +1 -1
- package/dist/src/components/access-expression/access-expression.js +108 -197
- package/dist/src/components/access-expression/access-expression.js.map +1 -1
- package/dist/src/components/access-expression/part-descriptors.d.ts +0 -31
- package/dist/src/components/access-expression/part-descriptors.d.ts.map +1 -1
- package/dist/src/components/access-expression/part-descriptors.js +0 -105
- package/dist/src/components/access-expression/part-descriptors.js.map +1 -1
- package/dist/src/components/constructor/constructor.d.ts +34 -0
- package/dist/src/components/constructor/constructor.d.ts.map +1 -1
- package/dist/src/components/constructor/constructor.js +41 -4
- package/dist/src/components/constructor/constructor.js.map +1 -1
- package/dist/src/components/constructor/constructor.test.js +114 -0
- package/dist/src/components/constructor/constructor.test.js.map +1 -1
- package/dist/src/components/doc/from-markdown.js +1 -1
- package/dist/src/components/doc/from-markdown.js.map +1 -1
- package/dist/src/components/enum/declaration.d.ts +2 -0
- package/dist/src/components/enum/declaration.d.ts.map +1 -1
- package/dist/src/components/enum/declaration.js +6 -1
- package/dist/src/components/enum/declaration.js.map +1 -1
- package/dist/src/components/enum/declaration.test.js +24 -0
- package/dist/src/components/enum/declaration.test.js.map +1 -1
- package/dist/src/components/enum/member.d.ts +4 -2
- package/dist/src/components/enum/member.d.ts.map +1 -1
- package/dist/src/components/enum/member.js +8 -3
- package/dist/src/components/enum/member.js.map +1 -1
- package/dist/src/components/enum/member.test.js +26 -0
- package/dist/src/components/enum/member.test.js.map +1 -1
- package/dist/src/components/lexical-scope.d.ts.map +1 -1
- package/dist/src/components/lexical-scope.js +4 -3
- package/dist/src/components/lexical-scope.js.map +1 -1
- package/dist/src/components/method/method.test.js +48 -0
- package/dist/src/components/method/method.test.js.map +1 -1
- package/dist/src/components/method-scope.d.ts.map +1 -1
- package/dist/src/components/method-scope.js +4 -3
- package/dist/src/components/method-scope.js.map +1 -1
- package/dist/src/components/namespace/namespace.d.ts.map +1 -1
- package/dist/src/components/namespace/namespace.js +13 -14
- package/dist/src/components/namespace/namespace.js.map +1 -1
- package/dist/src/components/namespace/namespace.test.js +66 -4
- package/dist/src/components/namespace/namespace.test.js.map +1 -1
- package/dist/src/components/namespace-scopes.d.ts +16 -0
- package/dist/src/components/namespace-scopes.d.ts.map +1 -1
- package/dist/src/components/namespace-scopes.js +8 -1
- package/dist/src/components/namespace-scopes.js.map +1 -1
- package/dist/src/components/namespace.ref.test.js +62 -9
- package/dist/src/components/namespace.ref.test.js.map +1 -1
- package/dist/src/components/property/property.d.ts +42 -4
- package/dist/src/components/property/property.d.ts.map +1 -1
- package/dist/src/components/property/property.js +64 -11
- package/dist/src/components/property/property.js.map +1 -1
- package/dist/src/components/property/property.test.js +104 -0
- package/dist/src/components/property/property.test.js.map +1 -1
- package/dist/src/components/source-file/source-file.d.ts.map +1 -1
- package/dist/src/components/source-file/source-file.js +9 -5
- package/dist/src/components/source-file/source-file.js.map +1 -1
- package/dist/src/contexts/global-namespace.d.ts.map +1 -1
- package/dist/src/contexts/global-namespace.js +4 -4
- package/dist/src/contexts/global-namespace.js.map +1 -1
- package/dist/src/create-library.d.ts.map +1 -1
- package/dist/src/create-library.js +7 -7
- package/dist/src/create-library.js.map +1 -1
- package/dist/src/identifier-utils.d.ts +22 -0
- package/dist/src/identifier-utils.d.ts.map +1 -0
- package/dist/src/identifier-utils.js +45 -0
- package/dist/src/identifier-utils.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/keywords.d.ts +32 -0
- package/dist/src/keywords.d.ts.map +1 -0
- package/dist/src/keywords.js +39 -0
- package/dist/src/keywords.js.map +1 -0
- package/dist/src/name-policy.d.ts +7 -0
- package/dist/src/name-policy.d.ts.map +1 -1
- package/dist/src/name-policy.js +29 -6
- package/dist/src/name-policy.js.map +1 -1
- package/dist/src/name-policy.test.d.ts +2 -0
- package/dist/src/name-policy.test.d.ts.map +1 -0
- package/dist/src/name-policy.test.js +167 -0
- package/dist/src/name-policy.test.js.map +1 -0
- package/dist/src/scopes/csharp.d.ts +1 -0
- package/dist/src/scopes/csharp.d.ts.map +1 -1
- package/dist/src/scopes/csharp.js +10 -0
- package/dist/src/scopes/csharp.js.map +1 -1
- package/dist/src/scopes/factories.d.ts.map +1 -1
- package/dist/src/scopes/factories.js +4 -3
- package/dist/src/scopes/factories.js.map +1 -1
- package/dist/src/scopes/namespace.js +2 -2
- package/dist/src/scopes/namespace.js.map +1 -1
- package/dist/src/symbols/csharp.d.ts +1 -0
- package/dist/src/symbols/csharp.d.ts.map +1 -1
- package/dist/src/symbols/csharp.js +19 -2
- package/dist/src/symbols/csharp.js.map +1 -1
- package/dist/src/symbols/factories.d.ts.map +1 -1
- package/dist/src/symbols/factories.js +42 -10
- package/dist/src/symbols/factories.js.map +1 -1
- package/dist/src/symbols/named-type.d.ts +1 -0
- package/dist/src/symbols/named-type.d.ts.map +1 -1
- package/dist/src/symbols/named-type.js +12 -1
- package/dist/src/symbols/named-type.js.map +1 -1
- package/dist/src/symbols/namespace.d.ts +1 -0
- package/dist/src/symbols/namespace.d.ts.map +1 -1
- package/dist/src/symbols/namespace.js +11 -1
- package/dist/src/symbols/namespace.js.map +1 -1
- package/dist/testing/create-wrapper.d.ts.map +1 -1
- package/dist/testing/create-wrapper.js +2 -1
- package/dist/testing/create-wrapper.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/docs/api/components/AttributeList.md +34 -0
- package/docs/api/components/ClassDeclaration.md +104 -0
- package/docs/api/components/Constructor.md +61 -0
- package/docs/api/components/CsprojFile.md +34 -0
- package/docs/api/components/Declaration.md +32 -0
- package/docs/api/components/DocC.md +27 -0
- package/docs/api/components/DocCode.md +27 -0
- package/docs/api/components/DocComment.md +27 -0
- package/docs/api/components/DocDescription.md +27 -0
- package/docs/api/components/DocExample.md +27 -0
- package/docs/api/components/DocException.md +27 -0
- package/docs/api/components/DocFromMarkdown.md +27 -0
- package/docs/api/components/DocInclude.md +26 -0
- package/docs/api/components/DocList.md +26 -0
- package/docs/api/components/DocPara.md +27 -0
- package/docs/api/components/DocParam.md +28 -0
- package/docs/api/components/DocParamRef.md +25 -0
- package/docs/api/components/DocPermission.md +27 -0
- package/docs/api/components/DocRemarks.md +27 -0
- package/docs/api/components/DocReturns.md +27 -0
- package/docs/api/components/DocSee.md +30 -0
- package/docs/api/components/DocSeeAlso.md +29 -0
- package/docs/api/components/DocSummary.md +27 -0
- package/docs/api/components/DocTypeParam.md +28 -0
- package/docs/api/components/DocTypeParamRef.md +25 -0
- package/docs/api/components/DocValue.md +27 -0
- package/docs/api/components/DocWhen.md +27 -0
- package/docs/api/components/ElseClause.md +29 -0
- package/docs/api/components/ElseIfClause.md +30 -0
- package/docs/api/components/EnumDeclaration.md +76 -0
- package/docs/api/components/EnumMember.md +31 -0
- package/docs/api/components/Field.md +67 -0
- package/docs/api/components/IfStatement.md +30 -0
- package/docs/api/components/InterfaceDeclaration.md +82 -0
- package/docs/api/components/InterfaceMethod.md +68 -0
- package/docs/api/components/InterfaceProperty.md +78 -0
- package/docs/api/components/InvocationExpression.md +49 -0
- package/docs/api/components/LexicalScope.md +65 -0
- package/docs/api/components/Method.md +92 -0
- package/docs/api/components/MethodScope.md +65 -0
- package/docs/api/components/Name.md +19 -0
- package/docs/api/components/Namespace.md +35 -0
- package/docs/api/components/Parameter.md +58 -0
- package/docs/api/components/Parameters_2.md +27 -0
- package/docs/api/components/Property.md +110 -0
- package/docs/api/components/RecordDeclaration.md +84 -0
- package/docs/api/components/Reference.md +25 -0
- package/docs/api/components/Region.md +28 -0
- package/docs/api/components/SourceFile.md +45 -0
- package/docs/api/components/StructDeclaration.md +94 -0
- package/docs/api/components/UsingNamespaceDirective.md +25 -0
- package/docs/api/components/Usings.md +40 -0
- package/docs/api/components/VarDeclaration.md +74 -0
- package/docs/api/components/index.md +55 -0
- package/docs/api/contexts/csharp-context.md +21 -0
- package/docs/api/contexts/index.md +3 -0
- package/docs/api/functions/access.md +35 -0
- package/docs/api/functions/accessibilityFromProps.md +18 -0
- package/docs/api/functions/computeModifiersPrefix.md +20 -0
- package/docs/api/functions/createCSharpNamePolicy.md +21 -0
- package/docs/api/functions/createCSharpNamespaceScope.md +18 -0
- package/docs/api/functions/createClassScope.md +27 -0
- package/docs/api/functions/createFieldSymbol.md +43 -0
- package/docs/api/functions/createLibrary.md +19 -0
- package/docs/api/functions/createMethodScope.md +26 -0
- package/docs/api/functions/createMethodSymbol.md +34 -0
- package/docs/api/functions/createNamedTypeScope.md +27 -0
- package/docs/api/functions/createNamedTypeSymbol.md +35 -0
- package/docs/api/functions/createNamespaceSymbol.md +43 -0
- package/docs/api/functions/createParameterSymbol.md +45 -0
- package/docs/api/functions/createPropertySymbol.md +43 -0
- package/docs/api/functions/createTypeParameterSymbol.md +34 -0
- package/docs/api/functions/createVariableSymbol.md +43 -0
- package/docs/api/functions/getAccessModifier.md +18 -0
- package/docs/api/functions/getAsyncModifier.md +18 -0
- package/docs/api/functions/index.md +37 -0
- package/docs/api/functions/isCSharpContextualKeyword.md +20 -0
- package/docs/api/functions/isCSharpKeyword.md +22 -0
- package/docs/api/functions/isValidCSharpIdentifier.md +20 -0
- package/docs/api/functions/makeModifiers.md +18 -0
- package/docs/api/functions/nonAccessibilityFromProps.md +18 -0
- package/docs/api/functions/ref.md +18 -0
- package/docs/api/functions/sanitizeCSharpIdentifier.md +24 -0
- package/docs/api/functions/useCSharpNamePolicy.md +17 -0
- package/docs/api/functions/useCSharpScope.md +17 -0
- package/docs/api/functions/useCsharpFormatOptions.md +18 -0
- package/docs/api/functions/useEnclosingNamespaceScope.md +17 -0
- package/docs/api/functions/useLexicalScope.md +17 -0
- package/docs/api/functions/useMethodScope.md +17 -0
- package/docs/api/functions/useNamedTypeScope.md +17 -0
- package/docs/api/functions/useNamespace.md +17 -0
- package/docs/api/functions/useSourceFileScope.md +17 -0
- package/docs/api/index.md +7 -0
- package/docs/api/types/AccessExpressionBuilder.md +11 -0
- package/docs/api/types/AccessExpressionPartProps.md +17 -0
- package/docs/api/types/AccessModifiers.md +13 -0
- package/docs/api/types/AttributeProps.md +8 -0
- package/docs/api/types/AttributesProp.md +5 -0
- package/docs/api/types/CSharpClassScope.md +9 -0
- package/docs/api/types/CSharpElements.md +5 -0
- package/docs/api/types/CSharpFormatOptions.md +5 -0
- package/docs/api/types/CSharpLexicalScope.md +10 -0
- package/docs/api/types/CSharpMethodScope.md +12 -0
- package/docs/api/types/CSharpNamedTypeScope.md +16 -0
- package/docs/api/types/CSharpNamespaceScope.md +10 -0
- package/docs/api/types/CSharpProjectSdk.md +5 -0
- package/docs/api/types/CSharpScope.md +12 -0
- package/docs/api/types/CSharpSourceFileScope.md +13 -0
- package/docs/api/types/CSharpSymbol.md +30 -0
- package/docs/api/types/CSharpSymbolKinds.md +5 -0
- package/docs/api/types/CSharpSymbolOptions.md +17 -0
- package/docs/api/types/ClassDescriptor.md +9 -0
- package/docs/api/types/ClassModifiers.md +10 -0
- package/docs/api/types/CreateMethodSymbolOptions.md +9 -0
- package/docs/api/types/CreateTypeParameterSymbolOptions.md +9 -0
- package/docs/api/types/DeclarationModifiers.md +8 -0
- package/docs/api/types/DeclaredAccessibility.md +5 -0
- package/docs/api/types/Descriptor.md +5 -0
- package/docs/api/types/DocCommentTagProps.md +7 -0
- package/docs/api/types/EnumDescriptor.md +9 -0
- package/docs/api/types/FieldDescriptor.md +9 -0
- package/docs/api/types/FieldModifiers.md +12 -0
- package/docs/api/types/GenericDescriptor.md +7 -0
- package/docs/api/types/InterfaceDescriptor.md +9 -0
- package/docs/api/types/InterfaceMethodModifiers.md +9 -0
- package/docs/api/types/InterfaceModifiers.md +7 -0
- package/docs/api/types/InterfacePropertyModifiers.md +9 -0
- package/docs/api/types/LexicalScopeProps.md +5 -0
- package/docs/api/types/LibraryFrom.md +7 -0
- package/docs/api/types/MemberDescriptor.md +16 -0
- package/docs/api/types/MethodDescriptor.md +10 -0
- package/docs/api/types/MethodKinds.md +5 -0
- package/docs/api/types/MethodModifiers.md +15 -0
- package/docs/api/types/MethodScopeProps.md +5 -0
- package/docs/api/types/MethodSymbol.md +13 -0
- package/docs/api/types/NamedTypeDescriptor.md +11 -0
- package/docs/api/types/NamedTypeSymbol.md +17 -0
- package/docs/api/types/NamedTypeSymbolKind.md +5 -0
- package/docs/api/types/NamedTypeTypeKind.md +5 -0
- package/docs/api/types/NamespaceDescriptor.md +8 -0
- package/docs/api/types/NamespaceSymbol.md +16 -0
- package/docs/api/types/NamespaceSymbolOptions.md +9 -0
- package/docs/api/types/NonAccessModifiers.md +13 -0
- package/docs/api/types/PropertyDescriptor_2.md +9 -0
- package/docs/api/types/PropertyModifiers.md +17 -0
- package/docs/api/types/RecordDescriptor.md +9 -0
- package/docs/api/types/RecordModifiers.md +7 -0
- package/docs/api/types/ResolveDescriptor.md +7 -0
- package/docs/api/types/StructDescriptor.md +9 -0
- package/docs/api/types/StructModifiers.md +10 -0
- package/docs/api/types/TypeParameterProps.md +11 -0
- package/docs/api/types/VarModifiers.md +8 -0
- package/docs/api/types/index.md +62 -0
- package/docs/api/variables/Attribute.md +21 -0
- package/docs/api/variables/csharpKeywords.md +11 -0
- package/docs/api/variables/index.md +4 -0
- package/package.json +19 -8
- package/src/components/access-expression/access-expression.tsx +146 -243
- package/src/components/access-expression/part-descriptors.ts +0 -186
- package/src/components/constructor/constructor.test.tsx +91 -0
- package/src/components/constructor/constructor.tsx +86 -1
- package/src/components/doc/from-markdown.tsx +4 -1
- package/src/components/enum/declaration.test.tsx +20 -0
- package/src/components/enum/declaration.tsx +4 -0
- package/src/components/enum/member.test.tsx +21 -0
- package/src/components/enum/member.tsx +21 -5
- package/src/components/lexical-scope.tsx +15 -4
- package/src/components/method/method.test.tsx +36 -0
- package/src/components/method-scope.tsx +15 -4
- package/src/components/namespace/namespace.test.tsx +47 -3
- package/src/components/namespace/namespace.tsx +17 -9
- package/src/components/namespace-scopes.tsx +25 -1
- package/src/components/namespace.ref.test.tsx +50 -9
- package/src/components/property/property.test.tsx +89 -0
- package/src/components/property/property.tsx +111 -16
- package/src/components/source-file/source-file.tsx +12 -6
- package/src/contexts/global-namespace.ts +11 -6
- package/src/create-library.ts +18 -9
- package/src/identifier-utils.ts +45 -0
- package/src/index.ts +2 -0
- package/src/keywords.ts +162 -0
- package/src/name-policy.test.ts +210 -0
- package/src/name-policy.ts +30 -6
- package/src/scopes/csharp.ts +11 -0
- package/src/scopes/factories.ts +4 -4
- package/src/scopes/namespace.ts +2 -2
- package/src/symbols/csharp.ts +20 -1
- package/src/symbols/factories.ts +46 -34
- package/src/symbols/named-type.ts +15 -3
- package/src/symbols/namespace.ts +12 -2
- package/temp/api.json +546 -249
- package/testing/create-wrapper.tsx +2 -1
- package/vitest.config.ts +8 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createSymbol","namekey","refkey","REFKEYABLE","TO_SYMBOL","useBinder","getGlobalNamespace","MethodSymbol","CSharpSymbol","NamedTypeSymbol","NamespaceSymbol","createLibrary","rootNs","props","ownerSymbolPerBinder","WeakMap","namespaceNames","split","createSymbolEntry","at","kind","members","ownerSymbol","binder","mapGet","name","slice","symbolNames","has","get","refkeys","descriptor","context","symbols","getSymbol","createSymbolFromDescriptor","initializeMembers","newContext","key","Object","keys","obj","memberName","memberDesc","entries","lazyMemberInitializer","methodKind","type","undefined","isNullable","defaultsPerMap","map","init","value","set"],"sources":["../../../src/create-library.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
import { createComponent as _$createComponent, createIntrinsic as _$createIntrinsic, memo as _$memo } from "@alloy-js/core/jsx-runtime";
|
|
2
|
+
import { VarDeclaration } from "#components/index.js";
|
|
3
|
+
import { InvocationExpression } from "#components/invocation-expression/invocation-expression.js";
|
|
4
|
+
import { TestNamespace } from "#test/utils.js";
|
|
5
|
+
import { List, memberRefkey, namekey, toRefkey } from "@alloy-js/core";
|
|
6
|
+
import { beforeEach, expect, it } from "vitest";
|
|
7
|
+
import { IO } from "./builtins/System/index.js";
|
|
8
|
+
import { getGlobalNamespace, resetGlobalNamespace } from "./contexts/global-namespace.js";
|
|
9
|
+
import { createLibrary } from "./create-library.js";
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
resetGlobalNamespace();
|
|
12
|
+
});
|
|
13
|
+
it("Creates symbols on demand", () => {
|
|
14
|
+
const System = createLibrary("System", {
|
|
15
|
+
String: {
|
|
16
|
+
kind: "class",
|
|
17
|
+
members: {
|
|
18
|
+
Special: {
|
|
19
|
+
kind: "class",
|
|
20
|
+
members: {
|
|
21
|
+
BeSpecial: {
|
|
22
|
+
kind: "field"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
Substring: {
|
|
27
|
+
kind: "method"
|
|
28
|
+
},
|
|
29
|
+
Length: {
|
|
30
|
+
kind: "field"
|
|
31
|
+
},
|
|
32
|
+
Empty: {
|
|
33
|
+
kind: "field",
|
|
34
|
+
isStatic: true
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
const globalNamespace = getGlobalNamespace(undefined);
|
|
40
|
+
const systemNs = globalNamespace.members.symbolNames.get("System");
|
|
41
|
+
expect(systemNs).toBeUndefined();
|
|
42
|
+
const _ = toRefkey(System);
|
|
43
|
+
const systemNs2 = globalNamespace.members.symbolNames.get("System");
|
|
44
|
+
expect(systemNs2).toBeDefined();
|
|
45
|
+
});
|
|
46
|
+
it("Can reference types which haven't been created yet", () => {
|
|
47
|
+
const System = createLibrary("System", {
|
|
48
|
+
String: {
|
|
49
|
+
kind: "class",
|
|
50
|
+
members: {
|
|
51
|
+
Special: {
|
|
52
|
+
kind: "property",
|
|
53
|
+
type: () => SomeNs.SomeType
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
const SomeNs = createLibrary("SomeNs", {
|
|
59
|
+
SomeType: {
|
|
60
|
+
kind: "class",
|
|
61
|
+
members: {}
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
const globalNamespace = getGlobalNamespace(undefined);
|
|
65
|
+
const _ = toRefkey(System.String.Special);
|
|
66
|
+
const systemNs2 = globalNamespace.members.symbolNames.get("System");
|
|
67
|
+
expect(systemNs2).toBeDefined();
|
|
68
|
+
const someNs = globalNamespace.members.symbolNames.get("SomeNs");
|
|
69
|
+
expect(someNs).toBeDefined();
|
|
70
|
+
});
|
|
71
|
+
it("Works with nested namespaces", () => {
|
|
72
|
+
const IO = createLibrary("System.IO", {
|
|
73
|
+
BinaryReader: {
|
|
74
|
+
kind: "class",
|
|
75
|
+
members: {}
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
const globalNamespace = getGlobalNamespace(undefined);
|
|
79
|
+
const systemNs = globalNamespace.members.symbolNames.get("System");
|
|
80
|
+
expect(systemNs).toBeUndefined();
|
|
81
|
+
const _ = toRefkey(IO.BinaryReader);
|
|
82
|
+
const systemNs2 = globalNamespace.members.symbolNames.get("System");
|
|
83
|
+
expect(systemNs2).toBeDefined();
|
|
84
|
+
});
|
|
85
|
+
it("Doesn't create duplicate namespaces", () => {
|
|
86
|
+
const IO = createLibrary("System.IO", {
|
|
87
|
+
BinaryReader: {
|
|
88
|
+
kind: "class",
|
|
89
|
+
members: {}
|
|
90
|
+
},
|
|
91
|
+
BinaryWriter: {
|
|
92
|
+
kind: "class",
|
|
93
|
+
members: {}
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
const Collections = createLibrary("System.Collections", {
|
|
97
|
+
ArrayList: {
|
|
98
|
+
kind: "class",
|
|
99
|
+
members: {}
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
const _refkeys = [toRefkey(IO.BinaryReader), toRefkey(IO.BinaryWriter), toRefkey(Collections.ArrayList)];
|
|
103
|
+
const globalNamespace = getGlobalNamespace(undefined);
|
|
104
|
+
const systemNs = globalNamespace.members.symbolNames.get("System");
|
|
105
|
+
expect(systemNs).toBeDefined();
|
|
106
|
+
const ioNs = systemNs.members.symbolNames.get("IO");
|
|
107
|
+
expect(ioNs).toBeDefined();
|
|
108
|
+
const collectionsNs = systemNs.members.symbolNames.get("Collections");
|
|
109
|
+
expect(collectionsNs).toBeDefined();
|
|
110
|
+
});
|
|
111
|
+
it("renders as a refkey", () => {
|
|
112
|
+
const IO = createLibrary("System.IO", {
|
|
113
|
+
BinaryReader: {
|
|
114
|
+
kind: "class",
|
|
115
|
+
members: {}
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
expect(_$createComponent(TestNamespace, {
|
|
119
|
+
get children() {
|
|
120
|
+
return ["new ", _$createComponent(InvocationExpression, {
|
|
121
|
+
get target() {
|
|
122
|
+
return IO.BinaryReader;
|
|
123
|
+
}
|
|
124
|
+
}, {
|
|
125
|
+
fileName: import.meta.url,
|
|
126
|
+
lineNumber: 117,
|
|
127
|
+
columnNumber: 11
|
|
128
|
+
}), ";"];
|
|
129
|
+
}
|
|
130
|
+
}, {
|
|
131
|
+
fileName: import.meta.url,
|
|
132
|
+
lineNumber: 116,
|
|
133
|
+
columnNumber: 5
|
|
134
|
+
})).toRenderTo(`
|
|
135
|
+
using System.IO;
|
|
136
|
+
|
|
137
|
+
new BinaryReader();
|
|
138
|
+
`);
|
|
139
|
+
});
|
|
140
|
+
it("has a refkey getter", () => {
|
|
141
|
+
const IO = createLibrary("System.IO", {
|
|
142
|
+
BinaryReader: {
|
|
143
|
+
kind: "class",
|
|
144
|
+
members: {}
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
const ioKey = toRefkey(IO);
|
|
148
|
+
expect(ioKey).toBeDefined();
|
|
149
|
+
const brKey = toRefkey(IO.BinaryReader);
|
|
150
|
+
expect(brKey).toBeDefined();
|
|
151
|
+
});
|
|
152
|
+
it("works to reference members", () => {
|
|
153
|
+
const IO = createLibrary("System.IO", {
|
|
154
|
+
BinaryReader: {
|
|
155
|
+
kind: "class",
|
|
156
|
+
members: {
|
|
157
|
+
ReadString: {
|
|
158
|
+
kind: "method"
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
const reader = namekey("reader");
|
|
164
|
+
expect(_$createComponent(TestNamespace, {
|
|
165
|
+
get children() {
|
|
166
|
+
return [_$createComponent(VarDeclaration, {
|
|
167
|
+
name: reader,
|
|
168
|
+
get type() {
|
|
169
|
+
return IO.BinaryReader;
|
|
170
|
+
},
|
|
171
|
+
get children() {
|
|
172
|
+
return ["new ", _$createComponent(InvocationExpression, {
|
|
173
|
+
get target() {
|
|
174
|
+
return IO.BinaryReader;
|
|
175
|
+
}
|
|
176
|
+
}, {
|
|
177
|
+
fileName: import.meta.url,
|
|
178
|
+
lineNumber: 155,
|
|
179
|
+
columnNumber: 13
|
|
180
|
+
})];
|
|
181
|
+
}
|
|
182
|
+
}, {
|
|
183
|
+
fileName: import.meta.url,
|
|
184
|
+
lineNumber: 154,
|
|
185
|
+
columnNumber: 7
|
|
186
|
+
}), _$createIntrinsic("hbr", {}, {
|
|
187
|
+
fileName: import.meta.url,
|
|
188
|
+
lineNumber: 157,
|
|
189
|
+
columnNumber: 7
|
|
190
|
+
}), _$createComponent(InvocationExpression, {
|
|
191
|
+
get target() {
|
|
192
|
+
return memberRefkey(reader, IO.BinaryReader.ReadString);
|
|
193
|
+
}
|
|
194
|
+
}, {
|
|
195
|
+
fileName: import.meta.url,
|
|
196
|
+
lineNumber: 158,
|
|
197
|
+
columnNumber: 7
|
|
198
|
+
}), ";"];
|
|
199
|
+
}
|
|
200
|
+
}, {
|
|
201
|
+
fileName: import.meta.url,
|
|
202
|
+
lineNumber: 153,
|
|
203
|
+
columnNumber: 5
|
|
204
|
+
})).toRenderTo(`
|
|
205
|
+
using System.IO;
|
|
206
|
+
|
|
207
|
+
BinaryReader reader = new BinaryReader();
|
|
208
|
+
reader.ReadString();
|
|
209
|
+
`);
|
|
210
|
+
});
|
|
211
|
+
it("has built-ins available", () => {
|
|
212
|
+
const info = namekey("info");
|
|
213
|
+
const template = _$createComponent(TestNamespace, {
|
|
214
|
+
get children() {
|
|
215
|
+
return _$createComponent(List, {
|
|
216
|
+
get children() {
|
|
217
|
+
return [_$createComponent(VarDeclaration, {
|
|
218
|
+
name: info,
|
|
219
|
+
get children() {
|
|
220
|
+
return ["new ", _$memo(() => IO.FileInfo, false, "IO.FileInfo"), "(\"test.txt\")"];
|
|
221
|
+
}
|
|
222
|
+
}, {
|
|
223
|
+
fileName: import.meta.url,
|
|
224
|
+
lineNumber: 177,
|
|
225
|
+
columnNumber: 9
|
|
226
|
+
}), _$createComponent(VarDeclaration, {
|
|
227
|
+
name: "directoryName",
|
|
228
|
+
get children() {
|
|
229
|
+
return memberRefkey(info, "DirectoryName", "Length");
|
|
230
|
+
}
|
|
231
|
+
}, {
|
|
232
|
+
fileName: import.meta.url,
|
|
233
|
+
lineNumber: 180,
|
|
234
|
+
columnNumber: 9
|
|
235
|
+
})];
|
|
236
|
+
}
|
|
237
|
+
}, {
|
|
238
|
+
fileName: import.meta.url,
|
|
239
|
+
lineNumber: 176,
|
|
240
|
+
columnNumber: 7
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
}, {
|
|
244
|
+
fileName: import.meta.url,
|
|
245
|
+
lineNumber: 175,
|
|
246
|
+
columnNumber: 5
|
|
247
|
+
});
|
|
248
|
+
expect(template).toRenderTo(`
|
|
249
|
+
using System.IO;
|
|
250
|
+
|
|
251
|
+
var info = new FileInfo("test.txt");
|
|
252
|
+
var directoryName = info.DirectoryName?.Length;
|
|
253
|
+
`);
|
|
254
|
+
});
|
|
255
|
+
it("can render multiple times", () => {
|
|
256
|
+
const System = createLibrary("System", {
|
|
257
|
+
String: {
|
|
258
|
+
kind: "class",
|
|
259
|
+
members: {}
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
expect(_$createComponent(TestNamespace, {
|
|
263
|
+
get children() {
|
|
264
|
+
return System.String;
|
|
265
|
+
}
|
|
266
|
+
}, {
|
|
267
|
+
fileName: import.meta.url,
|
|
268
|
+
lineNumber: 202,
|
|
269
|
+
columnNumber: 10
|
|
270
|
+
})).toRenderTo(`
|
|
271
|
+
using System;
|
|
272
|
+
|
|
273
|
+
String
|
|
274
|
+
`);
|
|
275
|
+
expect(_$createComponent(TestNamespace, {
|
|
276
|
+
get children() {
|
|
277
|
+
return System.String;
|
|
278
|
+
}
|
|
279
|
+
}, {
|
|
280
|
+
fileName: import.meta.url,
|
|
281
|
+
lineNumber: 208,
|
|
282
|
+
columnNumber: 10
|
|
283
|
+
})).toRenderTo(`
|
|
284
|
+
using System;
|
|
285
|
+
|
|
286
|
+
String
|
|
287
|
+
`);
|
|
288
|
+
});
|
|
289
|
+
//# sourceMappingURL=create-library.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["VarDeclaration","InvocationExpression","TestNamespace","List","memberRefkey","namekey","toRefkey","beforeEach","expect","it","IO","getGlobalNamespace","resetGlobalNamespace","createLibrary","System","String","kind","members","Special","BeSpecial","Substring","Length","Empty","isStatic","globalNamespace","undefined","systemNs","symbolNames","get","toBeUndefined","_","systemNs2","toBeDefined","type","SomeNs","SomeType","someNs","BinaryReader","BinaryWriter","Collections","ArrayList","_refkeys","ioNs","collectionsNs","_$createComponent","children","target","fileName","import","meta","url","lineNumber","columnNumber","toRenderTo","ioKey","brKey","ReadString","reader","name","_$createIntrinsic","info","template","_$memo","FileInfo"],"sources":["../../../src/create-library.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checks whether the provided name is a valid C# identifier (without `@` prefix).
|
|
3
|
+
* Does not account for keyword conflicts — use {@link isCSharpKeyword} for that.
|
|
4
|
+
*
|
|
5
|
+
* @param name - The name to validate.
|
|
6
|
+
* @returns true if the name matches C# identifier rules (letter or underscore start, word chars after).
|
|
7
|
+
*/
|
|
8
|
+
export function isValidCSharpIdentifier(name) {
|
|
9
|
+
return /^[A-Za-z_]\w*$/.test(name);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Transforms an arbitrary string into a valid C# identifier by replacing
|
|
14
|
+
* invalid characters. The result may still be a C# keyword — callers
|
|
15
|
+
* should combine with keyword escaping if needed.
|
|
16
|
+
*
|
|
17
|
+
* - If the first character is not a letter or underscore, a `_` prefix is added.
|
|
18
|
+
* - Subsequent non-word characters are replaced with `_`.
|
|
19
|
+
* - Empty strings become `_`.
|
|
20
|
+
*
|
|
21
|
+
* @param name - The string to sanitize.
|
|
22
|
+
* @returns A string that satisfies C# identifier character rules.
|
|
23
|
+
*/
|
|
24
|
+
export function sanitizeCSharpIdentifier(name) {
|
|
25
|
+
if (name.length === 0) return "_";
|
|
26
|
+
const chars = [];
|
|
27
|
+
for (let i = 0; i < name.length; i++) {
|
|
28
|
+
const ch = name[i];
|
|
29
|
+
if (i === 0) {
|
|
30
|
+
if (/[A-Za-z_]/.test(ch)) {
|
|
31
|
+
chars.push(ch);
|
|
32
|
+
} else {
|
|
33
|
+
chars.push("_");
|
|
34
|
+
// Keep the original char if it's a word char (e.g., digit)
|
|
35
|
+
if (/\w/.test(ch)) {
|
|
36
|
+
chars.push(ch);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
} else {
|
|
40
|
+
chars.push(/\w/.test(ch) ? ch : "_");
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return chars.join("");
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=identifier-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isValidCSharpIdentifier","name","test","sanitizeCSharpIdentifier","length","chars","i","ch","push","join"],"sources":["../../../src/identifier-utils.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,uBAAuBA,CAACC,IAAY,EAAW;EAC7D,OAAO,gBAAgB,CAACC,IAAI,CAACD,IAAI,CAAC;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,wBAAwBA,CAACF,IAAY,EAAU;EAC7D,IAAIA,IAAI,CAACG,MAAM,KAAK,CAAC,EAAE,OAAO,GAAG;EAEjC,MAAMC,KAAe,GAAG,EAAE;EAC1B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,IAAI,CAACG,MAAM,EAAEE,CAAC,EAAE,EAAE;IACpC,MAAMC,EAAE,GAAGN,IAAI,CAACK,CAAC,CAAC;IAClB,IAAIA,CAAC,KAAK,CAAC,EAAE;MACX,IAAI,WAAW,CAACJ,IAAI,CAACK,EAAE,CAAC,EAAE;QACxBF,KAAK,CAACG,IAAI,CAACD,EAAE,CAAC;MAChB,CAAC,MAAM;QACLF,KAAK,CAACG,IAAI,CAAC,GAAG,CAAC;QACf;QACA,IAAI,IAAI,CAACN,IAAI,CAACK,EAAE,CAAC,EAAE;UACjBF,KAAK,CAACG,IAAI,CAACD,EAAE,CAAC;QAChB;MACF;IACF,CAAC,MAAM;MACLF,KAAK,CAACG,IAAI,CAAC,IAAI,CAACN,IAAI,CAACK,EAAE,CAAC,GAAGA,EAAE,GAAG,GAAG,CAAC;IACtC;EACF;EACA,OAAOF,KAAK,CAACI,IAAI,CAAC,EAAE,CAAC;AACvB","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./access.js";
|
|
2
|
+
export * from "./components/index.js";
|
|
3
|
+
export * from "./contexts/format-options.js";
|
|
4
|
+
export * from "./create-library.js";
|
|
5
|
+
export * from "./identifier-utils.js";
|
|
6
|
+
export * from "./keywords.js";
|
|
7
|
+
export * from "./modifiers.js";
|
|
8
|
+
export * from "./name-policy.js";
|
|
9
|
+
export * from "./scopes/index.js";
|
|
10
|
+
export * from "./symbols/index.js";
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA,cAAc,uBAAuB;AACrC,cAAc,8BAA8B;AAC5C,cAAc,qBAAqB;AACnC,cAAc,uBAAuB;AACrC,cAAc,eAAe;AAC7B,cAAc,gBAAgB;AAC9B,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,oBAAoB","ignoreList":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* C# reserved keywords that cannot be used as identifiers without `@` prefix.
|
|
3
|
+
* These are case-sensitive in C#.
|
|
4
|
+
*
|
|
5
|
+
* @see https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/
|
|
6
|
+
*/
|
|
7
|
+
export const csharpKeywords = new Set(["abstract", "as", "base", "bool", "break", "byte", "case", "catch", "char", "checked", "class", "const", "continue", "decimal", "default", "delegate", "do", "double", "else", "enum", "event", "explicit", "extern", "false", "finally", "fixed", "float", "for", "foreach", "goto", "if", "implicit", "in", "int", "interface", "internal", "is", "lock", "long", "namespace", "new", "null", "object", "operator", "out", "override", "params", "private", "protected", "public", "readonly", "ref", "return", "sbyte", "sealed", "short", "sizeof", "stackalloc", "static", "string", "struct", "switch", "this", "throw", "true", "try", "typeof", "uint", "ulong", "unchecked", "unsafe", "ushort", "using", "virtual", "void", "volatile", "while"]);
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* C# contextual keywords that are reserved in certain contexts.
|
|
11
|
+
* While not always reserved, treating them as keywords in generated code
|
|
12
|
+
* avoids subtle context-dependent issues.
|
|
13
|
+
*
|
|
14
|
+
* @see https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/#contextual-keywords
|
|
15
|
+
*/
|
|
16
|
+
export const csharpContextualKeywords = new Set(["add", "allows", "alias", "and", "ascending", "args", "async", "await", "by", "descending", "dynamic", "equals", "field", "file", "from", "get", "global", "group", "init", "into", "join", "let", "managed", "nameof", "nint", "not", "notnull", "nuint", "on", "or", "orderby", "partial", "record", "remove", "required", "scoped", "select", "set", "unmanaged", "value", "var", "when", "where", "with", "yield"]);
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Returns true if the given name is a C# reserved keyword.
|
|
20
|
+
* The check is case-sensitive, matching C# language semantics.
|
|
21
|
+
*
|
|
22
|
+
* Note: this only checks reserved keywords, not contextual keywords.
|
|
23
|
+
* Contextual keywords are only reserved in specific language contexts
|
|
24
|
+
* and are valid identifiers elsewhere (e.g., `value` is valid as a parameter name).
|
|
25
|
+
* Use {@link isCSharpContextualKeyword} to check contextual keywords separately.
|
|
26
|
+
*/
|
|
27
|
+
export function isCSharpKeyword(name) {
|
|
28
|
+
return csharpKeywords.has(name);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Returns true if the given name is a C# contextual keyword.
|
|
33
|
+
* Contextual keywords are only reserved in specific language contexts
|
|
34
|
+
* and are generally valid as identifiers.
|
|
35
|
+
*/
|
|
36
|
+
export function isCSharpContextualKeyword(name) {
|
|
37
|
+
return csharpContextualKeywords.has(name);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=keywords.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["csharpKeywords","Set","csharpContextualKeywords","isCSharpKeyword","name","has","isCSharpContextualKeyword"],"sources":["../../../src/keywords.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,cAAmC,GAAG,IAAIC,GAAG,CAAC,CACzD,UAAU,EACV,IAAI,EACJ,MAAM,EACN,MAAM,EACN,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,EACP,MAAM,EACN,SAAS,EACT,OAAO,EACP,OAAO,EACP,UAAU,EACV,SAAS,EACT,SAAS,EACT,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EACP,UAAU,EACV,QAAQ,EACR,OAAO,EACP,SAAS,EACT,OAAO,EACP,OAAO,EACP,KAAK,EACL,SAAS,EACT,MAAM,EACN,IAAI,EACJ,UAAU,EACV,IAAI,EACJ,KAAK,EACL,WAAW,EACX,UAAU,EACV,IAAI,EACJ,MAAM,EACN,MAAM,EACN,WAAW,EACX,KAAK,EACL,MAAM,EACN,QAAQ,EACR,UAAU,EACV,KAAK,EACL,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,QAAQ,EACR,UAAU,EACV,KAAK,EACL,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,OAAO,EACP,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,OAAO,EACP,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,SAAS,EACT,MAAM,EACN,UAAU,EACV,OAAO,CACR,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,wBAA6C,GAAG,IAAID,GAAG,CAAC,CACnE,KAAK,EACL,QAAQ,EACR,OAAO,EACP,KAAK,EACL,WAAW,EACX,MAAM,EACN,OAAO,EACP,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,OAAO,EACP,MAAM,EACN,MAAM,EACN,KAAK,EACL,QAAQ,EACR,OAAO,EACP,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EACL,SAAS,EACT,QAAQ,EACR,MAAM,EACN,KAAK,EACL,SAAS,EACT,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,WAAW,EACX,OAAO,EACP,KAAK,EACL,MAAM,EACN,OAAO,EACP,MAAM,EACN,OAAO,CACR,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,eAAeA,CAACC,IAAY,EAAW;EACrD,OAAOJ,cAAc,CAACK,GAAG,CAACD,IAAI,CAAC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,yBAAyBA,CAACF,IAAY,EAAW;EAC/D,OAAOF,wBAAwB,CAACG,GAAG,CAACD,IAAI,CAAC;AAC3C","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// the possible C# access modifiers
|
|
2
|
+
// https://learn.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/access-modifiers
|
|
3
|
+
|
|
4
|
+
/** Access modifiers. */
|
|
5
|
+
|
|
6
|
+
export const getAccessModifier = makeModifiers(["public", "protected", "private", "internal", "file"]);
|
|
7
|
+
export function getAsyncModifier(async) {
|
|
8
|
+
return async ? "async" : "";
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/** Resolve the modifier prefix */
|
|
12
|
+
export function computeModifiersPrefix(modifiers) {
|
|
13
|
+
const resolved = modifiers.filter(x => x);
|
|
14
|
+
return resolved.length > 0 ? resolved.join(" ") + " " : "";
|
|
15
|
+
}
|
|
16
|
+
export function makeModifiers(obj) {
|
|
17
|
+
return data => {
|
|
18
|
+
return obj.map(key => data[key] ? key : undefined).filter(x => x).join(" ");
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=modifiers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getAccessModifier","makeModifiers","getAsyncModifier","async","computeModifiersPrefix","modifiers","resolved","filter","x","length","join","obj","data","map","key","undefined"],"sources":["../../../src/modifiers.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA;;AAEA;;AAuBA,OAAO,MAAMA,iBAAiB,GAAGC,aAAa,CAAkB,CAC9D,QAAQ,EACR,WAAW,EACX,SAAS,EACT,UAAU,EACV,MAAM,CACP,CAAC;AAEF,OAAO,SAASC,gBAAgBA,CAACC,KAAe,EAAU;EACxD,OAAOA,KAAK,GAAG,OAAO,GAAG,EAAE;AAC7B;;AAEA;AACA,OAAO,SAASC,sBAAsBA,CACpCC,SAAoC,EAC5B;EACR,MAAMC,QAAQ,GAAGD,SAAS,CAACE,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAAC;EAC3C,OAAOF,QAAQ,CAACG,MAAM,GAAG,CAAC,GAAGH,QAAQ,CAACI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE;AAC5D;AAEA,OAAO,SAAST,aAAaA,CAAIU,GAAmB,EAAE;EACpD,OAAQC,IAAO,IAAK;IAClB,OAAOD,GAAG,CACPE,GAAG,CAAEC,GAAG,IAAMF,IAAI,CAACE,GAAG,CAAC,GAAGA,GAAG,GAAGC,SAAU,CAAC,CAC3CR,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAAC,CAChBE,IAAI,CAAC,GAAG,CAAC;EACd,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import * as core from "@alloy-js/core";
|
|
2
|
+
import * as changecase from "change-case";
|
|
3
|
+
import { sanitizeCSharpIdentifier } from "./identifier-utils.js";
|
|
4
|
+
import { isCSharpKeyword } from "./keywords.js";
|
|
5
|
+
|
|
6
|
+
// the context in which the name policy should be applied
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Prefixes the name with `@` if it is a C# keyword.
|
|
10
|
+
* This is the idiomatic C# way to use reserved words as identifiers.
|
|
11
|
+
* The check is case-sensitive, matching C# language semantics.
|
|
12
|
+
*/
|
|
13
|
+
function escapeIfKeyword(name) {
|
|
14
|
+
return isCSharpKeyword(name) ? `@${name}` : name;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Creates the C# naming policy with case conversion and keyword escaping.
|
|
19
|
+
*
|
|
20
|
+
* After applying the appropriate case conversion for each element kind,
|
|
21
|
+
* the resulting name is checked against C# reserved and contextual keywords.
|
|
22
|
+
* If it matches (case-sensitively), the name is prefixed with `@`.
|
|
23
|
+
*/
|
|
24
|
+
export function createCSharpNamePolicy() {
|
|
25
|
+
return core.createNamePolicy((name, element) => {
|
|
26
|
+
let result;
|
|
27
|
+
switch (element) {
|
|
28
|
+
case "namespace":
|
|
29
|
+
case "class":
|
|
30
|
+
case "struct":
|
|
31
|
+
case "enum":
|
|
32
|
+
case "enum-member":
|
|
33
|
+
case "interface":
|
|
34
|
+
case "record":
|
|
35
|
+
case "class-member-public":
|
|
36
|
+
case "class-method":
|
|
37
|
+
case "type-parameter":
|
|
38
|
+
case "class-property":
|
|
39
|
+
result = changecase.pascalCase(name);
|
|
40
|
+
break;
|
|
41
|
+
case "constant":
|
|
42
|
+
result = changecase.constantCase(name);
|
|
43
|
+
break;
|
|
44
|
+
case "class-member-private":
|
|
45
|
+
result = `_${changecase.camelCase(name)}`;
|
|
46
|
+
break;
|
|
47
|
+
default:
|
|
48
|
+
result = changecase.camelCase(name);
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
return escapeIfKeyword(sanitizeCSharpIdentifier(result));
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// gets the active C# naming policy
|
|
56
|
+
export function useCSharpNamePolicy() {
|
|
57
|
+
return core.useNamePolicy();
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=name-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["core","changecase","sanitizeCSharpIdentifier","isCSharpKeyword","escapeIfKeyword","name","createCSharpNamePolicy","createNamePolicy","element","result","pascalCase","constantCase","camelCase","useCSharpNamePolicy","useNamePolicy"],"sources":["../../../src/name-policy.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,IAAI,MAAM,gBAAgB;AACtC,OAAO,KAAKC,UAAU,MAAM,aAAa;AACzC,SAASC,wBAAwB,QAAQ,uBAAuB;AAChE,SAASC,eAAe,QAAQ,eAAe;;AAE/C;;AAmBA;AACA;AACA;AACA;AACA;AACA,SAASC,eAAeA,CAACC,IAAY,EAAU;EAC7C,OAAOF,eAAe,CAACE,IAAI,CAAC,GAAG,IAAIA,IAAI,EAAE,GAAGA,IAAI;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAAA,EAAoC;EACxE,OAAON,IAAI,CAACO,gBAAgB,CAAC,CAACF,IAAI,EAAEG,OAAO,KAAK;IAC9C,IAAIC,MAAc;IAClB,QAAQD,OAAO;MACb,KAAK,WAAW;MAChB,KAAK,OAAO;MACZ,KAAK,QAAQ;MACb,KAAK,MAAM;MACX,KAAK,aAAa;MAClB,KAAK,WAAW;MAChB,KAAK,QAAQ;MACb,KAAK,qBAAqB;MAC1B,KAAK,cAAc;MACnB,KAAK,gBAAgB;MACrB,KAAK,gBAAgB;QACnBC,MAAM,GAAGR,UAAU,CAACS,UAAU,CAACL,IAAI,CAAC;QACpC;MACF,KAAK,UAAU;QACbI,MAAM,GAAGR,UAAU,CAACU,YAAY,CAACN,IAAI,CAAC;QACtC;MACF,KAAK,sBAAsB;QACzBI,MAAM,GAAG,IAAIR,UAAU,CAACW,SAAS,CAACP,IAAI,CAAC,EAAE;QACzC;MACF;QACEI,MAAM,GAAGR,UAAU,CAACW,SAAS,CAACP,IAAI,CAAC;QACnC;IACJ;IAEA,OAAOD,eAAe,CAACF,wBAAwB,CAACO,MAAM,CAAC,CAAC;EAC1D,CAAC,CAAC;AACJ;;AAEA;AACA,OAAO,SAASI,mBAAmBA,CAAA,EAAoC;EACrE,OAAOb,IAAI,CAACc,aAAa,CAAC,CAAC;AAC7B","ignoreList":[]}
|