Skip to content

Buffer is not defined when calling randomBytes(16) #1

@dali-gharbi

Description

@dali-gharbi

Hi actually i am trying to generate uuid using randombytes

but i got undefined in the plugin :

System.err: ReferenceError: Buffer is not defined
System.err: File: "file:///data/data/com.perfony.testOuat/files/app/tns_modules/nativescript-sentry/angular/error.handler.js, line: 18, column: 8
System.err: 
System.err: StackTrace: 

System.err: 	Frame: function:'module.exports', file:'file:///data/data/com.perfony.testOuat/files/app/tns_modules/nativescript-randombytes/randombytes-native.js', line: 4, column: 17
System.err: 	Frame: function:'v4', file:'file:///data/data/com.perfony.testOuat/files/app/database/database.manager.js', line: 220, column: 58

System.err: 	Frame: function:'DatabaseManager.uuidV4', file:'file:///data/data/com.perfony.testOuat/files/app/database/database.manager.js', line: 234, column: 16

System.err: 	Frame: function:'DatabaseManager.generateUUID', file:'file:///data/data/com.perfony.testOuat/files/app/database/database.manager.js', line: 266, column: 21
System.err: 	Frame: function:'ParametersComponent.exec', file:'file:///data/data/com.perfony.testOuat/files/app/pages/parameters/parameters.component.js', line: 23, column: 42

System.err: 	Frame: function:'', file:'', line: 52, column: 27

System.err: 	Frame: function:'handleEvent', file:'file:///data/data/com.perfony.testOuat/files/app/tns_modules/@angular/core/bundles/core.umd.js', line: 12079, column: 138
System.err: 	Frame: function:'callWithDebugContext', file:'file:///data/data/com.perfony.testOuat/files/app/tns_modules/@angular/core/bundles/core.umd.js', line: 13540, column: 42

System.err: 	Frame: function:'debugHandleEvent', file:'file:///data/data/com.perfony.testOuat/files/app/tns_modules/@angular/core/bundles/core.umd.js', line: 13128, column: 12
System.err: 	Frame: function:'dispatchEvent', file:'file:///data/data/com.perfony.testOuat/files/app/tns_modules/@angular/core/bundles/core.umd.js', line: 8691, column: 21
System.err: 	Frame: function:'', file:'file:///data/data/com.perfony.testOuat/files/app/tns_modules/@angular/core/bundles/core.umd.js', line: 9302, column: 20
System.err: 	Frame: function:'', file:'file:///data/data/com.perfony.testOuat/files/app/tns_modules/nativescript-angular/renderer.js', line: 175, column: 26

System.err: 	Frame: function:'ZoneDelegate.invoke', file:'file:///data/data/com.perfony.testOuat/files/app/tns_modules/nativescript-angular/zone-js/dist/zone-nativescript.js', line: 365, column: 26
System.err: 	Frame: function:'onInvoke', file:'file:///data/data/com.perfony.testOuat/files/app/tns_modules/@angular/core/bundles/core.umd.js', line: 3965, column: 37

System.err: 	Frame: function:'ZoneDelegate.invoke', file:'file:///data/data/com.perfony.testOuat/files/app/tns_modules/nativescript-angular/zone-js/dist/zone-nativescript.js', line: 364, column: 32
System.err: 	Frame: function:'Zone.run', file:'file:///data/data/com.perfony.testOuat/files/app/tns_modules/nativescript-angular/zone-js/dist/zone-nativescript.js', line: 125, column: 43

System.err: 	Frame: function:'NgZone.run', file:'file:///data/data/com.perfony.testOuat/files/app/tns_modules/@angular/core/bundles/core.umd.js', line: 3833, column: 62

