Blame view

node_modules/node-sass/src/custom_function_bridge.cpp 812 Bytes
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
  #include <nan.h>
  #include <stdexcept>
  #include "custom_function_bridge.h"
  #include "sass_types/factory.h"
  #include "sass_types/value.h"
  
  Sass_Value* CustomFunctionBridge::post_process_return_value(v8::Local<v8::Value> _val) const {
    SassTypes::Value *value = SassTypes::Factory::unwrap(_val);
    if (value) {
      return value->get_sass_value();
    } else {
      return sass_make_error("A SassValue object was expected.");
    }
  }
  
  std::vector<v8::Local<v8::Value>> CustomFunctionBridge::pre_process_args(std::vector<void*> in) const {
    std::vector<v8::Local<v8::Value>> argv = std::vector<v8::Local<v8::Value>>();
  
    for (void* value : in) {
      Sass_Value* x = static_cast<Sass_Value*>(value);
      SassTypes::Value* y = SassTypes::Factory::create(x);
  
      argv.push_back(y->get_js_object());
    }
  
    return argv;
  }