java-bridge 2.2.3 → 2.3.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -66
- package/dist/{ts-src/index.d.ts → index.d.ts} +0 -4
- package/dist/index.prod.min.js +1 -1
- package/dist/index.prod.min.js.map +1 -1
- package/java-src/build/libs/JavaBridge-2.1.1.jar +0 -0
- package/package.json +19 -27
- package/dist/java-ts-gen.js +0 -3
- package/dist/java-ts-gen.js.map +0 -1
- package/dist/ts-src/TypescriptBulkDefinitionGenerator.d.ts +0 -53
- package/dist/ts-src/TypescriptDefinitionGenerator.d.ts +0 -93
- package/dist/ts-src/scripts/cli.d.ts +0 -1
- /package/dist/{ts-src/definitions.d.ts → definitions.d.ts} +0 -0
- /package/dist/{ts-src/java.d.ts → java.d.ts} +0 -0
- /package/dist/{ts-src/nativeLib.d.ts → nativeLib.d.ts} +0 -0
- /package/dist/{ts-src/util.d.ts → util.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -15,6 +15,8 @@ loads the jvm native library dynamically when the program first starts up.
|
|
|
15
15
|
|
|
16
16
|
The full documentation of this package is available [here](https://markusjx.github.io/node-java-bridge/).
|
|
17
17
|
|
|
18
|
+
The bindings to java are located in a separate package, [java-rs](https://github.com/MarkusJx/java-rs).
|
|
19
|
+
|
|
18
20
|
**NOTE: As of version `2.1.0`, this package has been renamed from `@markusjx/java` to `java-bridge`.**
|
|
19
21
|
|
|
20
22
|
## Installation
|
|
@@ -53,6 +55,10 @@ npm run build
|
|
|
53
55
|
| Windows | ✅ | ✅ | - | - |
|
|
54
56
|
| macOS | - | ✅ | - | ✅ |
|
|
55
57
|
|
|
58
|
+
Supported linux distros
|
|
59
|
+
* Ubuntu `>= 20.04`
|
|
60
|
+
* Debian `>= bullseye`
|
|
61
|
+
|
|
56
62
|
## Usage
|
|
57
63
|
|
|
58
64
|
### Example: Hello world from Java
|
|
@@ -282,69 +288,6 @@ const guard = stdout.enableRedirect(
|
|
|
282
288
|
|
|
283
289
|
## Command line interface
|
|
284
290
|
|
|
285
|
-
This module also
|
|
286
|
-
The command line interface
|
|
287
|
-
|
|
288
|
-
### Installation
|
|
289
|
-
|
|
290
|
-
```bash
|
|
291
|
-
npm install -g java-bridge
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
### Usage
|
|
295
|
-
|
|
296
|
-
```
|
|
297
|
-
java-ts-gen <output> <classnames..>
|
|
298
|
-
|
|
299
|
-
Positionals:
|
|
300
|
-
classnames The fully qualified class name(s) to convert [string]
|
|
301
|
-
output The output file [string]
|
|
302
|
-
|
|
303
|
-
Options:
|
|
304
|
-
--help Show help [boolean]
|
|
305
|
-
--version Show version number [boolean]
|
|
306
|
-
--classpath, --cp The classpath to use [string]
|
|
307
|
-
```
|
|
308
|
-
|
|
309
|
-
### Notes
|
|
310
|
-
|
|
311
|
-
- The classpath argument can be supplied multiple times to add multiple jars to the classpath
|
|
312
|
-
- Multiple class names can be supplied to generate definitions for multiple classes
|
|
313
|
-
- The generated typescript files will automatically import all classes once the module is loaded.
|
|
314
|
-
|
|
315
|
-
### Examples
|
|
316
|
-
|
|
317
|
-
#### Generate definitions for a single class
|
|
318
|
-
|
|
319
|
-
Generate definitions for the `java.lang.String` class and all its referenced classes and save them to `./project`:
|
|
320
|
-
|
|
321
|
-
```bash
|
|
322
|
-
java-ts-gen ./project java.lang.String
|
|
323
|
-
```
|
|
324
|
-
|
|
325
|
-
This will create a directory called `java` containing the definitions for the `java.lang.String` class and all its
|
|
326
|
-
dependencies all inside subdirectories. The `java.lang.String` class will be saved to `./project/java/lang/String.ts`.
|
|
327
|
-
Thus, the folder structure of `project` will look something like this:
|
|
328
|
-
|
|
329
|
-
```
|
|
330
|
-
.
|
|
331
|
-
├── ...
|
|
332
|
-
├── java
|
|
333
|
-
│ ├── lang
|
|
334
|
-
│ │ ├── String.ts
|
|
335
|
-
│ │ ├── Object.ts
|
|
336
|
-
│ │ └── ...
|
|
337
|
-
│ ├── util
|
|
338
|
-
│ │ └── ...
|
|
339
|
-
│ └── ...
|
|
340
|
-
└── ...
|
|
341
|
-
```
|
|
342
|
-
|
|
343
|
-
#### Generate definitions for multiple classes
|
|
344
|
-
|
|
345
|
-
Generate definitions for the `java.lang.String` and `java.util.ArrayList` classes and all of their dependencies
|
|
346
|
-
and save them to `./project`:
|
|
347
|
-
|
|
348
|
-
```bash
|
|
349
|
-
java-ts-gen ./project java.lang.String java.util.ArrayList
|
|
350
|
-
```
|
|
291
|
+
This module also provides a command line interface that allows you to generate typescript definitions for your java classes.
|
|
292
|
+
The command line interface is called `java-ts-definition-generator` and can be installed using `npm install -g java-ts-definition-generator`.
|
|
293
|
+
The full documentation can be found [here](https://github.com/MarkusJx/java-ts-definition-generator).
|
|
@@ -11,7 +11,3 @@ import * as java from './java';
|
|
|
11
11
|
export default java;
|
|
12
12
|
export { getJavaLibPath, InterfaceProxyOptions } from '../native';
|
|
13
13
|
export { getJavaVersion, getJavaVersionSync } from './util';
|
|
14
|
-
import TypescriptDefinitionGenerator from './TypescriptDefinitionGenerator';
|
|
15
|
-
export { TypescriptDefinitionGenerator };
|
|
16
|
-
export { TypescriptBulkDefinitionGenerator } from './TypescriptBulkDefinitionGenerator';
|
|
17
|
-
export { ModuleDeclaration, MethodDeclaration, ProgressCallback, } from './TypescriptDefinitionGenerator';
|
package/dist/index.prod.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.java=t():e.java=t()}(global,(()=>(()=>{var e={388:(e,t,a)=>{e=a.nmd(e);try{process.dlopen(e,__dirname+a(17).sep+a.p+"java.linux-x64-gnu.node")}catch(e){throw new Error("node-loader:\n"+e)}},163:(e,t,a)=>{const{existsSync:r,readFileSync:n}=a(147),{join:i}=a(17),{platform:o,arch:s}=process;let c=null,d=!1,l=null;function u(){if(process.report&&"function"==typeof process.report.getReport){const{glibcVersionRuntime:e}=process.report.getReport().header;return!e}try{const e=a(81).execSync("which ldd").toString().trim();return n(e,"utf8").includes("musl")}catch(e){return!0}}switch(o){case"android":switch(s){case"arm64":d=r(i(__dirname,"java.android-arm64.node"));try{c=d?a(Object(function(){var e=new Error("Cannot find module './java.android-arm64.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-android-arm64")}catch(e){l=e}break;case"arm":d=r(i(__dirname,"java.android-arm-eabi.node"));try{c=d?a(Object(function(){var e=new Error("Cannot find module './java.android-arm-eabi.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-android-arm-eabi")}catch(e){l=e}break;default:throw new Error(`Unsupported architecture on Android ${s}`)}break;case"win32":switch(s){case"x64":d=r(i(__dirname,"java.win32-x64-msvc.node"));try{c=d?a(Object(function(){var e=new Error("Cannot find module './java.win32-x64-msvc.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-win32-x64-msvc")}catch(e){l=e}break;case"ia32":d=r(i(__dirname,"java.win32-ia32-msvc.node"));try{c=d?a(Object(function(){var e=new Error("Cannot find module './java.win32-ia32-msvc.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-win32-ia32-msvc")}catch(e){l=e}break;case"arm64":d=r(i(__dirname,"java.win32-arm64-msvc.node"));try{c=d?a(Object(function(){var e=new Error("Cannot find module './java.win32-arm64-msvc.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-win32-arm64-msvc")}catch(e){l=e}break;default:throw new Error(`Unsupported architecture on Windows: ${s}`)}break;case"darwin":d=r(i(__dirname,"java.darwin-universal.node"));try{c=d?a(Object(function(){var e=new Error("Cannot find module './java.darwin-universal.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-darwin-universal");break}catch{}switch(s){case"x64":d=r(i(__dirname,"java.darwin-x64.node"));try{c=d?a(Object(function(){var e=new Error("Cannot find module './java.darwin-x64.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-darwin-x64")}catch(e){l=e}break;case"arm64":d=r(i(__dirname,"java.darwin-arm64.node"));try{c=d?a(Object(function(){var e=new Error("Cannot find module './java.darwin-arm64.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-darwin-arm64")}catch(e){l=e}break;default:throw new Error(`Unsupported architecture on macOS: ${s}`)}break;case"freebsd":if("x64"!==s)throw new Error(`Unsupported architecture on FreeBSD: ${s}`);d=r(i(__dirname,"java.freebsd-x64.node"));try{c=d?a(Object(function(){var e=new Error("Cannot find module './java.freebsd-x64.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-freebsd-x64")}catch(e){l=e}break;case"linux":switch(s){case"x64":if(u()){d=r(i(__dirname,"java.linux-x64-musl.node"));try{c=d?a(Object(function(){var e=new Error("Cannot find module './java.linux-x64-musl.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-linux-x64-musl")}catch(e){l=e}}else{d=r(i(__dirname,"java.linux-x64-gnu.node"));try{c=d?a(388):require("java-bridge-linux-x64-gnu")}catch(e){l=e}}break;case"arm64":if(u()){d=r(i(__dirname,"java.linux-arm64-musl.node"));try{c=d?a(Object(function(){var e=new Error("Cannot find module './java.linux-arm64-musl.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-linux-arm64-musl")}catch(e){l=e}}else{d=r(i(__dirname,"java.linux-arm64-gnu.node"));try{c=d?a(Object(function(){var e=new Error("Cannot find module './java.linux-arm64-gnu.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-linux-arm64-gnu")}catch(e){l=e}}break;case"arm":d=r(i(__dirname,"java.linux-arm-gnueabihf.node"));try{c=d?a(Object(function(){var e=new Error("Cannot find module './java.linux-arm-gnueabihf.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-linux-arm-gnueabihf")}catch(e){l=e}break;default:throw new Error(`Unsupported architecture on Linux: ${s}`)}break;default:throw new Error(`Unsupported OS: ${o}, architecture: ${s}`)}if(!c){if(l)throw l;throw new Error("Failed to load native binding")}const{JavaInterfaceProxy:f,clearDaemonProxies:p,Java:y,JavaConfig:m,StdoutRedirect:h,getJavaLibPath:v}=c;e.exports.JavaInterfaceProxy=f,e.exports.clearDaemonProxies=p,e.exports.Java=y,e.exports.JavaConfig=m,e.exports.StdoutRedirect=h,e.exports.getJavaLibPath=v},238:function(e,t,a){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.TypescriptBulkDefinitionGenerator=void 0;const n=r(a(248));t.TypescriptBulkDefinitionGenerator=class{constructor(){this.declarations=[],this.resolvedImports=[]}async generate(e,t=null){let a=0;for(const r of e){const e=new n.default(r,t,this.resolvedImports),i=await e.generate();a+=i.length,this.declarations.push(...i)}return a}async save(e){await n.default.save(this.declarations,e)}get moduleDeclarations(){return this.declarations}}},248:function(e,t,a){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a);var n=Object.getOwnPropertyDescriptor(t,a);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,r,n)}:function(e,t,a,r){void 0===r&&(r=a),e[r]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&r(t,e,a);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(a(7)),c=a(236),d=o(a(147)),l=o(a(17)),u=s.default.createSourceFile("source.ts","",s.default.ScriptTarget.Latest,!1,s.default.ScriptKind.TS),f=["toString","wait","getClass","hashCode","notify","notifyAll","equals"];class p{constructor(e,t=null,a=[]){this.classname=e,this.progressCallback=t,this.resolvedImports=a,this.usesBasicOrJavaType=!1,this.usesNewProxy=!1,this.usesInterfaceProxy=!1,this.additionalImports=[],this.importsToResolve=[],this.interfaceImports=[]}static async convertMethods(e){const t=await(0,c.importClassAsync)("java.lang.reflect.Modifier"),a={};for(const r of e){const e=await r.getModifiers();if(await t.isPublic(e)){const n=await r.getName(),i=await r.getReturnType(),o=await r.getParameterTypes(),s=await r.isDefault(),c={returnType:await i.getTypeName(),parameters:await Promise.all(o.map((e=>e.getTypeName()))),isStatic:await t.isStatic(e),isDefault:s};Object.hasOwn(a,n)?a[n].push(c):a[n]=[c]}}return a}async convertFields(e){const t=await(0,c.importClassAsync)("java.lang.reflect.Modifier"),a=[];for(const r of e){const e=await r.getModifiers();if(await t.isPublic(e)){const n=await r.getName(),i=await r.getType(),o=await i.getTypeName(),c=[s.default.factory.createModifier(s.SyntaxKind.PublicKeyword)];await t.isStatic(e)&&c.push(s.default.factory.createModifier(s.SyntaxKind.StaticKeyword)),await t.isFinal(e)&&c.push(s.default.factory.createModifier(s.SyntaxKind.ReadonlyKeyword));let d=s.default.factory.createPropertyDeclaration(c,n,void 0,this.javaTypeToTypescriptType(o,!0),void 0);d=s.default.addSyntheticLeadingComment(d,s.default.SyntaxKind.SingleLineCommentTrivia,` ================== Field ${n} ==================`,!0),a.push(s.default.addSyntheticLeadingComment(d,s.default.SyntaxKind.MultiLineCommentTrivia,`*\n * Original type: '${await i.getTypeName()}'\n `,!0))}}return a}async isAbstractOrInterface(e){const t=await(0,c.importClassAsync)("java.lang.reflect.Modifier");return await e.isInterface()||await t.isAbstract(await e.getModifiers())}createPrivateConstructor(){const e=s.default.factory.createConstructorDeclaration([s.default.factory.createModifier(s.default.SyntaxKind.PrivateKeyword)],[],s.default.factory.createBlock([s.default.factory.createExpressionStatement(s.default.factory.createCallExpression(s.default.factory.createSuper(),[],[]))],!0));return s.default.addSyntheticLeadingComment(e,s.default.SyntaxKind.MultiLineCommentTrivia,"*\n * Private constructor to prevent instantiation\n * as this is either an abstract class or an interface\n ",!0)}async convertConstructors(e){const t=await(0,c.importClassAsync)("java.lang.reflect.Modifier"),a=[];for(const r of e){const e=await r.getModifiers();if(await t.isPublic(e)){const e=await r.getParameterTypes();a.push(await Promise.all(e.map((e=>e.getTypeName()))))}}const r=a.map(((e,t)=>{const a=e.map(this.convertParameter.bind(this));let r=s.default.factory.createConstructorDeclaration([s.default.factory.createModifier(s.default.SyntaxKind.PublicKeyword)],a,void 0);return 0===t&&(r=s.default.addSyntheticLeadingComment(r,s.default.SyntaxKind.SingleLineCommentTrivia," ================== Constructors ==================",!0)),e.length>0&&(r=s.default.addSyntheticLeadingComment(r,s.default.SyntaxKind.MultiLineCommentTrivia,"*\n"+e.map(((e,t)=>` * @param var${t} original type: '${e}'\n`)).join("")+" ",!0)),r}));return[...a.map(((e,t)=>this.createMethod({returnType:this.classname,parameters:e,isStatic:!0,isDefault:!1},"newInstance",t,!1,!0))),...r]}primitiveToClassType(e){switch(e){case"boolean":return"java.lang.Boolean";case"byte":return"java.lang.Byte";case"char":return"java.lang.Character";case"short":return"java.lang.Short";case"int":return"java.lang.Integer";case"long":return"java.lang.Long";case"float":return"java.lang.Float";case"double":return"java.lang.Double";default:return e}}isPrimitive(e){return["boolean","byte","char","short","int","long","float","double"].includes(e)}javaTypeToTypescriptType(e,t,a=!0){const r=(...e)=>a?s.default.factory.createUnionTypeNode([...e,s.default.factory.createLiteralTypeNode(s.default.factory.createNull())]):e.length>1?s.default.factory.createUnionTypeNode(e):e[0];switch(e){case"byte[]":case"java.lang.Byte[]":return r(s.default.factory.createTypeReferenceNode("Buffer"))}if(e.endsWith("[]"))return r(s.default.factory.createArrayTypeNode(this.javaTypeToTypescriptType(e.substring(0,e.length-2),t)));const n=e=>{const a=[];(0,c.importClass)(e).class.isInterfaceSync()&&t&&(this.usesInterfaceProxy=!0,this.interfaceImports.includes(e)||this.interfaceImports.push(e),a.push(s.default.factory.createTypeReferenceNode("JavaInterfaceProxy",[s.default.factory.createTypeReferenceNode(e===this.classname?e.substring(e.lastIndexOf(".")+1)+"Interface":e.replaceAll(".","_")+"Interface")]))),this.resolvedImports.includes(e)||this.additionalImports.push(e),this.importsToResolve.push(e);const r=e===this.classname&&t;return[s.default.factory.createTypeReferenceNode(e===this.classname?e.substring(e.lastIndexOf(".")+1)+(r?"Class":""):e.replaceAll(".","_")),...a]},i=(r,...i)=>{const o=[s.default.factory.createKeywordTypeNode(r)];return!this.isPrimitive(e)&&a&&o.push(s.default.factory.createLiteralTypeNode(s.default.factory.createNull())),t?s.default.factory.createUnionTypeNode([...n(this.primitiveToClassType(e)),...i.map((e=>s.default.factory.createKeywordTypeNode(e))),...o]):s.default.factory.createUnionTypeNode(o)};switch(e){case"int":case"java.lang.Integer":case"float":case"java.lang.Float":case"double":case"java.lang.Double":case"byte":case"java.lang.Byte":case"short":case"java.lang.Short":return i(s.SyntaxKind.NumberKeyword);case"long":case"java.lang.Long":return i(s.SyntaxKind.NumberKeyword,s.SyntaxKind.BigIntKeyword);case"char":case"java.lang.Character":case"java.lang.String":return r(s.default.factory.createKeywordTypeNode(s.SyntaxKind.StringKeyword));case"boolean":case"java.lang.Boolean":return i(s.SyntaxKind.BooleanKeyword);case"void":case"java.lang.Void":return s.default.factory.createKeywordTypeNode(s.SyntaxKind.VoidKeyword);case"java.lang.Object":return this.usesBasicOrJavaType=!0,r(s.default.factory.createTypeReferenceNode("BasicOrJavaType"));default:return r(...n(e))}}convertParameter(e,t){const a="var"+t,r=this.javaTypeToTypescriptType(e,!0);return s.default.factory.createParameterDeclaration(void 0,void 0,a,void 0,r)}convertParameters(e){return e.parameters.map(this.convertParameter.bind(this))}static createMethodComment(e,t=""){return"*\n"+t+e.parameters.map(((e,t)=>` * @param var${t} original type: '${e}'\n`)).join("")+` * @return original return type: '${e.returnType}'\n `}createMethodSignature(e,t,a,r,n){let i=s.default.factory.createMethodSignature([],t,r?s.default.factory.createToken(s.SyntaxKind.QuestionToken):void 0,void 0,this.convertParameters(e),this.javaTypeToTypescriptType(e.returnType,!1,!n));0===a&&(i=s.default.addSyntheticLeadingComment(i,s.default.SyntaxKind.SingleLineCommentTrivia,` ================== Method ${t} ==================`,!0));let o="";return!e.isDefault&&r&&(o=" * **Note: Although this method is marked as optional, it actually must be implemented.**\n *\n"),s.default.addSyntheticLeadingComment(i,s.default.SyntaxKind.MultiLineCommentTrivia,p.createMethodComment(e,o),!0)}createInterfaceMethodSignatures(e){return Object.entries(e).map((([e,t])=>({key:e,method:t.filter((e=>!e.isStatic))}))).flatMap((({key:e,method:t})=>t.map(((a,r)=>this.createMethodSignature(a,e,r,t.some((e=>e.isDefault)),f.includes(e))))))}createNewProxyMethod(e){this.usesNewProxy=!0,this.usesInterfaceProxy=!0;const t=e+"Interface";let a=s.default.factory.createFunctionDeclaration([s.default.factory.createModifier(s.default.SyntaxKind.ExportKeyword)],void 0,`create${e}Proxy`,void 0,[s.default.factory.createParameterDeclaration(void 0,void 0,"methods",void 0,s.default.factory.createTypeReferenceNode(t)),s.default.factory.createParameterDeclaration(void 0,void 0,"opts",s.default.factory.createToken(s.default.SyntaxKind.QuestionToken),s.default.factory.createTypeReferenceNode("InterfaceProxyOptions"))],s.default.factory.createTypeReferenceNode("JavaInterfaceProxy",[s.default.factory.createTypeReferenceNode(t)]),s.default.factory.createBlock([s.default.factory.createReturnStatement(s.default.factory.createCallExpression(s.default.factory.createIdentifier("newProxy"),[s.default.factory.createTypeReferenceNode(t)],[s.default.factory.createStringLiteral(this.classname,!0),s.default.factory.createIdentifier("methods"),s.default.factory.createIdentifier("opts")]))],!0));return s.default.addSyntheticLeadingComment(a,s.default.SyntaxKind.MultiLineCommentTrivia,`*\n * Create a proxy for the {@link ${e}} interface.\n * All required methods in {@link ${e}Interface} must be implemented.\n *\n * @param methods the methods to implement\n * @param opts the proxy options\n * @return the proxy\n `,!0)}createMethod(e,t,a,r,n){const i=s.default.factory.createModifier(s.default.SyntaxKind.PublicKeyword),o=s.default.factory.createModifier(s.default.SyntaxKind.StaticKeyword),c=[i];e.isStatic&&c.push(o);let d=this.javaTypeToTypescriptType(e.returnType,!1,!n);r||(d=s.default.factory.createTypeReferenceNode(s.default.factory.createIdentifier("Promise"),[d]));let l=s.default.factory.createMethodDeclaration(c,void 0,t+(r?"Sync":""),void 0,void 0,this.convertParameters(e),d,void 0);return 0===a&&(l=s.default.addSyntheticLeadingComment(l,s.default.SyntaxKind.SingleLineCommentTrivia,` ================== Method ${t} ==================`,!0)),s.default.addSyntheticLeadingComment(l,s.default.SyntaxKind.MultiLineCommentTrivia,p.createMethodComment(e),!0)}convertMethod(e,t){const a=[];for(let r=0;r<e.length;r++){const n=e[r],i=f.includes(t);a.push(this.createMethod(n,t,r,!1,i),this.createMethod(n,t,r,!0,i))}return a}getAdditionalImports(){const e=e=>{const t=this.classname.split("."),a=e.split(".");for(let e=0;e<t.length&&a[e]===t[e];e++)t[e]=null,a[e]=null;return"./"+t.filter((e=>!!e)).map((()=>"")).join("../")+a.filter((e=>!!e)).join("/")},t=e=>e.substring(e.lastIndexOf(".")+1),a=e=>this.interfaceImports.includes(e)&&e!==this.classname?[s.default.factory.createImportSpecifier(!1,s.default.factory.createIdentifier(t(e)+"Interface"),s.default.factory.createIdentifier(e.replaceAll(".","_")+"Interface"))]:[];return this.importsToResolve.filter((e=>e!=this.classname)).filter(((e,t,a)=>a.indexOf(e)===t)).map((r=>s.default.factory.createImportDeclaration(void 0,s.default.factory.createImportClause(!1,void 0,s.default.factory.createNamedImports([s.default.factory.createImportSpecifier(!1,s.default.factory.createIdentifier(t(r)),s.default.factory.createIdentifier(r.replaceAll(".","_"))),...a(r)])),s.default.factory.createStringLiteral(e(r)))))}getImports(){const e=[s.default.factory.createImportSpecifier(!1,void 0,s.default.factory.createIdentifier("importClass")),s.default.factory.createImportSpecifier(!1,void 0,s.default.factory.createIdentifier("JavaClass"))];this.usesBasicOrJavaType&&e.push(s.default.factory.createImportSpecifier(!1,void 0,s.default.factory.createIdentifier("BasicOrJavaType"))),this.usesNewProxy&&e.push(s.default.factory.createImportSpecifier(!1,void 0,s.default.factory.createIdentifier("newProxy")),s.default.factory.createImportSpecifier(!1,void 0,s.default.factory.createIdentifier("InterfaceProxyOptions"))),this.usesInterfaceProxy&&e.push(s.default.factory.createImportSpecifier(!1,void 0,s.default.factory.createIdentifier("JavaInterfaceProxy")));const t=s.default.factory.createNamedImports(e);return s.default.factory.createImportDeclaration(void 0,s.default.factory.createImportClause(!1,void 0,t),s.default.factory.createStringLiteral("java-bridge"))}getExportStatement(e,t){const a=s.default.factory.createClassDeclaration([s.default.factory.createModifier(s.default.SyntaxKind.ExportKeyword)],e,void 0,[s.default.factory.createHeritageClause(s.default.SyntaxKind.ExtendsKeyword,[s.default.factory.createExpressionWithTypeArguments(s.default.factory.createIdentifier(`importClass<typeof ${e}Class>('${this.classname}')`),void 0)])],t?[this.createPrivateConstructor()]:[]);return[s.default.addSyntheticLeadingComment(a,s.SyntaxKind.MultiLineCommentTrivia,`*\n * Class ${this.classname}.\n *\n * This actually imports the java class for further use.\n * The class {@link ${e}Class} only defines types, this is the class you should actually import.\n * Please note that this statement imports the underlying java class at runtime, which may take a while.\n * This was generated by java-bridge.\n * You should probably not edit this.\n `,!0),s.default.factory.createExportDefault(s.default.factory.createIdentifier(e))]}getText(e){return e.map((e=>e&&s.default.createPrinter({newLine:s.default.NewLineKind.LineFeed}).printNode(s.default.EmitHint.Unspecified,e,u)||"")).join("\n")}async generate(){if(this.resolvedImports.includes(this.classname))return[];this.resolvedImports.push(this.classname),this.progressCallback&&this.progressCallback(this.classname);const e=(await(0,c.importClassAsync)(this.classname)).class,t=this.classname.substring(this.classname.lastIndexOf(".")+1),a=(await e.getFields()).filter((function(e,t,a){return a.findIndex((t=>e.getNameSync()===t.getNameSync()))===t})),r=await e.getMethods(),n=await this.convertFields(a),i=await p.convertMethods(r);for(const[e,t]of Object.entries(i))n.push(...this.convertMethod(t,e));const o=await this.isAbstractOrInterface(e);if(!o){const t=await e.getDeclaredConstructors(),a=await this.convertConstructors(t);n.push(...a)}const d=[];if(await e.isInterface()){const e=await p.convertMethods(r);let a=s.default.factory.createInterfaceDeclaration([s.default.factory.createModifier(s.default.SyntaxKind.ExportKeyword)],t+"Interface",void 0,[],this.createInterfaceMethodSignatures(e));a=s.default.addSyntheticLeadingComment(a,s.default.SyntaxKind.MultiLineCommentTrivia,`*\n * This interface just defines types for creating proxies,\n * you should use {@link create${t}Proxy} for actually creating the proxies.\n *\n * Optional methods in here may still be required by java.\n * This is caused by typescript not allowing to have both optional and\n * non-optional signatures for the same interface member.\n *\n * This was generated by java-bridge.\n * You should probably not edit this.\n `,!0),d.push(null,a,null,this.createNewProxyMethod(t))}let l=s.default.factory.createClassDeclaration([s.default.factory.createModifier(s.default.SyntaxKind.ExportKeyword),s.default.factory.createModifier(s.default.SyntaxKind.DeclareKeyword)],t+"Class",void 0,[s.default.factory.createHeritageClause(s.default.SyntaxKind.ExtendsKeyword,[s.default.factory.createExpressionWithTypeArguments(s.default.factory.createIdentifier("JavaClass"),void 0)])],n);l=s.default.addSyntheticLeadingComment(l,s.default.SyntaxKind.MultiLineCommentTrivia,`*\n * This class just defines types, you should import {@link ${t}} instead of this.\n * This was generated by java-bridge.\n * You should probably not edit this.\n `,!0);const u=this.getText([this.getImports(),...this.getAdditionalImports(),null,l,...d,null,...this.getExportStatement(t,o)]),f=[];for(const e of this.additionalImports){const t=new p(e,this.progressCallback,this.resolvedImports),a=await t.generate();f.push(...a)}return f.push({name:this.classname,contents:u}),f}static async save(e,t){for(const a of e){const e=a.name.split(".");e[e.length-1]=e[e.length-1]+".ts";const r=l.default.join(t,...e);await d.default.promises.mkdir(l.default.dirname(r),{recursive:!0}),await d.default.promises.writeFile(r,a.contents,{encoding:"utf8"})}}}t.default=p},91:(e,t)=>{"use strict";var a;Object.defineProperty(t,"__esModule",{value:!0}),t.JavaObject=t.JavaVersion=void 0,function(e){e.VER_1_1="1.1",e.VER_1_2="1.2",e.VER_1_4="1.4",e.VER_1_6="1.6",e.VER_1_8="1.8",e.VER_9="9",e.VER_10="10"}(a=t.JavaVersion||(t.JavaVersion={})),Object.freeze(a),t.JavaObject=class{}},236:function(e,t,a){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a);var n=Object.getOwnPropertyDescriptor(t,a);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,r,n)}:function(e,t,a,r){void 0===r&&(r=a),e[r]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__exportStar||function(e,t){for(var a in e)"default"===a||Object.prototype.hasOwnProperty.call(t,a)||r(t,e,a)},o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&r(t,e,a);return n(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.TypescriptBulkDefinitionGenerator=t.TypescriptDefinitionGenerator=t.getJavaVersionSync=t.getJavaVersion=t.getJavaLibPath=t.UnknownJavaClass=t.JavaClassConstructor=t.JavaClass=t.JavaClassProxy=t.JavaClassInstance=t.JavaObject=t.JavaVersion=void 0;var c=a(91);Object.defineProperty(t,"JavaVersion",{enumerable:!0,get:function(){return c.JavaVersion}}),Object.defineProperty(t,"JavaObject",{enumerable:!0,get:function(){return c.JavaObject}}),Object.defineProperty(t,"JavaClassInstance",{enumerable:!0,get:function(){return c.JavaClassInstance}}),Object.defineProperty(t,"JavaClassProxy",{enumerable:!0,get:function(){return c.JavaClassProxy}}),Object.defineProperty(t,"JavaClass",{enumerable:!0,get:function(){return c.JavaClass}}),Object.defineProperty(t,"JavaClassConstructor",{enumerable:!0,get:function(){return c.JavaClassConstructor}}),Object.defineProperty(t,"UnknownJavaClass",{enumerable:!0,get:function(){return c.UnknownJavaClass}}),i(a(818),t);const d=o(a(818));t.default=d;var l=a(163);Object.defineProperty(t,"getJavaLibPath",{enumerable:!0,get:function(){return l.getJavaLibPath}});var u=a(102);Object.defineProperty(t,"getJavaVersion",{enumerable:!0,get:function(){return u.getJavaVersion}}),Object.defineProperty(t,"getJavaVersionSync",{enumerable:!0,get:function(){return u.getJavaVersionSync}});const f=s(a(248));t.TypescriptDefinitionGenerator=f.default;var p=a(238);Object.defineProperty(t,"TypescriptBulkDefinitionGenerator",{enumerable:!0,get:function(){return p.TypescriptBulkDefinitionGenerator}})},818:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.config=t.getJavaInstance=t.newProxy=t.stdout=t.classpath=t.isInstanceOf=t.appendClasspath=t.importClassAsync=t.importClass=t.setClassLoader=t.getClassLoader=t.ensureJvm=t.clearDaemonProxies=void 0;const r=a(163),n=a(841);var i=a(163);Object.defineProperty(t,"clearDaemonProxies",{enumerable:!0,get:function(){return i.clearDaemonProxies}});let o=null;function s(e){return!o&&(o=new r.Java(e?.libPath,e?.version,e?.opts,e,(0,n.getJavaLibPath)(e?.isPackagedElectron??!1),(0,n.getNativeLibPath)(e?.isPackagedElectron??!1)),!0)}function c(e){s(),o.appendClasspath(e)}var d;t.ensureJvm=s,t.getClassLoader=function(){return s(),o.classLoader},t.setClassLoader=function(e){s(),o.classLoader=e},t.importClass=function(e){return s(),o.importClass(e)},t.importClassAsync=function(e){return s(),o.importClassAsync(e)},t.appendClasspath=c,t.isInstanceOf=function(e,t){return s(),o.isInstanceOf(e,t)},(d=t.classpath||(t.classpath={})).append=function(e){c(e)},d.get=function(){return s(),o.loadedJars},(t.stdout||(t.stdout={})).enableRedirect=function(e,t){return s(),o.setStdoutCallbacks(e,t)},t.newProxy=function(e,t,a){s();const r=Object.create(null);for(const[e,a]of Object.entries(t))r[e]=(e,t,...r)=>{if(e)throw e;try{t(null,a(...r))}catch(e){e instanceof Error?t(e):t(new Error(e.toString()))}};return o.createInterfaceProxy(e,r,a)},t.getJavaInstance=function(){return o},t.config=class{static set runEventLoopWhenInterfaceProxyIsActive(e){r.JavaConfig.setRunEventLoopWhenInterfaceProxyIsActive(e)}static get runEventLoopWhenInterfaceProxyIsActive(){return r.JavaConfig.getRunEventLoopWhenInterfaceProxyIsActive()}}},841:function(e,t,a){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a);var n=Object.getOwnPropertyDescriptor(t,a);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,r,n)}:function(e,t,a,r){void 0===r&&(r=a),e[r]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&r(t,e,a);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getJavaLibPath=t.getNativeLibPath=void 0;const s=o(a(17)),c=i(a(147)),d=o(a(230)),{platform:l,arch:u}=process,f=/([\\/])app\.asar([\\/])/gim,p="$1app.asar.unpacked$2";function y(e,t){const r=s.default.join(__dirname,e+".node");if(c.default.existsSync(r))return t&&console.warn("Using local native module in packaged Electron app"),r;{const r=e.replaceAll(".","-").replace("java","java-bridge");let n;return n=require&&require.resolve?require.resolve(r):a(955).resolve(r),t&&(n=n.replace(f,p)),n}}function m(){return new Error(`Unsupported platform: ${l} ${u}`)}t.getNativeLibPath=function(e){switch(l){case"android":switch(u){case"arm64":return y("java.android-arm64",e);case"arm":return y("java.android-arm-eabi",e);default:throw m()}case"win32":return y(`java.win32-${u}-msvc`,e);case"darwin":return y(`java.darwin-${u}`,e);case"freebsd":return y(`java.freebsd-${u}`,e);case"linux":switch(u){case"x64":case"arm64":return y(`java.linux-${u}-${function(){if(process.report&&"function"==typeof process.report.getReport){const{glibcVersionRuntime:e}=process.report.getReport().header;return!e}try{return(0,c.readFileSync)("/usr/bin/ldd","utf8").includes("musl")}catch(e){return!0}}()?"musl":"gnu"}`,e);case"arm":return y("java.linux-arm-gnueabihf",e);default:throw m()}default:throw m()}},t.getJavaLibPath=function(e){let t=s.default.join(__dirname,"..","java-src","build","libs");e&&(t=t.replace(f,p));const a=d.default.sync("*.jar",{cwd:t});if(0===a.length)throw new Error(`No java lib found in ${t}`);return s.default.join(t,a[0])}},102:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getJavaVersionSync=t.getJavaVersion=void 0;const r=a(818);t.getJavaVersion=async function(){const e=await(0,r.importClassAsync)("java.lang.System");return await e.getProperty("java.version")},t.getJavaVersionSync=function(){return(0,r.importClass)("java.lang.System").getPropertySync("java.version")}},955:e=>{function t(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=955,e.exports=t},230:e=>{"use strict";e.exports=require("glob")},7:e=>{"use strict";e.exports=require("typescript")},81:e=>{"use strict";e.exports=require("child_process")},147:e=>{"use strict";e.exports=require("fs")},17:e=>{"use strict";e.exports=require("path")}},t={};function a(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(i.exports,i,i.exports,a),i.loaded=!0,i.exports}return a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),a.p="",a(236)})()));
|
|
1
|
+
!function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.java=r():e.java=r()}(global,(()=>(()=>{var e={388:(e,r,a)=>{e=a.nmd(e);try{process.dlopen(e,__dirname+a(17).sep+a.p+"java.linux-x64-gnu.node")}catch(e){throw new Error("node-loader:\n"+e)}},163:(e,r,a)=>{const{existsSync:t,readFileSync:n}=a(147),{join:o}=a(17),{platform:i,arch:c}=process;let s=null,u=!1,d=null;function l(){if(process.report&&"function"==typeof process.report.getReport){const{glibcVersionRuntime:e}=process.report.getReport().header;return!e}try{const e=a(81).execSync("which ldd").toString().trim();return n(e,"utf8").includes("musl")}catch(e){return!0}}switch(i){case"android":switch(c){case"arm64":u=t(o(__dirname,"java.android-arm64.node"));try{s=u?a(Object(function(){var e=new Error("Cannot find module './java.android-arm64.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-android-arm64")}catch(e){d=e}break;case"arm":u=t(o(__dirname,"java.android-arm-eabi.node"));try{s=u?a(Object(function(){var e=new Error("Cannot find module './java.android-arm-eabi.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-android-arm-eabi")}catch(e){d=e}break;default:throw new Error(`Unsupported architecture on Android ${c}`)}break;case"win32":switch(c){case"x64":u=t(o(__dirname,"java.win32-x64-msvc.node"));try{s=u?a(Object(function(){var e=new Error("Cannot find module './java.win32-x64-msvc.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-win32-x64-msvc")}catch(e){d=e}break;case"ia32":u=t(o(__dirname,"java.win32-ia32-msvc.node"));try{s=u?a(Object(function(){var e=new Error("Cannot find module './java.win32-ia32-msvc.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-win32-ia32-msvc")}catch(e){d=e}break;case"arm64":u=t(o(__dirname,"java.win32-arm64-msvc.node"));try{s=u?a(Object(function(){var e=new Error("Cannot find module './java.win32-arm64-msvc.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-win32-arm64-msvc")}catch(e){d=e}break;default:throw new Error(`Unsupported architecture on Windows: ${c}`)}break;case"darwin":u=t(o(__dirname,"java.darwin-universal.node"));try{s=u?a(Object(function(){var e=new Error("Cannot find module './java.darwin-universal.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-darwin-universal");break}catch{}switch(c){case"x64":u=t(o(__dirname,"java.darwin-x64.node"));try{s=u?a(Object(function(){var e=new Error("Cannot find module './java.darwin-x64.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-darwin-x64")}catch(e){d=e}break;case"arm64":u=t(o(__dirname,"java.darwin-arm64.node"));try{s=u?a(Object(function(){var e=new Error("Cannot find module './java.darwin-arm64.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-darwin-arm64")}catch(e){d=e}break;default:throw new Error(`Unsupported architecture on macOS: ${c}`)}break;case"freebsd":if("x64"!==c)throw new Error(`Unsupported architecture on FreeBSD: ${c}`);u=t(o(__dirname,"java.freebsd-x64.node"));try{s=u?a(Object(function(){var e=new Error("Cannot find module './java.freebsd-x64.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-freebsd-x64")}catch(e){d=e}break;case"linux":switch(c){case"x64":if(l()){u=t(o(__dirname,"java.linux-x64-musl.node"));try{s=u?a(Object(function(){var e=new Error("Cannot find module './java.linux-x64-musl.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-linux-x64-musl")}catch(e){d=e}}else{u=t(o(__dirname,"java.linux-x64-gnu.node"));try{s=u?a(388):require("java-bridge-linux-x64-gnu")}catch(e){d=e}}break;case"arm64":if(l()){u=t(o(__dirname,"java.linux-arm64-musl.node"));try{s=u?a(Object(function(){var e=new Error("Cannot find module './java.linux-arm64-musl.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-linux-arm64-musl")}catch(e){d=e}}else{u=t(o(__dirname,"java.linux-arm64-gnu.node"));try{s=u?a(Object(function(){var e=new Error("Cannot find module './java.linux-arm64-gnu.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-linux-arm64-gnu")}catch(e){d=e}}break;case"arm":u=t(o(__dirname,"java.linux-arm-gnueabihf.node"));try{s=u?a(Object(function(){var e=new Error("Cannot find module './java.linux-arm-gnueabihf.node'");throw e.code="MODULE_NOT_FOUND",e}())):require("java-bridge-linux-arm-gnueabihf")}catch(e){d=e}break;default:throw new Error(`Unsupported architecture on Linux: ${c}`)}break;default:throw new Error(`Unsupported OS: ${i}, architecture: ${c}`)}if(!s){if(d)throw d;throw new Error("Failed to load native binding")}const{JavaInterfaceProxy:v,clearDaemonProxies:f,Java:p,JavaConfig:b,StdoutRedirect:m,getJavaLibPath:h}=s;e.exports.JavaInterfaceProxy=v,e.exports.clearDaemonProxies=f,e.exports.Java=p,e.exports.JavaConfig=b,e.exports.StdoutRedirect=m,e.exports.getJavaLibPath=h},91:(e,r)=>{"use strict";var a;Object.defineProperty(r,"__esModule",{value:!0}),r.JavaObject=r.JavaVersion=void 0,function(e){e.VER_1_1="1.1",e.VER_1_2="1.2",e.VER_1_4="1.4",e.VER_1_6="1.6",e.VER_1_8="1.8",e.VER_9="9",e.VER_10="10"}(a=r.JavaVersion||(r.JavaVersion={})),Object.freeze(a),r.JavaObject=class{}},236:function(e,r,a){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,r,a,t){void 0===t&&(t=a);var n=Object.getOwnPropertyDescriptor(r,a);n&&!("get"in n?!r.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return r[a]}}),Object.defineProperty(e,t,n)}:function(e,r,a,t){void 0===t&&(t=a),e[t]=r[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),o=this&&this.__exportStar||function(e,r){for(var a in e)"default"===a||Object.prototype.hasOwnProperty.call(r,a)||t(r,e,a)},i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&t(r,e,a);return n(r,e),r};Object.defineProperty(r,"__esModule",{value:!0}),r.getJavaVersionSync=r.getJavaVersion=r.getJavaLibPath=r.UnknownJavaClass=r.JavaClassConstructor=r.JavaClass=r.JavaClassProxy=r.JavaClassInstance=r.JavaObject=r.JavaVersion=void 0;var c=a(91);Object.defineProperty(r,"JavaVersion",{enumerable:!0,get:function(){return c.JavaVersion}}),Object.defineProperty(r,"JavaObject",{enumerable:!0,get:function(){return c.JavaObject}}),Object.defineProperty(r,"JavaClassInstance",{enumerable:!0,get:function(){return c.JavaClassInstance}}),Object.defineProperty(r,"JavaClassProxy",{enumerable:!0,get:function(){return c.JavaClassProxy}}),Object.defineProperty(r,"JavaClass",{enumerable:!0,get:function(){return c.JavaClass}}),Object.defineProperty(r,"JavaClassConstructor",{enumerable:!0,get:function(){return c.JavaClassConstructor}}),Object.defineProperty(r,"UnknownJavaClass",{enumerable:!0,get:function(){return c.UnknownJavaClass}}),o(a(818),r);const s=i(a(818));r.default=s;var u=a(163);Object.defineProperty(r,"getJavaLibPath",{enumerable:!0,get:function(){return u.getJavaLibPath}});var d=a(102);Object.defineProperty(r,"getJavaVersion",{enumerable:!0,get:function(){return d.getJavaVersion}}),Object.defineProperty(r,"getJavaVersionSync",{enumerable:!0,get:function(){return d.getJavaVersionSync}})},818:(e,r,a)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.config=r.getJavaInstance=r.newProxy=r.stdout=r.classpath=r.isInstanceOf=r.appendClasspath=r.importClassAsync=r.importClass=r.setClassLoader=r.getClassLoader=r.ensureJvm=r.clearDaemonProxies=void 0;const t=a(163),n=a(841);var o=a(163);Object.defineProperty(r,"clearDaemonProxies",{enumerable:!0,get:function(){return o.clearDaemonProxies}});let i=null;function c(e){return!i&&(i=new t.Java(e?.libPath,e?.version,e?.opts,e,(0,n.getJavaLibPath)(e?.isPackagedElectron??!1),(0,n.getNativeLibPath)(e?.isPackagedElectron??!1)),!0)}function s(e){c(),i.appendClasspath(e)}var u;r.ensureJvm=c,r.getClassLoader=function(){return c(),i.classLoader},r.setClassLoader=function(e){c(),i.classLoader=e},r.importClass=function(e){return c(),i.importClass(e)},r.importClassAsync=function(e){return c(),i.importClassAsync(e)},r.appendClasspath=s,r.isInstanceOf=function(e,r){return c(),i.isInstanceOf(e,r)},(u=r.classpath||(r.classpath={})).append=function(e){s(e)},u.get=function(){return c(),i.loadedJars},(r.stdout||(r.stdout={})).enableRedirect=function(e,r){return c(),i.setStdoutCallbacks(e,r)},r.newProxy=function(e,r,a){c();const t=Object.create(null);for(const[e,a]of Object.entries(r))t[e]=(e,r,...t)=>{if(e)throw e;try{const e=a(...t);e instanceof Promise?e.then((e=>r(null,e))).catch((e=>{e instanceof Error?r(e):r(new Error(String(e)))})):r(null,e)}catch(e){e instanceof Error?r(e):r(new Error(String(e)))}};return i.createInterfaceProxy(e,t,a)},r.getJavaInstance=function(){return i},r.config=class{static set runEventLoopWhenInterfaceProxyIsActive(e){t.JavaConfig.setRunEventLoopWhenInterfaceProxyIsActive(e)}static get runEventLoopWhenInterfaceProxyIsActive(){return t.JavaConfig.getRunEventLoopWhenInterfaceProxyIsActive()}}},841:function(e,r,a){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,r,a,t){void 0===t&&(t=a);var n=Object.getOwnPropertyDescriptor(r,a);n&&!("get"in n?!r.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return r[a]}}),Object.defineProperty(e,t,n)}:function(e,r,a,t){void 0===t&&(t=a),e[t]=r[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&t(r,e,a);return n(r,e),r},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.getJavaLibPath=r.getNativeLibPath=void 0;const c=i(a(17)),s=o(a(147)),u=i(a(230)),{platform:d,arch:l}=process,v=/([\\/])app\.asar([\\/])/gim,f="$1app.asar.unpacked$2";function p(e,r){const t=c.default.join(__dirname,e+".node");if(s.default.existsSync(t))return r&&console.warn("Using local native module in packaged Electron app"),t;{const t=e.replaceAll(".","-").replace("java","java-bridge");let n;return n=require&&require.resolve?require.resolve(t):a(955).resolve(t),r&&(n=n.replace(v,f)),n}}function b(){return new Error(`Unsupported platform: ${d} ${l}`)}r.getNativeLibPath=function(e){switch(d){case"android":switch(l){case"arm64":return p("java.android-arm64",e);case"arm":return p("java.android-arm-eabi",e);default:throw b()}case"win32":return p(`java.win32-${l}-msvc`,e);case"darwin":return p(`java.darwin-${l}`,e);case"freebsd":return p(`java.freebsd-${l}`,e);case"linux":switch(l){case"x64":case"arm64":return p(`java.linux-${l}-${function(){if(process.report&&"function"==typeof process.report.getReport){const{glibcVersionRuntime:e}=process.report.getReport().header;return!e}try{return(0,s.readFileSync)("/usr/bin/ldd","utf8").includes("musl")}catch(e){return!0}}()?"musl":"gnu"}`,e);case"arm":return p("java.linux-arm-gnueabihf",e);default:throw b()}default:throw b()}},r.getJavaLibPath=function(e){let r=c.default.join(__dirname,"..","java-src","build","libs");e&&(r=r.replace(v,f));const a=u.default.sync("*.jar",{cwd:r});if(0===a.length)throw new Error(`No java lib found in ${r}`);return c.default.join(r,a[0])}},102:(e,r,a)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.getJavaVersionSync=r.getJavaVersion=void 0;const t=a(818);r.getJavaVersion=async function(){const e=await(0,t.importClassAsync)("java.lang.System");return await e.getProperty("java.version")},r.getJavaVersionSync=function(){return(0,t.importClass)("java.lang.System").getPropertySync("java.version")}},955:e=>{function r(e){var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}r.keys=()=>[],r.resolve=r,r.id=955,e.exports=r},230:e=>{"use strict";e.exports=require("glob")},81:e=>{"use strict";e.exports=require("child_process")},147:e=>{"use strict";e.exports=require("fs")},17:e=>{"use strict";e.exports=require("path")}},r={};function a(t){var n=r[t];if(void 0!==n)return n.exports;var o=r[t]={id:t,loaded:!1,exports:{}};return e[t].call(o.exports,o,o.exports,a),o.loaded=!0,o.exports}return a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),a.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),a.p="",a(236)})()));
|
|
2
2
|
//# sourceMappingURL=index.prod.min.js.map
|