Sha256: d53c1e3a06d11b83e31f0c1c8bc0127e8713cf7e861c1b9ef7544afe050c6e04

Contents?: true

Size: 1.29 KB

Versions: 33

Compression:

Stored size: 1.29 KB

Contents

#include <nan.h>
#include "string.h"
#include "../create_string.h"

namespace SassTypes
{
  String::String(Sass_Value* v) : SassValueWrapper(v) {}

  Sass_Value* String::construct(const std::vector<v8::Local<v8::Value>> raw_val, Sass_Value **out) {
    char const* value = "";

    if (raw_val.size() >= 1) {
      if (!raw_val[0]->IsString()) {
        return fail("Argument should be a string.", out);
      }

      value = create_string(raw_val[0]);
         *out = sass_make_string(value);
        delete value;
        return *out;

    } else {
        return *out = sass_make_string(value);
    }

  }

  void String::initPrototype(v8::Local<v8::FunctionTemplate> proto) {
    Nan::SetPrototypeMethod(proto, "getValue", GetValue);
    Nan::SetPrototypeMethod(proto, "setValue", SetValue);
  }

  NAN_METHOD(String::GetValue) {
    info.GetReturnValue().Set(Nan::New<v8::String>(sass_string_get_value(String::Unwrap<String>(info.This())->value)).ToLocalChecked());
  }

  NAN_METHOD(String::SetValue) {
    if (info.Length() != 1) {
      return Nan::ThrowTypeError("Expected just one argument");
    }

    if (!info[0]->IsString()) {
      return Nan::ThrowTypeError("Supplied value should be a string");
    }

    sass_string_set_value(String::Unwrap<String>(info.This())->value, create_string(info[0]));
  }
}

Version data entries

33 entries across 31 versions & 12 rubygems

Version Path
optimacms-0.1.61 spec/dummy/node_modules/@rails/webpacker/node_modules/node-sass/src/sass_types/string.cpp
optimacms-0.1.61 spec/dummy/node_modules/node-sass/src/sass_types/string.cpp
disco_app-0.18.0 test/dummy/node_modules/node-sass/src/sass_types/string.cpp
disco_app-0.18.2 test/dummy/node_modules/node-sass/src/sass_types/string.cpp
tang-0.2.1 spec/tang_app/node_modules/node-sass/src/sass_types/string.cpp
groonga-client-model-6.0.0 test/apps/rails6.1.3/node_modules/node-sass/src/sass_types/string.cpp
groonga-client-model-6.0.0 test/apps/rails6.0.3.5/node_modules/node-sass/src/sass_types/string.cpp
ruby2js-4.0.4 lib/tasks/testrails/node_modules/node-sass/src/sass_types/string.cpp
ruby2js-4.0.3 lib/tasks/testrails/node_modules/node-sass/src/sass_types/string.cpp
tang-0.2.0 spec/tang_app/node_modules/node-sass/src/sass_types/string.cpp
tang-0.1.0 spec/tang_app/node_modules/node-sass/src/sass_types/string.cpp
tang-0.0.9 spec/tang_app/node_modules/node-sass/src/sass_types/string.cpp
enju_library-0.3.8 spec/dummy/node_modules/node-sass/src/sass_types/string.cpp
ilog-0.4.1 node_modules/node-sass/src/sass_types/string.cpp
ilog-0.4.0 node_modules/node-sass/src/sass_types/string.cpp
ilog-0.3.3 node_modules/node-sass/src/sass_types/string.cpp
jester-data-8.0.0 node_modules/node-sass/src/sass_types/string.cpp
ezii-os-5.2.1 node_modules/node-sass/src/sass_types/string.cpp
ezii-os-2.0.1 node_modules/node-sass/src/sass_types/string.cpp
ezii-os-1.1.0 node_modules/node-sass/src/sass_types/string.cpp