sass-embedded 1.77.8 → 1.79.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a4867f6d4f0c72a82099760e3e30f978a3d8a3f7481e6b278de15932ba78abe9
4
- data.tar.gz: 3a8715387e91dc208b7252dedc3d695f1b9042d473aefe1ff9e9a7c86adce923
3
+ metadata.gz: 31cfb8ec747af7e5d755f61dd9bd5d8ff9318b5c357ba5eb8b314377ae7f345f
4
+ data.tar.gz: 9af64e39fecc2bdd5678412be80f8d600461edd2e3e5f5b927cb33a3ec54b02f
5
5
  SHA512:
6
- metadata.gz: 6122e3ca0bcdd1f6c0a020b17579f8762726ea7eb6b4d2ca80db93bff490820d37960d162d229ec612e39199e1de5353d46ad2d0dbd4f0552249f6c09a75ec78
7
- data.tar.gz: e5f4c8007b71629eeb55292ff384c3e86003a5b214381ce361286ce83d379388b4c800a9c9452f503bac0a2c78d0e9c183591da65cec52bced86b60843657cf3
6
+ metadata.gz: fc936183c3a246211baa54eb1dfd4dc29662d960223f31435eefc59f2ae9067680d7f3337efbafa050f6ed4c12deba9c4badd61f5714801d142aa71cd1c8fb18
7
+ data.tar.gz: e9722d935946af7fffc630689d3b4ca0bd57cf4af7917f432075327ed3e08c8b0a19db304708f8d8c40b2cfb589bd51b28f50155e3e58e5ec207528c45710307
@@ -5,7 +5,7 @@
5
5
  require 'google/protobuf'
6
6
 
7
7
 