System.err: 	Frame: function:'zonedCallback', file:'file:///data/data/com.perfony.testOuat/files/app/tns_modules/nativescript-angular/renderer.js', line: 174, column: 24
System.err: 	Frame: function:'Observable.notify', file:'file:///data/data/com.perfony.testOuat/files/app/tns_modules/tns-core-modules/data/observable/observable.js', line: 103, column: 23
System.err: 	Frame: function:'Observable._emit', file:'file:///data/data/com.perfony.testOuat/files/app/tns_modules/tns-core-modules/data/observable/observable.js', line: 120, column: 18
System.err: 	Frame: function:'ClickListenerImpl.onClick', file:'file:///data/data/com.perfony.testOuat/files/app/tns_modules/tns-core-modules/ui/button/button.js', line: 24, column: 24
System.err: 
System.err: 	at com.tns.Runtime.callJSMethodNative(Native Method)
System.err: 	at com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1084)
System.err: 	at com.tns.Runtime.callJSMethodImpl(Runtime.java:966)
System.err: 	at com.tns.Runtime.callJSMethod(Runtime.java:953)
System.err: 	at com.tns.Runtime.callJSMethod(Runtime.java:937)
System.err: 	at com.tns.Runtime.callJSMethod(Runtime.java:929)
System.err: 	at com.tns.gen.java.lang.Object_frnal_ts_helpers_l58_c38__ClickListenerImpl.onClick(Object_frnal_ts_helpers_l58_c38__ClickListenerImpl.java:12)
System.err: 	at android.view.View.performClick(View.java:6213)
System.err: 	at android.widget.TextView.performClick(TextView.java:11074)
System.err: 	at android.view.View$PerformClick.run(View.java:23645)
System.err: 	at android.os.Handler.handleCallback(Handler.java:751)
System.err: 	at android.os.Handler.dispatchMessage(Handler.java:95)
System.err: 	at android.os.Looper.loop(Looper.java:154)
System.err: 	at android.app.ActivityThread.main(ActivityThread.java:6692)
System.err: 	at java.lang.reflect.Method.invoke(Native Method)
System.err: 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
System.err: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
JS: NativeScriptError: Error: The application crashed because of an uncaught exception. You can look at "stackTrace" or "nativeException" for more detailed information about the exception.

this is my code to generate uuid v4

let randomBytes = require('nativescript-randombytes');
private uuidV4(Extoptions, Extbuf, Extoffset) {
        let byteToHex = [];
        for (let i = 0; i < 256; ++i) {
          byteToHex[i] = (i + 0x100).toString(16).substr(1);
        }
        function bytesToUuid(buf, offset?) {
          let i = offset || 0;
          let bth = byteToHex;
          return  bth[buf[i++]] + bth[buf[i++]] +
                  bth[buf[i++]] + bth[buf[i++]] + '-' +
                  bth[buf[i++]] + bth[buf[i++]] + '-' +
                  bth[buf[i++]] + bth[buf[i++]] + '-' +
                  bth[buf[i++]] + bth[buf[i++]] + '-' +
                  bth[buf[i++]] + bth[buf[i++]] +
                  bth[buf[i++]] + bth[buf[i++]] +
                  bth[buf[i++]] + bth[buf[i++]];
        }
         function v4(options, buf, offset) {
          let i = buf && offset || 0;

          // tslint:disable-next-line:triple-equals
          if (typeof(options) == 'string') {
            // tslint:disable-next-line:triple-equals
            buf = options == 'binary' ? new Array(16) : null;
            options = null;
          }
          options = options || {};

          let rnds = options.random || (options.rng || randomBytes(16))();

          // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
          // tslint:disable-next-line:no-bitwise
          rnds[6] = (rnds[6] & 0x0f) | 0x40;
          // tslint:disable-next-line:no-bitwise
          rnds[8] = (rnds[8] & 0x3f) | 0x80;

          // Copy bytes to buffer, if provided
          if (buf) {
            for (let ii = 0; ii < 16; ++ii) {
              buf[i + ii] = rnds[ii];
            }
          }

          return buf || bytesToUuid(rnds);
        }
        return v4(Extoptions, Extbuf, Extoffset);
    }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions