@@ -22,6 +22,9 @@ function x509(){
2222 obj . initmod = function ( ...params ) {
2323
2424 params . forEach ( params => {
25+
26+ 'forge' in params && ( forge = params . forge ) ;
27+
2528 } ) ;
2629
2730 //function rd(params,name,value){return ((name in params) && params[name]!==undefined) ? params[name] : value}
@@ -35,6 +38,9 @@ function x509(){
3538 var platform = typeof document == 'undefined' ? 'node' : 'browser' ;
3639 console . log ( 'platform' , platform ) ;
3740 var crypto ;
41+ var forge ;
42+
43+
3844
3945
4046 var libs = { } ;
@@ -74,6 +80,7 @@ function x509(){
7480
7581 libs . browser = async function ( ) {
7682
83+ if ( forge ) return ;
7784 ( { forge} = await import ( 'https://libs.ext-code.com/external/js/node-forge/node-forge.m.js' ) ) ;
7885
7986 } //libs
@@ -718,6 +725,15 @@ browser
718725 } //key_cert
719726
720727
728+
729+
730+
731+
732+
733+
734+ //:
735+
736+
721737 function datatype ( v ) {
722738
723739 var str = Object . prototype . toString . call ( v ) ;
@@ -728,8 +744,74 @@ browser
728744
729745
730746
747+
748+
749+
750+
751+
731752 //:
732753
754+
755+ function debug ( ...args ) {
756+
757+ if ( ! df && ! obj . df ) return ;
758+ args . unshift ( `[ ${ did } ]` ) ;
759+ var fmt = Array . from ( { length :args . length } ) . fill ( '%O' ) . join ( ' ' ) ;
760+ var args2 = [ fmt ] . concat ( args ) ;
761+ console . groupCollapsed . apply ( console , args2 ) ;
762+ console . trace ( ) ;
763+ console . groupEnd ( ) ;
764+
765+ } //debug
766+
767+
768+ debug . log = function ( ) { debug . apply ( null , arguments ) }
769+
770+
771+ debug . json = function ( v ) {
772+
773+ var err ;
774+ try {
775+
776+ var str = JSON . stringify ( v , null , 4 ) ;
777+
778+ } //try
779+ catch ( err2 ) {
780+
781+ err = err2 ;
782+
783+ } //catch
784+ if ( err ) {
785+ var error = err . toString ( ) ;
786+ debug ( error ) ;
787+ } else {
788+ debug ( str ) ;
789+ }
790+
791+ } //json
792+
793+
794+ debug . hex = function ( ...args ) {
795+
796+ args . forEach ( v => {
797+
798+ var args = [ v ] ;
799+ v = v . toString ( ) ;
800+ var hex = [ ...v ] . map ( c => c . charCodeAt ( 0 ) . toString ( 16 ) . padStart ( 2 , '0' ) ) . join ( ' ' ) ;
801+ args . push ( 'hex:' , hex ) ;
802+ debug . apply ( null , args ) ;
803+
804+ } ) ;
805+
806+ } //hex
807+
808+
809+
810+
811+
812+ //:
813+
814+
733815 return obj ;
734816
735817//x509-encrypt-decrypt
0 commit comments