8
- descriptor_data = "\n\x13\x65mbedded_sass.proto\x12\x16sass.embedded_protocol\"\xe8\x10\n\x0eInboundMessage\x12P\n\x0f\x63ompile_request\x18\x02 \x01(\x0b\x32\x35.sass.embedded_protocol.InboundMessage.CompileRequestH\x00\x12\\\n\x15\x63\x61nonicalize_response\x18\x03 \x01(\x0b\x32;.sass.embedded_protocol.InboundMessage.CanonicalizeResponseH\x00\x12P\n\x0fimport_response\x18\x04 \x01(\x0b\x32\x35.sass.embedded_protocol.InboundMessage.ImportResponseH\x00\x12Y\n\x14\x66ile_import_response\x18\x05 \x01(\x0b\x32\x39.sass.embedded_protocol.InboundMessage.FileImportResponseH\x00\x12]\n\x16\x66unction_call_response\x18\x06 \x01(\x0b\x32;.sass.embedded_protocol.InboundMessage.FunctionCallResponseH\x00\x12P\n\x0fversion_request\x18\x07 \x01(\x0b\x32\x35.sass.embedded_protocol.InboundMessage.VersionRequestH\x00\x1a\x1c\n\x0eVersionRequest\x12\n\n\x02id\x18\x01 \x01(\r\x1a\x98\x07\n\x0e\x43ompileRequest\x12S\n\x06string\x18\x02 \x01(\x0b\x32\x41.sass.embedded_protocol.InboundMessage.CompileRequest.StringInputH\x00\x12\x0e\n\x04path\x18\x03 \x01(\tH\x00\x12\x32\n\x05style\x18\x04 \x01(\x0e\x32#.sass.embedded_protocol.OutputStyle\x12\x12\n\nsource_map\x18\x05 \x01(\x08\x12Q\n\timporters\x18\x06 \x03(\x0b\x32>.sass.embedded_protocol.InboundMessage.CompileRequest.Importer\x12\x18\n\x10global_functions\x18\x07 \x03(\t\x12\x13\n\x0b\x61lert_color\x18\x08 \x01(\x08\x12\x13\n\x0b\x61lert_ascii\x18\t \x01(\x08\x12\x0f\n\x07verbose\x18\n \x01(\x08\x12\x12\n\nquiet_deps\x18\x0b \x01(\x08\x12\"\n\x1asource_map_include_sources\x18\x0c \x01(\x08\x12\x0f\n\x07\x63harset\x18\r \x01(\x08\x12\x0e\n\x06silent\x18\x0e \x01(\x08\x12\x19\n\x11\x66\x61tal_deprecation\x18\x0f \x03(\t\x12\x1b\n\x13silence_deprecation\x18\x10 \x03(\t\x12\x1a\n\x12\x66uture_deprecation\x18\x11 \x03(\t\x1a\xac\x01\n\x0bStringInput\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12.\n\x06syntax\x18\x03 \x01(\x0e\x32\x1e.sass.embedded_protocol.Syntax\x12P\n\x08importer\x18\x04 \x01(\x0b\x32>.sass.embedded_protocol.InboundMessage.CompileRequest.Importer\x1a\xc5\x01\n\x08Importer\x12\x0e\n\x04path\x18\x01 \x01(\tH\x00\x12\x15\n\x0bimporter_id\x18\x02 \x01(\rH\x00\x12\x1a\n\x10\x66ile_importer_id\x18\x03 \x01(\rH\x00\x12L\n\x15node_package_importer\x18\x05 \x01(\x0b\x32+.sass.embedded_protocol.NodePackageImporterH\x00\x12\x1c\n\x14non_canonical_scheme\x18\x04 \x03(\tB\n\n\x08importerB\x07\n\x05inputJ\x04\x08\x01\x10\x02\x1ak\n\x14\x43\x61nonicalizeResponse\x12\n\n\x02id\x18\x01 \x01(\r\x12\r\n\x03url\x18\x02 \x01(\tH\x00\x12\x0f\n\x05\x65rror\x18\x03 \x01(\tH\x00\x12\x1d\n\x15\x63ontaining_url_unused\x18\x04 \x01(\x08\x42\x08\n\x06result\x1a\x93\x02\n\x0eImportResponse\x12\n\n\x02id\x18\x01 \x01(\r\x12V\n\x07success\x18\x02 \x01(\x0b\x32\x43.sass.embedded_protocol.InboundMessage.ImportResponse.ImportSuccessH\x00\x12\x0f\n\x05\x65rror\x18\x03 \x01(\tH\x00\x1a\x81\x01\n\rImportSuccess\x12\x10\n\x08\x63ontents\x18\x01 \x01(\t\x12.\n\x06syntax\x18\x02 \x01(\x0e\x32\x1e.sass.embedded_protocol.Syntax\x12\x1b\n\x0esource_map_url\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x11\n\x0f_source_map_urlB\x08\n\x06result\x1an\n\x12\x46ileImportResponse\x12\n\n\x02id\x18\x01 \x01(\r\x12\x12\n\x08\x66ile_url\x18\x02 \x01(\tH\x00\x12\x0f\n\x05\x65rror\x18\x03 \x01(\tH\x00\x12\x1d\n\x15\x63ontaining_url_unused\x18\x04 \x01(\x08\x42\x08\n\x06result\x1a\x90\x01\n\x14\x46unctionCallResponse\x12\n\n\x02id\x18\x01 \x01(\r\x12\x30\n\x07success\x18\x02 \x01(\x0b\x32\x1d.sass.embedded_protocol.ValueH\x00\x12\x0f\n\x05\x65rror\x18\x03 \x01(\tH\x00\x12\x1f\n\x17\x61\x63\x63\x65ssed_argument_lists\x18\x04 \x03(\rB\x08\n\x06resultB\t\n\x07message\"\xcb\x0f\n\x0fOutboundMessage\x12\x36\n\x05\x65rror\x18\x01 \x01(\x0b\x32%.sass.embedded_protocol.ProtocolErrorH\x00\x12S\n\x10\x63ompile_response\x18\x02 \x01(\x0b\x32\x37.sass.embedded_protocol.OutboundMessage.CompileResponseH\x00\x12\x45\n\tlog_event\x18\x03 \x01(\x0b\x32\x30.sass.embedded_protocol.OutboundMessage.LogEventH\x00\x12[\n\x14\x63\x61nonicalize_request\x18\x04 \x01(\x0b\x32;.sass.embedded_protocol.OutboundMessage.CanonicalizeRequestH\x00\x12O\n\x0eimport_request\x18\x05 \x01(\x0b\x32\x35.sass.embedded_protocol.OutboundMessage.ImportRequestH\x00\x12X\n\x13\x66ile_import_request\x18\x06 \x01(\x0b\x32\x39.sass.embedded_protocol.OutboundMessage.FileImportRequestH\x00\x12\\\n\x15\x66unction_call_request\x18\x07 \x01(\x0b\x32;.sass.embedded_protocol.OutboundMessage.FunctionCallRequestH\x00\x12S\n\x10version_response\x18\x08 \x01(\x0b\x32\x37.sass.embedded_protocol.OutboundMessage.VersionResponseH\x00\x1a\x8e\x01\n\x0fVersionResponse\x12\n\n\x02id\x18\x05 \x01(\r\x12\x18\n\x10protocol_version\x18\x01 \x01(\t\x12\x18\n\x10\x63ompiler_version\x18\x02 \x01(\t\x12\x1e\n\x16implementation_version\x18\x03 \x01(\t\x12\x1b\n\x13implementation_name\x18\x04 \x01(\t\x1a\xa2\x03\n\x0f\x43ompileResponse\x12Y\n\x07success\x18\x02 \x01(\x0b\x32\x46.sass.embedded_protocol.OutboundMessage.CompileResponse.CompileSuccessH\x00\x12Y\n\x07\x66\x61ilure\x18\x03 \x01(\x0b\x32\x46.sass.embedded_protocol.OutboundMessage.CompileResponse.CompileFailureH\x00\x12\x13\n\x0bloaded_urls\x18\x04 \x03(\t\x1a\x37\n\x0e\x43ompileSuccess\x12\x0b\n\x03\x63ss\x18\x01 \x01(\t\x12\x12\n\nsource_map\x18\x02 \x01(\tJ\x04\x08\x03\x10\x04\x1a{\n\x0e\x43ompileFailure\x12\x0f\n\x07message\x18\x01 \x01(\t\x12\x30\n\x04span\x18\x02 \x01(\x0b\x32\".sass.embedded_protocol.SourceSpan\x12\x13\n\x0bstack_trace\x18\x03 \x01(\t\x12\x11\n\tformatted\x18\x04 \x01(\tB\x08\n\x06resultJ\x04\x08\x01\x10\x02\x1a\xf1\x01\n\x08LogEvent\x12\x32\n\x04type\x18\x02 \x01(\x0e\x32$.sass.embedded_protocol.LogEventType\x12\x0f\n\x07message\x18\x03 \x01(\t\x12\x35\n\x04span\x18\x04 \x01(\x0b\x32\".sass.embedded_protocol.SourceSpanH\x00\x88\x01\x01\x12\x13\n\x0bstack_trace\x18\x05 \x01(\t\x12\x11\n\tformatted\x18\x06 \x01(\t\x12\x1d\n\x10\x64\x65precation_type\x18\x07 \x01(\tH\x01\x88\x01\x01\x42\x07\n\x05_spanB\x13\n\x11_deprecation_typeJ\x04\x08\x01\x10\x02\x1a\x8e\x01\n\x13\x43\x61nonicalizeRequest\x12\n\n\x02id\x18\x01 \x01(\r\x12\x13\n\x0bimporter_id\x18\x03 \x01(\r\x12\x0b\n\x03url\x18\x04 \x01(\t\x12\x13\n\x0b\x66rom_import\x18\x05 \x01(\x08\x12\x1b\n\x0e\x63ontaining_url\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x11\n\x0f_containing_urlJ\x04\x08\x02\x10\x03\x1a\x43\n\rImportRequest\x12\n\n\x02id\x18\x01 \x01(\r\x12\x13\n\x0bimporter_id\x18\x03 \x01(\r\x12\x0b\n\x03url\x18\x04 \x01(\tJ\x04\x08\x02\x10\x03\x1a\x8c\x01\n\x11\x46ileImportRequest\x12\n\n\x02id\x18\x01 \x01(\r\x12\x13\n\x0bimporter_id\x18\x03 \x01(\r\x12\x0b\n\x03url\x18\x04 \x01(\t\x12\x13\n\x0b\x66rom_import\x18\x05 \x01(\x08\x12\x1b\n\x0e\x63ontaining_url\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x11\n\x0f_containing_urlJ\x04\x08\x02\x10\x03\x1a\x8e\x01\n\x13\x46unctionCallRequest\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0e\n\x04name\x18\x03 \x01(\tH\x00\x12\x15\n\x0b\x66unction_id\x18\x04 \x01(\rH\x00\x12\x30\n\targuments\x18\x05 \x03(\x0b\x32\x1d.sass.embedded_protocol.ValueB\x0c\n\nidentifierJ\x04\x08\x02\x10\x03\x42\t\n\x07message\"e\n\rProtocolError\x12\x37\n\x04type\x18\x01 \x01(\x0e\x32).sass.embedded_protocol.ProtocolErrorType\x12\n\n\x02id\x18\x02 \x01(\r\x12\x0f\n\x07message\x18\x03 \x01(\t\"\x87\x02\n\nSourceSpan\x12\x0c\n\x04text\x18\x01 \x01(\t\x12@\n\x05start\x18\x02 \x01(\x0b\x32\x31.sass.embedded_protocol.SourceSpan.SourceLocation\x12\x43\n\x03\x65nd\x18\x03 \x01(\x0b\x32\x31.sass.embedded_protocol.SourceSpan.SourceLocationH\x00\x88\x01\x01\x12\x0b\n\x03url\x18\x04 \x01(\t\x12\x0f\n\x07\x63ontext\x18\x05 \x01(\t\x1a>\n\x0eSourceLocation\x12\x0e\n\x06offset\x18\x01 \x01(\r\x12\x0c\n\x04line\x18\x02 \x01(\r\x12\x0e\n\x06\x63olumn\x18\x03 \x01(\rB\x06\n\x04_end\"\xb8\x13\n\x05Value\x12\x36\n\x06string\x18\x01 \x01(\x0b\x32$.sass.embedded_protocol.Value.StringH\x00\x12\x36\n\x06number\x18\x02 \x01(\x0b\x32$.sass.embedded_protocol.Value.NumberH\x00\x12;\n\trgb_color\x18\x03 \x01(\x0b\x32&.sass.embedded_protocol.Value.RgbColorH\x00\x12;\n\thsl_color\x18\x04 \x01(\x0b\x32&.sass.embedded_protocol.Value.HslColorH\x00\x12\x32\n\x04list\x18\x05 \x01(\x0b\x32\".sass.embedded_protocol.Value.ListH\x00\x12\x30\n\x03map\x18\x06 \x01(\x0b\x32!.sass.embedded_protocol.Value.MapH\x00\x12;\n\tsingleton\x18\x07 \x01(\x0e\x32&.sass.embedded_protocol.SingletonValueH\x00\x12K\n\x11\x63ompiler_function\x18\x08 \x01(\x0b\x32..sass.embedded_protocol.Value.CompilerFunctionH\x00\x12\x43\n\rhost_function\x18\t \x01(\x0b\x32*.sass.embedded_protocol.Value.HostFunctionH\x00\x12\x43\n\rargument_list\x18\n \x01(\x0b\x32*.sass.embedded_protocol.Value.ArgumentListH\x00\x12;\n\thwb_color\x18\x0b \x01(\x0b\x32&.sass.embedded_protocol.Value.HwbColorH\x00\x12@\n\x0b\x63\x61lculation\x18\x0c \x01(\x0b\x32).sass.embedded_protocol.Value.CalculationH\x00\x12\x45\n\x0e\x63ompiler_mixin\x18\r \x01(\x0b\x32+.sass.embedded_protocol.Value.CompilerMixinH\x00\x1a&\n\x06String\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x0e\n\x06quoted\x18\x02 \x01(\x08\x1a\x41\n\x06Number\x12\r\n\x05value\x18\x01 \x01(\x01\x12\x12\n\nnumerators\x18\x02 \x03(\t\x12\x14\n\x0c\x64\x65nominators\x18\x03 \x03(\t\x1a\x43\n\x08RgbColor\x12\x0b\n\x03red\x18\x01 \x01(\r\x12\r\n\x05green\x18\x02 \x01(\r\x12\x0c\n\x04\x62lue\x18\x03 \x01(\r\x12\r\n\x05\x61lpha\x18\x04 \x01(\x01\x1aM\n\x08HslColor\x12\x0b\n\x03hue\x18\x01 \x01(\x01\x12\x12\n\nsaturation\x18\x02 \x01(\x01\x12\x11\n\tlightness\x18\x03 \x01(\x01\x12\r\n\x05\x61lpha\x18\x04 \x01(\x01\x1aL\n\x08HwbColor\x12\x0b\n\x03hue\x18\x01 \x01(\x01\x12\x11\n\twhiteness\x18\x02 \x01(\x01\x12\x11\n\tblackness\x18\x03 \x01(\x01\x12\r\n\x05\x61lpha\x18\x04 \x01(\x01\x1a\x87\x01\n\x04List\x12\x38\n\tseparator\x18\x01 \x01(\x0e\x32%.sass.embedded_protocol.ListSeparator\x12\x14\n\x0chas_brackets\x18\x02 \x01(\x08\x12/\n\x08\x63ontents\x18\x03 \x03(\x0b\x32\x1d.sass.embedded_protocol.Value\x1a\xa2\x01\n\x03Map\x12\x38\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\'.sass.embedded_protocol.Value.Map.Entry\x1a\x61\n\x05\x45ntry\x12*\n\x03key\x18\x01 \x01(\x0b\x32\x1d.sass.embedded_protocol.Value\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.sass.embedded_protocol.Value\x1a\x1e\n\x10\x43ompilerFunction\x12\n\n\x02id\x18\x01 \x01(\r\x1a-\n\x0cHostFunction\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tsignature\x18\x02 \x01(\t\x1a\x1b\n\rCompilerMixin\x12\n\n\x02id\x18\x01 \x01(\r\x1a\xa1\x02\n\x0c\x41rgumentList\x12\n\n\x02id\x18\x01 \x01(\r\x12\x38\n\tseparator\x18\x02 \x01(\x0e\x32%.sass.embedded_protocol.ListSeparator\x12/\n\x08\x63ontents\x18\x03 \x03(\x0b\x32\x1d.sass.embedded_protocol.Value\x12J\n\x08keywords\x18\x04 \x03(\x0b\x32\x38.sass.embedded_protocol.Value.ArgumentList.KeywordsEntry\x1aN\n\rKeywordsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.sass.embedded_protocol.Value:\x02\x38\x01\x1a\xef\x04\n\x0b\x43\x61lculation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12M\n\targuments\x18\x02 \x03(\x0b\x32:.sass.embedded_protocol.Value.Calculation.CalculationValue\x1a\x95\x02\n\x10\x43\x61lculationValue\x12\x36\n\x06number\x18\x01 \x01(\x0b\x32$.sass.embedded_protocol.Value.NumberH\x00\x12\x10\n\x06string\x18\x02 \x01(\tH\x00\x12\x17\n\rinterpolation\x18\x03 \x01(\tH\x00\x12S\n\toperation\x18\x04 \x01(\x0b\x32>.sass.embedded_protocol.Value.Calculation.CalculationOperationH\x00\x12@\n\x0b\x63\x61lculation\x18\x05 \x01(\x0b\x32).sass.embedded_protocol.Value.CalculationH\x00\x42\x07\n\x05value\x1a\xea\x01\n\x14\x43\x61lculationOperation\x12=\n\x08operator\x18\x01 \x01(\x0e\x32+.sass.embedded_protocol.CalculationOperator\x12H\n\x04left\x18\x02 \x01(\x0b\x32:.sass.embedded_protocol.Value.Calculation.CalculationValue\x12I\n\x05right\x18\x03 \x01(\x0b\x32:.sass.embedded_protocol.Value.Calculation.CalculationValueB\x07\n\x05value\"4\n\x13NodePackageImporter\x12\x1d\n\x15\x65ntry_point_directory\x18\x01 \x01(\t*+\n\x0bOutputStyle\x12\x0c\n\x08\x45XPANDED\x10\x00\x12\x0e\n\nCOMPRESSED\x10\x01*)\n\x06Syntax\x12\x08\n\x04SCSS\x10\x00\x12\x0c\n\x08INDENTED\x10\x01\x12\x07\n\x03\x43SS\x10\x02*?\n\x0cLogEventType\x12\x0b\n\x07WARNING\x10\x00\x12\x17\n\x13\x44\x45PRECATION_WARNING\x10\x01\x12\t\n\x05\x44\x45\x42UG\x10\x02*8\n\x11ProtocolErrorType\x12\t\n\x05PARSE\x10\x00\x12\n\n\x06PARAMS\x10\x01\x12\x0c\n\x08INTERNAL\x10\x02*?\n\rListSeparator\x12\t\n\x05\x43OMMA\x10\x00\x12\t\n\x05SPACE\x10\x01\x12\t\n\x05SLASH\x10\x02\x12\r\n\tUNDECIDED\x10\x03*/\n\x0eSingletonValue\x12\x08\n\x04TRUE\x10\x00\x12\t\n\x05\x46\x41LSE\x10\x01\x12\x08\n\x04NULL\x10\x02*A\n\x13\x43\x61lculationOperator\x12\x08\n\x04PLUS\x10\x00\x12\t\n\x05MINUS\x10\x01\x12\t\n\x05TIMES\x10\x02\x12\n\n\x06\x44IVIDE\x10\x03\x42#\n\x1f\x63om.sass_lang.embedded_protocolP\x01\x62\x06proto3"
8
+ descriptor_data = "\n\x13\x65mbedded_sass.proto\x12\x16sass.embedded_protocol\"\xe8\x10\n\x0eInboundMessage\x12P\n\x0f\x63ompile_request\x18\x02 \x01(\x0b\x32\x35.sass.embedded_protocol.InboundMessage.CompileRequestH\x00\x12\\\n\x15\x63\x61nonicalize_response\x18\x03 \x01(\x0b\x32;.sass.embedded_protocol.InboundMessage.CanonicalizeResponseH\x00\x12P\n\x0fimport_response\x18\x04 \x01(\x0b\x32\x35.sass.embedded_protocol.InboundMessage.ImportResponseH\x00\x12Y\n\x14\x66ile_import_response\x18\x05 \x01(\x0b\x32\x39.sass.embedded_protocol.InboundMessage.FileImportResponseH\x00\x12]\n\x16\x66unction_call_response\x18\x06 \x01(\x0b\x32;.sass.embedded_protocol.InboundMessage.FunctionCallResponseH\x00\x12P\n\x0fversion_request\x18\x07 \x01(\x0b\x32\x35.sass.embedded_protocol.InboundMessage.VersionRequestH\x00\x1a\x1c\n\x0eVersionRequest\x12\n\n\x02id\x18\x01 \x01(\r\x1a\x98\x07\n\x0e\x43ompileRequest\x12S\n\x06string\x18\x02 \x01(\x0b\x32\x41.sass.embedded_protocol.InboundMessage.CompileRequest.StringInputH\x00\x12\x0e\n\x04path\x18\x03 \x01(\tH\x00\x12\x32\n\x05style\x18\x04 \x01(\x0e\x32#.sass.embedded_protocol.OutputStyle\x12\x12\n\nsource_map\x18\x05 \x01(\x08\x12Q\n\timporters\x18\x06 \x03(\x0b\x32>.sass.embedded_protocol.InboundMessage.CompileRequest.Importer\x12\x18\n\x10global_functions\x18\x07 \x03(\t\x12\x13\n\x0b\x61lert_color\x18\x08 \x01(\x08\x12\x13\n\x0b\x61lert_ascii\x18\t \x01(\x08\x12\x0f\n\x07verbose\x18\n \x01(\x08\x12\x12\n\nquiet_deps\x18\x0b \x01(\x08\x12\"\n\x1asource_map_include_sources\x18\x0c \x01(\x08\x12\x0f\n\x07\x63harset\x18\r \x01(\x08\x12\x0e\n\x06silent\x18\x0e \x01(\x08\x12\x19\n\x11\x66\x61tal_deprecation\x18\x0f \x03(\t\x12\x1b\n\x13silence_deprecation\x18\x10 \x03(\t\x12\x1a\n\x12\x66uture_deprecation\x18\x11 \x03(\t\x1a\xac\x01\n\x0bStringInput\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12.\n\x06syntax\x18\x03 \x01(\x0e\x32\x1e.sass.embedded_protocol.Syntax\x12P\n\x08importer\x18\x04 \x01(\x0b\x32>.sass.embedded_protocol.InboundMessage.CompileRequest.Importer\x1a\xc5\x01\n\x08Importer\x12\x0e\n\x04path\x18\x01 \x01(\tH\x00\x12\x15\n\x0bimporter_id\x18\x02 \x01(\rH\x00\x12\x1a\n\x10\x66ile_importer_id\x18\x03 \x01(\rH\x00\x12L\n\x15node_package_importer\x18\x05 \x01(\x0b\x32+.sass.embedded_protocol.NodePackageImporterH\x00\x12\x1c\n\x14non_canonical_scheme\x18\x04 \x03(\tB\n\n\x08importerB\x07\n\x05inputJ\x04\x08\x01\x10\x02\x1ak\n\x14\x43\x61nonicalizeResponse\x12\n\n\x02id\x18\x01 \x01(\r\x12\r\n\x03url\x18\x02 \x01(\tH\x00\x12\x0f\n\x05\x65rror\x18\x03 \x01(\tH\x00\x12\x1d\n\x15\x63ontaining_url_unused\x18\x04 \x01(\x08\x42\x08\n\x06result\x1a\x93\x02\n\x0eImportResponse\x12\n\n\x02id\x18\x01 \x01(\r\x12V\n\x07success\x18\x02 \x01(\x0b\x32\x43.sass.embedded_protocol.InboundMessage.ImportResponse.ImportSuccessH\x00\x12\x0f\n\x05\x65rror\x18\x03 \x01(\tH\x00\x1a\x81\x01\n\rImportSuccess\x12\x10\n\x08\x63ontents\x18\x01 \x01(\t\x12.\n\x06syntax\x18\x02 \x01(\x0e\x32\x1e.sass.embedded_protocol.Syntax\x12\x1b\n\x0esource_map_url\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x11\n\x0f_source_map_urlB\x08\n\x06result\x1an\n\x12\x46ileImportResponse\x12\n\n\x02id\x18\x01 \x01(\r\x12\x12\n\x08\x66ile_url\x18\x02 \x01(\tH\x00\x12\x0f\n\x05\x65rror\x18\x03 \x01(\tH\x00\x12\x1d\n\x15\x63ontaining_url_unused\x18\x04 \x01(\x08\x42\x08\n\x06result\x1a\x90\x01\n\x14\x46unctionCallResponse\x12\n\n\x02id\x18\x01 \x01(\r\x12\x30\n\x07success\x18\x02 \x01(\x0b\x32\x1d.sass.embedded_protocol.ValueH\x00\x12\x0f\n\x05\x65rror\x18\x03 \x01(\tH\x00\x12\x1f\n\x17\x61\x63\x63\x65ssed_argument_lists\x18\x04 \x03(\rB\x08\n\x06resultB\t\n\x07message\"\xcb\x0f\n\x0fOutboundMessage\x12\x36\n\x05\x65rror\x18\x01 \x01(\x0b\x32%.sass.embedded_protocol.ProtocolErrorH\x00\x12S\n\x10\x63ompile_response\x18\x02 \x01(\x0b\x32\x37.sass.embedded_protocol.OutboundMessage.CompileResponseH\x00\x12\x45\n\tlog_event\x18\x03 \x01(\x0b\x32\x30.sass.embedded_protocol.OutboundMessage.LogEventH\x00\x12[\n\x14\x63\x61nonicalize_request\x18\x04 \x01(\x0b\x32;.sass.embedded_protocol.OutboundMessage.CanonicalizeRequestH\x00\x12O\n\x0eimport_request\x18\x05 \x01(\x0b\x32\x35.sass.embedded_protocol.OutboundMessage.ImportRequestH\x00\x12X\n\x13\x66ile_import_request\x18\x06 \x01(\x0b\x32\x39.sass.embedded_protocol.OutboundMessage.FileImportRequestH\x00\x12\\\n\x15\x66unction_call_request\x18\x07 \x01(\x0b\x32;.sass.embedded_protocol.OutboundMessage.FunctionCallRequestH\x00\x12S\n\x10version_response\x18\x08 \x01(\x0b\x32\x37.sass.embedded_protocol.OutboundMessage.VersionResponseH\x00\x1a\x8e\x01\n\x0fVersionResponse\x12\n\n\x02id\x18\x05 \x01(\r\x12\x18\n\x10protocol_version\x18\x01 \x01(\t\x12\x18\n\x10\x63ompiler_version\x18\x02 \x01(\t\x12\x1e\n\x16implementation_version\x18\x03 \x01(\t\x12\x1b\n\x13implementation_name\x18\x04 \x01(\t\x1a\xa2\x03\n\x0f\x43ompileResponse\x12Y\n\x07success\x18\x02 \x01(\x0b\x32\x46.sass.embedded_protocol.OutboundMessage.CompileResponse.CompileSuccessH\x00\x12Y\n\x07\x66\x61ilure\x18\x03 \x01(\x0b\x32\x46.sass.embedded_protocol.OutboundMessage.CompileResponse.CompileFailureH\x00\x12\x13\n\x0bloaded_urls\x18\x04 \x03(\t\x1a\x37\n\x0e\x43ompileSuccess\x12\x0b\n\x03\x63ss\x18\x01 \x01(\t\x12\x12\n\nsource_map\x18\x02 \x01(\tJ\x04\x08\x03\x10\x04\x1a{\n\x0e\x43ompileFailure\x12\x0f\n\x07message\x18\x01 \x01(\t\x12\x30\n\x04span\x18\x02 \x01(\x0b\x32\".sass.embedded_protocol.SourceSpan\x12\x13\n\x0bstack_trace\x18\x03 \x01(\t\x12\x11\n\tformatted\x18\x04 \x01(\tB\x08\n\x06resultJ\x04\x08\x01\x10\x02\x1a\xf1\x01\n\x08LogEvent\x12\x32\n\x04type\x18\x02 \x01(\x0e\x32$.sass.embedded_protocol.LogEventType\x12\x0f\n\x07message\x18\x03 \x01(\t\x12\x35\n\x04span\x18\x04 \x01(\x0b\x32\".sass.embedded_protocol.SourceSpanH\x00\x88\x01\x01\x12\x13\n\x0bstack_trace\x18\x05 \x01(\t\x12\x11\n\tformatted\x18\x06 \x01(\t\x12\x1d\n\x10\x64\x65precation_type\x18\x07 \x01(\tH\x01\x88\x01\x01\x42\x07\n\x05_spanB\x13\n\x11_deprecation_typeJ\x04\x08\x01\x10\x02\x1a\x8e\x01\n\x13\x43\x61nonicalizeRequest\x12\n\n\x02id\x18\x01 \x01(\r\x12\x13\n\x0bimporter_id\x18\x03 \x01(\r\x12\x0b\n\x03url\x18\x04 \x01(\t\x12\x13\n\x0b\x66rom_import\x18\x05 \x01(\x08\x12\x1b\n\x0e\x63ontaining_url\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x11\n\x0f_containing_urlJ\x04\x08\x02\x10\x03\x1a\x43\n\rImportRequest\x12\n\n\x02id\x18\x01 \x01(\r\x12\x13\n\x0bimporter_id\x18\x03 \x01(\r\x12\x0b\n\x03url\x18\x04 \x01(\tJ\x04\x08\x02\x10\x03\x1a\x8c\x01\n\x11\x46ileImportRequest\x12\n\n\x02id\x18\x01 \x01(\r\x12\x13\n\x0bimporter_id\x18\x03 \x01(\r\x12\x0b\n\x03url\x18\x04 \x01(\t\x12\x13\n\x0b\x66rom_import\x18\x05 \x01(\x08\x12\x1b\n\x0e\x63ontaining_url\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x11\n\x0f_containing_urlJ\x04\x08\x02\x10\x03\x1a\x8e\x01\n\x13\x46unctionCallRequest\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0e\n\x04name\x18\x03 \x01(\tH\x00\x12\x15\n\x0b\x66unction_id\x18\x04 \x01(\rH\x00\x12\x30\n\targuments\x18\x05 \x03(\x0b\x32\x1d.sass.embedded_protocol.ValueB\x0c\n\nidentifierJ\x04\x08\x02\x10\x03\x42\t\n\x07message\"e\n\rProtocolError\x12\x37\n\x04type\x18\x01 \x01(\x0e\x32).sass.embedded_protocol.ProtocolErrorType\x12\n\n\x02id\x18\x02 \x01(\r\x12\x0f\n\x07message\x18\x03 \x01(\t\"\x87\x02\n\nSourceSpan\x12\x0c\n\x04text\x18\x01 \x01(\t\x12@\n\x05start\x18\x02 \x01(\x0b\x32\x31.sass.embedded_protocol.SourceSpan.SourceLocation\x12\x43\n\x03\x65nd\x18\x03 \x01(\x0b\x32\x31.sass.embedded_protocol.SourceSpan.SourceLocationH\x00\x88\x01\x01\x12\x0b\n\x03url\x18\x04 \x01(\t\x12\x0f\n\x07\x63ontext\x18\x05 \x01(\t\x1a>\n\x0eSourceLocation\x12\x0e\n\x06offset\x18\x01 \x01(\r\x12\x0c\n\x04line\x18\x02 \x01(\r\x12\x0e\n\x06\x63olumn\x18\x03 \x01(\rB\x06\n\x04_end\"\xb2\x11\n\x05Value\x12\x36\n\x06string\x18\x01 \x01(\x0b\x32$.sass.embedded_protocol.Value.StringH\x00\x12\x36\n\x06number\x18\x02 \x01(\x0b\x32$.sass.embedded_protocol.Value.NumberH\x00\x12\x32\n\x04list\x18\x05 \x01(\x0b\x32\".sass.embedded_protocol.Value.ListH\x00\x12\x30\n\x03map\x18\x06 \x01(\x0b\x32!.sass.embedded_protocol.Value.MapH\x00\x12;\n\tsingleton\x18\x07 \x01(\x0e\x32&.sass.embedded_protocol.SingletonValueH\x00\x12K\n\x11\x63ompiler_function\x18\x08 \x01(\x0b\x32..sass.embedded_protocol.Value.CompilerFunctionH\x00\x12\x43\n\rhost_function\x18\t \x01(\x0b\x32*.sass.embedded_protocol.Value.HostFunctionH\x00\x12\x43\n\rargument_list\x18\n \x01(\x0b\x32*.sass.embedded_protocol.Value.ArgumentListH\x00\x12@\n\x0b\x63\x61lculation\x18\x0c \x01(\x0b\x32).sass.embedded_protocol.Value.CalculationH\x00\x12\x45\n\x0e\x63ompiler_mixin\x18\r \x01(\x0b\x32+.sass.embedded_protocol.Value.CompilerMixinH\x00\x12\x34\n\x05\x63olor\x18\x0e \x01(\x0b\x32#.sass.embedded_protocol.Value.ColorH\x00\x1a&\n\x06String\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x0e\n\x06quoted\x18\x02 \x01(\x08\x1a\x41\n\x06Number\x12\r\n\x05value\x18\x01 \x01(\x01\x12\x12\n\nnumerators\x18\x02 \x03(\t\x12\x14\n\x0c\x64\x65nominators\x18\x03 \x03(\t\x1a[\n\x05\x43olor\x12\r\n\x05space\x18\x01 \x01(\t\x12\x10\n\x08\x63hannel1\x18\x02 \x01(\x01\x12\x10\n\x08\x63hannel2\x18\x03 \x01(\x01\x12\x10\n\x08\x63hannel3\x18\x04 \x01(\x01\x12\r\n\x05\x61lpha\x18\x05 \x01(\x01\x1a\x87\x01\n\x04List\x12\x38\n\tseparator\x18\x01 \x01(\x0e\x32%.sass.embedded_protocol.ListSeparator\x12\x14\n\x0chas_brackets\x18\x02 \x01(\x08\x12/\n\x08\x63ontents\x18\x03 \x03(\x0b\x32\x1d.sass.embedded_protocol.Value\x1a\xa2\x01\n\x03Map\x12\x38\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\'.sass.embedded_protocol.Value.Map.Entry\x1a\x61\n\x05\x45ntry\x12*\n\x03key\x18\x01 \x01(\x0b\x32\x1d.sass.embedded_protocol.Value\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.sass.embedded_protocol.Value\x1a\x1e\n\x10\x43ompilerFunction\x12\n\n\x02id\x18\x01 \x01(\r\x1a-\n\x0cHostFunction\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tsignature\x18\x02 \x01(\t\x1a\x1b\n\rCompilerMixin\x12\n\n\x02id\x18\x01 \x01(\r\x1a\xa1\x02\n\x0c\x41rgumentList\x12\n\n\x02id\x18\x01 \x01(\r\x12\x38\n\tseparator\x18\x02 \x01(\x0e\x32%.sass.embedded_protocol.ListSeparator\x12/\n\x08\x63ontents\x18\x03 \x03(\x0b\x32\x1d.sass.embedded_protocol.Value\x12J\n\x08keywords\x18\x04 \x03(\x0b\x32\x38.sass.embedded_protocol.Value.ArgumentList.KeywordsEntry\x1aN\n\rKeywordsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.sass.embedded_protocol.Value:\x02\x38\x01\x1a\xef\x04\n\x0b\x43\x61lculation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12M\n\targuments\x18\x02 \x03(\x0b\x32:.sass.embedded_protocol.Value.Calculation.CalculationValue\x1a\x95\x02\n\x10\x43\x61lculationValue\x12\x36\n\x06number\x18\x01 \x01(\x0b\x32$.sass.embedded_protocol.Value.NumberH\x00\x12\x10\n\x06string\x18\x02 \x01(\tH\x00\x12\x17\n\rinterpolation\x18\x03 \x01(\tH\x00\x12S\n\toperation\x18\x04 \x01(\x0b\x32>.sass.embedded_protocol.Value.Calculation.CalculationOperationH\x00\x12@\n\x0b\x63\x61lculation\x18\x05 \x01(\x0b\x32).sass.embedded_protocol.Value.CalculationH\x00\x42\x07\n\x05value\x1a\xea\x01\n\x14\x43\x61lculationOperation\x12=\n\x08operator\x18\x01 \x01(\x0e\x32+.sass.embedded_protocol.CalculationOperator\x12H\n\x04left\x18\x02 \x01(\x0b\x32:.sass.embedded_protocol.Value.Calculation.CalculationValue\x12I\n\x05right\x18\x03 \x01(\x0b\x32:.sass.embedded_protocol.Value.Calculation.CalculationValueB\x07\n\x05value\"4\n\x13NodePackageImporter\x12\x1d\n\x15\x65ntry_point_directory\x18\x01 \x01(\t*+\n\x0bOutputStyle\x12\x0c\n\x08\x45XPANDED\x10\x00\x12\x0e\n\nCOMPRESSED\x10\x01*)\n\x06Syntax\x12\x08\n\x04SCSS\x10\x00\x12\x0c\n\x08INDENTED\x10\x01\x12\x07\n\x03\x43SS\x10\x02*?\n\x0cLogEventType\x12\x0b\n\x07WARNING\x10\x00\x12\x17\n\x13\x44\x45PRECATION_WARNING\x10\x01\x12\t\n\x05\x44\x45\x42UG\x10\x02*8\n\x11ProtocolErrorType\x12\t\n\x05PARSE\x10\x00\x12\n\n\x06PARAMS\x10\x01\x12\x0c\n\x08INTERNAL\x10\x02*?\n\rListSeparator\x12\t\n\x05\x43OMMA\x10\x00\x12\t\n\x05SPACE\x10\x01\x12\t\n\x05SLASH\x10\x02\x12\r\n\tUNDECIDED\x10\x03*/\n\x0eSingletonValue\x12\x08\n\x04TRUE\x10\x00\x12\t\n\x05\x46\x41LSE\x10\x01\x12\x08\n\x04NULL\x10\x02*A\n\x13\x43\x61lculationOperator\x12\x08\n\x04PLUS\x10\x00\x12\t\n\x05MINUS\x10\x01\x12\t\n\x05TIMES\x10\x02\x12\n\n\x06\x44IVIDE\x10\x03\x42#\n\x1f\x63om.sass_lang.embedded_protocolP\x01\x62\x06proto3"
9
9
 
