// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
namespace Microsoft.ClearScript.JavaScript
{
///
/// Defines document categories for JavaScript modules.
///
public static class ModuleCategory
{
///
/// Gets the document category for standard ECMAScript 6 modules.
///
public static DocumentCategory Standard => StandardModule.Instance;
///
/// Gets the document category for CommonJS modules.
///
public static DocumentCategory CommonJS => CommonJSModule.Instance;
#region Nested type: StandardModule
private sealed class StandardModule : DocumentCategory
{
public static readonly StandardModule Instance = new StandardModule();
private StandardModule()
{
}
#region DocumentCategory overrides
internal override string DefaultName => "Module";
#endregion
#region Object overrides
public override string ToString()
{
return "ECMAScript Module";
}
#endregion
}
#endregion
#region Nested type: CommonJSModule
private sealed class CommonJSModule : DocumentCategory
{
public static readonly CommonJSModule Instance = new CommonJSModule();
private CommonJSModule()
{
}
#region DocumentCategory overrides
internal override string DefaultName => "Module";
#endregion
#region Object overrides
public override string ToString()
{
return "CommonJS Module";
}
#endregion
}
#endregion
}
}