Skip to content

Commit 7b2d8ad

Browse files
Sampson Gaomhdawson
authored andcommitted
Handle indentation in conversion
PR-URL: #171 Reviewed-By: Michael Dawson <[email protected]>
1 parent 51f00b1 commit 7b2d8ad

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

tools/conversion.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ const NodeApiVersion = require('../package.json').version;
1616

1717
var ConfigFileOperations = {
1818
'package.json': [
19-
[ /"dependencies": {/g, '"dependencies": {\n "node-addon-api": "' + NodeApiVersion + '",'],
19+
[ /([ ]*)"dependencies": {/g, '$1"dependencies": {\n$1 "node-addon-api": "' + NodeApiVersion + '",'],
2020
[ /[ ]*"nan": *"[^"]+"(,|)[\n\r]/g, '' ]
2121
],
2222
'binding.gyp': [
@@ -25,7 +25,7 @@ var ConfigFileOperations = {
2525
[ /([ ]*)'dependencies': \[/g, '$1\'dependencies\': [\n$1 \'<!(node -p "require(\\\'node-addon-api\\\').gyp")\','],
2626
[ /([ ]*)"dependencies": \[/g, '$1"dependencies": [\n$1 "<!(node -p \'require(\\\"node-addon-api\\\").gyp\')",'],
2727
[ /[ ]*("|')<!\(node -e ("|'|\\"|\\')require\(("|'|\\"|\\')nan("|'|\\"|\\')\)("|'|\\"|\\')\)("|')(,|)[\r\n]/g, '' ],
28-
[ /("|')target_name("|'): ("|')(.+?)("|'),/g, '$1target_name$2: $3$4$5,\n $1cflags!$1: [ $1-fno-exceptions$1 ],\n $1cflags_cc!$1: [ $1-fno-exceptions$1 ],' ],
28+
[ /([ ]*)("|')target_name("|'): ("|')(.+?)("|'),/g, '$2target_name$3: $4$5$6,\n$1 $2cflags!$2: [ $1-fno-exceptions$2 ],\n$1 $1cflags_cc!$2: [ $2-fno-exceptions$2 ],' ],
2929
]
3030
};
3131

@@ -47,12 +47,12 @@ var SourceFileOperations = [
4747
[ /FunctionTemplate/g, 'Napi::FunctionReference' ],
4848

4949

50-
[ /Nan::SetPrototypeMethod\(\w+, "(\w+)", (\w+)\);/g, ' InstanceMethod("$1", &$2),' ],
51-
[ /(?:\w+\.Reset\(\w+\);\s+)?\(target\)\.Set\("(\w+)",\s*Nan::GetFunction\((\w+)\)\);/gm,
50+
[ /([ ]*)Nan::SetPrototypeMethod\(\w+, "(\w+)", (\w+)\);/g, '$1InstanceMethod("$2", &$3),' ],
51+
[ /([ ]*)(?:\w+\.Reset\(\w+\);\s+)?\(target\)\.Set\("(\w+)",\s*Nan::GetFunction\((\w+)\)\);/gm,
5252
'});\n\n' +
53-
' constructor = Napi::Persistent($2);\n' +
54-
' constructor.SuppressDestruct();\n' +
55-
' target.Set("$1", $2);' ],
53+
'$1constructor = Napi::Persistent($3);\n' +
54+
'$1constructor.SuppressDestruct();\n' +
55+
'$1target.Set("$2", $3);' ],
5656

5757

5858
// TODO: Other attribute combinations
@@ -152,7 +152,7 @@ var SourceFileOperations = [
152152
[ /Nan::(Undefined|Null|True|False)\(\)/g, 'env.$1()' ],
153153

154154
// Nan::ThrowError(error) to Napi::Error::New(env, error).ThrowAsJavaScriptException()
155-
[ /return Nan::Throw(\w*?)Error\((.+?)\);/g, 'Napi::$1Error::New(env, $2).ThrowAsJavaScriptException();\n return env.Null();' ],
155+
[ /([ ]*)return Nan::Throw(\w*?)Error\((.+?)\);/g, '$1Napi::$2Error::New(env, $3).ThrowAsJavaScriptException();\n$1return env.Null();' ],
156156
[ /Nan::Throw(\w*?)Error\((.+?)\);\n(\s*)return;/g, 'Napi::$1Error::New(env, $2).ThrowAsJavaScriptException();\n$3return env.Null();' ],
157157
[ /Nan::Throw(\w*?)Error\((.+?)\);/g, 'Napi::$1Error::New(env, $2).ThrowAsJavaScriptException();\n' ],
158158
// Nan::RangeError(error) to Napi::RangeError::New(env, error)
@@ -193,7 +193,7 @@ var SourceFileOperations = [
193193
[ /::(Init(?:ialize)?)\(target\)/g, '::$1(env, target, module)' ],
194194
[ /constructor_template/g, 'constructor' ],
195195

196-
[ /Nan::FunctionCallbackInfo<(v8::)*Value>\s*&\s*info\)\s*{/g, 'Napi::CallbackInfo& info) {\n Napi::Env env = info.Env();' ],
196+
[ /Nan::FunctionCallbackInfo<(v8::)?Value>[ ]*& [ ]*info\)[ ]*{\n*([ ]*)/gm, 'Napi::CallbackInfo& info) {\n$2Napi::Env env = info.Env();\n$2' ],
197197
[ /Nan::FunctionCallbackInfo<(v8::)*Value>\s*&\s*info\);/g, 'Napi::CallbackInfo& info);' ],
198198

199199
[ /info\[(\d+)\]->/g, 'info[$1].' ],
@@ -209,7 +209,7 @@ var SourceFileOperations = [
209209
[ /Local<(Value|Boolean|String|Number|Object|Array|Symbol|External|Function)>/g, 'Napi::$1' ],
210210

211211
// Declare an env in helper functions that take a Napi::Value
212-
[ /(\w+)\(Napi::Value (\w+)(,\s*[^\()]+)?\)\s*{/g, '$1(Napi::Value $2$3) {\n Napi::Env env = $2.Env();' ],
212+
[ /(\w+)\(Napi::Value (\w+)(,\s*[^\()]+)?\)\s*{\n*([ ]*)/gm, '$1(Napi::Value $2$3) {\n$4Napi::Env env = $2.Env();\n$4' ],
213213

214214
// delete #include <node.h> and/or <v8.h>
215215
[ /#include +(<|")(?:node|nan).h("|>)/g, "#include $1napi.h$2\n#include $1uv.h$2" ],

0 commit comments

Comments
 (0)