10
10
  pool = Google::Protobuf::DescriptorPool.generated_pool
11
11
  pool.add_serialized_file(descriptor_data)
@@ -38,9 +38,7 @@ module Sass
38
38
  Value = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("sass.embedded_protocol.Value").msgclass
39
39
  Value::String = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("sass.embedded_protocol.Value.String").msgclass
40
40
  Value::Number = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("sass.embedded_protocol.Value.Number").msgclass
41
- Value::RgbColor = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("sass.embedded_protocol.Value.RgbColor").msgclass
42
- Value::HslColor = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("sass.embedded_protocol.Value.HslColor").msgclass
43
- Value::HwbColor = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("sass.embedded_protocol.Value.HwbColor").msgclass
41
+ Value::Color = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("sass.embedded_protocol.Value.Color").msgclass
44
42
  Value::List = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("sass.embedded_protocol.Value.List").msgclass
45
43
  Value::Map = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("sass.embedded_protocol.Value.Map").msgclass
46
44
  Value::Map::Entry = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("sass.embedded_protocol.Value.Map.Entry").msgclass
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "dependencies": {
3
- "sass": "1.77.8"
3
+ "sass": "1.79.3"
4
4
  }
5
5
  }
@@ -27,29 +27,32 @@ module Sass
27
27
  when Sass::Value::Color
