@enonic-types/global 0.1.1 → 7.11.0-B1
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 +4 -3
- package/global.d.ts +148 -1
- package/package.json +32 -32
package/README.md
CHANGED
|
@@ -47,9 +47,10 @@ declare global {
|
|
|
47
47
|
}
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
#### Other imports
|
|
51
51
|
|
|
52
52
|
If you want to use custom import functions, like `__non_webpack_require__` with Webpack, just use global `XpRequire` type for this:
|
|
53
|
+
|
|
53
54
|
```ts
|
|
54
55
|
declare const __non_webpack_require__: XpRequire;
|
|
55
56
|
```
|
|
@@ -64,7 +65,7 @@ interface SomeHelper {
|
|
|
64
65
|
}
|
|
65
66
|
```
|
|
66
67
|
|
|
67
|
-
|
|
68
|
+
#### Option 1
|
|
68
69
|
|
|
69
70
|
You can pass the type argument explicitly. This option is a bit cleaner.
|
|
70
71
|
|
|
@@ -72,7 +73,7 @@ You can pass the type argument explicitly. This option is a bit cleaner.
|
|
|
72
73
|
const helper = __.newBean<SomeHelper>('com.me.project.SomeHelper');
|
|
73
74
|
```
|
|
74
75
|
|
|
75
|
-
|
|
76
|
+
#### Option 2
|
|
76
77
|
|
|
77
78
|
Or you can map the bean name to bean interface. It may be a preferable way to do it, if the bean is used across multiple files:
|
|
78
79
|
|
package/global.d.ts
CHANGED
|
@@ -2,16 +2,86 @@ interface XpLibraries {}
|
|
|
2
2
|
|
|
3
3
|
interface XpBeans {}
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* The globally available app object holds information about the contextual application.
|
|
7
|
+
* @example
|
|
8
|
+
* var nameVersion = app.name + ' v' + app.version;
|
|
9
|
+
*
|
|
10
|
+
* @global
|
|
11
|
+
* @namespace
|
|
12
|
+
*/
|
|
5
13
|
declare const app: {
|
|
14
|
+
/**
|
|
15
|
+
* The name of the application.
|
|
16
|
+
*
|
|
17
|
+
* @type string
|
|
18
|
+
*/
|
|
6
19
|
name: string;
|
|
20
|
+
/**
|
|
21
|
+
* Version of the application.
|
|
22
|
+
*
|
|
23
|
+
* @type string
|
|
24
|
+
*/
|
|
7
25
|
version: string;
|
|
26
|
+
/**
|
|
27
|
+
* Values from the application’s configuration file.
|
|
28
|
+
* This can be set using $XP_HOME/config/<app.name>.cfg.
|
|
29
|
+
* Every time the configuration is changed the app is restarted.
|
|
30
|
+
*
|
|
31
|
+
* @type Object
|
|
32
|
+
*/
|
|
8
33
|
config: Record<string, string | undefined>;
|
|
9
34
|
};
|
|
10
35
|
|
|
36
|
+
/**
|
|
37
|
+
* Logging functions.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* // Log with simple message
|
|
41
|
+
* log.debug('My log message');
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* // Log with placeholders
|
|
45
|
+
* log.info('My %s message with %s', 'log', 'placeholders');
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* // Log a JSON object
|
|
49
|
+
* log.warning('My JSON: %s', {a: 1});
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* // Log JSON object using string
|
|
53
|
+
* log.error('My JSON: %s', JSON.stringify({a: 1}, null, 2));
|
|
54
|
+
*
|
|
55
|
+
* @global
|
|
56
|
+
* @namespace
|
|
57
|
+
*/
|
|
11
58
|
declare const log: {
|
|
59
|
+
/**
|
|
60
|
+
* Log debug message.
|
|
61
|
+
*
|
|
62
|
+
* @param {Array} args... logging arguments.
|
|
63
|
+
*/
|
|
12
64
|
debug: (...args: unknown[]) => void;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Log info message.
|
|
68
|
+
*
|
|
69
|
+
* @param {Array} args... logging arguments.
|
|
70
|
+
*/
|
|
13
71
|
info: (...args: unknown[]) => void;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Log warning message.
|
|
75
|
+
*
|
|
76
|
+
* @param {Array} args... logging arguments.
|
|
77
|
+
*/
|
|
14
78
|
warning: (...args: unknown[]) => void;
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Log error message.
|
|
82
|
+
*
|
|
83
|
+
* @param {Array} args... logging arguments.
|
|
84
|
+
*/
|
|
15
85
|
error: (...args: unknown[]) => void;
|
|
16
86
|
};
|
|
17
87
|
|
|
@@ -42,15 +112,92 @@ declare interface ScriptValue {
|
|
|
42
112
|
type NewBean = <T = unknown, Bean extends keyof XpBeans | string = string>(bean: Bean) =>
|
|
43
113
|
Bean extends keyof XpBeans ? XpBeans[Bean] : T;
|
|
44
114
|
|
|
115
|
+
/**
|
|
116
|
+
* Javascript to Java bridge functions.
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* var bean = __.newBean('com.enonic.xp.MyJavaUtils');
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* return __.toNativeObject(bean.findArray(arrayName));
|
|
123
|
+
*
|
|
124
|
+
* @global
|
|
125
|
+
* @namespace
|
|
126
|
+
*/
|
|
45
127
|
declare const __: {
|
|
128
|
+
/**
|
|
129
|
+
* Creates a new JavaScript bean that wraps the given Java class and makes its methods available to be called from JavaScript.
|
|
130
|
+
*/
|
|
46
131
|
newBean: NewBean;
|
|
47
|
-
|
|
132
|
+
/**
|
|
133
|
+
* Converts arrays or complex Java objects to JSON.
|
|
134
|
+
* @param value Value to convert
|
|
135
|
+
*/
|
|
136
|
+
toNativeObject: <T = unknown>(value: T) => T;
|
|
137
|
+
/**
|
|
138
|
+
* Converts JSON to a Java Map structure that can be used as parameters to a Java method on a bean created with newBean.
|
|
139
|
+
* @param value Value to convert
|
|
140
|
+
*/
|
|
48
141
|
toScriptValue: <T = object>(value: T) => ScriptValue;
|
|
142
|
+
/**
|
|
143
|
+
* Add a disposer that is called when the app is stopped.
|
|
144
|
+
* @param callback Function to call
|
|
145
|
+
*/
|
|
49
146
|
disposer: (callback: (...args: unknown[]) => unknown) => void;
|
|
147
|
+
/**
|
|
148
|
+
* Converts a JavaScript variable that is undefined to a Java <code>null</code> object.
|
|
149
|
+
* If the JavaScript variable is defined, it is returned as is.
|
|
150
|
+
* @param value Value to convert
|
|
151
|
+
*/
|
|
50
152
|
nullOrValue: <T = object>(value: T) => T | null | undefined;
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Doc registerMock.
|
|
156
|
+
*
|
|
157
|
+
* @param name Name of mock.
|
|
158
|
+
* @param value Value to register.
|
|
159
|
+
*/
|
|
160
|
+
registerMock: (name: string, value: object) => void
|
|
51
161
|
};
|
|
52
162
|
|
|
53
163
|
declare type XpRequire = <Key extends keyof XpLibraries | string = string>(path: Key) =>
|
|
54
164
|
Key extends keyof XpLibraries ? XpLibraries[Key] : unknown;
|
|
55
165
|
|
|
166
|
+
/**
|
|
167
|
+
* This globally available function will load a JavaScript file and return the exports as objects.
|
|
168
|
+
* The function implements parts of the `CommonJS Modules Specification`.
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* // Require relative to this
|
|
172
|
+
* var other = require('./other.js');
|
|
173
|
+
*
|
|
174
|
+
* @example
|
|
175
|
+
* // Require absolute
|
|
176
|
+
* var other = require('/path/to/other.js');
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* // Require without .js extension
|
|
180
|
+
* var other = require('./other');
|
|
181
|
+
*
|
|
182
|
+
* @param {string} path Path for javascript file (relative or absolute and .js ending is optional).
|
|
183
|
+
* @returns {object} Exports from loaded javascript.
|
|
184
|
+
* @global
|
|
185
|
+
*/
|
|
56
186
|
declare const require: XpRequire;
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Resolves a path to another file. Can use relative or absolute path.
|
|
190
|
+
*
|
|
191
|
+
* @example
|
|
192
|
+
* // Resolve relative to this
|
|
193
|
+
* var path = resolve('./other.html');
|
|
194
|
+
*
|
|
195
|
+
* @example
|
|
196
|
+
* // Reslove absolute
|
|
197
|
+
* var path = resolve('/path/to/other.html');
|
|
198
|
+
*
|
|
199
|
+
* @param {string} path Path to resolve.
|
|
200
|
+
* @returns {*} Reference to an object.
|
|
201
|
+
* @global
|
|
202
|
+
*/
|
|
203
|
+
declare const resolve: (path: string) => object;
|
package/package.json
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@enonic-types/global",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Type definitions for global.",
|
|
5
|
-
"types": "global.d.ts",
|
|
6
|
-
"files": [
|
|
7
|
-
"global.d.ts"
|
|
8
|
-
],
|
|
9
|
-
"repository": {
|
|
10
|
-
"type": "git",
|
|
11
|
-
"url": "git+https://github.com/enonic/xp.git#master"
|
|
12
|
-
},
|
|
13
|
-
"keywords": [
|
|
14
|
-
"enonic",
|
|
15
|
-
"enonic-xp",
|
|
16
|
-
"global",
|
|
17
|
-
"common",
|
|
18
|
-
"types",
|
|
19
|
-
"typescript"
|
|
20
|
-
],
|
|
21
|
-
"contributors": [
|
|
22
|
-
"Mikita Taukachou <edloidas@gmail.com> (https://edloidas.github.io/)"
|
|
23
|
-
],
|
|
24
|
-
"license": "Apache-2.0",
|
|
25
|
-
"bugs": {
|
|
26
|
-
"url": "https://github.com/enonic/xp/issues"
|
|
27
|
-
},
|
|
28
|
-
"homepage": "https://github.com/enonic/xp/tree/master#readme",
|
|
29
|
-
"publishConfig": {
|
|
30
|
-
"access": "public"
|
|
31
|
-
}
|
|
32
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@enonic-types/global",
|
|
3
|
+
"version": "7.11.0-B1",
|
|
4
|
+
"description": "Type definitions for global.",
|
|
5
|
+
"types": "global.d.ts",
|
|
6
|
+
"files": [
|
|
7
|
+
"global.d.ts"
|
|
8
|
+
],
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/enonic/xp.git#master"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [
|
|
14
|
+
"enonic",
|
|
15
|
+
"enonic-xp",
|
|
16
|
+
"global",
|
|
17
|
+
"common",
|
|
18
|
+
"types",
|
|
19
|
+
"typescript"
|
|
20
|
+
],
|
|
21
|
+
"contributors": [
|
|
22
|
+
"Mikita Taukachou <edloidas@gmail.com> (https://edloidas.github.io/)"
|
|
23
|
+
],
|
|
24
|
+
"license": "Apache-2.0",
|
|
25
|
+
"bugs": {
|
|
26
|
+
"url": "https://github.com/enonic/xp/issues"
|
|
27
|
+
},
|
|
28
|
+
"homepage": "https://github.com/enonic/xp/tree/master#readme",
|
|
29
|
+
"publishConfig": {
|
|
30
|
+
"access": "public"
|
|
31
|
+
}
|
|
32
|
+
}
|