Bladeren bron

* Namespaced fcl-json

Michaël Van Canneyt 1 jaar geleden
bovenliggende
commit
8b9c9cd5d6

+ 3 - 0
packages/fcl-json/namespaced/FpJson.Data.pp

@@ -0,0 +1,3 @@
+{$DEFINE FPC_DOTTEDUNITS}
+unit FpJson.Data;
+{$include ../src/fpjson.pp}

+ 3 - 0
packages/fcl-json/namespaced/FpJson.JS.pp

@@ -0,0 +1,3 @@
+{$DEFINE FPC_DOTTEDUNITS}
+unit FpJson.JS;
+{$include ../src/fpjsonjs.pas}

+ 16 - 12
packages/fcl-json/fpjson.pp → packages/fcl-json/src/fpjson.pp

@@ -12,22 +12,21 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
+unit fpjson;
+{$ENDIF}
+
 {$mode objfpc}
 {$h+}
-unit fpjson;
 
 interface
 
 uses
-  {$IFNDEF PAS2JS}
-  variants,
-  {$ENDIF}
-  {$IFDEF PAS2JS}
-  JS, RTLConsts, Types,
-  {$ENDIF}
-  SysUtils,
-  classes,
-  contnrs;
+{$IFDEF FPC_DOTTEDUNITS}
+  JSApi.JS, System.RTLConsts, System.Types, System.SysUtils, System.Classes, System.Contnrs;
+{$ELSE}
+  JS, RTLConsts, Types, SysUtils, classes, contnrs;
+{$EnDIF}
 
 type
   TJSONtype = (jtUnknown, jtNumber, jtString, jtBoolean, jtNull, jtArray, jtObject);
@@ -798,7 +797,12 @@ Function GetJSONStringParserHandler: TJSONStringParserHandler;
 
 implementation
 
-Uses typinfo;
+Uses 
+{$IFDEF FPC_DOTTEDUNITS}
+  System.Typinfo;
+{$ELSE}
+  typinfo;
+{$ENDIF}
 
 Resourcestring
   SErrCannotConvertFromNull = 'Cannot convert data from Null value';
@@ -1906,7 +1910,7 @@ end;
 
 function TJSONNull.GetValue: TJSONVariant;
 begin
-  Result:={$IFDEF PAS2JS}js.Null{$else}variants.Null{$ENDIF};
+  Result:={$IFDEF PAS2JS}{$IFDEF FPC_DOTTEDUNITS}JSApi.{$ENDIF}JS.Null{$else}variants.Null{$ENDIF};
 end;
 
 procedure TJSONNull.SetValue(const AValue: TJSONVariant);

+ 12 - 1
packages/fcl-json/fpjsonjs.pas → packages/fcl-json/src/fpjsonjs.pas

@@ -12,14 +12,20 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit fpjsonjs;
+{$ENDIF}
 
 {$mode objfpc}
 
 interface
 
 uses
+{$IFDEF FPC_DOTTEDUNITS}
+  System.Classes, System.Types, FpJson.Data;
+{$ELSE}
   Classes, Types, fpjson;
+{$ENDIF}
 
 Function JSValueToJSONData(aValue : JSValue) : TJSONData;
 Procedure HookGetJSONCallBack;
@@ -27,7 +33,12 @@ Procedure UnHookGetJSONCallBack;
 
 implementation
 
-Uses JS;
+Uses 
+{$IFDEF FPC_DOTTEDUNITS}
+  JSApi.JS;
+{$ELSE}
+  JS;
+{$ENDIF}
 
 function JSValueToJSONData(aValue: JSValue): TJSONData;