28
28
  if obj.instance_eval { !defined?(@hue) }
29
29
  EmbeddedProtocol::Value.new(
30
- rgb_color: EmbeddedProtocol::Value::RgbColor.new(
31
- red: obj.red,
32
- green: obj.green,
33
- blue: obj.blue,
34
- alpha: obj.alpha.to_f
30
+ color: EmbeddedProtocol::Value::Color.new(
31
+ channel1: obj.red,
32
+ channel2: obj.green,
33
+ channel3: obj.blue,
34
+ alpha: obj.alpha.to_f,
35
+ space: 'rgb'
35
36
  )
36
37
  )
37
38
  elsif obj.instance_eval { !defined?(@saturation) }
38
39
  EmbeddedProtocol::Value.new(
39
- hwb_color: EmbeddedProtocol::Value::HwbColor.new(
40
- hue: obj.hue.to_f,
41
- whiteness: obj.whiteness.to_f,
42
- blackness: obj.blackness.to_f,
43
- alpha: obj.alpha.to_f
40
+ color: EmbeddedProtocol::Value::Color.new(
41
+ channel1: obj.hue.to_f,
42
+ channel2: obj.whiteness.to_f,
43
+ channel3: obj.blackness.to_f,
44
+ alpha: obj.alpha.to_f,
45
+ space: 'hwb'
44
46
  )
45
47
  )
46
48
  else
47
49
  EmbeddedProtocol::Value.new(
48
- hsl_color: EmbeddedProtocol::Value::HslColor.new(
49
- hue: obj.hue.to_f,
50
- saturation: obj.saturation.to_f,
51
- lightness: obj.lightness.to_f,
52
- alpha: obj.alpha.to_f
50
+ color: EmbeddedProtocol::Value::Color.new(
51
+ channel1: obj.hue.to_f,
52
+ channel2: obj.saturation.to_f,
53
+ channel3: obj.lightness.to_f,
54
+ alpha: obj.alpha.to_f,
55
+ space: 'hsl'
53
56
  )
54
57
  )
55
58
  end
@@ -130,27 +133,32 @@ module Sass
130
133
  )
131
134
  when :number
132
135
  Number.from_proto(obj)
133
- when :rgb_color
134
- Sass::Value::Color.new(
135
- red: obj.red,
136
- green: obj.green,
137
- blue: obj.blue,
138
- alpha: obj.alpha
139
- )
140
- when :hsl_color
141
- Sass::Value::Color.new(
142
- hue: obj.hue,
143
- saturation: obj.saturation,
144
- lightness: obj.lightness,
145
- alpha: obj.alpha
146
- )
147
- when :hwb_color
148
- Sass::Value::Color.new(
149
- hue: obj.hue,
150
- whiteness: obj.whiteness,
151
- blackness: obj.blackness,
152
- alpha: obj.alpha
153
- )
136
+ when :color
137
+ case obj.space
138
+ when 'rgb'
139
+ Sass::Value::Color.new(
140
+ red: obj.channel1,
141
+ green: obj.channel2,
142
+ blue: obj.channel3,
143
+ alpha: obj.alpha
144
+ )
145
+ when 'hsl'
146
+ Sass::Value::Color.new(
147
+ hue: obj.channel1,
148
+ saturation: obj.channel2,
149
+ lightness: obj.channel3,
150
+ alpha: obj.alpha
151
+ )
152
+ when 'hwb'
153
+ Sass::Value::Color.new(
154
+ hue: obj.channel1,
155
+ whiteness: obj.channel2,
156
+ blackness: obj.channel3,
157
+ alpha: obj.alpha
158
+ )
159
+ else
160
+ raise NotImplementedError, 'CSS Color Level 4 will be supported in a future release'
161
+ end
154
162
  when :argument_list
155
163
  Sass::Value::ArgumentList.new(
156
164
  obj.contents.map do |element|
data/lib/sass/compiler.rb CHANGED
@@ -62,7 +62,7 @@ module Sass
62
62
  # compilation to avoid deluging users in console noise. If you set verbose to +true+, it will instead print every
63
63
  # deprecation warning it encounters.
64
64
  # @return [CompileResult]
65
- # @raise [ArgumentError, CompileError]
65
+ # @raise [ArgumentError, CompileError, IOError]
66
66
  # @see https://sass-lang.com/documentation/js-api/functions/compile/
67
67
  def compile(path,
68
68
  load_paths: [],
@@ -142,7 +142,7 @@ module Sass
142
142
  # compilation to avoid deluging users in console noise. If you set verbose to +true+, it will instead print every
143
143
  # deprecation warning it encounters.
144
144
  # @return [CompileResult]
145
- # @raise [ArgumentError, CompileError]
145
+ # @raise [ArgumentError, CompileError, IOError]
146
146
  # @see https://sass-lang.com/documentation/js-api/functions/compilestring/
147
147
  def compile_string(source,
148
148
  importer: nil,
data/lib/sass/elf.rb CHANGED
@@ -7,26 +7,76 @@ module Sass
7
7
  # @see https://github.com/torvalds/linux/blob/HEAD/include/uapi/linux/elf.h
8
8
  # @see https://github.com/torvalds/linux/blob/HEAD/kernel/kexec_elf.c
9
9
  class ELF
10
- # rubocop:disable Naming/ConstantName
11
-
12
- # 32-bit ELF base types.
13
- Elf32_Addr = :__u32
14
- Elf32_Half = :__u16
15
- Elf32_Off = :__u32
16
- Elf32_Sword = :__s32
17
- Elf32_Word = :__u32
18
-
19
- # 64-bit ELF base types.
20
- Elf64_Addr = :__u64
21
- Elf64_Half = :__u16
22
- Elf64_SHalf = :__s16
23
- Elf64_Off = :__u64
24
- Elf64_Sword = :__s32
25
- Elf64_Word = :__u32
26
- Elf64_Xword = :__u64
27
- Elf64_Sxword = :__s64
10
+ module PackInfo
11
+ PACK_MAP = {
12
+ Elf32_Ehdr: 'S<2L<5S<6',
13
+ Elf64_Ehdr: 'S<2L<Q<3L<S<6',
14
+ Elf32_Phdr: 'L<8',
15
+ Elf64_Phdr: 'L<2Q<6'
16
+ }.freeze
17
+
18
+ SIZE_MAP = {
19
+ Elf32_Ehdr: 36,
20
+ Elf64_Ehdr: 48,
21
+ Elf32_Phdr: 32,
22
+ Elf64_Phdr: 56
23
+ }.freeze
24
+
25
+ STRUCT_MAP = {
26
+ Elf32_Ehdr: %i[
27
+ e_type
28
+ e_machine
29
+ e_version
30
+ e_entry
31
+ e_phoff
32
+ e_shoff
33
+ e_flags
34
+ e_ehsize
35
+ e_phentsize
36
+ e_phnum
37
+ e_shentsize
38
+ e_shnum
39
+ e_shstrndx
40
+ ].freeze,
41
+ Elf64_Ehdr: %i[
42
+ e_type
43
+ e_machine
44
+ e_version
45
+ e_entry
46
+ e_phoff
47
+ e_shoff
48
+ e_flags
49
+ e_ehsize
50
+ e_phentsize
51
+ e_phnum
52
+ e_shentsize
53
+ e_shnum
54
+ e_shstrndx
55
+ ].freeze,
56
+ Elf32_Phdr: %i[
57
+ p_type
58
+ p_offset
59
+ p_vaddr
60
+ p_paddr
61
+ p_filesz
62
+ p_memsz
63
+ p_flags
64
+ p_align
65
+ ].freeze,
66
+ Elf64_Phdr: %i[
67
+ p_type
68
+ p_flags
69
+ p_offset
70
+ p_vaddr
71
+ p_paddr
72
+ p_filesz
73
+ p_memsz
74
+ p_align
75
+ ].freeze
76
+ }.freeze
77
+ end
28
78
 
29
- # rubocop:enable Naming/ConstantName
79
+ private_constant :PackInfo
30
80
 
31
81
  # These constants are for the segment types stored in the image headers
32
82
  PT_NULL = 0
@@ -41,10 +91,6 @@ module Sass
41
91
  PT_HIOS = 0x6fffffff
42
92
  PT_LOPROC = 0x70000000
43
93
  PT_HIPROC = 0x7fffffff
44
- PT_GNU_EH_FRAME = (PT_LOOS + 0x474e550)
45
- PT_GNU_STACK = (PT_LOOS + 0x474e551)
46
- PT_GNU_RELRO = (PT_LOOS + 0x474e552)
47
- PT_GNU_PROPERTY = (PT_LOOS + 0x474e553)
48
94
 
49
95
  # These constants define the different elf file types
50
96
  ET_NONE = 0
@@ -57,66 +103,6 @@ module Sass
57
103
 
58
104
  EI_NIDENT = 16
59
105
 
60
- # rubocop:disable Naming/ConstantName
61
-
62
- Elf32_Ehdr = [
63
- [:unsigned_char, :e_ident, EI_NIDENT],
64
- [Elf32_Half, :e_type],
65
- [Elf32_Half, :e_machine],
66
- [Elf32_Word, :e_version],
67
- [Elf32_Addr, :e_entry],
68
- [Elf32_Off, :e_phoff],
69
- [Elf32_Off, :e_shoff],
70
- [Elf32_Word, :e_flags],
71
- [Elf32_Half, :e_ehsize],
72
- [Elf32_Half, :e_phentsize],
73
- [Elf32_Half, :e_phnum],
74
- [Elf32_Half, :e_shentsize],
75
- [Elf32_Half, :e_shnum],
76
- [Elf32_Half, :e_shstrndx]
77
- ].freeze
78
-
79
- Elf64_Ehdr = [
80
- [:unsigned_char, :e_ident, EI_NIDENT],
81
- [Elf64_Half, :e_type],
82
- [Elf64_Half, :e_machine],
83
- [Elf64_Word, :e_version],
84
- [Elf64_Addr, :e_entry],
85
- [Elf64_Off, :e_phoff],
86
- [Elf64_Off, :e_shoff],
87
- [Elf64_Word, :e_flags],
88
- [Elf64_Half, :e_ehsize],
89
- [Elf64_Half, :e_phentsize],
90
- [Elf64_Half, :e_phnum],
91
- [Elf64_Half, :e_shentsize],
92
- [Elf64_Half, :e_shnum],
93
- [Elf64_Half, :e_shstrndx]
94
- ].freeze
95
-
96
- Elf32_Phdr = [
97
- [Elf32_Word, :p_type],
98
- [Elf32_Off, :p_offset],
99
- [Elf32_Addr, :p_vaddr],
100
- [Elf32_Addr, :p_paddr],
101
- [Elf32_Word, :p_filesz],
102
- [Elf32_Word, :p_memsz],
103
- [Elf32_Word, :p_flags],
104
- [Elf32_Word, :p_align]
105
- ].freeze
106
-
107
- Elf64_Phdr = [
108
- [Elf64_Word, :p_type],
109
- [Elf64_Word, :p_flags],
110
- [Elf64_Off, :p_offset],
111
- [Elf64_Addr, :p_vaddr],
112
- [Elf64_Addr, :p_paddr],
113
- [Elf64_Xword, :p_filesz],
114
- [Elf64_Xword, :p_memsz],
115
- [Elf64_Xword, :p_align]
116
- ].freeze
117
-
118
- # rubocop:enable Naming/ConstantName
119
-
120
106
  # e_ident[] indexes
121
107
  EI_MAG0 = 0
122
108
  EI_MAG1 = 1
@@ -130,9 +116,9 @@ module Sass
130
116
 
131
117
  # EI_MAG
132
118
  ELFMAG0 = 0x7f
133
- ELFMAG1 = 'E'.ord
134
- ELFMAG2 = 'L'.ord
135
- ELFMAG3 = 'F'.ord
119
+ ELFMAG1 = 0x45
120
+ ELFMAG2 = 0x4c
121
+ ELFMAG3 = 0x46
136
122
  ELFMAG = [ELFMAG0, ELFMAG1, ELFMAG2, ELFMAG3].pack('C*')
137
123
  SELFMAG = 4
138
124
 
@@ -149,10 +135,35 @@ module Sass
149
135
 
150
136
  def initialize(buffer)
151
137
  @buffer = buffer
152
- @ehdr = read_ehdr
138
+
139
+ @ehdr = { e_ident: @buffer.read(EI_NIDENT).unpack('C*') }
140
+ raise ArgumentError unless @ehdr[:e_ident].slice(EI_MAG0, SELFMAG).pack('C*') == ELFMAG
141
+
142
+ case @ehdr[:e_ident][EI_CLASS]
143
+ when ELFCLASS32
144
+ elf_ehdr = :Elf32_Ehdr
145
+ elf_phdr = :Elf32_Phdr
146
+ when ELFCLASS64
147
+ elf_ehdr = :Elf64_Ehdr
148
+ elf_phdr = :Elf64_Phdr
149
+ else
150
+ raise ArgumentError
151
+ end
152
+
153
+ case @ehdr[:e_ident][EI_DATA]
154
+ when ELFDATA2LSB
155
+ little_endian = true
156
+ when ELFDATA2MSB
157
+ little_endian = false
158
+ else
159
+ raise ArgumentError
160
+ end
161
+
162
+ @ehdr.merge!(read(elf_ehdr, little_endian))
163
+
153
164
  @buffer.seek(@ehdr[:e_phoff], IO::SEEK_SET)
154
165
  @proghdrs = Array.new(@ehdr[:e_phnum]) do
155
- read_phdr
166
+ read(elf_phdr, little_endian)
156
167
  end
157
168
  end
158
169
 
@@ -185,75 +196,10 @@ module Sass
185
196
 
186
197
  private
187
198
 
188
- def file_class
189
- @ehdr[:e_ident][EI_CLASS]
190
- end
191
-
192
- def data_encoding
193
- @ehdr[:e_ident][EI_DATA]
194
- end
195
-
196
- def read_ehdr
197
- @ehdr = { e_ident: @buffer.read(EI_NIDENT).unpack('C*') }
198
- raise ArgumentError unless @ehdr[:e_ident].slice(EI_MAG0, SELFMAG).pack('C*') == ELFMAG
199
-
200
- case file_class
201
- when ELFCLASS32
202
- Elf32_Ehdr
203
- when ELFCLASS64
204
- Elf64_Ehdr
205
- else
206
- raise ArgumentError
207
- end.drop(1).to_h do |field|
208
- [field[1], read1(field[0])]
209
- end.merge!(@ehdr)
210
- end
211
-
212
- def read_phdr
213
- case file_class
214
- when ELFCLASS32
215
- Elf32_Phdr
216
- when ELFCLASS64
217
- Elf64_Phdr
218
- else
219
- raise ArgumentError
220
- end.to_h do |field|
221
- [field[1], read1(field[0])]
222
- end
223
- end
224
-
225
- def explicit_endian
226
- case data_encoding
227
- when ELFDATA2LSB
228
- '<'
229
- when ELFDATA2MSB
230
- '>'
231
- else
232
- raise ArgumentError
233
- end
234
- end
235
-
236
- def read1(type)
237
- case type
238
- when :__u8
239
- @buffer.read(1).unpack1('C')
240
- when :__u16
241
- @buffer.read(2).unpack1("S#{explicit_endian}")
242
- when :__u32
243
- @buffer.read(4).unpack1("L#{explicit_endian}")
244
- when :__u64
245
- @buffer.read(8).unpack1("Q#{explicit_endian}")
246
- when :__s8
247
- @buffer.read(1).unpack1('c')
248
- when :__s16
249
- @buffer.read(2).unpack1("s#{explicit_endian}")
250
- when :__s32
251
- @buffer.read(4).unpack1("l#{explicit_endian}")
252
- when :__s64
253
- @buffer.read(8).unpack1("q#{explicit_endian}")
254
- else
255
- raise ArgumentError
256
- end
199
+ def read(type, little_endian)
200
+ size = PackInfo::SIZE_MAP[type]
201
+ format = little_endian ? PackInfo::PACK_MAP[type] : PackInfo::PACK_MAP[type].tr('<', '>')
202
+ [PackInfo::STRUCT_MAP[type], @buffer.read(size).unpack(format)].transpose.to_h
257
203
  end
258
204
 
259
205
  INTERPRETER = begin
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Sass
4
4
  module Embedded
5
- VERSION = '1.77.8'
5
+ VERSION = '1.79.3'
6
6
  end
7
7
  end
@@ -51,8 +51,12 @@ module Sass
51
51
  font-family: monospace, monospace;
52
52
  white-space: pre;
53
53
  content: #{Serializer.serialize_quoted_string(content).gsub(/[^[:ascii:]][\h\t ]?/) do |match|
54
- replacement = "\\#{match.ord.to_s(16)}"
55
- replacement << " #{match[1]}" if match.length > 1
54
+ ordinal = match.ord
55
+ replacement = "\\#{ordinal.to_s(16)}"
56
+ if match.length > 1
57
+ replacement << ' ' if ordinal < 0x100000
58
+ replacement << match[1]
59
+ end
56
60
  replacement
57
61
  end};
58
62
  }
@@ -61,8 +65,8 @@ module Sass
61
65
  end
62
66
 
63
67
  # An exception thrown by Sass Script.
64
- # @!visibility private
65
68
  class ScriptError < StandardError
69
+ # @!visibility private
66
70
  def initialize(message, name = nil)
67
71
  super(name.nil? ? message : "$#{name}: #{message}")
68
72
  end
@@ -290,7 +290,7 @@ module Sass
290
290
 
291
291
  compatibility_error = lambda {
292
292
  unless other.nil?
293
- message = +"#{self} and"
293
+ message = "#{self} and"
294
294
  message << " $#{other_name}:" unless other_name.nil?
295
295
  message << " #{other} have incompatible units"
296
296
  message << " (one has units and the other doesn't)" if unitless? || other_unitless
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sass-embedded
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.77.8
4
+ version: 1.79.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - なつき
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-11 00:00:00.000000000 Z
11
+ date: 2024-09-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '4.26'
33
+ version: '4.27'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '4.26'
40
+ version: '4.27'
41
41
  description: A Ruby library that will communicate with Embedded Dart Sass using the
42
42
  Embedded Sass protocol.
43
43
  email:
@@ -101,8 +101,8 @@ licenses:
101
101
  - MIT
102
102
  metadata:
103
103
  bug_tracker_uri: https://github.com/sass-contrib/sass-embedded-host-ruby/issues
104
- documentation_uri: https://rubydoc.info/gems/sass-embedded/1.77.8
105
- source_code_uri: https://github.com/sass-contrib/sass-embedded-host-ruby/tree/v1.77.8
104
+ documentation_uri: https://rubydoc.info/gems/sass-embedded/1.79.3
105
+ source_code_uri: https://github.com/sass-contrib/sass-embedded-host-ruby/tree/v1.79.3
106
106
  funding_uri: https://github.com/sponsors/ntkme
107
107
  rubygems_mfa_required: 'true'
108
108
  post_install_message:
@@ -120,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
120
  - !ruby/object:Gem::Version
121
121
  version: '0'
122
122
  requirements: []
123
- rubygems_version: 3.5.15
123
+ rubygems_version: 3.5.19
124
124
  signing_key:
125
125
  specification_version: 4
126
126
  summary: Use dart-sass with Ruby!