Skip to content

Instantly share code, notes, and snippets.

@mscdex
Forked from thlorenz/update_to_nan_v2.0.x.sh
Created August 30, 2015 05:55
Show Gist options
  • Save mscdex/ceca401c7666fa922f88 to your computer and use it in GitHub Desktop.
Save mscdex/ceca401c7666fa922f88 to your computer and use it in GitHub Desktop.

Revisions

  1. mscdex revised this gist Aug 30, 2015. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions update_to_nan_v2.0.x.sh
    Original file line number Diff line number Diff line change
    @@ -39,6 +39,7 @@ replacements=(
    "NanAdjustExternalMemory/Nan::AdjustExternalMemory"
    "NanSetTemplate/Nan::SetTemplate"
    "NanHasInstance\\(([^,]+),\\s*([^)]+)\\)/Nan::New(\\1)->HasInstance(\\2)"
    "NanAsciiString/Nan::Utf8String"
    )

    os=`uname`
  2. @thlorenz thlorenz revised this gist Aug 20, 2015. 1 changed file with 1 addition and 2 deletions.
    3 changes: 1 addition & 2 deletions update_to_nan_v2.0.x.sh
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,5 @@
    #!/bin/bash

    files=$@
    replacements=(
    "NanAsyncWorker/Nan::AsyncWorker"
    "NanAsyncQueueWorker/Nan::AsyncQueueWorker"
    @@ -48,7 +47,7 @@ then sed_flag='-E'
    else sed_flag='-r'
    fi

    for file in $files; do
    for file in "$@"; do
    echo $file
    for replacement in "${replacements[@]}"; do
    cat $file | sed $sed_flag "s/${replacement}/g" > $file.$$ && mv $file.$$ $file
  3. @thlorenz thlorenz renamed this gist Aug 20, 2015. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  4. @thlorenz thlorenz created this gist Aug 20, 2015.
    56 changes: 56 additions & 0 deletions update_nan_v2.0.x.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,56 @@
    #!/bin/bash

    files=$@
    replacements=(
    "NanAsyncWorker/Nan::AsyncWorker"
    "NanAsyncQueueWorker/Nan::AsyncQueueWorker"
    "NanCallback/Nan::Callback"
    "NanSetInternalFieldPointer/Nan::SetInternalFieldPointer"
    "NanGetInternalFieldPointer/Nan::GetInternalFieldPointer"
    "NanNewBufferHandle\\(([^;]+);/Nan::NewBuffer(\\1.ToLocalChecked();"
    "(NanNew(<(v8::)?String>)?\\(\"[^\"]*\"\\))/\\1.ToLocalChecked()"
    "(NanNew<(v8::)?String>\\([^\"][^\;]*);/\\1.ToLocalChecked();"
    "NanNew/Nan::New"
    "NODE_SET_PROTOTYPE_METHOD/Nan::SetPrototypeMethod"
    "NODE_SET_METHOD/Nan::SetMethod"
    "_NAN_METHOD_ARGS_TYPE/Nan::NAN_METHOD_ARGS_TYPE"
    "(\\W)?args(\\W|\\.|\\[)/\\1info\\2"
    "(^|\\s)(v8::)?Persistent/\\1Nan::Persistent"
    "NanAssignPersistent(<\w+>)?\\(([^,]+),\\s*([^)]+)\\)/\\2.Reset(\\3)"
    "NanDisposePersistent\\(([^\\)]+)\\)/\\1.Reset()"
    "NanReturnValue/info.GetReturnValue().Set"
    "NanReturnNull\\(\\)/info.GetReturnValue().Set(Nan::Null())"
    "NanScope\\(\\)/Nan::HandleScope\ scope"
    "NanEscapableScope\\(\\)/Nan::EscapableHandleScope scope"
    "NanEscapeScope/scope.Escape"
    "NanReturnUndefined\\(\\);/return;"
    "NanUtf8String/Nan::Utf8String"
    "NanObjectWrapHandle\\(([^\\)]+)\\)/\\1->handle()"
    "(node::)?ObjectWrap/Nan::ObjectWrap"
    "NanMakeCallback/Nan::MakeCallback"
    "NanNull/Nan::Null"
    "NanUndefined/Nan::Undefined"
    "NanFalse/Nan::False"
    "NanTrue/Nan::True"
    "NanThrow(\w+)?Error/Nan::Throw\\1Error"
    "NanThrowTypeError/Nan::ThrowTypeError"
    "NanError/Nan::Error"
    "NanGetCurrentContext/Nan::GetCurrentContext"
    "([a-zA-Z0-9_]+)->SetAccessor\\(/Nan::SetAccessor(\\1, "
    "NanAdjustExternalMemory/Nan::AdjustExternalMemory"
    "NanSetTemplate/Nan::SetTemplate"
    "NanHasInstance\\(([^,]+),\\s*([^)]+)\\)/Nan::New(\\1)->HasInstance(\\2)"
    )

    os=`uname`
    if [ $os == 'Darwin' ];
    then sed_flag='-E'
    else sed_flag='-r'
    fi

    for file in $files; do
    echo $file
    for replacement in "${replacements[@]}"; do
    cat $file | sed $sed_flag "s/${replacement}/g" > $file.$$ && mv $file.$$ $file
    done
    done